commit 4b119e21d0c66c22e8ca03df05d9de623d0eb50f Author: Linus Torvalds Date: Wed Apr 16 19:49:44 2008 -0700 Linux 2.6.25 commit c970d5a32ae1a90fba89892cc3432cf0b408cb8b Merge: 6af74b0... da19566... Author: Linus Torvalds Date: Wed Apr 16 18:58:37 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: it821x: do not describe noraid parameter with its value Pb1200/DBAu1200: fix bad IDE resource size Au1200: IDE driver build fix Au1200: kill IDE driver function prototypes avr32 mustn't select HAVE_IDE commit da19566552315389370c40e690054a31b7623de5 Author: Paul Bolle Date: Thu Apr 17 01:14:33 2008 +0200 it821x: do not describe noraid parameter with its value Describe noraid parameter with its name (and not its value). Signed-off-by: Paul Bolle Signed-off-by: Bartlomiej Zolnierkiewicz commit b4dcaea36b0376456c97698deba0089d2d67cbe7 Author: Sergei Shtylyov Date: Thu Apr 17 01:14:33 2008 +0200 Pb1200/DBAu1200: fix bad IDE resource size The header files for the Pb1200/DBAu1200 boards have wrong definition for the IDE interface's decoded range length -- it should be 512 bytes according to what the IDE driver does. In addition, the IDE platform device claims 1 byte too many for its memory resource -- fix the platform code and the IDE driver in accordance. Signed-off-by: Sergei Shtylyov Cc: Ralf Baechle Signed-off-by: Bartlomiej Zolnierkiewicz commit fabd3a223a96de1a91b2148655f2ed09ca9d1c20 Author: Sergei Shtylyov Date: Thu Apr 17 01:14:33 2008 +0200 Au1200: IDE driver build fix The driver fails to compile with CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA enabled: drivers/ide/mips/au1xxx-ide.c: In function `auide_build_dmatable': drivers/ide/mips/au1xxx-ide.c:256: error: implicit declaration of function `sg_virt' drivers/ide/mips/au1xxx-ide.c:275: error: implicit declaration of function `sg_next' drivers/ide/mips/au1xxx-ide.c:275: warning: assignment makes pointer from integer without a cast Fix this by including . While at it, remove the #include's without which the driver happily builds. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 09a77441f27f51f5f9878c90c7ed67e303197a2a Author: Sergei Shtylyov Date: Thu Apr 17 01:14:33 2008 +0200 Au1200: kill IDE driver function prototypes Fix these warnings emitted when compiling drivers/ide/mips/au1xxx-ide.c: include/asm/mach-au1x00/au1xxx_ide.h:137: warning: 'auide_tune_drive' declared `static' but never defined include/asm/mach-au1x00/au1xxx_ide.h:138: warning: 'auide_tune_chipset' declared `static' but never defined by wiping out the whole "function prototyping" section from the header file as it mostly declared functions that are already dead in the IDE driver; move the only useful prototype into the driver. Signed-off-by: Sergei Shtylyov Cc: Ralf Baechle Signed-off-by: Bartlomiej Zolnierkiewicz commit 71fc4c0c441eab97630bf2b310e81ebff5e831d7 Author: Adrian Bunk Date: Thu Apr 17 01:14:32 2008 +0200 avr32 mustn't select HAVE_IDE There's a libata based PATA driver for avr32, but no support for drivers/ide/ on avr32. This patch fixes the following compile error: <-- snip --> ... CC [M] drivers/ide/ide-cd.o In file included from /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ide/ide-cd.c:37: /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/ide.h:209:21: error: asm/ide.h: No such file or directory make[3]: *** [drivers/ide/ide-cd.o] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Cc: Haavard Skinnemoen Acked-by: Sam Ravnborg Signed-off-by: Bartlomiej Zolnierkiewicz commit 6af74b03e00fc78806f75f6701b24b582bbb5c96 Merge: 1076bb4... 75ce6fa... Author: Linus Torvalds Date: Wed Apr 16 07:45:45 2008 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: block: update git url for blktrace io context: increment task attachment count in ioc_task_link() commit 1076bb40585dc3a4ae6143ecc5a1654495b84c42 Merge: b4b8f57... 07c3b1a... Author: Linus Torvalds Date: Wed Apr 16 07:45:05 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: USB: remove broken usb-serial num_endpoints check USB: option: Add new vendor ID and device ID for AMOI HSDPA modem USB: support more Huawei data card product IDs USB: option.c: add more device IDs USB: Obscure Maxon BP3-USB Device Support 16d8:6280 for option driver commit b4b8f57965e007afbbb0175ea28f733723c5260b Merge: 424b00e... 56f367b... Author: Linus Torvalds Date: Wed Apr 16 07:44:27 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: [TCP]: Add return value indication to tcp_prune_ofo_queue(). PS3: gelic: fix the oops on the broken IE returned from the hypervisor b43legacy: fix DMA mapping leakage mac80211: remove message on receiving unexpected unencrypted frames Update rt2x00 MAINTAINERS entry Add rfkill to MAINTAINERS file rfkill: Fix device type check when toggling states b43legacy: Fix usage of struct device used for DMAing ssb: Fix usage of struct device used for DMAing MAINTAINERS: move to generic repository for iwlwifi b43legacy: fix initvals loading on bcm4303 rtl8187: Add missing priv->vif assignments netconsole: only set CON_PRINTBUFFER if the user specifies a netconsole [CAN]: Update documentation of struct sockaddr_can MAINTAINERS: isdn4linux@listserv.isdn4linux.de is subscribers-only [TCP]: Fix never pruned tcp out-of-order queue. [NET_SCHED] sch_api: fix qdisc_tree_decrease_qlen() loop commit 424b00e2c0f0c38f2cf5331391742ec998f6d89f Author: Paul Bolle Date: Wed Apr 16 11:08:22 2008 +0100 AFS: Do not describe debug parameters with their value Describe debug parameters with their names (and not their values). Signed-off-by: Paul Bolle Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 07c3b1a1001614442c665570942a3107a722c314 Author: Greg Kroah-Hartman Date: Mon Apr 14 14:17:29 2008 -0700 USB: remove broken usb-serial num_endpoints check The num_interrupt_in, num_bulk_in, and other checks in the usb-serial code are just wrong, there are too many different devices out there with different numbers of endpoints. We need to just be sticking with the device ids instead of trying to catch this kind of thing. It broke too many different devices. This fixes a large number of usb-serial devices to get them working properly again. Cc: Oliver Neukum Cc: stable Signed-off-by: Greg Kroah-Hartman commit 32147be4cc50e5e4445a8760125cacc258c61638 Author: tang kai Date: Mon Apr 14 10:06:35 2008 +0800 USB: option: Add new vendor ID and device ID for AMOI HSDPA modem This patch add new vendor ID and device ID for AMOI HSDPA modem. From: tang kai Signed-off-by: Greg Kroah-Hartman commit aad8a278f37e748bfe310a1366f2aa7e0dbaf365 Author: fangxiaozhi Date: Thu Apr 10 14:51:06 2008 +0800 USB: support more Huawei data card product IDs - declare the unusal device for Huawei data card devices in unusual_devs.h - disable the product ID matching for Huawei data card devices in usb_match_device function of driver.c - declare the product IDs in option.c. Signed-off-by: fangxiaozhi Signed-off-by: Greg Kroah-Hartman commit a1d9bc12e06a71b01f626040dc5149b357e8f1eb Author: Matthias Urlichs Date: Thu Apr 10 10:13:32 2008 +0200 USB: option.c: add more device IDs Add devices by AMOI and NovatelWireless. Signed-Off-By: Matthias Urlichs Signed-off-by: Greg Kroah-Hartman commit 80d9709832390fa7e721bbf4a017da474fdc6c29 Author: James Cameron Date: Wed Apr 9 18:59:13 2008 +1000 USB: Obscure Maxon BP3-USB Device Support 16d8:6280 for option driver The modem was detected, the ttyUSB{0,1,2} appeared, a call could be made, and the expected data rate was achieved. Tested for an hour or two, total of 100Mb. I shall do more testing. Signed-off-by: James Cameron Signed-off-by: Greg Kroah-Hartman commit 56f367bbfd5a7439961499ca6a2f0822d2074d83 Author: Vitaliy Gusev Date: Tue Apr 15 20:26:34 2008 -0700 [TCP]: Add return value indication to tcp_prune_ofo_queue(). Returns non-zero if tp->out_of_order_queue was seen non-empty. This allows tcp_try_rmem_schedule() to return early. Signed-off-by: Vitaliy Gusev Signed-off-by: David S. Miller commit b87e81e5c6e64ae0eae3b4f61bf07bfeec856184 Author: yakui.zhao@intel.com Date: Tue Apr 15 14:34:49 2008 -0700 acpi: unneccessary to scan the PCI bus already scanned http://bugzilla.kernel.org/show_bug.cgi?id=10124 this change: commit 08f1c192c3c32797068bfe97738babb3295bbf42 Author: Muli Ben-Yehuda Date: Sun Jul 22 00:23:39 2007 +0300 x86-64: introduce struct pci_sysdata to facilitate sharing of ->sysdata This patch introduces struct pci_sysdata to x86 and x86-64, and converts the existing two users (NUMA, Calgary) to use it. This lays the groundwork for having other users of sysdata, such as the PCI domains work. The Calgary bits are tested, the NUMA bits just look ok. replaces pcibios_scan_root by pci_scan_bus_parented... but in pcibios_scan_root we have a check about scanned busses. Cc: Cc: Stian Jordet Cc: Len Brown Cc: Greg KH Cc: Ingo Molnar Cc: "Yinghai Lu" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f1a3f2ac4ddf966cd0555dc445c6df65709c580 Author: Krzysztof Helt Date: Tue Apr 15 14:34:47 2008 -0700 acpi thermal trip points increased to 12 The THERMAL_MAX_TRIPS value is set to 10. It is too few for the Compaq AP550 machine which has 12 trip points. Signed-off-by: Krzysztof Helt Cc: Len Brown Cc: Zhang Rui Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0a37e008750ead1751b7d5e89d220a260a46147 Author: Chuck Ebbert Date: Tue Apr 15 14:34:47 2008 -0700 acpi: bus: check once more for an empty list after locking it List could have become empty after the unlocked check that was made earlier, so check again inside the lock. Should fix https://bugzilla.redhat.com/show_bug.cgi?id=427765 Signed-off-by: Chuck Ebbert Cc: Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1e7780638a9192f15caf590e0081bf915fdef71 Author: Ben Dooks Date: Tue Apr 15 14:34:46 2008 -0700 spi: spi_s3c24xx must initialize num_chipselect The SPI core now expects num_chipselect to be set correctly as due to added checks on the chip being selected before an transfer is allowed. This patch adds a num_cs field to the platform data which needs to be set correctly before adding the SPI platform device. Signed-off-by: Ben Dooks Signed-off-by: David Brownell Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 50f426b55d919dd017af35bb6a08753d1f262920 Author: Ben Dooks Date: Tue Apr 15 14:34:45 2008 -0700 spi: spi_s3c24xx must initialize bus_num Pass the bus number we expect the S3C24XX SPI driver to attach to via the platform data. Signed-off-by: Ben Dooks Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4bb5eba06b4bc57e30b0f6336c9907e85c395197 Author: Ben Dooks Date: Tue Apr 15 14:34:44 2008 -0700 spi: spi_s3c24xx driver must init completion The s3c24xx_spi_txrx() function should initialise the completion each time before using it, otherwise we end up with the possibility of returning success before the interrupt handler has processed all the data. Signed-off-by: Ben Dooks Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 335e92e8a515420bd47a6b0f01cb9a206c0ed6e4 Author: Jan Kara Date: Tue Apr 15 14:34:43 2008 -0700 vfs: fix possible deadlock in ext2, ext3, ext4 when using xattrs mb_cache_entry_alloc() was allocating cache entries with GFP_KERNEL. But filesystems are calling this function while holding xattr_sem so possible recursion into the fs violates locking ordering of xattr_sem and transaction start / i_mutex for ext2-4. Change mb_cache_entry_alloc() so that filesystems can specify desired gfp mask and use GFP_NOFS from all of them. Signed-off-by: Jan Kara Reported-by: Dave Jones Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 423bec43079a2942a3004034df7aad76469758d8 Author: Nishanth Aravamudan Date: Tue Apr 15 14:34:43 2008 -0700 Documentation: correct overcommit caveat in hugetlbpage.txt As shown by Gurudas Pai recently, we can put hugepages into the surplus state (by echo 0 > /proc/sys/vm/nr_hugepages), even when /proc/sys/vm/nr_overcommit_hugepages is 0. This is actually correct, to allow the original goal (shrink the static pool to 0) to succeed (we are converting hugepages to surplus because they are in use). However, the documentation does not accurately reflect this case. Update it. Signed-off-by: Nishanth Aravamudan Acked-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 91446b064c748fc2a238fd68b677c9671e536bfd Author: KOSAKI Motohiro Date: Tue Apr 15 14:34:42 2008 -0700 add "Isolate" migratetype name to /proc/pagetypeinfo In a5d76b54a3f3a40385d7f76069a2feac9f1bad63 (memory unplug: page isolation by KAMEZAWA Hiroyuki), "isolate" migratetype added. but unfortunately, it doesn't treat /proc/pagetypeinfo display logic. this patch add "Isolate" to pagetype name field. /proc/pagetype before: ------------------------------------------------------------------------------------------------------------------------ Free pages count per migrate type at order 0 1 2 3 4 5 6 7 8 9 10 Node 0, zone DMA, type Unmovable 1 2 2 2 1 2 2 1 1 0 0 Node 0, zone DMA, type Reclaimable 0 0 0 0 0 0 0 0 0 0 0 Node 0, zone DMA, type Movable 2 3 3 1 3 3 2 0 0 0 0 Node 0, zone DMA, type Reserve 0 0 0 0 0 0 0 0 0 0 1 Node 0, zone DMA, type 0 0 0 0 0 0 0 0 0 0 0 Node 0, zone Normal, type Unmovable 1 9 7 4 1 1 1 1 0 0 0 Node 0, zone Normal, type Reclaimable 5 2 0 0 1 1 0 0 0 1 0 Node 0, zone Normal, type Movable 0 1 1 0 0 0 1 0 0 1 60 Node 0, zone Normal, type Reserve 0 0 0 0 0 0 0 0 0 0 1 Node 0, zone Normal, type 0 0 0 0 0 0 0 0 0 0 0 Node 0, zone HighMem, type Unmovable 0 0 1 1 1 0 1 1 2 2 0 Node 0, zone HighMem, type Reclaimable 0 0 0 0 0 0 0 0 0 0 0 Node 0, zone HighMem, type Movable 236 62 6 2 2 1 1 0 1 1 16 Node 0, zone HighMem, type Reserve 0 0 0 0 0 0 0 0 0 0 1 Node 0, zone HighMem, type 0 0 0 0 0 0 0 0 0 0 0 Number of blocks type Unmovable Reclaimable Movable Reserve Node 0, zone DMA 1 0 2 1 0 Node 0, zone Normal 10 40 169 1 0 Node 0, zone HighMem 2 0 283 1 0 after: ------------------------------------------------------------------------------------------------------------------------ Free pages count per migrate type at order 0 1 2 3 4 5 6 7 8 9 10 Node 0, zone DMA, type Unmovable 1 2 2 2 1 2 2 1 1 0 0 Node 0, zone DMA, type Reclaimable 0 0 0 0 0 0 0 0 0 0 0 Node 0, zone DMA, type Movable 2 3 3 1 3 3 2 0 0 0 0 Node 0, zone DMA, type Reserve 0 0 0 0 0 0 0 0 0 0 1 Node 0, zone DMA, type Isolate 0 0 0 0 0 0 0 0 0 0 0 Node 0, zone Normal, type Unmovable 0 2 1 1 0 1 0 0 0 0 0 Node 0, zone Normal, type Reclaimable 1 1 1 1 1 0 1 1 1 0 0 Node 0, zone Normal, type Movable 0 1 1 1 0 1 0 1 0 0 196 Node 0, zone Normal, type Reserve 0 0 0 0 0 0 0 0 0 0 1 Node 0, zone Normal, type Isolate 0 0 0 0 0 0 0 0 0 0 0 Node 0, zone HighMem, type Unmovable 0 1 0 0 0 1 1 1 2 2 0 Node 0, zone HighMem, type Reclaimable 0 0 0 0 0 0 0 0 0 0 0 Node 0, zone HighMem, type Movable 1 0 1 1 0 0 0 0 1 0 200 Node 0, zone HighMem, type Reserve 0 0 0 0 0 0 0 0 0 0 1 Node 0, zone HighMem, type Isolate 0 0 0 0 0 0 0 0 0 0 0 Number of blocks type Unmovable Reclaimable Movable Reserve Isolate Node 0, zone DMA 1 0 2 1 0 Node 0, zone Normal 8 4 207 1 0 Node 0, zone HighMem 2 0 283 1 0 Signed-off-by: KOSAKI Motohiro Acked-by: KAMEZAWA Hiroyuki Acked-by: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b82d4043b3550df00a036f6aa2c8ab9578a283ef Author: Dmitri Vorobiev Date: Tue Apr 15 14:34:40 2008 -0700 Fix typos in Documentation/filesystems/seq_file.txt A couple of typos crept into the newly added document about the seq_file interface. This patch corrects those typos and simultaneously deletes unnecessary trailing spaces. Signed-off-by: Dmitri Vorobiev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f4deba80a0d9fa92832684e683335b742a530e8 Author: WANG Cong Date: Tue Apr 15 14:34:38 2008 -0700 uml: compile error fix This patch fixes this error: In file included from /home/wangcong/projects/linux-2.6/arch/um/kernel/smp.c:9: include2/asm/tlb.h: In function `tlb_remove_page': include2/asm/tlb.h:101: error: implicit declaration of function `page_cache_release' And since including in will break sparc, we add this #include in uml's own header. Acked-by: Jeff Dike Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e115f2d89253490fb2dbf304b627f8d908df26f1 Author: Li Zefan Date: Tue Apr 15 14:34:37 2008 -0700 memcg: fix oops in oom handling When I used a test program to fork mass processes and immediately move them to a cgroup where the memory limit is low enough to trigger oom kill, I got oops: BUG: unable to handle kernel NULL pointer dereference at 0000000000000808 IP: [] _spin_lock_irqsave+0x8/0x18 PGD 4c95f067 PUD 4406c067 PMD 0 Oops: 0002 [1] SMP CPU 2 Modules linked in: Pid: 11973, comm: a.out Not tainted 2.6.25-rc7 #5 RIP: 0010:[] [] _spin_lock_irqsave+0x8/0x18 RSP: 0018:ffff8100448c7c30 EFLAGS: 00010002 RAX: 0000000000000202 RBX: 0000000000000009 RCX: 000000000001c9f3 RDX: 0000000000000100 RSI: 0000000000000001 RDI: 0000000000000808 RBP: ffff81007e444080 R08: 0000000000000000 R09: ffff8100448c7900 R10: ffff81000105f480 R11: 00000100ffffffff R12: ffff810067c84140 R13: 0000000000000001 R14: ffff8100441d0018 R15: ffff81007da56200 FS: 00007f70eb1856f0(0000) GS:ffff81007fbad3c0(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 0000000000000808 CR3: 000000004498a000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process a.out (pid: 11973, threadinfo ffff8100448c6000, task ffff81007da533e0) Stack: ffffffff8023ef5a 00000000000000d0 ffffffff80548dc0 00000000000000d0 ffff810067c84140 ffff81007e444080 ffffffff8026cef9 00000000000000d0 ffff8100441d0000 00000000000000d0 ffff8100441d0000 ffff8100505445c0 Call Trace: [] ? force_sig_info+0x25/0xb9 [] ? oom_kill_task+0x77/0xe2 [] ? mem_cgroup_out_of_memory+0x55/0x67 [] ? mem_cgroup_charge_common+0xec/0x202 [] ? handle_mm_fault+0x24e/0x77f [] ? default_wake_function+0x0/0xe [] ? get_user_pages+0x2ce/0x3af [] ? mem_cgroup_charge_common+0x2d/0x202 [] ? make_pages_present+0x8e/0xa4 [] ? mmap_region+0x373/0x429 [] ? do_mmap_pgoff+0x2ff/0x364 [] ? sys_mmap+0xe5/0x111 [] ? tracesys+0xdc/0xe1 Code: 00 00 01 48 8b 3c 24 e9 46 d4 dd ff f0 ff 07 48 8b 3c 24 e9 3a d4 dd ff fe 07 48 8b 3c 24 e9 2f d4 dd ff 9c 58 fa ba 00 01 00 00 66 0f c1 17 38 f2 74 06 f3 90 8a 17 eb f6 c3 fa b8 00 01 00 RIP [] _spin_lock_irqsave+0x8/0x18 RSP CR2: 0000000000000808 ---[ end trace c3702fa668021ea4 ]--- It's reproducable in a x86_64 box, but doesn't happen in x86_32. This is because tsk->sighand is not guarded by RCU, so we have to hold tasklist_lock, just as what out_of_memory() does. Signed-off-by: Li Zefan Cc: KAMEZAWA Hiroyuki Acked-by: Balbir Singh Cc: Pavel Emelianov Cc: Paul Menage Cc: Oleg Nesterov Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e169c139642fb4c682ec12a409725508dbefa520 Author: Kay Sievers Date: Tue Apr 15 14:34:35 2008 -0700 serial: fix platform driver hotplug/coldplug Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable serial platform drivers, to re-enable auto loading. NOTE that Kconfig for some of these drivers doesn't allow modular builds, and thus doesn't match the driver source's unload support. Presumably their unload code is buggy and/or weakly tested... [dbrownell@users.sourceforge.net: more drivers, registration fixes] Signed-off-by: Kay Sievers Signed-off-by: David Brownell Acked-by: Peter Korsgaard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 12c2c019eb9b0b586a061b336766d11cca449499 Author: Kay Sievers Date: Tue Apr 15 14:34:34 2008 -0700 pcmcia: fix platform driver hotplug/coldplug Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable PCMCIA platform drivers, to re-enable auto loading. [dbrownell@users.sourceforge.net: registration fixes] Signed-off-by: Kay Sievers Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6c238503ee3d015c5f8a701b2bfbeaad90a6d4b Author: Kay Sievers Date: Tue Apr 15 14:34:33 2008 -0700 misc: fix platform driver hotplug/coldplug Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable 'misc' platform drivers, to re-enable auto loading. [dbrownell@users.sourceforge.net: bugfix, registration fixes] Signed-off-by: Kay Sievers Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c43f89c2084f46e3ec59ddcbc52ecf4b1e9b015a Author: Alexey Dobriyan Date: Tue Apr 15 14:34:33 2008 -0700 fbdev: fix /proc/fb oops after module removal /proc/fb is not removed during rmmod. Steps to reproduce: modprobe fb rmmod fb ls /proc BUG: unable to handle kernel paging request at ffffffffa0094370 IP: [] proc_get_inode+0x101/0x130 PGD 203067 PUD 207063 PMD 17e758067 PTE 0 Oops: 0000 [1] SMP last sysfs file: /sys/devices/pci0000:00/0000:00:1e.0/0000:05:02.0/resource CPU 1 Modules linked in: nf_conntrack_irc xt_state iptable_filter ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack ip_tables x_tables vfat fat usbhid ehci_hcd uhci_hcd usbcore sr_mod cdrom [last unloaded: fb] Pid: 21205, comm: ls Not tainted 2.6.25-rc8-mm2 #14 RIP: 0010:[] [] proc_get_inode+0x101/0x130 RSP: 0018:ffff81017c4bfc78 EFLAGS: 00010246 RAX: 0000000000008000 RBX: ffff8101787f5470 RCX: 0000000048011ccc RDX: ffffffffa0094320 RSI: ffff810006ad43b0 RDI: ffff81017fc2cc00 RBP: ffff81017e450300 R08: 0000000000000002 R09: ffff81017c5d1000 R10: 0000000000000000 R11: 0000000000000246 R12: ffff81016b903a28 R13: ffff81017f822020 R14: ffff81017c4bfd58 R15: ffff81017f822020 FS: 00007f08e71696f0(0000) GS:ffff81017fc06480(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: ffffffffa0094370 CR3: 000000017e54a000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process ls (pid: 21205, threadinfo ffff81017c4be000, task ffff81017de48770) Stack: ffff81017c5d1000 00000000ffffffea ffff81017e450300 ffffffff802bdd1e ffff81017f802258 ffff81017c4bfe48 ffff81016b903a28 ffff81017f822020 ffff81017c4bfd48 ffffffff802b9ba0 ffff81016b903a28 ffff81017f802258 Call Trace: [] ? proc_lookup_de+0x8e/0x100 [] ? proc_root_lookup+0x20/0x60 [] ? do_lookup+0x1b7/0x210 [] ? __link_path_walk+0x53d/0x7f0 [] ? mntput_no_expire+0x28/0x130 [] ? path_walk+0x5a/0xc0 [] ? do_path_lookup+0x83/0x1c0 [] ? getname+0xe5/0x210 [] ? __user_walk_fd+0x4b/0x80 [] ? vfs_lstat_fd+0x2c/0x70 [] ? filldir+0xae/0xf0 [] ? de_put+0x9/0x50 [] ? mnt_want_write+0x2d/0x80 [] ? touch_atime+0x1f/0x170 [] ? proc_root_readdir+0x7d/0xa0 [] ? sys_newlstat+0x27/0x50 [] ? vfs_readdir+0x9b/0xd0 [] ? sys_getdents+0xce/0xe0 [] ? system_call_after_swapgs+0x7b/0x80 Code: b7 83 b2 00 00 00 25 00 f0 00 00 3d 00 80 00 00 74 19 48 89 93 f0 00 00 00 48 89 df e8 39 9a fd ff 48 89 d8 48 83 c4 08 5b 5d c3 <48> 83 7a 50 00 48 c7 c0 60 16 45 80 48 c7 c2 40 17 45 80 48 0f RIP [] proc_get_inode+0x101/0x130 RSP CR2: ffffffffa0094370 ---[ end trace c71hiarjan8ab739 ]--- Signed-off-by: Alexey Dobriyan "Antonino A. Daplas" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c4ded9715c05724939c9a4bd72555c2ade71d97 Author: Kay Sievers Date: Tue Apr 15 14:34:30 2008 -0700 leds: fix platform driver hotplug/coldplug Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable platform LED drivers, to re-enable auto loading. [dbrownell@users.sourceforge.net: more drivers, registration fixes] Signed-off-by: Kay Sievers Signed-off-by: David Brownell Acked-by: Richard Purdie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b653e06ce2d70d21483f22ef1b1b63749c54223 Author: Zhao Yakui Date: Tue Apr 15 14:34:29 2008 -0700 rtc: fix the error in the function of cmos_set_alarm There is a bug in the function of cmos_set_alarm. RTC alarm time for October can't be set correctly. For October: 0x0A will be written into the RTC region (MONTH_ALARM) in current kernel. But in fact 0x10 should be written. Wildcards are also not handled correctly. Signed-off-by: Zhao Yakui Signed-off-by: Zhang Rui Signed-off-by: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc65c724d5a2c61539b2c52680941505152fcf30 Author: Kay Sievers Date: Tue Apr 15 14:34:28 2008 -0700 mmc: fix platform driver hotplug/coldplug Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable MMC host platform drivers, to re-enable auto loading. Also, add missing owner declarations in driver init. [dbrownell@users.sourceforge.net: registration fixes] Signed-off-by: Kay Sievers Signed-off-by: David Brownell Acked-by: Pierre Ossman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bead9a3abd15710b0bdfd418daef606722d86282 Author: Ingo Molnar Date: Wed Apr 16 01:40:00 2008 +0200 mm: sparsemem memory_present() fix Fix memory corruption and crash on 32-bit x86 systems. If a !PAE x86 kernel is booted on a 32-bit system with more than 4GB of RAM, then we call memory_present() with a start/end that goes outside the scope of MAX_PHYSMEM_BITS. That causes this loop to happily walk over the limit of the sparse memory section map: for (pfn = start; pfn < end; pfn += PAGES_PER_SECTION) { unsigned long section = pfn_to_section_nr(pfn); struct mem_section *ms; sparse_index_init(section, nid); set_section_nid(section, nid); ms = __nr_to_section(section); if (!ms->section_mem_map) ms->section_mem_map = sparse_encode_early_nid(nid) | SECTION_MARKED_PRESENT; 'ms' will be out of bounds and we'll corrupt a small amount of memory by encoding the node ID and writing SECTION_MARKED_PRESENT (==0x1) over it. The corruption might happen when encoding a non-zero node ID, or due to the SECTION_MARKED_PRESENT which is 0x1: mmzone.h:#define SECTION_MARKED_PRESENT (1UL<<0) The fix is to sanity check anything the architecture passes to sparsemem. This bug seems to be rather old (as old as sparsemem support itself), but the exact incarnation depended on random details like configs, which made this bug more prominent in v2.6.25-to-be. An additional enhancement might be to print a warning about ignored or trimmed memory ranges. Signed-off-by: Ingo Molnar Tested-by: Christoph Lameter Cc: Pekka Enberg Cc: Mel Gorman Cc: Nick Piggin Cc: Andrew Morton Cc: Rafael J. Wysocki Cc: Yinghai Lu Cc: KAMEZAWA Hiroyuki Signed-off-by: Linus Torvalds commit c4cbb34bbdaaa841ef7c027f7b420db4c318c4fd Merge: 0517dee... b358492... Author: David S. Miller Date: Tue Apr 15 19:15:00 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6 commit cf39cc3b56bc4a562db6242d3069f65034ec7549 Author: Kyle McMartin Date: Tue Apr 15 18:36:38 2008 -0400 [PARISC] fix signal trampoline cache flushing The signal trampolines were accidently flushing the kernel I$ instead of the users. Fix that up, and also add a missing user D$ flush while we're at it. Signed-off-by: Kyle McMartin Signed-off-by: Linus Torvalds commit 093a07e2fdfaddab7fc7d4adc76cc569c86603d7 Author: Linus Torvalds Date: Tue Apr 15 13:09:54 2008 -0700 Fix locking bug in "acquire_console_semaphore_for_printk()" When I cleaned up printk() and split up the printk locking logic in commit 266c2e0abeca649fa6667a1a427ad1da507c6375 ("Make printk() console semaphore accesses sensible") I had incorrectly moved the call to have_callable_console() outside of the console semaphore. That was buggy. The console semaphore protects the console_drivers list that is used by have_callable_console(). Thanks go to Bongani Hlope who saw this as a hang on shutdown and reboot and bisected the bug to the right commit, and tested this patch. See http://lkml.org/lkml/2008/4/11/315 Bisected-and-tested-by: Bongani Hlope Cc: Alexey Dobriyan Signed-off-by: Linus Torvalds commit b358492cd2a9c67bff352c5a60d86e7fc9627477 Author: Masakazu Mokuno Date: Mon Apr 14 18:07:21 2008 +0900 PS3: gelic: fix the oops on the broken IE returned from the hypervisor This fixes the bug that the driver would try to over-scan the memory if the sum of the length field of every IEs does not match the length returned from the hypervisor. Signed-off-by: Masakazu Mokuno Signed-off-by: John W. Linville commit dc4ae1f46dbbcd08b3b5e23ad5ef87bf4bb41adf Author: Stefano Brivio Date: Mon Apr 14 00:59:49 2008 +0200 b43legacy: fix DMA mapping leakage This fixes a DMA mapping leakage in the case where we reject a DMA buffer because of its address. The patch by Michael Buesch has been ported to b43legacy. Signed-off-by: Stefano Brivio Cc: Christian Casteyde Signed-off-by: John W. Linville commit b3fc9c6c58c986f7a24fd8b0794d1e0794935a28 Author: Johannes Berg Date: Sun Apr 13 10:12:47 2008 +0200 mac80211: remove message on receiving unexpected unencrypted frames Some people are getting this message a lot, and we have traced it to broken access points that much too often send completely empty frames (all bytes zeroed, which they shouldn't do at all.) Since we cannot do anything about such frames in any case except the special case where we're debugging an AP, just remove the message. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2dd0f69222c481574baf6a4affb9256a7c7410e7 Author: Ivo van Doorn Date: Sat Apr 12 19:25:00 2008 +0200 Update rt2x00 MAINTAINERS entry Add the tree entry for rt2x00 to inform people about the rt2x00.git tree. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e089764596ccde1037f2849fcee002c68986e67c Author: Ivo van Doorn Date: Sat Apr 12 19:23:55 2008 +0200 Add rfkill to MAINTAINERS file I have been acting as the maintainer since the rfkill introduction, so lets make it official by adding a rfkill entry in the MAINTAINERS file. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 89796f64a20d31e74ee0051df2e26812c852e734 Author: Carlos Corbacho Date: Sat Apr 12 16:39:47 2008 +0100 rfkill: Fix device type check when toggling states rfkill_switch_all() is supposed to only switch all the interfaces of a given type, but does not actually do this; instead, it just switches everything currently in the same state. Add the necessary type check in. (This fixes a bug I've been seeing while developing an rfkill laptop driver, with both bluetooth and wireless simultaneously changing state after only pressing either KEY_WLAN or KEY_BLUETOOTH). Signed-off-by: Carlos Corbacho Signed-off-by: John W. Linville commit cdbbe3d1f53086ece706674d3bf4f6d148083694 Author: Michael Buesch Date: Fri Apr 11 12:16:36 2008 +0200 b43legacy: Fix usage of struct device used for DMAing This fixes b43legacy for the SSB DMA API change. Signed-off-by: Michael Buesch Cc: Stefano Brivio Signed-off-by: John W. Linville commit 4ac58469f13028e1eb97f8bc7b0fca5072591d8d Author: Michael Buesch Date: Fri Apr 11 11:59:00 2008 +0200 ssb: Fix usage of struct device used for DMAing This fixes DMA on architectures where DMA is nontrivial, like PPC64. We must use the host-device's (PCI) struct device for any DMA operation instead of the SSB device. For this we add a new struct device pointer to the SSB device structure that will always point to the right device for DMAing. Without this patch b43 and b44 drivers won't work on complex-DMA architectures, that for example need dev->archdata for DMA operations. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 2d4543fdb487b1301ae48703dea3e66ead2d3c75 Author: Reinette Chatre Date: Thu Apr 10 13:16:27 2008 -0700 MAINTAINERS: move to generic repository for iwlwifi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 385f848a986b4677bc91e5f5f9033449a876819d Author: Stefano Brivio Date: Sun Apr 6 17:10:53 2008 +0200 b43legacy: fix initvals loading on bcm4303 This allows for the correct initial values to be uploaded to bcm4303 devices. It should be correct, but I can't reliably test this as I suspect there's something going wrong with an hardware rfkill switch on my laptop. Please test. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit aa979a6acbb468b0ebe8cf36dc782a5b3cc1e28d Author: Herton Ronaldo Krzesinski Date: Wed Apr 9 16:38:31 2008 -0300 rtl8187: Add missing priv->vif assignments This adds missing priv->vif assignments after "mac80211: don't use interface indices in drivers" change. As rtl8180, rtl8187 also needs priv->vif to be set, as without this an oops can happen in rtl8187_tx function (priv->vif is passed to ieee80211_rts_duration). Signed-off-by: Herton Ronaldo Krzesinski Acked-by: Pavel Roskin Signed-off-by: John W. Linville commit 0de19a456cb59106420864927fdec152310f70b6 Merge: abe2f41... fd785d6... Author: Linus Torvalds Date: Tue Apr 15 11:00:05 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.25 * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.25: sh: export empty_zero_page sh: arch/sh/kernel/traps_32.c needs asm/fpu.h sh: fix compressed kernel build sh64: add missing #include 's commit fd785d6b18b930b76ad5076eed6e9af43195b281 Author: Andrew Morton Date: Wed Apr 16 02:21:47 2008 +0900 sh: export empty_zero_page ERROR: "empty_zero_page" [fs/ext4/ext4dev.ko] undefined! Signed-off-by: Andrew Morton Signed-off-by: Paul Mundt commit fad0f90134197259b5a935c69d7556ee847f242c Author: Andrew Morton Date: Wed Apr 16 02:03:51 2008 +0900 sh: arch/sh/kernel/traps_32.c needs asm/fpu.h arch/sh/kernel/traps_32.c: In function `do_reserved_inst': arch/sh/kernel/traps_32.c:667: error: implicit declaration of function `do_fpu_inst' Signed-off-by: Andrew Morton Signed-off-by: Paul Mundt commit 85eee6072bae69acfab903df596b5f468df03470 Author: Manuel Lauss Date: Wed Apr 16 02:01:55 2008 +0900 sh: fix compressed kernel build commit 54a015104136974262afa4b8ddd943ea70dec8a2 broke zImage build on sh arch: LD vmlinux SYSMAP System.map SYSMAP .tmp_System.map AS arch/sh/boot/compressed/head_32.o In file included from /k/arch/sh/boot/compressed/head_32.S:11: /k/include/linux/linkage.h:34: error: syntax error in macro parameter list Fix it for both sh and sh64. Signed-off-by: Manuel Lauss Signed-off-by: Paul Mundt commit 50387b3e11075fe798f5d44fa1b5491788a8742a Author: Adrian Bunk Date: Sun Apr 13 21:15:38 2008 +0300 sh64: add missing #include 's This patch fixes some compile errors due to missing save_fpu() prototypes on sh64 caused by commit 9bbafce2eec190ef7e44b0eb1095ba17ce6ad3af (sh: Fix occasional FPU register corruption under preempt). Signed-off-by: Adrian Bunk Signed-off-by: Paul Mundt commit 75ce6faccdbbea4465876a759917d4994660c025 Author: Jens Axboe Date: Tue Apr 15 10:23:35 2008 +0200 block: update git url for blktrace Signed-off-by: Jens Axboe commit 0517deed78be9cc9ce9799bf15da58fd0d2078bb Author: Michael Ellerman Date: Tue Apr 15 00:49:04 2008 -0700 netconsole: only set CON_PRINTBUFFER if the user specifies a netconsole Since 0bcc1816188e570bde1d56a208996660f2633ae0 (netconsole: Support dynamic reconfiguration using configfs), the netconsole is always registered, regardless of whether the user actually specified a netconsole configuration on the command line. However because netconsole has CON_PRINTBUFFER set, when it is registered it causes the printk buffer to be replayed to all consoles. When there is no netconsole configured this is a) pointless, and b) somewhat annoying for the user of the existing console. So instead we should only set CON_PRINTBUFFER if there is a netconsole configuration found on the command line. This retains the existing behaviour if a netconsole is setup by the user, and avoids spamming other consoles when we're only registering for the dynamic netconsole case. Signed-off-by: Michael Ellerman Signed-off-by: David S. Miller commit 56690c2151d33534f0537fd03c533eda81d96f0f Author: Oliver Hartkopp Date: Tue Apr 15 00:46:38 2008 -0700 [CAN]: Update documentation of struct sockaddr_can The struct sockaddr_can has been simplified in the code review process. This patch updates this simplification also in the associated documentation in can.txt . Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit d5d52273b92913399e78fc4877f89d38ef8b367a Author: Paul Bolle Date: Tue Apr 15 00:40:48 2008 -0700 MAINTAINERS: isdn4linux@listserv.isdn4linux.de is subscribers-only https://www.isdn4linux.de/mailman/listinfo/isdn4linux: "To prevent spamming, you have to subscribe first. Mails from non-members are silently ignored!" Signed-off-by: Paul Bolle Signed-off-by: David S. Miller commit b000cd3707e7b25d76745f9c0e261c23d21fa578 Author: Vitaliy Gusev Date: Tue Apr 15 00:33:38 2008 -0700 [TCP]: Fix never pruned tcp out-of-order queue. tcp_prune_queue() doesn't prune an out-of-order queue at all. Therefore sk_rmem_schedule() can fail but the out-of-order queue isn't pruned . This can lead to tcp deadlock state if the next two conditions are held: 1. There are a sequence hole between last received in order segment and segments enqueued to the out-of-order queue. 2. Size of all segments in the out-of-order queue is more than tcp_mem[2]. Signed-off-by: Vitaliy Gusev Signed-off-by: David S. Miller commit d237e5c7ce82b6c7e1aa50348520a0c5a47274fa Author: Jens Axboe Date: Tue Apr 15 09:25:33 2008 +0200 io context: increment task attachment count in ioc_task_link() Thanks to Nikanth Karthikesan for reporting this. Signed-off-by: Jens Axboe commit abe2f41430770270a1512bf78f489284bfbdbd04 Author: Alexey Korolev Date: Mon Apr 14 20:45:06 2008 +0100 JFFS2 Fix of panics caused by wrong condition for hole frag creation in write_begin This fixes a regression introduced in commit 205c109a7a96d9a3d8ffe64c4068b70811fef5e8 when switching to write_begin/write_end operations in JFFS2. The page offset is miscalculated, leading to corruption of the fragment lists and subsequently to memory corruption and panics. [ Side note: the bug is a fairly direct result of the naming. Nick was likely misled by the use of "offs", since we tend to use the notion of "offset" not as an absolute position, but as an offset _within_ a page or allocation. Alternatively, a "pgoff_t" is a page index, but not a byte offset - our VM naming can be a bit confusing. So in this case, a VM person would likely have called this a "pos", not an "offs", or perhaps talked about byte offsets rather than page offsets (since it's counted in bytes, not pages). - Linus ] Signed-off-by: Alexey Korolev Signed-off-by: Vasiliy Leonenko Signed-off-by: David Woodhouse Signed-off-by: Linus Torvalds commit 066a3b5b2346febf9a655b444567b7138e3bb939 Author: Jarek Poplawski Date: Mon Apr 14 15:10:42 2008 -0700 [NET_SCHED] sch_api: fix qdisc_tree_decrease_qlen() loop TC_H_MAJ(parentid) for root classes is the same as for ingress, and if ingress qdisc is created qdisc_lookup() returns its pointer (without ingress NULL is returned). After this all qdisc_lookups give the same, and we get endless loop. (I don't know how this could hide for so long - it should trigger with every leaf class deleted if it's qdisc isn't empty.) After this fix qdisc_lookup() is omitted both for ingress and root parents, but looking for root is only wasting a little time here... Many thanks to Enrico Demarin for finding a test for catching this bug, which probably bothered quite a lot of admins. Reported-by: Enrico Demarin , Signed-off-by: Jarek Poplawski Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 19e729a928172103e101ffd0829fd13e68c13f78 Author: J. Bruce Fields Date: Mon Apr 14 15:03:02 2008 -0400 locks: fix possible infinite loop in fcntl(F_SETLKW) over nfs Miklos Szeredi found the bug: "Basically what happens is that on the server nlm_fopen() calls nfsd_open() which returns -EACCES, to which nlm_fopen() returns NLM_LCK_DENIED. "On the client this will turn into a -EAGAIN (nlm_stat_to_errno()), which in will cause fcntl_setlk() to retry forever." So, for example, opening a file on an nfs filesystem, changing permissions to forbid further access, then trying to lock the file, could result in an infinite loop. And Trond Myklebust identified the culprit, from Marc Eshel and I: 7723ec9777d9832849b76475b1a21a2872a40d20 "locks: factor out generic/filesystem switch from setlock code" That commit claimed to just be reshuffling code, but actually introduced a behavioral change by calling the lock method repeatedly as long as it returned -EAGAIN. We assumed this would be safe, since we assumed a lock of type SETLKW would only return with either success or an error other than -EAGAIN. However, nfs does can in fact return -EAGAIN in this situation, and independently of whether that behavior is correct or not, we don't actually need this change, and it seems far safer not to depend on such assumptions about the filesystem's ->lock method. Therefore, revert the problematic part of the original commit. This leaves vfs_lock_file() and its other callers unchanged, while returning fcntl_setlk and fcntl_setlk64 to their former behavior. Signed-off-by: J. Bruce Fields Tested-by: Miklos Szeredi Cc: Trond Myklebust Cc: Marc Eshel Signed-off-by: Linus Torvalds commit a985aabe4d7a720b109c2b63549f8641676a9c88 Merge: 1018cf9... e2df9e0... Author: Linus Torvalds Date: Mon Apr 14 08:10:27 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel: revert "sched: fix fair sleepers" commit 1018cf9b0f27646c37a52a079989dc0552b2451c Merge: 533bb8a... 1892225... Author: Linus Torvalds Date: Mon Apr 14 07:57:07 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: [libata] make ali_atapi_dma static [libata] sata_svw: fix reversed port count commit 533bb8a4d7388686243c37a414c4448ba3566f8a Merge: 4f3f8e9... 159d833... Author: Linus Torvalds Date: Mon Apr 14 07:56:24 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (31 commits) [BRIDGE]: Fix crash in __ip_route_output_key with bridge netfilter [NETFILTER]: ipt_CLUSTERIP: fix race between clusterip_config_find_get and _entry_put [IPV6] ADDRCONF: Don't generate temporary address for ip6-ip6 interface. [IPV6] ADDRCONF: Ensure disabling multicast RS even if privacy extensions are disabled. [IPV6]: Use appropriate sock tclass setting for routing lookup. [IPV6]: IPv6 extension header structures need to be packed. [IPV6]: Fix ipv6 address fetching in raw6_icmp_error(). [NET]: Return more appropriate error from eth_validate_addr(). [ISDN]: Do not validate ISDN net device address prior to interface-up [NET]: Fix kernel-doc for skb_segment [SOCK] sk_stamp: should be initialized to ktime_set(-1L, 0) net: check for underlength tap writes net: make struct tun_struct private to tun.c [SCTP]: IPv4 vs IPv6 addresses mess in sctp_inet[6]addr_event. [SCTP]: Fix compiler warning about const qualifiers [SCTP]: Fix protocol violation when receiving an error lenght INIT-ACK [SCTP]: Add check for hmac_algo parameter in sctp_verify_param() [NET_SCHED] cls_u32: refcounting fix for u32_delete() [DCCP]: Fix skb->cb conflicts with IP [AX25]: Potential ax25_uid_assoc-s leaks on module unload. ... commit 4f3f8e94b7b079131f0faf641e8afd790a6537d1 Author: David Howells Date: Mon Apr 14 11:20:59 2008 +0100 FRV: Correctly determine the address of an illegal instruction Correctly determine the address of an illegal instruction. The EPCR0 register holds this value (masked by EPCR0_PC) if the validity bit is set (masked by EPCR0_V). So the test as to whether the contents of the register are usable should be involve checking the _V bit, not the _PC bits. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit e2df9e0905136eebeca66eb9a994ca48d0fa7990 Author: Ingo Molnar Date: Mon Apr 14 08:50:02 2008 +0200 revert "sched: fix fair sleepers" revert "sched: fix fair sleepers" (e22ecef1d2658ba54ed7d3fdb5d60829fb434c23), because it is causing audio skipping, see: http://bugzilla.kernel.org/show_bug.cgi?id=10428 the patch is correct and the real cause of the skipping is not understood (tracing makes it go away), but time has run out so we'll revert it and re-try in 2.6.26. Signed-off-by: Ingo Molnar commit 159d83363b629c91d020734207c1bc788b96af5a Author: Patrick McHardy Date: Mon Apr 14 00:46:01 2008 -0700 [BRIDGE]: Fix crash in __ip_route_output_key with bridge netfilter The bridge netfilter code attaches a fake dst_entry with a pointer to a fake net_device structure to skbs it passes up to IPv4 netfilter. This leads to crashes when the skb is passed to __ip_route_output_key when dereferencing the namespace pointer. Since bridging can currently only operate in the init_net namespace, the easiest fix for now is to initialize the nd_net pointer of the fake net_device struct to &init_net. Should fix bugzilla 10323: http://bugzilla.kernel.org/show_bug.cgi?id=10323 Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4dee959723e2bf3a0f9343a46841cd2f0029d424 Author: Pavel Emelyanov Date: Mon Apr 14 00:44:52 2008 -0700 [NETFILTER]: ipt_CLUSTERIP: fix race between clusterip_config_find_get and _entry_put Consider we are putting a clusterip_config entry with the "entries" count == 1, and on the other CPU there's a clusterip_config_find_get in progress: CPU1: CPU2: clusterip_config_entry_put: clusterip_config_find_get: if (atomic_dec_and_test(&c->entries)) { /* true */ read_lock_bh(&clusterip_lock); c = __clusterip_config_find(clusterip); /* found - it's still in list */ ... atomic_inc(&c->entries); read_unlock_bh(&clusterip_lock); write_lock_bh(&clusterip_lock); list_del(&c->list); write_unlock_bh(&clusterip_lock); ... dev_put(c->dev); Oops! We have an entry returned by the clusterip_config_find_get, which is a) not in list b) has a stale dev pointer. The problems will happen when the CPU2 will release the entry - it will remove it from the list for the 2nd time, thus spoiling it, and will put a stale dev pointer. The fix is to make atomic_dec_and_test under the clusterip_lock. Signed-off-by: Pavel Emelyanov Signed-off-by: Patrick McHardy commit 9625ed72e8bd619c3984f3024bd37143b7f0c7b0 Author: YOSHIFUJI Hideaki Date: Sun Apr 13 23:47:11 2008 -0700 [IPV6] ADDRCONF: Don't generate temporary address for ip6-ip6 interface. As far as I can remember, I was going to disable privacy extensions on all "tunnel" interfaces. Disable it on ip6-ip6 interface as well. Also, just remove ifdefs for SIT for simplicity. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit b077d7ababdb5433aef18c62bf1f785e8729f49a Author: YOSHIFUJI Hideaki Date: Sun Apr 13 23:42:18 2008 -0700 [IPV6] ADDRCONF: Ensure disabling multicast RS even if privacy extensions are disabled. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit e9df2e8fd8fbc95c57dbd1d33dada66c4627b44c Author: YOSHIFUJI Hideaki Date: Sun Apr 13 23:40:51 2008 -0700 [IPV6]: Use appropriate sock tclass setting for routing lookup. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 7cd636fe9ce5de0051c11283911baca4291868c8 Author: YOSHIFUJI Hideaki Date: Sun Apr 13 23:33:52 2008 -0700 [IPV6]: IPv6 extension header structures need to be packed. struct ipv6_opt_hdr is the common structure for IPv6 extension headers, and it is common to increment the pointer to get the real content. On the other hand, since the structure consists only of 1-byte next-header field and 1-byte length field, size of that structure depends on architecture; 2 or 4. Add "packed" attribute to get 2. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit b45e9189c058bfa495073951ff461ee0eea968be Author: David S. Miller Date: Sun Apr 13 23:14:15 2008 -0700 [IPV6]: Fix ipv6 address fetching in raw6_icmp_error(). Fixes kernel bugzilla 10437 Based almost entirely upon a patch by Dmitry Butskoy. When deciding what raw sockets to deliver the ICMPv6 to, we should use the addresses in the ICMPv6 quoted IPV6 header, not the top-level one. Signed-off-by: David S. Miller commit 2ed9926e16094ad143b96b09c64cba8bcba05ee1 Author: Patrick McHardy Date: Sun Apr 13 22:45:40 2008 -0700 [NET]: Return more appropriate error from eth_validate_addr(). Paul Bolle wrote: > http://bugzilla.kernel.org/show_bug.cgi?id=9923 would have been much easier to > track down if eth_validate_addr() would somehow complain aloud if an address > is invalid. Shouldn't it make at least some noise? I guess it should return -EADDRNOTAVAIL similar to eth_mac_addr() when validation fails. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d2dcba612b357a4687843ad4f46629d219233fd7 Author: Paul Bolle Date: Sun Apr 13 22:44:20 2008 -0700 [ISDN]: Do not validate ISDN net device address prior to interface-up Commit bada339 (Validate device addr prior to interface-up) caused a regression in the ISDN network code, see: http://bugzilla.kernel.org/show_bug.cgi?id=9923 The trivial fix is to remove the pointer to eth_validate_addr() in the net_device struct in isdn_net_init(). Signed-off-by: Paul Bolle Signed-off-by: David S. Miller commit 4c821d753d5c097babd6609bcd85f08e254a3505 Author: Ben Hutchings Date: Sun Apr 13 21:52:48 2008 -0700 [NET]: Fix kernel-doc for skb_segment The kernel-doc comment for skb_segment is clearly wrong. This states what it actually does. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit f37f0afb2916ccf287428983026261db78c7661a Author: Eric Dumazet Date: Sun Apr 13 21:39:26 2008 -0700 [SOCK] sk_stamp: should be initialized to ktime_set(-1L, 0) Problem spotted by Andrew Brampton Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit e01bf1c83332c4653ffd30eed20a94a9c83d82b2 Author: Rusty Russell Date: Sat Apr 12 18:49:30 2008 -0700 net: check for underlength tap writes If the user gives a packet under 14 bytes, we'll end up reading off the end of the skb (not oopsing, just reading off the end). Signed-off-by: Rusty Russell Acked-by: Max Krasnyanskiy Signed-off-by: David S. Miller commit 14daa02139dcb3193b2b0250c0720a23ef610c49 Author: Rusty Russell Date: Sat Apr 12 18:48:58 2008 -0700 net: make struct tun_struct private to tun.c There's no reason for this to be in the header, and it just hurts recompile time. Signed-off-by: Rusty Russell Acked-by: Max Krasnyanskiy Signed-off-by: David S. Miller commit a40a7d15ba602b547f56b7b19e0282fe4fc3dee3 Author: Pavel Emelyanov Date: Sat Apr 12 18:40:38 2008 -0700 [SCTP]: IPv4 vs IPv6 addresses mess in sctp_inet[6]addr_event. All IP addresses that are present in a system are duplicated on struct sctp_sockaddr_entry. They are linked in the global list called sctp_local_addr_list. And this struct unions IPv4 and IPv6 addresses. So, there can be rare case, when a sockaddr_in.sin_addr coincides with the corresponding part of the sockaddr_in6 and the notifier for IPv4 will carry away an IPv6 entry. The fix is to check the family before comparing the addresses. Signed-off-by: Pavel Emelyanov Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit ab38fb04c9f8928cfaf6f4966633d783419906a1 Author: Vlad Yasevich Date: Sat Apr 12 18:40:06 2008 -0700 [SCTP]: Fix compiler warning about const qualifiers Fix 3 warnings about discarding const qualifiers: net/sctp/ulpevent.c:862: warning: passing argument 1 of 'sctp_event2skb' discards qualifiers from pointer target type net/sctp/sm_statefuns.c:4393: warning: passing argument 1 of 'SCTP_ASOC' discards qualifiers from pointer target type net/sctp/socket.c:5874: warning: passing argument 1 of 'cmsg_nxthdr' discards qualifiers from pointer target type Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit f4ad85ca3ef8a1ede76c5020a28a8f4057b4d24f Author: Gui Jianfeng Date: Sat Apr 12 18:39:34 2008 -0700 [SCTP]: Fix protocol violation when receiving an error lenght INIT-ACK When receiving an error length INIT-ACK during COOKIE-WAIT, a 0-vtag ABORT will be responsed. This action violates the protocol apparently. This patch achieves the following things. 1 If the INIT-ACK contains all the fixed parameters, use init-tag recorded from INIT-ACK as vtag. 2 If the INIT-ACK doesn't contain all the fixed parameters, just reflect its vtag. Signed-off-by: Gui Jianfeng Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 72da7b3860cabf427590b4982bc880bafab4d5c8 Author: Wei Yongjun Date: Sat Apr 12 18:39:19 2008 -0700 [SCTP]: Add check for hmac_algo parameter in sctp_verify_param() RFC 4890 has the following text: The HMAC algorithm based on SHA-1 MUST be supported and included in the HMAC-ALGO parameter. As a result, we need to check in sctp_verify_param() that HMAC_SHA1 is present in the list. If not, we should probably treat this as a protocol violation. It should also be a protocol violation if the HMAC parameter is empty. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit e56cfad132f2ae269082359d279c17230c987e74 Author: Jarek Poplawski Date: Sat Apr 12 18:37:13 2008 -0700 [NET_SCHED] cls_u32: refcounting fix for u32_delete() Deleting of nonroot hnodes mostly doesn't work in u32_delete(): refcnt == 1 is expected, but such hnodes' refcnts are initialized with 0 and charged only with "link" nodes. Now they'll start with 1 like usual. Thanks to Patrick McHardy for an improving suggestion. Signed-off-by: Jarek Poplawski Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 028b027524b162eef90839a92ba4b8bddf23e06c Author: Patrick McHardy Date: Sat Apr 12 18:35:41 2008 -0700 [DCCP]: Fix skb->cb conflicts with IP dev_queue_xmit() and the other IP output functions expect to get a skb with clear or properly initialized skb->cb. Unlike TCP and UDP, the dccp_skb_cb doesn't contain a struct inet_skb_parm at the beginning, so the DCCP-specific data is interpreted by the IP output functions. This can cause false negatives for the conditional POST_ROUTING hook invocation, making the packet bypass the hook. Add a inet_skb_parm/inet6_skb_parm union to the beginning of dccp_skb_cb to avoid clashes. Also add a BUILD_BUG_ON to make sure it fits in the cb. [ Combined with patch from Gerrit Renker to remove two now unnecessary memsets of IPCB(skb)->opt ] Signed-off-by: Patrick McHardy Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit ae1b6a31b1f9ef2c7ba5ef89799f210a9ba6937c Author: Pavel Emelyanov Date: Sat Apr 12 18:33:50 2008 -0700 [AX25]: Potential ax25_uid_assoc-s leaks on module unload. The ax25_uid_free call walks the ax25_uid_list and releases entries from it. The problem is that after the fisrt call to hlist_del_init the hlist_for_each_entry (which hides behind the ax25_uid_for_each) will consider the current position to be the last and will return. Thus, the whole list will be left not freed. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 2de58e30db3f7e83592e22fb459dd6695b648889 Author: Sergei Shtylyov Date: Sat Apr 12 18:30:58 2008 -0700 tg3: fix MMIO for PPC 44x platforms The driver stores the PCI resource addresses into 'unsigned long' variable before calling ioremap_nocache() on them. This warrants kernel oops when the registers are accessed on PPC 44x platforms which (being 32-bit) have PCI memory space mapped beyond 4 GB. The arch/ppc/ kernel has a fixup in ioremap() that creates an illusion that the PCI memory resource is mapped below 4 GB, but arch/powerpc/ code got rid of this trick, having instead CONFIG_RESOURCES_64BIT enabled. [ Bump driver version and release date -DaveM ] Signed-off-by: Sergei Shtylyov Signed-off-by: David S. Miller commit 16a79142e51f9eedbf3ae9a20d9cdb2f88c86acc Author: Krzysztof Halasa Date: Sat Apr 12 10:10:40 2008 +0200 Mark generic HDLC + PPP as broken. PPP support in generic HDLC in Linux 2.6.25 is broken and will cause a kernel panic when a device configured in PPP mode is activated. It will be replaced by new PPP implementation after Linux 2.6.25 is released. This affects only PPP support in generic HDLC (mostly Hitachi SCA and SCA-II based drivers, wanxl, and few others). Standalone syncppp and async PPP support are not affected. Signed-off-by: Krzysztof Halasa Signed-off-by: Jeff Garzik commit 44fb3126d7e6fb411775551b4653643f1d28ebe9 Author: Thomas Klein Date: Fri Apr 4 15:04:53 2008 +0200 ehea: Fix DLPAR memory add support This patch fixes two weaknesses in send/receive packet handling which may lead to kernel panics during DLPAR memory add operations. Signed-off-by: Thomas Klein Signed-off-by: Jeff Garzik commit 5a81f14330ce70bc256b624593768fd1b4170d27 Author: Stephen Hemminger Date: Thu Apr 10 21:30:38 2008 -0700 sc92031: sysfs link missing Add missing sysfs device association. Compile tested only -ENOHW. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=10380 Signed-off-by: Stephen Hemminger Cc: Cesar Eduardo Barros Cc: Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit c500cb265e35c76d741714a61bc635e0f02d64d2 Author: Sonic Zhang Date: Thu Apr 10 21:30:37 2008 -0700 smc91x driver: fix bug: print warning only in interrupt mode http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3956 Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit a376e79c6079c2ba6c5fadb0e85a3bb7e465ad89 Author: Ayaz Abdulla Date: Thu Apr 10 21:30:35 2008 -0700 forcedeth: mac address fix This critical patch fixes a mac address issue recently introduced. If the device's mac address was in correct order and the flag NVREG_TRANSMITPOLL_MAC_ADDR_REV was set, during nv_remove the flag would get cleared. During next load, the mac address would get reversed because the flag is missing. As it has been indicated previously, the flag is cleared across a low power transition. Therefore, the driver should set the mac address back into the reversed order when clearing the flag. Also, the driver should set back the flag after a low power transition to protect against kexec command calling nv_probe a second time. Signed-off-by: Ayaz Abdulla Cc: "Yinghai Lu" Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 72cfe92266540d8510946921a599f140a3d4aaa8 Author: Atsushi Nemoto Date: Sat Apr 12 00:58:14 2008 +0900 macb: Use semicolon instead of comma for statement It seems no good reason to use comma here. Signed-off-by: Atsushi Nemoto Signed-off-by: Jeff Garzik commit 84b7901f8d5a17536ef2df7fd628ab865df8fe3a Author: Atsushi Nemoto Date: Thu Apr 10 23:30:07 2008 +0900 macb: Call phy_disconnect on removing Call phy_disconnect() on remove routine. Otherwise the phy timer causes a kernel crash when unloading. Signed-off-by: Atsushi Nemoto Signed-off-by: Jeff Garzik commit 3d137fdd16b26be31a653f83d6ce4d3a1ed8701e Author: Joakim Tjernlund Date: Fri Apr 11 00:54:43 2008 +0200 ucc_geth: fix non-functional fixed phy support The new Fixed PHY method, fixed-link property, isn't impl. for ucc_geth which makes fixed PHYs non functional. Add support for the new method to restore the Fixed PHY functionality. Signed-off-by: Joakim Tjernlund Signed-off-by: Li Yang Signed-off-by: Jeff Garzik commit 9a3c243d7d87f401682247dbeff94067d814c192 Author: Laurent Pinchart Date: Fri Apr 11 14:05:50 2008 +0200 fs_enet: Don't call NAPI functions when NAPI is not used. fs_enet_close() calls napi_disable() unconditionally. This patch skips the call when use_napi isn't set. Signed-off-by: Laurent Pinchart Signed-off-by: Jeff Garzik commit c63eddb200690023e7c67f4dd9f132ad91660517 Author: Stephen Hemminger Date: Thu Apr 10 15:06:14 2008 -0500 sky2: missing chip name for Yukon Supreme Any usage of sky2 on new Yukon Supreme would cause a NULL dereference. The chip is very new, so the support is still untested; vendor has not sent any eval hardware. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 1892225f788a73beae2ec26f6f2fa4cd2e5868d0 Author: Adrian Bunk Date: Fri Apr 11 20:28:27 2008 +0300 [libata] make ali_atapi_dma static This patch makes the needlessly global ali_atapi_dma static. Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit aeb74914ef0e6746f15b11c0399048de9c5c05b8 Author: Jeff Garzik Date: Sat Apr 12 00:11:35 2008 -0400 [libata] sata_svw: fix reversed port count According to Broadcom, two chips have their port counts flipped. The proper count is: 0x241 is 8 ports 0x242 is 4 ports Reported by Yohei Honda on kernel bz 10424. Signed-off-by: Jeff Garzik commit 120dd64cacd4fb796bca0acba3665553f1d9ecaa Author: Linus Torvalds Date: Fri Apr 11 13:32:29 2008 -0700 Linux 2.6.25-rc9 commit 14897e35fdc045fff9baabf0354570da22386706 Merge: b0fac02... 14dadf1... Author: Linus Torvalds Date: Fri Apr 11 13:24:16 2008 -0700 Merge branch 'docs' of git://git.lwn.net/linux-2.6 * 'docs' of git://git.lwn.net/linux-2.6: Add additional examples in Documentation/spinlocks.txt Move sched-rt-group.txt to scheduler/ Documentation: move rpc-cache.txt to filesystems/ Documentation: move nfsroot.txt to filesystems/ Spell out behavior of atomic_dec_and_lock() in kerneldoc Fix a typo in highres.txt Fixes to the seq_file document Fill out information on patch tags in SubmittingPatches Add the seq_file documentation commit 14dadf1d5eb5bea2dd115852cfee880505c1c169 Author: Mark Fasheh Date: Thu Apr 10 13:55:21 2008 -0700 Add additional examples in Documentation/spinlocks.txt Checkpatch will throw an error if code doesn't use the correct initializers for static spinlocks: ERROR: Use of SPIN_LOCK_UNLOCKED is deprecated: see Documentation/spinlocks.txt This is fine, but Documentation/spinlocks.txt isn't very clear on how to _use_ the new initializers for static variables. To save people time in the future, I added two small examples of how to fix old-style static initializers to be more lockdep friendly. Signed-off-by: Mark Fasheh Signed-off-by: Jonathan Corbet commit d396c5f158547e50c2b78bc984cb4a72d76e969b Author: J. Bruce Fields Date: Mon Apr 7 16:39:38 2008 -0400 Move sched-rt-group.txt to scheduler/ Signed-off-by: J. Bruce Fields Signed-off-by: Jonathan Corbet commit 8bcd1cc293f4e76edbfd8f422770c80a018b82d9 Author: J. Bruce Fields Date: Mon Apr 7 15:59:04 2008 -0400 Documentation: move rpc-cache.txt to filesystems/ This file is nfs-related. (Maybe Documentation/filesystems/ would benefit from a separate nfs/ directory at some point.) Signed-off-by: J. Bruce Fields Signed-off-by: Jonathan Corbet commit 6ded55da6be9f186ae1022724a5881b43846c164 Author: J. Bruce Fields Date: Mon Apr 7 15:59:03 2008 -0400 Documentation: move nfsroot.txt to filesystems/ Documentation/ is a little large, and filesystems/ seems an obvious place for this file. Signed-off-by: J. Bruce Fields Signed-off-by: Jonathan Corbet commit dc07e721a26ec7e0adb66340f1763d220cfbbd0c Author: J. Bruce Fields Date: Mon Apr 7 15:59:05 2008 -0400 Spell out behavior of atomic_dec_and_lock() in kerneldoc A little more detail here wouldn't hurt. Signed-off-by: J. Bruce Fields Signed-off-by: Jonathan Corbet commit b0fac02370cffad956ff3de5e8ed4df7e7b875d7 Author: Heiko Carstens Date: Fri Apr 11 13:46:54 2008 +0200 Fix "$(AS) -traditional" compile breakage caused by asmlinkage_protect git commit 54a015104136974262afa4b8ddd943ea70dec8a2 ("asmlinkage_protect replaces prevent_tail_call") causes this build failure on s390: AS arch/s390/kernel/entry64.o In file included from arch/s390/kernel/entry64.S:14: include/linux/linkage.h:34: error: syntax error in macro parameter list make[1]: *** [arch/s390/kernel/entry64.o] Error 1 make: *** [arch/s390/kernel] Error 2 and some other architectures. The reason is that some architectures add the "-traditional" flag to the invocation of $(AS), which disables variadic macro argument support. So just surround the new define with an #ifndef __ASSEMBLY__ to prevent any side effects on asm code. Cc: Roland McGrath Cc: Martin Schwidefsky Signed-off-by: Heiko Carstens Signed-off-by: Linus Torvalds commit 099ce8f4712dcff975ed7619f831b4df95aac773 Merge: 90768c0... fa16eef... Author: Linus Torvalds Date: Fri Apr 11 08:10:51 2008 -0700 Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: i2c-tiny-usb: New VID/PID pair i2c-davinci: Fix lost interrupt i2c-ibm_iic: Fast mode parm desc fixup commit 90768c09bca4f306c00a0cdbcb2f82601231e93e Merge: 3f06350... 7951f0b... Author: Linus Torvalds Date: Fri Apr 11 08:10:24 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: [NETNS][IPV6] tcp - assign the netns for timewait sockets [IPV4]: Fix byte value boundary check in do_ip_getsockopt(). BNX2X: Correct bringing chip out of reset [NETFILTER]: nf_nat: autoload IPv4 connection tracking [NETFILTER]: xt_hashlimit: fix mask calculation [XFRM]: xfrm_user: fix selector family initialization rt61pci: rt61pci_beacon_update do not free skb twice ssb-mipscore: Fix interrupt vectors ssb-pcicore: Fix IRQ TPS flag handling mac80211: use short_preamble mode from capability if ERP IE not present [NET]: Undo code bloat in hot paths due to print_mac(). [TCP]: Don't allow FRTO to take place while MTU is being probed [TCP]: tcp_simple_retransmit can cause S+L [TCP]: Fix NewReno's fast rexmit/recovery problems with GSOed skb [TCP]: Restore 2.6.24 mark_head_lost behavior for newreno/fack nl80211: fix STA AID bug b43legacy: fix bcm4303 crash iwlwifi: fix n-band association problem ipw2200: set MAC address on radiotap interface libertas: fix mode initialization problem commit 3f0635016246e2fee6e80b4741299833c68b065e Merge: 0859ab5... d786a4a... Author: Linus Torvalds Date: Fri Apr 11 08:09:57 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC]: Fix several regset and ptrace bugs. commit 0859ab59a8a48d2a96b9d2b7100889bcb6bb5818 Author: Davide Libenzi Date: Thu Apr 10 21:29:29 2008 -0700 signalfd: fix for incorrect SI_QUEUE user data reporting Michael Kerrisk found out that signalfd was not reporting back user data pushed using sigqueue: http://groups.google.com/group/linux.kernel/msg/9397cab8551e3123 The following patch makes signalfd report back the ssi_ptr and ssi_int members of the signalfd_siginfo structure. Signed-off-by: Davide Libenzi Acked-by: Michael Kerrisk Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 544451a1a36b06f43fc67112ede3b92e6203eb9d Author: Bjorn Helgaas Date: Thu Apr 10 21:29:28 2008 -0700 pnp: increase number of devices supported per protocol Increase the PNP "number of devices" limit. We currently use an unsigned char, which limits us to 256 devices per protocol. This patch changes that to an unsigned int. Not all backends can take advantage of this: we limit ISAPNP to 10 devices in isapnp_cfg_begin(), and PNPBIOS is limited to 256 devices because the BIOS interfaces use a one-byte device node number. But there is no limit on the number of PNPACPI devices we may have. Large HP Integrity machines have more than 256, which causes the current "unsigned char number" to wrap around. This causes errors like this: pnp: PnP ACPI init kobject_add failed for 00:00 with -EEXIST, don't try to register things with the same name in the same directory. Call Trace: [] show_stack+0x40/0xa0 [] dump_stack+0x30/0x60 [] kobject_add+0x290/0x2c0 [] device_add+0x160/0x860 [] device_register+0x30/0x60 [] __pnp_add_device+0x130/0x180 [] pnp_add_device+0xb0/0xe0 [] pnpacpi_add_device+0x510/0x5a0 [] pnpacpi_add_device_handler+0x50/0x80 This patch increases the limit to fix this PNPACPI problem. It should not have any adverse effect on ISAPNP or PNPBIOS because their limits are still enforced in the backends. Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd2ab67030e9116f1e4aae1289220255412b37fd Author: Dan Williams Date: Thu Apr 10 21:29:27 2008 -0700 md: close a livelock window in handle_parity_checks5 If a failure is detected after a parity check operation has been initiated, but before it completes handle_parity_checks5 will never quiesce operations on the stripe. Explicitly handle this case by "canceling" the parity check, i.e. clear the STRIPE_OP_CHECK flags and queue the stripe on the handle list again to refresh any non-uptodate blocks. Kernel versions >= 2.6.23 are susceptible. Cc: Cc: NeilBrown Signed-off-by: Dan Williams Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 231bc2a222411f43bfb0fbb6d64c0f34c7b1039f Author: Mike Pagano Date: Thu Apr 10 21:29:26 2008 -0700 cciss: error: implicit declaration of function 'sg_init_table' This patch adds the missing include directive to the cciss.c source file.   This was discovered by our release team when building the kernel for the Alpha architecture. Errors were found as references to functions 'sg_init_table' and 'sg_page' do not exist without the include for Alpha. Signed-off-by: Mike Pagano Cc: Jens Axboe Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ad28a07bcadc5945f7a90d9de3a196825e69d9d3 Author: Kay Sievers Date: Thu Apr 10 21:29:25 2008 -0700 rtc: fix platform driver hotplug/coldplug Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable RTC platform drivers, to re-enable module auto loading. [dbrownell@users.sourceforge.net: more drivers, minor fix] Signed-off-by: Kay Sievers Signed-off-by: David Brownell Cc: Greg KH Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f37d193c7c150c40059c7ce5de34e8b28a9cd4ae Author: Kay Sievers Date: Thu Apr 10 21:29:23 2008 -0700 watchdog: fix platform driver hotplug/coldplug Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable watchdog drivers, to re-enable auto loading. [dbrownell@users.sourceforge.net: more drivers; registration fixes] Signed-off-by: Kay Sievers Signed-off-by: David Brownell Cc: Wim Van Sebroeck Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4fce61d410b96ae263b001c45f73df1863dad8d Author: Kay Sievers Date: Thu Apr 10 21:29:22 2008 -0700 usb host: fix platform driver hotplug/coldplug Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable USB HCDs, to allow re-enable auto loading. [dbrownell@users.sourceforge.net: more drivers; registration fixes] Signed-off-by: Kay Sievers Signed-off-by: David Brownell Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f34c32f13ce8c539f3f582562358e39a86b00e83 Author: Kay Sievers Date: Thu Apr 10 21:29:21 2008 -0700 usb gadget: fix platform driver hotplug/coldplug Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable usb peripheral drivers, to re-eable module auto loading. [dbrownell@users.sourceforge.net: registration fixes] Signed-off-by: Kay Sievers Signed-off-by: David Brownell Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e38c3c4453bdb5ffdf8bf0ff0d9a760540f0893 Author: Kay Sievers Date: Thu Apr 10 21:29:20 2008 -0700 spi: fix platform driver hotplug/coldplug Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable SPI platform drivers, to allow module auto loading. [dbrownell@users.sourceforge.net: more drivers: registration fixes] Signed-off-by: Kay Sievers Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d1c98b0b5c0148b519c6416e689ef6a89ffcea3 Author: Davide Libenzi Date: Thu Apr 10 21:29:19 2008 -0700 eventfd/kaio integration fix Jeff Roberson discovered a race when using kaio eventfd based notifications. When it occurs it can lead tomissed wakeups and hung userspace. This patch fixes the race by moving the notification inside the spinlocked section of kaio. The operation is safe since eventfd spinlock and kaio one are unrelated. Signed-off-by: Davide Libenzi Cc: Zach Brown Cc: Jeff Roberson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d479540dbaba6f7acdb48e0242fee868c7a68116 Author: Randy Dunlap Date: Thu Apr 10 21:29:18 2008 -0700 rtc: rtc-s35390a.c needs the bitreverse library rtc-s35390a uses BITREVERSE functions so it needs to select that config symbol to ensure that the functions are built. drivers/built-in.o: In function `s35390a_set_datetime': linux-2.6.25-rc8-git7/drivers/rtc/rtc-s35390a.c:144: undefined reference to `byte_rev_table' drivers/built-in.o: In function `s35390a_get_datetime': linux-2.6.25-rc8-git7/drivers/rtc/rtc-s35390a.c:163: undefined reference to `byte_rev_table' Signed-off-by: Randy Dunlap Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b6c3006d204a0b86e1ebe02ca38f9f071a03c7ef Author: Paul Menage Date: Thu Apr 10 21:29:16 2008 -0700 cgroups: include hierarchy ids in /proc//cgroup Extend the /proc//cgroup file to include the appropriate hierarchy ID on each line. Currently this ID isn't really needed since a hierarchy can be completely identified by the set of subsystems bound to it, but this is likely to change in the near future in order to support stateless subsystems and merging/rebinding of subsystems. Getting this change into 2.6.25 reduces the need for an API change later. Signed-off-by: Paul Menage Cc: Balbir Singh Cc: Pavel Emelyanov Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fa16eefd3e835dd81c688a2a743eb59331162ed5 Author: Till Harbaum Date: Fri Apr 11 12:07:05 2008 +0200 i2c-tiny-usb: New VID/PID pair I have recently bought some USB PIDs from EZPrototypes for my USB projects and one will be for the i2c-tiny-usb. I have not yet started to use the new one in the official i2c-tiny-usb firmware since i think it makes sense to get the change into the kernel before releasing a modified firmware. This patch adds support for the EZPrototypes USB vid/pid pair used in later i2c-tiny-usb firmware versions (avrusb v1.06 and up, usbtiny v2.06 and up). Signed-off-by: Till Harbaum Signed-off-by: Jean Delvare commit b73a9aece56594bdb73712c8b9a8a4ad05fdeb33 Author: Troy Kisky Date: Fri Apr 11 12:07:05 2008 +0200 i2c-davinci: Fix lost interrupt DAVINCI_I2C_STR_REG is a write 1 to clear register, so don't use a read/modify/write cycle. Signed-off-by: Troy Kisky Acked-by: Dirk Behme Signed-off-by: Kevin Hilman Signed-off-by: Jean Delvare commit 852fb2ac76241868454d07818ea0d87fcd9e5301 Author: Paul Mundt Date: Fri Apr 11 12:07:04 2008 +0200 i2c-ibm_iic: Fast mode parm desc fixup Noticed this when grepping for fast mode module params, the i2c-ibm_iic driver was using a non-existent variable for MODULE_PARM_DESC. Fix it up to reflect what it's actually supposed to be describing. Signed-off-by: Paul Mundt Signed-off-by: Jean Delvare commit 7951f0b03a63d657c72c7d54d306ef3357e7e604 Author: Daniel Lezcano Date: Thu Apr 10 20:53:10 2008 -0700 [NETNS][IPV6] tcp - assign the netns for timewait sockets Copy the network namespace from the socket to the timewait socket. Signed-off-by: Daniel Lezcano Acked-by: Mark Lord Signed-off-by: David S. Miller commit d10d89ec78114f925f63c5126a2b2490f501a462 Author: Linus Torvalds Date: Thu Apr 10 17:35:23 2008 -0700 Add commentary about the new "asmlinkage_protect()" macro It's really a pretty ugly thing to need, and some day it will hopefully be obviated by teaching gcc about the magic calling conventions for the low-level system call code, but in the meantime we can at least add big honking comments about why we need these insane and strange macros. I took my comments from my version of the macro, but I ended up deciding to just pick Roland's version of the actual code instead (with his prettier syntax that uses vararg macros). Thus the previous two commits that actually implement it. Signed-off-by: Linus Torvalds commit 598af051a79d05b751fe793f1fe09fcf74763e02 Author: Roland McGrath Date: Thu Apr 10 15:38:45 2008 -0700 asmlinkage_protect sys_io_getevents Use asmlinkage_protect in sys_io_getevents, because GCC for i386 with CONFIG_FRAME_POINTER=n can decide to clobber an argument word on the stack, i.e. the user struct pt_regs. Here the problem is not a tail call, but just the compiler's use of the stack when it inlines and optimizes the body of the called function. This seems to avoid it. Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds commit 54a015104136974262afa4b8ddd943ea70dec8a2 Author: Roland McGrath Date: Thu Apr 10 15:37:38 2008 -0700 asmlinkage_protect replaces prevent_tail_call The prevent_tail_call() macro works around the problem of the compiler clobbering argument words on the stack, which for asmlinkage functions is the caller's (user's) struct pt_regs. The tail/sibling-call optimization is not the only way that the compiler can decide to use stack argument words as scratch space, which we have to prevent. Other optimizations can do it too. Until we have new compiler support to make "asmlinkage" binding on the compiler's own use of the stack argument frame, we have work around all the manifestations of this issue that crop up. More cases seem to be prevented by also keeping the incoming argument variables live at the end of the function. This makes their original stack slots attractive places to leave those variables, so the compiler tends not clobber them for something else. It's still no guarantee, but it handles some observed cases that prevent_tail_call() did not. Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds commit 783e391b7b5b273cd20856d8f6f4878da8ec31b3 Author: Venki Pallipadi Date: Thu Apr 10 09:49:58 2008 -0700 x86: Simplify cpu_idle_wait This patch also resolves hangs on boot: http://lkml.org/lkml/2008/2/23/263 http://bugzilla.kernel.org/show_bug.cgi?id=10093 The bug was causing once-in-few-reboots 10-15 sec wait during boot on certain laptops. Earlier commit 40d6a146629b98d8e322b6f9332b182c7cbff3df added smp_call_function in cpu_idle_wait() to kick cpus that are in tickless idle. Looking at cpu_idle_wait code at that time, code seemed to be over-engineered for a case which is rarely used (while changing idle handler). Below is a simplified version of cpu_idle_wait, which just makes a dummy smp_call_function to all cpus, to make them come out of old idle handler and start using the new idle handler. It eliminates code in the idle loop to handle cpu_idle_wait. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Linus Torvalds commit a1e58bbdc969c3fe60addca7f2729779d22a83c1 Author: Harvey Harrison Date: Thu Apr 10 13:38:23 2008 -0700 lzo: fix typo in decompressor Shift of a LE value seems strange, probably meant to shift the cpu-order variable as in the prvious section of the switch statement. Signed-off-by: Harvey Harrison Acked-by: Richard Purdie Signed-off-by: Linus Torvalds commit f17520e1f19172057328e50ffed01a42534921e9 Author: David Howells Date: Thu Apr 10 16:11:05 2008 +0100 FRV: Don't make smp_{r, w, }mb() interpolate MEMBAR when CONFIG_SMP=n [try #2] Don't make smp_{r,w,}mb() interpolate a MEMBAR instruction when CONFIG_SMP=n as SMP memory barries on UP systems should interpolate a compiler barrier only. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit ed9b949f55bc8a6bb6083ce0eddb53d06aee302a Author: David Howells Date: Thu Apr 10 16:11:00 2008 +0100 FRV: Make NOMMU-mode work with base addresses other than 0xC0000000 [try #2] Make NOMMU-mode work with base addresses other than 0xC0000000 by: (1) Giving the code that sets up the protection registers the right address in __sdram_base. Rather than being hard coded to 0xC0000000, the value of __page_offset is obtained from the linker script. (2) Eliminate the check in __switch_to() that verifies the current thread info is in the 0xCxxxxxxx region. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit e31c243f984628d02f045dc4b622f1e2827860dc Author: David Howells Date: Thu Apr 10 16:10:55 2008 +0100 FRV: Add support for emulation of userspace atomic ops [try #2] Use traps 120-126 to emulate atomic cmpxchg32, xchg32, and XOR-, OR-, AND-, SUB- and ADD-to-memory operations for userspace. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 0c93d8e4d342b1b5cda1037f2527fcf443c80fbc Author: David Howells Date: Thu Apr 10 16:10:50 2008 +0100 FRV: Move STACK_TOP_MAX up [try #2] Move STACK_TOP_MAX up so that we don't try moving the stack above it as that causes setup_arg_pages() to malfunction. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit a31b9dd8edc6e4e75b5299fee6093b3c54548446 Author: David Howells Date: Thu Apr 10 16:10:45 2008 +0100 FRV: Handle update_mmu_cache() being called when current->mm is NULL [try #2] Handle update_mmu_cache() being called when current->mm is NULL. We cache static TLB mappings for the current page table in DAMPR4 and DAMPR5 on the theory that the next data lookup is likely to be in the same general region, and thus is likely to be mapped by the same page table. However, we can't get this information if we can't access the appropriate mm_struct. If current->mm is NULL, we just clear the cache in the knowledge that the TLB miss handlers will load it. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 5d69a029ab13ddef5bdad69174fabafada4a87fd Merge: 999646e... e6957ea... Author: Linus Torvalds Date: Thu Apr 10 13:39:29 2008 -0700 Merge branch 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6 * 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6: [XFS] Ensure "both" features2 slots are consistent [XFS] Fix superblock features2 field alignment problem [XFS] remove shouting-indirection macros from xfs_sb.h commit 999646e3f953c734f8eced551fc1ea28719ba7a7 Merge: 76b0c26... 4faa3c8... Author: Linus Torvalds Date: Thu Apr 10 13:39:07 2008 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: cfq-iosched: do not leak ioc_data across iosched switches splice: fix infinite loop in generic_file_splice_read() commit 76b0c26af2736b7e5b87e6ed7ab63901483d5736 Author: Roman Zippel Date: Wed Apr 9 17:44:07 2008 +0200 HFS+: fix unlink of links Some time ago while attempting to handle invalid link counts, I botched the unlink of links itself, so this patch fixes this now correctly, so that only the link count of nodes that don't point to links is ignored. Thanks to Vlado Plaga to notify me of this problem. Signed-off-by: Roman Zippel Signed-off-by: Linus Torvalds commit 951e07c930f5f66b676eaa4c32a1b0d8e2d7d06a Author: David S. Miller Date: Thu Apr 10 01:29:36 2008 -0700 [IPV4]: Fix byte value boundary check in do_ip_getsockopt(). This fixes kernel bugzilla 10371. As reported by M.Piechaczek@osmosys.tv, if we try to grab a char sized socket option value, as in: unsigned char ttl = 255; socklen_t len = sizeof(ttl); setsockopt(socket, IPPROTO_IP, IP_MULTICAST_TTL, &ttl, &len); getsockopt(socket, IPPROTO_IP, IP_MULTICAST_TTL, &ttl, &len); The ttl returned will be wrong on big-endian, and on both little- endian and big-endian the next three bytes in userspace are written with garbage. It's because of this test in do_ip_getsockopt(): if (len < sizeof(int) && len > 0 && val>=0 && val<255) { It should allow a 'val' of 255 to pass here, but it doesn't so it copies a full 'int' back to userspace. On little-endian that will write the correct value into the location but it spams on the next three bytes in userspace. On big endian it writes the wrong value into the location and spams the next three bytes. Signed-off-by: David S. Miller commit 4faa3c8150c1d4f7b38d962eda7851083e218e3f Author: Fabio Checconi Date: Thu Apr 10 08:28:01 2008 +0200 cfq-iosched: do not leak ioc_data across iosched switches When switching scheduler from cfq, cfq_exit_queue() does not clear ioc->ioc_data, leaving a dangling pointer that can deceive the following lookups when the iosched is switched back to cfq. The pattern that can trigger that is the following: - elevator switch from cfq to something else; - module unloading, with elv_unregister() that calls cfq_free_io_context() on ioc freeing the cic (via the .trim op); - module gets reloaded and the elevator switches back to cfq; - reallocation of a cic at the same address as before (with a valid key). To fix it just assign NULL to ioc_data in __cfq_exit_single_io_context(), that is called from the regular exit path and from the elevator switching code. The only path that frees a cic and is not covered is the error handling one, but cic's freed in this way are never cached in ioc_data. Signed-off-by: Fabio Checconi Signed-off-by: Jens Axboe commit e6957ea48429aeda4f5d51af4238231d44b0dc4a Author: Eric Sandeen Date: Thu Apr 10 12:19:34 2008 +1000 [XFS] Ensure "both" features2 slots are consistent Since older kernels may look in the sb_bad_features2 slot for flags, rather than zeroing it out on fixup, we should make it equal to the sb_features2 value. Also, if the ATTR2 flag was not found prior to features2 fixup, it was not set in the mount flags, so re-check after the fixup so that the current session will use the feature. Also fix up the comments to reflect these changes. SGI-PV: 980085 SGI-Modid: xfs-linux-melb:xfs-kern:30778a Signed-off-by: Eric Sandeen Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit ee1c090825bf2f1cb9712489c234eabf69a9a78f Author: David Chinner Date: Thu Mar 6 13:45:50 2008 +1100 [XFS] Fix superblock features2 field alignment problem Due to the xfs_dsb_t structure not being 64 bit aligned, the last field of the on-disk superblock can vary in location This causes problems when the filesystem gets moved to a different platform, or there is a 32 bit userspace and 64 bit kernel. This patch detects the defect at mount time, logs a warning such as: XFS: correcting sb_features alignment problem in dmesg and corrects the problem so that everything is OK. it also blacklists the bad field in the superblock so it does not get used for something else later on. SGI-PV: 977636 SGI-Modid: xfs-linux-melb:xfs-kern:30539a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Eric Sandeen Signed-off-by: Lachlan McIlroy commit 6211870992502efdccf9cd6bae155c83277835fa Author: Eric Sandeen Date: Thu Mar 6 13:44:28 2008 +1100 [XFS] remove shouting-indirection macros from xfs_sb.h Remove macro-to-small-function indirection from xfs_sb.h, and remove some which are completely unused. SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30528a Signed-off-by: Eric Sandeen Signed-off-by: Donald Douwsma Signed-off-by: Lachlan McIlroy commit 8191ecd1d14c6914c660dfa007154860a7908857 Author: Jens Axboe Date: Thu Apr 10 08:24:25 2008 +0200 splice: fix infinite loop in generic_file_splice_read() There's a quirky loop in generic_file_splice_read() that could go on indefinitely, if the file splice returns 0 permanently (and not just as a temporary condition). Get rid of the loop and pass back -EAGAIN correctly from __generic_file_splice_read(), so we handle that condition properly as well. Signed-off-by: Jens Axboe commit d786a4a6599740eaa4b8d1e1d466853f02db11d4 Author: David S. Miller Date: Wed Apr 9 19:39:25 2008 -0700 [SPARC]: Fix several regset and ptrace bugs. 1) ptrace should pass 'current' to task_user_regset_view() 2) When fetching general registers using a 64-bit view, and the target is 32-bit, we have to convert. 3) Skip the whole register window get/set code block if the user isn't asking to access anything in there. Otherwise we have problems if the user doesn't have an address space setup. Fetching ptrace register is still valid at such a time, and ptrace does not try to access the register window area of the regset. Signed-off-by: David S. Miller commit f4be31ec9690cfe6e94fcbed6ae60a6a38b3c3ed Author: Steven Rostedt Date: Wed Apr 9 19:04:07 2008 -0400 pop previous section in alternative.c gcc expects all toplevel assembly to return to the original section type. The code in alteranative.c does not do this. This caused some strange bugs in sched-devel where code would end up in the .rodata section and when the kernel sets the NX bit on all .rodata, the kernel would crash when executing this code. This patch adds a .previous marker to return the code back to the original section. Credit goes to Andrew Pinski for telling me it wasn't a gcc bug but a bug in the toplevel asm code in the kernel. ;-) Signed-off-by: Steven Rostedt Signed-off-by: Linus Torvalds commit 44cad261025c04327fd7e847a7088fd3031b0c3e Merge: c5b9004... 5a55261... Author: Linus Torvalds Date: Wed Apr 9 18:36:12 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6: SELinux: don't BUG if fs reuses a superblock commit 5a55261716e838f188598ab3d7a0abf9cf1338f8 Author: Eric Paris Date: Wed Apr 9 14:08:35 2008 -0400 SELinux: don't BUG if fs reuses a superblock I (wrongly) assumed that nfs_xdev_get_sb() would not ever share a superblock and so cloning mount options would always be correct. Turns out that isn't the case and we could fall over a BUG_ON() that wasn't a BUG at all. Since there is little we can do to reconcile different mount options this patch just leaves the sb alone and the first set of options wins. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Acked-by: Trond Myklebust Signed-off-by: James Morris commit 619c714c1d6e4dff00ddde582d78492fd95452d6 Author: Eliezer Tamir Date: Wed Apr 9 15:25:46 2008 -0700 BNX2X: Correct bringing chip out of reset Fixed bug: Wrong register was written to when bringing the chip out of reset. [ Bump driver version and release date -DaveM ] Signed-off-by: Eliezer Tamir Signed-off-by: David S. Miller commit 475959d4773e53a2700e523dd30acebbd47556a5 Author: Jan Engelhardt Date: Wed Apr 9 15:14:58 2008 -0700 [NETFILTER]: nf_nat: autoload IPv4 connection tracking Without this patch, the generic L3 tracker would kick in if nf_conntrack_ipv4 was not loaded before nf_nat, which would lead to translation problems with ICMP errors. NAT does not make sense without IPv4 connection tracking anyway, so just add a call to need_ipv4_conntrack(). Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1b9b70ea2ebaab26c3e4fed385dfab6fc16359ed Author: Patrick McHardy Date: Wed Apr 9 15:14:18 2008 -0700 [NETFILTER]: xt_hashlimit: fix mask calculation Shifts larger than the data type are undefined, don't try to shift an u32 by 32. Also remove some special-casing of bitmasks divisible by 32. Based on patch by Jan Engelhardt . Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b41f5bfff73f244101b34f3603974ef7aeadf545 Merge: bcf0dda... e91e9d4... Author: David S. Miller Date: Wed Apr 9 15:10:14 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit bcf0dda8d2408fe1c1040cdec5a98e5fcad2ac72 Author: Patrick McHardy Date: Wed Apr 9 15:08:24 2008 -0700 [XFRM]: xfrm_user: fix selector family initialization Commit df9dcb45 ([IPSEC]: Fix inter address family IPsec tunnel handling) broke openswan by removing the selector initialization for tunnel mode in case it is uninitialized. This patch restores the initialization, fixing openswan, but probably breaking inter-family tunnels again (unknown since the patch author disappeared). The correct thing for inter-family tunnels is probably to simply initialize the selector family explicitly. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e91e9d490d9ae382003ef9d05fd50238db54c35b Author: Daniel Wagner Date: Wed Apr 9 16:29:01 2008 +0200 rt61pci: rt61pci_beacon_update do not free skb twice The layer above will free the skb in an error case. Signed-off-by: Daniel Wagner Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit c5b9004baac077fb472cc7ac8293f2a9fc918d22 Merge: 098107a... ac2c5bd... Author: Linus Torvalds Date: Wed Apr 9 08:06:27 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: ata/sata_fsl: Remove unused variable in sata_fsl_probe pata_sil680: Fix build on arch/ppc commit 2633da237ba29875294f8680ebece5900ccdcc05 Author: Michael Buesch Date: Tue Apr 8 11:17:29 2008 +0200 ssb-mipscore: Fix interrupt vectors This fixes assignment of the interrupt vectors on the SSB MIPS core. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit b63009b456c8d9abe684bdf8d4bd8f27eb040019 Author: Larry Finger Date: Tue Apr 8 10:28:24 2008 +0200 ssb-pcicore: Fix IRQ TPS flag handling This fixes the TPS flag handling for the SSB pcicore driver. This fixes interrupts on some devices. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 216bce90b811a35eb5cd2ed8216bdbb1753e9b2b Author: Vladimir Koutny Date: Mon Mar 31 17:05:10 2008 +0200 mac80211: use short_preamble mode from capability if ERP IE not present When associating to a b-only AP where there is no ERP IE, short preamble mode is left at previous state (probably also protection mode). In this case, disable protection and use short preamble mode as specified in capability field. The same is done if capability field is changed on-the-fly. Signed-off-by: Vladimir Koutny Signed-off-by: John W. Linville commit ac2c5bd05c88185ecbe7c114e472716f2e2d3a0c Author: Johann Felix Soden Date: Sun Apr 6 15:10:54 2008 +0200 ata/sata_fsl: Remove unused variable in sata_fsl_probe In sata_fsl_probe memory is allocated but never used or deallocated. Fixes: http://bugzilla.kernel.org/show_bug.cgi?id=10404 Thanks to Daniel Marjamäki for the bug report. Reported-by: Daniel Marjamäki Signed-off-by: Johann Felix Soden Signed-off-by: Jeff Garzik commit 119b3aa65d33533c2f8d8822bb7a3e62aa12f860 Author: Benjamin Herrenschmidt Date: Wed Apr 9 07:51:07 2008 +1000 pata_sil680: Fix build on arch/ppc Commit 0f436eff54f90419ac1b8accfb3e6e17c4b49a4e breaks build on arch/ppc as it doesn't implement the machine_is() macro. This fixes it by using CONFIG_PPC_MERGE instead which represents arch/powerpc only, while CONFIG_PPC is set for both. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Jeff Garzik commit 098107a01a2d427d0be9c19ae5bc9a410efed0c9 Merge: f8e30e4... ed13c27... Author: Linus Torvalds Date: Tue Apr 8 18:26:31 2008 -0700 Merge branch 'hotfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * 'hotfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: SUNRPC: Fix a memory leak in rpc_create() fix bug - executing FDPIC ELF on NFS mount triggers BUG() at mm/nommu.c:862:/do_mmap_private() NFS: initialize flags field in nfs_open_context SUNRPC: don't call flush_dcache_page() with an invalid pointer commit f8e30e447c692aaa728c65930ebc0146f65e1e7b Author: Dmitry Adamushko Date: Tue Apr 8 17:41:59 2008 -0700 mtd/chips: add missing set_current_state() to cfi_{amdstd,staa}_sync() cfi_amdstd_sync() and cfi_staa_sync() call schedule() without changing task's state appropriately. In case of e.g. chip->state == FL_ERASING, cfi_*_sync() will be busy-looping either redundantly for a fixed interval of time (for SCHED_NORMAL tasks) or possibly endlessly (for RT tasks and UP). Signed-off-by: Dmitry Adamushko Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b9ad8985f25c158e71844c78277a0c0b3779d0d3 Author: Michael Hennerich Date: Tue Apr 8 17:41:58 2008 -0700 spi: spi_bfin5xx: remove unused label Remove unused label, and associated compiler warning. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6395bee7e92bf34e95dc67c1da5acc30e8b98244 Author: David Brownell Date: Tue Apr 8 17:41:58 2008 -0700 spi: documentation tweaks Update SPI documentation to clarify some areas of recent confusion: clock polarity takes effect when chipselect goes active; and zero length buffers are OK in certain cases. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f9e522caece074b9a985436d611127e8e96ad446 Author: Vitja Makarov Date: Tue Apr 8 17:41:57 2008 -0700 spi: spi_bfin5xx: fix probe() sequencing Fix bug in SPI probe: first initialize peripheral pins, and just after register spi master device. This fixes problems with SPI drivers built-in kernel. Singed-off-by: Vitja Makarov Signed-off-by: Bryan Wu Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4fb98efacffd3dfbe8e3b9cb054dd71bab715065 Author: Mike Frysinger Date: Tue Apr 8 17:41:57 2008 -0700 spi: spi_bfin5xx build fix Fix breakage cause by overzealous line wrapping; there should be only one format string. Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba62b077871a5255e271f4fdae57167651839277 Author: Alok Kataria Date: Tue Apr 8 17:41:56 2008 -0700 acpi: fix "buggy BIOS check" when CPUs are hot removed Fixes a BUG in ACPI hotplugging. processor_device_array[pr->id] needs to be set to NULL when removing a CPU. Else the "buggy BIOS check" in acpi_processor_start mistakenly fires when a CPU is removed from the system and then later re-added. Signed-off-by: Alok N Kataria Signed-off-by: Dan Arai Cc: Len Brown Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b47c971dc947cadecc20dc7681037e96ece520e Author: Arjan van de Ven Date: Tue Apr 8 17:41:55 2008 -0700 es1968: fix sleep-while-holding-lock bug snd_es1968_ac97_read() calls snd_es1968_ac97_wait() first outside a locked area, and later, while holding a lock. snd_es1968_ac97_wait() has a polling loop with a cond_resched() inside it.. which sleeps, so the second call is invalid. This patch adds a version of the wait function that just pure polls. While this is not very elegant in principle, it's very likely the easiest thing to do here, we already checked if the chip was ready (while yielding) just before, so it is very unlikely to take a long time here. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Arjan van de Ven Cc: Jaroslav Kysela Cc: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 41e3355de052693c7a0cad74b845148d262edadf Author: KAMEZAWA Hiroyuki Date: Tue Apr 8 17:41:54 2008 -0700 memcg: fix node_state handling This should be N_NORMAL_MEMORY. N_NORMAL_MEMORY is "true" if a node has memory for the kernel. N_HIGH_MEMORY is "true" if a node has memory for HIGHMEM. (If CONFIG_HIGHMEM=n, always "true") This check is used for testing whether we can use kmalloc_node() on a node. Then, if there is a node which only contains HIGHMEM, the system will call kmalloc_node() which doesn't contain memory for the kernel. If it happens under SLUB, the kernel will panic. I think this only happens on x86_32-numa. Signed-off-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bb070e43497d4fcfea7d8b52003fe1376c218343 Author: Krzysztof Helt Date: Tue Apr 8 17:41:52 2008 -0700 acpi thermal: fix result check thermal_zone_device_register() uses the ERR_PTR macro on its return values. A correct check is to use the IS_ERR() macro. The 2.6.25 kernels panic on Compaq AP550 without this patch as it has more then 10 (THERMAL_MAX_TRIPS) trip points (there are 12). Signed-off-by: Krzysztof Helt Cc: "Rafael J. Wysocki" Cc: Len Brown Acked-by: Zhang Rui Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef45cb624b9517f71ad6c61299478c2cc08e4d98 Author: Pete Zaitcev Date: Tue Apr 8 17:41:51 2008 -0700 ub: remove BUG() after __blk_end_request and fix the condition causing it When __blk_end_request returns nonzero, it means that the request was not completely processed and some BIOs are still attached. Since we have dequeued it by that time, it means leaking requests and hanging processes, which is why BUG() was in there. In ub this happens if a packet request ends normally, but with residue (e.g. when scsi_id issues INQUIRY). The fix is to make sure that arguments passed to __blk_end_request are correct: the full request length and not just transferred length. The transferred length is indicated to applications by adjusting rq->data_len with old, unchanged code outside of this patch. Signed-off-by: Pete Zaitcev Cc: Kiyoshi Ueda Cc: Greg KH Cc: Boaz Harrosh Cc: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed13c27e546667fb0967ae30f5070cd7f6455f90 Author: Chuck Lever Date: Mon Apr 7 16:52:44 2008 -0400 SUNRPC: Fix a memory leak in rpc_create() Commit 510deb0d was supposed to move the xprt_create_transport() call in rpc_create(), but neglected to remove the old call site. This resulted in a transport leak after every rpc_create() call. This leak is present in 2.6.24 and 2.6.25. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 240ee831187e000704cba3208ef6b0a8ad49bd64 Author: Bryan Wu Date: Tue Apr 1 20:23:39 2008 -0700 fix bug - executing FDPIC ELF on NFS mount triggers BUG() at mm/nommu.c:862:/do_mmap_private() NFS needs a NOMMU version mmap function to support uClinux on NOMMU machine http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_id=141&tracker_item_id=3992 Signed-off-by: Bryan Wu Cc: Mike Frysinger Signed-off-by: Trond Myklebust commit 66d3aac04175c35564cc5982934b68bc4f89a76d Author: Jeff Layton Date: Mon Mar 31 15:01:58 2008 -0400 NFS: initialize flags field in nfs_open_context The nfs_open_context struct had a "flags" field added recently, but the allocator isn't initializing it. It also looks like the allocator isn't initializing the mode or list either, but they seem to be overwritten by the caller, so that's less of an issue. Signed-off-by: Jeff Layton Signed-off-by: Trond Myklebust commit daeba89d43af0fa469d38a4ccdc32fff8ca17c2e Author: Trond Myklebust Date: Mon Mar 31 17:02:02 2008 -0400 SUNRPC: don't call flush_dcache_page() with an invalid pointer Fix a problem in _copy_to_pages(), whereby it may call flush_dcache_page() with an invalid pointer due to the fact that 'pgto' gets incremented beyond the end of the page array. Fix is to exit the loop without this unnecessary increment of pgto. Signed-off-by: Trond Myklebust commit 21f644f3eabde637f255f75ad05d0821a7a36b7f Author: David S. Miller Date: Tue Apr 8 16:50:44 2008 -0700 [NET]: Undo code bloat in hot paths due to print_mac(). If print_mac() is used inside of a pr_debug() the compiler can't see that the call is redundant so still performs it even of pr_debug() ends up being a nop. So don't use print_mac() in such cases in hot code paths, use MAC_FMT et al. instead. As noted by Joe Perches, pr_debug() could be modified to handle this better, but that is a change to an interface used by the entire kernel and thus needs to be validated carefully. This here is thus the less risky fix for 2.6.25 Signed-off-by: David S. Miller commit 6adb4f733e9996b4fd68a6db50dd51bd2463ccac Author: Ilpo Järvinen Date: Mon Apr 7 22:33:57 2008 -0700 [TCP]: Don't allow FRTO to take place while MTU is being probed MTU probe can cause some remedies for FRTO because the normal packet ordering may be violated allowing FRTO to make a wrong decision (it might not be that serious threat for anything though). Thus it's safer to not run FRTO while MTU probe is underway. It seems that the basic FRTO variant should also look for an skb at probe_seq.start to check if that's retransmitted one but I didn't implement it now (plain seqno in window check isn't robust against wraparounds). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 882bebaaca4bb1484078d44ef011f918c0e1e14e Author: Ilpo Järvinen Date: Mon Apr 7 22:33:07 2008 -0700 [TCP]: tcp_simple_retransmit can cause S+L This fixes Bugzilla #10384 tcp_simple_retransmit does L increment without any checking whatsoever for overflowing S+L when Reno is in use. The simplest scenario I can currently think of is rather complex in practice (there might be some more straightforward cases though). Ie., if mss is reduced during mtu probing, it may end up marking everything lost and if some duplicate ACKs arrived prior to that sacked_out will be non-zero as well, leading to S+L > packets_out, tcp_clean_rtx_queue on the next cumulative ACK or tcp_fastretrans_alert on the next duplicate ACK will fix the S counter. More straightforward (but questionable) solution would be to just call tcp_reset_reno_sack() in tcp_simple_retransmit but it would negatively impact the probe's retransmission, ie., the retransmissions would not occur if some duplicate ACKs had arrived. So I had to add reno sacked_out reseting to CA_Loss state when the first cumulative ACK arrives (this stale sacked_out might actually be the explanation for the reports of left_out overflows in kernel prior to 2.6.23 and S+L overflow reports of 2.6.24). However, this alone won't be enough to fix kernel before 2.6.24 because it is building on top of the commit 1b6d427bb7e ([TCP]: Reduce sacked_out with reno when purging write_queue) to keep the sacked_out from overflowing. Signed-off-by: Ilpo Järvinen Reported-by: Alessandro Suardi Signed-off-by: David S. Miller commit c137f3dda04b0aee1bc6889cdc69185f53df8a82 Author: Ilpo Järvinen Date: Mon Apr 7 22:32:38 2008 -0700 [TCP]: Fix NewReno's fast rexmit/recovery problems with GSOed skb Fixes a long-standing bug which makes NewReno recovery crippled. With GSO the whole head skb was marked as LOST which is in violation of NewReno procedure that only wants to mark one packet and ended up breaking our TCP code by causing counter overflow because our code was built on top of assumption about valid NewReno procedure. This manifested as triggering a WARN_ON for the overflow in a number of places. It seems relatively safe alternative to just do nothing if tcp_fragment fails due to oom because another duplicate ACK is likely to be received soon and the fragmentation will be retried. Special thanks goes to Soeren Sonnenburg who was lucky enough to be able to reproduce this so that the warning for the overflow was hit. It's not as easy task as it seems even if this bug happens quite often because the amount of outstanding data is pretty significant for the mismarkings to lead to an overflow. Because it's very late in 2.6.25-rc cycle (if this even makes in time), I didn't want to touch anything with SACK enabled here. Fragmenting might be useful for it as well but it's more or less a policy decision rather than mandatory fix. Thus there's no need to rush and we can postpone considering tcp_fragment with SACK for 2.6.26. In 2.6.24 and earlier, this very same bug existed but the effect is slightly different because of a small changes in the if conditions that fit to the patch's context. With them nothing got lost marker and thus no retransmissions happened. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 1b69d745397eac12b3f8a2eb6b799cd476aef282 Author: Ilpo Järvinen Date: Mon Apr 7 22:31:38 2008 -0700 [TCP]: Restore 2.6.24 mark_head_lost behavior for newreno/fack The fast retransmission can be forced locally to the rfc3517 branch in tcp_update_scoreboard instead of making such fragile constructs deeper in tcp_mark_head_lost. This is necessary for the next patch which must not have loopholes for cnt > packets check. As one can notice, readability got some improvements too because of this :-). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 16f2e85d3151efa643879fa5aa87c9d77d60f57e Author: Johannes Berg Date: Mon Apr 7 14:35:46 2008 +0200 nl80211: fix STA AID bug This fixes the STA AID setting and actually makes hostapd/mac80211 work properly in presence of power-saving stations. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 881400a20c3551e90eed1062cf0387fa686a2fd0 Author: Stefano Brivio Date: Sun Apr 6 17:05:07 2008 +0200 b43legacy: fix bcm4303 crash This fixes an hard crash which happened upon driver loading on bcm4303 rev. 2 devices. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit 7981a35ed0f64ca49b1a0c0acecbc9b644a8a2e3 Author: Abhijeet Kolekar Date: Fri Apr 4 14:32:01 2008 -0700 iwlwifi: fix n-band association problem This patch enables the IWL4965_HT flag (n-band) in Kconfig. Removed the "depends on n" from Kconfig for config IWL4965_HT Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3f2eeac97952b262f2b904c6150a9879777995eb Author: Daniel Drake Date: Wed Apr 2 20:33:54 2008 +0100 ipw2200: set MAC address on radiotap interface Commit bada339ba24dee9e143bfb42e1dc61f146619846 enforces that all interfaces have a valid MAC address before they are brought up. ipw2200 does not assign a MAC address to it's radiotap interface, meaning that the radiotap interface cannot be brought up in 2.6.24. https://bugs.gentoo.org/show_bug.cgi?id=215714 Fix this by copying the MAC address from the real interface. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 877cb0d4af2658beb5f89d38ae51968782f62fad Author: Holger Schurig Date: Wed Apr 2 16:34:51 2008 +0200 libertas: fix mode initialization problem After moving lbs_find_best_network_ssid() from scan.c to assoc.c gcc was able to deduce that new_mode might stay uninitialized. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 7180c4c9e09888db0a188f729c96c6d7bd61fa83 Merge: 4c3b01f... 869ab51... Author: Linus Torvalds Date: Mon Apr 7 19:15:35 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6: SELinux: more GFP_NOFS fixups to prevent selinux from re-entering the fs code commit 4c3b01f71181a52ab7735a7c52b1aa2232826075 Author: Michael Krufky Date: Sun Apr 6 20:40:17 2008 -0400 pvrusb2: fix broken build due to patch order dependency Fix broken build due to patch order dependency. A future patch requires the lines that break the current build. Disable those lines for now. Signed-off-by: Michael Krufky Acked-by: Mauro Carvalho Chehab Signed-off-by: Linus Torvalds commit 869ab5147e1eead890245cfd4f652ba282b6ac26 Author: Stephen Smalley Date: Fri Apr 4 08:46:05 2008 -0400 SELinux: more GFP_NOFS fixups to prevent selinux from re-entering the fs code More cases where SELinux must not re-enter the fs code. Called from the d_instantiate security hook. Signed-off-by: Stephen Smalley Signed-off-by: James Morris commit ff09e2afe742f3ff52a0c9a660e8a3fe30cf587c Merge: ad3c7e4... 9c5a3d7... Author: Linus Torvalds Date: Mon Apr 7 14:54:07 2008 -0700 Merge branch 'upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/ralf/upstream-linus * 'upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/ralf/upstream-linus: [MIPS] Handle aliases in vmalloc correctly. commit 9c5a3d729cf430609d091ff610a7db363aafcd47 Author: Ralf Baechle Date: Sat Apr 5 15:13:23 2008 +0100 [MIPS] Handle aliases in vmalloc correctly. flush_cache_vmap / flush_cache_vunmap were calling flush_cache_all which - having been deprecated - turned into a nop ... Signed-off-by: Ralf Baechle commit ad3c7e42e33a842cf3b518e21a7f69e167649d8a Merge: 6ea0a46... c976816... Author: Linus Torvalds Date: Mon Apr 7 14:26:53 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: siimage: fix kernel oops on PPC 44x commit c976816b6e901341ec3c4653147316c15549a1c4 Author: Sergei Shtylyov Date: Mon Apr 7 23:30:10 2008 +0200 siimage: fix kernel oops on PPC 44x Fix kernel oops due to machine check occuring in init_chipset_siimage() on PPC 44x platforms. These 32-bit CPUs have 36-bit physical address and PCI I/O and memory spaces are mapped beyond 4 GB; arch/ppc/ code has a fixup in ioremap() that creates an illusion of the PCI I/O and memory resources being mapped below 4 GB, while arch/powerpc/ code got rid of this fixup with PPC 44x having instead CONFIG_RESOURCES_64BIT=y -- this causes the resources to be truncated to 32-bit 'unsigned long' type in this driver, and so non-existant memory being ioremap'ed and then accessed... Thanks to Valentine Barshak for providing an initial patch and explanations. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 6ea0a4679d6a11c66cfeb26d15244fb6f9b52d14 Author: Anthony Liguori Date: Mon Apr 7 15:33:16 2008 -0500 virtio_net: remove overzealous printk The 'disable_cb' is really just a hint and as such, it's possible for more work to get queued up while callbacks are disabled. Under stress with an SMP guest, this printk triggers very frequently. There is no race here, this is how things are designed to work so let's just remove the printk. Signed-off-by: Anthony Liguori Acked-by: Rusty Russell Signed-off-by: Linus Torvalds commit 099c736a470c8080a166e7a089f1e48e15f9947c Author: Linus Torvalds Date: Mon Apr 7 13:20:08 2008 -0700 Revert "smc91x: fix build breakage from the SMC_GET_MAC_ADDR API upgrade" This reverts commit 9e6db60825ef7e7999abc610ce256ba768e58162, which was merged without the API it needed, causing build breakage. Reported-by: Bryan Wu Acked-by: Jeff Garzik Signed-off-by: Linus Torvalds commit 950b0d28378c4ee63a30dad732a8319c8a41c95d Merge: 2557a93... 871de93... Author: Linus Torvalds Date: Mon Apr 7 13:14:37 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: x86: fix 64-bit asm NOPS for CONFIG_GENERIC_CPU x86: fix call to set_cyc2ns_scale() from time_cpufreq_notifier() revert "x86: tsc prevent time going backwards" commit 2557a933b795c1988c721ebb871cd735128bb9cb Author: Rusty Russell Date: Mon Apr 7 14:30:28 2008 +1000 virtio: remove overzealous BUG_ON. The 'disable_cb' callback is designed as an optimization to tell the host we don't need callbacks now. As it is not reliable, the debug check is overzealous: it can happen on two CPUs at the same time. Document this. Even if it were reliable, the virtio_net driver doesn't disable callbacks on transmit so the START_USE/END_USE debugging reentrance protection can be easily tripped even on UP. Thanks to Balaji Rao for the bug report and testing. Signed-off-by: Rusty Russell CC: Balaji Rao Signed-off-by: Linus Torvalds commit 871de939030c903fd5ed50a7c4c88e02998e1cbc Author: Suresh Siddha Date: Mon Apr 7 11:56:34 2008 -0700 x86: fix 64-bit asm NOPS for CONFIG_GENERIC_CPU ASM_NOP's for 64-bit kernel with CONFIG_GENERIC_CPU is broken with the recent x86 nops merge. They were using GENERIC_NOPS which will truncate the upper 32bits of %rsi, because of the missing 64bit rex prefix. For now, fall back ASM NOPS for generic cpu to K8 NOPS, similar to the code before the wrong x86 nop merge. This should resolve the crash seen by Ingo on a test-system: BUG: unable to handle kernel paging request at 00000000d80d8ee8 IP: [] save_i387_ia32+0x61/0xd8 PGD b8e0067 PUD 51490067 PMD 0 Oops: 0000 [1] SMP CPU 2 Modules linked in: Pid: 3871, comm: distcc Not tainted 2.6.25-rc7-sched-devel.git-x86-latest.git #359 RIP: 0010:[] [] save_i387_ia32+0x61/0xd8 RSP: 0000:ffff81003abd3cb8 EFLAGS: 00010246 RAX: ffff810082e93400 RBX: 00000000ffc37f84 RCX: ffff8100d80d8ee0 RDX: 0000000000000000 RSI: 00000000d80d8ee0 RDI: ffff810082e93400 RBP: 00000000ffc37fdc R08: 00000000ffc37f88 R09: 0000000000000008 R10: ffff81003abd2000 R11: 0000000000000000 R12: ffff810082e93400 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff81011fb12dc0(0063) knlGS:00000000f7f1a6c0 CS: 0010 DS: 002b ES: 002b CR0: 0000000080050033 CR2: 00000000d80d8ee8 CR3: 0000000076922000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process distcc (pid: 3871, threadinfo ffff81003abd2000, task ffff8100d80d8ee0) Stack: ffff8100bb670380 ffffffff8026de50 0000000000000118 0000000000000002 0000000000000002 ffff81003abd3e68 ffff81003abd3ed8 ffff81003abd3de8 ffff81003abd3d18 ffffffff80229785 ffff8100d80d8ee0 ffff810001041280 Call Trace: [] ? __generic_file_aio_write_nolock+0x343/0x377 [] ? update_curr+0x54/0x64 [] ? ia32_setup_sigcontext+0x125/0x1d2 [] ? ia32_setup_frame+0x73/0x1a5 [] ? do_notify_resume+0x1aa/0x7db [] ? getnstimeofday+0x31/0x85 [] ? ktime_get_ts+0x17/0x48 [] ? ktime_get+0xc/0x41 [] ? hrtimer_nanosleep+0x75/0xd5 [] ? hrtimer_wakeup+0x0/0x21 [] ? int_signal+0x12/0x17 [] ? dummy_file_free_security+0x0/0x1 Code: a6 08 05 00 00 f6 40 14 01 74 34 4c 89 e7 48 0f ae 07 48 8b 86 08 05 00 00 80 78 02 00 79 02 db e2 90 8d b4 26 00 00 00 00 89 f6 <48> 8b 46 08 83 60 14 fe 0f 20 c0 48 83 c8 08 0f 22 c0 eb 07 c6 Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit 4f41c94d5c24e3b3453e9df03c0a80ca1acf00d2 Author: Karsten Wiese Date: Mon Apr 7 12:14:45 2008 +0200 x86: fix call to set_cyc2ns_scale() from time_cpufreq_notifier() In time_cpufreq_notifier() the cpu id to act upon is held in freq->cpu. Use it instead of smp_processor_id() in the call to set_cyc2ns_scale(). This makes the preempt_*able() unnecessary and lets set_cyc2ns_scale() update the intended cpu's cyc2ns. Related mail/thread: http://lkml.org/lkml/2007/12/7/130 Signed-off-by: Karsten Wiese Signed-off-by: Ingo Molnar commit 5b13d863573e746739ccfc24ac1a9473cfee8df1 Author: Ingo Molnar Date: Mon Apr 7 20:58:08 2008 +0200 revert "x86: tsc prevent time going backwards" revert: | commit 47001d603375f857a7fab0e9c095d964a1ea0039 | Author: Thomas Gleixner | Date: Tue Apr 1 19:45:18 2008 +0200 | | x86: tsc prevent time going backwards it has been identified to cause suspend regression - and the commit fixes a longstanding bug that existed before 2.6.25 was opened - so it can wait some more until the effects are better understood. Signed-off-by: Ingo Molnar commit 4cac04dd63fa3b202ee313ed1afbbd135ab887ee Merge: e1c287b... bfe87db... Author: Linus Torvalds Date: Mon Apr 7 08:36:57 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: fix endian lossage in forcedeth net/tokenring/olympic.c section fixes net: marvell.c fix sparse shadowed variable warning [VLAN]: Fix egress priority mappings leak. [TG3]: Add PHY workaround for 5784 [NET]: srandom32 fixes for networking v2 [IPV6]: Fix refcounting for anycast dst entries. [IPV6]: inet6_dev on loopback should be kept until namespace stop. [IPV6]: Event type in addrconf_ifdown is mis-used. [ICMP]: Ensure that ICMP relookup maintains status quo commit e1c287b992d30dab86f1b1bfe1780d9d3a652b34 Merge: 4a72ef9... ad4f957... Author: Linus Torvalds Date: Mon Apr 7 08:36:37 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64]: Fix user accesses in regset code. [SPARC64]: Fix FPU saving in 64-bit signal handling. commit 4a72ef9f7ad36ea0fb3b42f31b2b0c5b9871969a Merge: 28b8383... 92c9d07... Author: Linus Torvalds Date: Sun Apr 6 16:12:24 2008 -0700 Merge branch 'pci_id_updates' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb * 'pci_id_updates' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: V4L/DVB (7497): pvrusb2: add new usb pid for 73xxx models V4L/DVB (7496): pvrusb2: add new usb pid for 75xxx models commit 28b8383d5d4d9b636c3734c993563bafdc2ab3c3 Merge: c28cf0f... a80c5aa... Author: Linus Torvalds Date: Sun Apr 6 16:11:57 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb * git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: V4L/DVB (7499): v4l/dvb Kconfig: Fix bugzilla #10067 V4L/DVB (7495): s5h1409: fix blown-away bit in function s5h1409_set_gpio V4L/DVB (7460): bttv: Bt832 - fix possible NULL pointer deref commit c28cf0fdcd38e912fa72258d78cb213b716247d6 Merge: 64ba4f2... cc1020f... Author: Linus Torvalds Date: Sun Apr 6 16:11:22 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] it8712f_wdt Zero MSB timeout byte when disabling watchdog commit 64ba4f230d30b089bc89db2e59d02c1efa5ac769 Author: Rusty Russell Date: Sun Apr 6 17:23:38 2008 +1000 Fix booting pentium+ with dodgy TSC We handle a broken tsc these days, so no need to panic. We clear the TSC bit when tsc_init decides it's unreliable (eg. under lguest w/ bad host TSC), leading to bogus panic. Signed-off-by: Rusty Russell Acked-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 3bf48468fe84468a148e4f19465e0a725c0f977b Author: Jesse Barnes Date: Sun Apr 6 11:55:04 2008 -0700 fix IS_I9XX macro in i915 DRM driver Now that we're mapping registers in the DRM driver at load time, the driver actually checks the PCI ID, so we need to make sure the macros have all the right bits (and longer term use the DRM headers as the sole copy of the PCI & register definitions). This patch adds 945GME support to the DRM headers, fixing a regression reported in http://bugzilla.kernel.org/show_bug.cgi?id=10395. Tested-by: Alexander Oltu Signed-off-by: Jesse Barnes Signed-off-by: Linus Torvalds commit 164fc5dcd6a1026fc713f5c63fad899aa484888c Author: Hugh Dickins Date: Sun Apr 6 23:56:57 2008 +0100 scsi: fix sense_slab/bio swapping livelock Since 2.6.25-rc7, I've been seeing an occasional livelock on one x86_64 machine, copying kernel trees to tmpfs, paging out to swap. Signature: 6000 pages under writeback but never getting written; most tasks of interest trying to reclaim, but each get_swap_bio waiting for a bio in mempool_alloc's io_schedule_timeout(5*HZ); every five seconds an atomic page allocation failure report from kblockd failing to allocate a sense_buffer in __scsi_get_command. __scsi_get_command has a (one item) free_list to protect against this, but rc1's [SCSI] use dynamically allocated sense buffer de25deb18016f66dcdede165d07654559bb332bc upset that slightly. When it fails to allocate from the separate sense_slab, instead of giving up, it must fall back to the command free_list, which is sure to have a sense_buffer attached. Either my earlier -rc testing missed this, or there's some recent contributory factor. One very significant factor is SLUB, which merges slab caches when it can, and on 64-bit happens to merge both bio cache and sense_slab cache into kmalloc's 128-byte cache: so that under this swapping load, bios above are liable to gobble up all the slots needed for scsi_cmnd sense_buffers below. That's disturbing behaviour, and I tried a few things to fix it. Adding a no-op constructor to the sense_slab inhibits SLUB from merging it, and stops all the allocation failures I was seeing; but it's rather a hack, and perhaps in different configurations we have other caches on the swapout path which are ill-merged. Another alternative is to revert the separate sense_slab, using cache-line-aligned sense_buffer allocated beyond scsi_cmnd from the one kmem_cache; but that might waste more memory, and is only a way of diverting around the known problem. While I don't like seeing the allocation failures, and hate the idea of all those bios piled up above a scsi host working one by one, it does seem to emerge fairly soon with the livelock fix. So lacking better ideas, stick with that one clear fix for now. Signed-off-by: Hugh Dickins Cc: James Bottomley Cc: Andrew Morton Cc: FUJITA Tomonori Cc: Jens Axboe Cc: Christoph Lameter Cc: Pekka Enberg Cc: Peter Zijlstra Cc: Rafael J. Wysocki Signed-off-by: Linus Torvalds commit 92c9d07507f0a90b64172bfede7e6fa845e8e66b Author: Michael Krufky Date: Sat Mar 15 23:59:29 2008 -0300 V4L/DVB (7497): pvrusb2: add new usb pid for 73xxx models Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit dd6e9467e0a7ddf02788f30adfe1cf2851c25fb8 Author: Michael Krufky Date: Sat Mar 8 06:07:38 2008 -0300 V4L/DVB (7496): pvrusb2: add new usb pid for 75xxx models Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a80c5aa6da485da63def31442a19cdd6ff495ce6 Author: Mauro Carvalho Chehab Date: Thu Apr 3 20:08:04 2008 -0300 V4L/DVB (7499): v4l/dvb Kconfig: Fix bugzilla #10067 tda8290 breaks if tuner is selected, but CONFIG_DVB=n. Signed-off-by: Mauro Carvalho Chehab commit 8e08af3c30b4e5f59adff0baa33fd346227b45e2 Author: Michael Krufky Date: Wed Apr 2 22:14:41 2008 -0300 V4L/DVB (7495): s5h1409: fix blown-away bit in function s5h1409_set_gpio Preserve all other bits when setting gpio. Signed-off-by: Michael Krufky Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 4a8f3a5727c589a59bcaaca43dc1025b347b7a75 Author: Cyrill Gorcunov Date: Tue Apr 1 16:48:23 2008 -0300 V4L/DVB (7460): bttv: Bt832 - fix possible NULL pointer deref This patch does fix potential NULL pointer dereference Signed-off-by: Cyrill Gorcunov Signed-off-by: Mauro Carvalho Chehab commit cc1020f15ad0f843c0111bf4b77bdfaabca79571 Author: Andrew Paprocki Date: Wed Apr 2 02:43:19 2008 -0400 [WATCHDOG] it8712f_wdt Zero MSB timeout byte when disabling watchdog I noticed this while testing the latest code. I'm not sure if it is required, but the normal (or LSB) timeout value is set to zero, so the MSB should be as well to stay consistent. If the chip revision is >= 8, set MSB of the 16-bit timeout value to zero when disabling the watchdog in it8712f_wdt_disable(). Signed-off-by: Andrew Paprocki Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit 797de7bdb253624c16144f40b72ec65d63cdcca2 Author: Linus Torvalds Date: Sat Apr 5 12:14:13 2008 -0700 Revert "ACPI: Ignore _BQC object when registering backlight device" This reverts commit 7c0ea45be4f114d85ee35caeead8e1660699c46f which caused a regression with the backlight being set to off when a laptop doesn't have a _BQC entry to query the actual backlight value. The code blindly then falls back on a value of 0. See http://bugzilla.kernel.org/show_bug.cgi?id=10387 http://lkml.org/lkml/2008/4/2/366 for details. Bisected-and-reported-by: Andrey Borzenkov Cc: Zhao Yakui Cc: Zhang Rui Cc: Len Brown Signed-off-by: Linus Torvalds commit 6fdf5e67fe8d3c83500dad9acae985132c2459a3 Merge: abd24df... e64a3cf... Author: Linus Torvalds Date: Fri Apr 4 15:09:44 2008 -0700 Merge branch 'upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/ralf/upstream-linus * 'upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/ralf/upstream-linus: [MIPS] Make KGDB compile on UP [MIPS] Pb1200: Fix header breakage commit bfe87dbc7b4da5b05a1a78480e996787a500cc6f Merge: 2355632... 30ecce9... Author: David S. Miller Date: Fri Apr 4 15:00:52 2008 -0700 Merge branch 'upstream-davem' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit abd24df828f1a72971db29d1b74fefae104ea9e2 Author: Carol Hebert Date: Fri Apr 4 14:30:03 2008 -0700 ipmi: change device node ordering to reflect probe order In 2.6.14 a patch was merged which switching the order of the ipmi device naming from in-order-of-discovery over to reverse-order-of-discovery. So on systems with multiple BMC interfaces, the ipmi device names are being created in reverse order relative to how they are discovered on the system (e.g. on an IBM x3950 multinode server with N nodes, the device name for the BMC in the first node is /dev/ipmiN-1 and the device name for the BMC in the last node is /dev/ipmi0, etc.). The problem is caused by the list handling routines chosen in dmi_scan.c. Using list_add() causes the multiple ipmi devices to be added to the device list using a stack-paradigm and so the ipmi driver subsequently pulls them off during initialization in LIFO order. This patch changes the dmi_save_ipmi_device() list handling paradigm to a queue, thereby allowing the ipmi driver to build the ipmi device names in the order in which they are found on the system. Signed-off-by: Carol Hebert Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb6d080c6f75dfd7e23d5a3575334785aa8738eb Author: Alexey Korolev Date: Fri Apr 4 14:30:01 2008 -0700 mtd: fix broken state in CFI driver caused by FL_SHUTDOWN THe CFI driver in 2.6.24 kernel is broken. Not so intensive read/write operations cause incomplete writes which lead to kernel panics in JFFS2. We investigated the issue - it is caused by bug in FL_SHUTDOWN parsing code. Sometimes chip returns -EIO as if it is in FL_SHUTDOWN state when it should wait in FL_PONT (error in order of conditions). The following patch fixes the bug in state parsing code of CFI. Also I've added comments to notify developers if they want to add new case in future. Signed-off-by: Alexey Korolev Reviewed-by: Joern Engel Cc: David Woodhouse Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4077960e2a38ec59096ff993cd080056e17f3707 Author: Balbir Singh Date: Fri Apr 4 14:29:59 2008 -0700 memory controller: make memory resource control aware of boot options A boot option for the memory controller was discussed on lkml. It is a good idea to add it, since it saves memory for people who want to turn off the memory controller. By default the option is on for the following two reasons: 1. It provides compatibility with the current scheme where the memory controller turns on if the config option is enabled 2. It allows for wider testing of the memory controller, once the config option is enabled We still allow the create, destroy callbacks to succeed, since they are not aware of boot options. We do not populate the directory will memory resource controller specific files. Signed-off-by: Balbir Singh Cc: Paul Menage Cc: Balbir Singh Cc: Pavel Emelyanov Cc: KAMEZAWA Hiroyuki Cc: Hugh Dickins Cc: Sudhir Kumar Cc: YAMAMOTO Takashi Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8bab8dded67d026c39367bbd5e27d2f6c556c38e Author: Paul Menage Date: Fri Apr 4 14:29:57 2008 -0700 cgroups: add cgroup support for enabling controllers at boot time The effects of cgroup_disable=foo are: - foo isn't auto-mounted if you mount all cgroups in a single hierarchy - foo isn't visible as an individually mountable subsystem As a result there will only ever be one call to foo->create(), at init time; all processes will stay in this group, and the group will never be mounted on a visible hierarchy. Any additional effects (e.g. not allocating metadata) are up to the foo subsystem. This doesn't handle early_init subsystems (their "disabled" bit isn't set be, but it could easily be extended to do so if any of the early_init systems wanted it - I think it would just involve some nastier parameter processing since it would occur before the command-line argument parser had been run. Hugh said: Ballpark figures, I'm trying to get this question out rather than processing the exact numbers: CONFIG_CGROUP_MEM_RES_CTLR adds 15% overhead to the affected paths, booting with cgroup_disable=memory cuts that back to 1% overhead (due to slightly bigger struct page). I'm no expert on distros, they may have no interest whatever in CONFIG_CGROUP_MEM_RES_CTLR=y; and the rest of us can easily build with or without it, or apply the cgroup_disable=memory patches. Unix bench's execl test result on x86_64 was == just after boot without mounting any cgroup fs.== mem_cgorup=off : Execl Throughput 43.0 3150.1 732.6 mem_cgroup=on : Execl Throughput 43.0 2932.6 682.0 == [lizf@cn.fujitsu.com: fix boot option parsing] Signed-off-by: Balbir Singh Cc: Paul Menage Cc: Balbir Singh Cc: Pavel Emelyanov Cc: KAMEZAWA Hiroyuki Cc: Hugh Dickins Cc: Sudhir Kumar Cc: YAMAMOTO Takashi Cc: David Rientjes Signed-off-by: Li Zefan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e64a3cfcd929d093a2f076bcace9afa7ba5a2e32 Author: Sergei Shtylyov Date: Thu Mar 20 20:59:34 2008 +0300 [MIPS] Make KGDB compile on UP Building UP kernel with KGDB enabled produces the following errors and warning (fatal due to -Werror in arch/mips/kernel/Makefile): In file included from arch/mips/kernel/gdb-stub.c:142: include/asm/smp.h:25:1: "raw_smp_processor_id" redefined In file included from include/linux/sched.h:69, from arch/mips/kernel/gdb-stub.c:126: include/linux/smp.h:88:1: this is the location of the previous definition In file included from arch/mips/kernel/gdb-stub.c:142: include/asm/smp.h:62: error: redefinition of 'smp_send_reschedule' include/linux/smp.h:102: error: previous definition of 'smp_send_reschedule' was here include/asm/smp.h: In function `smp_send_reschedule': include/asm/smp.h:65: error: dereferencing pointer to incomplete type arch/mips/kernel/gdb-stub.c: At top level: arch/mips/kernel/gdb-stub.c:660: warning: 'kgdb_wait' defined but not used Fix the errors by not directly including (which is already included by ) and the warning by enclosing kgdb_wait() in #ifdef CONFIG_SMP. Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit 865ab8753837b73fe1e800fc88462c5914eec549 Author: Sergei Shtylyov Date: Wed Apr 2 23:53:19 2008 +0400 [MIPS] Pb1200: Fix header breakage Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit 3a143125ddc4e2e0ca1e67fb4bedd45c36e59cc7 Merge: a1aa758... 5761d64... Author: Linus Torvalds Date: Fri Apr 4 14:42:58 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: x86: revert assign IRQs to hpet timer x86: tsc prevent time going backwards xen: Clear PG_pinned in release_{pt,pd}() xen: Do not pin/unpin PMD pages xen: refactor xen_{alloc,release}_{pt,pd}() x86, agpgart: scary messages are fortunately obsolete xen: fix grant table bug x86: fix breakage of vSMP irq operations x86: print message if nmi_watchdog=2 cannot be enabled x86: fix nmi_watchdog=2 on Pentium-D CPUs commit a1aa758d0019f2ac4ea558b3987a07c12fa19f61 Author: Geert Uytterhoeven Date: Fri Apr 4 14:58:42 2008 +0200 m68k: update defconfigs for 2.6.25 Long overdue update of the m68k defconfigs Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit ef85ecbf1179157e765f42c7545bc32b56ce3cb4 Author: Adrian Bunk Date: Fri Apr 4 14:57:38 2008 +0200 m68k: use KBUILD_DEFCONFIG The default defconfig should be one from arch/m68k/configs/ arch/m68k/defconfig was not exactly identical to amiga_defconfig but also considering how long they have been without any update that doesn't seem to have been on purpose. Signed-off-by: Adrian Bunk Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 7a5ac8def9e0c77803c302b63c3f29e31a610415 Merge: 1be62dc... 8243e63... Author: Linus Torvalds Date: Fri Apr 4 14:40:04 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: pata_ali: disable ATAPI DMA libata: ATA_12/16 doesn't fall into ATAPI_MISC libata: uninline atapi_cmd_type() libata: fix IDENTIFY order in ata_bus_probe() commit 1be62dc190ebaca331038962c873e7967de6cc4b Author: Linus Torvalds Date: Fri Apr 4 14:38:17 2008 -0700 Be more careful about marking buffers dirty Mikulas Patocka noted that the optimization where we check if a buffer was already dirty (and we avoid re-dirtying it) was not really SMP-safe. Since the read of the old status was not synchronized with anything, an aggressive CPU re-ordering of memory accesses might have moved that read up to before the data was even written to the buffer, and another CPU that cleaned it again, causing the newly dirty state to never actually hit the disk. Admittedly this would probably never trigger in practice, but it's still wrong. Mikulas sent a patch that fixed the problem, but I dislike the subtlety of the whole optimization, so this is an alternate fix that is more explicit about the particular SMP ordering for the optimization, and separates out the speculative reads of the buffer state into its own conditional (and makes the memory barrier only happen if we are likely to actually hit the optimized case in the first place). I considered removing the optimization entirely, but Andrew argued for it's continued existence. I'm a push-over. Cc: Mikulas Patocka Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 4ed919014eb2b591eb8fdd4dd00226a65faddef4 Author: Linus Torvalds Date: Fri Apr 4 14:30:31 2008 -0700 parport_pc: make sure to release IO ports after probing for IT87XX Commit f63fd7e299ee13da071ecfce2b90b58c5e1562b1 ("parport_pc: detection for SuperIO IT87XX POST") only released the IO port region on success, not when the probe for the IT87XX chip failed. That caused not only a reserved region to leak, but also caused an oops when the driver module was unloaded and somebody tried to cat /proc/ioports - because the string that was assigned to the IO port region was a static string in the module virtual address area. Reported-by: Lubos Lunak Cc: Jan Kara Cc: Petr Cvek Acked-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30ecce908b944079181938e61ddbc00c8b23798c Author: Al Viro Date: Wed Mar 26 05:57:12 2008 +0000 fix endian lossage in forcedeth a) if you initialize something with le32_to_cpu(...), then |= it with host-endian and feed to cpu_to_le32(), it's most definitely *not* __le32. As sparse would've told you... b) the whole sequence is |= cpu_to_le32(host-endian constant) Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit e28e3a614cedb11637f6cc7a30f0812963df62fe Author: Adrian Bunk Date: Mon Mar 31 01:40:04 2008 +0300 net/tokenring/olympic.c section fixes My previous section fix only turned one section problem into another section problem. This patch fixes it for real. Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 5da4e37e59663bd1e9eae1d717e2ceb178a485b8 Author: Harvey Harrison Date: Wed Apr 2 17:33:35 2008 -0700 net: marvell.c fix sparse shadowed variable warning The other if blocks don't redeclare temp, remove the redeclaration in the final if() block. drivers/net/phy/marvell.c:214:7: warning: symbol 'temp' shadows an earlier one drivers/net/phy/marvell.c:160:6: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Jeff Garzik commit 23556323b22fef35bdc36465b7e7439ba3748c9f Author: Pavel Emelyanov Date: Fri Apr 4 12:45:12 2008 -0700 [VLAN]: Fix egress priority mappings leak. These entries are allocated in vlan_dev_set_egress_priority, but are never released and leaks on vlan device removal. Drop these in vlan's ->uninit callback - after the device is brought down and everyone is notified about it is going to be unregistered. Found during testing vlan netnsization patchset. Signed-off-by: Pavel Emelyanov Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 5761d64b277c287a7520b868c32d656ef03374b4 Author: Thomas Gleixner Date: Fri Apr 4 16:26:10 2008 +0200 x86: revert assign IRQs to hpet timer The commits: commit 37a47db8d7f0f38dac5acf5a13abbc8f401707fa Author: Balaji Rao Date: Wed Jan 30 13:30:03 2008 +0100 x86: assign IRQs to HPET timers, fix and commit e3f37a54f690d3e64995ea7ecea08c5ab3070faf Author: Balaji Rao Date: Wed Jan 30 13:30:03 2008 +0100 x86: assign IRQs to HPET timers have been identified to cause a regression on some platforms due to the assignement of legacy IRQs which makes the legacy devices connected to those IRQs disfunctional. Revert them. This fixes http://bugzilla.kernel.org/show_bug.cgi?id=10382 Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 47001d603375f857a7fab0e9c095d964a1ea0039 Author: Thomas Gleixner Date: Tue Apr 1 19:45:18 2008 +0200 x86: tsc prevent time going backwards We already catch most of the TSC problems by sanity checks, but there is a subtle bug which has been in the code for ever. This can cause time jumps in the range of hours. This was reported in: http://lkml.org/lkml/2007/8/23/96 and http://lkml.org/lkml/2008/3/31/23 I was able to reproduce the problem with a gettimeofday loop test on a dual core and a quad core machine which both have sychronized TSCs. The TSCs seems not to be perfectly in sync though, but the kernel is not able to detect the slight delta in the sync check. Still there exists an extremly small window where this delta can be observed with a real big time jump. So far I was only able to reproduce this with the vsyscall gettimeofday implementation, but in theory this might be observable with the syscall based version as well. CPU 0 updates the clock source variables under xtime/vyscall lock and CPU1, where the TSC is slighty behind CPU0, is reading the time right after the seqlock was unlocked. The clocksource reference data was updated with the TSC from CPU0 and the value which is read from TSC on CPU1 is less than the reference data. This results in a huge delta value due to the unsigned subtraction of the TSC value and the reference value. This algorithm can not be changed due to the support of wrapping clock sources like pm timer. The huge delta is converted to nanoseconds and added to xtime, which is then observable by the caller. The next gettimeofday call on CPU1 will show the correct time again as now the TSC has advanced above the reference value. To prevent this TSC specific wreckage we need to compare the TSC value against the reference value and return the latter when it is larger than the actual TSC value. I pondered to mark the TSC unstable when the readout is smaller than the reference value, but this would render an otherwise good and fast clocksource unusable without a real good reason. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c946c7de49a9ba50bc205d6359b41bbc8f01174c Author: Mark McLoughlin Date: Wed Apr 2 15:36:38 2008 +0100 xen: Clear PG_pinned in release_{pt,pd}() Signed-off-by: Mark McLoughlin Cc: xen-devel@lists.xensource.com Cc: Mark McLoughlin Cc: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit a684d69d15a8fafede7c5c0daac8c646bbee805c Author: Mark McLoughlin Date: Wed Apr 2 15:36:37 2008 +0100 xen: Do not pin/unpin PMD pages i.e. with this simple test case: int fd = open("/dev/zero", O_RDONLY); munmap(mmap((void *)0x40000000, 0x1000_LEN, PROT_READ, MAP_PRIVATE, fd, 0), 0x1000); close(fd); we currently get: kernel BUG at arch/x86/xen/enlighten.c:678! ... EIP is at xen_release_pt+0x79/0xa9 ... Call Trace: [] ? __pmd_free_tlb+0x1a/0x75 [] ? free_pgd_range+0x1d2/0x2b5 [] ? free_pgtables+0x7e/0x93 [] ? unmap_region+0xb9/0xf5 [] ? do_munmap+0x193/0x1f5 [] ? sys_munmap+0x30/0x3f [] ? syscall_call+0x7/0xb ======================= and xen complains: (XEN) mm.c:2241:d4 Mfn 1cc37 not pinned Further details at: https://bugzilla.redhat.com/436453 Signed-off-by: Mark McLoughlin Cc: xen-devel@lists.xensource.com Cc: Mark McLoughlin Cc: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f64337062c09c2c318fbcbf44ed1d739e8bc72ab Author: Mark McLoughlin Date: Wed Apr 2 15:36:36 2008 +0100 xen: refactor xen_{alloc,release}_{pt,pd}() Signed-off-by: Mark McLoughlin Cc: xen-devel@lists.xensource.com Cc: Mark McLoughlin Cc: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 8f59610de2fb244b5bc1a3feafd328a8d4d511d6 Author: Pavel Machek Date: Tue Apr 1 14:24:03 2008 +0200 x86, agpgart: scary messages are fortunately obsolete Fix obsolete printks in aperture-64. We used not to handle missing agpgart, but we handle it okay now. Signed-off-by: Pavel Machek Signed-off-by: Ingo Molnar commit bbc60c18ed17df75270da504bbd8f7bc4a52d43d Author: Michael Abd-El-Malek Date: Fri Apr 4 02:33:48 2008 -0700 xen: fix grant table bug fix memory corruption and crash due to mis-sized grant table. A PV OS has two grant table data structures: the grant table itself and a free list. The free list is composed of an array of pages, which grow dynamically as the guest OS requires more grants. While the grant table contains 8-byte entries, the free list contains 4-byte entries. So we have half as many pages in the free list than in the grant table. There was a bug in the free list allocation code. The free list was indexed as if it was the same size as the grant table. But it's only half as large. So memory got corrupted, and I was seeing crashes in the slab allocator later on. Taken from: http://xenbits.xensource.com/linux-2.6.18-xen.hg?rev/4018c0da3360 Signed-off-by: Michael Abd-El-Malek Signed-off-by: Mark McLoughlin Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit bae1d2507e44417455eda76d4435352fee14cf51 Author: Ravikiran G Thirumalai Date: Fri Apr 4 03:06:29 2008 -0700 x86: fix breakage of vSMP irq operations 25-rc* stopped working with CONFIG_X86_VSMP on vSMP machines. Looks like the vsmp irq ops got accidentally removed during merge of x86_64 pvops in 2.6.25. -- commit 6abcd98ffafbff81f0bfd7ee1d129e634af13245 removed vsmp irq ops. Tested with both CONFIG_X86_VSMP and without CONFIG_X86_VSMP, on vSMP and non vSMP x86_64 machines. Please apply. Signed-off-by: Ravikiran Thirumalai Signed-off-by: Ingo Molnar commit 9c9b81f77330ddc003a2de2f35fa6a20410c1a62 Author: Ingo Molnar Date: Thu Mar 27 23:39:42 2008 +0100 x86: print message if nmi_watchdog=2 cannot be enabled right now if there's no CPU support for nmi_watchdog=2 we'll just refuse it silently. print a useful warning. Signed-off-by: Ingo Molnar commit 4f14bdef41e599e218d71e3d0abf339d65e9b480 Author: Ingo Molnar Date: Thu Mar 27 23:37:58 2008 +0100 x86: fix nmi_watchdog=2 on Pentium-D CPUs implement nmi_watchdog=2 on this class of CPUs: cpu family : 15 model : 6 model name : Intel(R) Pentium(R) D CPU 3.00GHz the watchdog's ->setup() method is safe anyway, so if the CPU cannot support it we'll bail out safely. Signed-off-by: Ingo Molnar commit 8243e636c060fe7c10c9cf3bf53fdd2d48901525 Author: Tejun Heo Date: Thu Apr 3 14:40:55 2008 +0900 pata_ali: disable ATAPI DMA ATAPI DMA just doesn't work reliably on pata_ali. The IDE driver can do it but for some mysterious reason, pata_ali can't. This patch disables it by default and makes the driver whine during initialization. "pata_ali.atapi_dma" parameter is added so that user can bypass the workaround. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit e52dcc4899cf1b7601379c31542bd91cd2997a64 Author: Tejun Heo Date: Wed Apr 2 17:35:19 2008 +0900 libata: ATA_12/16 doesn't fall into ATAPI_MISC SAT passthrus don't really fit into ATAPI_MISC class. SAT passthru commands always transfer multiple of 512 bytes and variable length response is not allowed. This patch creates a separate category - ATAPI_PASS_THRU - for these. This fixes HSM violation on "hdparm -I". Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 436d34b36202ef724778ded1e9cb10f8c37b32bc Author: Tejun Heo Date: Wed Apr 2 17:28:46 2008 +0900 libata: uninline atapi_cmd_type() Uninline atapi_cmd_type(). It doesn't really have to be inline and more case will be added which need to access unexported libata variable. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit a4ba7fe2a6c2b61419b290035bff398ab2591c54 Author: Bartlomiej Zolnierkiewicz Date: Wed Apr 2 10:35:15 2008 +0900 libata: fix IDENTIFY order in ata_bus_probe() Commit f58229f8060055b08b34008ea08f31de1e2f003c accidentally made ata_bus_probe() not use reverse order probing. Fix it. There currently isn't any PATA driver which uses obsolete ata_bus_probe() path, so this patch is mainly for correctness. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit b2a5c19ca0315723cecb9489ff8b67c4f17367b4 Author: Matt Carlson Date: Thu Apr 3 21:44:44 2008 -0700 [TG3]: Add PHY workaround for 5784 The 5784 B step and newer chips require the PHY DSPs to be fine-tuned based on one-time programmable values stored in the chip. This is essential to achieve optimal PHY operations especially when using long cables. We also need to properly handle the 10Mbit RX bit in the CPMU_CTRL register during PHY reset. Update version to 3.89. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit ad4f95764040077f16ebf24559d5a06f8fb133bc Author: David S. Miller Date: Thu Apr 3 16:55:14 2008 -0700 [SPARC64]: Fix user accesses in regset code. If target is not current we need to use access_process_vm(). Noticed by Roland McGrath. Signed-off-by: David S. Miller commit e315c121a858499d84dc88c499046b9f10bb61ec Merge: 4ba51fd... a02fe13... Author: Linus Torvalds Date: Thu Apr 3 16:28:57 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6: selinux: prevent rentry into the FS commit 4ba51fd75cc3789be83f0d6f878dabbb0cb19bca Author: Roland McGrath Date: Thu Apr 3 14:18:55 2008 -0700 x86 ptrace: avoid unnecessary wrmsr This avoids using wrmsr on MSR_IA32_DEBUGCTLMSR when it's not needed. No wrmsr ever needs to be done if noone has ever used block stepping. Without this change, using ptrace on 2.6.25 on an x86 KVM guest will tickle KVM's missing support for the MSR and crash the guest kernel. Though host KVM is the buggy one, this makes for a regression in the guest behavior from 2.6.24->2.6.25 that we can easily avoid. I also corrected some bad whitespace. Signed-off-by: Roland McGrath Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Linus Torvalds commit 2eccd6f65a0d4844318b1e30755cafd063833908 Merge: cd1d2d2... 0035a1d... Author: Linus Torvalds Date: Thu Apr 3 15:41:32 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: appletouch - add product IDs for the 4th generation MacBooks commit cd1d2d279a4b149301ef0316d12ba4b29424a802 Merge: 9f389f4... 8d81394... Author: Linus Torvalds Date: Thu Apr 3 15:41:10 2008 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] Fix MPC5200 (not B!) device tree so FEC ethernet works [POWERPC] mpc5200: Amalgamated DTS fixes and updates [POWERPC] Fix rtas_flash procfs interface [POWERPC] Fix deadlock with mmu_hash_lock in hash_page_sync [POWERPC] Fix iSeries hard irq enabling regression [POWERPC] Fix CPM2 SCC1 clock initialization. [POWERPC] Fix defconfigs so we dont set both GENRTC and RTCLIB [POWERPC] fsldma: Use compatiable binding as spec [POWERPC] sata_fsl: reduce compatibility to fsl,pq-sata [POWERPC] 83xx: enable usb in 837x rdb and 83xx defconfigs [POWERPC] 83xx: Fix wrong USB phy type in mpc837xrdb dts commit 9f389f4b2016e0aa35cd9cbb5afcd55d58e0c56a Author: Sven Schnelle Date: Thu Apr 3 10:45:30 2008 +0100 rxrpc: remove smp_processor_id() from debug macro Signed-off-by: Sven Schnelle Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit ad16df848d7f84a1b7cea92edd515815ea4ccf0f Author: Sven Schnelle Date: Thu Apr 3 10:44:01 2008 +0100 afs: remove smp_prcessor_id() from debug macro Signed-off-by: Sven Schnelle Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 4cd13504652d28e16bf186c6bb2bbb3725369383 Author: Hugh Dickins Date: Thu Apr 3 23:35:22 2008 +0100 splice: use mapping_gfp_mask The loop block driver is careful to mask __GFP_IO|__GFP_FS out of its mapping_gfp_mask, to avoid hangs under memory pressure. But nowadays it uses splice, usually going through __generic_file_splice_read. That must use mapping_gfp_mask instead of GFP_KERNEL to avoid those hangs. Signed-off-by: Hugh Dickins Cc: Jens Axboe Cc: Andrew Morton Signed-off-by: Linus Torvalds commit a02fe13297af26c13d004b1d44f391c077094ea0 Author: Josef Bacik Date: Fri Apr 4 09:35:05 2008 +1100 selinux: prevent rentry into the FS BUG fix. Keep us from re-entering the fs when we aren't supposed to. See discussion at http://marc.info/?t=120716967100004&r=1&w=2 Signed-off-by: Josef Bacik Acked-by: Stephen Smalley Signed-off-by: James Morris commit 7c3cce978e4f933ac13758ec5d2554fc8d0927d2 Author: David S. Miller Date: Thu Apr 3 15:07:24 2008 -0700 [SPARC64]: Fix FPU saving in 64-bit signal handling. The calculation of the FPU reg save area pointer was wrong. Based upon an OOPS report from Tom Callaway. Signed-off-by: David S. Miller commit 61407f80f72970d52d4339f81c6c3cd03f4ca0f0 Author: Andi Kleen Date: Thu Apr 3 14:07:02 2008 -0700 [NET]: srandom32 fixes for networking v2 - Let it update the state of all CPUs. The network stack goes into pains to feed the current IP addresses in, but it is not very effective if that is only done for some random CPU instead of all. So change it to feed bits into all CPUs. I decided to do that lockless because well somewhat random results are ok. v2: Drop rename so that this patch doesn't depend on x86 maintainers Signed-off-by: Andi Kleen Signed-off-by: David S. Miller commit 84f59370c519449c70dcc813b050f5cbbf0098e7 Author: Denis V. Lunev Date: Thu Apr 3 13:33:00 2008 -0700 [IPV6]: Fix refcounting for anycast dst entries. Anycast DST entries allocated inside ipv6_dev_ac_inc are leaked when network device is stopped without removing IPv6 addresses from it. The bug has been observed in the reality on 2.6.18-rhel5 kernel. In the above case addrconf_ifdown marks all entries as obsolete and ip6_del_rt called from __ipv6_dev_ac_dec returns ENOENT. The referrence is not dropped. The fix is simple. DST entry should not keep referrence when stored in the FIB6 tree. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit eb867579311a9c1e998d6911af056772c400122a Author: Denis V. Lunev Date: Thu Apr 3 13:31:53 2008 -0700 [IPV6]: inet6_dev on loopback should be kept until namespace stop. In the other case it will be destroyed when last address will be removed from lo inside a namespace. This will break IPv6 in several places. The most obvious one is ip6_dst_ifdown. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 439e23857a21c3a953826eed23c818697a97de1a Author: Denis V. Lunev Date: Thu Apr 3 13:30:17 2008 -0700 [IPV6]: Event type in addrconf_ifdown is mis-used. addrconf_ifdown is broken in respect to the usage of how parameter. This function is called with (event != NETDEV_DOWN) and (2) on the IPv6 stop. It the latter case inet6_dev from loopback device should be destroyed. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit af2681828af5f2b42e12e8b16ba0cf113cf486c8 Author: Herbert Xu Date: Thu Apr 3 12:52:19 2008 -0700 [ICMP]: Ensure that ICMP relookup maintains status quo The ICMP relookup path is only meant to modify behaviour when appropriate IPsec policies are in place and marked as requiring relookups. It is certainly not meant to modify behaviour when IPsec policies don't exist at all. However, due to an oversight on the error paths existing behaviour may in fact change should one of the relookup steps fail. This patch corrects this by redirecting all errors on relookup failures to the previous code path. That is, if the initial xfrm_lookup let the packet pass, we will stand by that decision should the relookup fail due to an error. This should be safe from a security point-of-view because compliant systems must install a default deny policy so the packet would'nt have passed in that case. Many thanks to Julian Anastasov for pointing out this error. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 8d813941b17626a7610342325be63435282bac02 Author: René Bürgel Date: Thu Apr 3 19:58:37 2008 +1100 [POWERPC] Fix MPC5200 (not B!) device tree so FEC ethernet works This gets the FEC ethernet driver working again on the lite5200 platform. The FEC driver is also compatible with the MPC5200, not only with the MPC5200B, so this adds a suitable entry to the driver's match list. Furthermore this adds the settings for the PHY in the dts file for the Lite5200. Note, that this is not exactly the same as in the Lite5200B, because the PHY is located at f0003000:01 for the 5200, and at :00 for the 5200B. This was tested on a Lite5200 and a Lite5200B, both booted a kernel via tftp and mounted the root via nfs successfully. Signed-off-by: René Bürgel Acked-by: Grant Likely Signed-off-by: Paul Mackerras commit 115e1adca3b75a82f24da8b2cc9386eb5b7e2cff Author: Bartlomiej Sieka Date: Thu Apr 3 01:26:02 2008 +1100 [POWERPC] mpc5200: Amalgamated DTS fixes and updates DTS updates that fix booting problems on mpc5200-based boards: - change to ethernet reg property - addition of mdio and phy nodes - removal of pci node (Motion-Pro board) Other DTS updates: - update i2c device tree nodes - add lpb bus node and flash device (without partitions defined) - add rtc i2c nodes Signed-off-by: Marian Balakowicz Acked-by: Grant Likely Signed-off-by: Paul Mackerras commit 7484839850d826e14b8b024bb048dca8489140ae Author: Maxim Shchetynin Date: Wed Apr 2 00:12:20 2008 +1100 [POWERPC] Fix rtas_flash procfs interface Handling of the proc_dir_entry->count was changed in 2.6.24-rc5. After this change, the default value for pde->count is 1 and not 0 as before. Therefore, if we want to check whether our procfs file is already opened (already in use), we have to check if pde->count is greater than 2 rather than 1. Signed-off-by: Maxim Shchetynin Signed-off-by: Jens Osterkamp Signed-off-by: Paul Mackerras commit b991f05f1326fd9e6212851d0f2099875906dd16 Author: Benjamin Herrenschmidt Date: Mon Mar 31 07:49:27 2008 +1100 [POWERPC] Fix deadlock with mmu_hash_lock in hash_page_sync hash_page_sync() takes and releases the low level mmu hash lock in order to sync with other processors disposing of page tables. Because that lock can be needed to service hash misses triggered by interrupt handlers, taking it must be done with interrupts off. However, hash_page_sync() appears to be called with interrupts enabled, thus causing occasional deadlocks. We fix it by making sure hash_page_sync() masks interrupts while holding the lock. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit ff3da2e0938bae36d10d69c22bce0177b067a9e2 Author: Benjamin Herrenschmidt Date: Wed Apr 2 15:58:40 2008 +1100 [POWERPC] Fix iSeries hard irq enabling regression A subtle bug sneaked into iSeries recently. On this platform, we must not normally clear MSR:EE (the hardware external interrupt enable) except for short periods of time. Taking an interrupt while soft-disabled doesn't cause us to clear it for example. The iSeries kernel expects to mostly run with MSR:EE enabled at all times except in a few exception entry/exit code paths. Thus local_irq_enable() doesn't check if it needs to hard-enable as it expects this to be unnecessary on iSeries. However, hard_irq_disable() _does_ cause MSR:EE to be cleared, including on iSeries. A call to it was recently added to the context switch code, thus causing interrupts to become disabled for a long periods of time, causing the iSeries watchdog to kick in under some circumstances and other nasty things. This patch fixes it by making local_irq_enable() properly re-enable MSR:EE on iSeries. It basically removes a return statement here to make iSeries use the same code path as everybody else. That does mean that we might occasionally get spurious decrementer interrupts but I don't think that matters. Another option would have been to make hard_irq_disable() a nop on iSeries but I didn't like it much, in case we have good reasons to hard-disable. Part of the patch is fixes to make sure the hard_enabled PACA field is properly set on iSeries as it used not to be before, since it was mostly unused. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 025306f30948836a743eb68a7cbaf4ab0bfb5f47 Author: Laurent Pinchart Date: Wed Apr 2 16:46:31 2008 +0200 [POWERPC] Fix CPM2 SCC1 clock initialization. A missing break statement in a switch caused cpm2_clk_setup() to initialize SCC2 instead of SCC1. Signed-off-by: Laurent Pinchart Signed-off-by: Kumar Gala commit 9597362d354f8655ece324b01d0c640a0e99c077 Merge: 06f11f3... 9cebcdc... Author: Linus Torvalds Date: Wed Apr 2 15:56:18 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: USB: ohci: fix 2 timers to fire at jiffies + 1s USB: Allow initialization of broken keyspan serial adapters. USB: fix bug in sg initialization in usbtest USB: serial: fix regression in Visor/Palm OS module for kernels >= 2.6.24 USB: cp2101: Add identifiers for the Telegesys ETRX2USB USB: serial: ti_usb_3410_5052: Correct TUSB3410 endpoint requirements. USB: another ehci_iaa_watchdog fix commit 06f11f37aa84e83b48cdf36037c4414f5a83c13f Author: Andrew Morton Date: Wed Apr 2 13:04:52 2008 -0700 alpha: get_current(): don't add zero to current_thread_info()->task A nasty compile error: In file included from security/keys/internal.h:16, from security/keys/sysctl.c:14: include/linux/key-ui.h: In function 'key_permission': include/linux/key-ui.h:51: error: invalid use of undefined type 'struct task_struct' apparently the compiler has decided that it needs to know sizeof(task_struct) so that it can add zero to a task_struct* (which is rather dumb of it). Getting task_struct in scope in these deeply-nested headers is scary-looking, so let's just remove the "+ 0". Cc: David Howells Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6496968e6cc3f01faafa63a5a28549a708539ac0 Author: Mathieu Desnoyers Date: Wed Apr 2 13:04:51 2008 -0700 markers: use synchronize_sched() Markers do not mix well with CONFIG_PREEMPT_RCU because it uses preempt_disable/enable() and not rcu_read_lock/unlock for minimal intrusiveness. We would need call_sched and sched_barrier primitives. Currently, the modification (connection and disconnection) of probes from markers requires changes to the data structure done in RCU-style : a new data structure is created, the pointer is changed atomically, a quiescent state is reached and then the old data structure is freed. The quiescent state is reached once all the currently running preempt_disable regions are done running. We use the call_rcu mechanism to execute kfree() after such quiescent state has been reached. However, the new CONFIG_PREEMPT_RCU version of call_rcu and rcu_barrier does not guarantee that all preempt_disable code regions have finished, hence the race. The "proper" way to do this is to use rcu_read_lock/unlock, but we don't want to use it to minimize intrusiveness on the traced system. (we do not want the marker code to call into much of the OS code, because it would quickly restrict what can and cannot be instrumented, such as the scheduler). The temporary fix, until we get call_rcu_sched and rcu_barrier_sched in mainline, is to use synchronize_sched before each call_rcu calls, so we wait for the quiescent state in the system call code path. It will slow down batch marker enable/disable, but will make sure the race is gone. Signed-off-by: Mathieu Desnoyers Acked-by: Paul E. McKenney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 629c8b4cdb354518308663aff2f719e02f69ffbe Author: Ken'ichi Ohmichi Date: Wed Apr 2 13:04:50 2008 -0700 vmcoreinfo: add the symbol "phys_base" Fix the problem that makedumpfile sometimes fails on x86_64 machine. This patch adds the symbol "phys_base" to a vmcoreinfo data. The vmcoreinfo data has the minimum debugging information only for dump filtering. makedumpfile (dump filtering command) gets it to distinguish unnecessary pages, and makedumpfile creates a small dumpfile. On x86_64 kernel which compiled with CONFIG_PHYSICAL_START=0x0 and CONFIG_RELOCATABLE=y, makedumpfile fails like the following: # makedumpfile -d31 /proc/vmcore dumpfile The kernel version is not supported. The created dumpfile may be incomplete. _exclude_free_page: Can't get next online node. makedumpfile Failed. # The cause is the lack of the symbol "phys_base" in a vmcoreinfo data. If the symbol "phys_base" does not exist, makedumpfile considers an x86_64 kernel as non relocatable. As the result, makedumpfile misunderstands the physical address where the kernel is loaded, and it cannot translate a kernel virtual address to physical address correctly. To fix this problem, this patch adds the symbol "phys_base" to a vmcoreinfo data. Signed-off-by: Ken'ichi Ohmichi Cc: "Eric W. Biederman" Cc: Acked-by: Vivek Goyal Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 865965a66ea616a413012edcd3a10ef39c06d672 Author: Robert P. J. Day Date: Wed Apr 2 13:04:49 2008 -0700 efs: update error msg to not refer to deleted read_inode() Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 212e7bb6cda5dd3c4ad97a7aedef705028ced4ad Author: Jiri Slaby Date: Wed Apr 2 13:04:48 2008 -0700 Char: rio, fix sparse warnings Add some locks and unlocks to some code paths. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d0ae36ea973b42e1c636210433aebef4426c5bf Author: Jiri Slaby Date: Wed Apr 2 13:04:48 2008 -0700 Char: ip2, fix sparse warnings Unlock two grabbed locks on some paths. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ffc41cf8dbb1b895a87daf47d0e5bf6dfbfcab4c Author: Mike Snitzer Date: Wed Apr 2 13:04:47 2008 -0700 nbd: prevent sock_xmit from attempting to use a NULL socket NBD does not protect the nbd_device's socket from becoming NULL during receives. This closes a race with the NBD_CLEAR_SOCK ioctl (nbd-client -d) setting the nbd_device's socket to NULL right before NBD calls sock_xmit. Signed-off-by: Mike Snitzer Cc: Paul Clements Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2b2ea692ec01768c77a4f532dcd060316460122 Author: Jim Meyering Date: Wed Apr 2 13:04:46 2008 -0700 doc: fix typo in SubmittingPatches Signed-off-by: Jim Meyering Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e8d49f3a6fec38cc83ae3221c3df0649d021c30c Author: Dmitri Vorobiev Date: Wed Apr 2 13:04:45 2008 -0700 Fix typos in Documentation/unaligned-memory-access.txt This patch deletes a couple of superfluous word occurrences in the document Documentation/unaligned-memory-access.txt. Thanks to Sebastien Dugue for the remark about English usage. Signed-off-by: Dmitri Vorobiev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c143d43aa3149b83e4b40624a27aa2b18638afec Author: Ivan Kokshaysky Date: Wed Apr 2 13:04:43 2008 -0700 alpha: fix ALSA DMA mmap crash Make dma_alloc_coherent respect gfp flags (__GFP_COMP is one that matters). Signed-off-by: Ivan Kokshaysky Tested-by: Michael Cree Cc: Richard Henderson Cc: Jaroslav Kysela Cc: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39d4c922b596633da86878b1a5cc881785b8e5fa Author: Marc Pignat Date: Wed Apr 2 13:04:42 2008 -0700 atmel_serial: fix uart/console concurrent access Strange chars appear on the serial port when a printk and a printf happens at the same time. This is caused by the pdc sending chars while atmel_console_write (called from printk) is executing Concurent access of uart and console to the same port leads to corrupted data to be transmitted, so disable tx dma (PDC) while writing to the console. Signed-off-by: Marc Pignat Signed-off-by: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba0657ff0527bab83387e19eb98b423fcc290674 Author: Michael Trimarchi Date: Wed Apr 2 13:04:41 2008 -0700 atmel_serial: avoid stopping pdc during transmission I found a problem related to losing data during pdc transmission in atmel_serial: connect ttyS1 with ttyS2 using a loopback cable, send 30 byte of packet from one to the other and waiting for 30 byte. On the other side just read and echo the data received. We always call atmel_tx_dma() from the tasklet regardless of what interrupt triggered it. Signed-off-by: michael Acked-by: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd135ebbd2a6b5e07dadb66c4dd033bb69531051 Author: Christian Borntraeger Date: Wed Apr 2 13:04:40 2008 -0700 kvm: provide kvm.h for all architecture: fixes headers_install Currently include/linux/kvm.h is not considered by make headers_install, because Kbuild cannot handle " unifdef-$(CONFIG_FOO) += foo.h. This problem was introduced by commit fb56dbb31c4738a3918db81fd24da732ce3b4ae6 Author: Avi Kivity Date: Sun Dec 2 10:50:06 2007 +0200 KVM: Export include/linux/kvm.h only if $ARCH actually supports KVM Currently, make headers_check barfs due to , which includes, not existing. Rather than add a zillion s, export kvm. only if the arch actually supports it. Signed-off-by: Avi Kivity which makes this an 2.6.25 regression. One way of solving the issue is to enhance Kbuild, but Avi and David conviced me, that changing headers_install is not the way to go. This patch changes the definition for linux/kvm.h to unifdef-y. If  unifdef-y is used for linux/kvm.h "make headers_check" will fail on all architectures without asm/kvm.h. Therefore, this patch also provides asm/kvm.h on all architectures. Signed-off-by: Christian Borntraeger Acked-by: Avi Kivity Cc: Sam Ravnborg Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9cebcdc7fb10d478b22d7125b215cee3b9ea82f2 Author: Richard Kennedy Date: Fri Mar 28 14:50:30 2008 -0700 USB: ohci: fix 2 timers to fire at jiffies + 1s Code inspection discovered in 2 places timers were being incorrectly setup using round_jiffies_relative(HZ). The timer would then fire at time (0 <= T < HZ). Fix them to use round_jiffies(jiffies + HZ); Signed-off-by: Richard Kennedy Cc: Alan Stern Cc: David Brownell Cc: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 822470537d0fc1dee38a2a9c8b8c398bfbb332bb Author: Clark Rawlins Date: Thu Mar 27 09:56:17 2008 -0400 USB: Allow initialization of broken keyspan serial adapters. Fixes the keyspan driver after the addition of additional checking of driver requirements introduced in usb-serial.c commit 063a2da8f01806906f7d7b1a1424b9afddebc443. The initialization of the keyspan usb_serial_driver structs were not initializing the num_interrupt_out field and the additional checking was rejecting the end point so the driver wouldn't finish initializing. This commit initializes the fields to NUM_DONT_CARE. It works for the keyspan USA-49WG and doesn't break the USA-19HS which are the two keyspan devices I have to test with. Signed-off-by: Clark Rawlins Cc: stable Signed-off-by: Greg Kroah-Hartman commit 4756febb10d96104e08661031ba835771075419c Author: Alan Stern Date: Thu Mar 27 10:15:22 2008 -0400 USB: fix bug in sg initialization in usbtest This patch (as1062) fixes a bug in the scatter-gather initialization code in the usbtest driver. When the sg-helper conversion was performed, it wasn't done correctly. Signed-off-by: Alan Stern CC: Jens Axboe Signed-off-by: Greg Kroah-Hartman commit d04863e9e65767feff7807c8f693ac2719dd1944 Author: Brad Sawatzky Date: Tue Mar 25 22:32:43 2008 -0400 USB: serial: fix regression in Visor/Palm OS module for kernels >= 2.6.24 Fixes a bug/inconsistency revealed by the additional sanity checking in commit 063a2da8f01806906f7d7b1a1424b9afddebc443 introduced in the original 2.6.24 branch. The Handspring Visor / PalmOS 4 device structure defines .num_bulk_out=2 but the usb-serial probe returns num_bulk_out=3, triggering the check in the above commit and forcing a bail out when the device (a Garmin iQue in my case) attempts to connect. The patch bumps the expected number of endpoints to 3. FWIW, this patch will probably solve the following kernel bug report for Treo users (identical symptoms, different model PalmOS units): Signed-off-by: Brad Sawatzky Cc: stable Signed-off-by: Greg Kroah-Hartman commit e8898681023c8bfb920afcd215e43c8832597b91 Author: Florian Fainelli Date: Tue Mar 25 17:32:16 2008 +0100 USB: cp2101: Add identifiers for the Telegesys ETRX2USB This patch adds support for the Telegesys ETRX2USB which works fine with the cp2101 driver. Signed-off-by: Florian Fainelli Tested-by: Xavier Carcelle Signed-off-by: Greg Kroah-Hartman commit 1bfd6693cd66f1e79abce62d3e8c3647e1f59a55 Author: Robert Spanton Date: Sun Mar 23 19:47:23 2008 +0000 USB: serial: ti_usb_3410_5052: Correct TUSB3410 endpoint requirements. The changes introduced in commit 063a2da8f01806906f7d7b1a1424b9afddebc443 changed the semantics of the num_interrupt_in, num_interrupt_out, num_bulk_in and num_bulk_out entries of the usb_serial_driver struct to be the number of endpoints the device has when probed. This patch changes the ti_1port_device usb_serial_driver struct to reflect this change. The single port devices only have 1 bulk_out endpoint in their initial configuration, and so this patch changes the number of other types to NUM_DONT_CARE. The same change probably needs doing to the ti_2port_device struct, but I don't have a two port device at hand. Signed-off-by: Robert Spanton Cc: stable Signed-off-by: Greg Kroah-Hartman commit cdc647a9b75741659bfc6acc44a6b3a646ad53bf Author: David Brownell Date: Wed Apr 2 13:40:20 2008 -0700 USB: another ehci_iaa_watchdog fix This patch, suggested by Alan Stern, fixes the hung USB issues on my notebook from suspend/resume cycles. It does so by eliminating some confusion about the internal state machine associated with unlinking from the EHCI async schedule ring, which caused a recent regression: http://bugzilla.kernel.org/show_bug.cgi?id=10345 Signed-off-by: Mark Lord Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 8eb224cd45239714c2be104f17d5ca16b6b5d7ac Merge: 063a0b3... 7e77718... Author: Linus Torvalds Date: Wed Apr 2 12:34:33 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: ide: use ->ata_input_data in ide_driveid_update() ide-h8300: 32-bit I/O is unsupported ide/legacy/q40ide.c: add MODULE_LICENSE ide/legacy/macide: add MODULE_LICENSE ide/legacy/falconide.c: add MODULE_LICENSE ide/legacy/buddha.c: add MODULE_LICENSE ide/legacy/gayle.c: add MODULE_LICENSE ide/h8300/ide-h8300.c: add MODULE_LICENSE ide/cris/ide-cris.c: add MODULE_LICENSE ide/arm/ide_arm.c: add MODULE_LICENSE ide/ppc/pmac.c: add MODULE_LICENSE ide/ppc/mpc8xx.c: add MODULE_LICENSE ide/pci/cmd640.c: add MODULE_LICENSE ide-pnp.c: add MODULE_LICENSE commit 7e77718579f44d654e299c0fc2096b6b50f14458 Author: Bartlomiej Zolnierkiewicz Date: Wed Apr 2 21:22:05 2008 +0200 ide: use ->ata_input_data in ide_driveid_update() Use ->ata_input_data method instead of calling ata_input_data() directly. Currently it matters only for (broken) ide-cris host driver but it may change in the future. Signed-off-by: Bartlomiej Zolnierkiewicz commit 430c5d26eccb6293f7129805451cea15a3a12db3 Author: Bartlomiej Zolnierkiewicz Date: Wed Apr 2 21:22:04 2008 +0200 ide-h8300: 32-bit I/O is unsupported This host driver doesn't support 32-bit I/O (it sets hwif->INSL/OUTSL to NULL) so IDE_HFLAG_NO_IO_32BIT host flag needs to be set. Signed-off-by: Bartlomiej Zolnierkiewicz commit f743d04dcfbeda7439b78802d35305781999aa11 Author: Adrian Bunk Date: Wed Apr 2 21:22:04 2008 +0200 ide/legacy/q40ide.c: add MODULE_LICENSE Now that it can be built modular it needs a MODULE_LICENSE. Signed-off-by: Adrian Bunk Cc: Sam Ravnborg Signed-off-by: Bartlomiej Zolnierkiewicz commit 37c807a2e0aa289b9986a8d4c2f81224125896bd Author: Adrian Bunk Date: Wed Apr 2 21:22:04 2008 +0200 ide/legacy/macide: add MODULE_LICENSE Now that it can be built modular it needs a MODULE_LICENSE. Signed-off-by: Adrian Bunk Cc: Sam Ravnborg Signed-off-by: Bartlomiej Zolnierkiewicz commit 0c5ec97b30ca1d464612646e282c90415b8646cf Author: Adrian Bunk Date: Wed Apr 2 21:22:04 2008 +0200 ide/legacy/falconide.c: add MODULE_LICENSE Now that it can be built modular it needs a MODULE_LICENSE. Signed-off-by: Adrian Bunk Cc: Sam Ravnborg Signed-off-by: Bartlomiej Zolnierkiewicz commit c5daf1aa2001aa77dffac672cd8b56ecc0bc94a2 Author: Adrian Bunk Date: Wed Apr 2 21:22:04 2008 +0200 ide/legacy/buddha.c: add MODULE_LICENSE Now that it can be built modular it needs a MODULE_LICENSE. Signed-off-by: Adrian Bunk Cc: Sam Ravnborg Signed-off-by: Bartlomiej Zolnierkiewicz commit 6e1d17da7b7352cb38e0f25d84d3b9999b7a2ca3 Author: Adrian Bunk Date: Wed Apr 2 21:22:04 2008 +0200 ide/legacy/gayle.c: add MODULE_LICENSE Now that it can be built modular it needs a MODULE_LICENSE. Signed-off-by: Adrian Bunk Cc: Sam Ravnborg Signed-off-by: Bartlomiej Zolnierkiewicz commit f95dc32001445c6706ce0c337628b7c12d42a267 Author: Adrian Bunk Date: Wed Apr 2 21:22:03 2008 +0200 ide/h8300/ide-h8300.c: add MODULE_LICENSE Now that it can be built modular it needs a MODULE_LICENSE. Signed-off-by: Adrian Bunk Cc: Sam Ravnborg Signed-off-by: Bartlomiej Zolnierkiewicz commit b3fa5fab373f2c4321df45ba6c38268ca181ce60 Author: Adrian Bunk Date: Wed Apr 2 21:22:03 2008 +0200 ide/cris/ide-cris.c: add MODULE_LICENSE Now that it can be built modular it needs a MODULE_LICENSE. Signed-off-by: Adrian Bunk Cc: Sam Ravnborg Signed-off-by: Bartlomiej Zolnierkiewicz commit 57ad3ea0c717113e2aeb0a9a298a9e15b9037c2a Author: Adrian Bunk Date: Wed Apr 2 21:22:03 2008 +0200 ide/arm/ide_arm.c: add MODULE_LICENSE Now that it can be built modular it needs a MODULE_LICENSE. Signed-off-by: Adrian Bunk Cc: Sam Ravnborg Signed-off-by: Bartlomiej Zolnierkiewicz commit de9facbffe7cba6cb71239f6d574d71d95b68b10 Author: Adrian Bunk Date: Wed Apr 2 21:22:03 2008 +0200 ide/ppc/pmac.c: add MODULE_LICENSE Now that it can be built modular it needs a MODULE_LICENSE. Signed-off-by: Adrian Bunk Cc: Sam Ravnborg Signed-off-by: Bartlomiej Zolnierkiewicz commit 20e3dd8f370e70a5a5e42ea22309162af460658d Author: Adrian Bunk Date: Wed Apr 2 21:22:03 2008 +0200 ide/ppc/mpc8xx.c: add MODULE_LICENSE Now that it can be built modular it needs a MODULE_LICENSE. Signed-off-by: Adrian Bunk Cc: Sam Ravnborg Signed-off-by: Bartlomiej Zolnierkiewicz commit 776c0bcee6bc95c95f8677b720d99a464ca3af45 Author: Adrian Bunk Date: Wed Apr 2 21:22:02 2008 +0200 ide/pci/cmd640.c: add MODULE_LICENSE Now that it can be built modular it needs a MODULE_LICENSE. Signed-off-by: Adrian Bunk Cc: Sam Ravnborg Signed-off-by: Bartlomiej Zolnierkiewicz commit a62ee64157bcee812bb592fa45f3c70a613d6eae Author: Adrian Bunk Date: Wed Apr 2 21:22:02 2008 +0200 ide-pnp.c: add MODULE_LICENSE Now that it's in an own module it needs a MODULE_LICENSE. Signed-off-by: Adrian Bunk Cc: Sam Ravnborg Signed-off-by: Bartlomiej Zolnierkiewicz commit 063a0b38a7e4ade79f00314c473d3c41a2c7eecf Author: Stephen Hemminger Date: Wed Apr 2 09:03:23 2008 -0700 sky2: fix suspend/resume races There are a couple of possible races on suspend/resume. First the driver needs to block new packets from being queued for Tx. The other less likely problem is the watchdog timer going off during resume. Signed-off-by: Stephen Hemminger Signed-off-by: Linus Torvalds commit 49115b7cb1483a14c557666b61fe81d3c23780d6 Merge: d200ccc... 044dfc9... Author: Linus Torvalds Date: Wed Apr 2 07:50:49 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb * git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: V4L/DVB (7486): radio-cadet: wrap PNP probe code in #ifdef CONFIG_PNP V4L/DVB (7485): v4l2-int-device.c: add MODULE_LICENSE V4L/DVB (7466): Avoid minor model number warning when an OEM HVR1250 board is detected V4L/DVB (7465): Fix eeprom parsing and errors on the HVR1800 products V4L/DVB (7464): Convert driver to use a single SRAM memory map V4L/DVB (7461): bttv: fix missed index check V4L/DVB (7400): bttv: Add a radio compat_ioctl file operation V4L/DVB (7278): bttv: Re-enable radio tuner support for VIDIOCGFREQ/VIDIOCSFREQ ioctls V4L/DVB (7277): bttv: Re-enabling radio support requires the use of struct bttv_fh commit d200ccce6d01fde887aca08156cc875a9aa8b62b Merge: 4c61f72... 0b97760... Author: Linus Torvalds Date: Wed Apr 2 07:47:31 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: [SCSI] mvsas: check subsystem id [SCSI] mvsas: get phy info. [SCSI] mvsas: fix the buffer of rx DMA overflow bug [SCSI] mvsas: retry aborting task. [SCSI] mvsas: check hd whether unplugged [SCSI] mvsas : interrupt handling [SCSI] mvsas: a tag handler implementation [SCSI] mvsas: fill in error info record and phy mode6 bits. [SCSI] libsas: Warn if ATA device detected but CONFIG_SCSI_SAS_ATA not set [SCSI] hosts.c: fixes for "no error" reported after error scenarios Revert "[SCSI] fix bsg queue oops with iscsi logout" commit 4c61f72c72e0e1181f91831f106c5f7306238706 Merge: 2f819ae... c819914... Author: Linus Torvalds Date: Wed Apr 2 07:46:41 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: remove unused calc_npages() in iommu_common.h sparc64: add the segment boundary checking to IOMMUs while merging SG entries [SPARC64]: Don't open-code {get,put}_cpu_var() in flush_tlb_pending(). commit 2f819ae8816990aaad46dd6d1748a096d136df68 Merge: d40c2f2... 802fb17... Author: Linus Torvalds Date: Wed Apr 2 07:46:18 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (45 commits) [VLAN]: Proc entry is not renamed when vlan device name changes. [IPV6]: Fix ICMP relookup error path dst leak [ATM] drivers/atm/iphase.c: compilation warning fix IPv6: do not create temporary adresses with too short preferred lifetime IPv6: only update the lifetime of the relevant temporary address bluetooth : __rfcomm_dlc_close lock fix bluetooth : use lockdep sub-classes for diffrent bluetooth protocol [ROSE/AX25] af_rose: rose_release() fix mac80211: correct use_short_preamble handling b43: Fix PCMCIA IRQ routing b43: Add DMA mapping failure messages mac80211: trigger ieee80211_sta_work after opening interface [LLC]: skb allocation size for responses [IP] UDP: Use SEQ_START_TOKEN. [NET]: Remove Documentation/networking/sk98lin.txt [ATM] atm/idt77252.c: Make 2 functions static [ATM]: Make atm/he.c:read_prom_byte() static [IPV6] MCAST: Ensure to check multicast listener(s). [LLC]: Kill llc_station_mac_sa symbol export. forcedeth: fix locking bug with netconsole ... commit d40c2f29f3b0f5937bace575722598dac474c478 Merge: 6be9f7b... 0794c66... Author: Linus Torvalds Date: Wed Apr 2 07:45:49 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6: selinux: handle files opened with flags 3 by checking ioctl permission commit 6be9f7b2835fa442f6b892f174dabc4023c0af2e Merge: 8774b7f... 34e6bbf... Author: Linus Torvalds Date: Wed Apr 2 07:43:53 2008 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: cfq-iosched: fix rcu freeing of cfq io contexts Fix bounce setting for 64-bit commit 8774b7f63be0d1b237bc30d49b6486f7691e2ed4 Merge: a5f37c3... 1edcf2e... Author: Linus Torvalds Date: Wed Apr 2 07:43:37 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: [CRYPTO] xcbc: Fix crash when ipsec uses xcbc-mac with big data chunk commit a5f37c3252b174efdcdd808797a7c529064c95c0 Author: Sven Schnelle Date: Wed Apr 2 13:17:18 2008 +0100 afs: add missing up_write() on return If afs_cell_alloc() fails, afs_cells_sem doesn't get unlocked, which leads to a deadlock. Unlock it before returning. Signed-off-by: Sven Schnelle Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 0035a1dc8f56f2c92f4246b0c8b5f6d1ee10c76b Author: Tobias Mueller Date: Wed Apr 2 10:02:06 2008 -0400 Input: appletouch - add product IDs for the 4th generation MacBooks Signed-off-by: Tobias Mueller Acked-by: Johannes Berg Signed-off-by: Dmitry Torokhov commit 34e6bbf23c8f43e8713d9bd092680f1660494b4a Author: Fabio Checconi Date: Wed Apr 2 14:31:02 2008 +0200 cfq-iosched: fix rcu freeing of cfq io contexts SLAB_DESTROY_BY_RCU is not a direct substitute for normal call_rcu() freeing, since it'll page freeing but NOT object freeing. So change cfq to do the freeing on its own. Signed-off-by: Fabio Checconi Acked-by: Paul E. McKenney Signed-off-by: Jens Axboe commit 802fb176d8c635ae42da31b80841c26e8c7338a0 Author: Pavel Emelyanov Date: Wed Apr 2 00:08:01 2008 -0700 [VLAN]: Proc entry is not renamed when vlan device name changes. This may lead to situations, when each of two proc entries produce data for the other's device. Looks like a BUG, so this patch is for net-2.6. It will not apply to net-2.6.26 since dev->nd_net access is replaced with dev_net(dev) one. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 00d61e3e8c12d5f395b167856d2b3c430816afb0 Author: Andrea Arcangeli Date: Wed Apr 2 09:06:44 2008 +0200 Fix bounce setting for 64-bit Looking a bit closer into this regression the reason this can't be right is that dma_addr common default is BLK_BOUNCE_HIGH and most machines have less than 4G. So if you do: if (b_pfn <= (min_t(u64, 0xffffffff, BLK_BOUNCE_HIGH) >> PAGE_SHIFT)) dma = 1 that will translate to: if (BLK_BOUNCE_HIGH <= BLK_BOUNCE_HIGH) dma = 1 So for 99% of hardware this will trigger unnecessary GFP_DMA allocations and isa pooling operations. Also note how the 32bit code still does b_pfn < blk_max_low_pfn. I guess this is what you were looking after. I didn't verify but as far as I can tell, this will stop the regression with isa dma operations at boot for 99% of blkdev/memory combinations out there and I guess this fixes the setups with >4G of ram and 32bit pci cards as well (this also retains symmetry with the 32bit code). Signed-off-by: Andrea Arcangeli Signed-off-by: Jens Axboe commit f32c5f2c3866bf4d932d2bc42216dafb90a50ab7 Author: Herbert Xu Date: Wed Apr 2 00:06:09 2008 -0700 [IPV6]: Fix ICMP relookup error path dst leak When we encounter an error while looking up the dst the second time we need to drop the first dst. This patch is pretty much the same as the one for IPv4. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit a22eb6faae4ec64d59cc206671eb0bfe46c5ffd2 Author: Leonardo Potenza Date: Wed Apr 2 00:03:00 2008 -0700 [ATM] drivers/atm/iphase.c: compilation warning fix Removed the warning messages: drivers/atm/iphase.c:961: warning: 'tcnter' defined but not used drivers/atm/iphase.c:963: warning: 'xdump' defined but not used tcnter and xdump() are used only in debug build Signed-off-by: Leonardo Potenza Signed-off-by: David S. Miller commit eac55bf97094f6b64116426864cf4666ef7587bc Author: Benoit Boissinot Date: Wed Apr 2 00:01:35 2008 -0700 IPv6: do not create temporary adresses with too short preferred lifetime From RFC341: A temporary address is created only if this calculated Preferred Lifetime is greater than REGEN_ADVANCE time units. In particular, an implementation must not create a temporary address with a zero Preferred Lifetime. Signed-off-by: Benoit Boissinot Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit c6fbfac2e61c9a8617f64b93e8c990b8d864bce5 Author: Benoit Boissinot Date: Wed Apr 2 00:00:58 2008 -0700 IPv6: only update the lifetime of the relevant temporary address When receiving a prefix information from a routeur, only update the lifetimes of the temporary address associated with that prefix. Otherwise if one deprecated prefix is advertized, all your temporary addresses will become deprecated. Signed-off-by: Benoit Boissinot Acked-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 1905f6c736cb618e07eca0c96e60e3c024023428 Author: Dave Young Date: Tue Apr 1 23:59:06 2008 -0700 bluetooth : __rfcomm_dlc_close lock fix Lockdep warning will be trigged while rfcomm connection closing. The locks taken in rfcomm_dev_add: rfcomm_dev_lock --> d->lock In __rfcomm_dlc_close: d->lock --> rfcomm_dev_lock (in rfcomm_dev_state_change) There's two way to fix it, one is in rfcomm_dev_add we first locking d->lock then the rfcomm_dev_lock The other (in this patch), remove the locking of d->lock for rfcomm_dev_state_change because just locking "d->state = BT_CLOSED;" is enough. [ 295.002046] ======================================================= [ 295.002046] [ INFO: possible circular locking dependency detected ] [ 295.002046] 2.6.25-rc7 #1 [ 295.002046] ------------------------------------------------------- [ 295.002046] krfcommd/2705 is trying to acquire lock: [ 295.002046] (rfcomm_dev_lock){-.--}, at: [] rfcomm_dev_state_change+0x6a/0xd0 [rfcomm] [ 295.002046] [ 295.002046] but task is already holding lock: [ 295.002046] (&d->lock){--..}, at: [] __rfcomm_dlc_close+0x43/0xd0 [rfcomm] [ 295.002046] [ 295.002046] which lock already depends on the new lock. [ 295.002046] [ 295.002046] [ 295.002046] the existing dependency chain (in reverse order) is: [ 295.002046] [ 295.002046] -> #1 (&d->lock){--..}: [ 295.002046] [] check_prev_add+0xd3/0x200 [ 295.002046] [] check_prevs_add+0x95/0xe0 [ 295.002046] [] validate_chain+0x23f/0x320 [ 295.002046] [] __lock_acquire+0x1c1/0x760 [ 295.002046] [] lock_acquire+0x79/0xb0 [ 295.002046] [] _spin_lock+0x39/0x80 [ 295.002046] [] rfcomm_dev_add+0x240/0x360 [rfcomm] [ 295.002046] [] rfcomm_create_dev+0x6e/0xe0 [rfcomm] [ 295.002046] [] rfcomm_dev_ioctl+0x33/0x60 [rfcomm] [ 295.002046] [] rfcomm_sock_ioctl+0x2c/0x50 [rfcomm] [ 295.002046] [] sock_ioctl+0x118/0x240 [ 295.002046] [] vfs_ioctl+0x76/0x90 [ 295.002046] [] do_vfs_ioctl+0x56/0x140 [ 295.002046] [] sys_ioctl+0x39/0x60 [ 295.002046] [] syscall_call+0x7/0xb [ 295.002046] [] 0xffffffff [ 295.002046] [ 295.002046] -> #0 (rfcomm_dev_lock){-.--}: [ 295.002046] [] check_prev_add+0x34/0x200 [ 295.002046] [] check_prevs_add+0x95/0xe0 [ 295.002046] [] validate_chain+0x23f/0x320 [ 295.002046] [] __lock_acquire+0x1c1/0x760 [ 295.002046] [] lock_acquire+0x79/0xb0 [ 295.002046] [] _read_lock+0x39/0x80 [ 295.002046] [] rfcomm_dev_state_change+0x6a/0xd0 [rfcomm] [ 295.002046] [] __rfcomm_dlc_close+0x58/0xd0 [rfcomm] [ 295.002046] [] rfcomm_recv_ua+0x6f/0x120 [rfcomm] [ 295.002046] [] rfcomm_recv_frame+0x171/0x1e0 [rfcomm] [ 295.002046] [] rfcomm_run+0xe7/0x550 [rfcomm] [ 295.002046] [] kthread+0x5c/0xa0 [ 295.002046] [] kernel_thread_helper+0x7/0x10 [ 295.002046] [] 0xffffffff [ 295.002046] [ 295.002046] other info that might help us debug this: [ 295.002046] [ 295.002046] 2 locks held by krfcommd/2705: [ 295.002046] #0: (rfcomm_mutex){--..}, at: [] rfcomm_run+0x7b/0x550 [rfcomm] [ 295.002046] #1: (&d->lock){--..}, at: [] __rfcomm_dlc_close+0x43/0xd0 [rfcomm] [ 295.002046] [ 295.002046] stack backtrace: [ 295.002046] Pid: 2705, comm: krfcommd Not tainted 2.6.25-rc7 #1 [ 295.002046] [] ? printk+0x18/0x20 [ 295.002046] [] print_circular_bug_tail+0x6f/0x80 [ 295.002046] [] check_prev_add+0x34/0x200 [ 295.002046] [] check_prevs_add+0x95/0xe0 [ 295.002046] [] validate_chain+0x23f/0x320 [ 295.002046] [] __lock_acquire+0x1c1/0x760 [ 295.002046] [] lock_acquire+0x79/0xb0 [ 295.002046] [] ? rfcomm_dev_state_change+0x6a/0xd0 [rfcomm] [ 295.002046] [] _read_lock+0x39/0x80 [ 295.002046] [] ? rfcomm_dev_state_change+0x6a/0xd0 [rfcomm] [ 295.002046] [] rfcomm_dev_state_change+0x6a/0xd0 [rfcomm] [ 295.002046] [] __rfcomm_dlc_close+0x58/0xd0 [rfcomm] [ 295.002046] [] rfcomm_recv_ua+0x6f/0x120 [rfcomm] [ 295.002046] [] rfcomm_recv_frame+0x171/0x1e0 [rfcomm] [ 295.002046] [] ? trace_hardirqs_on+0xb9/0x130 [ 295.002046] [] ? _spin_unlock_irqrestore+0x39/0x70 [ 295.002046] [] rfcomm_run+0xe7/0x550 [rfcomm] [ 295.002046] [] ? __sched_text_start+0x229/0x4c0 [ 295.002046] [] ? cpu_avg_load_per_task+0x20/0x30 [ 295.002046] [] ? rfcomm_run+0x0/0x550 [rfcomm] [ 295.002046] [] kthread+0x5c/0xa0 [ 295.002046] [] ? kthread+0x0/0xa0 [ 295.002046] [] kernel_thread_helper+0x7/0x10 [ 295.002046] ======================= Signed-off-by: Dave Young Signed-off-by: David S. Miller commit 68845cb2c82275efd7390026bba70c320ca6ef86 Author: Dave Young Date: Tue Apr 1 23:58:35 2008 -0700 bluetooth : use lockdep sub-classes for diffrent bluetooth protocol 'rfcomm connect' will trigger lockdep warnings which is caused by locking diffrent kinds of bluetooth sockets at the same time. So using sub-classes per AF_BLUETOOTH sub-type for lockdep. Thanks for the hints from dave jones. --- > From: Dave Jones > Date: Thu, 27 Mar 2008 12:21:56 -0400 > > > Mar 27 08:10:57 localhost kernel: Pid: 3611, comm: obex-data-serve Not tainted 2.6.25-0.121.rc5.git4.fc9 #1 > > Mar 27 08:10:57 localhost kernel: [__lock_acquire+2287/3089] __lock_acquire+0x8ef/0xc11 > > Mar 27 08:10:57 localhost kernel: [sched_clock+8/11] ? sched_clock+0x8/0xb > > Mar 27 08:10:57 localhost kernel: [lock_acquire+106/144] lock_acquire+0x6a/0x90 > > Mar 27 08:10:57 localhost kernel: [] ? l2cap_sock_bind+0x29/0x108 [l2cap] > > Mar 27 08:10:57 localhost kernel: [lock_sock_nested+182/198] lock_sock_nested+0xb6/0xc6 > > Mar 27 08:10:57 localhost kernel: [] ? l2cap_sock_bind+0x29/0x108 [l2cap] > > Mar 27 08:10:57 localhost kernel: [security_socket_post_create+22/27] ? security_socket_post_create+0x16/0x1b > > Mar 27 08:10:57 localhost kernel: [__sock_create+388/472] ? __sock_create+0x184/0x1d8 > > Mar 27 08:10:57 localhost kernel: [] l2cap_sock_bind+0x29/0x108 [l2cap] > > Mar 27 08:10:57 localhost kernel: [kernel_bind+10/13] kernel_bind+0xa/0xd > > Mar 27 08:10:57 localhost kernel: [] rfcomm_dlc_open+0xc8/0x294 [rfcomm] > > Mar 27 08:10:57 localhost kernel: [lock_sock_nested+187/198] ? lock_sock_nested+0xbb/0xc6 > > Mar 27 08:10:57 localhost kernel: [] rfcomm_sock_connect+0x8b/0xc2 [rfcomm] > > Mar 27 08:10:57 localhost kernel: [sys_connect+96/125] sys_connect+0x60/0x7d > > Mar 27 08:10:57 localhost kernel: [__lock_acquire+1370/3089] ? __lock_acquire+0x55a/0xc11 > > Mar 27 08:10:57 localhost kernel: [sys_socketcall+140/392] sys_socketcall+0x8c/0x188 > > Mar 27 08:10:57 localhost kernel: [syscall_call+7/11] syscall_call+0x7/0xb --- Signed-off-by: Dave Young Signed-off-by: David S. Miller commit 4965291acf8cc2c31dcb2fc7d292a04ee08da2dd Author: Jarek Poplawski Date: Tue Apr 1 23:56:17 2008 -0700 [ROSE/AX25] af_rose: rose_release() fix rose_release() doesn't release sockets properly, e.g. it skips sock_orphan(), so OOPSes are triggered in sock_def_write_space(), which was observed especially while ROSE skbs were kfreed from ax25_frames_acked(). There is also sock_hold() and lock_sock() added - similarly to ax25_release(). Thanks to Bernard Pidoux for substantial help in debugging this problem. Signed-off-by: Jarek Poplawski Reported-and-tested-by: Bernard Pidoux Signed-off-by: David S. Miller commit 1edcf2e1ee2babb011cfca80ad9d202e9c491669 Author: Joy Latten Date: Wed Apr 2 14:36:09 2008 +0800 [CRYPTO] xcbc: Fix crash when ipsec uses xcbc-mac with big data chunk The kernel crashes when ipsec passes a udp packet of about 14XX bytes of data to aes-xcbc-mac. It seems the first xxxx bytes of the data are in first sg entry, and remaining xx bytes are in next sg entry. But we don't check next sg entry to see if we need to go look the page up. I noticed in hmac.c, we do a scatterwalk_sg_next(), to do this check and possible lookup, thus xcbc.c needs to use this routine too. A 15-hour run of an ipsec stress test sending streams of tcp and udp packets of various sizes, using this patch and aes-xcbc-mac completed successfully, so hopefully this fixes the problem. Signed-off-by: Joy Latten Signed-off-by: Herbert Xu commit 0794c66d49885a2f615618ce4940434b5b067d84 Author: Stephen Smalley Date: Mon Mar 17 08:55:18 2008 -0400 selinux: handle files opened with flags 3 by checking ioctl permission Handle files opened with flags 3 by checking ioctl permission. Default to returning FILE__IOCTL from file_to_av() if the f_mode has neither FMODE_READ nor FMODE_WRITE, and thus check ioctl permission on exec or transfer, thereby validating such descriptors early as with normal r/w descriptors and catching leaks of them prior to attempted usage. Signed-off-by: Stephen Smalley Acked-by: Eric Paris Signed-off-by: James Morris commit 044dfc99fe3e1e0fa85bbdd1936ee229e399250c Author: Bjorn Helgaas Date: Mon Mar 31 21:21:48 2008 -0300 V4L/DVB (7486): radio-cadet: wrap PNP probe code in #ifdef CONFIG_PNP Wrap PNP probe code in #ifdef CONFIG_PNP. Without this change, we'll have unresolved references to pnp_get_resource() function when CONFIG_PNP=n. (This is a new interface that's not in mainline yet.) Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 19ac111c038537b73c9a0bca24bad123c2ba5f42 Author: Adrian Bunk Date: Mon Mar 31 09:08:08 2008 -0300 V4L/DVB (7485): v4l2-int-device.c: add MODULE_LICENSE Now that it's in an own module it needs a MODULE_LICENSE. Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit 4b15b5ec36fc54bf3412f042d5833049876446eb Author: Steven Toth Date: Sat Mar 29 17:37:00 2008 -0300 V4L/DVB (7466): Avoid minor model number warning when an OEM HVR1250 board is detected Avoid minor model number warning when an OEM HVR1250 board is detected. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit c88133ecb3db2e3779d897abca960c450623a2a2 Author: Steven Toth Date: Sat Mar 29 17:36:09 2008 -0300 V4L/DVB (7465): Fix eeprom parsing and errors on the HVR1800 products On some models, the valid Hauppauge eeprom data begins at a different offset. This patch avoid unfriendly 'corrupt' eeprom errors during driver load. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 31c8cc9742daa6ffedf7ba8a9bc465b10dee4b52 Author: Steven Toth Date: Sat Mar 29 17:30:26 2008 -0300 V4L/DVB (7464): Convert driver to use a single SRAM memory map This reduces the memory footprint and removes the need to manually configure each map, which lead to a bug where the Fusion EXP 5 board broke for a while. This also fixes digital support again for the DViCO FusionHDTV5Express. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 1a002ebf60c011ed6574b8e3ed9aa85f1ead6a95 Author: Cyrill Gorcunov Date: Tue Apr 1 17:49:13 2008 -0300 V4L/DVB (7461): bttv: fix missed index check We should check for proper index first Signed-off-by: Cyrill Gorcunov Signed-off-by: Mauro Carvalho Chehab commit c137918978889fa4711d286e0a8ca3d93fdcb991 Author: Robert Fitzsimons Date: Tue Apr 1 11:42:28 2008 -0300 V4L/DVB (7400): bttv: Add a radio compat_ioctl file operation Signed-off-by: Robert Fitzsimons Signed-off-by: Mauro Carvalho Chehab commit 1b0690134ec5dafb523a951a8756bb8735382fec Author: Robert Fitzsimons Date: Tue Apr 1 11:41:54 2008 -0300 V4L/DVB (7278): bttv: Re-enable radio tuner support for VIDIOCGFREQ/VIDIOCSFREQ ioctls Signed-off-by: Robert Fitzsimons Signed-off-by: Mauro Carvalho Chehab commit 5cd3955cb8adfc1edf481e9e1cb2289db50ccacb Author: Robert Fitzsimons Date: Tue Apr 1 11:41:54 2008 -0300 V4L/DVB (7277): bttv: Re-enabling radio support requires the use of struct bttv_fh A number of the radio tuner ioctl functions are shared with the TV tuner, these functions require a struct bttv_fh data structure to be allocated and initialized. Signed-off-by: Robert Fitzsimons Signed-off-by: Mauro Carvalho Chehab commit 0e81a8ae37687845f7cdfa2adce14ea6a5f1dd34 Author: Linus Torvalds Date: Tue Apr 1 12:44:26 2008 -0700 Linux 2.6.25-rc8 commit d43c7b37ad787173d08683f05eadeea0398fefdf Author: Vladimir Koutny Date: Mon Mar 31 17:05:03 2008 +0200 mac80211: correct use_short_preamble handling ERP IE bit for preamble mode is 0 for short and 1 for long, not the other way around. This fixes the value reported to the driver via bss_conf->use_short_preamble field. Signed-off-by: Vladimir Koutny Signed-off-by: John W. Linville commit e645890115004fa6c4dd1f9541bb834970c8bcae Author: Michael Buesch Date: Fri Mar 28 11:48:53 2008 +0100 b43: Fix PCMCIA IRQ routing This fixes the IRQ routing on PCMCIA devices. With this patch the card will finally be able to receive IRQs. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 539e6f8cffe9299fbf813ad574535b90ac370031 Author: Michael Buesch Date: Fri Mar 28 11:46:58 2008 +0100 b43: Add DMA mapping failure messages This adds messages for some DMA mapping failures. These are useful for debugging DMA address problems, as they appear on x86_64 machines with IOMMU enabled. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 64f851e410ae37a0990212ae34f0c96b641478f7 Author: Jan Niehusmann Date: Sun Mar 23 20:23:56 2008 +0100 mac80211: trigger ieee80211_sta_work after opening interface ieee80211_sta_work is disabled while network interface is down. Therefore, if you configure wireless parameters before bringing the interface up, these configurations are not yet effective and association fails. A workaround from userspace is calling a command like 'iwconfig wlan0 ap any' after the interface is brought up. To fix this behaviour, trigger execution of ieee80211_sta_work from ieee80211_open when in STA or IBSS mode. Signed-off-by: Jan Niehusmann Signed-off-by: John W. Linville commit 00460dd5f4b886f72699f2245206c935f9fd4b82 Author: Christoph Lameter Date: Tue Apr 1 12:07:41 2008 -0700 Fix undefined count_partial if !CONFIG_SLABINFO Small typo in the patch recently merged to avoid the unused symbol message for count_partial(). Discussion thread with confirmation of fix at http://marc.info/?t=120696854400001&r=1&w=2 Typo in the check if we need the count_partial function that was introduced by 53625b4204753b904addd40ca96d9ba802e6977d Signed-off-by: Christoph Lameter Signed-off-by: Linus Torvalds commit 670e23ceb1aefacfe9aeccfc871e28e9cf973286 Merge: 1002747... 6b84236... Author: Linus Torvalds Date: Tue Apr 1 11:46:14 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: firewire: fw-ohci: plug dma memory leak in AR handler commit 10027471a305c5491d23add394041120720e8a11 Merge: 6143439... 26b63e9... Author: Linus Torvalds Date: Tue Apr 1 11:45:48 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.25 * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.25: sh: Fix up uImage compression type remove include/asm-sh/floppy.h sh: Fix TIF_USEDFPU clearing under FPU emulation. sh: Fix occasional FPU register corruption under preempt. commit 61434392f797cf89872bda87dff8b3395edf4108 Merge: 0e45adb... f9e8b78... Author: Linus Torvalds Date: Tue Apr 1 11:31:31 2008 -0700 Merge branch 'upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/ralf/upstream-linus * 'upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/ralf/upstream-linus: [MIPS] XSS1500: Fix compilation [MIPS] Bigsur: make defconfig more useful. [MIPS] Alchemy: work around clock misdetection on early Au1000 [MIPS] Add missing 4KEC TLB refill handler [MIPS] BCM1480: Fix PCI/HT IO access [MIPS] Fix the installation condition of MIPS clocksource [MIPS] Check for GCC r10k-cache-barrier support [MIPS] I8253: Export i2853_lock to modules. [MIPS] VPE loader: Check result of memory allocation. commit 0e45adb8f5371f3d20a6df21cd13ce32fbe9bf15 Author: Oliver Schuster Date: Tue Apr 1 17:06:21 2008 +0200 [WATCHDOG] Fix it8712f_wdt.c wrong byte order accessing WDT_TIMEOUT This patch corrects an error in the driver it8712f_wdt. You cannot set the 16-bit WDT_TIMEOUT access as a 16-bit outw, because the byte ordering will be wrong. So just do the high 8 bits as a separate access. Signed-off-by: Oliver Schuster Signed-off-by: Linus Torvalds commit d5f1a21ca05cad212829460ee7900915128e3401 Merge: 1f4cfba... 1035d60... Author: Linus Torvalds Date: Tue Apr 1 11:26:26 2008 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] 4875/1: Add MODULE_ALIAS to ixp4xx-beeper module [ARM] 4873/1: Fix ITE 8152 interrupt demux [ARM] 4878/1: Add oabi shim for fstatat64 commit 1f4cfbaa2bede7d371ea2e589e87c6881235a711 Merge: 90c9d4f... 2961cb2... Author: Linus Torvalds Date: Tue Apr 1 11:25:37 2008 -0700 Merge branch 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6 * 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6: hwmon: (w83781d) Fix I/O resource conflict with PNP commit 90c9d4f8eeb9dd31adfb97e897039033b7a72d14 Merge: 3344203... 306dd85... Author: Linus Torvalds Date: Tue Apr 1 11:24:20 2008 -0700 Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds * 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds: leds: Remove incorrect use of preempt_count() from leds-gpio leds: Fix potential leds-gpio oops commit 3344203948f40521c35a0a52e3f1bd9fbb7a1118 Merge: 7731ce6... a7097ff... Author: Linus Torvalds Date: Tue Apr 1 11:23:05 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: make sure input interfaces pin parent input devices Input: apm-power - fix crash when unloading modules Input: pxa27x - fix keypad KPC macros commit 7731ce63d9a863c987dd87b0425451fff0e6cdc8 Author: Rafael J. Wysocki Date: Sun Mar 30 02:19:07 2008 +0100 ACPI PM: Restore the 2.6.24 suspend ordering Some time ago it turned out that our suspend code ordering broke some NVidia-based systems that hung if _PTS was executed with one of the PCI devices, specifically a USB controller, in a low power state. Then, it was noticed that the suspend code ordering was not compliant with ACPI 1.0, although it was compliant with ACPI 2.0 (and later), and it was argued that the code had to be changed for that reason (ref. http://bugzilla.kernel.org/show_bug.cgi?id=9528). So we did, but evidently we did wrong, because it's now turning out that some systems have been broken by this change. Refs: http://bugzilla.kernel.org/show_bug.cgi?id=10340 https://bugzilla.novell.com/show_bug.cgi?id=374217#c16 [ I said at that time that something like this might happend, but the majority of people involved thought that it was improbable due to the necessity to preserve the compliance of hardware with ACPI 1.0. ] This actually is a quite serious regression from 2.6.24. Moreover, the ACPI 1.0 ordering of suspend code introduced another issue that I have only noticed recently. Namely, if the suspend of one of devices fails, the already suspended devices will be resumed without executing _WAK before, which leads to problems on some systems (for example, in such situations thermal management is broken on my HP nx6325). Consequently, it also breaks suspend debugging on the affected systems. Note also, that the requirement to execute _PTS before suspending devices does not really make sense, because the device in question may be put into a low power state at run time for a reason unrelated to a system-wide suspend. For the reasons outlined above, the change of the suspend ordering should be reverted, which is done by the patch below. [ Felix Möller: "I am the reporter from the original Novell Bug: https://bugzilla.novell.com/show_bug.cgi?id=374217 I just tried current git head (two hours ago) with the patch (the one from the beginning of this thread) from Rafael and without it. With the patch my MacBook does suspend without it does not." ] Signed-off-by: Rafael J. Wysocki Tested-by: Felix Möller Signed-off-by: Linus Torvalds commit cabce28ec0a0ae3d0ddfa4461f0e8be94ade9e46 Author: Mikulas Patocka Date: Tue Apr 1 01:22:45 2008 +0200 plip: replace spin_lock_irq with spin_lock_irqsave in irq context Plip uses spin_lock_irq/spin_unlock_irq in its IRQ handler (called from parport IRQ handler), the latter enables interrupts without parport subsystem IRQ handler expecting it. The bug can be seen if you compile kernel with lock dependency checking and use plip --- it produces a warning. This patch changes it to spin_lock_irqsave/spin_lock_irqrestore, so that it doesn't enable interrupts when already disabled. Signed-off-by: Linus Torvalds commit f9e8b782608021c0cbd936923cc0e509521b594d Author: Florian Fainelli Date: Tue Apr 1 15:53:25 2008 +0200 [MIPS] XSS1500: Fix compilation This patch fixes the compilation of the Au1000 XSS1500 board setup and irqmap code. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 0519649f7e855382a0270e6def03c9f84f7ac9b0 Author: Ralf Baechle Date: Mon Mar 31 08:52:30 2008 +0100 [MIPS] Bigsur: make defconfig more useful. Signed-off-by: Ralf Baechle commit 758e285faca4db948ecddefb523007255b29cdb7 Author: Sergei Shtylyov Date: Thu Mar 27 16:09:31 2008 +0300 [MIPS] Alchemy: work around clock misdetection on early Au1000 Work around the CPU clock miscalculation on Au1000DA/HA/HB due the sys_cpupll register being write-only, i.e. actually do what the comment before cal_r4off() function advertised for years but the code failed at. This is achieved by just giving user a chance to define the clock explicitly in the board config. via CONFIG_SOC_AU1000_FREQUENCY option, defaulting to 396 MHz if the option is not given... The patch is based on the AMD's big unpublished patch, the issue seems to be an undocumented errata (or feature :-)... Signed-off-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit b1ec4c8e483d0d00d3114eafdb2c85c1cf3ed4ae Author: Thomas Bogendoerfer Date: Wed Mar 26 16:42:54 2008 +0100 [MIPS] Add missing 4KEC TLB refill handler Early 4KEc were MIPS32r1 and therefore need some love to get a TLB refill handler. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit cf7b7e0b3718418b38e1c20f5236534402e5a6c0 Author: Thomas Bogendoerfer Date: Sun Mar 16 18:14:16 2008 +0100 [MIPS] BCM1480: Fix PCI/HT IO access - removed check for enable HT-PCI bridges, because some CFE version init only the needed one and scanning works even with disabled HT links - implemented I/O access behind HT PCI busses - fixed pci_map for IO resource behind PCI bridge Tested with E100 and Tulip driver. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 447cdf2628b59aa513a42785450b348dced26d8a Author: Yoichi Yuasa Date: Wed Mar 12 23:50:02 2008 +0900 [MIPS] Fix the installation condition of MIPS clocksource Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 82933342c3b157c93f4b09199bcde8f2e961dff6 Author: Thomas Bogendoerfer Date: Sat Mar 15 12:28:51 2008 +0100 [MIPS] Check for GCC r10k-cache-barrier support Check whether gcc supports -mr10-cache-barrier=1 and issue a cleaner error message if not. This option is needed to build working SGI IP28 kernels. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit a05e623f63f7ce2d6b334eb3d7ecb449b907b429 Author: Ralf Baechle Date: Fri Mar 14 14:15:08 2008 +0000 [MIPS] I8253: Export i2853_lock to modules. This fixes: ERROR: "i8253_lock" [drivers/input/misc/pcspkr.ko] undefined! Signed-off-by: Ralf Baechle commit 5408c490a4297556cfe10ba9725b1bd13f4a8377 Author: Ralf Baechle Date: Thu Mar 13 15:16:53 2008 +0000 [MIPS] VPE loader: Check result of memory allocation. And while at it, make it a little cleaner. Issue originally reported by Tiejun Chen (tiejun.chen@windriver.com). Signed-off-by: Ralf Baechle commit a7097ff89c3204737a07eecbc83f9ae6002cc534 Author: Dmitry Torokhov Date: Tue Apr 1 00:22:53 2008 -0400 Input: make sure input interfaces pin parent input devices Recent driver core change causes references to parent devices being dropped early, at device_del() time, as opposed to when all children are freed. This causes oops in evdev with grabbed devices. Take the reference to the parent input device ourselves to ensure that it stays around long enough. Signed-off-by: Dmitry Torokhov commit 399f486286f44d55c4fff0e9cc5d712f2b443489 Merge: 481419e... a9edadb... Author: Dmitry Torokhov Date: Tue Apr 1 00:22:26 2008 -0400 Merge master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus commit f83f1768f833cb45bc93429fdc552252a4f55ac3 Author: Joonwoo Park Date: Mon Mar 31 21:02:47 2008 -0700 [LLC]: skb allocation size for responses Allocate the skb for llc responses with the received packet size by using the size adjustable llc_frame_alloc. Don't allocate useless extra payload. Cleanup magic numbers. So, this fixes oops. Reported by Jim Westfall: kernel: skb_over_panic: text:c0541fc7 len:1000 put:997 head:c166ac00 data:c166ac2f tail:0xc166b017 end:0xc166ac80 dev:eth0 kernel: ------------[ cut here ]------------ kernel: kernel BUG at net/core/skbuff.c:95! Signed-off-by: Joonwoo Park Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit b50660f1fe4ebd6129064e4fba0bd882b60c2425 Author: YOSHIFUJI Hideaki Date: Mon Mar 31 19:38:15 2008 -0700 [IP] UDP: Use SEQ_START_TOKEN. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 5e0751f57ae1aa5cda285f8c565ce202d8d5e5a3 Author: Adrian Bunk Date: Mon Mar 31 19:36:47 2008 -0700 [NET]: Remove Documentation/networking/sk98lin.txt Since the driver is gone there's no point in keeping the documentation. Signed-off-by: Adrian Bunk Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit f4c4b4a63153df028e3964f329cdcbba509c5496 Author: Adrian Bunk Date: Mon Mar 31 19:35:52 2008 -0700 [ATM] atm/idt77252.c: Make 2 functions static This patch makes the following needlessly global functions static: - idt77252_send() - idt77252_dev_close() Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 0ee897d43e390cddcfdb2f4e39635ea7ec1ad2e9 Author: Adrian Bunk Date: Mon Mar 31 19:34:44 2008 -0700 [ATM]: Make atm/he.c:read_prom_byte() static This patch makes the needlessly global read_prom_byte() static. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 4c7966b86b910d6d4869aba1d7417d053ac9682c Author: YOSHIFUJI Hideaki Date: Mon Mar 31 19:30:45 2008 -0700 [IPV6] MCAST: Ensure to check multicast listener(s). In ip6_mc_input(), we need to check whether we have listener(s) for the packet. After commit ae7bf20a6316272acfcaef5d265b18aaa54b41e4, all packets for multicast destinations are delivered to upper layer if IFF_PROMISC or IFF_ALLMULTI is set. In fact, bug was rather ancient; the original (before the commit) intent of the dev->flags check was to skip the ipv6_chk_mcast_addr() call, assuming L2 filters packets appropriately, but it was even not true. Let's explicitly check our multicast list. Signed-off-by: YOSHIFUJI Hideaki Acked-by: David L Stevens Signed-off-by: David S. Miller commit 306dd85c1d41e20a07d1e821e27f5df4927bb5e7 Author: David Brownell Date: Thu Mar 27 00:59:02 2008 +0000 leds: Remove incorrect use of preempt_count() from leds-gpio It appears that we can't just check to see if we're in a task context ... so instead of trying that, just make the relevant leds always schedule a little worklet. Signed-off-by: David Brownell Signed-off-by: Richard Purdie commit d95cbe6158a679d50e03787bb1dc21ff73dac372 Author: Uwe Kleine-König Date: Sun Mar 9 20:42:27 2008 +0000 leds: Fix potential leds-gpio oops Call gpio_cansleep only after gpio_request succeeded avoiding an oops. Signed-off-by: Uwe Kleine-König Acked-by: David Brownell Signed-off-by: Richard Purdie commit 1e85d89fa3954eff332033c0e75f6e2442be44ed Author: Kumar Gala Date: Mon Mar 31 11:53:46 2008 -0500 [POWERPC] Fix defconfigs so we dont set both GENRTC and RTCLIB The new rtc subsystem conflicts with genrtc so don't enable GENRTC if RTCLIB is enabled. Signed-off-by: Kumar Gala commit 049c9d45531d9825bf737891163a794fca1421c5 Author: Kumar Gala Date: Mon Mar 31 11:13:21 2008 -0500 [POWERPC] fsldma: Use compatiable binding as spec Documentation/powerpc/booting-without-of.txt specifies the compatiables we should bind to for this driver (elo, eloplus). Use these instead of the extremely specific 'mpc8540' and 'mpc8349' compatiables. Acked-by: Dan Williams Signed-off-by: Kumar Gala commit 96ce1b6dc5824cc6027c954b9a2e4717c70e01b5 Author: Kim Phillips Date: Fri Mar 28 10:51:33 2008 -0500 [POWERPC] sata_fsl: reduce compatibility to fsl,pq-sata as prescribed in Documentation/powerpc/booting-without-of.txt. Signed-off-by: Kim Phillips Acked-by: Jeff Garzik Signed-off-by: Kumar Gala commit 58bb7a973b1d3c0a5127477fb049bbfc5ce02fb5 Author: Kim Phillips Date: Fri Mar 28 10:51:29 2008 -0500 [POWERPC] 83xx: enable usb in 837x rdb and 83xx defconfigs Signed-off-by: Kim Phillips Signed-off-by: Kumar Gala commit 8e8ff3a309ebdaad51fd7a64a6fd2a2f88b30d87 Author: Anton Vorontsov Date: Wed Mar 12 23:02:13 2008 +0300 [POWERPC] 83xx: Fix wrong USB phy type in mpc837xrdb dts Due to chip constraint MPC837x USB DR module can only use ULPI and serial PHY interfaces. The patch fixes the wrong type in dts. This patch fixes USB malfunctioning on the MPC837xE-RDB boards. Similar patch has been already applied for the MDS boards: commit 28b958859206b7010d03129611c2e444898e3ee4 Author: Li Yang Date: Thu Mar 6 18:42:26 2008 +0800 [POWERPC] 83xx: Fix wrong USB phy type in mpc837xmds dts Signed-off-by: Anton Vorontsov Signed-off-by: Kim Phillips Signed-off-by: Kumar Gala commit 26b63e995113dd48fde66c0d0d65eecc6df53172 Author: Yoshihiro Shimoda Date: Fri Mar 28 15:03:39 2008 +0900 sh: Fix up uImage compression type Fix up uImage compression type. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit 7d7f7c3ed2c519a462a4ae989ad3d55cc7f7f6ec Author: Adrian Bunk Date: Mon Mar 31 01:53:43 2008 +0300 remove include/asm-sh/floppy.h This patch removes the unused include/asm-sh/floppy.h (ARCH_MAY_HAVE_PC_FDC was not enabled). Signed-off-by: Adrian Bunk Signed-off-by: Paul Mundt commit a9edadbf790d72adf6ebed476cb5caf7743e7e4a Author: Mark Lord Date: Fri Mar 28 19:05:25 2008 -0400 fix uevent action-string regression Mark Lord wrote: > > On boot, syslog is flooded with "uevent: unsupported action-string;" messages. .. > Mar 28 14:43:29 shrimp kernel: tty ptyqd: uevent: unsupported > action-string; this will be ignored in a future kernel version > Mar 28 14:43:29 shrimp kernel: tty ptyqe: uevent: unsupported > action-string; this will be ignored in a future kernel version > Mar 28 14:43:29 shrimp kernel: tty ptyqf: uevent: unsupported > action-string; this will be ignored in a future kernel version > Mar 28 14:43:29 shrimp kernel: tty ptyr0: uevent: unsupported > action-string; this will be ignored in a future kernel version .. These messages are a regression compared with 2.6.24, which did not flood the syslog with them. The actual underlying problem was introduced in 2.6.23, when somebody made the string parsing no longer accept nul-terminated strings as a valid input to store_uevent(). Eg. "add\0" was valid prior to 2.6.23, where the code regressed to require "add" without the '\0'. This patch fixes the 2.6.23 / 2.6.24 regressions, by having the code once again tolerate the trailing '\0', if present. According to GregKH, this mainly affects older Ubuntu systems, such as the one I have here that requires this fix. Signed-off-by: Mark Lord Signed-off-by: Linus Torvalds commit eb08b6b973cb91311431c6eea3cc232b97152a84 Author: Björn Steinbrink Date: Sun Mar 30 20:42:59 2008 +0200 evdev: Release eventual input device grabs when getting disconnected When getting disconnected we need to release eventual grabs on the underlying input device as we also release the input device itself. Otherwise, we would try to release the grab when the client that requested it closes its handle, accessing the input device which might already be freed. Signed-off-by: Björn Steinbrink Signed-off-by: Linus Torvalds commit d6e4218e28b75c4701a8c8d12e989de1dc97c182 Author: Adrian Bunk Date: Sun Mar 30 19:53:23 2008 +0300 sound/oss/ac97_codec.c: restore MODULE_LICENSE I accidentally removed the module license from sound/oss/ac97_codec.c in commit 83bad1d764b836a482b88e0a1f44d7a5c3e1fee0 ("scheduled OSS driver removal") Spotted by Roland . Signed-off-by: Adrian Bunk Signed-off-by: Linus Torvalds commit f698f1f7ad69f700dd1c754aa2b4aa7acbd51703 Merge: a77df5c... 6876b3b... Author: Linus Torvalds Date: Sun Mar 30 14:27:01 2008 -0700 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm: fix for non-coherent DMA PowerPC drm: radeon: fix sparse integer as NULL pointer warnings in radeon_mem.c drm/i915: fix oops on agp=off drm/r300: fix bug in r300 userspace hardware wait emission commit a77df5cd1cde203ef11c8e5a3ca47def5f5a1687 Merge: 62ad36a... 3ec25eb... Author: Linus Torvalds Date: Sun Mar 30 14:26:27 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: libata: ATA_EHI_LPM should be ATA_EH_LPM pata_sil680: only enable MMIO on Cell blades commit 62ad36a8a6541de82984e4f1a6cff09535d68098 Merge: 8b9fc8a... 729d4de... Author: Linus Torvalds Date: Sun Mar 30 14:24:32 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: ide: fix defining SUPPORT_VLB_SYNC Revert "ide: change master/slave IDENTIFY order" commit 8b9fc8ae6517086637dd227b7490ec027c867e48 Author: Al Viro Date: Sat Mar 29 03:11:08 2008 +0000 dm9000 trivial annotation Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit b32661e06ccf4be074aca48f0d070d306d4ff8a3 Author: Al Viro Date: Sat Mar 29 03:10:58 2008 +0000 mfd/asic3: ioread/iowrite take pointer, not unsigned long Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 97cf010aeb03fd515613313ad43508e49acae7fb Author: Al Viro Date: Sat Mar 29 03:10:48 2008 +0000 zr364xx __user annotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit f10095c3ecb2116ef8b8fa7a56bd9f8b5fd89031 Author: Al Viro Date: Sat Mar 29 03:10:38 2008 +0000 powerpc/pseries/xcis: ansify Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 1b90c137cc2a0e9b813a8ae316827c493c664146 Author: Al Viro Date: Sat Mar 29 03:10:28 2008 +0000 trivial endianness annotations: infiniband core Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit a4e6d5d3817ebae167e78e5957cd9e624be200c7 Author: Al Viro Date: Sat Mar 29 03:10:18 2008 +0000 fix the broken annotations in fsldma a) every bitwise declaration will give a unique type; use typedefs. b) no need to bother with the stuff pointed to by iomem pointers, unless it's accessed directly. noderef will force us to use helpers anyway. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit f0bb3cfde03ae6d492447883f786c6ee9a4db2ca Author: Al Viro Date: Sat Mar 29 03:10:08 2008 +0000 8250_pci: duplicate initializer in array ([pbn_b0_8_115200]) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit e68970cdd90e3d27297a404a050bad520f9a49cd Author: Al Viro Date: Sat Mar 29 03:09:58 2008 +0000 drivers/crypto/hifn_795x.c trivial endianness annotations NB: remaining endianness warnings in the file are, AFAICS, real bugs. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 97968358ab98c2d5fc5c3071ba70bd6a5faecbb8 Author: Al Viro Date: Sat Mar 29 03:09:48 2008 +0000 virtio_pci iomem annotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit b2ddb9019ea13fb7b62d8e45adcc468376af0de7 Author: Al Viro Date: Sat Mar 29 03:09:38 2008 +0000 dma_page_list ->base_address is a userland pointer Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 2b210adcb08c7966feeb8574cd90514f1e797ae9 Author: Al Viro Date: Sat Mar 29 03:09:18 2008 +0000 cifs: fix misannotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 7d61c4596d11d624efb4bbcbad01f9cf2b321162 Author: Al Viro Date: Sat Mar 29 03:09:28 2008 +0000 compat_sys_wait4() prototype misannotation Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 782a6de47b97d5c5f16c84f7868606fa25781fec Author: Al Viro Date: Sat Mar 29 03:09:08 2008 +0000 fix iomem misannotations in nozomi aka if you see a force-cast, be very suspicious... Signed-off-by: Al Viro Acked-and-tested-by: Frank Seidel Signed-off-by: Linus Torvalds commit 683113a33d5b9262bdf3e5cf9c60d9a2ad02cae3 Author: Al Viro Date: Sat Mar 29 03:08:58 2008 +0000 vma_map: use proper pointer types Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit cc4191dc1d1ec3282d25fb78ece2ed4a9b134b43 Author: Al Viro Date: Sat Mar 29 03:08:48 2008 +0000 drivers/char/n_tty.c misannotated prototype Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 7c43f2b888f9ca1fcb7b07abc4cbff4ca1b8e03b Author: Al Viro Date: Sat Mar 29 03:08:18 2008 +0000 NULL noise: frv cmpxchg() Signed-off-by: Al Viro Acked-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 91e916cffec7c0153c5cbaa447151862a7a9a047 Author: Al Viro Date: Sat Mar 29 03:08:38 2008 +0000 net/rxrpc trivial annotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 74dbf719ed3c49687dab507967ebab9189e91ab0 Author: Al Viro Date: Sat Mar 29 03:08:28 2008 +0000 misc __user misannotations (pointless casts to long) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 53a0c98e117272125183138aefc6b13b4a5f38a1 Author: Al Viro Date: Sat Mar 29 03:08:08 2008 +0000 ioat_dca __iomem annotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 5cf83b9b1279dbcdbcf91522bf766c998270ec44 Author: Al Viro Date: Sat Mar 29 03:07:48 2008 +0000 NULL noise: drivers/misc Signed-off-by: Al Viro Acked-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 5fa1247a2b56f33f88432c24e109deaf91ef8281 Author: Al Viro Date: Sat Mar 29 03:07:38 2008 +0000 NULL noise: drivers/media Acked-by: Harvey Harrison Signed-off-by: Linus Torvalds commit 8481664d373e7e2cea3ea0c2d7a06c9e939b19ee Author: Al Viro Date: Sat Mar 29 03:07:58 2008 +0000 futex_compat __user annotation Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 9dce07f1a441b77a15631cf0ed0238e0baa7ed64 Author: Al Viro Date: Sat Mar 29 03:07:28 2008 +0000 NULL noise: fs/*, mm/*, kernel/* Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 1076d17ac70d1bb28fadc6f4bd96977b56897025 Author: Al Viro Date: Sat Mar 29 03:07:18 2008 +0000 jbd/jbd2 NULL noise Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit b40b5162ac4e5b94d16cd9fb0a87168b1633c7dd Author: Will Newton Date: Fri Mar 28 19:39:17 2008 +0000 Fix a typo in highres.txt A small patch for the highres timers documentation: Signed-off-by: Will newton Signed-off-by: Jonathan Corbet commit f3271f656458063e9bb0da9ba920771ecc6f024c Author: Jan Engelhardt Date: Fri Mar 28 20:09:39 2008 +0100 Fixes to the seq_file document On Friday 2008-03-28 19:20, Jonathan Corbet wrote: >commit 9756ccfda31b4c4544aa010aacf71b6672d668e8 >Date: Fri Mar 28 11:19:56 2008 -0600 > > Add the seq_file documentation patch on top: - add const qualifiers - remove void* casts - use proper specifier (%Ld is not valid) Signed-off-by: Jonathan Corbet Signed-off-by: Jan Engelhardt commit ef40203a09823bc2c69168ffa626c46365e3ca2c Author: Jonathan Corbet Date: Fri Mar 28 11:22:38 2008 -0600 Fill out information on patch tags in SubmittingPatches Add more information about the various patch tags in use, and try to establish a meaning for Reviewed-by: Signed-off-by: Jonathan Corbet commit ded4926aa28992efcb67dd27a642ddf139ac572b Author: Jonathan Corbet Date: Fri Mar 28 11:19:56 2008 -0600 Add the seq_file documentation This is an updated version of the document describing the seq_file interface. Signed-off-by: Jonathan Corbet commit 6876b3bacaaa4c73fb8752b47c84b2b7fad5422a Author: Benjamin Herrenschmidt Date: Fri Mar 28 14:23:07 2008 -0700 drm: fix for non-coherent DMA PowerPC This patch fixes bits of the DRM so to make the radeon DRI work on non-cache coherent PCI DMA variants of the PowerPC processors. It moves the few places that needs change to wrappers to that other architectures with similar issues can easily add their own changes to those wrappers, at least until we have more useful generic kernel API. Signed-off-by: Benjamin Herrenschmidt Cc: "David S. Miller" Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit 2b46278b6af0a4df43016f01a0741d8e0a76bfd4 Author: Harvey Harrison Date: Fri Mar 28 14:23:06 2008 -0700 drm: radeon: fix sparse integer as NULL pointer warnings in radeon_mem.c drivers/char/drm/radeon_mem.c:91:23: warning: Using plain integer as NULL pointer drivers/char/drm/radeon_mem.c:116:28: warning: Using plain integer as NULL pointer drivers/char/drm/radeon_mem.c:124:28: warning: Using plain integer as NULL pointer drivers/char/drm/radeon_mem.c:177:26: warning: Using plain integer as NULL pointer drivers/char/drm/radeon_mem.c:177:53: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit 144a75fa1faa4a81530bded2e59872ef80d496b6 Author: Dave Airlie Date: Sun Mar 30 07:53:58 2008 +1000 drm/i915: fix oops on agp=off From Kernel BZ 10289 - not sure why anyone would boot an intel with no agp but it shouldn't crash. Signed-off-by: Dave Airlie commit 0c76be35194563f56e02fc1775d0fe29281e84d4 Author: Dave Airlie Date: Sun Mar 30 07:51:49 2008 +1000 drm/r300: fix bug in r300 userspace hardware wait emission This interface was originally designed wrong, confusing bit-fields and integers, major brown paper bag going back many years... But userspace only ever used 4 values so fix the interface for new users and fix the implementation to deal with the 4 values userspace has ever emitted (0x1, 0x2, 0x3, 0x6). Signed-off-by: Dave Airlie commit 729d4de96a5c090e40a918a41f63b7fb1b27c240 Author: Bartlomiej Zolnierkiewicz Date: Sat Mar 29 19:55:17 2008 +0100 ide: fix defining SUPPORT_VLB_SYNC We need to check for CONFIG_{CRIS,FRV} not {CRIS,FRV}. Signed-off-by: Bartlomiej Zolnierkiewicz commit f367bed005b06db7067fc378a5f2253fac54e5d9 Author: Bartlomiej Zolnierkiewicz Date: Sat Mar 29 19:48:21 2008 +0100 Revert "ide: change master/slave IDENTIFY order" This reverts commit b140b99c413ce410197cfcd4014e757cd745226a. [ conflict in drivers/ide/ide-probe.c fixed manually ] It turned out that probing order change causes problems for some drives: http://bugzilla.kernel.org/show_bug.cgi?id=10239 Since root causes are still being investigated and are unlikely to be fixed before 2.6.25 lets revert this change for now. As a result cable detection becomes less reliable when compared with 2.6.24 but the affected drives are useable again. Reported-by: Richard Genoud Bisected-by: Richard Genoud Signed-off-by: Bartlomiej Zolnierkiewicz commit 3ec25ebd69dc120d0590e64caaf1477aa88c8a93 Author: Tejun Heo Date: Thu Mar 27 18:37:14 2008 +0900 libata: ATA_EHI_LPM should be ATA_EH_LPM EH actions are ATA_EH_* not ATA_EHI_*. Rename ATA_EHI_LPM to ATA_EH_LPM. Signed-off-by: Tejun Heo Cc: Kristen Carlson Accardi Signed-off-by: Jeff Garzik commit 0f436eff54f90419ac1b8accfb3e6e17c4b49a4e Author: Benjamin Herrenschmidt Date: Fri Mar 28 14:52:29 2008 -0700 pata_sil680: only enable MMIO on Cell blades There have been reported regressions of the SIL 680 driver when using MMIO, so this makes it only try MMIO on Cell blades where it's known to be necessary (the host bridge doesn't do PIO on these). We'll try to find the root problem with MMIO separately. Signed-off-by: Benjamin Herrenschmidt Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 9f09243890a4e7d2e06d40b56f26a64f88c6ec8b Author: David S. Miller Date: Fri Mar 28 19:51:40 2008 -0700 [LLC]: Kill llc_station_mac_sa symbol export. Signed-off-by: David S. Miller commit 98846b5e2363e96a2b821e211bf0169afb38a54a Merge: e8e16b7... bd6ca63... Author: David S. Miller Date: Fri Mar 28 19:44:58 2008 -0700 Merge branch 'upstream-davem' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit bd6ca6375b9f18f40e814f391d9d1abaa916bc72 Author: Ingo Molnar Date: Fri Mar 28 14:41:30 2008 -0700 forcedeth: fix locking bug with netconsole While using netconsole on forcedeth, lockdep noticed the following locking bug: ================================= [ INFO: inconsistent lock state ] 2.6.24-rc6 #6 Signed-off-by: Ingo Molnar --------------------------------- inconsistent {softirq-on-W} -> {in-softirq-W} usage. udevd/719 [HC0[0]:SC1[1]:HE1:SE0] takes: (_xmit_ETHER){-+..}, at: [] dev_watchdog+0x1c/0xb9 {softirq-on-W} state was registered at: [] mark_held_locks+0x4e/0x66 [] trace_hardirqs_on+0xfe/0x136 [] _spin_unlock_irq+0x22/0x42 [] nv_start_xmit_optimized+0x347/0x37a [] netpoll_send_skb+0xa4/0x147 [] netpoll_send_udp+0x238/0x242 [] write_msg+0x6d/0x9b [] __call_console_drivers+0x4e/0x5a [] _call_console_drivers+0x57/0x5b [] release_console_sem+0x11c/0x1b9 [] register_console+0x1eb/0x1f3 [] init_netconsole+0x119/0x15f [] kernel_init+0x147/0x294 [] kernel_thread_helper+0x7/0x10 [] 0xffffffff irq event stamp: 950 hardirqs last enabled at (950): [] _spin_unlock_irq+0x22/0x42 hardirqs last disabled at (949): [] _spin_lock_irq+0xc/0x38 softirqs last enabled at (0): [] copy_process+0x375/0x126d softirqs last disabled at (947): [] do_softirq+0x61/0xc6 other info that might help us debug this: no locks held by udevd/719. stack backtrace: Pid: 719, comm: udevd Not tainted 2.6.24-rc6 #6 [] show_trace_log_lvl+0x12/0x25 [] show_trace+0xd/0x10 [] dump_stack+0x57/0x5f [] print_usage_bug+0x10a/0x117 [] mark_lock+0x121/0x402 [] __lock_acquire+0x3d1/0xb64 [] lock_acquire+0x4e/0x6a [] _spin_lock+0x23/0x32 [] dev_watchdog+0x1c/0xb9 [] run_timer_softirq+0x133/0x193 [] __do_softirq+0x78/0xed [] do_softirq+0x61/0xc6 ======================= eth1: link down The fix is to disable/restore irqs instead of disable/enable. Signed-off-by: Ingo Molnar Cc: Ayaz Abdulla Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit c6cbcad1ec0dbb08b640d1ca166a42dcb4fb8faa Author: Mike Frysinger Date: Fri Mar 28 14:41:15 2008 -0700 usb net: asix does not really need 10/100mbit The asix usb driver currently depends on NET_ETHERNET which means you cannot enable this driver if you only have 1000mbit enabled in your kernel. Since there is no real dependency between the NET_ETHERNET portion and the asix driver, simply drop it. Signed-off-by: Mike Frysinger Cc: Greg KH Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 51a491c92e7a8e4c2fd9ffdb1f046429300a4619 Author: Mike Frysinger Date: Wed Mar 26 18:21:58 2008 -0700 Blackfin EMAC Driver: delete unused variables to fixup gcc warnings Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Jeff Garzik commit e66f4168d133b9d848dead4c031d11a84caec6dc Author: Valentine Barshak Date: Thu Mar 27 17:43:57 2008 +0300 ibm_newemac: emac_tx_csum typo fix Move the "&& skb->ip_summed == CHECKSUM_PARTIAL" part out of emac_has_feature parameters. Signed-off-by: Valentine Barshak Signed-off-by: Jeff Garzik commit 5beaf7d6f89c13b2414656e994d3ee6350e99d3a Author: Michael Ellerman Date: Fri Mar 28 12:17:33 2008 +1100 Make pasemi_mac.c depend on PPC_PASEMI to prevent link errors drivers/net/pasemi_mac.c is enabled by CONFIG_PASEMI_MAC, which depends on PPC64 && PCI. However pasemi_mac.c uses several routines that are only built when PPC_PASEMI is selected. This can lead to an unbuildable config: ERROR: ".pasemi_dma_start_chan" [drivers/net/pasemi_mac.ko] undefined! So make CONFIG_PASEMI_MAC depend on PPC_PASEMI instead of PPC64. Signed-off-by: Michael Ellerman Signed-off-by: Jeff Garzik commit f70e550df83f9eb98b342257aa589860630eae41 Author: Sreenivasa Honnur Date: Fri Mar 28 17:35:36 2008 -0400 S2io: Version update for Tx completion patch - Updated version number. - Resubmitting with correct version update. - this patch to be applied for upstream-davem branch Signed-off-by: Surjit Reang Signed-off-by: Sreenivasa Honnur Signed-off-by: Jeff Garzik commit 1424fd904c5424922f7403a21ad6419ae7e7c76e Author: David Brownell Date: Fri Mar 28 14:50:26 2008 -0700 drivers/net/usb/pegasus.c: remove in_atomic() check Remove superfluous in-atomic() check; ethtool MII ops are called from task context. Signed-off-by: David Brownell Cc: Greg KH Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 47df976c4ef1456b39b59caf4b8fc64f77e0e5b9 Author: Peter Korsgaard Date: Fri Mar 28 22:25:29 2008 +0100 dm9601: Fix multicast hash table handling The loop forgot to walk the net->mc_list list, so only the first multicast address was programmed into the hash table. Signed-off-by: Jeff Garzik commit 209261c019f56d77f6a0cc38048e9a6f25867589 Author: Grant Grundler Date: Sun Mar 23 23:23:10 2008 -0600 [netdrvr] tulip_read_eeprom fixes for BUG 4420 If "location" is > "addr_len" bits, the high bits of location would interfere with the READ_CMD sent to the eeprom controller. A patch was submitted to bug: http://bugzilla.kernel.org/show_bug.cgi?id=4420 which simply truncated the "location", read whatever was in "location modulo addr_len", and returned that value. That avoids confusing the eeprom but seems like the wrong solution to me. Correct would be to not read beyond "1 << addr_len" address of the eeprom. I am submitting two changes to implement this: 1) tulip_read_eeprom will return zero (since we can't return -EINVAL) if this is attempted (defensive programming). 2) In tulip_core.c, fix the tulip_read_eeprom caller so they don't iterate past addr_len bits and make sure the entire tp->eeprom[] array is cleared. I konw we don't strictly need both. I would prefer both in the tree since it documents the issue and provides a second "defense" from the bug from creeping back in. Signed-off-by: Grant Grundler Signed-off-by: Jeff Garzik commit e8e16b706e8406f1ab3bccab16932ebc513896d8 Author: David S. Miller Date: Fri Mar 28 17:30:18 2008 -0700 [INET]: inet_frag_evictor() must run with BH disabled Based upon a lockdep trace from Dave Jones. Signed-off-by: David S. Miller commit 0ef4730927c54cac5006759fa0cf50fbeff9d191 Author: Matti Linnanvuori Date: Fri Mar 28 16:33:00 2008 -0700 net: Comment dev_kfree_skb_irq and dev_kfree_skb_any better Comment dev_kfree_skb_irq and dev_kfree_skb_any better. Signed-off-by: Matti Linnanvuori Signed-off-by: David S. Miller commit a5a04819c5740cb1aa217af2cc8f5ef26f33d744 Author: Joonwoo Park Date: Fri Mar 28 16:28:36 2008 -0700 [LLC]: station source mac address kill unnecessary llc_station_mac_sa. Signed-off-by: Joonwoo Park Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 27785d83e4256fedeff45256d4c827fdcb47f2ce Author: Joonwoo Park Date: Fri Mar 28 16:27:33 2008 -0700 [LLC]: bogus llc packet length discard llc packet which has bogus packet length. Signed-off-by: Joonwoo Park Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 2ba2506ca7ca62c56edaa334b0fe61eb5eab6ab0 Author: Herbert Xu Date: Fri Mar 28 16:25:26 2008 -0700 [NET]: Add preemption point in qdisc_run The qdisc_run loop is currently unbounded and runs entirely in a softirq. This is bad as it may create an unbounded softirq run. This patch fixes this by calling need_resched and breaking out if necessary. It also adds a break out if the jiffies value changes since that would indicate we've been transmitting for too long which starves other softirqs. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 32aced7509cb20ef3ec67c9b56f5b55c41dd4f8d Author: Rusty Russell Date: Fri Mar 28 16:23:19 2008 -0700 [NET]: Don't send ICMP_FRAG_NEEDED for GSO packets Commit 9af3912ec9e30509b76cb376abb65a4d8af27df3 ("[NET] Move DF check to ip_forward") added a new check to send ICMP fragmentation needed for large packets. Unlike the check in ip_finish_output(), it doesn't check for GSO. Signed-off-by: Rusty Russell Signed-off-by: David S. Miller commit d41a95e04ae80b77ddc186d0d97e6b439684adb8 Author: David S. Miller Date: Fri Mar 28 16:19:26 2008 -0700 [ATM] firestream: Fix uninitialized var warning. All code paths set tmc0 in some way, but GCC can't see that for some reason. Explicitly initialize to zero. Signed-off-by: David S. Miller commit d5fb2962c6157495e1365e4f30568ed3830d35a7 Author: Robert P. J. Day Date: Fri Mar 28 16:17:38 2008 -0700 bluetooth: replace deprecated RW_LOCK_UNLOCKED macros The older RW_LOCK_UNLOCKED macros defeat lockdep state tracing so replace them with the newer __RW_LOCK_UNLOCKED macros. Signed-off-by: Robert P. J. Day Acked-by: Marcel Holtmann Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 293a3839304cac32e58929db0c23e00a509fbfc5 Author: Robert P. J. Day Date: Fri Mar 28 16:16:39 2008 -0700 lapb: use the shorter LIST_HEAD form for brevity Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 6952d8923bcc8d6b8b43b065cfe9a31bb24f0d58 Author: David S. Miller Date: Fri Mar 28 16:15:38 2008 -0700 [BOND]: Fix warning in bond_sysfs.c original_mtu is only used if we end up with a non-NULL dev, and it is assigned in all such cases, but GCC can't see that. Signed-off-by: David S. Miller commit c819914e0d5cc85cccf5fe7542fcb9586286bc28 Author: FUJITA Tomonori Date: Fri Mar 28 15:56:01 2008 -0700 sparc64: remove unused calc_npages() in iommu_common.h Signed-off-by: FUJITA Tomonori Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit f08802572965873af97e74337d5740bfa2542941 Author: FUJITA Tomonori Date: Fri Mar 28 15:55:41 2008 -0700 sparc64: add the segment boundary checking to IOMMUs while merging SG entries Some IOMMUs allocate memory areas spanning LLD's segment boundary limit. It forces low level drivers to have a workaround to adjust scatter lists that the IOMMU builds. We are in the process of making all the IOMMUs respect the segment boundary limits to remove such work around in LLDs. SPARC64 IOMMUs were rewritten to use the IOMMU helper functions and the commit 89c94f2f70d093f59b55d3ea8042d13889169346 made the IOMMUs not allocate memory areas spanning the segment boundary limit. However, SPARC64 IOMMUs allocate memory areas first then try to merge them (while some IOMMUs walk through all the sg entries to see how they can be merged first and allocate memory areas). So SPARC64 IOMMUs also need the boundary limit checking when they try to merge sg entries. Signed-off-by: FUJITA Tomonori Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 76cc86ee6b3c261b96ea3ee2f4c6dfd127335881 Author: David S. Miller Date: Thu Mar 27 16:51:44 2008 -0700 [SPARC64]: Don't open-code {get,put}_cpu_var() in flush_tlb_pending(). Noticed by Andrew Morton. Signed-off-by: David S. Miller commit af8be4e4b316df36a00c1e52a9970c253783b57e Merge: d478376... 6758f95... Author: Linus Torvalds Date: Fri Mar 28 15:23:01 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: [PATCH] mnt_expire is protected by namespace_sem, no need for vfsmount_lock [PATCH] do shrink_submounts() for all fs types [PATCH] sanitize locking in mark_mounts_for_expiry() and shrink_submounts() [PATCH] count ghost references to vfsmounts [PATCH] reduce stack footprint in namespace.c commit d478376cb0dc9ab16a2b6e02fd8cd1174e724c64 Author: Jesper Juhl Date: Fri Mar 28 14:16:12 2008 -0700 driver core: fix small mem leak in driver_add_kobj() The Coverity checker spotted that we leak the storage allocated to 'name' in int driver_add_kobj(). The leak looks legit to me - this is the code : int driver_add_kobj(struct device_driver *drv, struct kobject *kobj, const char *fmt, ...) { va_list args; char *name; int ret; va_start(args, fmt); name = kvasprintf(GFP_KERNEL, fmt, args); ^^^^^^^^ This dynamically allocates space... va_end(args); if (!name) return -ENOMEM; return kobject_add(kobj, &drv->p->kobj, "%s", name); ^^^^^^^^ This neglects to free the space allocated } Inside kobject_add() a copy of 'name' will be made and used. As far as I can see, Coverity is correct in flagging this as a leak, but I'd like some configmation before the patch is applied. This should fix it. Signed-off-by: Jesper Juhl Cc: Greg KH Cc: Kay Sievers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4cdc1d1fa5c5ac14dc21be19832f02fd0b83867e Author: Alasdair G Kergon Date: Fri Mar 28 14:16:10 2008 -0700 dm io: write error bits form long not int write_err is an unsigned long used with set_bit() so should not be passed around as unsigned int. http://bugzilla.kernel.org/show_bug.cgi?id=10271 Signed-off-by: Alasdair G Kergon Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d250dad64a154a9f95ec3574e2ffc97d9f61a19c Author: Andrew Morton Date: Fri Mar 28 14:16:09 2008 -0700 memstick: suppress uninitialized-var warning drivers/memstick/host/tifm_ms.c: In function 'tifm_ms_data_event': drivers/memstick/host/tifm_ms.c:185: warning: 'p_off' may be used uninitialized in this function Cc: Alex Dubov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a5691c0f7b65b7aa9d237e55f05e691352caac7 Author: Anton Vorontsov Date: Fri Mar 28 14:16:09 2008 -0700 mtd: maps/physmap: fix oops in suspend/resume/shutdown ops # reboot ... [ 42.351266] Flash device refused suspend due to active operation (state 0) [ 42.358195] Unable to handle kernel NULL pointer dereference at virtual address 00000078 [ 42.360060] pgd = c7d9c000 [ 42.362769] [00000078] *pgd=a7d8d031, *pte=00000000, *ppte=00000000 [ 42.372902] Internal error: Oops: 17 [#1] [ 42.376911] Modules linked in: [ 42.379980] CPU: 0 Not tainted (2.6.25-rc2-10642-ge8f2594-dirty #73) [ 42.380000] PC is at physmap_flash_shutdown+0x28/0x54 ... [ 42.380000] Backtrace: [ 42.380000] [] (physmap_flash_shutdown+0x0/0x54) from [] (platform_drv_shutdown+0x20/0x24) [ 42.380000] r5:28121969 r4:c0229e08 [ 42.380000] [] (platform_drv_shutdown+0x0/0x24) from [] (device_shutdown+0x60/0x88) [ 42.380000] [] (device_shutdown+0x0/0x88) from [] (kernel_restart_prepare+0x2c/0x3c) [ 42.380000] r4:00000000 [ 42.380000] [] (kernel_restart_prepare+0x0/0x3c) from [] (kernel_restart+0x14/0x48) [ 42.380000] [] (kernel_restart+0x0/0x48) from [] (sys_reboot+0xe8/0x1f8) [ 42.380000] r4:01234567 [ 42.380000] [] (sys_reboot+0x0/0x1f8) from [] (ret_fast_syscall+0x0/0x2c) [ 42.380000] r7:00000058 r6:00000004 r5:00000001 r4:00000000 [ 42.380000] Code: 0a000009 e7953004 e1a00003 e1a0e00f (e593f078) [ 42.650051] ---[ end trace 6d6c26a0fc3141de ]--- Segmentation fault INIT: no more processes left in this runlevel While looping for mtd[i]s, we should stop at the mtd[i] == NULL. This patch also removes unnecessary "if (info)" checks: suspend/resume/shutdown ops are executed only if probe() is succeeded, so info is guaranteed to be !NULL. Signed-off-by: Anton Vorontsov Cc: David Brownell Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3f1e9070f63b0eecadfa059959bf7c9dbe835962 Author: Milan Broz Date: Fri Mar 28 14:16:07 2008 -0700 dm crypt: fix ctx pending Fix regression in dm-crypt introduced in commit 3a7f6c990ad04e6f576a159876c602d14d6f7fef ("dm crypt: use async crypto"). If write requests need to be split into pieces, the code must not process them in parallel because the crypto context cannot be shared. So there can be parallel crypto operations on one part of the write, but only one write bio can be processed at a time. This is not optimal and the workqueue code needs to be optimized for parallel processing, but for now it solves the problem without affecting the performance of synchronous crypto operation (most of current dm-crypt users). http://bugzilla.kernel.org/show_bug.cgi?id=10242 http://bugzilla.kernel.org/show_bug.cgi?id=10207 Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ab473a52500528a276920a26cb35b722a868ab6e Author: Ananth N Mavinakayanahalli Date: Fri Mar 28 14:16:07 2008 -0700 kprobes: another MAINTAINERS update Prasanna has taken a new job. Update the MAINTAINERS file Signed-off-by: Ananth N Mavinakayanahalli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 363df3994f034e7fe87d146fcf19f6a3ab2a2291 Author: Michael Hennerich Date: Fri Mar 28 14:16:06 2008 -0700 blackfin video driver: fix bug when opening/reading/mmaping BF54x and BF52x framebuffer simultaneously http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3974 opening/reading/mmaping BF54x and BF52x framebuffer simultaneously triggers BUG: failure at mm/nommu.c:470/add_nommu_vma() Add VM_SHARED to the default vm_flags Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Cc: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ef9861c7496185e96fb0a3b57ff0b4880876d0a Author: Bryan Wu Date: Fri Mar 28 14:16:05 2008 -0700 blackfin video driver: update the BF52x EZKIT video framebuffer driver according to LKML review - Allocate pseudo_palette together with fbinfo - Code cleanup Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Cc: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a99acc832de1104afaba02d7c2576fd9b9fd6422 Author: Jean Delvare Date: Fri Mar 28 14:16:04 2008 -0700 pci: revert SMBus unhide on HP Compaq nx6110 This reverts commit 3c0a654e390d00fef9d8faed758f5e1e8078adb5 and fixes kernel bug #10245: http://bugzilla.kernel.org/show_bug.cgi?id=10245 The HP Compaq nc6120 has the same PCI sub-device ID as the nx6110, and the SMBus is used by ACPI for thermal management on the nc6120, so Linux should not attach a native driver to it. This means that this quirk is unsafe and has to be removed. I also added a comment to help developers realize that adding new IDs to this SMBus unhiding quirk table should be done only with great care, and in particular only after checking that ACPI is not making use of the SMBus. Signed-off-by: Jean Delvare Cc: Tomasz Koprowski Acked-by: Greg Kroah-Hartman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ac7ec85bcc70ef605657fb2d1106d27ab3bd131 Author: Christoph Hellwig Date: Fri Mar 28 14:16:03 2008 -0700 ext3: don't export ext3_fs.h and jbd.h Neither of the headers actually compiles when included from userpsace nor should it be made available as userspace tools should be using the libraries or at least headers from e2fsprogs. Signed-off-by: Christoph Hellwig Acked-by: "Theodore Ts'o" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3afe3925987adc3fc052abe404e44520c2072fc8 Author: Harvey Harrison Date: Fri Mar 28 14:16:01 2008 -0700 kernel: add bit rotation helpers for 16 and 8 bit Will replace open-coded variants elsewhere. Done in the same style as the 32-bit versions. Signed-off-by: Harvey Harrison Acked-by: Randy Dunlap Cc: Johannes Berg Cc: John W. Linville Cc: Joe Perches Cc: Jiri Benc Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 589499c04b9929ce3de9a9cc591f8a24cf1ebc91 Author: Alessandro Zummo Date: Fri Mar 28 14:15:59 2008 -0700 ixp4xx-beeper: add MODULE_ALIAS The following patch allows ixp4xx-beeper to be loaded by udev automatically when compiled as a module with kernel versions 2.4.24 and greater. This patch is required because 43cc71eed1250755986da4c0f9898f9a635cb3bf ("platform: prefix MODALIAS with "platform:"") changed the modalias string to have the extra prefix. LKG7102D7:~# udevinfo -a -p /sys/devices/platform/ixp4xx-beeper.4 looking at device '/devices/platform/ixp4xx-beeper.4': KERNEL=="ixp4xx-beeper.4" SUBSYSTEM=="platform" DRIVER=="" ATTR{modalias}=="platform:ixp4xx-beeper" udev therefore tries to modprobe platform:ixp4xx-beeper instead of ixp4xx-beeper. LKG7102D7:~# udevtest /sys/devices/platform/ixp4xx-beeper.4 ... import_uevent_var: import into environment: 'PHYSDEVBUS=platform' import_uevent_var: import into environment: 'MODALIAS=platform:ixp4xx-beeper' main: looking at device '/devices/platform/ixp4xx-beeper.4' from subsystem 'platform' wait_for_sysfs: file '/sys/devices/platform/ixp4xx-beeper.4/bus' appeared after 0 loops main: run: 'socket:/org/kernel/udev/monitor' main: run: '/sbin/modprobe --use-blacklist platform:ixp4xx-beeper' With this patch, depmod adds an alias line (see below) to modules.alias which allows modprobe to load the right module. alias platform:ixp4xx-beeper ixp4xx-beeper Signed-off-by: Gordon Farquharson Signed-off-by: Alessandro Zummo Cc: Kay Sievers Cc: David Brownell Cc: Atsushi Nemoto Cc: Greg Kroah-Hartman Cc: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 773647a09add08a6e8165843a338220a6f833705 Author: Andy Whitcroft Date: Fri Mar 28 14:15:58 2008 -0700 update checkpatch.pl to version 0.16 This version brings proper quote tracking across lines, and brings the handling of comments into the same mechanism ensuring nesting is correctly handled. It brings the usual flurry of fixes for false positives. It also brings a number of new checks. The most contentious change will likely be the checks for NR_CPUS as this throws some new warnings in kernel/sched.c. Of note: - all new quote tracking across lines - all new comment tracking - new more direct, less ambigious wording for some warnings - recommends mutexes and completions over semaphores - recommends strict_strto* over simple_strto* - report on direct use of NR_CPUS Andy Whitcroft (22): Version: 0.16 string quote tracking should cross line boundaries check spacing round -> correctly across newlines checks for linux/ against asm/ include files should be warnings standardise on 'required' and 'prohibited' take the first end of condition when parsing statements values: cope with unbalanced brackets preprocessor #elif is not a function preprocessor #if should not trigger trailing statement checks test: allow us to limit output to a single error recommend real mutexes over semaphores asm checks should mirror those for __asm__ warn on semaphores being used in place of completions trailing ; on control structure should ignore do {} while (); recommend strict_strtoX over simple_strtoX redo comment handling as a quote type use of NR_CPUS is normally wrong consistant spacing should only be about spaces if brace check suppression should only apply to the top-levels use tr/// to align spacing for operators move to using four parameter form of substr check and report modifications to include/asm Signed-off-by: Andy Whitcroft Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3387b804d8850494bdf91d16800925a3fd46e37d Author: Andrew Morton Date: Fri Mar 28 14:15:57 2008 -0700 net/9p/trans_fd.c:p9_trans_fd_init(): module_init functions should return 0 on success Mar 23 09:06:31 opensuse103 kernel: Installing 9P2000 support Mar 23 09:06:31 opensuse103 kernel: sys_init_module: '9pnet_fd'->init suspiciously returned 1, it should follow 0/-E convention Mar 23 09:06:31 opensuse103 kernel: sys_init_module: loading module anyway... Mar 23 09:06:31 opensuse103 kernel: Pid: 5323, comm: modprobe Not tainted 2.6.25-rc6-git7-default #1 Mar 23 09:06:31 opensuse103 kernel: [] sys_init_module+0x172b/0x17c9 Mar 23 09:06:31 opensuse103 kernel: [] sys_mmap2+0x62/0x77 Mar 23 09:06:31 opensuse103 kernel: [] sysenter_past_esp+0x6d/0xa9 Mar 23 09:06:31 opensuse103 kernel: ======================= Cc: Latchesar Ionkov Cc: Eric Van Hensbergen Cc: David S. Miller Cc: "Rafael J. Wysocki" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f706d5d22c35e18ed13a4b2b4991aac75bf39df5 Author: Dave Jones Date: Fri Mar 28 14:15:56 2008 -0700 audit: silence two kerneldoc warnings in kernel/audit.c Silence two kerneldoc warnings. Warning(kernel/audit.c:1276): No description found for parameter 'string' Warning(kernel/audit.c:1276): No description found for parameter 'len' [also fix a typo for bonus points] Signed-off-by: Dave Jones Acked-by: Randy Dunlap Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5214b729e1c2dc3af8f55e6c4c548844c3bea0f5 Author: Sven Schnelle Date: Fri Mar 28 14:15:55 2008 -0700 afs: prevent double cell registration kafs doesn't check if the cell already exists - so if you do an echo "add newcell.org 1.2.3.4" >/proc/fs/afs/cells it will try to create this cell again. kobject will also complain about a double registration. To prevent such problems, return -EEXIST in that case. Signed-off-by: Sven Schnelle Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fac533c2505b39faf30492cd3f0844c0da51c75c Author: David Howells Date: Fri Mar 28 14:15:54 2008 -0700 afs: add a MAINTAINERS record for AFS Add a MAINTAINERS record for AFS. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b41e74ad1b0bf7bc51765ae74e5dc564afc3e48 Author: Dmitri Monakhov Date: Fri Mar 28 14:15:52 2008 -0700 vfs: fix data leak in nobh_write_end() Current nobh_write_end() implementation ignore partial writes(copied < len) case if page was fully mapped and simply mark page as Uptodate, which is totally wrong because area [pos+copied, pos+len) wasn't updated explicitly in previous write_begin call. It simply contains garbage from pagecache and result in data leakage. #TEST_CASE_BEGIN: ~~~~~~~~~~~~~~~~ In fact issue triggered by classical testcase open("/mnt/test", O_RDWR|O_CREAT|O_TRUNC, 0666) = 3 ftruncate(3, 409600) = 0 writev(3, [{"a", 1}, {NULL, 4095}], 2) = 1 ##TESTCASE_SOURCE: ~~~~~~~~~~~~~~~~~ #include #include #include #include #include #include int main(int argc, char **argv) { int fd, ret; void* p; struct iovec iov[2]; fd = open(argv[1], O_RDWR|O_CREAT|O_TRUNC, 0666); ftruncate(fd, 409600); iov[0].iov_base="a"; iov[0].iov_len=1; iov[1].iov_base=NULL; iov[1].iov_len=4096; ret = writev(fd, iov, sizeof(iov)/sizeof(struct iovec)); printf("writev = %d, err = %d\n", ret, errno); return 0; } ##TESTCASE RESULT: ~~~~~~~~~~~~~~~~~~ [root@ts63 ~]# mount | grep mnt2 /dev/mapper/test on /mnt2 type ext2 (rw,nobh) [root@ts63 ~]# /tmp/writev /mnt2/test writev = 1, err = 0 [root@ts63 ~]# hexdump -C /mnt2/test 00000000 61 65 62 6f 6f 74 00 00 f0 b9 b4 59 3a 00 00 00 |aeboot.....Y:...| 00000010 20 00 00 00 00 00 00 00 21 00 00 00 00 00 00 00 | .......!.......| 00000020 df df df df df df df df df df df df df df df df |................| 00000030 3a 00 00 00 2a 00 00 00 21 00 00 00 00 00 00 00 |:...*...!.......| 00000040 60 c0 8c 00 00 00 00 00 40 4a 8d 00 00 00 00 00 |`.......@J......| 00000050 00 00 00 00 00 00 00 00 41 00 00 00 00 00 00 00 |........A.......| 00000060 74 69 6d 65 20 64 64 20 69 66 3d 2f 64 65 76 2f |time dd if=/dev/| 00000070 6c 6f 6f 70 30 20 20 6f 66 3d 2f 64 65 76 2f 6e |loop0 of=/dev/n| skip.. 00000f50 00 00 00 00 00 00 00 00 31 00 00 00 00 00 00 00 |........1.......| 00000f60 6d 6b 66 73 2e 65 78 74 33 20 2f 64 65 76 2f 76 |mkfs.ext3 /dev/v| 00000f70 7a 76 67 2f 74 65 73 74 20 2d 62 34 30 39 36 00 |zvg/test -b4096.| 00000f80 a0 fe 8c 00 00 00 00 00 21 00 00 00 00 00 00 00 |........!.......| 00000f90 23 31 32 30 35 39 35 30 34 30 34 00 3a 00 00 00 |#1205950404.:...| 00000fa0 20 00 8d 00 00 00 00 00 21 00 00 00 00 00 00 00 | .......!.......| 00000fb0 d0 cf 8c 00 00 00 00 00 10 d0 8c 00 00 00 00 00 |................| 00000fc0 00 00 00 00 00 00 00 00 41 00 00 00 00 00 00 00 |........A.......| 00000fd0 6d 6f 75 6e 74 20 2f 64 65 76 2f 76 7a 76 67 2f |mount /dev/vzvg/| 00000fe0 74 65 73 74 20 20 2f 76 7a 20 2d 6f 20 64 61 74 |test /vz -o dat| 00000ff0 61 3d 77 72 69 74 65 62 61 63 6b 00 00 00 00 00 |a=writeback.....| 00001000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| As you can see file's page contains garbage from pagecache instead of zeros. #TEST_CASE_END Attached patch: - Add sanity check BUG_ON in order to prevent incorrect usage by caller, This is function invariant because page can has buffers and in no zero *fadata pointer at the same time. - Always attach buffers to page is it is partial write case. - Always switch back to generic_write_end if page has buffers. This is reasonable because if page already has buffer then generic_write_begin was called previously. Signed-off-by: Dmitri Monakhov Reviewed-by: Nick Piggin Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d4a788f15302877ff2cb08f22009e290a36a209 Author: YAMAMOTO Takashi Date: Fri Mar 28 14:15:50 2008 -0700 memcgroup: fix spurious EBUSY on memory cgroup removal Call mm_free_cgroup earlier. Otherwise a reference due to lazy mm switching can prevent cgroup removal. Signed-off-by: YAMAMOTO Takashi Acked-by: Balbir Singh Cc: KAMEZAWA Hiroyuki Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c703d35fa91911dd92a18c31a718853f483ad80 Author: Jonathan Corbet Date: Fri Mar 28 14:15:49 2008 -0700 in_atomic(): document why it is unsuitable for general use Discourage people from inappropriately using in_atomic() Signed-off-by: Jonathan Corbet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f67e74ca690d9f168cc468b7d714caad492740a6 Author: Andrew Morton Date: Fri Mar 28 14:15:49 2008 -0700 drivers/char/drm/ati_pcigart.c: fix printk warning drivers/char/drm/ati_pcigart.c: In function 'drm_ati_pcigart_init': drivers/char/drm/ati_pcigart.c:125: warning: format '%08X' expects type 'unsigned int', but argument 3 has type 'dma_addr_t' Cc: Dave Airlie Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f5afaed58a7d560fb7ba4a028662de22011a7a7 Author: Sebastian Siewior Date: Fri Mar 28 14:15:47 2008 -0700 mtd: nand: add out label in rfc_from4 This has been forgotten in commit f5bbdacc419 ("[MTD] NAND Modularize read function") and nobody compiled the driver. Signed-off-by: Sebastian Siewior Cc: Thomas Gleixner Cc: David Woodhouse Cc: Joern Engel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9c312058b2e530722c7bd30c1b6f26eea35dc5fe Author: Andrew Morton Date: Fri Mar 28 11:47:34 2008 -0700 Avoid false positive warnings in kmap_atomic_prot() with DEBUG_HIGHMEM I believe http://bugzilla.kernel.org/show_bug.cgi?id=10318 is a false positive. There's no way in which networking will be using highmem pages here, so it won't be taking the KM_USER0 kmap slot, so there's no point in performing these checks. Cc: Pawel Staszewski Cc: Ingo Molnar Acked-by: Christoph Lameter Cc: "David S. Miller" Signed-off-by: Andrew Morton [ Really sad. We lose almost all real-life coverage of the debug tests with this patch. Now it will only report problems for the cases where people actually end up using a HIGHMEM page, not when they just _might_ use one. - Linus ] Signed-off-by: Linus Torvalds commit 1f71f50342c6fe4fbdebe63b0fd196972a70e281 Author: Roland Dreier Date: Fri Mar 28 10:28:17 2008 -0700 RDMA/cxgb3: Program hardware IRD with correct value Because of a typo in iwch_accept_cr(), the cxgb3 connection handling code programs the hardware IRD (incoming RDMA read queue depth) with the value that is passed in for the ORD (outgoing RDMA read queue depth). In particular this means that if an application passes in IRD > 0 and ORD = 0 (which is a completely sane and valid thing to do for an app that expects only incoming RDMA read requests), then the hardware will end up programmed with IRD = 0 and the app will fail in a mysterious way. Fix this by using "ep->ird" instead of "ep->ord" in the intended place. Signed-off-by: Roland Dreier Acked-by: Steve Wise Signed-off-by: Linus Torvalds commit 8c178beeb20ce3801c4851d41342d0ca32ad292c Merge: 48d3d82... a2ceff5... Author: Linus Torvalds Date: Fri Mar 28 10:34:21 2008 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] Fix missed hardware breakpoints across multiple threads commit 0b977608e6c8ba2d40445999bbcac8b411bf3f6a Author: Ke Wei Date: Thu Mar 27 14:55:41 2008 +0800 [SCSI] mvsas: check subsystem id add support for mv6480 chip which subsystem id is 6480 in spite of device id is 6440. Signed-off-by: Ke Wei Signed-off-by: James Bottomley commit e9ff91b6927079307b5d481a93beac4134e923eb Author: Ke Wei Date: Thu Mar 27 14:55:33 2008 +0800 [SCSI] mvsas: get phy info. removed unused code and attached SATA address makes use of port id. enable HBA interrupt after calling sas_register_ha(); Signed-off-by: Ke Wei Signed-off-by: James Bottomley commit 963829e650516d140e1f2ddaa6c9ba7cce4c2c6a Author: Ke Wei Date: Thu Mar 27 14:55:23 2008 +0800 [SCSI] mvsas: fix the buffer of rx DMA overflow bug fix the buffer of rx DMA overflow bug. fix default queue depth. Signed-off-by: Ke Wei Signed-off-by: James Bottomley commit 8121ed420285885654af133a6ca1919590f98917 Author: Ke Wei Date: Thu Mar 27 14:55:04 2008 +0800 [SCSI] mvsas: retry aborting task. Signed-off-by: Ke Wei Signed-off-by: James Bottomley commit 4e52fc0a0a2ec2158691efba3f149f6416481255 Author: Ke Wei Date: Thu Mar 27 14:54:50 2008 +0800 [SCSI] mvsas: check hd whether unplugged if unplugged, driver's queuecommand function will return SAS_PHY_DOWN. task->lldd_task is used for saving its slot info. Signed-off-by: Ke Wei Signed-off-by: James Bottomley commit 1fce5e5da03b18505179882be27cc697f24d6b58 Author: Ke Wei Date: Thu Mar 27 14:54:23 2008 +0800 [SCSI] mvsas : interrupt handling When a slot is busy, we will not free this slot until slot reset is completed. When unplugged the disk, we should release all command tasks with unplugged port that have been sent. If MVS_USE_TASKLET is defined, we can enable tasklet. Default is off. Signed-off-by: Ke Wei Signed-off-by: James Bottomley commit ee1f1c2ef95258351e1ecb89a2dbd2763cb3a6ed Author: Ke Wei Date: Thu Mar 27 14:53:47 2008 +0800 [SCSI] mvsas: a tag handler implementation add a new tag handler to create slot num. When a slot num is busy, new task can't hit this bit which was already used. plumb in phy speeds. Signed-off-by: Ke Wei Signed-off-by: James Bottomley commit 0eb9ddd82a5cb08f3622345e723d236eefa0039f Author: Ke Wei Date: Thu Mar 27 14:53:24 2008 +0800 [SCSI] mvsas: fill in error info record and phy mode6 bits. and remove some unused members from struct. Signed-off-by: Ke Wei Signed-off-by: James Bottomley commit 48d3d8263c491822d50e64547bae5f6b4a54ec59 Author: Ingo Molnar Date: Fri Mar 28 14:28:03 2008 +0100 revert "ACPI: drivers/acpi: elide a non-zero test on a result that is never 0" Revert commit 1192aeb957402b45f311895f124e4ca41206843c ("ACPI: drivers/acpi: elide a non-zero test on a result that is never 0") because it turns out that thermal_cooling_device_register() does actually return NULL if CONFIG_THERMAL is turned off (then the routine turns into a dummy inline routine in the header files that returns NULL unconditionally). This was found with randconfig testing, causing a crash during bootup: initcall 0x78878534 ran for 13 msecs: acpi_button_init+0x0/0x51() Calling initcall 0x78878585: acpi_fan_init+0x0/0x2c() BUG: unable to handle kernel NULL pointer dereference at 00000000 IP: [<782b8ad0>] acpi_fan_add+0x7d/0xfd *pde = 00000000 Oops: 0000 [#1] Modules linked in: Pid: 1, comm: swapper Not tainted (2.6.25-rc7-sched-devel.git-x86-latest.git #14) EIP: 0060:[<782b8ad0>] EFLAGS: 00010246 CPU: 0 EIP is at acpi_fan_add+0x7d/0xfd EAX: b787c718 EBX: b787c400 ECX: b782ceb4 EDX: 00000007 ESI: 00000000 EDI: b787c6f4 EBP: b782cee0 ESP: b782cecc DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068 Process swapper (pid: 1, ti=b782c000 task=b7846000 task.ti=b782c000) Stack: b787c459 00000000 b787c400 78790888 b787c60c b782cef8 782b6fb8 ffffffda b787c60c 00000000 78790958 b782cf0c 783005d7 b787c60c 78790958 78790584 b782cf1c 783007f6 b782cf28 00000000 b782cf40 782ffc4a 78790958 b794d558 Call Trace: [<782b6fb8>] ? acpi_device_probe+0x3e/0xdb [<783005d7>] ? driver_probe_device+0x82/0xfc [<783007f6>] ? __driver_attach+0x3a/0x70 [<782ffc4a>] ? bus_for_each_dev+0x3e/0x60 [<7830048c>] ? driver_attach+0x14/0x16 [<783007bc>] ? __driver_attach+0x0/0x70 [<7830006a>] ? bus_add_driver+0x9d/0x1b0 [<783008c3>] ? driver_register+0x47/0xa3 [<7813db00>] ? timespec_to_ktime+0x9/0xc [<782b7331>] ? acpi_bus_register_driver+0x3a/0x3c [<78878592>] ? acpi_fan_init+0xd/0x2c [<78863656>] ? kernel_init+0xac/0x1f9 [<788635aa>] ? kernel_init+0x0/0x1f9 [<78114563>] ? kernel_thread_helper+0x7/0x10 ======================= Code: 6e 78 e8 57 44 e7 ff 58 e9 93 00 00 00 8b 55 f0 8d bb f4 02 00 00 80 4b 2d 10 8b 03 e8 87 cb ff ff 8d 83 18 03 00 00 80 63 2d ef 35 00 00 00 00 50 68 e8 9c 6e 78 e8 22 44 e7 ff b9 b6 9c 6e EIP: [<782b8ad0>] acpi_fan_add+0x7d/0xfd SS:ESP 0068:b782cecc ---[ end trace 778e504de7e3b1e3 ]--- Kernel panic - not syncing: Attempted to kill init! Signed-off-by: Ingo Molnar Acked-by: Julia Lawall Signed-off-by: Linus Torvalds commit 1035d60d92325bddcc4248df5a27dcd5698f5931 Author: Gordon Farquharson Date: Wed Mar 26 04:57:49 2008 +0100 [ARM] 4875/1: Add MODULE_ALIAS to ixp4xx-beeper module The following patch allows ixp4xx-beeper to be loaded by udev automatically when compiled as a module with kernel versions 2.4.24 and greater. This patch is required because commit 43cc71eed1250755986da4c0f9898f9a635cb3bf adds "platform:" to the modalias string. LKG7102D7:~# udevinfo -a -p /sys/devices/platform/ixp4xx-beeper.4 looking at device '/devices/platform/ixp4xx-beeper.4': KERNEL=="ixp4xx-beeper.4" SUBSYSTEM=="platform" DRIVER=="" ATTR{modalias}=="platform:ixp4xx-beeper" udev therefore tries to modprobe platform:ixp4xx-beeper instead of ixp4xx-beeper. LKG7102D7:~# udevtest /sys/devices/platform/ixp4xx-beeper.4 ... import_uevent_var: import into environment: 'PHYSDEVBUS=platform' import_uevent_var: import into environment: 'MODALIAS=platform:ixp4xx-beeper' main: looking at device '/devices/platform/ixp4xx-beeper.4' from subsystem 'platform' wait_for_sysfs: file '/sys/devices/platform/ixp4xx-beeper.4/bus' appeared after 0 loops main: run: 'socket:/org/kernel/udev/monitor' main: run: '/sbin/modprobe --use-blacklist platform:ixp4xx-beeper' With this patch, depmod adds an alias line (see below) to modules.alias which allows modprobe to load the right module. modules.alias: alias platform:ixp4xx-beeper ixp4xx-beeper Signed-off-by: Gordon Farquharson Signed-off-by: Alessandro Zummo Signed-off-by: Russell King commit b626517751b8d78abc8465971e3120ebd686673a Author: Mike Rapoport Date: Sun Mar 23 15:32:33 2008 +0100 [ARM] 4873/1: Fix ITE 8152 interrupt demux This patch fixes misprints in ITE 8152 interrupt demuxing Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit c60afe1014dc4b8d2211fb6cc9dd08ebab31d00b Author: Riku Voipio Date: Fri Mar 28 13:08:09 2008 +0100 [ARM] 4878/1: Add oabi shim for fstatat64 Ccoreutils and other have started using fstatat64. Thus, we need a shim for it if we want to support modern oldabi userlands (such as Debian/arm/lenny) with EABI kernels. See http://bugs.debian.org/462677 Acked-by: Nicolas Pitre Signed-off-by: Riku Voipio Signed-off-by: Russell King commit a2ceff5e555e664751bc653a4d9b133efa18c742 Author: Michael Ellerman Date: Fri Mar 28 19:11:48 2008 +1100 [POWERPC] Fix missed hardware breakpoints across multiple threads There is a bug in the powerpc DABR (data access breakpoint) handling, which can result in us missing breakpoints if several threads are trying to break on the same address. The circumstances are that do_page_fault() calls do_dabr(), this clears the DABR (sets it to 0) and sets up the signal which will report to userspace that the DABR was hit. The do_signal() code will restore the DABR value on the way out to userspace. If we reschedule before calling do_signal(), __switch_to() will check the cached DABR value and compare it to the new thread's value, if they match we don't set the DABR in hardware. So if two threads have the same DABR value, and we schedule from one to the other after taking the interrupt for the first thread hitting the DABR, the second thread will run without the DABR set in hardware. The cleanest fix is to move the cache update into set_dabr(), that way we can't forget to do it. Reported-by: Jan Kratochvil Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit e72e9c23ee025a4c063ca112ba0a6059f9ecc9b7 Author: Linus Torvalds Date: Thu Mar 27 20:56:33 2008 -0700 Revert "SLUB: remove useless masking of GFP_ZERO" This reverts commit 3811dbf67162bd08412f1b0e02e554f353e93bdb. The masking was not at all useless, and it was sensible. We handle GFP_ZERO in the caller, and passing it down to any page allocator logic is buggy and wrong. Signed-off-by: Linus Torvalds commit 3480c63bdf008e9289aab94418f43b9592978fff Author: Patrick McHardy Date: Thu Mar 27 20:28:10 2008 -0700 [LLC]: Restrict LLC sockets to root LLC currently allows users to inject raw frames, including IP packets encapsulated in SNAP. While Linux doesn't handle IP over SNAP, other systems do. Restrict LLC sockets to root similar to packet sockets. [ Modified Patrick's patch to use CAP_NEW_RAW --DaveM ] Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8536bbaff44addff8d2ac66da1156c95b1e00c4e Merge: 7529963... a6bd8e1... Author: Linus Torvalds Date: Thu Mar 27 18:52:43 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: lguest: comment documentation update. lguest: Don't need comment terminator before disk section. lguest: lguest.txt documentation fix lguest: Add puppies which where previously missing. virtio_pci: unregister virtio device at device remove commit 349fb2d6492e7d644bc8e670ba11d764a3e2901b Merge: 50fd440... 9896322... Author: David S. Miller Date: Thu Mar 27 18:00:00 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 6758f953d05378d907a164c67934cd86183d9c88 Author: Al Viro Date: Sat Mar 22 16:14:30 2008 -0400 [PATCH] mnt_expire is protected by namespace_sem, no need for vfsmount_lock Signed-off-by: Al Viro commit c35038becad0adb0e25261fff66d85b1a6ddd0c2 Author: Al Viro Date: Sat Mar 22 00:46:23 2008 -0400 [PATCH] do shrink_submounts() for all fs types ... and take it out of ->umount_begin() instances. Call with all locks already taken (by do_umount()) and leave calling release_mounts() to caller (it will do release_mounts() anyway, so we can just put into the same list). Signed-off-by: Al Viro commit bcc5c7d2b692e5319db00b0dd020ce98723103b1 Author: Al Viro Date: Sat Mar 22 00:21:53 2008 -0400 [PATCH] sanitize locking in mark_mounts_for_expiry() and shrink_submounts() ... and fix a race on access of ->mnt_share et.al. without namespace_sem in the latter. Signed-off-by: Al Viro commit 7c4b93d8269b9d35971a8239426b1f6ddc3d5ef7 Author: Al Viro Date: Fri Mar 21 23:59:49 2008 -0400 [PATCH] count ghost references to vfsmounts make propagate_mount_busy() exclude references from the vfsmounts that had been isolated by umount_tree() and are just waiting for release_mounts() to dispose of their ->mnt_parent/->mnt_mountpoint. Signed-off-by: Al Viro commit 1a39068954e33f4bf3e09375a8112dcc801c4688 Author: Al Viro Date: Fri Mar 21 20:48:19 2008 -0400 [PATCH] reduce stack footprint in namespace.c A lot of places misuse struct nameidata when they need struct path. Signed-off-by: Al Viro commit 50fd4407b8bfbde7c1a0bfe4f24de7df37164342 Author: David S. Miller Date: Thu Mar 27 17:42:50 2008 -0700 [NET]: Use local_irq_{save,restore}() in napi_complete(). Based upon a lockdep report. Since ->poll() can be invoked from netpoll with interrupts disabled, we must not unconditionally enable interrupts in napi_complete(). Instead we must use local_irq_{save,restore}(). Noticed by Peter Zijlstra: netpoll_poll() poll_napi() spin_trylock(&napi->poll_lock) poll_one_napi() napi->poll() := sky2_poll() napi_complete() local_irq_disable() local_irq_enable() <--- *BUG* irq_exit() do_softirq() net_rx_action() spin_lock(&napi->poll_lock) <--- Deadlock! Because we still hold the lock.... Signed-off-by: David S. Miller commit a6bd8e13034dd7d60b6f14217096efa192d0adc1 Author: Rusty Russell Date: Fri Mar 28 11:05:53 2008 -0500 lguest: comment documentation update. Took some cycles to re-read the Lguest Journey end-to-end, fix some rot and tighten some phrases. Only comments change. No new jokes, but a couple of recycled old jokes. Signed-off-by: Rusty Russell commit e18b094f0faa4889b06a112da17230a10b88c815 Author: Rusty Russell Date: Fri Mar 28 11:05:52 2008 -0500 lguest: Don't need comment terminator before disk section. Signed-off-by: Rusty Russell commit 9b7a448e2b23101a776ddf639c9037d47244f7ab Author: Paul Bolle Date: Tue Mar 11 13:36:14 2008 +0100 lguest: lguest.txt documentation fix Mention the config options for the Virtio drivers and move the Virtualization menu to the toplevel. Signed-off-by: Paul Bolle Signed-off-by: Rusty Russell commit b488f22d70f1c2451618b9991b9665d2c6b31e2b Author: Tim Ansell Date: Mon Feb 11 18:13:42 2008 +1030 lguest: Add puppies which where previously missing. lguest doesn't have features, it has puppies! Signed-off-by: Timothy R Ansell Signed-off-by: Rusty Russell commit bd6c26900bae19bd51abedfc9a8a281afbba3a06 Author: Anthony Liguori Date: Wed Mar 19 20:35:04 2008 -0500 virtio_pci: unregister virtio device at device remove Make sure to call unregister_virtio_device() when a virtio device is removed. Otherwise, virtio_pci.ko cannot be rmmod'd. This was spotted by Marcelo Tosatti. Signed-off-by: Anthony Liguori Signed-off-by: Rusty Russell commit 8eeee8b152ae6bbe181518efaf62ba8e9c613693 Author: Denis V. Lunev Date: Thu Mar 27 16:55:53 2008 -0700 [NETFILTER]: Replate direct proc_fops assignment with proc_create call. This elliminates infamous race during module loading when one could lookup proc entry without proc_fops assigned. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 7529963cb9c5db6821f0a00fc8426ebed79fc2e0 Merge: 3085354... 5c29934... Author: Linus Torvalds Date: Thu Mar 27 16:12:25 2008 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] update pasemi_defconfig commit 920fc941a9617f95ccb283037fe6f8a38d95bb69 Author: Thomas Graf Date: Thu Mar 27 16:08:03 2008 -0700 [ESP]: Ensure IV is in linear part of the skb to avoid BUG() due to OOB access ESP does not account for the IV size when calling pskb_may_pull() to ensure everything it accesses directly is within the linear part of a potential fragment. This results in a BUG() being triggered when the both the IPv4 and IPv6 ESP stack is fed with an skb where the first fragment ends between the end of the esp header and the end of the IV. This bug was found by Dirk Nehring . Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 15c73d5afd9f7489ca6a71cd0bef60f94c0c85a8 Author: James Bottomley Date: Wed Mar 26 09:26:13 2008 -0700 [SCSI] libsas: Warn if ATA device detected but CONFIG_SCSI_SAS_ATA not set We give a very cryptic error if an ATA device is seen on a SAS port but libsas isn't compiled to include libata to handle them. Add an extra warning to explain specifically what the problem is. Acked-by: Darrick J. Wong Signed-off-by: James Bottomley commit 77cca462c69d827fabee0ef3fdab86109c2fe8d8 Author: James Smart Date: Fri Mar 21 17:18:23 2008 -0400 [SCSI] hosts.c: fixes for "no error" reported after error scenarios This patch corrects some cases in scsi_add_host() that fail, but the "error" return code was not reset after a prior use which set it to a non-error value. Patch cut against scsi-rc-fixes-2.6 Signed-off-by: James Smart Signed-off-by: James Bottomley commit 3085354de635179d70c240e6d942bcbd1d93056c Author: Ingo Molnar Date: Thu Mar 27 21:29:09 2008 +0100 x86: prefetch fix #2 Linus noticed a second bug and an uncleanliness: - we'd return on any instruction fetch fault - we'd use both the value of 16 and the PF_INSTR symbol which are the same and make no sense the cleanup nicely unifies this piece of logic. Signed-off-by: Ingo Molnar commit fb8c7fb25d7d754a992481e9f763ec0b5889c4d9 Merge: 074fcab... 2e8fe71... Author: Linus Torvalds Date: Thu Mar 27 13:20:47 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: xen: fix UP setup of shared_info xen: fix RMW when unmasking events x86, documentation: nmi_watchdog=2 works on x86_64 x86: stricter check in follow_huge_addr() rdc321x: GPIO routines bugfixes x86: ptrace.c: fix defined-but-unused warnings x86: fix prefetch workaround commit 6b84236d37ef602d1e4f52b27162c20394e83359 Author: Jarod Wilson Date: Tue Mar 25 16:47:16 2008 -0400 firewire: fw-ohci: plug dma memory leak in AR handler There's an ugly little memory leak in firewire-ohci's ar_context_tasklet(), where we're not freeing up some of the memory we use for each ar_buffer, due to a moving pointer. The problem has been there for a while, but didn't get noticed until after converting the AR routines over to use coherent DMA and I started running into I/O stall- outs with the following message output repeatedly to the console: PCI-DMA: Out of IOMMU space for 53248 bytes at device 0000:04:09.0 Plugging this leak is definitely necessary, but unfortunately, isn't the entire answer to my problem, it only increases the amount of I/O that I can do before hitting the problem. Still working on tracking down the root cause.. Signed-off-by: Jarod Wilson Signed-off-by: Stefan Richter commit 9896322ae180e3520edec71e2480318e7196119c Author: Ivo van Doorn Date: Thu Mar 27 17:15:24 2008 +0100 rt2x00: Ignore set_state(STATE_SLEEP) failure Some hardware never seem to accept the "goto sleep" command, since the legacy drivers don't have suspend and resume handlers the entire code for it was basically a educated guess (based on the "enable radio" code). This patch will only print a warning when the "goto sleep" command fails, and just continues as usual. Perhaps that means the device will not reach a sleep state and consumes more power then it should, but it is equally possible it simply needs some seconds longer to sleep. Anyway, by making the command non-fatal it will not block the rest of the suspend procedure. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ebd9302842ecae39061b269531c0f5e278949cd3 Author: Julia Lawall Date: Tue Mar 4 14:58:59 2008 -0800 drivers/net/wireless/iwlwifi/iwl-4965.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 Cc: Tomas Winkler Cc: Guy Cohen Cc: Reinette Chatre Cc: Zhu Yi Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit dd1f635fe0f14d8c03181f9f1f743b127694fc14 Author: Holger Schurig Date: Wed Mar 19 15:24:21 2008 +0100 libertas: fix spinlock recursion bug This fixes a bug detected by CONFIG_DEBUG_SPINLOCK: if_cs_get_int_status() is only called from lbs_thread(), via priv->hw_get_int_status. However, lbs_thread() has already taken the priv->driver_lock. So it's a fault to take the same lock again here. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 074fcab574a36edec35d2e74955250f2e17d6000 Merge: c94b432... a2a3952... Author: Linus Torvalds Date: Thu Mar 27 09:14:07 2008 -0700 Merge branch 'avr32-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6 * 'avr32-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6: avr32: Fix bug in early resource allocation code avr32: Build fix for CONFIG_BUG=n avr32: Work around byteswap bug in gcc < 4.2 commit 2e8fe719b57bbdc9e313daed1204bb55fed3ed44 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:36:53 2008 -0700 xen: fix UP setup of shared_info We need to set up the shared_info pointer once we've mapped the real shared_info into its fixmap slot. That needs to happen once the general pagetable setup has been done. Previously, the UP shared_info was set up one in xen_start_kernel, but that was left pointing to the dummy shared info. Unfortunately there's no really good place to do a later setup of the shared_info in UP, so just do it once the pagetable setup has been done. [ Stable: needed in 2.6.24.x ] Signed-off-by: Jeremy Fitzhardinge Cc: Stable Kernel Signed-off-by: Ingo Molnar commit 04c44a080d2f699a3042d4e743f7ad2ffae9d538 Author: Jeremy Fitzhardinge Date: Mon Mar 17 16:36:52 2008 -0700 xen: fix RMW when unmasking events xen_irq_enable_direct and xen_sysexit were using "andw $0x00ff, XEN_vcpu_info_pending(vcpu)" to unmask events and test for pending ones in one instuction. Unfortunately, the pending flag must be modified with a locked operation since it can be set by another CPU, and the unlocked form of this operation was causing the pending flag to get lost, allowing the processor to return to usermode with pending events and ultimately deadlock. The simple fix would be to make it a locked operation, but that's rather costly and unnecessary. The fix here is to split the mask-clearing and pending-testing into two instructions; the interrupt window between them is of no concern because either way pending or new events will be processed. This should fix lingering bugs in using direct vcpu structure access too. [ Stable: needed in 2.6.24.x ] Signed-off-by: Jeremy Fitzhardinge Cc: Stable Signed-off-by: Ingo Molnar commit 5abbcf29928966b28d70f8a0da424f55582f8603 Author: Marcin Slusarz Date: Sun Mar 23 21:06:30 2008 +0100 x86, documentation: nmi_watchdog=2 works on x86_64 Signed-off-by: Marcin Slusarz Cc: Peter Zijlstra Signed-off-by: Ingo Molnar commit 25e59881f109dc6378ebc463ae4c2de907435de3 Author: Christoph Lameter Date: Wed Mar 26 21:03:04 2008 -0700 x86: stricter check in follow_huge_addr() The first page of the compound page is determined in follow_huge_addr() but then PageCompound() only checks if the page is part of a compound page. PageHead() allows checking if this is indeed the first page of the compound. Cc: Jeremy Fitzhardinge Signed-off-by: Christoph Lameter Signed-off-by: Ingo Molnar commit b2ef749720a97053d60605a7456772a1752164cc Author: Florian Fainelli Date: Wed Mar 26 22:39:15 2008 +0100 rdc321x: GPIO routines bugfixes This patch fixes the use of GPIO routines which are in the PCI configuration space of the RDC321x, therefore reading/writing to this space without spinlock protection can be problematic. We also now request and free GPIOs and support the MGB100 board, previous code was very AR525W-centric. Signed-off-by: Volker Weiss Signed-off-by: Florian Fainelli Signed-off-by: Ingo Molnar commit d8d4f157b8d828bc837f0eb2ee4a2dd40dbdd572 Author: Andrew Morton Date: Tue Mar 4 15:05:39 2008 -0800 x86: ptrace.c: fix defined-but-unused warnings arch/x86/kernel/ptrace.c:548: warning: 'ptrace_bts_get_size' defined but not used arch/x86/kernel/ptrace.c:558: warning: 'ptrace_bts_read_record' defined but not used arch/x86/kernel/ptrace.c:607: warning: 'ptrace_bts_clear' defined but not used arch/x86/kernel/ptrace.c:617: warning: 'ptrace_bts_drain' defined but not used arch/x86/kernel/ptrace.c:720: warning: 'ptrace_bts_config' defined but not used arch/x86/kernel/ptrace.c:788: warning: 'ptrace_bts_status' defined but not used Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bc713dcf35c427ae8377fb9a4d1b7f891054ce13 Author: Ingo Molnar Date: Thu Mar 27 15:58:28 2008 +0100 x86: fix prefetch workaround some early Athlon XP's and Opterons generate bogus faults on prefetch instructions. The workaround for this regressed over .24 - reinstate it. Signed-off-by: Ingo Molnar commit c94b4321ebde51a80a805f7a5e102ac083ae2ac9 Merge: f6d107f... 1192aeb... Author: Linus Torvalds Date: Thu Mar 27 08:03:22 2008 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: ACPI: drivers/acpi: elide a non-zero test on a result that is never 0 pnpacpi: reduce printk severity for "pnpacpi: exceeded the max number of ..." cpuidle: fix 100% C0 statistics regression cpuidle: fix cpuidle time and usage overflow ACPI: fix mis-merge -- invoke acpi_unlazy_tlb() only on C3 entry ACPI: fix a regression of ACPI device driver autoloading ACPI: SBS: remove typo from sbchc.c commit f6d107fb10def502522b10bfb7af9533afbb8274 Author: Benjamin Herrenschmidt Date: Thu Mar 27 14:52:15 2008 +1100 Give futex init a proper name The futex init function is called init(). This is a pain in the neck when debugging when you code dies in ... init :-) This renames it to futex_init(). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds commit a2a395256134a24d906d5e67e03e853c580b37ed Author: Haavard Skinnemoen Date: Thu Mar 27 15:24:12 2008 +0100 avr32: Fix bug in early resource allocation code add_reserved_region() tries to keep the resource list sorted, so when looking for a place to insert the new resource, it may break out before the last entry. When this happens, the list is broken in two because the sibling field of the new entry doesn't point to the next resource. Fix it by updating the new resource's sibling field appropriately. Signed-off-by: Haavard Skinnemoen commit 2961cb22ef02850d90e7a12c28a14d74e327df8d Author: Jean Delvare Date: Sun Mar 9 13:34:28 2008 +0100 hwmon: (w83781d) Fix I/O resource conflict with PNP Only request I/O ports 0x295-0x296 instead of the full I/O address range. This solves a conflict with PNP resources on a few motherboards. Also request the I/O ports in two parts (4 low ports, 4 high ports) during device detection, otherwise the PNP resource makes the request (and thus the detection) fail. This fixes lm-sensors ticket #2306: http://www.lm-sensors.org/ticket/2306 Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 1192aeb957402b45f311895f124e4ca41206843c Author: Julia Lawall Date: Thu Mar 27 01:48:22 2008 -0400 ACPI: drivers/acpi: elide a non-zero test on a result that is never 0 The function thermal_cooling_device_register always returns either a valid pointer or a value made with ERR_PTR, so a test for non-zero on the result will always succeed. The problem was found using the following semantic match. (http://www.emn.fr/x-info/coccinelle/) // @a@ expression E, E1; statement S,S1; position p; @@ E = thermal_cooling_device_register(...) ... when != E = E1 if@p (E) S else S1 @n@ position a.p; expression E,E1; statement S,S1; @@ E = NULL ... when != E = E1 if@p (E) S else S1 @depends on !n@ expression E; statement S,S1; position a.p; @@ * if@p (E) S else S1 // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 86d9fc1293aa9456677eab94e9fd2d3a10920548 Merge: 08dcf29... 8e92b66... 33fd7af... 7642d21... 5c9fcb5... Author: Len Brown Date: Wed Mar 26 22:50:09 2008 -0400 Merge branches 'release', 'idle', 'redhat-bugzilla-436589', 'sbs' and 'video' into release commit ee20a0dd5400e771ff93eb7f2bcc731eab1f377e Merge: d55a452... 732c8bd... Author: Linus Torvalds Date: Wed Mar 26 18:35:50 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (43 commits) [IPSEC]: Fix BEET output [ICMP]: Dst entry leak in icmp_send host re-lookup code (v2). [AX25]: Remove obsolete references to BKL from TODO file. [NET]: Fix multicast device ioctl checks [IRDA]: Store irnet_socket termios properly. [UML]: uml-net: don't set IFF_ALLMULTI in set_multicast_list [VLAN]: Don't copy ALLMULTI/PROMISC flags from underlying device netxen, phy/marvell, skge: minor checkpatch fixes S2io: Handle TX completions on the same CPU as the sender for MIS-X interrupts b44: Truncate PHY address skge napi->poll() locking bug rndis_host: fix oops when query for OID_GEN_PHYSICAL_MEDIUM fails cxgb3: Fix lockdep problems with sge.reg_lock ehea: Fix IPv6 support dm9000: Support promisc and all-multi modes dm9601: configure MAC to drop invalid (crc/length) packets dm9601: add Hirose USB-100 device ID Marvell PHY m88e1111 driver fix netxen: fix rx dropped stats netxen: remove low level tx lock ... commit d55a4528f7f607ca2872fec18574bc8cec060f05 Merge: 08dcf29... c101b08... Author: Linus Torvalds Date: Wed Mar 26 18:35:22 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64]: Define TASK_SIZE_OF() [SPARC64]: flush_ptrace_access() needs preemption disable. [SPARC64]: Update defconfig. [SPARC64]: Fix allnoconfig build, ptrace.c missing CONFIG_COMPAT checks. [SPARC64]: Fix __get_cpu_var in preemption-enabled area. [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/signal.c [SPARC64]: Fix most sparse warnings in arch/sparc64/kernel/sys_sparc.c [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/time.c [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/ptrace.c [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/irq.c [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/iommu.c [SPARC64]: Fix sparse errors in arch/sparc64/kernel/traps.c [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/{cpu,setup}.c [SPARC64]: Adjust {TLBTEMP,TSBMAP}_BASE. [SPARC64]: Make save_stack_trace() more efficient. commit c101b088ba0ed16d7109b2f3c2d16798d162a535 Author: David S. Miller Date: Wed Mar 26 17:32:33 2008 -0700 [SPARC64]: Define TASK_SIZE_OF() This make "cat /proc/${PID}/pagemap" more efficient for 32-bit tasks. Based upon a report by Mariusz Kozlowski. Signed-off-by: David S. Miller commit 732c8bd590625e8bc0b88313b82930e336b2bec4 Author: Herbert Xu Date: Wed Mar 26 16:51:09 2008 -0700 [IPSEC]: Fix BEET output The IPv6 BEET output function is incorrectly including the inner header in the payload to be protected. This causes a crash as the packet doesn't actually have that many bytes for a second header. The IPv4 BEET output on the other hand is broken when it comes to handling an inner IPv6 header since it always assumes an inner IPv4 header. This patch fixes both by making sure that neither BEET output function touches the inner header at all. All access is now done through the protocol-independent cb structure. Two new attributes are added to make this work, the IP header length and the IPv4 option length. They're filled in by the inner mode's output function. Thanks to Joakim Koskela for finding this problem. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 0e5606e4f46b7cf52dd445af01e71ed9dbb7f735 Merge: 7c0ecc4... 7a193a5... Author: David S. Miller Date: Wed Mar 26 16:09:43 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 08dcf29e01dcb786c13dc80045bd65f804117efb Merge: 11320d1... d546b67... Author: Linus Torvalds Date: Wed Mar 26 15:02:12 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: x86: fix performance drop for glx x86: fix trim mtrr not to setup_memory two times x86: GEODE: add missing module.h include x86, cpufreq: fix Speedfreq-SMI call that clobbers ECX x86: fix memoryless node oops during boot x86: add dmi quirk for io_delay x86: convert mtrr/generic.c to kernel-doc x86: Documentation/i386/IO-APIC.txt: fix description commit 11320d17ce4ecf8002dc8f9b6f1e49cd18e45a94 Author: Nishanth Aravamudan Date: Wed Mar 26 14:40:20 2008 -0700 hugetlb: fix potential livelock in return_unused_surplus_hugepages() Running the counters testcase from libhugetlbfs results in on 2.6.25-rc5 and 2.6.25-rc5-mm1: BUG: soft lockup - CPU#3 stuck for 61s! [counters:10531] NIP: c0000000000d1f3c LR: c0000000000d1f2c CTR: c0000000001b5088 REGS: c000005db12cb360 TRAP: 0901 Not tainted (2.6.25-rc5-autokern1) MSR: 8000000000009032 CR: 48008448 XER: 20000000 TASK = c000005dbf3d6000[10531] 'counters' THREAD: c000005db12c8000 CPU: 3 GPR00: 0000000000000004 c000005db12cb5e0 c000000000879228 0000000000000004 GPR04: 0000000000000010 0000000000000000 0000000000200200 0000000000100100 GPR08: c0000000008aba10 000000000000ffff 0000000000000004 0000000000000000 GPR12: 0000000028000442 c000000000770080 NIP [c0000000000d1f3c] .return_unused_surplus_pages+0x84/0x18c LR [c0000000000d1f2c] .return_unused_surplus_pages+0x74/0x18c Call Trace: [c000005db12cb5e0] [c000005db12cb670] 0xc000005db12cb670 (unreliable) [c000005db12cb670] [c0000000000d24c4] .hugetlb_acct_memory+0x2e0/0x354 [c000005db12cb740] [c0000000001b5048] .truncate_hugepages+0x1d4/0x214 [c000005db12cb890] [c0000000001b50a4] .hugetlbfs_delete_inode+0x1c/0x3c [c000005db12cb920] [c000000000103fd8] .generic_delete_inode+0xf8/0x1c0 [c000005db12cb9b0] [c0000000001b5100] .hugetlbfs_drop_inode+0x3c/0x24c [c000005db12cba50] [c00000000010287c] .iput+0xdc/0xf8 [c000005db12cbad0] [c0000000000fee54] .dentry_iput+0x12c/0x194 [c000005db12cbb60] [c0000000000ff050] .d_kill+0x6c/0xa4 [c000005db12cbbf0] [c0000000000ffb74] .dput+0x18c/0x1b0 [c000005db12cbc70] [c0000000000e9e98] .__fput+0x1a4/0x1e8 [c000005db12cbd10] [c0000000000e61ec] .filp_close+0xb8/0xe0 [c000005db12cbda0] [c0000000000e62d0] .sys_close+0xbc/0x134 [c000005db12cbe30] [c00000000000872c] syscall_exit+0x0/0x40 Instruction dump: ebbe8038 38800010 e8bf0002 3bbd0008 7fa3eb78 38a50001 7ca507b4 4818df25 60000000 38800010 38a00000 7c601b78 <7fa3eb78> 2f800010 409d0008 38000010 This was tracked down to a potential livelock in return_unused_surplus_hugepages(). In the case where we have surplus pages on some node, but no free pages on the same node, we may never break out of the loop. To avoid this livelock, terminate the search if we iterate a number of times equal to the number of online nodes without freeing a page. Thanks to Andy Whitcroft and Adam Litke for helping with debugging and the patch. Signed-off-by: Nishanth Aravamudan Signed-off-by: Linus Torvalds commit a1de09195b294c6a4c5dec8c8defd0a2688d3f75 Author: Nishanth Aravamudan Date: Wed Mar 26 14:37:53 2008 -0700 hugetlb: indicate surplus huge page counts in per-node meminfo Currently we show the surplus hugetlb pool state in /proc/meminfo, but not in the per-node meminfo files, even though we track the information on a per-node basis. Printing it there can help track down dynamic pool bugs including the one in the follow-on patch. Signed-off-by: Nishanth Aravamudan Signed-off-by: Linus Torvalds commit d546b67a940eb42a99f56b86c5cd8d47c8348c2a Author: Suresh Siddha Date: Tue Mar 25 17:39:12 2008 -0700 x86: fix performance drop for glx fix the 3D performance drop reported at: http://bugzilla.kernel.org/show_bug.cgi?id=10328 fb drivers are using ioremap()/ioremap_nocache(), followed by mtrr_add with WC attribute. Recent changes in page attribute code made both ioremap()/ioremap_nocache() mappings as UC (instead of previous UC-). This breaks the graphics performance, as the effective memory type is UC instead of expected WC. The correct way to fix this is to add ioremap_wc() (which uses UC- in the absence of PAT kernel support and WC with PAT) and change all the fb drivers to use this new ioremap_wc() API. We can take this correct and longer route for post 2.6.25. For now, revert back to the UC- behavior for ioremap/ioremap_nocache. Signed-off-by: Suresh Siddha Signed-off-by: Venkatesh Pallipadi Cc: Arjan van de Ven Signed-off-by: Ingo Molnar commit 76c324182bbd29dfe4298ca65efb15be18055df1 Author: Yinghai Lu Date: Sun Mar 23 00:16:49 2008 -0700 x86: fix trim mtrr not to setup_memory two times we could call find_max_pfn() directly instead of setup_memory() to get max_pfn needed for mtrr trimming. otherwise setup_memory() is called two times... that is duplicated... [ mingo@elte.hu: both Thomas and me simulated a double call to setup_bootmem_allocator() and can confirm that it is a real bug which can hang in certain configs. It's not been reported yet but that is probably due to the relatively scarce nature of MTRR-trimming systems. ] Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 923a0cf82f2b504e316642e2d152d38b6c0be4ba Author: Andres Salomon Date: Wed Mar 26 14:13:01 2008 -0400 x86: GEODE: add missing module.h include On Wed, 26 Mar 2008 11:56:22 -0600 Jordan Crouse wrote: > On 26/03/08 14:31 +0100, Stefan Pfetzing wrote: > > Hello Jordan, > > > > I just tried to build your geodwdt driver for the geode watchdog. Therefore > > I pulled your repository from http://git.infradead.org/geode.git (or more, > > the git url). > > > > I tried to build the geodewdt driver as a module - which didn't work, and > > it failed with the same problem as earlier mentioned on lkmk [1]. I also > > checked the fix [2], but that seems to be already in your (or linus) tree - > > and so I'm unsure what the problem is. > > > > [1] http://kerneltrap.org/mailarchive/linux-kernel/2008/2/17/884074 > > [2] http://kerneltrap.org/mailarchive/linux-kernel/2008/2/17/884174 > > > > Building directly into the kernel seems to work. > > > > Maybe you have some idea? > > Hmm - that is strange. Exporting the symbols should work. I recommend > starting over with a clean tree. > > CCing Andres - any thoughts? > > Jordan > Er, yeah. The patch below should fix it. This should probably go into 2.6.25. Oops, EXPORT_SYMBOL_GPL wasn't being declared due to this header being missing. Signed-off-by: Andres Salomon Signed-off-by: Ingo Molnar commit c6e8256a7b15033bc5d7797e25c7e053040c4c7c Author: Stephan Diestelhorst Date: Mon Mar 10 16:05:41 2008 +0100 x86, cpufreq: fix Speedfreq-SMI call that clobbers ECX I have found that using SMI to change the cpu's frequency on my DELL Latitude L400 clobbers the ECX register in speedstep_set_state, causing unneccessary retries because the "state" variable has changed silently (GCC assumes it is still present in ECX). play safe and avoid gcc caching any register across IO port accesses that trigger SMIs. Signed-off by: Signed-off-by: Ingo Molnar commit 475613b9e374bf0c15340eb166a962da04aa02e8 Author: Yinghai Lu Date: Sun Feb 24 23:23:09 2008 -0800 x86: fix memoryless node oops during boot fix oops during boot reported in this thread: http://lkml.org/lkml/2008/2/6/65 enable booting on memoryless nodes. Reported-by: Kamalesh Babulal Signed-off-by: Ingo Molnar commit 3c274c2909e17aa0afeded4cd4520b7357357ca0 Author: Ingo Molnar Date: Fri Mar 21 10:06:32 2008 +0100 x86: add dmi quirk for io_delay reported by mereandor@gmail.com, in: http://bugzilla.kernel.org/show_bug.cgi?id=6307 Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1d3381ebf42de1b6f8c118732893cb5bdc37edcd Author: Randy Dunlap Date: Thu Mar 13 16:59:12 2008 -0700 x86: convert mtrr/generic.c to kernel-doc Convert function comment blocks to kernel-doc notation. Signed-off-by: Randy Dunlap Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c0c20fb5a8f2e2eddf7f0e5467c7511fee907903 Author: Nick Andrew Date: Tue Mar 4 15:05:40 2008 -0800 x86: Documentation/i386/IO-APIC.txt: fix description The description of the interrupt routing doesn't match the (nice) diagram. Signed-off-by: Nick Andrew Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6edef97e17ca1c322b146023862da8a39e36204d Author: Masami Hiramatsu Date: Wed Mar 26 15:53:19 2008 -0400 kprobes: MAINTAINERS update Add Masami Hiramatsu to kprobes maintainers Signed-off-by: Masami Hiramatsu Signed-off-by: Linus Torvalds commit 5254149f6c4e938fea3735183434e208097bd188 Merge: 8f404fa... ec1f5ee... Author: Linus Torvalds Date: Wed Mar 26 11:30:17 2008 -0700 Merge branch 'slab-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/christoph/vm * 'slab-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/christoph/vm: slab: fix cache_cache bootstrap in kmem_cache_init() count_partial() is not used if !SLUB_DEBUG and !CONFIG_SLABINFO commit 8f404faa72f4e458e7bd81ac75ce55ae829e953d Merge: 729eb52... 06d8308... Author: Linus Torvalds Date: Wed Mar 26 11:29:35 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt: NOHZ: reevaluate idle sleep length after add_timer_on() clocksource: revert: use init_timer_deferrable for clocksource_watchdog commit 729eb528c7e10a4828fece102872ec5255946f64 Merge: c8237a5... 5eb7f9f... Author: Linus Torvalds Date: Wed Mar 26 11:27:24 2008 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: relay: set an spd_release() hook for splice set relay file can not be read by pread(2) commit c8237a5fcea9d49a73275b4c8f541dd42f8da1a4 Author: Tom Tucker Date: Tue Mar 25 22:27:19 2008 -0400 SVCRDMA: Check num_sge when setting LAST_CTXT bit The RDMACTXT_F_LAST_CTXT bit was getting set incorrectly when the last chunk in the read-list spanned multiple pages. This resulted in a kernel panic when the wrong context was used to build the RPC iovec page list. RDMA_READ is used to fetch RPC data from the client for NFS_WRITE requests. A scatter-gather is used to map the advertised client side buffer to the server-side iovec and associated page list. WR contexts are used to convey which scatter-gather entries are handled by each WR. When the write data is large, a single RPC may require multiple RDMA_READ requests so the contexts for a single RPC are chained together in a linked list. The last context in this list is marked with a bit RDMACTXT_F_LAST_CTXT so that when this WR completes, the CQ handler code can enqueue the RPC for processing. The code in rdma_read_xdr was setting this bit on the last two contexts on this list when the last read-list chunk spanned multiple pages. This caused the svc_rdma_recvfrom logic to incorrectly build the RPC and caused the kernel to crash because the second-to-last context doesn't contain the iovec page list. Modified the condition that sets this bit so that it correctly detects the last context for the RPC. Signed-off-by: Tom Tucker Tested-by: Roland Dreier Signed-off-by: J. Bruce Fields Signed-off-by: Linus Torvalds commit 12c22d6ef299ccf0955e5756eb57d90d7577ac68 Author: Linus Torvalds Date: Wed Mar 26 11:22:40 2008 -0700 Revert "PCI: remove transparent bridge sizing" This reverts commit 8fa5913d54f3b1e09948e6a0db34da887e05ff1f, which caused various interesting problems for people, including wrong resource allocations. See for example bugzilla entry "2.6.25-rc2: ohci1394 problem (MMIO broken)" at http://bugzilla.kernel.org/show_bug.cgi?id=10080 And Gary Hade says: "The same change had also exposed an issue reported by Paul Martin that has been causing an Oops while hotplugging ThinkPads to a ThinkPad Dock II. See http://lkml.org/lkml/2008/2/19/405 http://bugzilla.kernel.org/show_bug.cgi?id=9961 I have a fix for the ThinkPad docking Oops but if the issue being discussed here is caused by the transparent bridge sizing removal change I totally agree that it should be reverted." The transparent bridge sizing removal change was motivated by insufficient PCI memory resource for a transparent bridge window that was being created as a result of expansion ROM(s) being included in the transparent bridge sizing calculations. A later "PCI: Remove default PCI expansion ROM memory allocation" change ( re: http://lkml.org/lkml/2007/12/11/361 ) removes the expansion ROM(s) from the transparent bridge sizing calculations which actually resolves the original issue in a different manner. So, even if the "PCI: remove transparent bridge sizing" is not problematic it is no longer needed anyway." Identified-by: Ivan Kokshaysky Tested-by: Thomas Meyer Acked-by: Gary Hade Acked-by: Ingo Molnar Cc: Stefan Richter Signed-off-by: Linus Torvalds commit 33fd7afd66ffdc6addf1b085fe6403b6af532f8e Author: Len Brown Date: Wed Mar 26 13:29:32 2008 -0400 pnpacpi: reduce printk severity for "pnpacpi: exceeded the max number of ..." We have been printing these messages at KERN_ERR since 2.6.24, per http://bugzilla.kernel.org/show_bug.cgi?id=9535 But KERN_ERR pops up on a console booted with "quiet" and causes users to get alarmed and file bugs about the message itself: https://bugzilla.redhat.com/show_bug.cgi?id=436589 So reduce the severity of these messages to KERN_WARNING, which is not printed by "quiet". This message will still be seen without "quiet", but a lot of messages are printed in that mode and it will be less likely to cause undue alarm. We could go all the way to KERN_DEBUG, but this is a real warning after all, so it seems prudent not to require "debug" to see it. Signed-off-by: Len Brown commit ec1f5eeeb5a79a0d48036de649a3498da42db565 Author: Daniel Yeisley Date: Tue Mar 25 23:59:08 2008 +0200 slab: fix cache_cache bootstrap in kmem_cache_init() Commit 556a169dab38b5100df6f4a45b655dddd3db94c1 ("slab: fix bootstrap on memoryless node") introduced bootstrap-time cache_cache list3s for all nodes but forgot that initkmem_list3 needs to be accessed by [somevalue + node]. This patch fixes list_add() corruption in mm/slab.c seen on the ES7000. Cc: Mel Gorman Cc: Olaf Hering Cc: Christoph Lameter Signed-off-by: Dan Yeisley Signed-off-by: Pekka Enberg Signed-off-by: Christoph Lameter commit 53625b4204753b904addd40ca96d9ba802e6977d Author: Christoph Lameter Date: Wed Mar 19 13:42:07 2008 -0700 count_partial() is not used if !SLUB_DEBUG and !CONFIG_SLABINFO Avoid warnings about unused functions if neither SLUB_DEBUG nor CONFIG_SLABINFO is defined. This patch will be reversed when slab defrag is merged since slab defrag requires count_partial() to determine the fragmentation status of slab caches. Signed-off-by: Christoph Lameter commit 0feed274d2dfa2162d2c37c254eede96926d3717 Author: James Bottomley Date: Wed Mar 26 09:09:19 2008 -0700 Revert "[SCSI] fix bsg queue oops with iscsi logout" This reverts commit 4b6f5b3a993cbe34b4280f252bccc76967c185c8. bsg takes a reference to the underlying generic device, so it's impossible to unregister bsg in the device release routine. Acked-by: FUJITA Tomonori Signed-off-by: James Bottomley commit f6a843d939ade435e060d580f5c56d958464f8a5 Author: David S. Miller Date: Wed Mar 26 04:51:12 2008 -0700 [SPARC64]: flush_ptrace_access() needs preemption disable. Based upon a report by Mariusz Kozlowski. Signed-off-by: David S. Miller commit e5ac71f255335f130bbe582c4ce3008c1b46413f Author: David S. Miller Date: Wed Mar 26 04:34:04 2008 -0700 [SPARC64]: Update defconfig. Signed-off-by: David S. Miller commit 11cc8a3abf5556d9f24395d87573532420d5ace7 Author: David S. Miller Date: Wed Mar 26 04:31:50 2008 -0700 [SPARC64]: Fix allnoconfig build, ptrace.c missing CONFIG_COMPAT checks. Signed-off-by: David S. Miller commit 69072f6e8e4bd4799d2a54e4ff8771d0657512c1 Author: David S. Miller Date: Wed Mar 26 04:25:00 2008 -0700 [SPARC64]: Fix __get_cpu_var in preemption-enabled area. Reported by Mariusz Kozlowski. Signed-off-by: David S. Miller commit 5eb7f9fa847b8ab6e4864bfb8cb45f370844a47c Author: Jens Axboe Date: Wed Mar 26 12:04:09 2008 +0100 relay: set an spd_release() hook for splice relay doesn't reference the pages it adds, however we need a non-NULL hook or splice_to_pipe() can oops. Signed-off-by: Jens Axboe commit 37529fe9f62835e1c11895a1895064748b032dc1 Author: Lai Jiangshan Date: Wed Mar 26 12:01:28 2008 +0100 set relay file can not be read by pread(2) I found that relay files can be read by pread(2). I fix it, for relay files are not capable of seeking. Signed-off-by: Lai Jiangshan Signed-off-by: Jens Axboe commit 138bed154eab2205b4ef93f02f5feb1edf6d8552 Author: Paul Mundt Date: Wed Mar 26 19:09:21 2008 +0900 sh: Fix TIF_USEDFPU clearing under FPU emulation. The unlazy_fpu() path calls in to save_fpu() if the task has TIF_USEDFPU set. save_fpu() being the crap API that it is has the side effect of clearing the flag itself, which presently doesn't happen if we're using FPU emulation. Fix this up for now, pending an overhaul in 2.6.26. Signed-off-by: Paul Mundt commit 9bbafce2eec190ef7e44b0eb1095ba17ce6ad3af Author: Paul Mundt Date: Wed Mar 26 19:02:47 2008 +0900 sh: Fix occasional FPU register corruption under preempt. Presently with preempt enabled there's the possibility to be preempted after the TIF_USEDFPU test and the register save, leading to bogus state post-__switch_to(). Use an explicit preempt_disable()/enable() pair around unlazy_fpu()/clear_fpu() to avoid this. Follows the x86 change. Reported-by: Takuo Koguchi Signed-off-by: Paul Mundt commit 7c0ecc4c4f8fd90988aab8a95297b9c0038b6160 Author: Pavel Emelyanov Date: Wed Mar 26 02:27:09 2008 -0700 [ICMP]: Dst entry leak in icmp_send host re-lookup code (v2). Commit 8b7817f3a959ed99d7443afc12f78a7e1fcc2063 ([IPSEC]: Add ICMP host relookup support) introduced some dst leaks on error paths: the rt pointer can be forgotten to be put. Fix it bu going to a proper label. Found after net namespace's lo refused to unregister :) Many thanks to Den for valuable help during debugging. Herbert pointed out, that xfrm_lookup() will put the rtable in case of error itself, so the first goto fix is redundant. Signed-off-by: Pavel Emelyanov Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 5c2e2e239ebe44e3fdc5f2ae270d96c4ceee4e9a Author: Robert P. J. Day Date: Wed Mar 26 02:14:38 2008 -0700 [AX25]: Remove obsolete references to BKL from TODO file. Given that there are no apparent calls to lock_kernel() or unlock_kernel() under net/ax25, delete the TODO reference related to that. Signed-off-by: Robert P. J. Day Signed-off-by: David S. Miller commit 61ee6bd487b9cc160e533034eb338f2085dc7922 Author: Patrick McHardy Date: Wed Mar 26 02:12:11 2008 -0700 [NET]: Fix multicast device ioctl checks SIOCADDMULTI/SIOCDELMULTI check whether the driver has a set_multicast_list method to determine whether it supports multicast. Drivers implementing secondary unicast support use set_rx_mode however. Check for both dev->set_multicast_mode and dev->set_rx_mode to determine multicast capabilities. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 062ea6d36c5841286f57b360534eb33139e506f3 Author: David S. Miller Date: Wed Mar 26 01:52:18 2008 -0700 [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/signal.c Signed-off-by: David S. Miller commit 207ddd0a3a42e6273e3a26447b52e9d6d90d579d Author: David S. Miller Date: Wed Mar 26 01:43:29 2008 -0700 [SPARC64]: Fix most sparse warnings in arch/sparc64/kernel/sys_sparc.c Sparse still doesn't like the funny cast we make from a scalar to a "union semun" (which is correct by the C language and in particular works with the sparc64 calling conventions, but sparse doesn't grok that yet). Signed-off-by: David S. Miller commit cf3d7c1ef418863376d556c48c214cb828623584 Author: David S. Miller Date: Wed Mar 26 01:11:55 2008 -0700 [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/time.c Signed-off-by: David S. Miller commit 8c7230f781749cd7261b504c0bfa188bb96e77ee Author: David S. Miller Date: Wed Mar 26 00:55:50 2008 -0700 [IRDA]: Store irnet_socket termios properly. It should be a "struct ktermios" not a "struct termios". Based upon a build warning reported by Stephen Rothwell. Signed-off-by: David S. Miller commit bfdf9ebc396a2373af2f1d117491dc6bbdc9ee75 Author: David S. Miller Date: Wed Mar 26 00:46:21 2008 -0700 [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/ptrace.c Signed-off-by: David S. Miller commit d91aa123b4b96e57680a39fb9dfd9722f8df3c7e Author: David S. Miller Date: Wed Mar 26 00:37:51 2008 -0700 [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/irq.c Signed-off-by: David S. Miller commit 06d8308c61e54346585b2691c13ee3f90cb6fb2f Author: Thomas Gleixner Date: Sat Mar 22 09:20:24 2008 +0100 NOHZ: reevaluate idle sleep length after add_timer_on() add_timer_on() can add a timer on a CPU which is currently in a long idle sleep, but the timer wheel is not reevaluated by the nohz code on that CPU. So a timer can be delayed for quite a long time. This triggered a false positive in the clocksource watchdog code. To avoid this we need to wake up the idle CPU and enforce the reevaluation of the timer wheel for the next timer event. Add a function, which checks a given CPU for idle state, marks the idle task with NEED_RESCHED and sends a reschedule IPI to notify the other CPU of the change in the timer wheel. Call this function from add_timer_on(). Signed-off-by: Thomas Gleixner Acked-by: Peter Zijlstra Acked-by: Ingo Molnar Cc: stable@kernel.org -- include/linux/sched.h | 6 ++++++ kernel/sched.c | 43 +++++++++++++++++++++++++++++++++++++++++++ kernel/timer.c | 10 +++++++++- 3 files changed, 58 insertions(+), 1 deletion(-) commit 6c830fefcc2e9d20f0a6c6aff43c8d333da2ea46 Author: David S. Miller Date: Tue Mar 25 22:44:10 2008 -0700 [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/iommu.c Fix local variable shadowing in dma_4u_map_sg(). Mark sun4u_dma_ops static. Signed-off-by: David S. Miller commit 99cd220133cdf2a559529d522a78b2ebc1bef2d8 Author: David S. Miller Date: Wed Mar 26 00:19:43 2008 -0700 [SPARC64]: Fix sparse errors in arch/sparc64/kernel/traps.c Add 'UL' markers to DCU_* macros. Declare C functions called from assembler in entry.h Declare C functions called from within the sparc64 arch code in include/asm-sparc64/*.h headers as appropriate. Remove unused routines in traps.c Signed-off-by: David S. Miller commit f70c176619dde7f32283fc5c94df8e9aaac12729 Author: Patrick McHardy Date: Wed Mar 26 00:16:29 2008 -0700 [UML]: uml-net: don't set IFF_ALLMULTI in set_multicast_list IFF_ALLMULTI is an indication from the network stack to the driver to disable multicast filters, drivers should never set it directly. Since the UML networking device doesn't have any filtering capabilites, it doesn't the set_multicast_list function at all, it is kept so userspace can still issue SIOCADDMULTI/SIOCDELMULTI ioctls however. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0ed21b321a13421e2dfeaa70a6c324e05e3e91e6 Author: Patrick McHardy Date: Wed Mar 26 00:15:17 2008 -0700 [VLAN]: Don't copy ALLMULTI/PROMISC flags from underlying device Changing these flags requires to use dev_set_allmulti/dev_set_promiscuity or dev_change_flags. Setting it directly causes two unwanted effects: - the next dev_change_flags call will notice a difference between dev->gflags and the actual flags, enable promisc/allmulti mode and incorrectly update dev->gflags - this keeps the underlying device in promisc/allmulti mode until the VLAN device is deleted Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8e92b6605da989c0aa8ff7e33306f36f0efd957c Author: Venki Pallipadi Date: Fri Feb 29 10:24:32 2008 -0800 cpuidle: fix 100% C0 statistics regression commit 9b12e18cdc1553de62d931e73443c806347cd974 'ACPI: cpuidle: Support C1 idle time accounting' was implicated in a 100% C0 idle regression. http://bugzilla.kernel.org/show_bug.cgi?id=10076 It pointed out a potential problem where the menu governor may get confused by the C-state residency time from poll idle or C1 idle, where this timing info is not accurate. This inaccuracy is due to interrupts being handled before we account for C-state exit. Do not mark TIME_VALID for CO poll state. Mark C1 time as valid only with the MWAIT (CSTATE_FFH) entry method. This makes governors use the timing information only when it is correct and eliminates any wrong policy decisions that may result from invalid timing information. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit 3d5ae6b69eacfac025021998d2ce159768edcfe1 Author: David S. Miller Date: Tue Mar 25 21:51:40 2008 -0700 [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/{cpu,setup}.c We create a local header file entry.h, under arch/sparc64/kernel/, that we can use to declare routines either defined in assembler or only invoked from assembler. As well as other data objects which are private to the inner sparc64 kernel arch code. Signed-off-by: David S. Miller commit 8b78cf602fd3bd97c0080edd22fe8fd5d0fa7832 Author: Yi Yang Date: Mon Feb 25 08:46:12 2008 +0800 cpuidle: fix cpuidle time and usage overflow cpuidle C-state sysfs node time and usage are very easy to overflow because they are all of unsigned int type, time will overflow within about two hours, usage will take longer time to overflow, but they are increasing for ever. This patch will convert them to unsigned long long. Signed-off-by: Yi Yang Acked-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit 996520c1fdd2948addb629be56c9febf2967e02b Author: Venki Pallipadi Date: Mon Mar 24 14:24:10 2008 -0700 ACPI: fix mis-merge -- invoke acpi_unlazy_tlb() only on C3 entry This original patch http://ussg.iu.edu/hypermail/linux/kernel/0712.2/1451.html was intending to add acpi_unlazy_tlb() to acpi_idle_enter_bm(), which is used for C3 entry. But it was merged incorrectly as commmit bde6f5f59c2b2b48a7a849c129d5b48838fe77ee 'x86: voluntary leave_mm before entering ACPI C3' so the call was instead added to acpi_idle_enter_simple() (which is C2 entry routine), probably due to identical context in that function. Move the call back to acpi_idle_enter_bm(). Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit 606d5b19391476f71e10ccce5b376f7071d11aba Author: David S. Miller Date: Tue Mar 25 21:13:22 2008 -0700 [SPARC64]: Adjust {TLBTEMP,TSBMAP}_BASE. Move them further from the main kernel image area to facilitate larger kernel sizes. Adjust comments to match. Signed-off-by: David S. Miller commit f0c88f9c45f39acd017328515890481adcb32607 Author: Jeff Garzik Date: Tue Mar 25 23:53:24 2008 -0400 netxen, phy/marvell, skge: minor checkpatch fixes Signed-off-by: Jeff Garzik commit f6f4bfa3561a2d8e949cab0d28e0db6d2b13641d Author: Sreenivasa Honnur Date: Tue Mar 25 15:11:56 2008 -0400 S2io: Handle TX completions on the same CPU as the sender for MIS-X interrupts - Handling TX completions on the same cpu as the sender. Signed-off-by: Surjit Reang Signed-off-by: Jeff Garzik commit 5ea79631c0c47d28831a0635e8af9da539d449cd Author: Michael Buesch Date: Tue Mar 25 18:04:46 2008 +0100 b44: Truncate PHY address Some ROMs on embedded devices store incorrect values for the PHY address of the ethernet device. It looks like the number is sign-extended. Truncate the value by applying the PHY-address mask to it. The patch was tested on a bcm47xx embedded system (where the bug triggers) and a bcm4400 PCI card. Signed-off-by: Michael Buesch Signed-off-by: Jeff Garzik commit 6ef2977d414cc196baba0fb53509c5f8cd9154b4 Author: Marin Mitov Date: Sun Mar 23 10:20:09 2008 +0200 skge napi->poll() locking bug According to: Documentation/networking/netdevices.txt: napi->poll: .......... Context: softirq will be called with interrupts disabled by netconsole. napi->poll() could be called either with interrupts enabled (in softirq context) or disabled (by netconsole), so the irq flag should be preserved. Inspired by Ingo's resent forcedeth patch :-) Signed-off-by: Marin Mitov Signed-off-by: Jeff Garzik commit 9f5e60dd5ffca938da4cabc197af8b9405b5512e Author: Jussi Kivilinna Date: Sun Mar 23 12:45:44 2008 +0200 rndis_host: fix oops when query for OID_GEN_PHYSICAL_MEDIUM fails When query for OID_GEN_PHYSICAL_MEDIUM fails, uninitialized pointer 'phym' is being accessed in generic_rndis_bind(), resulting OOPS. Patch fixes phym to be initialized and setup correctly when rndis_query() for physical medium fails. Bug was introduced by following commit: commit 039ee17d1baabaa21783a0d5ab3e8c6d8c794bdf Author: Jussi Kivilinna Date: Sun Jan 27 23:34:33 2008 +0200 Reported-by: Dmitri Monakhov Signed-off-by: Jussi Kivilinna Acked-by: David Brownell Signed-off-by: Jeff Garzik commit b1186dee3e785679876f6b629609ec080842edda Author: Roland Dreier Date: Thu Mar 20 13:30:48 2008 -0700 cxgb3: Fix lockdep problems with sge.reg_lock Using iWARP with a Chelsio T3 NIC generates the following lockdep warning: ================================= [ INFO: inconsistent lock state ] 2.6.25-rc6 #50 --------------------------------- inconsistent {softirq-on-W} -> {in-softirq-W} usage. swapper/0 [HC0[0]:SC1[1]:HE0:SE0] takes: (&adap->sge.reg_lock){-+..}, at: [] cxgb_offload_ctl+0x3af/0x507 [cxgb3] The problem is that reg_lock is used with plain spin_lock() in drivers/net/cxgb3/sge.c but is used with spin_lock_irqsave() in drivers/net/cxgb3/cxgb3_offload.c. This is technically a false positive, since the uses in sge.c are only in the initialization and cleanup paths and cannot overlap with any use in interrupt context. The best fix is probably just to use spin_lock_irq() with reg_lock in sge.c. Even though it's not strictly required for correctness, it avoids triggering lockdep and the extra overhead of disabling interrupts is not important at all in the initialization and cleanup slow paths. Signed-off-by: Roland Dreier Signed-off-by: Jeff Garzik commit dc01c447123b489af7b4d0c58a15abcec36a40e6 Author: Thomas Klein Date: Wed Mar 19 13:55:43 2008 +0100 ehea: Fix IPv6 support Indicate that HEA calculates IPv4 checksums only Signed-off-by: Thomas Klein Signed-off-by: Jeff Garzik commit 23d245b66ec8bec21f41ea484e05f470bea764e8 Author: Peter Korsgaard Date: Tue Mar 18 23:17:16 2008 +0100 dm9000: Support promisc and all-multi modes Signed-off-by: Peter Korsgaard Signed-off-by: Jeff Garzik commit 33eddedb9cae602e093348421205b1619cccdbb4 Author: Peter Korsgaard Date: Tue Mar 18 23:16:54 2008 +0100 dm9601: configure MAC to drop invalid (crc/length) packets Signed-off-by: Peter Korsgaard Signed-off-by: Jeff Garzik commit b47b4b22e2195146baf089b637ec8f6654953018 Author: Peter Korsgaard Date: Tue Mar 18 23:16:53 2008 +0100 dm9601: add Hirose USB-100 device ID The Hirose USB-100 adapter uses a dm9601 chip. Reported by Robert Brockway. Signed-off-by: Peter Korsgaard Signed-off-by: Jeff Garzik commit be937f1f89cacd833bd242c35af911b971225cf0 Author: Alexandr Smirnov Date: Wed Mar 19 00:37:24 2008 +0300 Marvell PHY m88e1111 driver fix Marvell PHY m88e1111 (not sure about other models, but think they too) works in two modes: fiber and copper. In Marvell PHY driver (that we have in current community kernels) code supported only copper mode, and this is not configurable, bits for copper mode are simply written in registers during PHY initialization. This patch adds support for both modes. Signed-off-by: Alexandr Smirnov Acked-by: Andy Fleming Signed-off-by: Jeff Garzik commit d1847a722e79bbfc557755d78f44d3e2c8ae5ea9 Author: Dhananjay Phadke Date: Mon Mar 17 19:59:51 2008 -0700 netxen: fix rx dropped stats Don't count rx dropped packets based on return value of netif_receive_skb(), which is misleading. Signed-off-by: Dhananjay Phadke Tested-by: Vernon Mauery Signed-off-by: Jeff Garzik commit ba53e6b4878e07411826312c59bfe49561594b6e Author: Dhananjay Phadke Date: Mon Mar 17 19:59:50 2008 -0700 netxen: remove low level tx lock o eliminate tx lock in netxen adapter struct, instead pound on netdev tx lock appropriately. o remove old "concurrent transmit" code that unnecessarily drops and reacquires tx lock in hard_xmit_frame(), this is already serialized the netdev xmit lock. o reduce scope of tx lock in tx cleanup. tx cleanup operates on different section of the ring than transmitting cpus and is guarded by producer and consumer indices. This fixes a race caused by rx softirq preemption on realtime kernels. Signed-off-by: Dhananjay Phadke Tested-by: Vernon Mauery Signed-off-by: Jeff Garzik commit 05aaa02d799e8e9548d57ac92fcb05e783027341 Author: Dhananjay Phadke Date: Mon Mar 17 19:59:49 2008 -0700 netxen: napi and irq cleanup o separate and simpler irq handler for msi interrupts, avoids few checks than legacy mode. o avoid redudant tx_has_work() and rx_has_work() checks in interrupt and napi, which can uncork irq based on racy (lockless) access to tx and rx ring indices. If we get interrupt, there's sufficient reason to schedule napi. o replenish rx ring more often, remove self-imposed threshold rcv_free that prevents posting rx desc to card. This improves performance in low memory. Signed-off-by: Dhananjay Phadke Tested-by: Vernon Mauery Signed-off-by: Jeff Garzik commit 443be7960be77f3345b44491c700ae4471b0fe57 Author: Dhananjay Phadke Date: Mon Mar 17 19:59:48 2008 -0700 netxen: improve msi support Recent netxen firmware has new scheme of generating MSI interrupts, it raises interrupt and blocks itself, waiting for driver to unmask. This reduces chance of spurious interrupts. The driver will be able to deal with older firmware as well. Signed-off-by: Dhananjay Phadke Tested-by: Vernon Mauery Signed-off-by: Jeff Garzik commit 9e6db60825ef7e7999abc610ce256ba768e58162 Author: Bryan Wu Date: Mon Mar 17 14:18:31 2008 -0700 smc91x: fix build breakage from the SMC_GET_MAC_ADDR API upgrade Cc: Jeff Garzik Cc: Deepak Saxena Cc: Nicolas Pitre Cc: Russell King Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit c7793ace780942831f9b2b2b0518e810ecbd4d6f Author: Julia Lawall Date: Mon Mar 17 10:12:27 2008 -0700 ixgb: remove unused variable The variable num_group_tail_writes is initialized but never used otherwise. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type T; identifier i; constant C; @@ ( extern T i; | - T i; <+... when != i - i = C; ...+> ) // Signed-off-by: Julia Lawall Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 1172899a30d0c26df934d63cc98241cd53fe7130 Author: Al Viro Date: Sun Mar 16 22:21:44 2008 +0000 e100: endianness annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 6d8126f988556d593f13be32cbe60dacf19c2d2c Author: Al Viro Date: Sun Mar 16 22:23:24 2008 +0000 igb trivial annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 7deb07b1befc9f09dbdaed66c9613a3d08f1c061 Author: Al Viro Date: Sun Mar 16 22:43:06 2008 +0000 igb: endianness fix le16_to_cpu() should be done before mask and shift... Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 2cfb8b71ccb3ebca76cff48241527eba39226883 Author: Jay Vosburgh Date: Fri Mar 21 22:29:36 2008 -0700 bonding: update version Update version to 3.2.5. Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 92b41daa45a505268b11de9b7cbde2c13c0223b5 Author: Libor Pechacek Date: Fri Mar 21 22:29:35 2008 -0700 bonding: Fix sysfs attribute handling For bonding interfaces any attempt to read the sysfs directory contents after module removal results in an oops. The fix is to release sysfs attributes for the interfaces upon module unload. Signed-off-by: Libor Pechacek Acked-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 966bc6f434df4a02108d01dda8cd52951fe853da Author: Jay Vosburgh Date: Fri Mar 21 22:29:34 2008 -0700 bonding: fix two compiler warnings Fix two compiler warnings that are new with recent versions of gcc (apparently 4.2 and up). One is fixed by refactoring; this change was supplied by Stephen Hemminger. The other was fixed by labelling the variable as uninitialized_var() after confirming via inspection that it cannot actually be used uninitialized. Signed-off-by: Jay Vosburgh Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 2bf86b7aa8e74bf81a9872f7b610f49b610a4649 Author: Jay Vosburgh Date: Fri Mar 21 22:29:33 2008 -0700 bonding: Fix locking in 802.3ad mode The 802.3ad state machine lock can be acquired in both softirq and not softirq context, but was not held at _bh to prevent a deadlock (which could occur if a LACPDU arrived and was processed while the lock was held). Corrected this, now hold the state machine lock at _bh to prevent deadlock. Bug reported by Todd Fleisher . Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 26c080bf8308449330037f91daa3ac0a7c41023e Author: Jay Schulist Date: Tue Mar 18 17:53:09 2008 -0400 smctr.c: fix logical-bitwise-or confusion This patch to drivers/net/tokenring/smctr.c fixes a "bitwise vs logical" or error. Signed-off-by: Jay Schulist Signed-off-by: Jeff Garzik commit 5c9fcb5deef4d3a49798d76c48b726d2e3c7df72 Author: Zhang Rui Date: Thu Mar 20 16:40:32 2008 +0800 ACPI: fix a regression of ACPI device driver autoloading commit 3620f2f2f39e7870cf1a4fb2e34063a142f28716 sets the cid of ACPI video/dock/bay device and leaves the hid empty. As a result, "modalias" should export the cid for devices which don't have a hid. ACPI Video driver is not autoloaded with commit 3620f2f2f39e7870cf1a4fb2e34063a142f28716 applied. "cat /sys/.../device:03(acpi video bus)/modalias" shows nothing. ACPI Video driver is autoloaded after revert that commit. "cat /sys/.../LNXVIDEO:0x/modalias" shows "acpi:LNXVIDEO:" ACPI Video driver is autoloaded with commit 3620f2f2f39e7870cf1a4fb2e34063a142f28716 and this patch applied. "cat /sys/.../device:03(acpi video bus)/modalias" shows "acpi:LNXVIDEO:" Signed-off-by: Zhang Rui Acked-by: Thomas Renninger Signed-off-by: Len Brown commit 05dda977f2574c3341abef9b74c27d2b362e1e3a Author: Linus Torvalds Date: Tue Mar 25 18:38:14 2008 -0700 Linux 2.6.25-rc7 commit b97d4803400a4442b0e4ae14d0bd8e83994b9004 Author: Bjorn Helgaas Date: Tue Mar 25 11:21:11 2008 -0600 ACPI: fix Medion _PRT quirk (use "ISA_", not "ISA") This fixes the builtin RTL8139 NIC on the Medion MD9580-F laptop. The BIOS reports the interrupt routing incorrectly. I recently added a quirk to work around this, and this patch fixes a typo in the quirk. We pad every ACPI pathname component to four characters, so ".ISA." will never match anything. We need ".ISA_." instead. Thank you Johann-Nikolaus Andreae for patiently testing this patch. See http://bugzilla.kernel.org/show_bug.cgi?id=4773 Signed-off-by: Bjorn Helgaas Signed-off-by: Linus Torvalds commit 898a19de1502649877091b398229026b4142c0e2 Author: Thomas Gleixner Date: Tue Mar 25 09:01:51 2008 +0100 clocksource: revert: use init_timer_deferrable for clocksource_watchdog Revert commit 1077f5a917b7c630231037826b344b2f7f5b903f Author: Parag Warudkar Date: Wed Jan 30 13:30:01 2008 +0100 clocksource.c: use init_timer_deferrable for clocksource_watchdog clocksource_watchdog can use a deferrable timer - reduces wakeups from idle per second. The watchdog timer needs to run with the specified interval. Otherwise it will miss the possible wrap of the watchdog clocksource. Signed-off-by: Thomas Gleixner Cc: stable@kernel.org commit 5004de1809a5ad97a76840da9f62a1111da505e7 Merge: e584152... 8c07e46... Author: Linus Torvalds Date: Tue Mar 25 09:06:44 2008 -0700 Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: i2c: Fix docbook problem ASoC/TLV320AIC3X: Stop I2C driver ID abuse i2c-omap: Fix unhandled fault i2c-bfin-twi: Disable BF54x support for now commit e584152571d1535a3d27138b91e0ece3b713dd6b Merge: 7ed7fe5... e48bb49... Author: Linus Torvalds Date: Tue Mar 25 09:06:19 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: KVM: MMU: Fix memory leak on guest demand faults KVM: VMX: convert init_rmode_tss() to slots_lock KVM: MMU: handle page removal with shadow mapping KVM: MMU: Fix is_rmap_pte() with io ptes KVM: VMX: Restore tss even on x86_64 commit 7ed7fe5e82c9fc8473974fbd7389d169b8f17c77 Merge: a4083c9... a02f76c... Author: Linus Torvalds Date: Tue Mar 25 08:57:47 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: [PATCH] get stack footprint of pathname resolution back to relative sanity [PATCH] double iput() on failure exit in hugetlb [PATCH] double dput() on failure exit in tiny-shmem [PATCH] fix up new filp allocators [PATCH] check for null vfsmount in dentry_open() [PATCH] reiserfs: eliminate private use of struct file in xattr [PATCH] sanitize hppfs hppfs pass vfsmount to dentry_open() [PATCH] restore export of do_kern_mount() commit 5c29934de29ddd7ecd913d83cad28e872f2e8c78 Author: Olof Johansson Date: Tue Mar 25 10:28:26 2008 -0500 [POWERPC] update pasemi_defconfig Disable GEN_RTC since it conflicts with the i2c rtc drivers registering, besides that keep most of the new defaults. Signed-off-by: Olof Johansson commit e48bb497b95a0f7127f9ff596a6b4c4b206f7dcf Author: Avi Kivity Date: Sun Mar 23 14:21:08 2008 +0200 KVM: MMU: Fix memory leak on guest demand faults While backporting 72dc67a69690288538142df73a7e3ac66fea68dc, a gfn_to_page() call was duplicated instead of moved (due to an unrelated patch not being present in mainline). This caused a page reference leak, resulting in a fairly massive memory leak. Fix by removing the extraneous gfn_to_page() call. Signed-off-by: Avi Kivity commit 707a18a51d83d9180a63b3cbaad8eda7764a8689 Author: Marcelo Tosatti Date: Tue Mar 18 17:42:34 2008 -0300 KVM: VMX: convert init_rmode_tss() to slots_lock init_rmode_tss was forgotten during the conversion from mmap_sem to slots_lock. INFO: task qemu-system-x86:3748 blocked for more than 120 seconds. Call Trace: [] __down_read+0x86/0x9e [] do_page_fault+0x346/0x78e [] trace_hardirqs_on_thunk+0x35/0x3a [] error_exit+0x0/0xa9 [] copy_user_generic_string+0x17/0x40 [] :kvm:kvm_write_guest_page+0x3e/0x5f [] :kvm_intel:init_rmode_tss+0xa7/0xf9 [] :kvm_intel:vmx_vcpu_reset+0x10/0x38a [] :kvm:kvm_arch_vcpu_setup+0x20/0x53 [] :kvm:kvm_vm_ioctl+0xad/0x1cf [] __lock_acquire+0x4f7/0xc28 [] vfs_ioctl+0x21/0x6b [] do_vfs_ioctl+0x252/0x26b [] sys_ioctl+0x3c/0x5e [] system_call_after_swapgs+0x7b/0x80 Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 15aaa819e20cb183f26392ed8ea16020630ef142 Author: Marcelo Tosatti Date: Mon Mar 17 10:08:18 2008 -0300 KVM: MMU: handle page removal with shadow mapping Do not assume that a shadow mapping will always point to the same host frame number. Fixes crash with madvise(MADV_DONTNEED). [avi: move after first printk(), add another printk()] Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 4b1a80fa65aa9e2ec5696998856136c886385538 Author: Avi Kivity Date: Sun Mar 23 12:18:19 2008 +0200 KVM: MMU: Fix is_rmap_pte() with io ptes is_rmap_pte() doesn't take into account io ptes, which have the avail bit set. Signed-off-by: Avi Kivity commit 5dc832628229d2736fab10523566855c3cda622d Author: Avi Kivity Date: Sun Mar 16 18:48:26 2008 +0200 KVM: VMX: Restore tss even on x86_64 The vmx hardware state restore restores the tss selector and base address, but not its length. Usually, this does not matter since most of the tss contents is within the default length of 0x67. However, if a process is using ioperm() to grant itself I/O port permissions, an additional bitmap within the tss, but outside the default length is consulted. The effect is that the process will receive a SIGSEGV instead of transparently accessing the port. Fix by restoring the tss length. Note that i386 had this working already. Closes bugzilla 10246. Signed-off-by: Avi Kivity commit a4083c9271e0a697278e089f2c0b9a95363ada0a Merge: 4742dc1... 7fdba2f... Author: Linus Torvalds Date: Mon Mar 24 23:24:16 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: USB: Fix cut-and-paste error in rtl8150.c USB: ehci: stop vt6212 bus hogging USB: sierra: add another device id USB: sierra: dma fixes USB: add support for Motorola ROKR Z6 cellphone in mass storage mode USB: isd200: fix memory leak in isd200_get_inquiry_data USB: pl2303: another product ID USB: new quirk flag to avoid Set-Interface USB: fix gadgetfs class request delegation commit 4742dc1d7670bd00253d2dfb637d55446dc6ef81 Merge: 49741c4... 815d2d5... Author: Linus Torvalds Date: Mon Mar 24 23:23:39 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6: driver core: debug for bad dev_attr_show() return value. UIO: add pgprot_noncached() to UIO mmap code commit 49741c4d01554c2630cea02cfdf236b17062a912 Author: Andrew Morton Date: Mon Mar 17 14:21:18 2008 -0700 PCI: revert "pcie: utilize pcie transaction pending bit" Revert as it is reported to cause problems for people. commit 4348a2dc49f9baecd34a9b0904245488c6189398 Author: Shaohua Li Date: Wed Oct 24 10:45:08 2007 +0800 pcie: utilize pcie transaction pending bit PCIE has a mechanism to wait for Non-Posted request to complete. I think pci_disable_device is a good place to do this. Signed-off-by: Shaohua Li Signed-off-by: Greg Kroah-Hartman Due to the regression reported at http://bugzilla.kernel.org/show_bug.cgi?id=10065 Cc: Shaohua Li Cc: Soeren Sonnenburg Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 8a443df40b35da89e32fcd499d7720c8c2cc2eee Author: Mark Gross Date: Tue Mar 4 14:59:31 2008 -0800 PCI: iova: lockdep false alarm fix lockdep goes off on the iova copy_reserved_iova() because it and a function it calls grabs locks in the from, and the to of the copy operation. The function grab locks of the same lock classes triggering the warning. The first lock grabbed is for the constant reserved areas that is never accessed after early boot. Technically you could do without grabbing the locks for the "from" structure its copying reserved areas from. But dropping the from locks to me looks wrong, even though it would be ok. The affected code only runs in early boot as its setting up the DMAR engines. This patch gives the reserved_ioval_list locks special lockdep classes. Signed-off-by: Mark Gross Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 815d2d50da41f28aae58f5e9b3c61c3094422749 Author: Andrew Morton Date: Tue Mar 4 15:09:07 2008 -0800 driver core: debug for bad dev_attr_show() return value. Try to find the culprit who caused http://bugzilla.kernel.org/show_bug.cgi?id=10150 Cc: Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit c9698d6b1a90929e427a165bd8283f803f57d9bd Author: Jean-Samuel Chenard Date: Fri Mar 14 11:28:36 2008 +0100 UIO: add pgprot_noncached() to UIO mmap code Mapping of physical memory in UIO needs pgprot_noncached() to ensure that IO memory is not cached. Without pgprot_noncached(), it (accidentally) works on x86 and arm, but fails on PPC. Signed-off-by: Jean-Samuel Chenard Signed-off-by: Hans J Koch Cc: stable Signed-off-by: Greg Kroah-Hartman commit 7fdba2f2917da4403044d9ea5d239f9cc0e9693d Author: Robert P. J. Day Date: Sun Mar 9 20:44:52 2008 -0400 USB: Fix cut-and-paste error in rtl8150.c Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit 055b93c9e32a44acfe3e5e58b900f1e8fcd5f858 Author: Rene Herman Date: Thu Mar 20 00:58:16 2008 -0700 USB: ehci: stop vt6212 bus hogging The VIA VT6212 defaults to only waiting 1us between passes over EHCI's async ring, which hammers PCI badly ... and by preventing other devices from accessing the bus, causes problems like drops in IDE throughput, a problem that's been bugging users of those chips for several years. A (partial) datasheet for this chip eventually turned up, letting us see how to make it use a VIA-specific register to switch over to the the normal 10us value instead, as suggested by the EHCI specification Solution noted by Lev A. Melnikovsky. It's not clear whether this register exists on other VIA chips; we know that it's ineffective on the vt8235. So this patch only applies to chips that seem to be incarnations of the (discrete) vt6212. Signed-off-by: Rene Herman Tested-by: Lev A. Melnikovsky Tested-by: Alessandro Suardi Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 7f170a632d67297b4076947f9b42f55f710ccd42 Author: Kevin Lloyd Date: Fri Mar 14 00:53:24 2008 -0700 USB: sierra: add another device id Add support for the MC8775 device to the sierra driver. Signed-off-by: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit 4f4f9c53c241a0205434c76d05eba2c5f160e9d0 Author: Oliver Neukum Date: Fri Mar 14 00:53:24 2008 -0700 USB: sierra: dma fixes while I was adding autosuspend to that driver I noticed a few issues. You were having DMAed buffers as a part of a structure. This will fail on platforms that are not DMA-coherent (arm, sparc, ppc, ...) Please test this patch to fix it. Signed-off-by: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit cc36bdd47ae51b66780b317c1fa519221f894405 Author: Constantin Baranov Date: Sun Mar 16 20:04:23 2008 +0000 USB: add support for Motorola ROKR Z6 cellphone in mass storage mode Motorola ROKR Z6 cellphone has bugs in its USB, so it is impossible to use it as mass storage. Patch describes new "unusual" USB device for it with FIX_INQUIRY and FIX_CAPACITY flags and new BULK_IGNORE_TAG flag. Last flag relaxes check for equality of bcs->Tag and us->tag in usb_stor_Bulk_transport routine. Signed-off-by: Constantin Baranov Signed-off-by: Matthew Dharm Signed-off-by: Daniel Drake Cc: stable Signed-off-by: Greg Kroah-Hartman commit ba2ef3b36c8ad9aa1df6b2061b0a56f68c64776d Author: Boaz Harrosh Date: Mon Mar 17 14:21:01 2008 -0700 USB: isd200: fix memory leak in isd200_get_inquiry_data If the inquiry fails then the info structure on us->extra was not freed. Signed-off-by: Boaz Harrosh Acked-by: Alan Stern Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit b483b6aaa56f0db72fa50e85b6499a32d82009bf Author: Max Arnold Date: Thu Mar 20 16:43:56 2008 +0700 USB: pl2303: another product ID Device like this http://aldiga.com/english/A-100-USB-EDGE10.htm contains Prolific 2303 chip. Actually their site a bit outdated - I have AlDiga AL-11U GSM/GPRS/EDGE modem and it works with pl2303 module after adding corresponding product ID. By default modem uses baud rate 460800. GSM chipset - SIMCom SIM600, quad band 850/900/1800/1900 MHz Device info: T: Bus=04 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 5 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=067b ProdID=0611 Rev= 0.00 C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=500mA I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=pl2303 E: Ad=81(I) Atr=03(Int.) MxPS= 10 Ivl=1ms E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=83(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms From: Max Arnold Signed-off-by: Greg Kroah-Hartman commit 392e1d9817d0024c96aae237c3c4349e47c976fd Author: Alan Stern Date: Tue Mar 11 10:20:12 2008 -0400 USB: new quirk flag to avoid Set-Interface This patch (as1057) fixes a problem with the X-Rite/Gretag-Macbeth Eye-One Pro display colorimeter; the device crashes when it receives a Set-Interface request. A new quirk (USB_QUIRK_NO_SET_INTF) is introduced and a quirks entry is created for this device. Signed-off-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit 12cd5b984f825c5448aa4c0df561f8252076fd52 Author: Roy Hashimoto Date: Wed Mar 12 13:55:31 2008 -0800 USB: fix gadgetfs class request delegation gadgetfs (drivers/usb/gadget/inode.c) was not delegating all non-device requests to userspace. This patch makes the handling of all request cases consistent. Signed-off-by: Roy Hashimoto Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 7c12c92fba4bd985ed6d909e5537468b268dcaa4 Merge: 5a17558... 16fddf5... Author: Linus Torvalds Date: Mon Mar 24 20:35:48 2008 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] mpc5200: Fix incorrect compatible string for the mdio node [POWERPC] Update some defconfigs commit 85a793533524f333e8d630dc22450e574b7e08d2 Author: David S. Miller Date: Mon Mar 24 20:06:24 2008 -0700 [SPARC64]: Make save_stack_trace() more efficient. Doing a 'flushw' every stack trace capture creates so much overhead that it makes lockdep next to unusable. We only care about the frame pointer chain and the function caller program counters, so flush those by hand to the stack frame. This is significantly more efficient than a 'flushw' because: 1) We only save 16 bytes per active register window to the stack. 2) This doesn't push the entire register window context of the current call chain out of the cpu, forcing register window fill traps as we return back down. Note that we can't use 'restore' and 'save' instructions to move around the register windows because that wouldn't work on Niagara processors. They optimize 'save' into a new register window by simply clearing out the registers instead of pulling them in from the on-chip register window backing store. Based upon a report by Tom Callaway. Signed-off-by: David S. Miller commit 5a17558f06993fdc509362f659582b52b0f921e3 Merge: d56dc0b... 4cde32f... Author: Linus Torvalds Date: Mon Mar 24 20:02:32 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: [libata] ahci: SB600 workaround is suspect... play it safe for now sata_promise: fix hardreset hotplug events, take 2 libata: improve HPA error handling libata: assume no device is attached if both IDENTIFYs are aborted pata_it821x: use raw nbytes in check_atapi_dma libata: implement ata_qc_raw_nbytes() commit 4cde32fc4b32e96a99063af3183acdfd54c563f0 Author: Jeff Garzik Date: Mon Mar 24 22:40:40 2008 -0400 [libata] ahci: SB600 workaround is suspect... play it safe for now At least one report claims that a878539ef994787c447a98c2e3ba0fe3dad984ec failed to solve lockups, whereas the old limit-to-32-bit trick worked. Restore the 32-bit limit, but also leave the 255-sector limit in place, because we know that's needed as well. Signed-off-by: Jeff Garzik commit d56dc0b641da647012af573dac4a5fa7b9883fe0 Merge: 266c2e0... 4ce6efe... Author: Linus Torvalds Date: Mon Mar 24 19:32:38 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-linus * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-linus: kbuild: soften modpost checks when doing cross builds commit 16fddf5457d2a7eb5e96ceb016a8f722eca97af6 Merge: 5492a7e... cc7feea... Author: Paul Mackerras Date: Tue Mar 25 13:31:46 2008 +1100 Merge branch 'linux-2.6' into merge commit c07a9c4995827a4f4bcdbd07cec40ec87467f308 Author: Mikael Pettersson Date: Sun Mar 23 18:41:01 2008 +0100 sata_promise: fix hardreset hotplug events, take 2 A Promise SATA controller will signal hotplug events when a hard reset (COMRESET) is done on a port. These events aren't masked by the driver, and the unexpected interrupts will cause a sequence of failed reset attempts util libata's EH finally gives up. This has not been a common problem so far, but the pending libata hardreset-by-default changes makes it a critical issue. The solution is to disable hotplug events before a reset, and to reenable them afterwards. (Promise's driver does this too.) This patch adds SATA-specific versions of ->freeze() and ->thaw() that also disable and enable hotplug events. PATA ports continue to use the old versions of ->freeze() and ->thaw(). Accesses to the hotplug register must be serialised via host->lock. We rely on ap->lock == &ap->host->lock and that libata takes this lock before ->freeze() and ->thaw(). Document this requirement. The interrupt handler is adjusted so its hotplug register accesses are inside the region protected by host->lock. Tested on various chips (SATA300TX4, SATA300TX2plus, SATAII150TX4, FastTrack TX4000) with various combinations of SATA and PATA disks, with and without the pending hardreset-by-default changes. Signed-off-by: Mikael Pettersson Acked-by: Tejun Heo Signed-off-by: Jeff Garzik commit 266c2e0abeca649fa6667a1a427ad1da507c6375 Author: Linus Torvalds Date: Mon Mar 24 19:25:08 2008 -0700 Make printk() console semaphore accesses sensible The printk() logic on when/how to get the console semaphore was unreadable, this splits the code up into a few helper functions and makes it easier to follow what is going on. Signed-off-by: Linus Torvalds commit 5f7b703fe2be40db5a2bf136ac9e44cf5db267cc Author: Pavel Emelyanov Date: Mon Mar 24 12:29:53 2008 -0700 bsd_acct: using task_struct->tgid is not right in pid-namespaces In case we're accounting from a sub-namespace, the tgids reported will not refer to the right namespace. Save the pid_namespace we're accounting in on the acct_glbs and use it in do_acct_process. Two less :) places using the task_struct.tgid member. Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: "Paul E. McKenney" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a846a1954b6397e844fe1e258af7598897ec6159 Author: Pavel Emelyanov Date: Mon Mar 24 12:29:52 2008 -0700 bsd_acct: plain current->real_parent access is not always safe This is minor, but dereferencing even current real_parent is not safe on debug kernels, since the memory, this points to, can be unmapped - RCU protection is required. Besides, the tgid field is deprecated and is to be replaced with task_tgid_xxx call (the 2nd patch), so RCU will be required anyway. Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: "Paul E. McKenney" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4dd4b920218326231156c7991ce5b94afad841c3 Author: Andrew Morton Date: Mon Mar 24 12:29:52 2008 -0700 revert "kswapd should only wait on IO if there is IO" Revert commit f1a9ee758de7de1e040de849fdef46e6802ea117: Author: Rik van Riel Date: Thu Feb 7 00:14:08 2008 -0800 kswapd should only wait on IO if there is IO The current kswapd (and try_to_free_pages) code has an oddity where the code will wait on IO, even if there is no IO in flight. This problem is notable especially when the system scans through many unfreeable pages, causing unnecessary stalls in the VM. Additionally, tasks without __GFP_FS or __GFP_IO in the direct reclaim path will sleep if a significant number of pages are encountered that should be written out. This gives kswapd a chance to write out those pages, while the direct reclaim task sleeps. Signed-off-by: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds Because of large latencies and interactivity problems reported by Carlos, here: http://lkml.org/lkml/2008/3/22/211 Cc: Rik van Riel Cc: "Carlos R. Mafra" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 537878d2c988fa12bbfaec19ee060c7603a48230 Author: David Brownell Date: Mon Mar 24 12:29:51 2008 -0700 hw_random doc updates Update documentation for the hw_random support to be current: - Documentation/hw_random.txt has been updated to reflect the current code: it's a framework now, a "core" with a small sysfs interface, that hardware-specific drivers plug in to. Text specific to Intel hardware is now at the end. - Kconfig now references the Documentation/hw_random.txt file and better explains what this really does. Both chunks of documentation now higlight the fact that the kernel entropy pool is maintained by "rngd", and this driver has nothing directly to do with that important task. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb622bbb69e41f2746aadf5d7d527e77597abe2e Author: Ahmed S. Darwish Date: Mon Mar 24 12:29:49 2008 -0700 smackfs: remove redundant lock, fix open(,O_RDWR) Older smackfs was parsing MAC rules by characters, thus a need of locking write sessions on open() was needed. This lock is no longer useful now since each rule is handled by a single write() call. This is also a bugfix since seq_open() was not called if an open() O_RDWR flag was given, leading to a seq_read() without an initialized seq_file, thus an Oops. Signed-off-by: Ahmed S. Darwish Reported-by: Jonathan Corbet Acked-by: Casey Schaufler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58336114af4d2cce830201aae49e50b93ede6c5c Author: Mathieu Desnoyers Date: Mon Mar 24 12:29:49 2008 -0700 markers: remove ACCESS_ONCE As Paul pointed out, the ACCESS_ONCE are not needed because we already have the explicit surrounding memory barriers. Signed-off-by: Mathieu Desnoyers Cc: Christoph Hellwig Cc: Mike Mason Cc: Dipankar Sarma Cc: David Smith Cc: "Paul E. McKenney" Cc: Steven Rostedt Cc: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd3c36f8b527d13cf311d15e0702bc0390956970 Author: Mathieu Desnoyers Date: Mon Mar 24 12:29:47 2008 -0700 markers: update preempt_disable. call_rcu, rcu_barrier comments Add comments requested by Andrew. Updated comments about synchronize_sched(). Since we use call_rcu and rcu_barrier now, these comments were out of sync with the code. Signed-off-by: Mathieu Desnoyers Cc: Christoph Hellwig Cc: Mike Mason Cc: Dipankar Sarma Cc: David Smith Cc: "Paul E. McKenney" Cc: Steven Rostedt Cc: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a982cbc7b3fe6cf72266f319286f29963c71b9e Author: Yinghai Lu Date: Mon Mar 24 12:29:45 2008 -0700 mm: fix boundary checking in free_bootmem_core With numa enabled, some callers could have a range of memory on one node but try to free that on other node. This can cause some pages to be freed wrongly. For example: when we try to allocate 128g boot ram early for gart/swiotlb, and free that range later so gart/swiotlb can get some range afterwards. With this patch, we don't need to care which node holds the range, just loop to call free_bootmem_node for all online nodes. This patch makes free_bootmem_core() more robust by trimming the sidx and eidx according the ram range that the node has. And make the free_bootmem_core handle this out of range case. We could use bdata_list to make sure the range can be freed for sure. So next time, we don't need to loop online nodes and could use free_bootmem directly. Signed-off-by: Yinghai Lu Cc: Andi Kleen Cc: Yasunori Goto Cc: KAMEZAWA Hiroyuki Acked-by: Ingo Molnar Tested-by: Ingo Molnar Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2875fb65f8e40401c4b781ebc5002df10485f635 Author: Ingo van Lil Date: Mon Mar 24 12:29:44 2008 -0700 mtd: memory corruption in block2mtd.c The block2mtd driver (drivers/mtd/devices/block2mtd.c) will kfree an on-stack pointer when handling an invalid argument line (e.g. block2mtd=/dev/loop0,xxx). The kfree was added some time ago when "name" was dynamically allocated. Signed-off-by: Ingo van Lil Acked-by: Joern Engel Cc: David Woodhouse Cc: Cc: Andrew Morton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1312848e92a0686cb5124aa86ea58d55ba795742 Author: Pavel Machek Date: Mon Mar 24 12:29:43 2008 -0700 kernel-parameters.txt: document memmap option better Provide example for memmap exclude option (it is slightly strange and non-trivial) and provide nice small HOWTO for people with bad memory. Signed-off-by: Jan-Simon Moeller Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5492a7e4cba8e38419d489f0865de0a67c737e8a Author: Grant Likely Date: Sat Mar 22 14:25:15 2008 +1100 [POWERPC] mpc5200: Fix incorrect compatible string for the mdio node The MDIO node in the lite5200b.dts file needs to also claim compatibility with the older mpc5200 chip. Otherwise the driver won't find the device. Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit dda7aba119536084d082cd11d4781fe15d7355f2 Author: Tejun Heo Date: Sun Mar 23 21:05:15 2008 +0900 libata: improve HPA error handling There's no point in retrying and eventually failing device detection when the device rejects READ_NATIVE_MAX[_EXT]. Disable HPA unlocking if READ_NATIVE_MAX[_EXT] is rejected as done when SET_MAX[_EXT] is rejected. This allows some old drives to work even if they aren't blacklisted. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 1ffc151fcddf524d0c76709d7e7a2af0255acb6b Author: Tejun Heo Date: Sun Mar 23 15:16:53 2008 +0900 libata: assume no device is attached if both IDENTIFYs are aborted This is to fix bugzilla #10254. QSI cdrom attached to pata_sis as secondary master appears as phantom device for the slave. Interestingly, instead of not setting DRQ after IDENTIFY which triggers NODEV_HINT, it aborts both IDENTIFY and IDENTIFY PACKET which makes EH retry. Modify EH such that it assumes no device is attached if both flavors of IDENTIFY are aborted by the device. There really isn't much point in retrying when the device actively aborts the commands. While at it, convert NODEV detection message to ata_dev_printk() to help debugging obscure detection problems. This problem was reported by Jan Bücken. Signed-off-by: Tejun Heo Cc: Jan Bücken Acked-by: Alan Cox Signed-off-by: Jeff Garzik commit b63b133165b876838e8685350ef469620f4abd99 Author: Tejun Heo Date: Tue Mar 18 17:56:12 2008 +0900 pata_it821x: use raw nbytes in check_atapi_dma pata_it821x needs to look at raw request size in check_atapi_dma(). Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit aacda37538e7f9cf2148eedf3766239829e51ba4 Author: Tejun Heo Date: Tue Mar 18 17:47:43 2008 +0900 libata: implement ata_qc_raw_nbytes() Implement ata_qc_raw_nbytes() which determines the raw user-requested size of a PC command. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 7a193a5df7580957c918269e4ba2fccbe4141cb4 Author: Michael Buesch Date: Sun Mar 23 01:08:22 2008 +0100 b43: Remove irqs_disabled() sanity checks Remove all irqs_disabled() sanity checks, as they are not safe on a RT-enabled kernel and will trigger bogus warnings. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit ffa9256aaa28af24ea9d2a7d81b3b93b571226a3 Author: Michael Buesch Date: Sat Mar 22 22:04:45 2008 +0100 b43: Fix DMA mapping leakage This fixes a DMA mapping leakage in the case where we reject a DMA buffer because of its address. Signed-off-by: Michael Buesch Cc: Christian Casteyde Signed-off-by: John W. Linville commit c83dbf687f1e0f6eccb96cd08438285e280a3876 Author: Reinette Chatre Date: Fri Mar 21 13:53:41 2008 -0700 iwlwifi: fix __devexit_p points to __devexit functions The iwlxxxx_pci_remove functions are not needed when drivers are not compiled as modules - they can thus be discarded at kernel link time. This is already captured by having them as __devexit_p in the pci_driver struct - these are supposed to be pointers to __devexit functions, but was not. This is now fixed. This problem was reported by Toralf Forster when testing the compilation of 2.6.25-rc6. Signed-off-by: Reinette Chatre CC: Toralf Forster Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit c2c25fb8144e9e77910294ee76a888e5c8477793 Author: Reinette Chatre Date: Fri Mar 21 13:53:40 2008 -0700 MAINTAINERS: update iwlwifi git url Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9fe0a8c838f0584bca51bcc2f81e5c2c933a5880 Author: John W. Linville Date: Thu Mar 20 16:19:04 2008 -0400 arlan: fix warning when PROC_FS=n drivers/net/wireless/arlan-proc.c:1216: warning: 'arlan_root_table' defined but not used Signed-off-by: John W. Linville commit a9f46786ec5bb291c9b5e6cc6f83ebbd3fceea51 Author: Rick Farrington Date: Tue Mar 18 14:57:49 2008 -0700 iwlwifi: mac start synchronization issue This patch fixes a synchronization problem on the 4965 and 3945 with the mac start callback routine. The problem is that this function exits BEFORE the 'xxx_alive_start' has completed. This can lead to a problem if a subsequent MAC callback attempts to issue a firmware command. Signed-off-by: Rick Farrington Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ea995abfed7f0726aaa22580aaf10b2cf5d91be5 Author: Al Viro Date: Sun Mar 16 22:43:06 2008 +0000 wavelan_cs arm fix Even when all fields are unsigned char, struct still might have alignment > 1. Does so on arm, unless you explicitly say that it's packed... Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 0a74892b6df8f1e7191dffd5a2b0e0e2ca7e73fb Author: Masakazu Mokuno Date: Sat Mar 15 21:38:29 2008 +0100 rt2x00: Add id for Corega CG-WLUSB2GPX This adds the id for Corega CG-WLUSB2GPX. Signed-off-by: Masakazu Mokuno Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 7c44b6e922052989ca2af62aa4ff9ff30f04e092 Author: Pascal Terjan Date: Thu Mar 13 19:13:24 2008 +0100 iwlwifi: fix a typo in Kconfig message Signed-off-by: Pascal Terjan Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit df9dcb4588aca9cc243cf1f3f454361a84e1cbdb Author: Kazunori MIYAZAWA Date: Mon Mar 24 14:51:51 2008 -0700 [IPSEC]: Fix inter address family IPsec tunnel handling. Signed-off-by: Kazunori MIYAZAWA Signed-off-by: David S. Miller commit fa86d322d89995fef1bfb5cc768b89d8c22ea0d9 Author: Pavel Emelyanov Date: Mon Mar 24 14:48:59 2008 -0700 [NEIGH]: Fix race between pneigh deletion and ipv6's ndisc_recv_ns (v3). Proxy neighbors do not have any reference counting, so any caller of pneigh_lookup (unless it's a netlink triggered add/del routine) should _not_ perform any actions on the found proxy entry. There's one exception from this rule - the ipv6's ndisc_recv_ns() uses found entry to check the flags for NTF_ROUTER. This creates a race between the ndisc and pneigh_delete - after the pneigh is returned to the caller, the nd_tbl.lock is dropped and the deleting procedure may proceed. One of the fixes would be to add a reference counting, but this problem exists for ndisc only. Besides such a patch would be too big for -rc4. So I propose to introduce a __pneigh_lookup() which is supposed to be called with the lock held and use it in ndisc code to check the flags on alive pneigh entry. Changes from v2: As David noticed, Exported the __pneigh_lookup() to ipv6 module. The checkpatch generates a warning on it, since the EXPORT_SYMBOL does not follow the symbol itself, but in this file all the exports come at the end, so I decided no to break this harmony. Changes from v1: Fixed comments from YOSHIFUJI - indentation of prototype in header and the pndisc_check_router() name - and a compilation fix, pointed by Daniel - the is_routed was (falsely) considered as uninitialized by gcc. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit cc7feea39bed2951cc29af3ad642f39a99dfe8d3 Merge: 6f58d79... 7ea6fd7... Author: Linus Torvalds Date: Mon Mar 24 13:09:34 2008 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] Fix Oops with TQM5200 on TQM5200 [POWERPC] mpc5200: Fix null dereference if bestcomm fails to initialize [POWERPC] mpc5200-fec: Fix possible NULL dereference in mdio driver [POWERPC] Fix crash in init_ipic_sysfs on efika [POWERPC] Don't use 64k pages for ioremap on pSeries commit 6f58d79598c184dc4f18ceddfaa5fa7483bce0a5 Merge: ca1a6ba... 6d00815... Author: Linus Torvalds Date: Mon Mar 24 13:08:01 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64]: exec PT_DTRACE [SPARC64]: Use shorter list_splice_init() for brevity. [SPARC64]: Remove most limitations to kernel image size. commit ca1a6ba57c5fca755b4ac7a13395bca2e2e371b1 Merge: d307377... 8f3ea33... Author: Linus Torvalds Date: Mon Mar 24 13:07:24 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: sch_htb: fix "too many events" situation connector: convert to single-threaded workqueue [ATM]: When proc_create() fails, do some error handling work and return -ENOMEM. [SUNGEM]: Fix NAPI assertion failure. BNX2X: prevent ethtool from setting port type [9P] net/9p/trans_fd.c: remove unused variable [IPV6] net/ipv6/ndisc.c: remove unused variable [IPV4] fib_trie: fix warning from rcu_assign_poinger [TCP]: Let skbs grow over a page on fast peers [DLCI]: Fix tiny race between module unload and sock_ioctl. [SCTP]: Fix build warnings with IPV6 disabled. [IPV4]: Fix null dereference in ip_defrag commit d3073779f8362d64b804882f5f41c208c4a5e11e Author: Roland Dreier Date: Mon Mar 24 12:03:03 2008 -0400 SVCRDMA: Use only 1 RDMA read scatter entry for iWARP adapters The iWARP protocol limits RDMA read requests to a single scatter entry. NFS/RDMA has code in rdma_read_max_sge() that is supposed to limit the sge_count for RDMA read requests to 1, but the code to do that is inside an #ifdef RDMA_TRANSPORT_IWARP block. In the mainline kernel at least, RDMA_TRANSPORT_IWARP is an enum and not a preprocessor #define, so the #ifdef'ed code is never compiled. In my test of a kernel build with -j8 on an NFS/RDMA mount, this problem eventually leads to trouble starting with: svcrdma: Error posting send = -22 svcrdma : RDMA_READ error = -22 and things go downhill from there. The trivial fix is to delete the #ifdef guard. The check seems to be a remnant of when the NFS/RDMA code was not merged and needed to compile against multiple kernel versions, although I don't think it ever worked as intended. In any case now that the code is upstream there's no need to test whether the RDMA_TRANSPORT_IWARP constant is defined or not. Without this patch, my kernel build on an NFS/RDMA mount using NetEffect adapters quickly and 100% reproducibly failed with an error like: ld: final link failed: Software caused connection abort With the patch applied I was able to complete a kernel build on the same setup. (Tom Tucker says this is "actually an _ancient_ remnant when it had to compile against iWARP vs. non-iWARP enabled OFA trees.") Signed-off-by: Roland Dreier Acked-by: Tom Tucker Signed-off-by: J. Bruce Fields Signed-off-by: Linus Torvalds commit b9e76a00749521f2b080fa8a4fb15f66538ab756 Author: Linus Torvalds Date: Mon Mar 24 11:22:39 2008 -0700 x86-32: Pass the full resource data to ioremap() It appears that 64-bit PCI resources cannot possibly ever have worked on x86-32 even when the RESOURCES_64BIT config option was set, because any driver that tried to [pci_]ioremap() the resource would have been unable to do so because the high 32 bits would have been silently dropped on the floor by the ioremap() routines that only used "unsigned long". Change them to use "resource_size_t" instead, which properly encodes the whole 64-bit resource data if RESOURCES_64BIT is enabled. Acked-by: H. Peter Anvin Acked-by: Stefan Richter Cc: Ivan Kokshaysky Signed-off-by: Linus Torvalds commit 92896bd9fd75b1c993b92874d339a8088bb75560 Author: Linus Torvalds Date: Mon Mar 24 11:07:15 2008 -0700 Don't 'printk()' while holding xtime lock for writing The printk() can deadlock because it can wake up klogd(), and task enqueueing will try to read the time in order to set a hrtimer. Reported-by: Marcin Slusarz Debugged-by: Peter Zijlstra Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Linus Torvalds commit 481419ec9fbdf3f4ec5389c7e91a81b4a7ebee8d Author: Helge Deller Date: Mon Mar 24 11:02:06 2008 -0400 Input: apm-power - fix crash when unloading modules Fix a crash in the apm-power driver when an input-device, such as keyboard driver module, is unloaded. Signed-off-by: Helge Deller Signed-off-by: Dmitry Torokhov commit eff2f1ec37c114fda63ac1dd15c9ca9ac7e68db4 Author: Kumar Gala Date: Mon Mar 24 08:56:06 2008 -0500 [POWERPC] Update some defconfigs Signed-off-by: Kumar Gala commit 7ea6fd7e2df041297298b5feb5b7b78a2b1a5310 Author: Anatolij Gustschin Date: Sat Mar 22 21:49:05 2008 +1100 [POWERPC] Fix Oops with TQM5200 on TQM5200 The "bestcomm-core" driver defines its of_match table as follows static struct of_device_id mpc52xx_bcom_of_match[] = { { .type = "dma-controller", .compatible = "fsl,mpc5200-bestcomm", }, { .type = "dma-controller", .compatible = "mpc5200-bestcomm", }, {}, }; so while registering the driver, the driver's probe function won't be called, because the device tree node doesn't have a device_type property. Thus the driver's bcom_engine structure won't be allocated. Referencing this structure later causes observed Oops. Checking bcom_eng pointer for NULL before referencing data pointed by it prevents oopsing, but fec driver still doesn't work (because of the lost bestcomm match and resulted task allocation failure). Actually the compatible property exists and should match and so the fec driver should work. This removes .type = "dma-controller" from the bestcomm driver's mpc52xx_bcom_of_match table to solve the problem. Signed-off-by: Anatolij Gustschin Acked-by: Grant Likely Signed-off-by: Paul Mackerras commit 9560aea4e9d17cb75113c6051e800222fd5c71a4 Author: Grant Likely Date: Sat Mar 22 14:41:05 2008 +1100 [POWERPC] mpc5200: Fix null dereference if bestcomm fails to initialize If the bestcomm initialization fails, calls to the task allocate function should fail gracefully instead of oopsing with a NULL deref. Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit b8c19eb16a7e6df57d0f6d67e42ce026e5d5930b Author: Grant Likely Date: Sat Mar 22 14:20:29 2008 +1100 [POWERPC] mpc5200-fec: Fix possible NULL dereference in mdio driver If the reg property is missing from the phy node (unlikely, but possible), then the kernel will oops with a NULL pointer dereference. This fixes it by checking the pointer first. Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit 1428a9fa586cb80acf98289f797f58b8bd662598 Author: Olaf Hering Date: Tue Mar 18 06:53:05 2008 +1100 [POWERPC] Fix crash in init_ipic_sysfs on efika The global primary_ipic in arch/powerpc/sysdev/ipic.c can remain NULL if ipic_init() fails, which will happen on machines that don't have an ipic interrupt controller. init_ipic_sysfs() will crash in that case. Acked-by: Grant Likely Signed-off-by: Paul Mackerras commit cfe666b145cecffe784d98e60ffe201a5dc57ac3 Author: Paul Mackerras Date: Mon Mar 24 17:41:22 2008 +1100 [POWERPC] Don't use 64k pages for ioremap on pSeries On pSeries, the hypervisor doesn't let us map in the eHEA ethernet adapter using 64k pages, and thus the ehea driver will fail if 64k pages are configured. This works around the problem by always using 4k pages for ioremap on pSeries (but not on other platforms). A better fix would be to check whether the partition could ever have an eHEA adapter, and only force 4k pages if it could, but this will do for 2.6.25. This is based on an earlier patch by Tony Breeds. Signed-off-by: Paul Mackerras commit 6d008153234c4cccae7bb0170defeea18258db4a Author: Roland McGrath Date: Sun Mar 23 22:50:16 2008 -0700 [SPARC64]: exec PT_DTRACE The PT_DTRACE flag is meaningless and obsolete. Don't touch it. Signed-off-by: Roland McGrath Signed-off-by: David S. Miller commit 1f17131bb46065141069dee9fbcc4bdd0e9c2a2e Author: Robert P. J. Day Date: Sun Mar 23 22:48:29 2008 -0700 [SPARC64]: Use shorter list_splice_init() for brevity. Signed-off-by: Robert P. J. Day Signed-off-by: David S. Miller commit 8f3ea33a5078a09eba12bfe57424507809367756 Author: Martin Devera Date: Sun Mar 23 22:00:38 2008 -0700 sch_htb: fix "too many events" situation HTB is event driven algorithm and part of its work is to apply scheduled events at proper times. It tried to defend itself from livelock by processing only limited number of events per dequeue. Because of faster computers some users already hit this hardcoded limit. This patch limits processing up to 2 jiffies (why not 1 jiffie ? because it might stop prematurely when only fraction of jiffie remains). Signed-off-by: Martin Devera Signed-off-by: David S. Miller commit 4b1b366721101f2f0d2350fbdccb679f7909cf57 Author: Evgeniy Polyakov Date: Sun Mar 23 21:51:12 2008 -0700 connector: convert to single-threaded workqueue From: Evgeniy Polyakov We don't need one cqueue thread for each CPU. cqueue is used for receiving userspace datagrams, which are very rare and thus will happily live with a single queue. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit dbee0d3f4603b9d0e56234a0743321fe4dad31ca Author: Wang Chen Date: Sun Mar 23 21:45:36 2008 -0700 [ATM]: When proc_create() fails, do some error handling work and return -ENOMEM. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 4ce6efed48d736e3384c39ff87bda723e1f8e041 Author: Sam Ravnborg Date: Sun Mar 23 21:38:54 2008 +0100 kbuild: soften modpost checks when doing cross builds The module alias support in the kernel have a consistency check where it is checked that the size of a structure in the kernel and on the build host are the same. For cross builds this check does not make sense so detect when we do cross builds and silently skip the check in these situations. This fixes a build bug for a wireless driver when cross building for arm. Acked-by: Michael Buesch Tested-by: Gordon Farquharson Signed-off-by: Sam Ravnborg Cc: stable@kernel.org commit 8c07e46f39d8c613cf2281c7d87908c0105fb0d0 Author: Randy Dunlap Date: Sun Mar 23 20:28:20 2008 +0100 i2c: Fix docbook problem Sometimes kernel-doc and xmlto conspire to create output that is invalid and causes problems. Until I know a real/better solution, change the source code that causes this. If anyone has better fixes or can just explain what is happening here, that would be great. xmlto: input does not validate (status 1) mmotm-2008-0314-1449/Documentation/DocBook/kernel-api.xml:71468: parser error : Opening and ending tag mismatch: programlisting line 71464 and para ^ mmotm-2008-0314-1449/Documentation/DocBook/kernel-api.xml:71480: parser error : Opening and ending tag mismatch: para line 71473 and programlisting ^ make[1]: *** [Documentation/DocBook/kernel-api.html] Error 1 Signed-off-by: Randy Dunlap Signed-off-by: Jean Delvare commit bc80cc55f0a1689b86bf037c9d84cb7ff2b95131 Author: Jean Delvare Date: Sun Mar 23 20:28:20 2008 +0100 ASoC/TLV320AIC3X: Stop I2C driver ID abuse Please stop using random I2C driver IDs. Also removed a pointless initialization to 0 of a static struct member. Acked-by: Takashi Iwai Cc: Jarkko Nikula Signed-off-by: Jean Delvare commit f08ac4e79424c266aed8282939649104b37f53b4 Author: Tony Lindgren Date: Sun Mar 23 20:28:20 2008 +0100 i2c-omap: Fix unhandled fault If an I2C interrupt happens between disabling interface clock and functional clock, the interrupt handler will produce an external abort on non-linefetch error when trying to access driver registers while interface clock is disabled. This patch fixes the problem by saving and disabling i2c-omap interrupt before turning off the clocks. Also disable functional clock before the interface clock as suggested by Paul Walmsley. Patch also renames enable/disable_clocks functions to unidle/idle functions. Note that the driver is currently not taking advantage of the idle interrupts. To use the idle interrupts, driver would have to enable interface clock based on the idle interrupt and dev->idle flag. This patch has been tested in linux-omap tree with various omaps. Cc: Paul Walmsley Signed-off-by: Tony Lindgren Signed-off-by: Jean Delvare commit 70849251147c3499afb8d7500d0fba240da73456 Author: Bryan Wu Date: Sun Mar 23 20:28:20 2008 +0100 i2c-bfin-twi: Disable BF54x support for now The i2c-bfin-twi driver doesn't support BF54x for now due to missing header definitions causing the build to fail. Exclude it for now, it will be enabled again later. Signed-off-by: Bryan Wu Signed-off-by: Jean Delvare commit da990a2402aeaee84837f29054c4628eb02f7493 Author: David S. Miller Date: Sun Mar 23 03:35:12 2008 -0700 [SUNGEM]: Fix NAPI assertion failure. As reported by Johannes Berg: I started getting this warning with recent kernels: [ 773.908927] ------------[ cut here ]------------ [ 773.908954] Badness at net/core/dev.c:2204 ... If we loop more than once in gem_poll(), we'll use more than the real budget in our gem_rx() calls, thus eventually trigger the caller's assertions in net_rx_action(). Subtract "work_done" from "budget" for the second arg to gem_rx() to fix the bug. Signed-off-by: David S. Miller commit 2572c149a2f52232ce690ddb9c6fd0c90ffd61cd Author: Eliezer Tamir Date: Sun Mar 23 03:07:45 2008 -0700 BNX2X: prevent ethtool from setting port type On 10GBaseT boards setting the type to TP will cause the driver to try to configure 1GBaseT. Since there are currently no boards that support setting of the port type, disable this for now. Signed-off-by: Eliezer Tamir Signed-off-by: David S. Miller commit 53a6201fdfa04accc91ea1a7accce8e8bc37ef8e Author: Julia Lawall Date: Sat Mar 22 18:05:33 2008 -0700 [9P] net/9p/trans_fd.c: remove unused variable The variable cb is initialized but never used otherwise. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type T; identifier i; constant C; @@ ( extern T i; | - T i; <+... when != i - i = C; ...+> ) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 421f099bc555c5f1516fdf5060de1d6bb5f51002 Author: Julia Lawall Date: Sat Mar 22 18:04:16 2008 -0700 [IPV6] net/ipv6/ndisc.c: remove unused variable The variable hlen is initialized but never used otherwise. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type T; identifier i; constant C; @@ ( extern T i; | - T i; <+... when != i - i = C; ...+> ) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 6440cc9e0f48ade57af7be28008cbfa6a991f287 Author: Stephen Hemminger Date: Sat Mar 22 17:59:58 2008 -0700 [IPV4] fib_trie: fix warning from rcu_assign_poinger This gets rid of a warning caused by the test in rcu_assign_pointer. I tried to fix rcu_assign_pointer, but that devolved into a long set of discussions about doing it right that came to no real solution. Since the test in rcu_assign_pointer for constant NULL would never succeed in fib_trie, just open code instead. Signed-off-by: Stephen Hemminger Acked-by: Paul E. McKenney Signed-off-by: David S. Miller commit d2532dd20a126020de407c1c2476a75b53fce7ac Merge: 7f8ed18... f2b2b59... Author: Linus Torvalds Date: Sat Mar 22 17:07:59 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: RDMA/nes: Fix MSS calculation on RDMA path commit 7f8ed1855d7f23eb5fa1b5d2f890b748ecf95179 Merge: 0d995b2... ca4e2ab... Author: Linus Torvalds Date: Sat Mar 22 17:06:57 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: Revert "ide-tape: schedule driver for removal after 6 months" ide: mark "hdx=remap" and "hdx=remap63" kernel parameters as obsoleted ide: mark "hdx=[driver_name]" and "hdx=scsi" kernel parameters as obsoleted ide: Documentation/ide/ide.txt fixes ide: mark special "ide0=" kernel parameters as obsoleted ide: remove commented out entries from ide_pio_blacklist[] commit 0d995b2b446c2304c04058bedba49460823adbf7 Merge: 130eb46... 04b6e6e... Author: Linus Torvalds Date: Sat Mar 22 17:05:31 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: [CIFS] Fix mem leak on dfs referral [CIFS] file create with acl support enabled is slow [CIFS] Fix mtime on cp -p when file data cached but written out too late [CIFS] Fix build problem [CIFS] cifs: replace remaining __FUNCTION__ occurrences [CIFS] DFS patch that connects inode with dfs handling ops commit 130eb4653550ff9c73e09858464446cc9d59ff7b Merge: f16278c... 9e96304... Author: Linus Torvalds Date: Sat Mar 22 17:04:58 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: x86: revert: reserve dma32 early for gart commit f16278c679aa72e28288435b313ba2d4494d6be5 Author: Hans Rosenfeld Date: Fri Mar 21 18:46:59 2008 -0500 Change pagemap output format to allow for future reporting of huge pages Change pagemap output format to allow for future reporting of huge pages. (Format comment and minor cleanups: mpm@selenic.com) Signed-off-by: Hans Rosenfeld Signed-off-by: Matt Mackall Signed-off-by: Linus Torvalds commit 51ec92e295d563dd5712d198a7e46c2ae5ccccb2 Author: Pierre Ossman Date: Fri Mar 21 23:54:50 2008 +0100 mmc: use sysfs groups to handle conditional attributes Suppressing uevents turned out to be a bad idea as it screws up the order of events, making user space very confused. Change the system to use sysfs groups instead. This is a regression that, for some odd reason, has gone unnoticed for some time. It confuses hal so that the block devices (which have the mmc device as a parent) are not registered. End result being that desktop magic when cards are inserted won't work. Signed-off-by: Pierre Ossman Signed-off-by: Linus Torvalds commit 03c086a747d0b242878eb881971ec61c1555869d Author: Darren Salt Date: Thu Mar 13 15:35:49 2008 +0000 PNP: increase the number of PnP memory resources from 12 to 24 Increase the number of PnP memory resources from 12 to 24. This removes an "exceeded the max num of mem resources" warning on boot. I also noticed the reservation of two more iomem ranges on the computer on which this was tested. Signed-off-by: Darren Salt Signed-off-by: Ingo Molnar Acked-by: Bjorn Helgaas Signed-off-by: Linus Torvalds commit 245073f0b3a8b8b626f3222dacb483695bf46419 Author: Bjorn Helgaas Date: Fri Mar 21 12:08:37 2008 -0600 ISAPNP: fix limits of logical device register set PNP_MAX_MEM and PNP_MAX_PORT are mainly used to size tables of PNP device resources. In 2.6.24, we increased their values to accomodate ACPI devices that have many resources: 2.6.23 2.6.24 ------ ------ PNP_MAX_MEM 4 12 PNP_MAX_PORT 8 40 However, ISAPNP also used these constants as the size of parts of the logical device register set. This register set is fixed by hardware, so increasing the constants meant that we were reading and writing unintended parts of the register set. This patch changes ISAPNP to use the correct register set sizes (the same values we used prior to 2.6.24). Signed-off-by: Bjorn Helgaas Signed-off-by: Linus Torvalds commit 04b6e6ec1a9340ab77637cae9b51b984d9d706d8 Author: Steve French Date: Sat Mar 22 22:57:44 2008 +0000 [CIFS] Fix mem leak on dfs referral Signed-off-by: Igor Mammedov Signed-off-by: Steve French commit 69d1506731168d6845a76a303b2c45f7c05f3f2c Author: Herbert Xu Date: Sat Mar 22 15:47:05 2008 -0700 [TCP]: Let skbs grow over a page on fast peers While testing the virtio-net driver on KVM with TSO I noticed that TSO performance with a 1500 MTU is significantly worse compared to the performance of non-TSO with a 16436 MTU. The packet dump shows that most of the packets sent are smaller than a page. Looking at the code this actually is quite obvious as it always stop extending the packet if it's the first packet yet to be sent and if it's larger than the MSS. Since each extension is bound by the page size, this means that (given a 1500 MTU) we're very unlikely to construct packets greater than a page, provided that the receiver and the path is fast enough so that packets can always be sent immediately. The fix is also quite obvious. The push calls inside the loop is just an optimisation so that we don't end up doing all the sending at the end of the loop. Therefore there is no specific reason why it has to do so at MSS boundaries. For TSO, the most natural extension of this optimisation is to do the pushing once the skb exceeds the TSO size goal. This is what the patch does and testing with KVM shows that the TSO performance with a 1500 MTU easily surpasses that of a 16436 MTU and indeed the packet sizes sent are generally larger than 16436. I don't see any obvious downsides for slower peers or connections, but it would be prudent to test this extensively to ensure that those cases don't regress. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 9e9630481ee8ef33f1cce71ce3636169fa37cd49 Author: Thomas Gleixner Date: Sat Mar 22 14:13:06 2008 +0100 x86: revert: reserve dma32 early for gart Revert commit f62f1fc9ef94f74fda2b456d935ba2da69fa0a40 Author: Yinghai Lu Date: Fri Mar 7 15:02:50 2008 -0800 x86: reserve dma32 early for gart The patch has a dependency on bootmem modifications which are not .25 material that late in the -rc cycle. The problem which is addressed by the patch is limited to machines with 256G and more memory booted with NUMA disabled. This is not a .25 regression and the audience which is affected by this problem is very limited, so it's safer to do the revert than pulling in intrusive bootmem changes right now. Signed-off-by: Thomas Gleixner commit ca4e2ab5b2764562fe3d41b95b27e6bbd4733d66 Author: Bartlomiej Zolnierkiewicz Date: Sat Mar 22 16:44:27 2008 +0100 Revert "ide-tape: schedule driver for removal after 6 months" This reverts commit d48567dd43868b3d2e1fcc33ee76dc2d38a1ddeb. Borislav is working on ide-tape "light" version instead. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit d708c40da83a86551556999e924e27fdc43dad71 Author: Bartlomiej Zolnierkiewicz Date: Sat Mar 22 16:40:22 2008 +0100 ide: mark "hdx=remap" and "hdx=remap63" kernel parameters as obsoleted Mark "hdx=remap" and "hdx=remap63" kernel parameters as obsoleted (they are layering violation and should be dealt with in the same way as done by libata - device-mapper should be used instead). Signed-off-by: Bartlomiej Zolnierkiewicz commit 15220d9b5a7e6f4ff251350b285674ed676e0d3d Author: Bartlomiej Zolnierkiewicz Date: Sat Mar 22 16:40:21 2008 +0100 ide: mark "hdx=[driver_name]" and "hdx=scsi" kernel parameters as obsoleted Mark "hdx=[driver_name]" and "hdx=scsi" kernel parameters as obsoleted (nowadays device-driver binding can be changed at runtime through sysfs and it can also be dealt with using per device driver parameters). Signed-off-by: Bartlomiej Zolnierkiewicz commit ad1c53bcdb831e14b1313ad694d5053ae0349393 Author: Bartlomiej Zolnierkiewicz Date: Sat Mar 22 16:40:21 2008 +0100 ide: Documentation/ide/ide.txt fixes * "hdx=cyls,heads,sects,wpcom,irq" should be "hdx=cyls,heads,sects". * "hdx=" is for "x" from 'a' to 'u', "idex=" is for "x" from '0' to '9'. * "idex=noautotune" is long gone. * Obsoleted "ide0=" parameters were already removed from the documentation. Signed-off-by: Bartlomiej Zolnierkiewicz commit 9c027c684bd01b91a7aecc63161b56071685ce7d Author: Bartlomiej Zolnierkiewicz Date: Sat Mar 22 16:40:21 2008 +0100 ide: mark special "ide0=" kernel parameters as obsoleted Mark "ide0=ali14xx|cmd640_vlb|dtc2278|ht6560b|qd65xx|umc8672" kernel parameters as obsoleted (per host driver replacements have been available for a long time). Signed-off-by: Bartlomiej Zolnierkiewicz commit 37ff9f3953dfa7262be091e431cd0eb368c38080 Author: Bartlomiej Zolnierkiewicz Date: Sat Mar 22 16:40:20 2008 +0100 ide: remove commented out entries from ide_pio_blacklist[] Signed-off-by: Bartlomiej Zolnierkiewicz commit 64658743fdd40021e3ac91e8ff260ad06578dd23 Author: David S. Miller Date: Fri Mar 21 17:01:38 2008 -0700 [SPARC64]: Remove most limitations to kernel image size. Currently kernel images are limited to 8MB in size, and this causes problems especially when enabling features that take up a lot of kernel image space such as lockdep. The code now will align the kernel image size up to 4MB and map that many locked TLB entries. So, the only practical limitation is the number of available locked TLB entries which is 16 on Cheetah and 64 on pre-Cheetah sparc64 cpus. Niagara cpus don't actually have hw locked TLB entry support. Rather, the hypervisor transparently provides support for "locked" TLB entries since it runs with physical addressing and does the initial TLB miss processing. Fully utilizing this change requires some help from SILO, a patch for which will be submitted to the maintainer. Essentially, SILO will only currently map up to 8MB for the kernel image and that needs to be increased. Note that neither this patch nor the SILO bits will help with network booting. The openfirmware code will only map up to a certain amount of kernel image during a network boot and there isn't much we can to about that other than to implemented a layered network booting facility. Solaris has this, and calls it "wanboot" and we may implement something similar at some point. Signed-off-by: David S. Miller commit 7512cbf6efc97644812f137527a54b8e92b6a90a Author: Pavel Emelyanov Date: Fri Mar 21 15:58:52 2008 -0700 [DLCI]: Fix tiny race between module unload and sock_ioctl. This is a narrow pedantry :) but the dlci_ioctl_hook check and call should not be parted with the mutex lock. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 1233823b0847190976d69a86d7bb1287992ba2c7 Author: David S. Miller Date: Fri Mar 21 15:40:47 2008 -0700 [SCTP]: Fix build warnings with IPV6 disabled. Introduced by 270637abff0cdf848b910b9f96ad342e1da61c66 ("[SCTP]: Fix a race between module load and protosw access") Reported by Gabriel C: In file included from net/sctp/sm_statetable.c:50: include/net/sctp/sctp.h: In function 'sctp_v6_pf_init': include/net/sctp/sctp.h:392: warning: 'return' with a value, in function returning void In file included from net/sctp/sm_statefuns.c:62: include/net/sctp/sctp.h: In function 'sctp_v6_pf_init': include/net/sctp/sctp.h:392: warning: 'return' with a value, in function returning void ... Signed-off-by: David S. Miller commit 12b101555f4a67db67a66966a516075bd477741f Author: Phil Oester Date: Fri Mar 21 15:01:50 2008 -0700 [IPV4]: Fix null dereference in ip_defrag Been seeing occasional panics in my testing of 2.6.25-rc in ip_defrag. Offending line in ip_defrag is here: net = skb->dev->nd_net where dev is NULL. Bisected the problem down to commit ac18e7509e7df327e30d6e073a787d922eaf211d ([NETNS][FRAGS]: Make the inet_frag_queue lookup work in namespaces). Below patch (idea from Patrick McHardy) fixes the problem for me. Signed-off-by: Phil Oester Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit f2b2b59b93082d02ee5ec8fda4ed94f498551a47 Author: Chien Tung Date: Thu Mar 20 19:55:30 2008 -0500 RDMA/nes: Fix MSS calculation on RDMA path Fix the calculation of the MSS for RDMA connections: we need to allow space in frames for a VLAN tag too. Signed-off-by: Chien Tung Signed-off-by: Glenn Streiff Signed-off-by: Roland Dreier commit a57543376c99e4d074516c5bf23c7ddc1dc613a0 Author: Mark Fasheh Date: Fri Mar 21 10:40:31 2008 -0700 ocfs2: MAINTAINERS update Change my e-mail address, add Joel as new co-maintainer. Signed-off-by: Mark Fasheh commit 028011e1391eab27e7bc113c2ac08d4f55584a75 Merge: 37bff62... 22e52b0... Author: Linus Torvalds Date: Fri Mar 21 10:05:19 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel: sched: add arch_update_cpu_topology hook. sched: add exported arch_reinit_sched_domains() to header file. sched: remove double unlikely from schedule() sched: cleanup old and rarely used 'debug' features. commit 37bff62e98f675777e1e76173fe320f04062841d Author: Yinghai Lu Date: Tue Mar 18 12:40:04 2008 -0700 x86_64: free_bootmem should take phys so use nodedata_phys directly. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7800c0c3b146013e1e8439e91dc1236a55871d21 Author: Matti Linnanvuori Date: Sun Mar 16 02:47:35 2008 -0700 sync_bitops: fix wrong comments [Bug 10247] Fix wrong function name and references to non-x86 architectures. Signed-off-by: Matti Linnanvuori mattilinnanvuori@yahoo.com Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5dca6a1bb014875a17289fdaae8c31e0a3641c99 Author: Yinghai Lu Date: Tue Mar 18 16:44:19 2008 -0700 x86: trim mtrr don't close gap for resource allocation. fix the bug reported here: http://bugzilla.kernel.org/show_bug.cgi?id=10232 use update_memory_range() instead of add_memory_range() directly to avoid closing the gap. ( the new code only affects and runs on systems where the MTRR workaround triggers. ) Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fc1c8925c8210009c1fc5d909d189252d8fb4fb2 Author: Heinz-Ado Arnolds Date: Wed Mar 12 16:27:56 2008 +0100 x86: fix reboot problem with Dell Optiplex 745, 0KW626 board we have seen a little problem in rebooting Dell Optiplex 745 with the 0KW626 board. Here is a small patch enabling reboot with this board, which forces the default reboot path it into the BIOS reboot mode. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e215f3c2c5247b727a76f28de4b3e46def950c55 Author: Jiri Slaby Date: Wed Mar 12 14:53:53 2008 +0100 x86: fix fault_msg nul termination The fault_msg text is not explictly nul terminated now in startup assembly. Do so by converting .ascii to .asciz. Signed-off-by: Jiri Slaby Cc: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2050d45d7c32cbad7a070d04256237144a0920db Author: Pavel Machek Date: Thu Mar 13 23:05:41 2008 +0100 x86: fix long standing bug with usb after hibernation with 4GB ram aperture_64.c takes a piece of memory and makes it into iommu window... but such window may not be saved by swsusp -- that leads to oops during hibernation. Signed-off-by: Pavel Machek Acked-by: "Rafael J. Wysocki" Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 96bcf458cbc71fc08f4d10e0b5bf1b18702b2344 Author: Zbigniew Luszpinski Date: Wed Mar 19 15:51:50 2008 +0100 x86: hpet clock enable quirk on nVidia nForce 430 this patch allows hpet=force on nVidia nForce 430 southbridge. This patch was tested by me on my old Asus A8N-VM CSM (where bios does not support hpet and does not advertise it via acpi entry). My nForce430 version: lspci -nn | grep LPC 00:0a.0 ISA bridge [0601]: nVidia Corporation MCP51 LPC Bridge [10de:0260] (rev a2) Kernel 2.6.24.3 after patching and using hpet=force reports this: dmesg | grep -i hpet Kernel command line: root=/dev/sda8 ro vga=773 video=vesafb:mtrr:4,ywrap vt.default_utf8=0 hpet=force Force enabled HPET at base address 0xfed00000 hpet clockevent registered Time: hpet clocksource has been installed. grep -i hpet /proc/timer_list Clock Event Device: hpet set_next_event: hpet_legacy_next_event set_mode: hpet_legacy_set_mode grep Clock /proc/timer_list (before patching) Clock Event Device: pit Clock Event Device: lapic grep Clock /proc/timer_list (after patching) Clock Event Device: hpet Clock Event Device: lapic Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f62f1fc9ef94f74fda2b456d935ba2da69fa0a40 Author: Yinghai Lu Date: Fri Mar 7 15:02:50 2008 -0800 x86: reserve dma32 early for gart a system with 256 GB of RAM, when NUMA is disabled crashes the following way: Your BIOS doesn't leave a aperture memory hole Please enable the IOMMU option in the BIOS setup This costs you 64 MB of RAM Cannot allocate aperture memory hole (ffff8101c0000000,65536K) Kernel panic - not syncing: Not enough memory for aperture Pid: 0, comm: swapper Not tainted 2.6.25-rc4-x86-latest.git #33 Call Trace: [] panic+0xb2/0x190 [] ? release_console_sem+0x7c/0x250 [] ? __alloc_bootmem_nopanic+0x48/0x90 [] ? free_bootmem+0x29/0x50 [] gart_iommu_hole_init+0x5e7/0x680 [] ? alloc_large_system_hash+0x16b/0x310 [] ? _etext+0x0/0x1 [] pci_iommu_alloc+0x1c/0x40 [] mem_init+0x45/0x1a0 [] start_kernel+0x295/0x380 [] _sinittext+0x1c2/0x230 the root cause is : memmap PMD is too big, [ffffe200e0600000-ffffe200e07fffff] PMD ->ffff81383c000000 on node 0 almost near 4G..., and vmemmap_alloc_block will use up the ram under 4G. solution will be: 1. make memmap allocation get memory above 4G... 2. reserve some dma32 range early before we try to set up memmap for all. and release that before pci_iommu_alloc, so gart or swiotlb could get some range under 4g limit for sure. the patch is using method 2. because method1 may need more code to handle SPARSEMEM and SPASEMEM_VMEMMAP will get Your BIOS doesn't leave a aperture memory hole Please enable the IOMMU option in the BIOS setup This costs you 64 MB of RAM Mapping aperture over 65536 KB of RAM @ 4000000 Memory: 264245736k/268959744k available (8484k kernel code, 4187464k reserved, 4004k data, 724k init) Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fc115bf19b5b2f383614b264569fb48a43bfe56d Author: Coleman Kane Date: Tue Mar 4 15:05:41 2008 -0800 x86: add the DFF (Desktop Form Factor) Dell Optiplex 745 to the reboot errata list We recently got some of the "Desktop Form Factor" Optiplex 745's in. I noticed that there's an entry for the SFF one's, but the BIOS model number of the DFF differs from that of the SFF. We have been reliably experiencing the same (as far as I can tell) reboot bug as the SFF boxes. Cc: "H. Peter Anvin" Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 31780715605f7fd09a06f509d677cd538104baa9 Author: Randy Dunlap Date: Tue Mar 4 14:55:47 2008 -0800 x86/visws: fix printk format warnings Fix visws printk format warnings: /local/linsrc/linux-2.6.24-git15/arch/x86/mach-visws/traps.c:50: warning: format '%#lx' expects type 'long unsigned int', but argument 2 has type 'u32' /local/linsrc/linux-2.6.24-git15/arch/x86/mach-visws/traps.c:50: warning: format '%#lx' expects type 'long unsigned int', but argument 3 has type 'u32' Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f2f7abcb96f03a7a42c13063ad556fc80e345c71 Author: Chuck Lever Date: Tue Mar 4 14:55:45 2008 -0800 x86: fix {clear,copy}_user_page() declarations in page.h Clean up: eliminate some compiler noise on x86 when building with strict warnings enabled, introduced by commit 345b904c. In file included from include2/asm/thread_info_64.h:12, from include2/asm/thread_info.h:4, from /home/cel/src/linux/nfs-2.6/include/linux/thread_info.h:35, from /home/cel/src/linux/nfs-2.6/include/linux/preempt.h:9, from /home/cel/src/linux/nfs-2.6/include/linux/spinlock.h:49, from /home/cel/src/linux/nfs-2.6/include/linux/mmzone.h:7, from /home/cel/src/linux/nfs-2.6/include/linux/gfp.h:4, from /home/cel/src/linux/nfs-2.6/include/linux/slab.h:14, from /home/cel/src/linux/nfs-2.6/fs/nfsd/nfs4acl.c:40: include2/asm/page.h:55: warning: `inline' is not at beginning of declaration include2/asm/page.h:61: warning: `inline' is not at beginning of declaration Signed-off-by: Chuck Lever Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3078b79d257054c3697c85936afce38595e7b67b Author: Mathieu Desnoyers Date: Thu Mar 6 13:45:46 2008 +0100 x86: cast cmpxchg and cmpxchg_local result for 386 and 486 mm/slub.c: In function 'slab_alloc': mm/slub.c:1637: warning: assignment makes pointer from integer without a cast mm/slub.c:1637: warning: assignment makes pointer from integer without a cast mm/slub.c: In function 'slab_free': mm/slub.c:1796: warning: assignment makes pointer from integer without a cast mm/slub.c:1796: warning: assignment makes pointer from integer without a cast A cast is needed in the 386 and 486 code because the type is a pointer. In every other integer case the original cmpxchg code (and the cmpxchg_local which has been copied from it) worked fine, but since we touch a pointer, the type needs to be casted in the cmpxchg_local and cmpxchg macros. The more recent code (586+) does not have this problem (the cast is already there). Signed-off-by: Mathieu Desnoyers Signed-off-by: Thomas Gleixner Reviewed-by: Christoph Lameter Cc: Vegard Nossum Cc: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7d2de1376226eab4660e162e0728eadd18db3c4a Author: Yinghai Lu Date: Thu Mar 6 18:25:16 2008 -0800 x86: tight online check in setup_per_cpu_areas when numa disabled I got this compile warning: arch/x86/kernel/setup64.c: In function setup_per_cpu_areas: arch/x86/kernel/setup64.c:147: warning: the address of contig_page_data will always evaluate as true it seems we missed checking if the node is online before we try to refer NODE_DATA. Fix it. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6721fc0a0d87019b08384ac798ca7d51bc5fda4e Author: Yinghai Lu Date: Tue Feb 19 02:21:45 2008 -0800 x86: fix dma_alloc_pages memory-less node support: this patch uses updated dev_to_node, because dev_to_node already makes sure it returns an online node. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 22e52b072dd87faa9b2559fe89d4e8f2370f81ca Author: Heiko Carstens Date: Wed Mar 12 18:31:59 2008 +0100 sched: add arch_update_cpu_topology hook. Will be called each time the scheduling domains are rebuild. Needed for architectures that don't have a static cpu topology. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky Signed-off-by: Ingo Molnar commit 9aefd0abd8610e8f3bb097debf3afb73f8b7b210 Author: Heiko Carstens Date: Wed Mar 12 18:31:58 2008 +0100 sched: add exported arch_reinit_sched_domains() to header file. Needed so it can be called from outside of sched.c. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky Signed-off-by: Ingo Molnar commit 23e3c3cd2e39a3c9d07ee07d882c8cf6ddd61c86 Author: Roel Kluin <12o3l@tiscali.nl> Date: Thu Mar 13 17:41:59 2008 +0100 sched: remove double unlikely from schedule() Combine two unlikely's Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Ingo Molnar commit 2070ee01d314ecec8a570c07647ccf4ced6340bb Author: Peter Zijlstra Date: Fri Mar 21 16:43:47 2008 +0100 sched: cleanup old and rarely used 'debug' features. TREE_AVG and APPROX_AVG are initial task placement policies that have been disabled for a long while.. time to remove them. Signed-off-by: Peter Zijlstra CC: Srivatsa Vaddagiri Signed-off-by: Ingo Molnar commit ae51801ba5ca27c2c571eb508daa99b392e79bd4 Merge: 7d3628b... 4cfea5a... Author: Linus Torvalds Date: Fri Mar 21 08:04:28 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64]: Fix atomic backoff limit. commit 7d3628b230ecbdc29566c18bc7800ff8ed66a71f Merge: 2c78719... 94833df... Author: Linus Torvalds Date: Fri Mar 21 07:57:45 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (46 commits) [NET] ifb: set separate lockdep classes for queue locks [IPV6] KCONFIG: Fix description about IPV6_TUNNEL. [TCP]: Fix shrinking windows with window scaling netpoll: zap_completion_queue: adjust skb->users counter bridge: use time_before() in br_fdb_cleanup() [TG3]: Fix build warning on sparc32. MAINTAINERS: bluez-devel is subscribers-only audit: netlink socket can be auto-bound to pid other than current->pid (v2) [NET]: Fix permissions of /proc/net [SCTP]: Fix a race between module load and protosw access [NETFILTER]: ipt_recent: sanity check hit count [NETFILTER]: nf_conntrack_h323: logical-bitwise & confusion in process_setup() [RT2X00] drivers/net/wireless/rt2x00/rt2x00dev.c: remove dead code, fix warning [IPV4]: esp_output() misannotations [8021Q]: vlan_dev misannotations xfrm: ->eth_proto is __be16 [IPV4]: ipv4_is_lbcast() misannotations [SUNRPC]: net/* NULL noise [SCTP]: fix misannotated __sctp_rcv_asconf_lookup() [PKT_SCHED]: annotate cls_u32 ... commit 2c7871982cf27caaddbaeb7e2121ce1374b520ff Merge: 49ccf74... 49a5ba4... Author: Linus Torvalds Date: Fri Mar 21 07:56:58 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.25 * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.25: sh: Use relative paths for mach/cpu symlinks. SH: Use newer, non-deprecated __SPIN_LOCK_UNLOCKED macro. sh: Fix more user header breakage from sh64 integration. sh: Fix uImage build error. sh: Fix up the timer IRQ definition for SH7203. sh: Fix up the address error exception handler for SH-2. serial: sh-sci: Fix fifo stall on SH7760/SH7780/SH7785 SCIF. commit 49a5ba46c5d1e34bcb07634157b29d7414ce13bd Author: Franck Bui-Huu Date: Fri Mar 21 12:22:01 2008 +0900 sh: Use relative paths for mach/cpu symlinks. When building the kernel without passing the O= command line parameter there's no point to use absolute paths for them. Usually relative paths are preferred because they survive directory moves, work across networked file systems and chrooted environments. Absolute paths are still used if an output directory is given. Signed-off-by: Franck Bui-Huu Signed-off-by: Paul Mundt commit 40f75879a0dda7025cebc3444c9317ec9e3dcd70 Author: Robert P. J. Day Date: Sat Mar 15 12:49:10 2008 -0400 SH: Use newer, non-deprecated __SPIN_LOCK_UNLOCKED macro. Signed-off-by: Robert P. J. Day Signed-off-by: Paul Mundt commit 94833dfb8c98ed4ca1944dd2c1339d88a2d1c758 Author: Jarek Poplawski Date: Thu Mar 20 17:05:13 2008 -0700 [NET] ifb: set separate lockdep classes for queue locks [ 10.536424] ======================================================= [ 10.536424] [ INFO: possible circular locking dependency detected ] [ 10.536424] 2.6.25-rc3-devel #3 [ 10.536424] ------------------------------------------------------- [ 10.536424] swapper/0 is trying to acquire lock: [ 10.536424] (&dev->queue_lock){-+..}, at: [] dev_queue_xmit+0x175/0x2f3 [ 10.536424] [ 10.536424] but task is already holding lock: [ 10.536424] (&p->tcfc_lock){-+..}, at: [] tcf_mirred+0x20/0x178 [act_mirred] [ 10.536424] [ 10.536424] which lock already depends on the new lock. lockdep warns of locking order while using ifb with sch_ingress and act_mirred: ingress_lock, tcfc_lock, queue_lock (usually queue_lock is at the beginning). This patch is only to tell lockdep that ifb is a different device (e.g. from eth) and has its own pair of queue locks. (This warning is a false-positive in common scenario of using ifb; yet there are possible situations, when this order could be dangerous; lockdep should warn in such a case.) (With suggestions by David S. Miller) Reported-and-tested-by: Denys Fedoryshchenko Signed-off-by: Jarek Poplawski Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 38fe999e2286139cccdaa500a81bd49a16a81158 Author: YOSHIFUJI Hideaki Date: Thu Mar 20 16:13:58 2008 -0700 [IPV6] KCONFIG: Fix description about IPV6_TUNNEL. Based on notice from "Colin" . Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 607bfbf2d55dd1cfe5368b41c2a81a8c9ccf4723 Author: Patrick McHardy Date: Thu Mar 20 16:11:27 2008 -0700 [TCP]: Fix shrinking windows with window scaling When selecting a new window, tcp_select_window() tries not to shrink the offered window by using the maximum of the remaining offered window size and the newly calculated window size. The newly calculated window size is always a multiple of the window scaling factor, the remaining window size however might not be since it depends on rcv_wup/rcv_nxt. This means we're effectively shrinking the window when scaling it down. The dump below shows the problem (scaling factor 2^7): - Window size of 557 (71296) is advertised, up to 3111907257: IP 172.2.2.3.33000 > 172.2.2.2.33000: . ack 3111835961 win 557 <...> - New window size of 514 (65792) is advertised, up to 3111907217, 40 bytes below the last end: IP 172.2.2.3.33000 > 172.2.2.2.33000: . 3113575668:3113577116(1448) ack 3111841425 win 514 <...> The number 40 results from downscaling the remaining window: 3111907257 - 3111841425 = 65832 65832 / 2^7 = 514 65832 % 2^7 = 40 If the sender uses up the entire window before it is shrunk, this can have chaotic effects on the connection. When sending ACKs, tcp_acceptable_seq() will notice that the window has been shrunk since tcp_wnd_end() is before tp->snd_nxt, which makes it choose tcp_wnd_end() as sequence number. This will fail the receivers checks in tcp_sequence() however since it is before it's tp->rcv_wup, making it respond with a dupack. If both sides are in this condition, this leads to a constant flood of ACKs until the connection times out. Make sure the window is never shrunk by aligning the remaining window to the window scaling factor. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8a455b087c9629b3ae3b521b4f1ed16672f978cc Author: Jarek Poplawski Date: Thu Mar 20 16:07:27 2008 -0700 netpoll: zap_completion_queue: adjust skb->users counter zap_completion_queue() retrieves skbs from completion_queue where they have zero skb->users counter. Before dev_kfree_skb_any() it should be non-zero yet, so it's increased now. Reported-and-tested-by: Andrew Morton Signed-off-by: Jarek Poplawski Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 2bec008ca9fd009aa503b75344d1c22da9256141 Author: Fabio Checconi Date: Thu Mar 20 15:54:58 2008 -0700 bridge: use time_before() in br_fdb_cleanup() In br_fdb_cleanup() next_timer and this_timer are in jiffies, so they should be compared using the time_after() macro. Signed-off-by: Fabio Checconi Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 7582a33557cc6dc42b4c6918c6e7f8e465b72a70 Author: David S. Miller Date: Thu Mar 20 15:53:15 2008 -0700 [TG3]: Fix build warning on sparc32. Sparc MAC address support should be protected consistently with CONFIG_SPARC, but there was a stray CONFIG_SPARC64 case. Bump driver version and release date. Reported by Andrew Morton. Signed-off-by: David S. Miller commit 781c2844845cdc80b19eed3d6e451e65f046b58b Author: Pavel Machek Date: Thu Mar 20 15:41:02 2008 -0700 MAINTAINERS: bluez-devel is subscribers-only Signed-off-by: Pavel Machek Signed-off-by: David S. Miller commit 75c0371a2d385ecbd6e1f854d9dce20889f06736 Author: Pavel Emelyanov Date: Thu Mar 20 15:39:41 2008 -0700 audit: netlink socket can be auto-bound to pid other than current->pid (v2) From: Pavel Emelyanov This patch is based on the one from Thomas. The kauditd_thread() calls the netlink_unicast() and passes the audit_pid to it. The audit_pid, in turn, is received from the user space and the tool (I've checked the audit v1.6.9) uses getpid() to pass one in the kernel. Besides, this tool doesn't bind the netlink socket to this id, but simply creates it allowing the kernel to auto-bind one. That's the preamble. The problem is that netlink_autobind() _does_not_ guarantees that the socket will be auto-bound to the current pid. Instead it uses the current pid as a hint to start looking for a free id. So, in case of conflict, the audit messages can be sent to a wrong socket. This can happen (it's unlikely, but can be) in case some task opens more than one netlink sockets and then the audit one starts - in this case the audit's pid can be busy and its socket will be bound to another id. The proposal is to introduce an audit_nlk_pid in audit subsys, that will point to the netlink socket to send packets to. It will most often be equal to audit_pid. The socket id can be got from the skb's netlink CB right in the audit_receive_msg. The audit_nlk_pid reset to 0 is not required, since all the decisions are taken based on audit_pid value only. Later, if the audit tools will bind the socket themselves, the kernel will have to provide a way to setup the audit_nlk_pid as well. A good side effect of this patch is that audit_pid can later be converted to struct pid, as it is not longer safe to use pid_t-s in the presence of pid namespaces. But audit code still uses the tgid from task_struct in the audit_signal_info and in the audit_filter_syscall. Signed-off-by: Thomas Graf Signed-off-by: Pavel Emelyanov Acked-by: Eric Paris Signed-off-by: David S. Miller commit 4f42c288e66a3395e94158badbd182b2dae8eccb Author: Andre Noll Date: Thu Mar 20 15:27:28 2008 -0700 [NET]: Fix permissions of /proc/net commit e9720ac ([NET]: Make /proc/net a symlink on /proc/self/net (v3)) broke ganglia and probably other applications that read /proc/net/dev. This is due to the change of permissions of /proc/net that was introduced in that commit. Before: dr-xr-xr-x 5 root root 0 Mar 19 11:30 /proc/net After: dr-xr--r-- 5 root root 0 Mar 19 11:29 /proc/self/net This patch restores the permissions to the old value which makes ganglia happy again. Pavel Emelyanov says: This also broke the postfix, as it was reported in bug #10286 and described in detail by Benjamin. Signed-off-by: Andre Noll Acked-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 270637abff0cdf848b910b9f96ad342e1da61c66 Author: Vlad Yasevich Date: Thu Mar 20 15:17:14 2008 -0700 [SCTP]: Fix a race between module load and protosw access There is a race is SCTP between the loading of the module and the access by the socket layer to the protocol functions. In particular, a list of addresss that SCTP maintains is not initialized prior to the registration with the protosw. Thus it is possible for a user application to gain access to SCTP functions before everything has been initialized. The problem shows up as odd crashes during connection initializtion when we try to access the SCTP address list. The solution is to refactor how we do registration and initialize the lists prior to registering with the protosw. Care must be taken since the address list initialization depends on some other pieces of SCTP initialization. Also the clean-up in case of failure now also needs to be refactored. Signed-off-by: Vlad Yasevich Acked-by: Sridhar Samudrala Signed-off-by: David S. Miller commit d0ebf133590abdc035af6e19a6568667af0ab3b0 Author: Daniel Hokka Zakrisson Date: Thu Mar 20 15:07:10 2008 -0700 [NETFILTER]: ipt_recent: sanity check hit count If a rule using ipt_recent is created with a hit count greater than ip_pkt_list_tot, the rule will never match as it cannot keep track of enough timestamps. This patch makes ipt_recent refuse to create such rules. With ip_pkt_list_tot's default value of 20, the following can be used to reproduce the problem. nc -u -l 0.0.0.0 1234 & for i in `seq 1 100`; do echo $i | nc -w 1 -u 127.0.0.1 1234; done This limits it to 20 packets: iptables -A OUTPUT -p udp --dport 1234 -m recent --set --name test \ --rsource iptables -A OUTPUT -p udp --dport 1234 -m recent --update --seconds \ 60 --hitcount 20 --name test --rsource -j DROP While this is unlimited: iptables -A OUTPUT -p udp --dport 1234 -m recent --set --name test \ --rsource iptables -A OUTPUT -p udp --dport 1234 -m recent --update --seconds \ 60 --hitcount 21 --name test --rsource -j DROP With the patch the second rule-set will throw an EINVAL. Reported-by: Sean Kennedy Signed-off-by: Daniel Hokka Zakrisson Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6aebb9b280e5662ece41cf570e25e61795443985 Author: Roel Kluin <12o3l@tiscali.nl> Date: Thu Mar 20 15:06:23 2008 -0700 [NETFILTER]: nf_conntrack_h323: logical-bitwise & confusion in process_setup() logical-bitwise & confusion Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 49ccf74aaf6b53751dc0ae06ded9bb39343da822 Merge: 45ddfbf... f8512ad... Author: Linus Torvalds Date: Thu Mar 20 11:59:34 2008 -0700 Merge branch 'hotfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * 'hotfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: nfs: don't ignore return value from nfs_pageio_add_request commit 45ddfbf9594a344dfecbb320d74636023d813539 Merge: d67e911... 10a4c73... Author: Linus Torvalds Date: Thu Mar 20 10:48:01 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: firewire: fix panic in handle_at_packet commit d67e91117d104d98635e1b1623aafb26604cecbb Merge: 00c04db... 28aef2f... Author: Linus Torvalds Date: Thu Mar 20 10:20:07 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: [SCSI] a100u2w: fix bitmap lookup routine [SCSI] fix media change events for polled devices [SCSI] sd, sr: do not emit change event at device add [SCSI] mpt fusion: Power Management fixes for MPT SAS PCI-E controllers [SCSI] gdth: Allocate sense_buffer to prevent NULL pointer dereference [SCSI] arcmsr: fix iounmap error for Type B adapter [SCSI] isd200: Allocate sense_buffer for hacked up scsi_cmnd [SCSI] fix bsg queue oops with iscsi logout [SCSI] Fix dependency problems in SCSI drivers [SCSI] advansys: Fix bug in AdvLoadMicrocode commit 10a4c735515a5afc317abe4d697a4c95f6d9d764 Author: Stefan Richter Date: Sun Mar 16 00:56:41 2008 +0100 firewire: fix panic in handle_at_packet This fixes a use-after-free bug in the handling of split transactions. The AT DMA handler of the request was occasionally executed after the AR DMA handler of the response. The AT DMA handler then accessed an already freed packet. Reported by Johannes Berg. http://bugzilla.kernel.org/show_bug.cgi?id=9617 Signed-off-by: Stefan Richter Tested-by: Johannes Berg Signed-off-by: Jarod Wilson commit 00c04db982b66fe9e8c8c5156808b905199bd645 Merge: 6a25a6c... 2a1bf8b... Author: Linus Torvalds Date: Thu Mar 20 09:50:21 2008 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] 4872/1: Replaces buggy macro in S3C2410 irq include [ARM] 4870/1: fix signal return code when enable CONFIG_OABI_COMPAT [ARM] 4869/1: ARM: OMAP: Fix compile for mcbsp [ARM] 4865/1: Register the F75375 device in the GLAN Tank platform code [ARM] 4864/1: Enable write buffer coalescing on IOP [ARM] 4863/1: AT91: CAP9 USART definitions for early debug [ARM] 4861/1: AT91: Update maintainer email address (again) ARM: OMAP1: Fix typo in OMAP1 MPU clock source initialization ARM: OMAP: Fix DMA CLINK mask, clear spurious interrupt ARM: OMAP: Fix chain_a_transfer return value ARM: OMAP: Fix missing makefile options ARM: OMAP: Fix GPIO IRQ unmask ARM: OMAP: Fix clockevent support for hrtimers commit 6a25a6c175bfbb4ddc879ca3070ecaacf58b1a34 Merge: ba42242... 504e75d... Author: Linus Torvalds Date: Thu Mar 20 09:48:49 2008 -0700 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [S390] futex: let futex_atomic_cmpxchg_pt survive early functional tests. commit ba422428295f19a3eef072b47c83202492ccab2f Merge: aedb60a... eee4470... Author: Linus Torvalds Date: Thu Mar 20 09:48:15 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb * git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: V4L/DVB (7367): bug #10211: Fix depencencies for cx2341x V4L/DVB (7362): tvp5150.c: logical-bitwise and confusion V4L/DVB (7334): usb video: add a device link to usbvideo devices, else hal will ignore them V4L/DVB (7330): V4L1 - fix v4l_compat_translate_ioctl possible NULL deref V4L/DVB (7328): usb/opera1.c: fix a memory leak V4L/DVB (7291): em28xx: correct use of and fix V4L/DVB (7285): em28xx: Correct use of ! and & V4L/DVB (7279): ivtv: Add missing sg_init_table() V4L/DVB (7268): saa7134: fix: tuner should be loaded before calling saa7134_board_init2() V4L/DVB (7267): cx88: Fix: Loads tuner module before sending commands to it V4L/DVB (7251): VIDEO_VIVI must depend on VIDEO_DEV V4L/DVB (7242): ivtv: fix for yuv filter table check V4L/DVB (7236): bttv: struct member initialized twice V4L/DVB (7228): saa7134: fix FM radio support for the Pinnacle PCTV 110i commit aedb60a67c10a0861af179725d060765262ba0fb Author: Serge Hallyn Date: Fri Feb 29 15:14:57 2008 +0000 file capabilities: remove cap_task_kill() The original justification for cap_task_kill() was as follows: check_kill_permission() does appropriate uid equivalence checks. However with file capabilities it becomes possible for an unprivileged user to execute a file with file capabilities resulting in a more privileged task with the same uid. However now that cap_task_kill() always returns 0 (permission granted) when p->uid==current->uid, the whole hook is worthless, and only likely to create more subtle problems in the corner cases where it might still be called but return -EPERM. Those cases are basically when uids are different but euid/suid is equivalent as per the check in check_kill_permission(). One example of a still-broken application is 'at' for non-root users. This patch removes cap_task_kill(). Signed-off-by: Serge Hallyn Acked-by: Andrew G. Morgan Earlier-version-tested-by: Luiz Fernando N. Capitulino Acked-by: Casey Schaufler Signed-off-by: Linus Torvalds commit 504e75d0ed3389747e40a4aaa4b1f4e569576665 Author: Heiko Carstens Date: Thu Mar 20 17:33:38 2008 +0100 [S390] futex: let futex_atomic_cmpxchg_pt survive early functional tests. a0c1e9073ef7428a14309cba010633a6cd6719ea "futex: runtime enable pi and robust functionality" introduces a test wether futex in atomic stuff works or not. It does that by writing to address 0 of the kernel address space. This will crash on older machines where addressing mode switching is enabled but where the mvcos instruction is not available. Page table walking is done by hand and therefore the code tries to access current->mm which is NULL. Therefore add an extra check, so we survive the early test. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 2a1bf8b7da2736d85d683fb921ac9a6b71719f37 Merge: a0d1d04... c6b349e... Author: Russell King Date: Thu Mar 20 15:59:51 2008 +0000 Merge branch 'omap-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 into m * 'omap-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: ARM: OMAP1: Fix typo in OMAP1 MPU clock source initialization ARM: OMAP: Fix DMA CLINK mask, clear spurious interrupt ARM: OMAP: Fix chain_a_transfer return value ARM: OMAP: Fix missing makefile options ARM: OMAP: Fix GPIO IRQ unmask ARM: OMAP: Fix clockevent support for hrtimers commit a0d1d04ea810481dd0b8790712086a77bc665b8a Author: Davide Rizzo Date: Wed Mar 19 13:51:48 2008 +0100 [ARM] 4872/1: Replaces buggy macro in S3C2410 irq include This is a bug correction for a macro that generated wrong results. Nobody used it in official kernel tree, my driver did. Signed-off-by: Davide Rizzo Acked-by: Ben Dooks Signed-off-by: Russell King commit ee4cd588a3d9f81b5b13b76a498c3118a61f1dd2 Author: janboe Date: Wed Mar 19 03:34:23 2008 +0100 [ARM] 4870/1: fix signal return code when enable CONFIG_OABI_COMPAT fix signal return code when enable CONFIG_OABI_COMPAT Signed-off-by: Janboe Ye Signed-off-by: Russell King commit eec2beac278fe5dbf342e0e3f9e56fb64a429d46 Author: Tony Lindgren Date: Mon Mar 17 13:01:07 2008 +0100 [ARM] 4869/1: ARM: OMAP: Fix compile for mcbsp Until DSP MMU code is merged, dsp_request_mem() does not exist. Signed-off-by: Tony Lindgren Signed-off-by: Russell King commit 4e7ffb6ab4c42740eaf8b8d905e95f106d9eb022 Author: Gordon Farquharson Date: Fri Mar 14 04:07:46 2008 +0100 [ARM] 4865/1: Register the F75375 device in the GLAN Tank platform code This patch adds the code required to register the F75375 device on the GLAN Tank. Signed-off-by: Gordon Farquharson Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit 391c569daa6e4e999592966e29c146dfc4de9a9c Author: Arnaud Patard Date: Thu Mar 13 09:53:21 2008 +0100 [ARM] 4864/1: Enable write buffer coalescing on IOP Some bootloaders are disabling write buffer coalescing. Enable it back under linux. Signed-off-by: Arnaud Patard Signed-off-by: Russell King commit 7d7971db29c078a7946efbe479de5e567a20ba9a Author: Andrew Victor Date: Wed Mar 12 22:33:57 2008 +0100 [ARM] 4863/1: AT91: CAP9 USART definitions for early debug Define AT91_USART0, 1, 2 so the selection of the UART for early kernel messages works. (See commit fa3218d8594869b38b1a170ea36d176ac455b897). Replace AT91_SHDC with AT91_SHDWC to be consistent with other AT91 platforms. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit c5215f32ac6cc3d2ec0ca844a171cdcf4c0bab62 Author: Andrew Victor Date: Wed Mar 12 21:29:09 2008 +0100 [ARM] 4861/1: AT91: Update maintainer email address (again) Change email address of AT91 maintainer. This reverts the incorrect change in commit 6650e0a517bbfa1c47aa3da6b3562fcb1a066c63 Signed-off-by: Andrew Victor Signed-off-by: Russell King commit eee4470f197cfe88fd8aa871e9227b7033495b67 Author: Mauro Carvalho Chehab Date: Thu Mar 13 21:08:20 2008 -0300 V4L/DVB (7367): bug #10211: Fix depencencies for cx2341x Fix for build #408 Signed-off-by: Mauro Carvalho Chehab commit 7d5b7b98ae4cbf4c58d143ff7d4516c978e3e555 Author: Roel Kluin <12o3l@tiscali.nl> Date: Sun Mar 9 21:19:13 2008 -0300 V4L/DVB (7362): tvp5150.c: logical-bitwise and confusion logical-bitwise & confusion Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Mauro Carvalho Chehab commit 974a911d2ae310d7082100e9992d1efdf72d86a5 Author: Pascal Terjan Date: Fri Mar 7 08:22:57 2008 -0300 V4L/DVB (7334): usb video: add a device link to usbvideo devices, else hal will ignore them Signed-off-by: Pascal Terjan Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit c77990e754af7443246f24ccb2336bbd62b01cc0 Author: Cyrill Gorcunov Date: Wed Mar 5 20:24:43 2008 -0300 V4L/DVB (7330): V4L1 - fix v4l_compat_translate_ioctl possible NULL deref There are possible NULL pointer derefs in case of kzalloc fails so fix them. Signed-off-by: Cyrill Gorcunov Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 77596058e1c2ad95b566dfdc926611a8dd820ee0 Author: Adrian Bunk Date: Wed Feb 27 21:21:15 2008 -0300 V4L/DVB (7328): usb/opera1.c: fix a memory leak This patch fixes a memory leak in the "testval == 0x67" case spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit 46cb57e62824a8d6f9e12bedc98c41738a1478ce Author: Andrew Morton Date: Tue Mar 4 13:09:09 2008 -0300 V4L/DVB (7291): em28xx: correct use of and fix be less silly while we're there. Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 8281db3b52c1b0e0bd249e8700cf35e64c1e13bd Author: Julia Lawall Date: Tue Feb 26 20:43:56 2008 -0300 V4L/DVB (7285): em28xx: 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: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 165e1213e13b49761f8b3fd9314701f83cf3db3a Author: Ian Armstrong Date: Tue Feb 26 16:09:00 2008 -0300 V4L/DVB (7279): ivtv: Add missing sg_init_table() If a dma transfer is attempted for either yuv or framebuffer output, a missing sg_init_table() call causes a kernel BUG in scatterlist.h if CONFIG_DEBUG_SG is set. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c030f5e697af1127002a0aeffcd259f9bcff5471 Author: Mauro Carvalho Chehab Date: Tue Feb 19 16:26:33 2008 -0300 V4L/DVB (7268): saa7134: fix: tuner should be loaded before calling saa7134_board_init2() There are several parts of saa7134_board_init2() that calls tuner modules. We should first load tuner, otherwise, the commands will fail. Signed-off-by: Mauro Carvalho Chehab commit 189bf5f05093ff71cec3e2a16d199a85ba035a43 Author: Mauro Carvalho Chehab Date: Tue Feb 19 16:22:25 2008 -0300 V4L/DVB (7267): cx88: Fix: Loads tuner module before sending commands to it Signed-off-by: Mauro Carvalho Chehab commit 2db2da913fb7d10a0281cd856135ef19fc2e67a8 Author: Adrian Bunk Date: Mon Feb 25 00:08:10 2008 -0300 V4L/DVB (7251): VIDEO_VIVI must depend on VIDEO_DEV This patch fixes the following compile error with VIDEO_VIVI=y, VIDEO_DEV=m reported by Toralf Förster: <-- snip --> ... LD .tmp_vmlinux1 drivers/built-in.o: In function `vivi_release': vivi.c:(.text+0x322f5): undefined reference to `video_unregister_device' vivi.c:(.text+0x32337): undefined reference to `video_device_release' drivers/built-in.o: In function `vivi_open': vivi.c:(.text+0x32845): undefined reference to `v4l2_type_names' drivers/built-in.o: In function `vivi_init': vivi.c:(.init.text+0x1d20): undefined reference to `video_device_alloc' vivi.c:(.init.text+0x1d48): undefined reference to `video_register_device' drivers/built-in.o:(.rodata+0x1b40): undefined reference to `video_ioctl2'drivers/built-in.o:(.data+0x140c): undefined reference to `video_device_release' <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit a54d1dea0071a4f6aa46d8e937428c053732efcb Author: Ian Armstrong Date: Sat Jan 26 08:52:58 2008 -0300 V4L/DVB (7242): ivtv: fix for yuv filter table check As the result of a previous change that delayed the loading of the firmware, the driver can sometimes report a bogus error regarding the yuv output filter table not being found in the firmware. This patch moves the filter table check to ensure it's only done after the firmware has been loaded. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e8d35932e9942dffcc96c03f539d7e261d641bfd Author: Harvey Harrison Date: Sat Feb 23 07:29:16 2008 -0300 V4L/DVB (7236): bttv: struct member initialized twice fixes sparse warning: drivers/media/video/bt8xx/bttv-driver.c:3391:3: warning: Initializer entry defined twice drivers/media/video/bt8xx/bttv-driver.c:3392:3: also defined here Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit eec25fa7f98f8707eb84fede96f10496adf5047f Author: Yuri Funduryan Date: Sun Feb 17 01:22:37 2008 -0300 V4L/DVB (7228): saa7134: fix FM radio support for the Pinnacle PCTV 110i This also has some coding style fixes. Signed-off-by: Yuri Funduryan Signed-off-by: Hartmut Hackmann Reviewed-by: Hermann Pitton Signed-off-by: Mauro Carvalho Chehab commit c6b349ed8a288f1f69fdd560d509d81351cafd89 Author: Will Newton Date: Tue Mar 11 09:47:43 2008 +0000 ARM: OMAP1: Fix typo in OMAP1 MPU clock source initialization Fix typo in OMAP1 MPU clock source initialization. Signed-off-by: Will Newton Signed-off-by: Tony Lindgren commit 026a6fef55da7239ca0970000eb62b9eab5ba281 Author: Gadiyar, Anand Date: Sat Mar 8 05:49:13 2008 -0800 ARM: OMAP: Fix DMA CLINK mask, clear spurious interrupt Fix CLINK mask, clear spurious interrupt. Signed-off-by: Gadiyar, Anand Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit f4b6a7ef6c64d84e252d32df631813bd09ea3756 Author: Anand Gadiyar Date: Tue Mar 11 01:10:35 2008 +0530 ARM: OMAP: Fix chain_a_transfer return value This patch changes the return value of omap_dma_chain_a_transfer to 0 on success instead of the flag 'start_dma', which wasn't really useful for anything. Signed-off-by: Anand Gadiyar Signed-off-by: Tony Lindgren commit 271c487e9110760c208758ba72971a531f675362 Author: Tony Lindgren Date: Thu Mar 13 15:03:36 2008 +0200 ARM: OMAP: Fix missing makefile options Although audio and dsp drivers are not integrated yet, allow compiling in mailbox and mcbsp to see any build warnings. Signed-off-by: Tony Lindgren commit 4de8c75b00181db8169438e9fa4fb7bdf0db72d5 Author: Kevin Hilman Date: Wed Jan 16 21:56:14 2008 -0800 ARM: OMAP: Fix GPIO IRQ unmask GPIO IRQ unmask doesn't actually do anything useful. The problem is hidden by a separate explicit mass unmask at the end of the chained bank handler. Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 06cad098d28e02d2ee3ed587bb261377e4ae2f17 Author: Kevin Hilman Date: Thu Oct 18 23:04:43 2007 -0700 ARM: OMAP: Fix clockevent support for hrtimers One-shot mode was broken in MPU-timer support for OMAP1 due to a typo. Also, ensure timer is stopped before changing the auto-reload flag. The TRM says changing the AR flag when timer is running is undefined. Also set GENERIC_CLOCKEVENTS for all omaps. Signed-off-by: Tim Bird Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 28aef2f7d9415b881c9145ab9b2c1c234064a243 Author: Akinobu Mita Date: Mon Mar 17 21:32:02 2008 +0900 [SCSI] a100u2w: fix bitmap lookup routine This patch is only compile tested. It seems that bitmap lookup routine for allocation_map in a100u2w driver is simply wrong. It cannot lookup more than first 32 bits. If all first 32 bits are set, it just returns 33-th orc_scb even though the 33-th bit is not set. Signed-off-by: Akinobu Mita Tested-by: Alan Cox Signed-off-by: James Bottomley commit 688dad4f4c9004fcaa4cadad167b064342be5d63 Author: Samuel Ortiz Date: Thu Mar 20 09:48:14 2008 -0400 Input: pxa27x - fix keypad KPC macros We want to mask (key_number - 1), not key_number. The current implementation works fine for all values but the maximum one, i.e. 8. Signed-off-by: Samuel Ortiz Acked-by: Eric Miao Signed-off-by: Dmitry Torokhov commit 457fb605834504af294916411be128a9b21fc3f6 Author: Al Viro Date: Wed Mar 19 16:27:48 2008 +0000 drivers/char/rocket portability fixes unsigned long != __le32, TYVM, and unsigned char[4] is not guaranteed to be aligned for u32. While we are at it, sanitize sOutDW() a bit - have it take Byte_t * and handle dereferencing internally. NB: sWriteTxPrioByte() is almost certainly buggered on big-endian and is missing cpu_to_le16() on assignments to *WordPtr; I've left it alone for now. Signed-off-by: Al Viro Acked-by: "Theodore Ts'o" Signed-off-by: Linus Torvalds commit 635440c0235537a3f0a90ed5b6f8cd8a5da862de Merge: de7c6d1... 93ce4e2... Author: Linus Torvalds Date: Wed Mar 19 19:10:56 2008 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] Update some defconfigs [POWERPC] Hide resources on Axon PCIE root complex nodes [POWERPC] Fix cell IOMMU code to cope with empty dma-ranges and non-PCI devices [POWERPC] Fix build failure for tqm8540 and sbc85xx defconfigs [POWERPC] Fix PMU + soft interrupt disable bug [POWERPC] user_regset PTRACE_SETREGS regression fix commit de7c6d15e354bc94a846f03749819768c331280a Author: Jaya Kumar Date: Wed Mar 19 17:01:10 2008 -0700 fbdev: defio and Metronomefb Implement support for the E-Ink Metronome controller. It provides an mmapable interface to the controller using defio support. It was tested with a gumstix pxa255 with Vizplex media using Xfbdev and various X clients such as xeyes, xpdf, xloadimage. This patch also fixes the following bug: Defio would cause a hang on write access to the framebuffer as the page fault would be called ad-infinitum. It fixes fb_defio by setting the mapping to be used by page_mkclean. Signed-off-by: Jaya Kumar Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9fedc9f1b18f6b931c3b695d7280f17fc308309b Author: David Brownell Date: Wed Mar 19 17:01:09 2008 -0700 rtc-at91sam9 fixes Updates to the at91sam9 rtt-as-rtc driver: - Bugfix: IRQ enable bits need shifting before masking with status - Platform code to initialize wakeup bits didn't get merged; cope Signed-off-by: David Brownell Cc: Justin Waters Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3150e63df41450a795bbd0bd98a8e70da74e0285 Author: Andrew Morton Date: Wed Mar 19 17:01:08 2008 -0700 revert "clocksource: make clocksource watchdog cycle through online CPUs" Revert commit 1ada5cba6a0318f90e45b38557e7b5206a9cba38 ("clocksource: make clocksource watchdog cycle through online CPUs") due to the regression reported by Gabriel C at http://lkml.org/lkml/2008/2/24/281 (short vesion: it makes TSC be marked as always unstable on his machine). Cc: Andi Kleen Acked-by: Ingo Molnar Cc: Thomas Gleixner Cc: Robert Hancock Acked-by: Linus Torvalds Cc: "Rafael J. Wysocki" Cc: Gabriel C Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf821e8f53e3d147ebae03c8c710d2b8842d88a1 Author: Alex Dubov Date: Wed Mar 19 17:01:08 2008 -0700 memstick: optimize setup of JMicron host parameters Set correct clock management values to improve over-all performance. Signed-off-by: Alex Dubov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 962ee1b10bff5e99e9ecb2a5f4e6399a0214c9cf Author: Alex Dubov Date: Wed Mar 19 17:01:07 2008 -0700 memstick: add support for 8-bit parallel mode Newer MemoryStick (HG) cards and hosts support 8-bit parallel mode of operation in addition to original 4-bit and 1-bit modes. Signed-off-by: Alex Dubov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ead70773608a5d97f81cb492f117d20b5e9f323e Author: Alex Dubov Date: Wed Mar 19 17:01:06 2008 -0700 memstick: automatically retrieve "INT" value from command response MemoryStick storage cards, when in parallel mode, send several meaningful bits of their "INT" register as part of command response. This data is stored by host and can be used to spare invocation of "GET_INT" TPC on each data page transferred between host and card. Signed-off-by: Alex Dubov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9df130392fb642ecd5564163b574ce69ffda1afa Author: Andrew Morton Date: Wed Mar 19 17:01:05 2008 -0700 fs/ufs/balloc.c: fix sparc64 printk warning fs/ufs/balloc.c: In function `ufs_change_blocknr': fs/ufs/balloc.c:317: warning: long long unsigned int format, long unsigned int arg (arg 2) fs/ufs/balloc.c:317: warning: long long unsigned int format, long unsigned int arg (arg 3) sector_t is u64 and we don't know what type the architecture uses to implement u64. Cc: Evgeniy Dushistov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9ea85ebae1e05100cdb4807db4f265b0ede7aad8 Author: Andrew Morton Date: Wed Mar 19 17:01:05 2008 -0700 drivers/md/raid5.c: fix printk warnings gcc-3.4.5 on sparc64: drivers/md/raid5.c: In function `raid5_end_read_request': drivers/md/raid5.c:1147: warning: long long unsigned int format, long unsigned int arg (arg 4) drivers/md/raid5.c:1164: warning: long long unsigned int format, long unsigned int arg (arg 3) drivers/md/raid5.c:1170: warning: long long unsigned int format, long unsigned int arg (arg 3) sector_t is u64, and we don't know what type the architecture uses to implement u64 (on some it is unsigned long). Cc: Neil Brown Cc: "J. Bruce Fields" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8195096bf2e3756264561d7a47d547bafd4e9100 Author: Andrew Morton Date: Wed Mar 19 17:01:04 2008 -0700 memstick: drivers/memstick/host/jmb38x_ms.c: suppress uninitialized var warning drivers/memstick/host/jmb38x_ms.c: In function 'jmb38x_ms_transfer_data': drivers/memstick/host/jmb38x_ms.c:294: warning: 'p_off' may be used uninitialized in this function Cc: Alex Dubov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d3597ea2f2fa71695ab8204691ff4562aea8357b Author: Andrew Morton Date: Wed Mar 19 17:01:03 2008 -0700 memstick: drivers/memstick/host/jmb38x_ms.c needs dma-mapping.h sparc32: drivers/memstick/host/jmb38x_ms.c: In function 'jmb38x_ms_probe': drivers/memstick/host/jmb38x_ms.c:818: error: 'DMA_32BIT_MASK' undeclared (first use in this function) drivers/memstick/host/jmb38x_ms.c:818: error: (Each undeclared identifier is reported only once drivers/memstick/host/jmb38x_ms.c:818: error: for each function it appears in.) Cc: Alex Dubov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7850d932fc69cb4bad83117f0bef1a658cce350 Author: Randy Dunlap Date: Wed Mar 19 17:01:02 2008 -0700 mm/readahead: fix kernel-doc notation Fix kernel-doc notation in mm/readahead.c. Change ":" to ";" so that it doesn't get treated as a doc section heading. Move the comment block ending "*/" to a line by itself so that the text on that last line is not lost (dropped). Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08ca0db8aa2db4ddcf487d46d85dc8ffb22162cc Author: Dave Young Date: Wed Mar 19 17:01:01 2008 -0700 zisofs: fix readpage() outside i_size A read request outside i_size will be handled in do_generic_file_read(). So we just return 0 to avoid getting -EIO as normal reading, let do_generic_file_read do the rest. At the same time we need unlock the page to avoid system stuck. Fixes http://bugzilla.kernel.org/show_bug.cgi?id=10227 Signed-off-by: Dave Young Acked-by: Jan Kara Report-by: Christian Perle Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6b91919e0881a0d0a4ae5211d5c879a8c7ca92b Author: Randy Dunlap Date: Wed Mar 19 17:01:00 2008 -0700 fs: fix kernel-doc notation warnings Fix kernel-doc notation warnings in fs/. Warning(mmotm-2008-0314-1449//fs/super.c:560): missing initial short description on line: * mark_files_ro Warning(mmotm-2008-0314-1449//fs/locks.c:1277): missing initial short description on line: * lease_get_mtime Warning(mmotm-2008-0314-1449//fs/locks.c:1277): missing initial short description on line: * lease_get_mtime Warning(mmotm-2008-0314-1449//fs/namei.c:1368): missing initial short description on line: * lookup_one_len: filesystem helper to lookup single pathname component Warning(mmotm-2008-0314-1449//fs/buffer.c:3221): missing initial short description on line: * bh_uptodate_or_lock: Test whether the buffer is uptodate Warning(mmotm-2008-0314-1449//fs/buffer.c:3240): missing initial short description on line: * bh_submit_read: Submit a locked buffer for reading Warning(mmotm-2008-0314-1449//fs/fs-writeback.c:30): missing initial short description on line: * writeback_acquire: attempt to get exclusive writeback access to a device Warning(mmotm-2008-0314-1449//fs/fs-writeback.c:47): missing initial short description on line: * writeback_in_progress: determine whether there is writeback in progress Warning(mmotm-2008-0314-1449//fs/fs-writeback.c:58): missing initial short description on line: * writeback_release: relinquish exclusive writeback access against a device. Warning(mmotm-2008-0314-1449//include/linux/jbd.h:351): contents before sections Warning(mmotm-2008-0314-1449//include/linux/jbd.h:561): contents before sections Warning(mmotm-2008-0314-1449//fs/jbd/transaction.c:1935): missing initial short description on line: * void journal_invalidatepage() Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5366dc9fd1cb74023790a8edf29e4fe42c886dcf Author: Michael Halcrow Date: Wed Mar 19 17:00:58 2008 -0700 eCryptfs: Swap dput() and mntput() ecryptfs_d_release() is doing a mntput before doing the dput. This patch moves the dput before the mntput. Thanks to Rajouri Jammu for reporting this. Signed-off-by: Michael Halcrow Cc: Rajouri Jammu Cc: Eric Sandeen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae66be9b71b12f16b84129860d06bbfe37fbec51 Author: Paul E. McKenney Date: Wed Mar 19 17:00:57 2008 -0700 rcu: fix misplaced mb() in rcu_enter/exit_nohz() In the process of writing up the mechanical proof of correctness for the dynticks/preemptable-RCU interface, I noticed misplaced memory barriers in rcu_enter_nohz() and rcu_exit_nohz(). This patch puts them in the right place and adds a comment. The key thing to keep in mind is that rcu_enter_nohz() is -exiting- the mode that can legally execute RCU read-side critical sections. The memory barrier must be between any potential RCU read-side critical sections and the increment of the per-CPU dynticks_progress_counter, and thus must come -before- this increment. And vice versa for rcu_exit_nohz(). The locking in the scheduler is probably saving us for the moment. Also, switch to smp_mb() - we don't need a barrier for uniprocessor kernels. Signed-off-by: Paul E. McKenney Acked-by: Steven Rostedt Cc: Nick Piggin Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b691da35ba94d5fa0a32589d99b6546be2bf4cfa Author: Stefan Bauer Date: Wed Mar 19 17:00:55 2008 -0700 i810fb: fix console switch regression Since 4c7ffe0b9f7f40bd818fe3af51342f64c483908e ("fbdev: prevent drivers that have hardware cursors from calling software cursor code") every call of i810fb_cursor fails with -ENXIO because of a incorrect "!". This hasn't struck until eaa0ff15c30dc9799eb4d12660edb73aeb6d32c5 ("fix ! versus & precedence in various places") surrounded the expression with braces, so that the intended behavior was inverted. That caused 'pixel waste' - the same line of multi-colored pixels repeated over the whole screen - during console switch. This switches back to the original pre-4c7ffe0 behavior. Signed-off-by: Stefan Bauer Tested-by: Stefan Bauer Signed-off-by: Geert Uytterhoeven Cc: Antonino Daplas Cc: Henrique de Moraes Holschuh Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d00256766a0b4f1441931a7f569a13edf6c68200 Author: Duane Griffin Date: Wed Mar 19 17:00:54 2008 -0700 jbd2: correctly unescape journal data blocks Fix a long-standing typo (predating git) that will cause data corruption if a journal data block needs unescaping. At the moment the wrong buffer head's data is being unescaped. To test this case mount a filesystem with data=journal, start creating and deleting a bunch of files containing only JBD2_MAGIC_NUMBER (0xc03b3998), then pull the plug on the device. Without this patch the files will contain zeros instead of the correct data after recovery. Signed-off-by: Duane Griffin Acked-by: Jan Kara Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 439aeec639d7c57f3561054a6d315c40fd24bb74 Author: Duane Griffin Date: Wed Mar 19 17:00:53 2008 -0700 jbd: correctly unescape journal data blocks Fix a long-standing typo (predating git) that will cause data corruption if a journal data block needs unescaping. At the moment the wrong buffer head's data is being unescaped. To test this case mount a filesystem with data=journal, start creating and deleting a bunch of files containing only JFS_MAGIC_NUMBER (0xc03b3998), then pull the plug on the device. Without this patch the files will contain zeros instead of the correct data after recovery. Signed-off-by: Duane Griffin Acked-by: Jan Kara Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 44e0451db0a9c0bceabaa9cc77cbcc717a094fcc Author: Alessandro Zummo Date: Wed Mar 19 17:00:51 2008 -0700 rtc: fix kconfig help Signed-off-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d252fb870aa9cd227c4beb1a226ecd434f57f28 Author: Ahmed S. Darwish Date: Wed Mar 19 17:00:51 2008 -0700 smack: do not dereference NULL ipc object In the SYSV ipc msgctl(),semctl(),shmctl() family, if the user passed *_INFO as the desired operation, no specific object is meant to be controlled and only system-wide information is returned. This leads to a NULL IPC object in the LSM hooks if the _INFO flag is given. Avoid dereferencing this NULL pointer in Smack ipc *ctl() methods. Signed-off-by: Ahmed S. Darwish Acked-by: Casey Schaufler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ebf89845bea44a164d1fbb8fa319379ec7132de Author: David Howells Date: Wed Mar 19 17:00:50 2008 -0700 ROMFS: Fix up an error in iget removal Fix up an error in iget removal in which romfs_lookup() making a successful call to romfs_iget() continues through the negative/error handling (previously the successful case jumped around the negative/error handling case): (1) inode is initialised to NULL at the top of the function, eliminating the need for specific negative-inode handling. This means the positive success handling now flows straight through. (2) Rename the labels to be clearer about what they mean. Also make romfs_lookup()'s result variable of type long so as to avoid 32-bit/64-bit conversions with PTR_ERR() and friends. Based upon a report and patch from Adam Richter. Signed-off-by: David Howells Acked-by: "Adam J. Richter" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c587f0c0a69227587baaa12e75815b6644457c0a Author: Josef Bacik Date: Wed Mar 19 17:00:49 2008 -0700 ext3: fix wrong gfp type under transaction There are several places where we make allocations with GFP_KERNEL while under a transaction, which could lead to an assertion panic or lockup if under memory pressure. This patch switches these problem areas to use GFP_NOFS to keep these problems from happening. Signed-off-by: Josef Bacik Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ffda6857c87fbe3ab144ff3f34b89421eed048cf Author: Darrick J. Wong Date: Wed Mar 19 17:00:48 2008 -0700 ibmpex: report temperatures in mC, not C ibmpex's temperature sensors report incorrect units. Apply a conversion factor so that tempertures report correctly. Until now, no systems seemed to report temperatures this way, but evidently QS2x blades do. Signed-off-by: Darrick J. Wong Cc: "Mark M. Hoffman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d960a99ab1dcf6f395b883c5cca01c2dc150451 Author: Darrick J. Wong Date: Wed Mar 19 17:00:48 2008 -0700 ibmpex: update Kconfig to list more supported models Enhanced the list of supported machines. Signed-off-by: Darrick J. Wong Cc: Mark M. Hoffman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df9cb0339f2c213bea5480464fa669ed4add7445 Author: Darrick J. Wong Date: Wed Mar 19 17:00:47 2008 -0700 ibmpex: correct power use multipliers for QS2x blade The QS2x blades ships with v2.54 of the firmware, which use the same multiplier for all power meters. Signed-off-by: Darrick J. Wong Cc: Mark M. Hoffman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87cb055bc10571522f953925c25bb1a0d1b17605 Author: Jan Kara Date: Wed Mar 19 17:00:46 2008 -0700 quota: add possibly missing iput() when quotaon and quotaoff races We should always put inode we have reference to, even if quota was reenabled in the mean time. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 52ea27eb4cd5f250f33638029a134ff03c5e6bbb Author: Pavel Emelyanov Date: Wed Mar 19 17:00:45 2008 -0700 memcgroup: fix check for thread being a group leader in memcgroup The check t->pid == t->pid is not the blessed way to check whether a task is a group leader. This is not about the code beautifulness only, but about pid namespaces fixes - both the tgid and the pid fields on the task_struct are (slowly :( ) becoming deprecated. Besides, the thread_group_leader() macro makes only one dereference :) Signed-off-by: Pavel Emelyanov Cc: Balbir Singh Cc: KAMEZAWA Hiroyuki Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0cf01f6685bef41dea37bbec606f375b7a98fd98 Author: Randy Dunlap Date: Wed Mar 19 17:00:44 2008 -0700 jbd: fix jbd kernel-doc notation Fix kernel-doc notation in jbd. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e82989d95cc46cc58622381eafa54f7428ee679 Author: NeilBrown Date: Wed Mar 19 17:00:44 2008 -0700 md: remove the 'super' sysfs attribute from devices in an 'md' array Exposing the binary blob which is the md 'super-block' via sysfs doesn't really fit with the whole sysfs model, and ever since commit 8118a859dc7abd873193986c77a8d9bdb877adc8 ("sysfs: fix off-by-one error in fill_read_buffer()") it doesn't actually work at all (as the size of the blob is often one page). (akpm: as in, fs/sysfs/file.c:fill_read_buffer() goes BUG) So just remove it altogether. It isn't really useful. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 43d8eac44f28d384d2377dcdd1407f51f79dda55 Author: Randy Dunlap Date: Wed Mar 19 17:00:43 2008 -0700 mm: rmap kernel-doc fixes Correct kernel-doc function names and parameters in rmap.c. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77f6078aa8945a18a7780694940e52be0322c2b8 Author: Randy Dunlap Date: Wed Mar 19 17:00:42 2008 -0700 mm: highmem kernel-doc additions Add kernel-doc comments to highmem.c. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b578df02207a67a29e8ced4db3b36d89df52fef Author: Randy Dunlap Date: Wed Mar 19 17:00:42 2008 -0700 mm/oom_kill: fix kernel-doc Fix kernel-doc notation in oom_kill.c. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46711810200c50e639ffc52e755b3dba9b4c82a3 Author: Randy Dunlap Date: Wed Mar 19 17:00:41 2008 -0700 mm/shmem and tiny-shmem: fix some kernel-doc Convert tiny-shmem.c function comments to kernel-doc. Add parameters and convert/fix other kernel-doc in shmem.c. Signed-off-by: Randy Dunlap Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7682486b3ee06f800d5b11033371c7c5e92e3057 Author: Randy Dunlap Date: Wed Mar 19 17:00:40 2008 -0700 mm: fix various kernel-doc comments Fix various kernel-doc notation in mm/: filemap.c: add function short description; convert 2 to kernel-doc fremap.c: change parameter 'prot' to @prot pagewalk.c: change "-" in function parameters to ":" slab.c: fix short description of kmem_ptr_validate() swap.c: fix description & parameters of put_pages_list() swap_state.c: fix function parameters vmalloc.c: change "@returns" to "Returns:" since that is not a parameter Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6cb2a21049b8990df4576c5fce4d48d0206c22d5 Author: Quentin Barnes Date: Wed Mar 19 17:00:39 2008 -0700 aio: bad AIO race in aio_complete() leads to process hang My group ran into a AIO process hang on a 2.6.24 kernel with the process sleeping indefinitely in io_getevents(2) waiting for the last wakeup to come and it never would. We ran the tests on x86_64 SMP. The hang only occurred on a Xeon box ("Clovertown") but not a Core2Duo ("Conroe"). On the Xeon, the L2 cache isn't shared between all eight processors, but is L2 is shared between between all two processors on the Core2Duo we use. My analysis of the hang is if you go down to the second while-loop in read_events(), what happens on processor #1: 1) add_wait_queue_exclusive() adds thread to ctx->wait 2) aio_read_evt() to check tail 3) if aio_read_evt() returned 0, call [io_]schedule() and sleep In aio_complete() with processor #2: A) info->tail = tail; B) waitqueue_active(&ctx->wait) C) if waitqueue_active() returned non-0, call wake_up() The way the code is written, step 1 must be seen by all other processors before processor 1 checks for pending events in step 2 (that were recorded by step A) and step A by processor 2 must be seen by all other processors (checked in step 2) before step B is done. The race I believed I was seeing is that steps 1 and 2 were effectively swapped due to the __list_add() being delayed by the L2 cache not shared by some of the other processors. Imagine: proc 2: just before step A proc 1, step 1: adds to ctx->wait, but is not visible by other processors yet proc 1, step 2: checks tail and sees no pending events proc 2, step A: updates tail proc 1, step 3: calls [io_]schedule() and sleeps proc 2, step B: checks ctx->wait, but sees no one waiting, skips wakeup so proc 1 sleeps indefinitely My patch adds a memory barrier between steps A and B. It ensures that the update in step 1 gets seen on processor 2 before continuing. If processor 1 was just before step 1, the memory barrier makes sure that step A (update tail) gets seen by the time processor 1 makes it to step 2 (check tail). Before the patch our AIO process would hang virtually 100% of the time. After the patch, we have yet to see the process ever hang. Signed-off-by: Quentin Barnes Reviewed-by: Zach Brown Cc: Benjamin LaHaise Cc: Cc: Nick Piggin Signed-off-by: Andrew Morton [ We should probably disallow that "if (waitqueue_active()) wake_up()" coding pattern, because it's so often buggy wrt memory ordering ] Signed-off-by: Linus Torvalds commit 93ce4e2d2d7404e80d5612fb1cc13d4aad5e42fc Author: Paul Mackerras Date: Thu Mar 20 11:21:32 2008 +1100 [POWERPC] Update some defconfigs Signed-off-by: Paul Mackerras commit ebf3a6509299e46c531f88ee727372bd95cf542a Author: Michael Ellerman Date: Wed Mar 19 17:10:55 2008 +1100 [POWERPC] Hide resources on Axon PCIE root complex nodes The PCI bridge representing the PCIE root complex on Axon, contains device BARs for a memory range and ROM that define inbound accesses. This confuses the kernel resource management code -- the resources need to be hidden when Axon is a host bridge. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 3a4295d101d9654ca909b64c786f9da6ca1bf37a Author: Michael Ellerman Date: Fri Mar 14 16:47:39 2008 +1100 [POWERPC] Fix cell IOMMU code to cope with empty dma-ranges and non-PCI devices The cell IOMMU code to parse the dma-ranges properties, used for the fixed mapping, was broken in two ways for some devices. Firstly it didn't cope with empty dma-ranges properties. An empty property implies no translation so can be safely skipped. The code also wrongly assumed it would be looking at PCI devices, and hard coded the number of address and size cells. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit a72a6f53ddb95723960bb64c011457e9739941d7 Author: Paul Gortmaker Date: Tue Mar 18 16:13:10 2008 +1100 [POWERPC] Fix build failure for tqm8540 and sbc85xx defconfigs The wrapper script didn't have entries for the TQM8540 board and the SBC8548 or SBC8560 boards. I've assumed that the TQM8540 console is 8250 based and not CPM based by looking at its defconfig. There was also a trailing * on the TQM8555 entry that I removed too. Signed-off-by: Paul Gortmaker Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit 44387e9ff25267c78a99229aca55ed750e9174c7 Author: Anton Blanchard Date: Mon Mar 17 15:27:09 2008 +1100 [POWERPC] Fix PMU + soft interrupt disable bug Since the PMU is an NMI now, it can come at any time we are only soft disabled. We must hard disable around the two places we allow the kernel stack SLB and r1 to go out of sync. Otherwise the PMU exception can force a kernel stack SLB into another slot, which can lead to it getting evicted, which can lead to a nasty unrecoverable SLB miss in the exception entry code. Signed-off-by: Anton Blanchard Acked-by: Benjamin Herrenschmidt Acked-by: Olof Johansson Signed-off-by: Paul Mackerras commit c2372eb9bcafdd149b26987a8c25bbed92fd2775 Author: Roland McGrath Date: Thu Mar 13 19:25:35 2008 +1100 [POWERPC] user_regset PTRACE_SETREGS regression fix The PTRACE_SETREGS request was only recently added on powerpc, and gdb does not use it. So it slipped through without getting all the testing it should have had. The user_regset changes had a simple bug in storing to all of the 32-bit general registers block on 64-bit kernels. This bug only comes up with PTRACE_SETREGS, not PPC_PTRACE_SETREGS. It causes a BUG_ON to hit, so this fix needs to go in ASAP. Signed-off-by: Roland McGrath Signed-off-by: Paul Mackerras commit f8512ad0da16cbe156f3a7627971cdf0b39c4138 Author: Fred Isaman Date: Wed Mar 19 11:24:39 2008 -0400 nfs: don't ignore return value from nfs_pageio_add_request Ignoring the return value from nfs_pageio_add_request can cause deadlocks. In read path: call nfs_pageio_add_request from readpage_async_filler assume at this point that there are requests already in desc, that can't be merged with the current request. so nfs_pageio_doio is fired up to clear out desc. assume something goes wrong in setting up the io, so desc->pg_error is set. This causes nfs_pageio_add_request to return 0, *WITHOUT* adding the original request. BUT, since return code is ignored, readpage_async_filler assumes it has been added, and does nothing further, leaving page locked. do_generic_mapping_read will eventually call lock_page, resulting in deadlock In write path: page is marked dirty by generic_perform_write nfs_writepages is called call nfs_pageio_add_request from nfs_page_async_flush assume at this point that there are requests already in desc, that can't be merged with the current request. so nfs_pageio_doio is fired up to clear out desc. assume something goes wrong in setting up the io, so desc->pg_error is set. This causes nfs_page_async_flush to return 0, *WITHOUT* adding the original request, yet marking the request as locked (PG_BUSY) and in writeback, clearing dirty marks. The next time a write is done to the page, deadlock will result as nfs_write_end calls nfs_update_request Signed-off-by: Fred Isaman Signed-off-by: Trond Myklebust commit 4d1566ed2100d074ccc654e5cf2e44cdea3a01d0 Author: Kay Sievers Date: Wed Mar 19 13:04:47 2008 +0100 [SCSI] fix media change events for polled devices Commit: a341cd0f (SCSI: add asynchronous event notification API) breaks: 285e9670 (sr,sd: send media state change modification events) by introducing an event filter, which is removed here, to make events, we are depending on, happen again. Fix this by removing the event filter. It's pretty much broken at the moment, since a user can't set it (the attribute being read only). A proper fix will be to make the event discriminator distinguish between AN and Polled media change events. Cc: David Zeuthen Cc: kristen accardi Cc: Jeff Garzik Signed-off-by: Kay Sievers Signed-off-by: James Bottomley commit c02e600280c605c761190ef82a6e6fa6aa7fb248 Author: Kay Sievers Date: Wed Mar 19 13:09:56 2008 +0100 [SCSI] sd, sr: do not emit change event at device add Initialize the "state changed" flag, so we do not send a change event immediately after registering a new device. Signed-off-by: Kay Sievers Signed-off-by: James Bottomley commit a02f76c34d7d6d30b63ac64a8b34dea68593e8da Author: Al Viro Date: Sat Feb 23 15:14:28 2008 +0000 [PATCH] get stack footprint of pathname resolution back to relative sanity Somebody had put struct nameidata in stack frame of link_path_walk(). Unfortunately, there are certain realities to deal with: * It's in the middle of recursion. Depth is equal to the nesting depth of symlinks, i.e. up to 8. * struct namiedata is, even if one discards the intent junk, at least 12 pointers + 5 ints. * moreover, adding a stack frame is not free in that situation. * there are fs methods called on top of that, and they also have stack footprint. * kernel stack is not infinite. The thing is, even if one chooses to deal with -ESTALE that way (and it's one hell of an overkill), the only thing that needs to be preserved is vfsmount + dentry, not the entire struct nameidata. Signed-off-by: Al Viro commit b4d232e65fa274a715dae39f77191071324e602a Author: Al Viro Date: Sat Feb 23 05:59:19 2008 -0500 [PATCH] double iput() on failure exit in hugetlb once we'd done d_instantiate(), we should only do dput(). Signed-off-by: Al Viro commit 8a03feab32dceb78b9b1edf220e833d36d416b00 Author: Al Viro Date: Sat Feb 23 05:46:50 2008 -0500 [PATCH] double dput() on failure exit in tiny-shmem Signed-off-by: Al Viro commit 430e285e0817e3e18aadd814bc078d50d8af0cbf Author: Dave Hansen Date: Fri Feb 15 14:37:26 2008 -0800 [PATCH] fix up new filp allocators Some new uses of get_empty_filp() have crept in; switched to alloc_file() to make sure that pieces of initialization won't be missing. We really need to kill get_empty_filp(). [AV] fixed dentry leak on failure exit in anon_inode_getfd() Cc: Erez Zadok Cc: Trond Myklebust Cc: "J Bruce Fields" Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Dave Hansen Signed-off-by: Al Viro commit 322ee5b36eac42e762526b0df7fa432beba6e7a0 Author: Christoph Hellwig Date: Fri Feb 15 14:37:24 2008 -0800 [PATCH] check for null vfsmount in dentry_open() Make sure no-one calls dentry_open with a NULL vfsmount argument and crap out with a stacktrace otherwise. A NULL file->f_vfsmnt has always been problematic, but with the per-mount r/o tracking we can't accept anymore at all. [AV] the last place that passed NULL had been eliminated by the previous patch (reiserfs xattr stuff) Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Dave Hansen Signed-off-by: Al Viro commit 3227e14c3cab5ef7972c72eb13c13de444b5bfbc Author: Jeff Mahoney Date: Fri Feb 15 14:37:22 2008 -0800 [PATCH] reiserfs: eliminate private use of struct file in xattr After several posts and bug reports regarding interaction with the NULL nameidata, here's a patch to clean up the mess with struct file in the reiserfs xattr code. As observed in several of the posts, there's really no need for struct file to exist in the xattr code. It was really only passed around due to the f_op->readdir() and a_ops->{prepare,commit}_write prototypes requiring it. reiserfs_prepare_write() and reiserfs_commit_write() don't actually use the struct file passed to it, and the xattr code uses a private version of reiserfs_readdir() to enumerate the xattr directories. Signed-off-by: Jeff Mahoney Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Dave Hansen Signed-off-by: Al Viro commit f382d6e631fe424200ee0d8bb16539f5b7bef7be Author: Al Viro Date: Sat Feb 23 04:53:53 2008 -0500 [PATCH] sanitize hppfs * hppfs_iget() and its users are racy; there's no need to pollute icache anyway, new_inode() works fine and is safe, unlike the current kludges (these relied on overwriting ->i_ino before another iget_locked() gets to that one - and did it after unlocking). * merge hppfs_iget()/init_inode()/hppfs_read_inode(), while we are at it. * to pass proper vfsmount to dentry_open() store the reference in hppfs superblock. Signed-off-by: Al Viro -- commit 1dd0dd111f1b7591f2848fffdb06044053f66c40 Author: Dave Hansen Date: Fri Feb 15 18:37:00 2008 -0500 hppfs pass vfsmount to dentry_open() Here's patch for hppfs that uses vfs_kern_mount to make sure it always has a procfs instance and passed the vfsmount on through the inode private data. Also fixes a procfs file_system_type leak for every attempted hppfs mount. [ jdike - gave this file a style workover, plus deleted hppfs_dentry_ops ] Acked-by: Al Viro Signed-off-by: Christoph Hellwig Signed-off-by: Jeff Dike Signed-off-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 4cfea5a7dfcc2766251e50ca30271a782d5004ad Author: David S. Miller Date: Wed Mar 19 01:04:48 2008 -0700 [SPARC64]: Fix atomic backoff limit. 4096 will not fit into the immediate field of a compare instruction, in fact it will end up being -4096 causing the check to fail every time and thus disabling backoff. Signed-off-by: David S. Miller commit 264e3e889d86e552b4191d69bb60f4f3b383135a Merge: d7a0e1f... 8d8002f... Author: Linus Torvalds Date: Tue Mar 18 21:34:48 2008 -0700 Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: async_tx: avoid the async xor_zero_sum path when src_cnt > device->max_xor fsldma: Fix the DMA halt when using DMA_INTERRUPT async_tx transfer. commit d7a0e1f56472db0825e13f9dd39f0ad79b8c8b3e Author: Alexey Starikovskiy Date: Wed Mar 19 02:45:12 2008 +0300 Revert "ACPI: EC: Handle IRQ storm on Acer laptops" This reverts commit 2c81ce4c9c37b910210f2640c28e98a0c398dc26. It caused several new troubles (eg suspend slowdown bisected down to this patch by Pavel Machek), so just revert it for now. Signed-off-by: Alexey Starikovskiy Cc: Pavel Machek Signed-off-by: Linus Torvalds commit 2caf470363941b70212a9a843cae02e8e2f751d9 Merge: 6c3c315... 33b0c42... Author: Linus Torvalds Date: Tue Mar 18 21:27:13 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel: sched: tune multi-core idle balancing sched: retune wake granularity sched: wakeup-buddy tasks are cache-hot sched: improve affine wakeups sched, net: socket wakeups are sync sched: clean up wakeup balancing, code flow sched: clean up wakeup balancing, rename variables sched: clean up wakeup balancing, move wake_affine() commit 6c3c3158a81d6a92d335dd27ad9eb43f6b4c664b Author: Linus Torvalds Date: Tue Mar 18 21:26:24 2008 -0700 IDE: Make taskfile interface more robust wrt unexpected end-of-command Now that we handle all the special commands using REQ_TYPE_ATA_TASKFILE rather than using the old REQ_TYPE_ATA_CMD model, we need to also emulate the lack of full taskfile data that comes with the old command model (ie when commands are generated with the HDIO_DRIVE_CMD ioctl rather than using the HDIO_DRIVE_TASK[FILE] ioctls). In particular, this means that we should handle command completion the more relaxed way that the old drive_cmd_intr() code did. It allows commands to finish early even if they don't use up all the data that we thought we had for them. This fixes a regression seen by Anders Eriksson where some SMART commands sent by smartd would cause a boot-time system hang on his machine because the IDE command handling code didn't realize that the command had completed. Tested-by: Anders Eriksson Cc: Jens Axboe Cc: Ingo Molnar Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Linus Torvalds commit d5eee405723eedbd621275e045ac9b36f668c39f Merge: f920bb6... caeab08... Author: Linus Torvalds Date: Tue Mar 18 21:13:19 2008 -0700 Merge branch 'slab-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/christoph/vm * 'slab-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/christoph/vm: slub page alloc fallback: Enable interrupts for GFP_WAIT. commit 33b0c4217dcd67b788318c3192a2912b530e4eef Author: Ingo Molnar Date: Sun Mar 16 11:14:30 2008 +0100 sched: tune multi-core idle balancing WAKE_IDLE is too agressive on multi-core CPUs with the new wake-affine code, keep it on for SMT/HT balancing alone (where there's no cache affinity at all between logical CPUs). Signed-off-by: Ingo Molnar commit 74e3cd7f480ae1888b7cd196bf8125a1d3bfee05 Author: Ingo Molnar Date: Tue Mar 18 18:47:57 2008 +0100 sched: retune wake granularity reduce wake-up granularity for better interactivity. Signed-off-by: Ingo Molnar commit f540a6080a092e2ab69fd146c308022db7347b0a Author: Ingo Molnar Date: Sat Mar 15 17:10:34 2008 +0100 sched: wakeup-buddy tasks are cache-hot Wakeup-buddy tasks are cache-hot - this makes it a bit harder for the load-balancer to tear them apart. (but it's still possible, if the load is sufficiently assymetric) Signed-off-by: Ingo Molnar commit 4ae7d5cefd4aa3560e359a3b0f03e12adc8b5c86 Author: Ingo Molnar Date: Wed Mar 19 01:42:00 2008 +0100 sched: improve affine wakeups improve affine wakeups. Maintain the 'overlap' metric based on CFS's sum_exec_runtime - which means the amount of time a task executes after it wakes up some other task. Use the 'overlap' for the wakeup decisions: if the 'overlap' is short, it means there's strong workload coupling between this task and the woken up task. If the 'overlap' is large then the workload is decoupled and the scheduler will move them to separate CPUs more easily. ( Also slightly move the preempt_check within try_to_wake_up() - this has no effect on functionality but allows 'early wakeups' (for still-on-rq tasks) to be correctly accounted as well.) Signed-off-by: Ingo Molnar commit 6f3d09291b4982991680b61763b2541e53e2a95f Author: Ingo Molnar Date: Wed Mar 19 01:44:24 2008 +0100 sched, net: socket wakeups are sync 'sync' wakeups are a hint towards the scheduler that (certain) networking related wakeups likely create coupling between tasks. Signed-off-by: Ingo Molnar commit f48273860edfca2306236d0f0de609aab3f773d4 Author: Ingo Molnar Date: Sun Mar 16 21:21:47 2008 +0100 sched: clean up wakeup balancing, code flow Clean up the code flow. No code changed: kernel/sched.o: text data bss dec hex filename 42521 2858 232 45611 b22b sched.o.before 42521 2858 232 45611 b22b sched.o.after md5: 09b31c44e9aff8666f72773dc433e2df sched.o.before.asm 09b31c44e9aff8666f72773dc433e2df sched.o.after.asm Signed-off-by: Ingo Molnar commit ac192d3921a14e2c9080799e16959b4bd56f49d6 Author: Ingo Molnar Date: Sun Mar 16 20:56:26 2008 +0100 sched: clean up wakeup balancing, rename variables rename 'cpu' to 'prev_cpu'. No code changed: kernel/sched.o: text data bss dec hex filename 42521 2858 232 45611 b22b sched.o.before 42521 2858 232 45611 b22b sched.o.after md5: 09b31c44e9aff8666f72773dc433e2df sched.o.before.asm 09b31c44e9aff8666f72773dc433e2df sched.o.after.asm Signed-off-by: Ingo Molnar commit 098fb9db2c74cfd6ffdbf61eb026a0c21abc5f75 Author: Ingo Molnar Date: Sun Mar 16 20:36:10 2008 +0100 sched: clean up wakeup balancing, move wake_affine() split out the affine-wakeup bits. No code changed: kernel/sched.o: text data bss dec hex filename 42521 2858 232 45611 b22b sched.o.before 42521 2858 232 45611 b22b sched.o.after md5: 9d76738f1272aa82f0b7affd2f51df6b sched.o.before.asm 09b31c44e9aff8666f72773dc433e2df sched.o.after.asm (the md5's changed because stack slots changed and some registers get scheduled by gcc in a different order - but otherwise the before and after assembly is instruction for instruction equivalent.) Signed-off-by: Ingo Molnar commit 247df4548fdbb0f263aaa0386bbaf52bc359a972 Author: Andrew Morton Date: Tue Mar 18 17:15:58 2008 -0700 [RT2X00] drivers/net/wireless/rt2x00/rt2x00dev.c: remove dead code, fix warning Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 8d8002f642886ae256a3c5d70fe8aff4faf3631a Author: Dan Williams Date: Tue Mar 18 21:23:59 2008 -0700 async_tx: avoid the async xor_zero_sum path when src_cnt > device->max_xor If the channel cannot perform the operation in one call to ->device_prep_dma_zero_sum, then fallback to the xor+page_is_zero path. This only affects users with arrays larger than 16 devices on iop13xx or 32 devices on iop3xx. Cc: Cc: Neil Brown Signed-off-by: Dan Williams commit f79abb627f033c85a6088231f20c85bc4a9bd757 Author: Zhang Wei Date: Tue Mar 18 18:45:00 2008 -0700 fsldma: Fix the DMA halt when using DMA_INTERRUPT async_tx transfer. The DMA_INTERRUPT async_tx is a NULL transfer, thus the BCR(count register) is 0. When the transfer started with a byte count of zero, the DMA controller will triger a PE(programming error) event and halt, not a normal interrupt. I add special codes for PE event and DMA_INTERRUPT async_tx testing. Signed-off-by: Zhang Wei Signed-off-by: Andrew Morton Signed-off-by: Dan Williams commit 4d4109d0eb6930e59942d019980b83af679f187b Author: Prakash, Sathya Date: Fri Mar 7 16:19:50 2008 +0530 [SCSI] mpt fusion: Power Management fixes for MPT SAS PCI-E controllers The system power state changes like hibernation and standby are not happening properly with 106XE controllers, this patch modifies the driver to free resources and allocate resources in power management entry points [jejb: compile fixes for upstream] Signed-off-by: Sathya Prakash Signed-off-by: James Bottomley commit f920bb6f5fe21047e669381fe4dd346f6a9d3562 Merge: d324669... 1e0bd75... Author: Linus Torvalds Date: Tue Mar 18 08:43:59 2008 -0700 Merge branch 'audit.b49' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current * 'audit.b49' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current: [PATCH] export sessionid alongside the loginuid in procfs commit 1e0bd7550ea9cf474b1ad4c6ff5729a507f75fdc Author: Eric Paris Date: Thu Mar 13 08:15:31 2008 -0400 [PATCH] export sessionid alongside the loginuid in procfs Signed-off-by: Eric Paris Signed-off-by: Al Viro commit d32466912ea1f5a0ced568c4884f6c7d335ea969 Merge: 74fe030... 0714664... Author: Linus Torvalds Date: Tue Mar 18 07:49:59 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: HID: update key codes for Apple aluminium HID: fix comment in hid_input_report() HID: BADPAD entry for NATSU Playstation USB adapter HID: Use DIV_ROUND_UP HID: remove HID_QUIRK_APPLE_ISO_KEYBOARD for 4th generation macbook commit 74fe030532d779a3774fcc9e1ddce65f3773e156 Merge: fb00f76... 13d9392... Author: Linus Torvalds Date: Tue Mar 18 07:48:23 2008 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: ACPI: Set flag DOCK_UNDOCKING when triggered via sysfs Revert "ACPI: video: Ignore devices that aren't present in hardware" asus_acpi: remove misleading mask Revert "ACPI: video: Ignore ACPI video devices that aren't present in hardware" thermal: delete "default y" thermal: re-document thermal units Revert "thermal: fix generic thermal I/F for hwmon" ACPI: fix ATA_ACPI build ACPI: battery: Don't return -EFAIL on broken packages. ACPI: lockdep warning on boot, 2.6.25-rc5 commit fb00f7629bb94ef9189fc3790b95306a144f58c5 Merge: 992ab12... 3c00bb9... Author: Linus Torvalds Date: Tue Mar 18 07:46:19 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: ALPS - fix forward/back buttons reversed on Acer 5520-5290 Input: ALPS - put secondary device in proper place in sysfs Input: wacom - add support for Bamboo1, BambooFun, and Cintiq 12WX Input: document i8042.noloop Input: add keyboard notifier documentation Input: ads7846 - fix uninitialized var warning Input: i8042 - add SNI RM support Input: i8042 - add Lenovo 3000 N100 to nomux blacklist Input: i8042 - fix warning on non-x86 builds Input: cobalt_btns - assorted fixes commit 992ab12ac390a8b98b45d03f617481e6265811c0 Merge: 92f53c6... 2e1479d... Author: Linus Torvalds Date: Tue Mar 18 07:44:21 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6: make selinux_parse_opts_str() static commit 92f53c6f1e47d92b40b1e9e1662b0056c783b962 Merge: ff69c00... 40044ce... Author: Linus Torvalds Date: Tue Mar 18 07:43:14 2008 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: Revert "unexport bio_{,un}map_user" relay: fix subbuf_splice_actor() adding too many pages The ps2esdi driver was marked as BROKEN more than two years ago due to being commit ff69c00f0a58383f1f60dd2756e54a857f08d249 Merge: 9e58582... b05c238... Author: Linus Torvalds Date: Tue Mar 18 07:32:23 2008 -0700 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/ati_pcigart: fix the PCIGART to use drm_pci to allocate GART table. drm/radeon: fixup RV550 chip family drm/via: attempt again to stabilise the AGP DMA command submission. drm: Fix race that can lockup the kernel commit 07146648bc6ea8b1530644c8a41bef55f1b2d952 Author: Michael Hanselmann Date: Mon Mar 17 22:23:52 2008 +0100 HID: update key codes for Apple aluminium F5 and F6 have no second function printed on them. Thus their definitions have been removed from the table. KEY_CYCLEWINDOWS doesn't name the function of Mac OS X' Expose properly and because we couldn't find a better key code, we decided to use KEY_FN_F4 instead. We also changed KEY_BACK and KEY_FORWARD, which apply to browser functions, to KEY_PREVIOUSSONG and KEY_NEXTSONG, since the keys are intended to control a music player. Signed-off-by: Michael Hanselmann Signed-off-by: Jiri Kosina commit dfd347f09c66beed2ae621aad5fd75535b1838d4 Author: Jiri Kosina Date: Tue Mar 4 13:53:33 2008 +0100 HID: fix comment in hid_input_report() The hid_input_report() in debug mode of course outputs the report itself, not the device report descriptor. Fix this error in comment. Signed-off-by: Jiri Kosina commit c9bde7ad39e61424619b6bd7dd6984606b3b6489 Author: Andrew Burton Date: Mon Mar 3 10:49:59 2008 +0100 HID: BADPAD entry for NATSU Playstation USB adapter Add quirk entry for BADPAD for the NATSU Playstation USB adapter. The adapter is supported under Linux, but with bad direction detection. Signed-off-by: Andrew Burton Signed-off-by: Jiri Kosina commit 92c4a1b9f257a242866be13c7c61e7a40616ec52 Author: Julia Lawall Date: Fri Feb 15 13:53:11 2008 +0100 HID: Use 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: Julia Lawall Signed-off-by: Jiri Kosina commit 790c9d8d87f15827a455b191924aee9b397ce2b1 Author: Tobias Mueller Date: Fri Mar 14 23:44:48 2008 +0100 HID: remove HID_QUIRK_APPLE_ISO_KEYBOARD for 4th generation macbook 4th generation MacBook (product id 0x022a) from Apple doesn't need HID_QUIRK_APPLE_ISO_KEYBOARD fix anymore. Signed-off-by: Tobias Mueller Signed-off-by: Jiri Kosina commit 13d93924f13e1989cf27375cd46451475bc70d1d Merge: d9ea136... 9171f83... Author: Len Brown Date: Tue Mar 18 05:17:15 2008 -0400 Merge branches 'release' and 'dock' into release commit 9171f83488940e4ff85f1b7137773eb1f306cdef Author: Holger Macht Date: Wed Mar 12 01:07:27 2008 +0100 ACPI: Set flag DOCK_UNDOCKING when triggered via sysfs begin_undock() is only called when triggered via a acpi notify handler (pressing the undock button on the dock station), but complete_undock() is always called after the eject. So if a undock is triggered through a sysfs write, the flag DOCK_UNDOCKING has to be set for the dock station, too. Otherwise this will freeze the system hard. Signed-off-by: Holger Macht Acked-by: Kristen Carlson Accardi Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 7642d2113098f1270e9f9f0120f44d0035091636 Author: Alexey Starikovskiy Date: Thu Feb 28 19:17:39 2008 +0300 ACPI: SBS: remove typo from sbchc.c Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit d9ea1364d37b53710519909ab125a53b0a8ca64f Merge: abc5a87... b8a1bdb... 77321e6... 0ac4a3c... 71e93d1... ece54e2... Author: Len Brown Date: Tue Mar 18 04:52:57 2008 -0400 Merge branches 'release', 'asus', 'bugzilla-8573', 'bugzilla-9995', 'bugzilla-10272', 'lockdep' and 'thermal' into release commit 77321e624b64f1e5985a20f3cd16b94c96d0dbb4 Author: Len Brown Date: Tue Mar 18 04:04:35 2008 -0400 Revert "ACPI: video: Ignore devices that aren't present in hardware" This reverts commit 0119509c4fbc9adcef1472817fda295334612976. http://bugzilla.kernel.org/show_bug.cgi?id=9995 Signed-off-by: Len Brown commit 2f633928cbba8a5858bb39b11e7219a41b0fbef5 Merge: 5e226e4... bde4f8f... Author: David S. Miller Date: Mon Mar 17 23:44:31 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit abc5a87f4e627e058813a95b112e9f5f21668f9d Author: Julia Lawall Date: Tue Mar 4 15:00:13 2008 -0800 asus_acpi: remove misleading mask led_out is boolean, so there is no functional change here, but apparently an extra mask with 1 caused some style checkers to flag this as logic bug. Signed-off-by: Julia Lawall Acked-by: Luca Tettamanti Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 5e226e4d9016daee170699f8a4188a5505021756 Author: Al Viro Date: Mon Mar 17 22:50:23 2008 -0700 [IPV4]: esp_output() misannotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 9534f035ee67630688447e8aac91b1d365a51913 Author: Al Viro Date: Mon Mar 17 22:49:48 2008 -0700 [8021Q]: vlan_dev misannotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 8e3d716cce0c186ae9c88b91cc5686b78e0fd2d4 Author: Al Viro Date: Mon Mar 17 22:49:16 2008 -0700 xfrm: ->eth_proto is __be16 Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 0ff9663c88ac5efdb5c8ac21c0bd7f993a4e3849 Author: Al Viro Date: Mon Mar 17 22:48:46 2008 -0700 [IPV4]: ipv4_is_lbcast() misannotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 27724426a9000086993a8107a11cff276c4bd4d4 Author: Al Viro Date: Mon Mar 17 22:48:03 2008 -0700 [SUNRPC]: net/* NULL noise Signed-off-by: Al Viro Signed-off-by: David S. Miller commit bc92dd194d05e8334b210552fbc0ac5711d72ea9 Author: Al Viro Date: Mon Mar 17 22:47:32 2008 -0700 [SCTP]: fix misannotated __sctp_rcv_asconf_lookup() Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 0382b9c35469be273ed10fa374496a924055a3c8 Author: Al Viro Date: Mon Mar 17 22:46:46 2008 -0700 [PKT_SCHED]: annotate cls_u32 Signed-off-by: Al Viro Signed-off-by: David S. Miller commit e6f1cebf71c4e7aae7dfa43414ce2631291def9f Author: Al Viro Date: Mon Mar 17 22:44:53 2008 -0700 [NET] endianness noise: INADDR_ANY Signed-off-by: Al Viro Signed-off-by: David S. Miller commit f0d6752c9fa51d24c86b57c76ec5b2926a716b23 Author: Len Brown Date: Tue Mar 18 01:43:53 2008 -0400 Revert "ACPI: video: Ignore ACPI video devices that aren't present in hardware" This reverts commit 3fa2cdcc45a0176de15cac9dbf4ed2834ebf8932. http://bugzilla.kernel.org/show_bug.cgi?id=9995 Signed-off-by: Len Brown commit ece54e2ff45062852e4647e85b2bb5f6aee8211c Author: Len Brown Date: Tue Mar 18 01:22:10 2008 -0400 thermal: delete "default y" The generic thermal I/F gets selected by ACPI_THERMAL -- its only current customer. it doesn't need to clutter other configs by default. Signed-off-by: Len Brown commit 6d7f014e55c5227220da1f021c518487fcfd585a Author: Zhang, Rui Date: Tue Mar 18 10:40:29 2008 +0800 thermal: re-document thermal units From: Zhang Rui (reverting the previous sysfs patch also reverted a fix to the thermal units documentation, which is restored by this commit) The generic thermal driver shows temperature in millidegree Celsius. Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 91f57fa1215952af579f304821a15cc6c656042c Author: Len Brown Date: Tue Mar 18 01:14:37 2008 -0400 Revert "thermal: fix generic thermal I/F for hwmon" This reverts commit 3152fb9f11cdd2fd8688c2c5cb805e5c09b53dd9. This broke libsensors. Acked-by: Zhang Rui Acked-by: Jean Delvare Signed-off-by: Len Brown commit 3c00bb96497a9c1251359a1faf68dddbb8d50a23 Author: Laszlo Kajan Date: Tue Mar 18 00:39:55 2008 -0400 Input: ALPS - fix forward/back buttons reversed on Acer 5520-5290 ALPS_FW_BK_1 protocol flavor seems to have forward and backward keys reversed. Signed-off-by: Laszlo Kajan Signed-off-by: Dmitry Torokhov commit 1db3a3453f6915d6af322e3a1b25f7ab2c9d9a2b Author: Dmitry Torokhov Date: Tue Mar 18 00:29:18 2008 -0400 Input: ALPS - put secondary device in proper place in sysfs Secondary input device did not have parent set up causing it to appear in the root of sysfs device hierarchy. Signed-off-by: Dmitry Torokhov commit 0ac4a3c2fbbcadc3e96e4dc47d4ae802d66e6f67 Author: Len Brown Date: Tue Mar 18 00:26:07 2008 -0400 ACPI: fix ATA_ACPI build drivers/ata/libata-acpi.c fails to build drivers/built-in.o: In function `ata_acpi_associate': (.text+0x7106a): undefined reference to `register_hotplug_dock_device' When CONFIG_ATA_ACPI=y and CONFIG_ACPI_DOCK=m But if dock is selected from ata_acpi, dock will =y when ata_acpi=y, avoiding this problem. http://bugzilla.kernel.org/show_bug.cgi?id=10272 Signed-off-by: Len Brown commit 8a4e98d9d758d0eb751916e906fae40bda151b11 Author: Al Viro Date: Sun Feb 24 01:43:03 2008 -0500 [PATCH] restore export of do_kern_mount() vfs_kern_mount() requires having a reference to fs type, which makes it impossible for module to create procfs, etc. private mount. Open-coding is not an option, since e.g. put_filesystem() is _not_ exported, and for a good reason. Signed-off-by: Al Viro commit b8a1bdb14940946fcf0438a6337b2a6c54294fb8 Author: Alexey Starikovskiy Date: Mon Mar 17 22:37:42 2008 -0400 ACPI: battery: Don't return -EFAIL on broken packages. Acer BIOS has a bug which is exposed when a dead battery is present. The package template that is used to describe battery status is over-written with sane values when the battery is live. But when the batter is dead, a bogus reference in the template is used. In this case, Linux returns a fault, when instead it should simply return that it doesn't know the missing value. http://bugzilla.kernel.org/show_bug.cgi?id=8573 http://bugzilla.kernel.org/show_bug.cgi?id=10202 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 9e5858244926f4fddf8ba38a6b4fa3fe68e93836 Author: Mark Lord Date: Mon Mar 17 16:04:23 2008 -0400 pciehp: don't enable slot unless forced This fixes a 2.6.25 regression reported by Alex Chiang. Invoke pciehp_enable_slot() at startup only when pciehp_force=1. Some HP equipment apparently cannot cope with it otherwise. This restores the (previously working) 2.6.24 behaviour here, while allowing machines that need a kick to use pciehp_force=1. This was the original design back in October 2007, but Kristen suggested we try without it first: Kristen Carlson Accardi wrote: >I think it would be ok to try allowing the slot to be enabled when not >using pciehp_force mode. We can wrap it later if it proves to break things This ended up breaking one of Alex's setups, so it's time to put the wrapper back in now. Signed-off-by: Mark Lord Acked-by: Alex Chiang Acked-by: Kristen Carlson Accardi Signed-off-by: Linus Torvalds commit 2e1479d95d02b43660fe03ab2c595ec9751a6f97 Author: Adrian Bunk Date: Mon Mar 17 22:29:23 2008 +0200 make selinux_parse_opts_str() static This patch makes the needlessly global selinux_parse_opts_str() static. Signed-off-by: Adrian Bunk Acked-by: Eric Paris Signed-off-by: James Morris commit 40044ce0bf2b7e548584d91f108444e83ed5eab3 Author: Jens Axboe Date: Mon Mar 17 21:14:40 2008 +0100 Revert "unexport bio_{,un}map_user" Outside users like asmlib uses the mapping functions. API wise, the export is definitely sane. It's a better idea to keep this export than to require external users to open-code this piece of code instead. Signed-off-by: Jens Axboe commit fc4d30a6fc88121081916faef930d8c3e4ed6036 Merge: 9150c97... 1682fe6... Author: David S. Miller Date: Mon Mar 17 12:06:33 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit caeab084deb61cd2d51cb8facc0e894a5b406aa4 Author: Christoph Lameter Date: Wed Mar 12 23:57:49 2008 -0700 slub page alloc fallback: Enable interrupts for GFP_WAIT. The fallback path needs to enable interrupts like done for the other page allocator calls. This was not necessary with the alternate fast path since we handled irq enable/disable in the slow path. The regular fastpath handles irq enable/disable around calls to the slow path so we need to restore the proper status before calling the page allocator from the slowpath. Signed-off-by: Christoph Lameter commit bde4f8fa8db2abd5ac9c542d76012d0fedab050f Merge: 8484138... c40e7cb... Author: Linus Torvalds Date: Mon Mar 17 09:52:24 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: ahci: Add Marvell 6121 SATA support pata_ali: use atapi_cmd_type() to determine cmd type instead of transfer size ahci: implement skip_host_reset parameter ahci: request all PCI BARs devres: implement pcim_iomap_regions_request_all() libata-acpi: improve dock event handling commit 84841384ec6ec57544b76e564514d3f9eb6c1901 Merge: 3d10a15... 4265f16... Author: Linus Torvalds Date: Mon Mar 17 09:52:19 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: virtio: fix race in enable_cb virtio: Enable netpoll interface for netconsole logging virtio: handle > 2 billion page balloon targets virtio: Fix sysfs bits to have proper block symlink virtio: Use spin_lock_irqsave/restore for virtio-pci commit 3d10a15d6919488204bdb264050d156ced20d9aa Author: Al Viro Date: Sun Mar 16 22:48:08 2008 +0000 hfs_bnode_find() can fail, resulting in hfs_bnode_split() breakage oops and fs corruption; the latter can happen even on valid fs in case of oom. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit c40e7cb89f9d36924131ef708ff1f16a76611add Author: Jose Alberto Reguero Date: Thu Mar 13 23:22:24 2008 +0100 ahci: Add Marvell 6121 SATA support Signed-off-by: Jose Alberto Reguero Signed-off-by: Jeff Garzik commit 4a38e733a75d52e84772fc00d88e32032a235e75 Author: Tejun Heo Date: Tue Mar 11 11:35:00 2008 +0900 pata_ali: use atapi_cmd_type() to determine cmd type instead of transfer size pata_ali was using qc->nbytes to determine whether a command is data transfer type or not. As now qc->nbytes can be extended by padding and draining buffers, these tests are not useful anymore. Use atapi_cmd_type() instead. Signed-off-by: Tejun Heo Cc: Alan Cox Cc: Rafael J. Wysocki Signed-off-by: Jeff Garzik commit a22e64443f0aa4aa4e3c56a49e5c060e90752c07 Author: Tejun Heo Date: Mon Mar 10 10:25:25 2008 +0900 ahci: implement skip_host_reset parameter Under certain circumstances (SSP turned off by the BIOS) and for debugging purposes, skipping global controller reset is helpful. Add a kernel parameter for it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit dea55137634226fd74d5187a15dee1244ec252cb Author: Tejun Heo Date: Tue Mar 11 19:52:31 2008 +0900 ahci: request all PCI BARs ahci is often implemented with accompanying SFF compatible interface and legacy IDE driver may attach to the legacy IO ports when the controller is already claimed by ahci and vice-versa. This patch makes ahci use pcim_iomap_regions_request_all() so that all IO regions are claimed on attach. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 916fbfb7ae5f8c8f86399794d89e6d273df8826b Author: Tejun Heo Date: Wed Mar 12 15:26:34 2008 +0900 devres: implement pcim_iomap_regions_request_all() Some drivers need to reserve all PCI BARs to prevent other drivers misusing unoccupied BARs. pcim_iomap_regions_request_all() requests all BARs and iomap specified BARs. Signed-off-by: Tejun Heo Cc: Greg Kroah-Hartman Cc: Alan Cox Cc: Jeff Garzik Signed-off-by: Jeff Garzik commit 233f112042d0b50170212dbff99c3b34b8773cd3 Author: Tejun Heo Date: Wed Mar 12 14:24:43 2008 +0900 libata-acpi: improve dock event handling Improve ACPI hotplug handling such that dock event is handled properly. * Register handlers for dock events. * Directly detach device on EJECT_REQUEST instead of signaling hotplug event. This prevents libata from accessing severed controller and/or device. * While at it, use named constants for ACPI events and move uevent signaling inside host lock. Original patch and testing by Holger Macht. Signed-off-by: Tejun Heo Cc: Holger Macht Signed-off-by: Jeff Garzik commit 9150c979cee012eeee853d4041e133d2801c699e Author: Harvey Harrison Date: Thu Mar 6 15:55:09 2008 +0000 ioc3.c: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Ralf Baechle drivers/sn/ioc3.c | 22 +++++++++++----------- 1 files changed, 11 insertions(+), 11 deletions(-) Signed-off-by: Jeff Garzik commit ffea31ed1c93a599d14de484a2c5c701f4480ba3 Author: Joakim Tjernlund Date: Thu Mar 6 18:48:46 2008 +0800 ucc_geth: use correct thread number for 10/100Mbps link Use thread number of 1 for 10/100Mbps link instead of 4. Signed-off-by: Joakim Tjernlund Signed-off-by: Li Yang Signed-off-by: Jeff Garzik commit 44b0cda37534093fd9fefacd64d5fbb589c50795 Author: Mitch Williams Date: Fri Mar 7 10:32:13 2008 -0800 igb: Correctly get protocol information We can't look at the socket to get protocol information. We should instead look directly at the packet, and hope there are no IPv6 option headers. Signed-off-by: Mitch Williams Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 725e49c5daab0b011b80907ec21fa68f3ab78633 Author: Ralf Baechle Date: Sat Mar 8 16:58:33 2008 +0000 [IOC3] Fix section missmatch LD drivers/net/built-in.o WARNING: drivers/net/built-in.o(.text+0x3468): Section mismatch in reference fro m the function ioc3_probe() to the function .devinit.text:ioc3_serial_probe() The function ioc3_probe() references the function __devinit ioc3_serial_probe(). This is often because ioc3_probe lacks a __devinit annotation or the annotation of ioc3_serial_probe is wrong. Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik commit 69cac988f2d8506d0b479c5ae7903b9067d7641d Author: Grant Grundler Date: Sat Mar 8 18:33:16 2008 -0700 2.6.25-rc4 de_stop_rxtx polling wrong This untested patch _should_ fix: "(net de2104x) Kernel panic with de2104x tulip driver on boot" http://bugzilla.kernel.org/show_bug.cgi?id=3156 But the bug submitter isn't responding. Same fix has been applied to tulip.c (several years ago) and uli526x.c (Feb 2008) drivers. [ The panic reported in the bug report was removed in a recently (march 2008) accepted patch from Ondrej Zary. ] Signed-off-by: Grant Grundler Signed-off-by: Jeff Garzik commit 3b446c3e1592287dae117e03e61af0aa09adba6f Author: Ayaz Abdulla Date: Mon Mar 10 14:58:21 2008 -0500 forcedeth: limit tx to 16 This is a critical patch which adds a workaround for a HW bug. The patch will limit the number of outstanding tx packets to 16. Otherwise, the HW could send out packets with bad checksums. The driver will still setup the tx packets into the ring, however, will only set the Valid bit on 16 packets at a time. Signed-off-by: Ayaz Abdulla Signed-off-by: Jeff Garzik commit ad390d2d56c167b317a38b50f6373a4775597734 Author: Alan Cox Date: Mon Mar 10 21:57:20 2008 +0000 3c501: Further coding style fixes Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit cd7e903440bad2625afa4090f34bf497593656cd Author: Divy Le Ray Date: Thu Mar 13 00:13:30 2008 -0700 cxgb3: Fix transmit queue stop mechanism The last change in the Tx queue stop mechanism opens a window where the Tx queue might be stopped after pending credits returned. Tx credits are returned via a control message generated by the HW. It returns tx credits on demand, triggered by a completion bit set in selective transmit packet headers. The current code can lead to the Tx queue stopped with all pending credits returned, and the current frame not triggering a credit return. The Tx queue will then never be awaken. The driver could alternatively request a completion for packets that stop the queue. It's however safer at this point to go back to the pre-existing behaviour. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit cdb346977829885cbd8b1200ca21049b1df242ad Author: Stefan Roese Date: Thu Mar 13 16:59:43 2008 +0100 NEWEMAC: Add compatible "ibm,tah" to tah matching table Add "ibm,tah" to the compatible matching table of the ibm_newemac tah driver. The type "tah" is still preserved for compatibility reasons. New dts files should use the compatible property though. Signed-off-by: Stefan Roese Signed-off-by: Jeff Garzik commit 10d0f27c1baa4a094b4965708a15f2b0c4d65f5e Author: Jean-Christophe Dubois Date: Thu Mar 13 14:56:36 2008 -0800 rndis_host: fix transfer size negotiation This patch should resolve a problem that's troubled support for some RNDIS peripherals. It seems to have boiled down to using a variable to establish transfer size limits before it was assigned, which caused those devices to fallback to a default "jumbogram" mode we don't support. Fix by assigning it earlier for RNDIS. Signed-off-by: Jean-Christophe Dubois [ cleanups ] Signed-off-by: David Brownell Signed-off-by: Jeff Garzik commit 4373c9327f10c362f13d5b78557f93a471211a42 Author: Pravin M. Bathija Date: Fri Mar 14 10:52:28 2008 +0100 NEWEMAC: fix support for pause packets Problem Description and Fix --------------------------- When a pause packet(with destination as reserved Multicast address) is received by the EMAC hardware to control the flow of frames being transmitted by it, it is dropped by the hardware unless the reserved Multicast address is hashed in to the GAHT[1-4] registers. This code fix adds the default reserved multicast address to the GAHT[1-4] registers in the EMAC(s) present on the chip. The flow control with Pause packets will only work if the following register bits are programmed in EMAC: EMACx_MR1[APP] = 1 EMACx_RMR[BAE] = 1 EMACx_RMR[MAE] = 1 Behavior that may be observed in a running system ------------------------------------------------- A host transferring data from a PPC based system may send a Pause packet to the PPC EMAC requesting it to slow down the flow of packets. If the default reserved multicast MAC address is not programmed into the GAHT[1-4] registers this Pause packet will be dropped by PPC EMAC and no Flow Control will be done. Signed-off-by: Pravin M. Bathija Signed-off-by: Stefan Roese Signed-off-by: Jeff Garzik commit 4265f161b6bb7b31163671329b1142b9023bf4e3 Author: Christian Borntraeger Date: Fri Mar 14 14:17:05 2008 +0100 virtio: fix race in enable_cb There is a race in virtio_net, dealing with disabling/enabling the callback. I saw the following oops: kernel BUG at /space/kvm/drivers/virtio/virtio_ring.c:218! illegal operation: 0001 [#1] SMP Modules linked in: sunrpc dm_mod CPU: 2 Not tainted 2.6.25-rc1zlive-host-10623-gd358142-dirty #99 Process swapper (pid: 0, task: 000000000f85a610, ksp: 000000000f873c60) Krnl PSW : 0404300180000000 00000000002b81a6 (vring_disable_cb+0x16/0x20) R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:0 CC:3 PM:0 EA:3 Krnl GPRS: 0000000000000001 0000000000000001 0000000010005800 0000000000000001 000000000f3a0900 000000000f85a610 0000000000000000 0000000000000000 0000000000000000 000000000f870000 0000000000000000 0000000000001237 000000000f3a0920 000000000010ff74 00000000002846f6 000000000fa0bcd8 Krnl Code: 00000000002b819a: a7110001 tmll %r1,1 00000000002b819e: a7840004 brc 8,2b81a6 00000000002b81a2: a7f40001 brc 15,2b81a4 >00000000002b81a6: a51b0001 oill %r1,1 00000000002b81aa: 40102000 sth %r1,0(%r2) 00000000002b81ae: 07fe bcr 15,%r14 00000000002b81b0: eb7ff0380024 stmg %r7,%r15,56(%r15) 00000000002b81b6: a7f13e00 tmll %r15,15872 Call Trace: ([<000000000fa0bcd0>] 0xfa0bcd0) [<00000000002b8350>] vring_interrupt+0x5c/0x6c [<000000000010ab08>] do_extint+0xb8/0xf0 [<0000000000110716>] ext_no_vtime+0x16/0x1a [<0000000000107e72>] cpu_idle+0x1c2/0x1e0 The problem can be triggered with a high amount of host->guest traffic. I think its the following race: poll says netif_rx_complete poll calls enable_cb enable_cb opens the interrupt mask a new packet comes, an interrupt is triggered----\ enable_cb sees that there is more work | enable_cb disables the interrupt | . V . interrupt is delivered . skb_recv_done does atomic napi test, ok some waiting disable_cb is called->check fails->bang! . poll would do napi check poll would do disable_cb The fix is to let enable_cb not disable the interrupt again, but expect the caller to do the cleanup if it returns false. In that case, the interrupt is only disabled, if the napi test_set_bit was successful. Signed-off-by: Christian Borntraeger Signed-off-by: Rusty Russell (cleaned up doco) commit da74e89d40995600b3b07ac500084920247687ce Author: Amit Shah Date: Fri Feb 29 16:24:50 2008 +0530 virtio: Enable netpoll interface for netconsole logging Add a new poll_controller handler that the netpoll interface needs. This enables netconsole logging from a kvm guest over the virtio net interface. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit bdc1681cdf1ab6a65fa935a2b3f8fc63b20c54ea Author: Rusty Russell Date: Mon Mar 17 22:58:15 2008 -0500 virtio: handle > 2 billion page balloon targets If the host asks for a huge target towards_target() can overflow, and we up oops as we try to release more pages than we have. The simple fix is to use a 64-bit value. Signed-off-by: Rusty Russell commit c483934670d31e064e18967bb679c1079b54ea72 Author: Jeremy Katz Date: Sun Mar 2 17:00:15 2008 -0500 virtio: Fix sysfs bits to have proper block symlink Fix up so that the virtio_blk devices in sysfs link correctly to their block device. This then allows them to be detected by hal, etc Signed-off-by: Jeremy Katz Signed-off-by: Rusty Russell commit 27ebe308af7c14aed0711e25817c6a1235bd16ff Author: Anthony Liguori Date: Sun Mar 2 16:37:48 2008 -0600 virtio: Use spin_lock_irqsave/restore for virtio-pci virtio-pci acquires its spin lock in an interrupt context so it's necessary to use spin_lock_irqsave/restore variants. This patch fixes guest SMP when using virtio devices in KVM. Signed-off-by: Anthony Liguori Signed-off-by: Rusty Russell commit 16bb547e130bad47c16852f353f5501cf4b9b35a Author: Julia Lawall Date: Sat Mar 15 17:05:02 2008 +0100 drivers/net/atl1/atl1_main.c: remove unused variable The variable update_rx is initialized but never used otherwise. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type T; identifier i; constant C; @@ ( extern T i; | - T i; <+... when != i - i = C; ...+> ) // Signed-off-by: Julia Lawall Acked-by: Jay Cliburn Signed-off-by: Jeff Garzik commit b97ef8757b6752397ed1dd24bfc9083cf4dc49b4 Author: Julia Lawall Date: Sat Mar 15 17:04:39 2008 +0100 drivers/net/ipg.c: remove unused variable The variable gig is initialized but never used otherwise. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type T; identifier i; constant C; @@ ( extern T i; | - T i; <+... when != i - i = C; ...+> ) // Signed-off-by: Julia Lawall Signed-off-by: Jeff Garzik commit 9ebfd4929dc86d33cb68823714802cf226a38d42 Author: Al Viro Date: Sun Mar 16 22:22:04 2008 +0000 epic100 endianness annotations and fixes * "powerpc or sparc" is not the same as "big-endian", fix the ifdef * since we tell the card to byteswap the descriptors on big-endian, we ought to leave them host-endian... Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 48f5fec5486286103c4423fc78fdf3a15530c3b9 Author: Al Viro Date: Sun Mar 16 22:22:14 2008 +0000 ipg fix spurious cpu_to_le64() Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 3b5e26f7b07f5e537cef705de79174025ecd383c Author: Al Viro Date: Sun Mar 16 22:22:34 2008 +0000 more misannotations: ne2k-pci Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 63734a32a401d79eb1ae54bf61374a54c05750c9 Author: Al Viro Date: Sun Mar 16 22:23:04 2008 +0000 fore2000 - fix misannotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 5ffa6d7f613ca0198dae235986443cd921fa2e75 Author: Al Viro Date: Sun Mar 16 22:22:44 2008 +0000 wan/farsync: copy_from_user() to iomem is wrong kmalloc intermediate buffer(), do copy_from_user() + memcpy_toio() Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit ed773b4ab1387a25b3be027d45c94daae3c8a607 Author: Al Viro Date: Sun Mar 16 22:43:06 2008 +0000 r6040 endianness fixes pci_unmap_single() on little-endian address Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 16d54669427069ef2823752c365d695b0cc4748f Author: Jens Axboe Date: Mon Mar 17 09:04:59 2008 +0100 relay: fix subbuf_splice_actor() adding too many pages If subbuf_pages was larger than the max number of pages the pipe buffer will hold, subbuf_splice_actor() would happily go beyond the array size. Signed-off-by: Jens Axboe commit 2af3e6017e53065ddf40bb19190a29199b7ffee3 Author: Adrian Bunk Date: Thu Mar 6 16:02:42 2008 +0100 The ps2esdi driver was marked as BROKEN more than two years ago due to being no longer working for some time. A driver that had been marked as BROKEN for such a long time seems to be unlikely to be revived in the forseeable future. But if anyone wants to ever revive this driver, the code is still present in the older kernel releases. Signed-off-by: Adrian Bunk Acked-by: Alan Cox Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit b05c23851ab820b1957cd2f322eaa1ac44c196bd Author: Dave Airlie Date: Mon Mar 17 10:24:24 2008 +1000 drm/ati_pcigart: fix the PCIGART to use drm_pci to allocate GART table. This fixes a problem on 64-bit with 4GB with ATI RS690 chipsets. It makes sure the pcigart table is allocated in coherent memory for DMA operations. Signed-off-by: Dave Airlie commit 16d3be46d9ffbc2c562b25d66d59666db2cf2cd5 Author: Alex Deucher Date: Mon Mar 17 10:22:12 2008 +1000 drm/radeon: fixup RV550 chip family This fixes up the RV550 chips which are based on RV515, not RV530. It also adds another RS690 PCI ID. Signed-off-by: Dave Airlie commit f0fb6d7798e7e2d1f37a2c15892910661bdaba55 Author: Thomas Hellstrom Date: Mon Mar 17 10:07:20 2008 +1000 drm/via: attempt again to stabilise the AGP DMA command submission. It's worth remembering that all new bright ideas on how to make this command reader work properly and according to docs will probably fail :( Bring in some old code. Also allow a larger SG-DMA download stride, and remove unnecessary waits for command regulators pauses. Signed-off-by: Dave Airlie commit 9df5808cca52f33e1deb52b5010c68c6ed1656fe Author: Mike Isely Date: Thu Mar 13 15:30:35 2008 -0500 drm: Fix race that can lockup the kernel The i915_vblank_swap() function schedules an automatic buffer swap upon receipt of the vertical sync interrupt. Such an operation is lengthy so it can't be allowed to happen in normal interrupt context, thus the DRM implements this by scheduling the work in a kernel softirq-scheduled tasklet. In order for the buffer swap to work safely, the DRM's central lock must be taken, via a call to drm_lock_take() located in drivers/char/drm/drm_irq.c within the function drm_locked_tasklet_func(). The lock-taking logic uses a non-interrupt-blocking spinlock to implement the manipulations needed to take the lock. This semantic would be safe if all attempts to use the spinlock only happen from process context. However this buffer swap happens from softirq context which is really a form of interrupt context. Thus we have an unsafe situation, in that drm_locked_tasklet_func() can block on a spinlock already taken by a thread in process context which will never get scheduled again because of the blocked softirq tasklet. This wedges the kernel hard. To trigger this bug, run a dual-head cloned mode configuration which uses the i915 drm, then execute an opengl application which synchronizes buffer swaps against the vertical sync interrupt. In my testing, a lockup always results after running anywhere from 5 minutes to an hour and a half. I believe dual-head is needed to really trigger the problem because then the vertical sync interrupt handling is no longer predictable (due to being interrupt-sourced from two different heads running at different speeds). This raises the probability of the tasklet trying to run while the userspace DRI is doing things to the GPU (and manipulating the DRM lock). The fix is to change the relevant spinlock semantics to be the interrupt-blocking form. After this change I am no longer able to trigger the lockup; the longest test run so far was 20 hours (test stopped after that point). Note: I have examined the places where this spinlock is being employed; all are reasonably short bounded sequences and should be suitable for interrupts being blocked without impacting overall kernel interrupt response latency. Signed-off-by: Mike Isely Signed-off-by: Dave Airlie commit a978b30af3bab0dd9af9350eeda25e76123fa28e Author: Linus Torvalds Date: Sun Mar 16 16:32:14 2008 -0700 Linux 2.6.25-rc6 commit 69d1d523cc961b6f3c2fe313694263fc81ada231 Merge: 9a9e0d6... 56ee0cf... Author: Linus Torvalds Date: Sun Mar 16 10:48:23 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6 * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6: [PARISC] make ptr_to_pide() static [PARISC] head.S: section mismatch fixes [PARISC] add back Crestone Peak cpu [PARISC] futex: special case cmpxchg NULL in kernel space [PARISC] clean up show_stack [PARISC] add pa8900 CPUs to hardware inventory [PARISC] clean up include/asm-parisc/elf.h [PARISC] move defconfig to arch/parisc/configs/ [PARISC] add back AD1889 MAINTAINERS entry [PARISC] pdc_console: fix bizarre panic on boot [PARISC] dump_stack in show_regs [PARISC] pdc_stable: fix compile errors [PARISC] remove unused pdc_iodc_printf function [PARISC] bump __NR_syscalls [PARISC] unbreak pgalloc.h [PARISC] move VMALLOC_* definitions to fixmap.h [PARISC] wire up timerfd syscalls [PARISC] remove old timerfd syscall commit 56ee0cfd095eab246c0ecd4398c4f30a546663f7 Author: FUJITA Tomonori Date: Mon Mar 10 20:43:24 2008 +0900 [PARISC] make ptr_to_pide() static Signed-off-by: FUJITA Tomonori Signed-off-by: Kyle McMartin commit 0c634cc6299b55279fa2d3a7a5964ae45a642498 Author: Helge Deller Date: Wed Dec 26 18:07:01 2007 +0100 [PARISC] head.S: section mismatch fixes - move boot_args[] into the init section - move $global$ into the read_mostly section - fix the following two section mismatches: WARNING: vmlinux.o(.text+0x9c): Section mismatch: reference to .init.text:start_kernel (between '$pgt_fill_loop' and '$is_pa20') WARNING: vmlinux.o(.text+0xa0): Section mismatch: reference to .init.text:start_kernel (between '$pgt_fill_loop' and '$is_pa20') Signed-off-by: Helge Deller SIgned-off-by: Kyle McMartin commit ab86adb41f5afd75555aad907488f8f26138c549 Author: Kyle McMartin Date: Sat Mar 1 11:40:43 2008 -0800 [PARISC] add back Crestone Peak cpu Crestone Peak Slow is the 800MHz PA-8800 cpu in the C8000. 0x88B is probably the Crestone Peak Fast. Signed-off-by: Kyle McMartin commit c20a84c91048c76c1379011c96b1a5cee5c7d9a0 Author: Kyle McMartin Date: Sat Mar 1 10:25:52 2008 -0800 [PARISC] futex: special case cmpxchg NULL in kernel space Commit a0c1e9073ef7428a14309cba010633a6cd6719ea added code to futex.c to detect whether futex_atomic_cmpxchg_inatomic was implemented at run time: + curval = cmpxchg_futex_value_locked(NULL, 0, 0); + if (curval == -EFAULT) + futex_cmpxchg_enabled = 1; This is bogus on parisc, since page zero in kernel virtual space is the gateway page for syscall entry, and should not be read from the kernel. (That, and we really don't like the kernel faulting on its own address space...) Signed-off-by: Kyle McMartin commit dc39455e7948ec9bc5f3f2dced5c2f5ac8a8dfd9 Author: Kyle McMartin Date: Sat Mar 1 10:30:19 2008 -0800 [PARISC] clean up show_stack When we show_regs, we obviously have a struct pt_regs of the calling frame. Use these in show_stack so we don't have the entire bogus call trace up to the show_stack call. Signed-off-by: Kyle McMartin commit b23f5baab393a36ea560182fc9f9005d47a15050 Author: James Bottomley Date: Wed Feb 20 15:53:02 2008 -0600 [PARISC] add pa8900 CPUs to hardware inventory This patch adds the known pa8900 CPUs to the inventory list and removes the Crestone Peak one which apparently never escaped into the wild. Signed-off-by: James Bottomley Signed-off-by: Kyle McMartin commit fd5d3f6a32984ea6cd551030b82fb44a43197ba0 Author: Randolph Chung Date: Sun Feb 24 10:44:21 2008 -0800 [PARISC] clean up include/asm-parisc/elf.h Cleanup some cruft. No functionality changes. Signed-off-by: Randolph Chung Signed-off-by: Kyle McMartin commit c04f7ae2dab9f934a41901b093b6b928f11ccd56 Author: Adrian Bunk Date: Tue Feb 26 21:55:17 2008 +0200 [PARISC] move defconfig to arch/parisc/configs/ This patch moves the default parisc defconfig to arch/parisc/configs/generic_defconfig where it belongs and selects it as the default defconfig through KBUILD_DEFCONFIG. Signed-off-by: Adrian Bunk Signed-off-by: Kyle McMartin commit 2f39d51981e20d4c81d9b2d374ae823f591c6407 Author: Thibaut VARENE Date: Wed Feb 20 21:05:56 2008 +0100 [PARISC] add back AD1889 MAINTAINERS entry Signed-off-by: Thibaut VARENE Signed-off-by: Kyle McMartin commit ef1afd4d79f0479960ff36bb5fe6ec6eba1ebff2 Author: Kyle McMartin Date: Mon Feb 18 23:34:34 2008 -0800 [PARISC] pdc_console: fix bizarre panic on boot Commit 721fdf34167580ff98263c74cead8871d76936e6 introduced a subtle bug by accidently removing the "static" from iodc_dbuf. This resulted in, what appeared to be, a trap without *current set to a task. Probably the result of a trap in real mode while calling firmware. Also do other misc clean ups. Since the only input from firmware is non blocking, share iodc_dbuf between input and output, and spinlock the only callers. Signed-off-by: Kyle McMartin commit d0347b49c9a877a33c59f80de1a9dbabd5244205 Author: Kyle McMartin Date: Mon Feb 18 23:26:46 2008 -0800 [PARISC] dump_stack in show_regs Originally, show_stack was used in BUG() output. However, a recent commit changed it to print register state (no idea what that's supposed to help, really...) and parisc was missing a backtrace because of it. Signed-off-by: Kyle McMartin commit ff451d70593040df1a7c3df80a38e9ce530e12e0 Author: Joel Soete Date: Mon Feb 18 18:26:11 2008 -0800 [PARISC] pdc_stable: fix compile errors Signed-off-by: Joel Soete Signed-off-by: Kyle McMartin commit 179183bf1fcff3830f0c05058ec0fc4d0878c67c Author: Kyle McMartin Date: Mon Feb 18 14:26:41 2008 -0800 [PARISC] remove unused pdc_iodc_printf function Signed-off-by: Kyle McMartin commit e2be75ae21ea13ca19d4f2c3ff5a8df3f0e6c38e Author: Kyle McMartin Date: Mon Feb 18 14:21:17 2008 -0800 [PARISC] bump __NR_syscalls oops, forgot this in the previous commit. Signed-off-by: Kyle McMartin commit 9aa150b8d8af2532b6ce9ea36374cb997ac55807 Author: Kyle McMartin Date: Mon Feb 18 14:16:26 2008 -0800 [PARISC] unbreak pgalloc.h Commit 2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4 broke the compile rather spectacularly. Fix code errors. Signed-off-by: Kyle McMartin commit d912e1dc8bb5718c3603beb43d0770dac0271374 Author: Kyle McMartin Date: Mon Feb 18 14:13:43 2008 -0800 [PARISC] move VMALLOC_* definitions to fixmap.h They make way more sense here, really... Signed-off-by: Kyle McMartin commit ff80c66ab637df825122558d1f3f3cbdd830f962 Author: Kyle McMartin Date: Mon Feb 18 14:00:18 2008 -0800 [PARISC] wire up timerfd syscalls Signed-off-by: Kyle McMartin commit 0cb845ec3719c4cc13cedb3f86002c37c50aff0a Author: Kyle McMartin Date: Mon Feb 18 13:57:26 2008 -0800 [PARISC] remove old timerfd syscall Signed-off-by: Kyle McMartin commit 9a9e0d685553af76cb6ae2af93cca4913e7fcd47 Author: Linus Torvalds Date: Sat Mar 15 11:53:32 2008 -0700 ACPI: Remove ACPI_CUSTOM_DSDT_INITRD option This essentially reverts commit 71fc47a9adf8ee89e5c96a47222915c5485ac437 ("ACPI: basic initramfs DSDT override support"), because the code simply isn't ready. It did ugly things to the init sequence to populate the rootfs image early, but that just ended up showing other problems with the whole approach. The fact is, the VFS layer simply isn't initialized this early, and the relevant ACPI code should either run much later, or this shouldn't be done at all. For 2.6.25, we'll just pick the latter option. We can revisit this concept later if necessary. Cc: Dave Hansen Cc: Tilman Schmidt Cc: Andrew Morton Cc: Thomas Renninger Cc: Eric Piel Cc: Len Brown Cc: Christoph Hellwig Cc: Markus Gaugusch Signed-off-by: Linus Torvalds commit ce636452343af0522d2666157dab9c2096f4f996 Author: Roel Kluin <12o3l@tiscali.nl> Date: Sat Mar 15 16:00:38 2008 +0100 tifm_sd: DATA_CARRY is not boolean in tifm_sd_transfer_data() DATA_CARRY is not boolean Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Pierre Ossman Signed-off-by: Linus Torvalds commit afbf331ed1252c85753ac6790356c11e171f3d0b Merge: 6a6029b... f1dd9c3... Author: Linus Torvalds Date: Sat Mar 15 09:21:04 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: [NET]: Fix tbench regression in 2.6.25-rc1 commit 6a6029b8cefe0ca7e82f27f3904dbedba3de4e06 Author: Ingo Molnar Date: Fri Mar 14 22:17:08 2008 +0100 sched: simplify sched_slice() Use the existing calc_delta_mine() calculation for sched_slice(). This saves a divide and simplifies the code because we share it with the other /cfs_rq->load users. It also improves code size: text data bss dec hex filename 42659 2740 144 45543 b1e7 sched.o.before 42093 2740 144 44977 afb1 sched.o.after Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra commit e22ecef1d2658ba54ed7d3fdb5d60829fb434c23 Author: Ingo Molnar Date: Fri Mar 14 22:16:08 2008 +0100 sched: fix fair sleepers Fair sleepers need to scale their latency target down by runqueue weight. Otherwise busy systems will gain ever larger sleep bonus. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra commit aa2ac25229cd4d0280f6174c42712744ad61b140 Author: Peter Zijlstra Date: Fri Mar 14 21:12:12 2008 +0100 sched: fix overload performance: buddy wakeups Currently we schedule to the leftmost task in the runqueue. When the runtimes are very short because of some server/client ping-pong, especially in over-saturated workloads, this will cycle through all tasks trashing the cache. Reduce cache trashing by keeping dependent tasks together by running newly woken tasks first. However, by not running the leftmost task first we could starve tasks because the wakee can gain unlimited runtime. Therefore we only run the wakee if its within a small (wakeup_granularity) window of the leftmost task. This preserves fairness, but does alternate server/client task groups. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 27d117266097101dcf79c4576903cdcdd0eabffc Author: Ingo Molnar Date: Fri Mar 14 22:20:01 2008 +0100 sched: fix calc_delta_mine() lw->weight can be 0 for a short time during bootup. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra commit e89996ae3f9e88d4fd75751a15c10b19d197e702 Author: Ingo Molnar Date: Fri Mar 14 23:48:28 2008 +0100 sched: fix update_load_add()/sub() Clear the cached inverse value when updating load. This is needed for calc_delta_mine() to work correctly when using the rq load. Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra commit 3fe69747dab906cd6a8523230276a9820d6a514f Author: Peter Zijlstra Date: Fri Mar 14 20:55:51 2008 +0100 sched: min_vruntime fix Current min_vruntime tracking is incorrect and will cause serious problems when we don't run the leftmost task for some reason. min_vruntime does two things; 1) it's used to determine a forward direction when the u64 vruntime wraps, 2) it's used to track the leftmost vruntime to position newly enqueued tasks from. The current logic advances min_vruntime whenever the current task's vruntime advance. Because the current task may pass the leftmost task still waiting we're failing the second goal. This causes new tasks to be placed too far ahead and thus penalizes their runtime. Fix this by making min_vruntime the min_vruntime of the waiting tasks by tracking it in enqueue/dequeue, and compare against current's vruntime to obtain the absolute minimum when placing new tasks. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 0e1f34833bd9170ccc93ab759e48e695917fa48f Author: Hiroshi Shimamoto Date: Mon Mar 10 11:01:20 2008 -0700 sched: fix race in schedule() Fix a hard to trigger crash seen in the -rt kernel that also affects the vanilla scheduler. There is a race condition between schedule() and some dequeue/enqueue functions; rt_mutex_setprio(), __setscheduler() and sched_move_task(). When scheduling to idle, idle_balance() is called to pull tasks from other busy processor. It might drop the rq lock. It means that those 3 functions encounter on_rq=0 and running=1. The current task should be put when running. Here is a possible scenario: CPU0 CPU1 | schedule() | ->deactivate_task() | ->idle_balance() | -->load_balance_newidle() rt_mutex_setprio() | | --->double_lock_balance() *get lock *rel lock * on_rq=0, ruuning=1 | * sched_class is changed | *rel lock *get lock : | : ->put_prev_task_rt() ->pick_next_task_fair() => panic The current process of CPU1(P1) is scheduling. Deactivated P1, and the scheduler looks for another process on other CPU's runqueue because CPU1 will be idle. idle_balance(), load_balance_newidle() and double_lock_balance() are called and double_lock_balance() could drop the rq lock. On the other hand, CPU0 is trying to boost the priority of P1. The result of boosting only P1's prio and sched_class are changed to RT. The sched entities of P1 and P1's group are never put. It makes cfs_rq invalid, because the cfs_rq has curr and no leaf, but pick_next_task_fair() is called, then the kernel panics. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 1b96f8955aaeeb05f7fb7ff548aa12415fbf3904 Author: Sven Schnelle Date: Mon Mar 10 22:50:04 2008 +0100 [SCSI] gdth: Allocate sense_buffer to prevent NULL pointer dereference Fix NULL pointer dereference during execution of Internal commands, where gdth only allocates scp, but not scp->sense_buffer. The rest of the code assumes that sense_buffer is allocated, which leads to a kernel oops e.g. on reboot (during cache flush). Signed-off-by: Sven Schnelle Signed-off-by: James Bottomley commit 4faa8496650f9417189dacce8f933e8ec61dc032 Merge: b663c6f... f5101d5... Author: Linus Torvalds Date: Fri Mar 14 16:49:41 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: firewire: fw-ohci: shut up false compiler warning on PPC32 firewire: fw-ohci: use dma_alloc_coherent for ar_buffer ieee1394: sbp2: fix for SYM13FW500 bridge (Datafab disk) firewire: fw-sbp2: fix for SYM13FW500 bridge (Datafab disk) firewire: update Kconfig help text firewire: warn on fatal condition in topology code firewire: fw-sbp2: set single-phase retry_limit firewire: fw-ohci: Apple UniNorth 1st generation support firewire: fw-ohci: PPC PMac platform code firewire: endianess annotations firewire: endianess fix commit b663c6fd98c9cf586279db03cec3257c413efd00 Author: J. Bruce Fields Date: Fri Mar 14 19:37:11 2008 -0400 nfsd: fix oops on access from high-numbered ports This bug was always here, but before my commit 6fa02839bf9412e18e77 ("recheck for secure ports in fh_verify"), it could only be triggered by failure of a kmalloc(). After that commit it could be triggered by a client making a request from a non-reserved port for access to an export marked "secure". (Exports are "secure" by default.) The result is a struct svc_export with a reference count one too low, resulting in likely oopses next time the export is accessed. The reference counting here is not straightforward; a later patch will clean up fh_verify(). Thanks to Lukas Hejtmanek for the bug report and followup. Signed-off-by: J. Bruce Fields Cc: Lukas Hejtmanek Signed-off-by: Linus Torvalds commit 8b1327f6ed957030a64ccdb17131955bfea2d3fe Author: Steve French Date: Fri Mar 14 22:37:16 2008 +0000 [CIFS] file create with acl support enabled is slow Shirish Pargaonkar noted: With cifsacl mount option, when a file is created on the Windows server, exclusive oplock is broken right away because the get cifs acl code again opens the file to obtain security descriptor. The client does not have the newly created file handle or inode in any of its lists yet so it does not respond to oplock break and server waits for its duration and then responds to the second open. This slows down file creation signficantly. The fix is to pass the file descriptor to the get cifsacl code wherever available so that get cifs acl code does not send second open (NT Create ANDX) and oplock is not broken. CC: Shirish Pargaonkar Signed-off-by: Steve French commit 4d3995b14ba7abcdd475d17b8751db55d8a95b9e Author: nickcheng Date: Tue Mar 4 17:49:59 2008 +0800 [SCSI] arcmsr: fix iounmap error for Type B adapter The Type B Adapter teardown does iounmap on pointers subtracted by a constant offset. Since the offset is in bytes, we need the pointers to be of type void * not uint32_t * so the subtraction is done in the correct units and we iounmap the correct area. Signed-off-by: Nick Cheng Signed-off-by: James Bottomley commit ebe8912be214662c8289977fb416c1f015df4a0b Merge: 5053144... dba92d3... Author: Steve French Date: Fri Mar 14 19:29:18 2008 +0000 Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 50531444fac593c8c8e3ff2e41944d9507bb4665 Author: Steve French Date: Fri Mar 14 19:21:31 2008 +0000 [CIFS] Fix mtime on cp -p when file data cached but written out too late Kukks noticed that cp -p can write out file data too late, after the timestamp is already set. This was introduced as an unintentional sideeffect of the change in an earlier patch (see below) which fixed some delayed return code propagation. cea218054ad277d6c126890213afde07b4eb1602 Author: Jeff Layton Date: Tue Nov 20 23:19:03 2007 +0000 Acked-by: Shirish Pargaonkar Acked-by: Jeff Layton Signed-off-by: Steve French commit 9b89ca7a3847c0d5b1e86e83f4860a866f28a89b Author: Marc Dionne Date: Fri Mar 14 13:11:29 2008 +0000 struct export_operations: adjust comments to match current members The comments in the definition of struct export_operations don't match the current members. Add a comment for the 2 new functions and remove 2 comments for unused ones. Signed-off-by: Marc Dionne Acked-by: David Howells Acked-by: Christoph Hellwig Signed-off-by: Linus Torvalds commit 0e1763f530af71bd82e58e407991a9ded6aae73e Author: Ping Cheng Date: Thu Mar 13 16:46:46 2008 -0400 Input: wacom - add support for Bamboo1, BambooFun, and Cintiq 12WX Add support for new wacom tablets - Bamboo1, BambooFun, and Cintiq 12WX Signed-off-by: Ping Cheng Signed-off-by: Dmitry Torokhov commit 75d08c78931aa3992791cc4a5615ed1dd61eea92 Author: Jiri Kosina Date: Thu Mar 13 16:13:59 2008 -0400 Input: document i8042.noloop Document 'noloop' kernel parameter of i8042 controller driver. Pointed out in #10236. Signed-off-by: Jiri Kosina Signed-off-by: Dmitry Torokhov commit e32f7ee876ebbdec73e4c19dce559a20c2ab840e Author: Samuel Thibault Date: Mon Mar 10 03:08:45 2008 -0700 Input: add keyboard notifier documentation Document the keyboard notifier. Signed-off-by: Samuel Thibault Signed-off-by: Andrew Morton Signed-off-by: Jiri Kosina SIgned-off-by: Dmitry Torokhov commit 05be5fc4c75fd91c9601b5e697f94112f0f6482b Author: Andrew Morton Date: Mon Mar 10 03:08:40 2008 -0700 Input: ads7846 - fix uninitialized var warning drivers/input/touchscreen/ads7846.c: In function 'ads7846_read12_ser': drivers/input/touchscreen/ads7846.c:216: warning: 'sample' may be used uninitialized in this function Signed-off-by: Andrew Morton Signed-off-by: Jiri Kosina Signed-off-by: Dmitry Torokhov commit f1782447125c167ca02babb9a2af3853895e411c Author: Thomas Bogendoerfer Date: Wed Mar 12 14:58:16 2008 -0400 Input: i8042 - add SNI RM support SNI RM200 don't have the i8042 controller connected to the EISA bus, but have a second address range for onboard devices. This patch handles the two possible address ranges for the i8042 on SNI RMs. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Dmitry Torokhov commit 2a2dcd65e232eafd9fb6da1250f83adb57787b42 Author: Jiri Kosina Date: Mon Mar 10 03:08:54 2008 -0700 Input: i8042 - add Lenovo 3000 N100 to nomux blacklist Lenovo 3000 N100 needs entry in nomux blacklist. Reported-by: Christopher Desjardins Signed-off-by: Andrew Morton Signed-off-by: Jiri Kosina Signed-off-by: Dmitry Torokhov commit d38501a379b7827a9bf916ba79d53f66c4ca7caa Author: Roland Dreier Date: Mon Mar 10 03:08:43 2008 -0700 Input: i8042 - fix warning on non-x86 builds Commit c18bab80 ("Input: i8042 - non-x86 build fix") introduced the following warning on non-x86 builds: drivers/input/serio/i8042.c: In function 'i8042_probe': drivers/input/serio/i8042.c:1154: warning: unused variable 'param' Fix this by moving the parameter variable declaration into the #ifdef too. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Jiri Kosina Signed-off-by: Dmitry Torokhov commit 3c514387bd24c41a0cbb434f59e4727e5829cc8e Author: Yoichi Yuasa Date: Fri Mar 14 11:52:37 2008 -0400 Input: cobalt_btns - assorted fixes - fix compile errors (keymap is in bdev, not pdev) - cdev is no more (must use dev.parent) - update copiright notice Signed-off-by: Yoichi Yuasa Signed-off-by: Dmitry Torokhov commit 6dba1b67601685ff00ef5d08cc4f11db00cff598 Author: Paul Mundt Date: Fri Mar 14 17:21:09 2008 +0900 sh: Fix more user header breakage from sh64 integration. posix_types.h and byteorder.h were sticking purely with the Kconfig symbols, which doesn't work when we scrub the headers for user use. Fixes a very unhelpful build error in current klibc. Signed-off-by: Paul Mundt commit 66b5bf4216631628788bc48b028c203e8538f43e Author: Paul Mundt Date: Fri Mar 14 17:19:38 2008 +0900 sh: Fix uImage build error. The printf string was broken in the same way the zImage one was before, though the uImage managed to avoid getting fixed at that time. Do so now. Signed-off-by: Paul Mundt commit 71e93d15612c61c2e26a169567becf088e71b8ff Author: Venki Pallipadi Date: Thu Mar 13 17:18:19 2008 -0700 ACPI: lockdep warning on boot, 2.6.25-rc5 This avoids the harmless WARNING by lockdep in acpi_processor_idle(). The reason for WARNING is because at the depth of idle handling code, some of the idle handlers disable interrupts, some times, while returning from the idle handler. After return, acpi_processor_idle and few other routines in the file did an unconditional local_irq_enable(). With LOCKDEP, enabling irq when it is already enabled generates the below WARNING. > > [ 0.593038] ------------[ cut here ]------------ > > [ 0.593267] WARNING: at kernel/lockdep.c:2035 trace_hardirqs_on+0xa0/0x115() > > [ 0.593596] Modules linked in: > > [ 0.593756] Pid: 0, comm: swapper Not tainted 2.6.25-rc5 #8 > > [ 0.594017] > > [ 0.594017] Call Trace: > > [ 0.594216] [] warn_on_slowpath+0x58/0x6b > > [ 0.594495] [] ? _spin_unlock_irqrestore+0x38/0x47 > > [ 0.594809] [] ? acpi_os_release_lock+0x9/0xb > > [ 0.595103] [] ? acpi_set_register+0x161/0x173 > > [ 0.595401] [] ? acpi_processor_idle+0x1de/0x546 > > [ 0.595706] [] ? default_idle+0x0/0x73 > > [ 0.595970] [] trace_hardirqs_on+0xa0/0x115 > > [ 0.596049] [] ? acpi_processor_idle+0x0/0x546 > > [ 0.596346] [] acpi_processor_idle+0x1de/0x546 > > [ 0.596642] [] ? default_idle+0x0/0x73 > > [ 0.596912] [] ? acpi_processor_idle+0x0/0x546 > > [ 0.597209] [] ? default_idle+0x0/0x73 > > [ 0.597472] [] cpu_idle+0xa7/0xd1 > > [ 0.597717] [] rest_init+0x55/0x57 > > [ 0.597957] [] start_kernel+0x29d/0x2a8 > > [ 0.598215] [] _sinittext+0x1da/0x1e1 > > [ 0.598464] > > [ 0.598546] ---[ end trace 778e504de7e3b1e3 ]--- Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit f5101d58afc528c1d0c863fe03cd2d607766c4a1 Author: Stefan Richter Date: Fri Mar 14 00:27:49 2008 +0100 firewire: fw-ohci: shut up false compiler warning on PPC32 Shut up "may be used uninitialised in this function" warnings due to PPC32's implementation of dma_alloc_coherent(). Signed-off-by: Stefan Richter commit bde1709aaa98f5004ab1580842c422be18eb4bc3 Author: Jarod Wilson Date: Wed Mar 12 17:43:26 2008 -0400 firewire: fw-ohci: use dma_alloc_coherent for ar_buffer Currently, we do nothing to guarantee we have a consistent DMA buffer for asynchronous receive packets. Rather than doing several sync's following a dma_map_single() to get consistent buffers, just switch to using dma_alloc_coherent(). Resolves constant buffer failures on my own x86_64 laptop w/4GB of RAM and likely to fix a number of other failures witnessed on x86_64 systems with 4GB of RAM or more. Signed-off-by: Jarod Wilson Signed-off-by: Stefan Richter commit 6e45ef4c7aeefbf97df748866cd1b24f73b86160 Author: Stefan Richter Date: Tue Mar 11 22:32:52 2008 +0100 ieee1394: sbp2: fix for SYM13FW500 bridge (Datafab disk) Fix I/O errors due to SYM13FW500's inability to handle larger request sizes. Reported by Piergiorgio Sartor for firewire-sbp2 in https://bugzilla.redhat.com/show_bug.cgi?id=436879 This fix is necessary because sbp2's default request size limit has been lifted since 2.6.25-rc1. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit 2aa9ff7fc5bc41d4b77c2da02086259a86f3d472 Author: Stefan Richter Date: Tue Mar 11 22:32:03 2008 +0100 firewire: fw-sbp2: fix for SYM13FW500 bridge (Datafab disk) Fix I/O errors due to SYM13FW500's inability to handle larger request sizes. Reported by Piergiorgio Sartor in https://bugzilla.redhat.com/show_bug.cgi?id=436879 Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit 0a8da30dc7bd6828f42d9f0585367731f634a0c8 Author: Stefan Richter Date: Sun Mar 9 00:27:20 2008 +0100 firewire: update Kconfig help text Remove some less necessary information, point out that video1394 and dv1394 should be blacklisted along with ohci1394. Signed-off-by: Stefan Richter commit a2cdebe33f4c40a1bc7f66522303df89d5026cb4 Author: Stefan Richter Date: Sat Mar 8 22:38:16 2008 +0100 firewire: warn on fatal condition in topology code If this ever happens to anybody, we want to have it in his log. Signed-off-by: Stefan Richter commit 51f9dbef5be41f3ff6000c874741a3a357f9bad7 Author: Jarod Wilson Date: Fri Mar 7 01:43:01 2008 -0500 firewire: fw-sbp2: set single-phase retry_limit Per the SBP-2 specification, all SBP-2 target devices must have a BUSY_TIMEOUT register. Per the 1394-1995 specification, the retry_limt portion of the register should be set to 0x0 initially, and set on the target by a logged in initiator (i.e., a Linux host w/firewire controller(s)). Well, as it turns out, lots of devices these days have actually moved on to starting to implement SBP-3 compliance, which says that retry_limit should default to 0xf instead (yes, SBP-3 stomps directly on 1394-1995, oops). Prior to this change, the firewire driver stack didn't touch retry_limit, and any SBP-3 compliant device worked fine, while SBP-2 compliant ones were unable to retransmit when the host returned an ack_busy_X, which resulted in stalled out I/O, eventually causing the SCSI layer to give up and offline the device. The simple fix is for us to set retry_limit to 0xf in the register for all devices (which actually matches what the old ieee1394 stack did). Prior to this change, a hard disk behind an SBP-2 Prolific PL-3507 bridge chip would routinely encounter buffer I/O errors and wind up offlined by the SCSI layer. With this change, I've encountered zero I/O failures moving tens of GB of data around. Signed-off-by: Jarod Wilson Signed-off-by: Stefan Richter commit 11bf20ad028880a56689f086bfbabfd88b2af38b Author: Stefan Richter Date: Sat Mar 1 02:47:15 2008 +0100 firewire: fw-ohci: Apple UniNorth 1st generation support Mostly copied from ohci1394.c. Necessary for some older Macs, e.g. PowerBook G3 Pismo and early PowerBook G4 Titanium. Signed-off-by: Stefan Richter commit ea8d006b91ac58ec5a0862d09e0b629db399517f Author: Stefan Richter Date: Sat Mar 1 02:42:56 2008 +0100 firewire: fw-ohci: PPC PMac platform code Copied from ohci1394.c. This code is necessary to prevent machine check exceptions when reloading or resuming the driver. Tested on a 1st generation PowerBook G4 Titanium, which also needs the pci_probe() hunk. Signed-off-by: Stefan Richter I was able to reproduce the system exception on resume with a 3rd-gen Titanium PowerBook G4 667, and this patch does let the system resume successfully now. Not quite clear if there was possibly an updated version coming using pci_enable_device() instead of the pair of pmac_call_feature() calls, but either way, this is a definite must-have, at least for older ppc macs -- my Aluminum PowerBook G4/1.67 suspends and resumes without this patch just fine. Signed-off-by: Jarod Wilson Acked-by: Benjamin Herrenschmidt commit efbf390a2d940315efff174455243e61f23c03b9 Author: Stefan Richter Date: Sat Feb 23 12:24:57 2008 +0100 firewire: endianess annotations Kills warnings from 'make C=1 CHECKFLAGS="-D__CHECK_ENDIAN__" modules': drivers/firewire/fw-transaction.c:771:10: warning: incorrect type in assignment (different base types) drivers/firewire/fw-transaction.c:771:10: expected unsigned int [unsigned] [usertype] drivers/firewire/fw-transaction.c:771:10: got restricted unsigned int [usertype] drivers/firewire/fw-transaction.h:93:10: warning: incorrect type in assignment (different base types) drivers/firewire/fw-transaction.h:93:10: expected unsigned int [unsigned] [usertype] drivers/firewire/fw-transaction.h:93:10: got restricted unsigned int [usertype] drivers/firewire/fw-ohci.c:1490:8: warning: restricted degrades to integer drivers/firewire/fw-ohci.c:1490:35: warning: restricted degrades to integer drivers/firewire/fw-ohci.c:1516:5: warning: cast to restricted type Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit 25df287dc7434edf8dda10ce85e43f88e834a494 Author: Stefan Richter Date: Sat Feb 23 12:24:17 2008 +0100 firewire: endianess fix The generation of incoming requests was filled in in wrong byte order on machines with big endian CPU. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit 957ecd7dc835d40d110e8c8f460d1956420f86b1 Author: Haavard Skinnemoen Date: Thu Mar 13 23:52:13 2008 +0100 avr32: Build fix for CONFIG_BUG=n Don't include the BUG trap handling code when CONFIG_BUG is not set. This fixes allnoconfig. Signed-off-by: Haavard Skinnemoen commit e92e63aabacf049fd64477e5e29eae0375d8d064 Author: Boaz Harrosh Date: Wed Mar 12 19:20:09 2008 +0200 [SCSI] isd200: Allocate sense_buffer for hacked up scsi_cmnd Since the separation of sense_buffer from scsi_cmnd, Drivers that hack their own struct scsi_cmnd like here isd200, must also take care of their own sense_buffer. Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 4b6f5b3a993cbe34b4280f252bccc76967c185c8 Author: Mike Christie Date: Tue Mar 11 00:36:51 2008 -0500 [SCSI] fix bsg queue oops with iscsi logout Delay bsg unregistration, because we want to wait until all the request/cmds have released their reference. Signed-off-by: Mike Christie Acked-by: FUJITA Tomonori Signed-off-by: James Bottomley commit dba92d3bc49c036056a48661d2d8fefe4c78375a Merge: b1881fb... 10313cb... Author: Linus Torvalds Date: Thu Mar 13 13:25:32 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IPoIB: Allocate priv->tx_ring with vmalloc() IPoIB/cm: Set tx_wr.num_sge in connected mode post_send() IPoIB: Don't drop multicast sends when they can be queued IB/ipath: Reset the retry counter for RDMA_READ_RESPONSE_MIDDLE packets IB/ipath: Fix error completion put on send CQ instead of recv CQ IB/ipath: Fix RC QP initialization IB/ipath: Fix potentially wrong RNR retry counter returned in ipath_query_qp() IB/ipath: Fix IB compliance problems with link state vs physical state commit b1881fb148a67a5b694ac9701672ce6b359abfa4 Merge: ebe168d... 3280ab3... Author: Linus Torvalds Date: Thu Mar 13 13:17:25 2008 -0700 Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: async_tx: checkpatch says s/__FUNCTION__/__func__/g iop-adma.c: replace remaining __FUNCTION__ occurrences fsldma: Add a completed cookie updated action in DMA finish interrupt. fsldma: Add device_prep_dma_interrupt support to fsldma.c dmaengine: Fix a bug about BUG_ON() on DMA engine capability DMA_INTERRUPT. fsldma: Fix fsldma.c warning messages when it's compiled under PPC64. commit ebe168d52c6255cfaf701b488e9e9ed0f548da19 Merge: b15a389... cc74d96... Author: Linus Torvalds Date: Thu Mar 13 13:16:22 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6: PCI: fix issue with busses registering multiple times in sysfs commit b15a3891c916f32a29832886a053a48be2741d4d Author: Jan Beulich Date: Thu Mar 13 09:13:30 2008 +0000 avoid endless loops in lib/swiotlb.c Commit 681cc5cd3efbeafca6386114070e0bfb5012e249 ("iommu sg merging: swiotlb: respect the segment boundary limits") introduced two possibilities for entering an endless loop in lib/swiotlb.c: - if max_slots is zero (possible if mask is ~0UL) - if the number of slots requested fits into a swiotlb segment, but is too large for the part of a segment which remains after considering offset_slots This fixes them Signed-off-by: Jan Beulich Cc: FUJITA Tomonori Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 96e31022a1b6e7cb173cbb3dce1fde7ba548860a Merge: f2005e1... 29ea517... Author: Linus Torvalds Date: Thu Mar 13 13:13:47 2008 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (32 commits) ACPI: thermal: show temperature in millidegree Celsius thermal: fix generic thermal I/F for hwmon acer-wmi: build depends on i8042 documentation: Move power-related files to Documentation/power/ ACPI: buffer array too short in drivers/acpi/system.c acer-wmi: Add DMI quirk for mail LED support on Acer Aspire 3610/ 5610 acer-wmi: Fix DSDT path in documentation acer-wmi: Make device detection error messages more descriptive laptops: move laptop-mode.txt to Documentation/laptops/ ACPICA: Warn if packages with invalid references are evaluated ACPI: add _PRT quirks to work around broken firmware Hibernation: Fix mark_nosave_pages() ACPI: Ignore _BQC object when registering backlight device ACPI: WMI: Clean up handling of spec violating data blocks acer-wmi: Don't warn if mail LED cannot be detected acer-wmi: Rename mail LED correctly & remove hardcoded colour ACPI: use ACPI_DEBUG_PRINT instead of printk in acpi_processor_hotplug_notify() ACPI: button: make real parent for input devices in device tree toshiba_acpi: Enable autoloading ACPI: EC: Handle IRQ storm on Acer laptops ... commit f2005e1777614b65d1970924ca1b61e4caccb0d3 Author: Jiri Slaby Date: Thu Mar 13 12:32:43 2008 -0700 block: floppy: fix rmmod lockup Floppy rmmod locks up when no such hardware was initialized, since there is nobody to wake the remove code up. Remove the completion, because release is called during platform_unregister anyway. Signed-off-by: Jiri Slaby Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd0e88e5174035d69204636289a21dc4c14238ec Author: Randy Dunlap Date: Thu Mar 13 12:32:43 2008 -0700 kernel-doc: set verbose mode via environment Honor the environment variable "KBUILD_VERBOSE=1" (as set by make V=1) to enable verbose mode in scripts/kernel-doc. Useful for getting more info and warnings from kernel-doc. Signed-off-by: Randy Dunlap Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd28841d2d0b1468b03288b331692769ad024b5e Author: FUJITA Tomonori Date: Thu Mar 13 12:32:40 2008 -0700 alpha: use iommu_is_span_boundary helper function iommu_is_span_boundary in lib/iommu-helper.c was exported for PARISC IOMMUs (commit 3715863aa142c4f4c5208f5f3e5e9bac06006d2f). Alpha's IOMMU can use it. This removes the check on the boundary size alignment because iommu_is_span_boundary does. Signed-off-by: FUJITA Tomonori Cc: Richard Henderson Acked-by: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9efda797d60adbbe77aaf33cda0dfee161ac712c Author: Jiri Slaby Date: Thu Mar 13 12:32:39 2008 -0700 char: riscom, fix rc_board indexing In riscom8_init_module, rc_board should be indexed by i, not by 0, otherwise the loop is useless. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2cfb8ce8c87802181ade74f5dadb3dded9bb4c7e Author: Jan Nikitenko Date: Thu Mar 13 12:32:39 2008 -0700 spi_bitbang: short transfer status fix SPI controller drivers return number of bytes actually transfered from bitbang->txrx_bufs() method. This updates handling of short transfers (where the transfer size is less than requested): - Even zero byte short transfers should report errors; - Include short transfers in the total of transferred bytes; - Use EREMOTEIO (like USB) not EMSGSIZE to report short transfers Short transfers don't normally mean invalid message sizes, but if the underlying controller driver needs to use EMSGSIZE it can still do so. [db: fix two more minor issues] Signed-off-by: Jan Nikitenko Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 40369e1cdb71287662213ae214842899e77a0544 Author: Jan Nikitenko Date: Thu Mar 13 12:32:38 2008 -0700 au1550_spi: fix prototype of irq handler Remove struct pt_regs *regs from prototype of au1550_spi_irq handler to avoid warning in request_irq(). Also fix comment type leadin. Signed-off-by: Jan Nikitenko Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 12d48739d0b5d96efe6b7d26107f5572c6215f4a Author: Yoshinori Sato Date: Thu Mar 13 12:32:37 2008 -0700 h8300: fix recent uaccess breakage Al Viro wrote: > > After that commit in asm-h8300/uaccess.h we have > > #define get_user(x, ptr) \ > ({ \ > int __gu_err = 0; \ > uint32_t __gu_val = 0; \ > ^^^^^^^^^^^^^^^^^ > switch (sizeof(*(ptr))) { \ > case 1: \ > case 2: \ > case 4: \ > __gu_val = *(ptr); \ > break; \ > case 8: \ > memcpy(&__gu_val, ptr, sizeof (*(ptr))); \ > ^^^^^^^^^^^^^^^^ > > which, of course, is FUBAR whenever we actually hit that case - memcpy of > 8 bytes into uint32_t is obviously wrong. Why don't we simply do Cc: Al Viro Signed-off-by: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb39380b8d683b55630ba5ba381f4e43e417420e Author: Marcelo Tosatti Date: Thu Mar 13 12:32:35 2008 -0700 pagemap: proper read error handling Fix pagemap_read() error handling by releasing acquired resources and checking for get_user_pages() partial failure. Signed-off-by: Marcelo Tosatti Acked-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b500ce8d24d1f14426643da5f6fada28c1f60533 Author: Ahmed S. Darwish Date: Thu Mar 13 12:32:34 2008 -0700 smackfs: do not trust `count' in inodes write()s Smackfs write() implementation does not put a higher bound on the number of bytes to copy from user-space. This may lead to a DOS attack if a malicious `count' field is given. Assure that given `count' is exactly the length needed for a /smack/load rule. In case of /smack/cipso where the length is relative, assure that `count' does not exceed the size needed for a buffer representing maximum possible number of CIPSO 2.2 categories. Signed-off-by: Ahmed S. Darwish Acked-by: Casey Schaufler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1682fe6de206bd1e937529cbb393915e5ea40b2c Author: Ivo van Doorn Date: Thu Mar 13 15:38:03 2008 +0100 rt2x00: Add suspend/resume handlers to rt2x00rfkill Add suspend/resume handlers to rt2x00rfkill to have it stop the input-polldev and prevent it from calling rt2x00 during suspend period. This could lead to a NULL pointer fault when rt2x00 suspended, but polldev send a request, because the csr_addr is NULL. Also don't let the rfkill allocation/registration block the initialization of the entire device. Just print a warning and continue as if nothing happened. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f50e4a8494a74bdbc0f86f1430a4cca2a4f28799 Author: Pavel Roskin Date: Wed Mar 12 16:13:31 2008 -0400 ath5k: disable irq handling in ath5k_hw_detach() Once ah has been freed, it may not be accessed. Set ATH_STAT_INVALID bit to make the interrupt handler return IRQ_NONE without accessing ah. This fixes oops on unload with CONFIG_DEBUG_SHIRQ enabled. Signed-off-by: Pavel Roskin Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 5abdc49d6e521126ed4c15e913a5c30f6dd95e6b Author: Harvey Harrison Date: Wed Mar 12 17:51:04 2008 +0100 b43: phy.c fix typo in register write Commit 61bca6eb85c863603d6054530e2f65c3b9aba85b b43: rewrite A PHY initialization has a typo, the result of the register read should be masked, not the register offset. Signed-off-by: Harvey Harrison Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit c1e889be18aff97e20853231531b79d79a984369 Author: Masakazu Mokuno Date: Wed Mar 12 16:41:11 2008 +0900 PS3: gelic: change the prefix of the net interface for wireless The gelic driver uses two net interfaces, one for ethernet and the other for wireless. They share same MAC address and use 'eth' prefix for the name. As udev uses the MAC address to check uniqueness, this is somewhat problematic. So change the prefix of the network interface name for the wireless so that udev can have an easy way to distinguish interfaces. Signed-off-by: Masakazu Mokuno Signed-off-by: John W. Linville commit aad4c7d3a641315519add159a80f73cce554e7cd Author: Masakazu Mokuno Date: Tue Mar 11 13:15:44 2008 +0900 PS3: gelic: ignore scan info from zero SSID beacons Some implementations of the hidden SSID APs emit beacons which have the zero length SSID information element instead of SSID padded by null (\0) characters. If the firmware of the PS3 wireless hardware meets these beacons, it abandons parsing IEs. Thus guest OSes get the invalid scan information for the AP. To work around this, ignore these scan informations from the list. Signed-off-by: Masakazu Mokuno Signed-off-by: John W. Linville commit 43557e15c22701f0b94e5f14a874fe02e814574e Author: Jan Slupski Date: Mon Mar 10 22:41:18 2008 -0700 prism54: support for 124a:4025 - another version of IOGear GWU513 802.11g Add support to p54usb driver for apparently another version of IOGear GWU513 802.11g USB network card that uses GW3887IK chipset and is recognized as "124a:4025 AirVast" by lsusb. Cc: Michael Wu Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 3280ab3e8815d60cea483d49b21261972e2785d6 Author: Dan Williams Date: Thu Mar 13 17:45:28 2008 -0700 async_tx: checkpatch says s/__FUNCTION__/__func__/g Signed-off-by: Dan Williams commit 3d9b525b69bc3302d8355e5f5cf081a856c211e0 Author: Harvey Harrison Date: Thu Mar 13 17:45:28 2008 -0700 iop-adma.c: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Dan Williams commit 9c98718e7371fa781043d5a2e70cecebec048091 Author: Zhang Wei Date: Thu Mar 13 17:45:28 2008 -0700 fsldma: Add a completed cookie updated action in DMA finish interrupt. The patch 'fsldma: do not cleanup descriptors in hardirq context' (commit 222ccf9ab838a1ca7163969fabd2cddc10403fb5) removed descriptors cleanup function to tasklet but the completed cookie do not updated. Thus, the DMA controller will get lots of duplicated transfer interrupts. Just make a completed cookie update in interrupt handler. And keep other cleanup jobs in tasklet function. Tested-by: Sebastian Siewior Signed-off-by: Zhang Wei Signed-off-by: Dan Williams commit 2187c269ad29510f1d65ec684133d1d3426d0eed Author: Zhang Wei Date: Thu Mar 13 17:45:28 2008 -0700 fsldma: Add device_prep_dma_interrupt support to fsldma.c This is a bug that I assigned DMA_INTERRUPT capability to fsldma but missing device_prep_dma_interrupt function. For a bug in dmaengine.c the driver passed BUG_ON() checking. The patch fixes it. Signed-off-by: Zhang Wei Signed-off-by: Dan Williams commit 9b941c6660bae673e27c207f1d20d98ef8ecd450 Author: Zhang Wei Date: Thu Mar 13 17:45:28 2008 -0700 dmaengine: Fix a bug about BUG_ON() on DMA engine capability DMA_INTERRUPT. The device->device_prep_dma_interrupt function is used by DMA_INTERRUPT capability, not DMA_ZERO_SUM. Signed-off-by: Zhang Wei Acked-by: Maciej Sosnowski Signed-off-by: Dan Williams commit 56822843ff99c88c778a614851328fcbb1503d10 Author: Zhang Wei Date: Thu Mar 13 10:45:27 2008 -0700 fsldma: Fix fsldma.c warning messages when it's compiled under PPC64. There are warning messages reported by Stephen Rothwell with ARCH=powerpc allmodconfig build: drivers/dma/fsldma.c: In function 'fsl_dma_prep_memcpy': drivers/dma/fsldma.c:439: warning: comparison of distinct pointer types lacks a cast drivers/dma/fsldma.c: In function 'fsl_chan_xfer_ld_queue': drivers/dma/fsldma.c:584: warning: format '%016llx' expects type 'long long unsigned int', but argument 4 has type 'dma_addr_t' drivers/dma/fsldma.c: In function 'fsl_dma_chan_do_interrupt': drivers/dma/fsldma.c:668: warning: format '%x' expects type 'unsigned int', but argument 5 has type 'dma_addr_t' drivers/dma/fsldma.c:684: warning: format '%016llx' expects type 'long long unsigned int', but argument 4 has type 'dma_addr_t' drivers/dma/fsldma.c:684: warning: format '%016llx' expects type 'long long unsigned int', but argument 5 has type 'dma_addr_t' drivers/dma/fsldma.c:701: warning: format '%02x' expects type 'unsigned int', but argument 4 has type 'dma_addr_t' drivers/dma/fsldma.c: In function 'fsl_dma_self_test': drivers/dma/fsldma.c:840: warning: format '%d' expects type 'int', but argument 5 has type 'size_t' drivers/dma/fsldma.c: In function 'of_fsl_dma_probe': drivers/dma/fsldma.c:1010: warning: format '%08x' expects type 'unsigned int', but argument 5 has type 'resource_size_t' This patch fixed the above warning messages. Signed-off-by: Zhang Wei Signed-off-by: Dan Williams commit cc74d96f47b0d916840f92092595e3be9731e047 Author: Greg Kroah-Hartman Date: Wed Mar 12 21:48:03 2008 -0700 PCI: fix issue with busses registering multiple times in sysfs PCI busses can be registered multiple times, so we need to detect if we have registered our bus structure in sysfs already. If so, don't do it again. Thanks to Guennadi Liakhovetski for reporting the problem, and to Linus for poking me to get me to believe that it was a real problem. Cc: Linus Torvalds Cc: Guennadi Liakhovetski Signed-off-by: Greg Kroah-Hartman commit 2b2d4e70031d910f3ddf4d5d2b8be6724f871549 Author: Paul Mundt Date: Thu Mar 13 19:51:06 2008 +0900 sh: Fix up the timer IRQ definition for SH7203. Signed-off-by: Paul Mundt commit 6c0602b8dd4b41c078b52ed8ea97023970781744 Author: Kieran Bingham Date: Thu Mar 13 19:43:07 2008 +0900 sh: Fix up the address error exception handler for SH-2. Presently the SH-2/SH-2A address error exception dispatch copies off the register state from the stack and skips over the first register, skewing the rest. Fix up the math here so that the proper register state is handed down to the exception handler itself. Signed-off-by: Kieran Bingham Signed-off-by: Paul Mundt commit 29ea5171cbd08a7ef37e543cbf02447033f0e289 Merge: b4de123... 5347112... Author: Len Brown Date: Thu Mar 13 01:59:53 2008 -0400 Merge branches 'release' and 'doc' into release commit b4de123a0bc4a3f0c90899864d51299628729952 Merge: c523aef... 3b5fee5... d399d13... 07d31ee... Author: Len Brown Date: Thu Mar 13 01:59:52 2008 -0400 Merge branches 'release', 'ejd', 'sony' and 'wmi' into release commit c523aef0f7284970463ebd77a54bca9069711d4a Merge: 160ff06... 3b34e52... c8dc9de... b5678a3... 7ce9573... 4db42c5... Author: Len Brown Date: Thu Mar 13 01:59:49 2008 -0400 Merge branches 'release', 'button-sysfs', 'misc', 'mismatch', 'randconfig' and 'toshiba' into release commit 160ff06b1848a01913611950b05963e3315f759b Merge: 1ca721c... 5e01276... Author: Len Brown Date: Thu Mar 13 01:59:46 2008 -0400 Merge branches 'release' and 'thermal' into release commit 1ca721cdb748ba72c47e9c661d54696db3cde796 Merge: 93d7446... d0ce46f... a82f711... 2c81ce4... 4af8e10... c8d16e2... 391df5d... 7c0ea45... Author: Len Brown Date: Thu Mar 13 01:59:45 2008 -0400 Merge branches 'release', 'bugzilla-8570', 'bugzilla-9966', 'bugzilla-9998', 'bugzilla-10100', 'bugzilla-10132', 'bugzilla-10138' and 'bugzilla-10206' into release commit f1dd9c379cac7d5a76259e7dffcd5f8edc697d17 Author: Zhang Yanmin Date: Wed Mar 12 22:52:37 2008 -0700 [NET]: Fix tbench regression in 2.6.25-rc1 Comparing with kernel 2.6.24, tbench result has regression with 2.6.25-rc1. 1) On 2 quad-core processor stoakley: 4%. 2) On 4 quad-core processor tigerton: more than 30%. bisect located below patch. b4ce92775c2e7ff9cf79cca4e0a19c8c5fd6287b is first bad commit commit b4ce92775c2e7ff9cf79cca4e0a19c8c5fd6287b Author: Herbert Xu Date: Tue Nov 13 21:33:32 2007 -0800 [IPV6]: Move nfheader_len into rt6_info The dst member nfheader_len is only used by IPv6. It's also currently creating a rather ugly alignment hole in struct dst. Therefore this patch moves it from there into struct rt6_info. Above patch changes the cache line alignment, especially member __refcnt. I did a testing by adding 2 unsigned long pading before lastuse, so the 3 members, lastuse/__refcnt/__use, are moved to next cache line. The performance is recovered. I created a patch to rearrange the members in struct dst_entry. With Eric and Valdis Kletnieks's suggestion, I made finer arrangement. 1) Move tclassid under ops in case CONFIG_NET_CLS_ROUTE=y. So sizeof(dst_entry)=200 no matter if CONFIG_NET_CLS_ROUTE=y/n. I tested many patches on my 16-core tigerton by moving tclassid to different place. It looks like tclassid could also have impact on performance. If moving tclassid before metrics, or just don't move tclassid, the performance isn't good. So I move it behind metrics. 2) Add comments before __refcnt. On 16-core tigerton: If CONFIG_NET_CLS_ROUTE=y, the result with below patch is about 18% better than the one without the patch; If CONFIG_NET_CLS_ROUTE=n, the result with below patch is about 30% better than the one without the patch. With 32bit 2.6.25-rc1 on 8-core stoakley, the new patch doesn't introduce regression. Thank Eric, Valdis, and David! Signed-off-by: Zhang Yanmin Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 5e012760dfd5ec24c41b9eab9e654a88360bb026 Author: Zhang, Rui Date: Thu Feb 28 07:51:30 2008 +0800 ACPI: thermal: show temperature in millidegree Celsius as now required by the generic thermal I/F Signed-off-by: Zhang Rui Acked-by: Jean Delvare Signed-off-by: Len Brown commit 3152fb9f11cdd2fd8688c2c5cb805e5c09b53dd9 Author: Zhang, Rui Date: Wed Feb 27 08:37:50 2008 +0800 thermal: fix generic thermal I/F for hwmon Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 07d31ee5597dadfd621840e2404b086fa94ef0c6 Author: Jiri Kosina Date: Mon Mar 10 22:29:37 2008 +0100 acer-wmi: build depends on i8042 Signed-off-by: Jiri Kosina Acked-by: Randy Dunlap Signed-off-by: Carlos Corbacho Signed-off-by: Len Brown commit 93d74463d018ddf05c169ad399e62e90e0f82fc0 Merge: c463be3... 4c91363... Author: Linus Torvalds Date: Wed Mar 12 17:56:37 2008 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: (26 commits) [ARM] 4856/1: Orion: initialise the sixth PCIe MBUS mapping window as well [ARM] 4855/1: Orion: use correct ethernet unit address range [ARM] 4853/1: include uImage target in make help [ARM] 4851/1: ns9xxx: fix size of gpiores [ARM] AT91: correct at91sam9263ek LCD power gpio pin [ARM] replace remaining __FUNCTION__ occurrences [ARM] 4850/1: include generic pgtable.h for !CONFIG_MMU case [ARM] 4849/1: move ATAGS asm definitions [ARM] 4848/1: at91: remove false lockdep warnings [ARM] 4847/1: kprobes: fix compilation with CONFIG_DEBUG_FS=y [ARM] include/asm-arm - use angle brackets for includes [ARM] 4845/1: Orion: Ignore memory tags with invalid data ARM: OMAP2: Register the L4 io bus to boot OMAP2 ARM: OMAP1: Compile in other 16xx boards to OSK defconfig ARM: OMAP1: Refresh H2 defconfig ARM: OMAP1: Refresh OSK defconfig ARM: OMAP: gpio lockdep updates ARM: OMAP1: omap1/pm.c build fix ARM: OMAP1: omap h2 regression fix ARM: OMAP1: Fix compile for boards depending on old gpio expander ... commit c463be3520065ef8c05e3cbdf946c69604e91ceb Merge: 609eb39... 31bf111... Author: Linus Torvalds Date: Wed Mar 12 17:00:35 2008 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (22 commits) [POWERPC] Fix large hash table allocation on Cell blades [POWERPC] Export empty_zero_page [POWERPC] Fix viodasd driver with scatterlist debug [POWERPC] Fix arch/powerpc/platforms/powermac/pic.c when !CONFIG_ADB_PMU [POWERPC] Fix drivers/macintosh/mediabay.c when !CONFIG_ADB_PMU [POWERPC] Fix undefined pmu_sys_suspended compilation error [POWERPC] Fix build of modular drivers/macintosh/apm_emu.c [POWERPC] Fix sleep on some powerbooks [POWERPC] Fix bogus test for unassigned PCI resources [POWERPC] Fix zImage-dtb.initrd build error [POWERPC] Add __ucmpdi2 for 64-bit comparisons in 32-bit kernels [POWERPC] spufs: fix rescheduling of non-runnable contexts [POWERPC] spufs: don't (ab)use SCHED_IDLE [POWERPC] QE: Make qe_get_firmware_info reentrant [POWERPC] 83xx: Make 83xx perfmon support selectable [PPC] 8xx: swap bug-fix [POWERPC] 85xx: sbc8548 - Fix incorrect PCI-X and PCI interrupt map [POWERPC] QE: Fix QE firmware uploading limit [POWERPC] 8xx: Fix wrapper platform for adder875, and combine defconfigs. [POWERPC] 8xx: fix swap ... commit 31bf111944e31b64a7b692f9d660f71c5ff3d419 Author: Michael Ellerman Date: Wed Mar 12 18:03:24 2008 +1100 [POWERPC] Fix large hash table allocation on Cell blades My recent hack to allocate the hash table under 1GB on cell was poorly tested, *cough*. It turns out on blades with large amounts of memory we fail to allocate the hash table at all. This is because RTAS has been instantiated just below 768MB, and 0-x MB are used by the kernel, leaving no areas that are both large enough and also naturally-aligned. For the cell IOMMU hack the page tables must be under 2GB, so use that as the limit instead. This has been tested on real hardware and boots happily. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 07dc42f632e335a03c0e780805dc9dc141f83e63 Author: Theodore Ts'o Date: Thu Mar 13 07:24:31 2008 +1100 [POWERPC] Export empty_zero_page Once again, this time with feeling.... - Ted >From c91cfaabc17f8a53807a2f31f067a732e34a1550 Mon Sep 17 00:00:00 2001 From: Theodore Ts'o Date: Wed, 12 Mar 2008 11:50:39 -0400 Subject: Export empty_zero_page The empty_zero_page symbol is exported by most other architectures (s390, ia64, x86, um), and an upcoming ext4 patch needs it because ZERO_PAGE() references empty_zero_page, and we need it to zero out an unitialized extents in ext4 files. Signed-off-by: "Theodore Ts'o" Signed-off-by: Paul Mackerras commit 25c0a7b83297f10186a7a1ee5c563f005dfabc44 Author: Benjamin Herrenschmidt Date: Wed Mar 12 17:23:56 2008 +1100 [POWERPC] Fix viodasd driver with scatterlist debug The iSeries viodasd drivers does some very strange things with scatterlists, one of these causing a BUG_ON to trigger when scatterlist debugging is enabled due to initializing the scatterlist with memset instead of sg_init_table(). This fixes it by using sg_init_table(). The rest of the stuff it does to that poor list is still pretty awful but it will work. I may look into fixing things in a nicer way some other time. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 98cddbfb3218925c35697562f7d9df692bf6a436 Author: Tony Breeds Date: Wed Mar 12 10:48:48 2008 +1100 [POWERPC] Fix arch/powerpc/platforms/powermac/pic.c when !CONFIG_ADB_PMU When building arch/powerpc/platforms/powermac/pic.c when !CONFIG_ADB_PMU we get the following warnings: arch/powerpc/platforms/powermac/pic.c: In function 'pmacpic_find_viaint': arch/powerpc/platforms/powermac/pic.c:623: warning: label 'not_found' defined but not used This fixes it. Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit a99d9a6ebdf8328d5c61ca9f1038f4815e25720e Author: Tony Breeds Date: Wed Mar 12 10:48:48 2008 +1100 [POWERPC] Fix drivers/macintosh/mediabay.c when !CONFIG_ADB_PMU When building drivers/macintosh/mediabay.c if CONFIG_ADB_PMU isn't defined we get: drivers/built-in.o: In function `media_bay_step': mediabay.c:(.text+0x92b84): undefined reference to `pmu_suspend' mediabay.c:(.text+0x92c08): undefined reference to `pmu_resume' Create empty place holders in that scenario. Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit 07c941d00087581c9553661c2c4fb593da37f525 Author: Tony Breeds Date: Wed Mar 12 10:48:48 2008 +1100 [POWERPC] Fix undefined pmu_sys_suspended compilation error pmu_sys_suspended is declared extern when: defined(CONFIG_PM_SLEEP) && defined(CONFIG_PPC32) but only defined when: defined(CONFIG_SUSPEND) && defined(CONFIG_PPC32) which is wrong. Let's fix that. Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit 620a245978d007279bc5c7c64e15f5f63af9af98 Author: Guido Guenther Date: Sun Mar 9 06:20:17 2008 +1100 [POWERPC] Fix build of modular drivers/macintosh/apm_emu.c Currently, if drivers/macintosh/apm_emu is a module and the config doesn't have CONFIG_SUSPEND we get: ERROR: "pmu_batteries" [drivers/macintosh/apm_emu.ko] undefined! ERROR: "pmu_battery_count" [drivers/macintosh/apm_emu.ko] undefined! ERROR: "pmu_power_flags" [drivers/macintosh/apm_emu.ko] undefined! on PPC32. The variables aren't wrapped in '#if defined(CONFIG_SUSPEND)' so we probably shouldn't wrap the exports either. This removes the CONFIG_SUSPEND part of the export, which fixes compilation on ppc32. Signed-off-by: Guido Guenther Signed-off-by: Paul Mackerras commit fa19d63488bd108a308f575064779bb69123efbc Author: Benjamin Herrenschmidt Date: Mon Mar 3 17:27:46 2008 +1100 [POWERPC] Fix sleep on some powerbooks The PMU backlight code would kick in during sleep/resume even on machines that use a different backlight method. This breaks sleep on some PowerBooks. This fixes it by adding a flag to indicate whether the backlight is controlled by the PMU, and testing that before trying to use the PMU to turn off the backlight during sleep. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 7f172890a8f8744c4005c267ae9e228411ab173f Author: Benjamin Herrenschmidt Date: Fri Feb 29 14:58:03 2008 +1100 [POWERPC] Fix bogus test for unassigned PCI resources A bogus test for unassigned resources that came from our 32-bit PCI code ended up being "merged" by my previous patch series, breaking some 64-bit setups where devices have legal resources ending at 0xffffffff. This fixes it by completely changing the test. We now test for res->start == 0, as the generic code expects, and we also only do so on platforms that don't have the PPC_PCI_PROBE_ONLY flag set, as there are cases of pSeries and iSeries where it could be a valid value and those can't reassign devices. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 595be948cce574ff2d5dde5d0426a636a4363c70 Author: Grant Likely Date: Fri Feb 22 05:57:07 2008 +1100 [POWERPC] Fix zImage-dtb.initrd build error The pattern substitution rules were failing when used with zImage-dtb targets. If zImage-dtb.initrd was selected, the pattern substitution would generate "zImage.initrd-dtb" instead of "zImage-dtb.initrd" which caused the build to fail. This renames zImage-dtb to dtbImage to avoid the problem entirely. By not using the zImage prefix then is no potential for namespace collisions. Signed-off-by: Grant Likely Acked-by: Geoff Levand Signed-off-by: Paul Mackerras commit 95ff54f5176a36f65522e46c670a571728328b10 Author: Paul Mackerras Date: Thu Mar 13 09:39:55 2008 +1100 [POWERPC] Add __ucmpdi2 for 64-bit comparisons in 32-bit kernels Some drivers (such as V4L2) have code that causes gcc to generate calls to __ucmpdi2 when compiling for 32-bit powerpc, which results in either a link-time error or a module that can't be loaded, as we don't currently have a __ucmpdi2. This adds one so these drivers can be used. Signed-off-by: Paul Mackerras commit 53471121a8aad3f0b590bfce7c95a1f5f52150f3 Author: Randy Dunlap Date: Wed Mar 12 18:10:51 2008 -0400 documentation: Move power-related files to Documentation/power/ Move 00-INDEX entries to power/00-INDEX (and add entry for pm_qos_interface.txt). Update references to moved filenames. Fix some trailing whitespace. Signed-off-by: Randy Dunlap Signed-off-by: Len Brown commit c8dc9de10951609492f0d0282a61e2b2eec385c8 Author: Johann Felix Soden Date: Tue Mar 11 16:44:26 2008 +0100 ACPI: buffer array too short in drivers/acpi/system.c Since "ff_gbl_lock" has a length of 11 chars and is copied with sprintf to char buffer[10], there is a problem. We need char buffer[12] because of the closing zero byte. Signed-off-by: Johann Felix Soden Signed-off-by: Len Brown commit ed9cfe98050be635ff780678d166e7c7bf578818 Author: Carlos Corbacho Date: Wed Mar 12 20:13:00 2008 +0000 acer-wmi: Add DMI quirk for mail LED support on Acer Aspire 3610/ 5610 Signed-off-by: Carlos Corbacho Signed-off-by: Len Brown commit 08816465894f46fc559301c22686939c3c9c138b Author: Carlos Corbacho Date: Wed Mar 12 20:12:55 2008 +0000 acer-wmi: Fix DSDT path in documentation Signed-off-by: Carlos Corbacho Signed-off-by: Len Brown commit 8d039bc7f3d2330787eaa7a392f5e6489f1544d5 Author: Carlos Corbacho Date: Wed Mar 12 20:12:50 2008 +0000 acer-wmi: Make device detection error messages more descriptive The current device detection error messages are all copy & pasted - make them more descriptive so it's easier to see where in the code a problem occurs. Signed-off-by: Carlos Corbacho Signed-off-by: Len Brown commit 609eb39c8d8a8d2930780428f6cbe2f63eb84734 Merge: 123d43a... 2262621... Author: Linus Torvalds Date: Wed Mar 12 13:08:09 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (47 commits) [SCTP]: Fix local_addr deletions during list traversals. net: fix build with CONFIG_NET=n [TCP]: Prevent sending past receiver window with TSO (at last skb) rt2x00: Add new D-Link USB ID rt2x00: never disable multicast because it disables broadcast too libertas: fix the 'compare command with itself' properly drivers/net/Kconfig: fix whitespace for GELIC_WIRELESS entry [NETFILTER]: nf_queue: don't return error when unregistering a non-existant handler [NETFILTER]: nfnetlink_queue: fix EPERM when binding/unbinding and instance 0 exists [NETFILTER]: nfnetlink_log: fix EPERM when binding/unbinding and instance 0 exists [NETFILTER]: nf_conntrack: replace horrible hack with ksize() [NETFILTER]: nf_conntrack: add \n to "expectation table full" message [NETFILTER]: xt_time: fix failure to match on Sundays [NETFILTER]: nfnetlink_log: fix computation of netlink skb size [NETFILTER]: nfnetlink_queue: fix computation of allocated size for netlink skb. [NETFILTER]: nfnetlink: fix ifdef in nfnetlink_compat.h [NET]: include into linux/ethtool.h for __u* typedef [NET]: Make /proc/net a symlink on /proc/self/net (v3) RxRPC: fix rxrpc_recvmsg()'s returning of msg_name net/enc28j60: oops fix ... commit 123d43acd2e55cd7db792d17c7e906db42cada42 Merge: 299601c... 3d706d9... Author: Linus Torvalds Date: Wed Mar 12 13:07:12 2008 -0700 Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: i2c: chips subdirectory is deprecated i2c: Keep client->driver and client->dev.driver in sync i2c-amd756: Fix off-by-one commit 299601cfc0aabbabf82fca50652b7290cce7eb00 Merge: 0509ad5... 69e634f... Author: Linus Torvalds Date: Wed Mar 12 13:04:11 2008 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: [MIPS] Clocksource: Only install r4k counter as clocksource if present. [MIPS] Lasat: fix LASAT_CASCADE_IRQ [MIPS] Delete leftovers of old pcspeaker support. [MIPS] BCM1480: Init pci controller io_map_base [MIPS] Yosemite: Fix a few more section reference bugs. [MIPS] Fix yosemite build error [MIPS] Fix loads of section missmatches [MIPS] IP27: Tighten up CPU description to fix warnings. [MIPS] Fix plat_ioremap for JMR3927 [MIPS] Export __ucmpdi2 to modules. [MIPS] Fix typo in comment [MIPS] Use KBUILD_DEFCONFIG [MIPS] Allow 48Hz to be selected if CONFIG_SYS_SUPPORTS_ARBIT_HZ is set. [MIPS] Added missing cases for rdhwr emulation [MIPS] Alchemy: Fix ids in Alchemy db dma device table commit 0509ad5e1a7d9220f09edd5be114bf3bd51a7023 Author: Bjorn Helgaas Date: Tue Mar 11 15:24:41 2008 -0600 PNP: disable PNP motherboard resources that overlap PCI BARs Some BIOSes have PNP motherboard devices with resources that partially overlap PCI BARs. The PNP system driver claims these motherboard resources, which prevents the normal PCI driver from requesting them later. This patch disables the PNP resources that conflict with PCI BARs so they won't be claimed by the PNP system driver. Of course, this only works if PCI devices have already been enumerated. Currently this is the case because PCI devices are discovered before any PNP init via this path: acpi_pci_root_init() -> acpi_pci_root_add() -> pci_acpi_scan_root() -> pci_scan_bus_parented() -> pci_scan_child_bus() -> ... Avuton Olrich tested this and confirmed that it fixes his ALSA sound card (see http://lkml.org/lkml/2008/1/27/168). References: https://bugzilla.redhat.com/show_bug.cgi?id=280641 https://bugzilla.redhat.com/show_bug.cgi?id=313491 http://lkml.org/lkml/2008/1/9/449 http://thread.gmane.org/gmane.linux.acpi.devel/27312 http://lkml.org/lkml/2008/1/27/168 Signed-off-by: Bjorn Helgaas Signed-off-by: Linus Torvalds commit e0aca2330b59752193877da49c6e6b07df78690a Author: Bjorn Helgaas Date: Tue Mar 11 15:24:40 2008 -0600 PNP: revert Supermicro H8DCE motherboard quirk There are other systems with similar problems (http://lkml.org/lkml/2008/1/27/168), so we need a more generic quirk. Remove the Supermicro-specific one first. Signed-off-by: Bjorn Helgaas Signed-off-by: Linus Torvalds commit 3fedb3c5a80595d94f7cbe47a6dba9184d869eb8 Author: Tom Tucker Date: Tue Mar 11 14:31:40 2008 -0400 SVCRDMA: Fix erroneous BUG_ON in send_write The assertion that checks for sge context overflow is incorrectly hard-coded to 32. This causes a kernel bug check when using big-data mounts. Changed the BUG_ON to use the computed value RPCSVC_MAXPAGES. Signed-off-by: Tom Tucker Signed-off-by: J. Bruce Fields Signed-off-by: Linus Torvalds commit c48cbb405c4f338ce3263c44d621eff41d9a95fc Author: Tom Tucker Date: Tue Mar 11 14:31:39 2008 -0400 SVCRDMA: Add xprt refs to fix close/unmount crash RDMA connection shutdown on an SMP machine can cause a kernel crash due to the transport close path racing with the I/O tasklet. Additional transport references were added as follows: - A reference when on the DTO Q to avoid having the transport deleted while queued for I/O. - A reference while there is a QP able to generate events. - A reference until the DISCONNECTED event is received on the CM ID Signed-off-by: Tom Tucker Signed-off-by: J. Bruce Fields Signed-off-by: Linus Torvalds commit ee27a558ae0ff5063ccd6c47ca102c0bb0e3ba27 Author: Roland McGrath Date: Tue Mar 11 17:13:15 2008 -0700 genhd must_check warning fix Fixes: block/genhd.c:361: warning: ignoring return value of ‘class_register’, declared with attribute warn_unused_result Signed-off-by: Roland McGrath Acked-by: Jeff Garzik Signed-off-by: Linus Torvalds commit a8ae50ba9336ff77d0df0943ac27b79ba0a5a521 Author: David Woodhouse Date: Wed Mar 12 17:52:56 2008 +0100 Remove from user-visible headers. It was all wrapped in '#ifdef CONFIG_BLOCK' anyway, so userspace was getting nothing useful out of it. And the special #ifndef __KERNEL__ version of 'struct partition' makes me inclined to promote an attitude of violence... Stick some comments on some of the #endifs too, while we're at it. Signed-off-by: David Woodhouse Signed-off-by: Linus Torvalds commit 0738c4bb8f2a8bf15178f852494643b0981f578b Author: Paul Mundt Date: Wed Mar 12 16:51:31 2008 +0900 nommu: Provide is_vmalloc_addr() stub. Introduced in commit-id 9e2779fa281cfda13ac060753d674bbcaa23367e and ifdef'ed out for nommu in 8ca3ed87db062201e1fa15b64a9214e193fc3a8a, both approaches end up breaking the nommu build in different ways. An impressive feat for a 2-liner. Current is_vmalloc_addr() users fall in to two camps: - Determining whether to use vfree()/kfree() - Whether to do vmlist traversal (only /proc/kcore). Since we don't support /proc/kcore on nommu, that leaves the vfree()/kfree() determination use cases. nommu vfree() happens to be a wrapper to kfree() anyways, so is_vmalloc_addr() can always return 0 and end up with the right behaviour. Signed-off-by: Paul Mundt Signed-off-by: Linus Torvalds commit 10313cbb92206450b450e14f2b3f6ccde42d9a34 Author: Roland Dreier Date: Wed Mar 12 07:51:03 2008 -0700 IPoIB: Allocate priv->tx_ring with vmalloc() Commit 7143740d ("IPoIB: Add send gather support") made struct ipoib_tx_buf significantly larger, since the mapping member changed from a single u64 to an array with MAX_SKB_FRAGS + 1 entries. This means that allocating tx_rings with kzalloc() may fail because there is not enough contiguous memory for the new, much bigger size. Fix this regression by allocating the rings with vmalloc() instead. Signed-off-by: Roland Dreier commit 69e634f1e27c8e5b954ea4be2d05dd744cabc0bc Author: Ralf Baechle Date: Wed Mar 12 13:58:10 2008 +0000 [MIPS] Clocksource: Only install r4k counter as clocksource if present. Signed-off-by: Ralf Baechle commit 127f1668617ae638f90f113a32f956887acbb94a Author: Yoichi Yuasa Date: Wed Feb 20 23:11:53 2008 +0900 [MIPS] Lasat: fix LASAT_CASCADE_IRQ Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 131b02c459db2de3aff6b213d317a6f2fa6c5d96 Author: Ralf Baechle Date: Mon Mar 10 16:20:00 2008 +0000 [MIPS] Delete leftovers of old pcspeaker support. Signed-off-by: Ralf Baechle commit e790a46429e93384eee5df426bd99995ae12da27 Author: Thomas Bogendoerfer Date: Sat Mar 8 19:51:55 2008 +0100 [MIPS] BCM1480: Init pci controller io_map_base Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 41d1f19a31824605ec98fda7458f9108e490fce5 Author: Ralf Baechle Date: Mon Mar 10 12:11:48 2008 +0000 [MIPS] Yosemite: Fix a few more section reference bugs. Signed-off-by: Ralf Baechle commit 2ac7401d11370b7a8e3a1c74aac03a021fd61048 Author: Ralf Baechle Date: Mon Mar 10 09:31:50 2008 +0000 [MIPS] Fix yosemite build error didn't pickup the definition of PKMAP_BASE from fixmap.h, ugh. Signed-off-by: Ralf Baechle commit 234fcd1484a66158b561b36b421547f0ab85fee9 Author: Ralf Baechle Date: Sat Mar 8 09:56:28 2008 +0000 [MIPS] Fix loads of section missmatches Signed-off-by: Ralf Baechle commit 1af0eea21431bed5d07dffc0fefab57fd72f7e90 Author: Ralf Baechle Date: Sat Mar 8 09:44:37 2008 +0000 [MIPS] IP27: Tighten up CPU description to fix warnings. Signed-off-by: Ralf Baechle commit 308a163931928332b57dfdfb3520c1924a337ef5 Author: Atsushi Nemoto Date: Sat Jan 26 14:08:02 2008 +0900 [MIPS] Fix plat_ioremap for JMR3927 TX39XX's "reserved" segment in CKSEG3 area is 0xff000000-0xfffeffff. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 4177017d5bdf4456da022d4c82e48ac99cd65426 Author: Ralf Baechle Date: Tue Mar 4 09:03:09 2008 +0000 [MIPS] Export __ucmpdi2 to modules. Signed-off-by: Ralf Baechle commit a7c2996e41ada10d504050863bbc318f5ed2a0c2 Author: Thiemo Seufer Date: Fri Feb 29 00:43:47 2008 +0000 [MIPS] Fix typo in comment We support now other page sizes as well. Signed-off-by: Thiemo Seufer Signed-off-by: Ralf Baechle commit de0c16985dbc04c11bf3c44df30030df5d060963 Author: Adrian Bunk Date: Tue Feb 26 21:54:54 2008 +0200 [MIPS] Use KBUILD_DEFCONFIG With KBUILD_DEFCONFIG we don't have to ship a second copy of ip22_defconfig. Signed-off-by: Adrian Bunk Signed-off-by: Ralf Baechle commit 0f87358587ad8326b589edb42dcf6e07afbab6de Author: Ralf Baechle Date: Mon Feb 25 16:55:29 2008 +0000 [MIPS] Allow 48Hz to be selected if CONFIG_SYS_SUPPORTS_ARBIT_HZ is set. This allows a 48Hz clock to be selected on Malta and other systems. Note this not normally a sensible option as it results in rather high latencies for some kernel stuff. Signed-off-by: Ralf Baechle commit 1f5826bd0ed6c0abec3da28dfffb8d12f0c2cb81 Author: Chris Dearman Date: Mon May 8 18:02:16 2006 +0100 [MIPS] Added missing cases for rdhwr emulation Some of these are architecturally required for R2 processors so lets try to be bit closer to the real thing. This also provides access to the CPU cycle timer, even on multiprocessors. In that aspect its currently bug compatible to what would happen on a R2-based SMP. Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit 0ec734c2b8b005667ffdaef8610d1024630683b0 Author: Wolfgang Ocker Date: Sun Feb 10 20:31:33 2008 +0100 [MIPS] Alchemy: Fix ids in Alchemy db dma device table 0 is a valid device id (DSCR_CMD0_UART0_TX), so we can't use it to mark an empty entry in the device table. Use ~0 instead and search for id ~0 when looking for a free entry. Signed-off-by: Wolfgang Ocker Signed-off-by: Ralf Baechle commit 3d706d952cf238a60c5571e33329448b453a2ab9 Author: Jean Delvare Date: Wed Mar 12 14:15:00 2008 +0100 i2c: chips subdirectory is deprecated Let driver authors know that drivers/i2c/chips is usually the wrong place for new drivers. Signed-off-by: Jean Delvare commit 50c3304a5e1e5217fc6b58fb686edc7d1114f2fa Author: Hans Verkuil Date: Wed Mar 12 14:15:00 2008 +0100 i2c: Keep client->driver and client->dev.driver in sync Ensure that client->driver is set to NULL if the probe() returns an error (this keeps client->driver and client->dev.driver in sync). Signed-off-by: Hans Verkuil Acked-by: David Brownell Signed-off-by: Jean Delvare commit 5edc68b8530ff1b3133d057350da98c93cca5a82 Author: Adrian Bunk Date: Wed Mar 12 14:15:00 2008 +0100 i2c-amd756: Fix off-by-one This patch fixes an off-by-one error spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Jean Delvare commit a09a20b526fde0611b49b76521e3c546a47216a5 Author: Randy Dunlap Date: Tue Mar 4 13:41:26 2008 -0800 laptops: move laptop-mode.txt to Documentation/laptops/ Move laptop-mode.txt into the laptops/ sub-directory to consolidate laptop doc files there. Update references to the file's location. Signed-off-by: Randy Dunlap Signed-off-by: Len Brown commit 9cf7f7fac8c36e54e4869fc01e1bad0d3b4de53b Merge: 86f4e5d... c368392... Author: Paul Mackerras Date: Wed Mar 12 17:13:57 2008 +1100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jk/spufs into merge commit b6a163875935ce8e8e85901a7f2b68f7a314d914 Author: Thomas Renninger Date: Wed Mar 12 01:06:24 2008 +0100 ACPICA: Warn if packages with invalid references are evaluated And return an error to avoid NULL pointer access by the caller Lin Ming's patch avoids corrupted mem access when BIOS has invalid references included, the handle is now zero instead of corrupted. Signed-off-by: Thomas Renninger Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 391df5dce30a5aab477b9e55ea65a3e83bae96b1 Author: Bjorn Helgaas Date: Tue Mar 11 13:45:15 2008 -0700 ACPI: add _PRT quirks to work around broken firmware This patch works around incorrect _PRT (PCI interrupt routing) information from firmware. This does not fix any regressions and can wait for the next kernel release. On the Medion MD9580-F laptop, the BIOS says the builtin RTL8139 NIC interrupt at 00:09.0[A] is connected to \_SB.PCI0.ISA.LNKA, but it's really connected to \_SB.PCI0.ISA.LNKB. Before this patch, the workaround was to use "pci=routeirq". More details at http://bugzilla.kernel.org/show_bug.cgi?id=4773. On the Dell OptiPlex GX1, the BIOS says the PCI slot interrupt 00:0d[A] is connected to LNKB, but it's really connected to LNKA. Before this patch, the workaround was to use "pci=routeirq". Pierre Ossman tested a previous version of this patch and confirmed that it fixed the problem. More details at http://bugzilla.kernel.org/show_bug.cgi?id=5044. On the HP t5710 thin client, the BIOS says the builtin Radeon video interrupt at 01:00[A] is connected to LNK1, but it's really connected to LNK3. The previous workaround was to use a custom DSDT. I tested this patch and verified that it fixes the problem. More details at http://bugzilla.kernel.org/show_bug.cgi?id=10138. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit a82f7119fd940c1505fc9fdf93d835fa52bc075d Author: Rafael J. Wysocki Date: Wed Mar 12 00:34:57 2008 +0100 Hibernation: Fix mark_nosave_pages() There is a problem in the hibernation code that triggers on some NUMA systems on which pfn_valid() returns 'true' for some PFNs that don't belong to any zone. Namely, there is a BUG_ON() in memory_bm_find_bit() that triggers for PFNs not belonging to any zone and passing the pfn_valid() test. On the affected systems it triggers when we mark PFNs reported by the platform as not saveable, because the PFNs in question belong to a region mapped directly using iorepam() (i.e. the ACPI data area) and they pass the pfn_valid() test. Modify memory_bm_find_bit() so that it returns an error if given PFN doesn't belong to any zone instead of crashing the kernel and ignore the result returned by it in mark_nosave_pages(), while marking the "nosave" memory regions. This doesn't affect the hibernation functionality, as we won't touch the PFNs in question anyway. http://bugzilla.kernel.org/show_bug.cgi?id=9966 . Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 7c0ea45be4f114d85ee35caeead8e1660699c46f Author: Zhao Yakui Date: Tue Mar 11 16:56:47 2008 +0800 ACPI: Ignore _BQC object when registering backlight device According to acpi spec , the objects of _BCL and _BCM are required if integrated LCD is present and supports brightness level .The _BQC is the optional object. So the _BQC object is ignored when the backlight device is registered in ACPI video driver. http://bugzilla.kernel.org/show_bug.cgi?id=10206 Signed-off-by: Zhao Yakui Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 4200406b8fbbf309f4fffb339bd16c4553ae0c30 Author: Roland Dreier Date: Tue Mar 11 18:35:20 2008 -0700 IPoIB/cm: Set tx_wr.num_sge in connected mode post_send() Commit 7143740d ("IPoIB: Add send gather support") made it possible for tx_wr.num_sge to be != 1 -- this happens if send gather support is enabled. However, the code in the connected mode post_send() function assumes the old invariant, namely that tx_wr.num_sge is always 1. Fix this by explicitly setting tx_wr.num_sge to 1 in the CM post_send(). Signed-off-by: Roland Dreier commit 22626216c46f2ec86287e75ea86dd9ac3df54265 Author: Chidambar 'ilLogict' Zinnoury Date: Tue Mar 11 18:05:02 2008 -0700 [SCTP]: Fix local_addr deletions during list traversals. Since the lists are circular, we need to explicitely tag the address to be deleted since we might end up freeing the list head instead. This fixes some interesting SCTP crashes. Signed-off-by: Chidambar 'ilLogict' Zinnoury Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit b2211a361a4289c83971f89da53fe2eb9e72769d Author: Andrew Morton Date: Tue Mar 11 18:03:35 2008 -0700 net: fix build with CONFIG_NET=n fs/built-in.o:(.rodata+0x1134): undefined reference to `proc_net_inode_operations' fs/built-in.o:(.rodata+0x1138): undefined reference to `proc_net_operations' Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 5ea3a7480606cef06321cd85bc5113c72d2c7c68 Author: Ilpo Järvinen Date: Tue Mar 11 17:55:27 2008 -0700 [TCP]: Prevent sending past receiver window with TSO (at last skb) With TSO it was possible to send past the receiver window when the skb to be sent was the last in the write queue while the receiver window is the limiting factor. One can notice that there's a loophole in the tcp_mss_split_point that lacked a receiver window check for the tcp_write_queue_tail() if also cwnd was smaller than the full skb. Noticed by Thomas Gleixner in form of "Treason uncloaked! Peer ... shrinks window .... Repaired." messages (the peer didn't actually shrink its window as the message suggests, we had just sent something past it without a permission to do so). Signed-off-by: Ilpo Järvinen Tested-by: Thomas Gleixner Signed-off-by: David S. Miller commit a527f2d7fe58ce95bfec998f3dc6f658c777a2f2 Author: Carlos Corbacho Date: Sun Feb 24 13:34:34 2008 +0000 ACPI: WMI: Clean up handling of spec violating data blocks Acer violate the ACPI-WMI spec by declaring some of their data blocks as expensive, but with no corresponding WCxx method. There is already some workaround code in to handle the initial WCxx call (we just ignore a failure here); but we need to properly check if the second, "clean up", WCxx call is actually needed or not, rather than fail simply because it isn't there. Signed-off-by: Carlos Corbacho Signed-off-by: Len Brown commit 9b963c40306ba6967650dce99f4e823f1da49a60 Author: Carlos Corbacho Date: Sun Feb 24 13:34:29 2008 +0000 acer-wmi: Don't warn if mail LED cannot be detected This warning confuses users, who think it is an error. Not detecting the mail LED simply means it isn't there, so let's not unduly panic users. Signed-off-by: Carlos Corbacho Signed-off-by: Len Brown commit 343c00422d3296838927016750b18ead8aa8bf9a Author: Carlos Corbacho Date: Sun Feb 24 13:34:18 2008 +0000 acer-wmi: Rename mail LED correctly & remove hardcoded colour The mail LED name for acer-wmi currently hardcodes in the colour as green. This is wrong, since many of the newer laptops now come with an orange LED, and we have no way of telling what colour is used on a given system. Also, rename the mail LED to be inline with the current recommendations of the LED class documentation. Signed-off-by: Carlos Corbacho Signed-off-by: Len Brown commit b3e2749bf32f61e7beb259eb7cfb066d2ec6ad65 Author: Or Gerlitz Date: Tue Mar 11 16:10:02 2008 +0200 IPoIB: Don't drop multicast sends when they can be queued When set_multicast_list() is called the multicast task is restarted and the IPOIB_MCAST_STARTED bit is cleared. As a result for some window of time, multicast packets are not transmitted nor queued but rather dropped by ipoib_mcast_send(). These dropped packets are painful in two cases: - bonding fail-over which both calls set_multicast_list() on the new active slave and sends Gratuitous ARP through that slave. - IP_DROP_MEMBERSHIP code which both calls set_multicast_list() on the device and issues IGMP leave. In both these cases, depending on the scheduling of the IPoIB multicast task, the packets would be dropped. As a result, in the bonding case, the failover would not be detected by the peers until their neighbour is renewed the neighbour (which takes a few tens of seconds). In the IGMP case, the IP router doesn't get an IGMP leave and would only learn on that from further probes on the group (also a delay of at least a few tens of seconds). Fix this by allowing transmission (or queuing) depending on the IPOIB_FLAG_OPER_UP flag instead of the IPOIB_MCAST_STARTED flag. Signed-off-by: Olga Shern Signed-off-by: Or Gerlitz Signed-off-by: Roland Dreier commit bc5b6e24a17f90c7d096d857650f4739cc95c941 Author: Steve French Date: Tue Mar 11 21:07:48 2008 +0000 [CIFS] Fix build problem Signed-off-by: Steve French commit 450bb3875f5f5ab3679823c941d6045d16967370 Author: Patrick Marchand Latifi Date: Wed Feb 20 19:08:10 2008 -0800 IB/ipath: Reset the retry counter for RDMA_READ_RESPONSE_MIDDLE packets Reset the retry counter when we get a good RDMA_READ_RESPONSE_MIDDLE packet. This fix will prevent the requester from reporting a retry exceeded error too early. Signed-off-by: Patrick Marchand Latifi commit 2a049e514b890c8b70b965bbd9f4e3c963af69c9 Author: Patrick Marchand Latifi Date: Thu Jan 31 00:24:37 2008 -0800 IB/ipath: Fix error completion put on send CQ instead of recv CQ A work completion entry could be placed on the wrong completion queue when an RC QP is placed in the error state. Signed-off-by: Patrick Marchand Latifi Acked-by: Ralph Campbell Signed-off-by: Roland Dreier commit 4cd5060cf7c2207c31e2e368f8a6343355362e51 Author: Patrick Marchand Latifi Date: Fri Jan 18 20:10:48 2008 -0800 IB/ipath: Fix RC QP initialization This patch fixes the initialization of RC QPs, since we would rely on the queue pair type (ibqp->qp_type) being set, but this field is only initialized when we return from ipath_create_qp (it is initialized by the user-level verbs library). The fix is to not depend on this field to initialize the send and the receive state of the RC QP. Signed-off-by: Patrick Marchand Latifi Signed-off-by: Roland Dreier commit 87d5aed85b2d79e4075ad2ca1449e9b98f657a09 Author: Patrick Marchand Latifi Date: Mon Jan 7 23:43:04 2008 -0800 IB/ipath: Fix potentially wrong RNR retry counter returned in ipath_query_qp() There can be a case where the requester's rnr retry counter (s_rnr_retry) is less than the number of rnr retries allowed per QP (s_rnr_retry_cnt). This can happen if the s_rnr_retry counter is being decremented and an ipath_query_qp call is issued during that time frame. The fix is to always return the number of rnr retries allowed per QP instead of the requester's rnr counter. Found by code review. Signed-off-by: Patrick Marchand Latifi Acked-by: Ralph Campbell Signed-off-by: Roland Dreier commit 140277e9a710202608914b5b731948d2769399bc Author: Ralph Campbell Date: Fri Dec 14 01:53:56 2007 -0800 IB/ipath: Fix IB compliance problems with link state vs physical state Subnet manager SetPortinfo messages distingush between changing the link state (DOWN, ARM, ACTIVE) and the link physical state (POLL, SLEEP, DISABLED). These are somewhat independent commands and affect when link width and speed changes take effect. Without this patch, a link DOWN physical state NOP command was causing the link width and speed settings to take effect which should only happen when the link physical state is goes down (either by a SMP or some link physical error like link errors exceeding the threshold). Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 5b4d4771e2a56671c7f1c94edda427a1e3d6f111 Merge: 55f78e1... baadac8... Author: Steve French Date: Tue Mar 11 19:15:41 2008 +0000 Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 445815d7ea4f59baf103f28b45f7dd45f21ff75d Author: Ivo van Doorn Date: Sun Mar 9 22:42:32 2008 +0100 rt2x00: Add new D-Link USB ID Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit fbb0a27a8ad56f822f479ee85446d9c29483a3d1 Author: Adam Baker Date: Sun Mar 9 22:40:40 2008 +0100 rt2x00: never disable multicast because it disables broadcast too On rt73 and rt61 disabling reception of multicast packets also disables broadcast traffic which we never want to do. Therefore we should never disable multicast. Signed-off-by: Adam Baker Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5f0547c2813d4677908fa6de02f9911d25996515 Author: Sebastian Siewior Date: Thu Mar 6 10:30:21 2008 +0100 libertas: fix the 'compare command with itself' properly |libertas: Invalid CMD_RESP 8012 to command 50! The special case got mixed up in 8a96df80b3. Signed-off-by: Sebastian Siewior Signed-off-by: John W. Linville commit 97ed83905e5f8547a94a8066441351c6920728a1 Author: John W. Linville Date: Thu Mar 6 13:08:09 2008 -0500 drivers/net/Kconfig: fix whitespace for GELIC_WIRELESS entry Signed-off-by: John W. Linville commit d6f882e10442c1ea6ed5f93365f48be4cb520be7 Author: Glauber Costa Date: Tue Mar 4 15:06:36 2008 -0800 ACPI: use ACPI_DEBUG_PRINT instead of printk in acpi_processor_hotplug_notify() For consistency, use ACPI_DEBUG_PRINT instead of printk in acpi_processor_hotplug_notify() for BUS_CHECK and DEVICE_CHECK events Signed-off-by: Glauber Costa Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 3b34e5232fa9776e9a4b3f539cd9fee7609c900e Author: Andrey Borzenkov Date: Tue Mar 4 15:06:35 2008 -0800 ACPI: button: make real parent for input devices in device tree Signed-off-by: Andrey Borzenkov Cc: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 4db42c51ce0033f409fc3a2742e7aa2efa03f7c3 Author: arvidjaar@mail.ru Date: Tue Mar 4 15:06:34 2008 -0800 toshiba_acpi: Enable autoloading This adds aliases to enable autoloading of toishiba_acpi. Two aliases are defined - TOS6200 (for \\_SB_.VALD.GHCI) and TSO1900 (for \\_SB_.VALZ.GHCI). This allows toishiba_acpi to be autoloaded on systems that provide those devices. Signed-off-by: Andrey Borzenkov Cc: Olivier Blin Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 2c81ce4c9c37b910210f2640c28e98a0c398dc26 Author: Alexey Starikovskiy Date: Tue Mar 11 13:30:00 2008 -0400 ACPI: EC: Handle IRQ storm on Acer laptops On some Acer systems, the HW fails to clear the GPE source, causing an interrupt storm. So in EC interrupt mode, we count how many interrupts we receive when waiting. If we get more than 5, we give up on interrupt mode and revert to polling mode. Also, for polling mode to work on Acers, we need to insert a delay. Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit baadac8b10c5ac15ce3d26b68fa266c8889b163f Merge: 051a82f... 985a34b... Author: Linus Torvalds Date: Tue Mar 11 09:47:28 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: x86: remove quicklists x86: ia32 syscall restart fix x86: ioremap, remove WARN_ON() commit 051a82fc0c450f6ca649acf684586477aa6d5c6a Merge: 6c47d77... 08f503b... Author: Linus Torvalds Date: Tue Mar 11 09:18:56 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel: keep rd->online and cpu_online_map in sync Revert "cpu hotplug: adjust root-domain->online span in response to hotplug event" commit 6c47d773e7d8f784996d9027f035379baa19ded7 Merge: 2f44bbb... d7c1fbd... Author: Linus Torvalds Date: Tue Mar 11 09:14:34 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: RDMA/iwcm: Don't access a cm_id after dropping reference IB/iser: Handle iser_device allocation error gracefully IB/iser: Fix list iteration bug RDMA/cxgb3: Fix iwch_create_cq() off-by-one error RDMA/cxgb3: Return correct max_inline_data when creating a QP IB/fmr_pool: Flush all dirty FMRs from ib_fmr_pool_flush() Revert "IB/fmr_pool: ib_fmr_pool_flush() should flush all dirty FMRs" IB/cm: Flush workqueue when removing device MAINTAINERS: update ipath owner commit 985a34bd75cc8c96e43f00dcdda7c3fdb51a3026 Author: Thomas Gleixner Date: Sun Mar 9 13:14:37 2008 +0100 x86: remove quicklists quicklists cause a serious memory leak on 32-bit x86, as documented at: http://bugzilla.kernel.org/show_bug.cgi?id=9991 the reason is that the quicklist pool is a special-purpose cache that grows out of proportion. It is not accounted for anywhere and users have no way to even realize that it's the quicklists that are causing RAM usage spikes. It was supposed to be a relatively small pool, but as demonstrated by KOSAKI Motohiro, they can grow as large as: Quicklists: 1194304 kB given how much trouble this code has caused historically, and given that Andrew objected to its introduction on x86 (years ago), the best option at this point is to remove them. [ any performance benefits of caching constructed pgds should be implemented in a more generic way (possibly within the page allocator), while still allowing constructed pages to be allocated by other workloads. ] Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 40f0933d51f4cba26a5c009a26bb230f4514c1b6 Author: Roland McGrath Date: Thu Feb 28 19:57:07 2008 -0800 x86: ia32 syscall restart fix The code to restart syscalls after signals depends on checking for a negative orig_ax, and for particular negative -ERESTART* values in ax. These fields are 64 bits and for a 32-bit task they get zero-extended. The syscall restart behavior is lost, a regression from a native 32-bit kernel and from 64-bit tasks' behavior. This patch fixes the problem by doing sign-extension where it matters. For orig_ax, the only time the value should be -1 but winds up as 0x0ffffffff is via a 32-bit ptrace call. So the patch changes ptrace to sign-extend the 32-bit orig_eax value when it's stored; it doesn't change the checks on orig_ax, though it uses the new current_syscall() inline to better document the subtle importance of the used of signedness there. The ax value is stored a lot of ways and it seems hard to get them all sign-extended at their origins. So for that, we use the current_syscall_ret() to sign-extend it only for 32-bit tasks at the time of the -ERESTART* comparisons. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar commit 9a46d7e5b63903a70cd96c2c1391a7a26a8dbec9 Author: Ingo Molnar Date: Tue Feb 26 09:30:32 2008 +0100 x86: ioremap, remove WARN_ON() Signed-off-by: Ingo Molnar commit 08f503b0c089968b2542659a89dfd50c5c59bb0b Author: Gregory Haskins Date: Mon Mar 10 17:59:11 2008 -0400 keep rd->online and cpu_online_map in sync It is possible to allow the root-domain cache of online cpus to become out of sync with the global cpu_online_map. This is because we currently trigger removal of cpus too early in the notifier chain. Other DOWN_PREPARE handlers may in fact run and reconfigure the root-domain topology, thereby stomping on our own offline handling. The end result is that rd->online may become out of sync with cpu_online_map, which results in potential task misrouting. So change the offline handling to be more tightly coupled with the global offline process by triggering on CPU_DYING intead of CPU_DOWN_PREPARE. Signed-off-by: Gregory Haskins Cc: Gautham R Shenoy Cc: "Siddha, Suresh B" Cc: "Rafael J. Wysocki" Cc: Andrew Morton Signed-off-by: Ingo Molnar commit 1f94ef598e8d29b92b9fc85d43c832e03721d3cb Author: Gregory Haskins Date: Mon Mar 10 16:52:41 2008 -0400 Revert "cpu hotplug: adjust root-domain->online span in response to hotplug event" This reverts commit 393d94d98b19089ec172566e23557997931b137e. Lets fix this right. Signed-off-by: Gregory Haskins Cc: Gautham R Shenoy Cc: "Siddha, Suresh B" Cc: "Rafael J. Wysocki" Cc: Andrew Morton Signed-off-by: Ingo Molnar commit 96b2dd1f1fdb9a131b7f2e79e5c7b2e4282cfcbf Author: Harvey Harrison Date: Wed Mar 5 18:24:51 2008 -0800 ACPI: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Len Brown commit cae167d3d7f22a6a54ba47e7c3623b4c45a01e2b Author: Yutaro Ebihara Date: Tue Mar 11 13:58:50 2008 +0900 serial: sh-sci: Fix fifo stall on SH7760/SH7780/SH7785 SCIF. There was an off-by-1 in the SCRFDR calculation that caused writes over 128-bytes to hang in the FIFO. Fix it up. Signed-off-by: Yutaro Ebihara Signed-off-by: Paul Mundt commit bd12935f04066df31903eaf74b1cec03319ecd2e Author: Jean Delvare Date: Wed Feb 27 20:56:01 2008 +0100 ACPI: Fix a duplicate log level Signed-off-by: Jean Delvare Signed-off-by: Len Brown commit 4af8e10a6c57e7292862bd1703712f0565c7e429 Author: Len Brown Date: Tue Mar 11 00:27:16 2008 -0400 Revert "ACPI: EC: Use proper handle for boot EC" This reverts commit 208c70a45624400fafd7511b96bc426bf01f8f5e. http://bugzilla.kernel.org/show_bug.cgi?id=10100 Signed-off-by: Len Brown commit d7c1fbd6606085dbf95e47068d6bd2db8a180e38 Author: Steve Wise Date: Tue Mar 4 16:44:52 2008 -0600 RDMA/iwcm: Don't access a cm_id after dropping reference cm_work_handler() can access cm_id_priv after it drops its reference by calling iwch_deref_id(), which might cause it to be freed. The fix is to look at whether IWCM_F_CALLBACK_DESTROY is set _before_ dropping the reference. Then if it was set, free the cm_id on this thread. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit d33ed425c6cc14370d8c418b504328d2c3db58b4 Author: Arne Redlich Date: Tue Mar 4 14:11:54 2008 +0200 IB/iser: Handle iser_device allocation error gracefully "iser_device" allocation failure is "handled" with a BUG_ON() right before dereferencing the NULL-pointer - fix this! Signed-off-by: Arne Redlich Signed-off-by: Erez Zilber commit 9a378270c085080b2f38dee6308de4d8413b5141 Author: Arne Redlich Date: Tue Mar 4 14:07:22 2008 +0200 IB/iser: Fix list iteration bug The iteration through the list of "iser_device"s during device lookup/creation is broken -- it might result in an infinite loop if more than one HCA is used with iSER. Fix this by using list_for_each_entry() instead of the open-coded flawed list iteration code. Signed-off-by: Arne Redlich Signed-off-by: Erez Zilber Signed-off-by: Roland Dreier commit c8d16e27a3601d1cbcdfe657eb4ff5e762019e8d Author: Lin Ming Date: Fri Feb 29 07:38:54 2008 +0800 ACPI: fix boot oops regression in thermal Fix a memory overflow bug when copying NULL internal package element object to external. http://bugzilla.kernel.org/show_bug.cgi?id=10132 Signed-off-by: Lin Ming Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit c368392a9951e6e25e2e2f9268153f1e9365e2c2 Author: Jeremy Kerr Date: Tue Mar 11 12:46:18 2008 +1100 [POWERPC] spufs: fix rescheduling of non-runnable contexts At present, we can hit the BUG_ON in __spu_update_sched_info by reading the regs file of a context between two calls to spu_run. The spu_release_saved called by spufs_regs_read() is resulting in the (now non-runnable) context being placed back on the run queue, so the next call to spu_run ends up in the bug condition. This change uses the SPU_SCHED_SPU_RUN flag to only reschedule a context if it's still in spu_run(). Signed-off-by: Jeremy Kerr commit 2f44bbb495dd3e6d0209eff2257438ab9c570e5b Merge: 2b752ac... 3db691d... Author: Linus Torvalds Date: Mon Mar 10 18:45:51 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: [libata] Add support for the RB500 PATA CompactFlash ahci: logical-bitwise and confusion in ahci_save_initial_config() libata: don't allow sysfs read access to force param ahci: add the Device IDs for nvidia MCP7B AHCI libata-sff: handle controllers w/o ctl register libata: allow LLDs w/o any reset method ata: replace remaining __FUNCTION__ occurrences commit 2b752acd91ecee926483b5f64a8f8bfe06e081fb Merge: f5dbb55... 15c4a4e... Author: Linus Torvalds Date: Mon Mar 10 18:45:23 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: USB:Update mailing list information in documentation USB: fix ehci unlink regressions USB: new ftdi_sio device id USB: Remove __KERNEL__ check from non-exported gadget.h. USB: g_printer.h does not need to be "unifdef"ed. USB: fsl_usb2_udc: fix broken Kconfig USB: option: add novatel device ids USB: usbaudio: handle kcalloc failure USB: cypress_m8: add UPS Powercom (0d9f:0002) USB: drivers/usb/storage/sddr55.c: fix uninitialized var warnings USB: fix usb-serial generic recursive lock commit ce7c191bca88aa2f942f70a6d6c6315739a81a32 Author: Jeremy Kerr Date: Tue Mar 4 20:17:02 2008 +1100 [POWERPC] spufs: don't (ab)use SCHED_IDLE commit 4ef11014 introduced a usage of SCHED_IDLE to detect when a context is within spu_run. Instead of SCHED_IDLE (which has other meaning), add a flag to sched_flags to tell if a context should be running. Signed-off-by: Jeremy Kerr commit f5dbb55b995b77d396fe2204495a0af3e24d28c2 Author: Ingo Molnar Date: Mon Mar 10 18:04:34 2008 +0100 fix BIOS PCI config cycle buglet causing ACPI boot regression I figured out another ACPI related regression today. randconfig testing triggered an early boot-time hang on a laptop of mine (32-bit x86, config attached) - the screen was scrolling ACPI AML exceptions [with no serial port and no early debugging available]. v2.6.24 works fine on that laptop with the same .config, so after a few hours of bisection (had to restart it 3 times - other regressions interacted), it honed in on this commit: | 10270d4838bdc493781f5a1cf2e90e9c34c9142f is first bad commit | | Author: Linus Torvalds | Date: Wed Feb 13 09:56:14 2008 -0800 | | acpi: fix acpi_os_read_pci_configuration() misuse of raw_pci_read() reverting this commit ontop of -rc5 gave a correctly booting kernel. But this commit fixes a real bug so the real question is, why did it break the bootup? After quite some head-scratching, the following change stood out: - pci_id->bus = tu8; + pci_id->bus = val; pci_id->bus is defined as u16: struct acpi_pci_id { u16 segment; u16 bus; ... and 'tu8' changed from u8 to u32. So previously we'd unconditionally mask the return value of acpi_os_read_pci_configuration() (raw_pci_read()) to 8 bits, but now we just trust whatever comes back from the PCI access routines and only crop it to 16 bits. But if the high 8 bits of that result contains any noise then we'll write that into ACPI's PCI ID descriptor and confuse the heck out of the rest of ACPI. So lets check the PCI-BIOS code on that theory. We have this codepath for 8-bit accesses (arch/x86/pci/pcbios.c:pci_bios_read()): switch (len) { case 1: __asm__("lcall *(%%esi); cld\n\t" "jc 1f\n\t" "xor %%ah, %%ah\n" "1:" : "=c" (*value), "=a" (result) : "1" (PCIBIOS_READ_CONFIG_BYTE), "b" (bx), "D" ((long)reg), "S" (&pci_indirect)); Aha! The "=a" output constraint puts the full 32 bits of EAX into *value. But if the BIOS's routines set any of the high bits to nonzero, we'll return a value with more set in it than intended. The other, more common PCI access methods (v1 and v2 PCI reads) clear out the high bits already, for example pci_conf1_read() does: switch (len) { case 1: *value = inb(0xCFC + (reg & 3)); which explicitly converts the return byte up to 32 bits and zero-extends it. So zero-extending the result in the PCI-BIOS read routine fixes the regression on my laptop. ( It might fix some other long-standing issues we had with PCI-BIOS during the past decade ... ) Both 8-bit and 16-bit accesses were buggy. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit effe008d276f52674d5352deefb68ec409a5ef9b Merge: ee215ca... b91aac2... Author: Linus Torvalds Date: Mon Mar 10 18:05:47 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6: PCI Hotplug: Fix small mem leak in IBM Hot Plug Controller Driver PCI: rename DECLARE_PCI_DEVICE_TABLE to DEFINE_PCI_DEVICE_TABLE commit ee215ca3b21dd73bec95dcaaa8c89e64cff6cbf8 Merge: aeb24d2... e88a0c2... Author: Linus Torvalds Date: Mon Mar 10 18:04:00 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6: drivers: fix dma_get_required_mask firmware: provide stubs for the FW_LOADER=n case nozomi: fix initialization and early flow control access sysdev: fix problem with sysdev_class being re-registered commit aeb24d2fb08653a39abb50281b1ffa2d2a6879ab Merge: 5c0dea0... 1ef36fa... Author: Linus Torvalds Date: Mon Mar 10 18:03:20 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: lguest: Do not append space to guests kernel command line lguest: Revert 1ce70c4fac3c3954bd48c035f448793867592bc0, fix real problem. lguest: Sanitize the lguest clock. lguest: fix __get_vm_area usage. lguest: make sure cpu is initialized before accessing it commit 5c0dea0959356d77d985ecfb2911e7a9e23b95e3 Merge: dae311b... cdef59a... Author: Linus Torvalds Date: Mon Mar 10 18:02:59 2008 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: ocfs2: Fix NULL pointer dereferences in o2net ocfs2/dlm: dlm_thread should not sleep while holding the dlm_spinlock ocfs2/dlm: Print message showing the recovery master ocfs2/dlm: Add missing dlm_lockres_put()s ocfs2/dlm: Add missing dlm_lockres_put()s in migration path ocfs2/dlm: Add missing dlm_lock_put()s ocfs2: Fix an endian bug in online resize. [PATCH] [OCFS2]: constify function pointer tables ocfs2: Fix endian bug in o2dlm protocol negotiation. ocfs2: Use dlm_print_one_lock_resource for lock resource print [PATCH] fs/ocfs2/dlm/dlmdomain.c: fix printk warning commit dae311b42fcad5d236dc6539b02c7560fc6fc721 Merge: 99eeed4... 8b1266f... Author: Linus Torvalds Date: Mon Mar 10 18:02:16 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] make watchdog/hpwdt.c:asminline_call() static [WATCHDOG] Remove volatiles from watchdog device structures [WATCHDOG] replace remaining __FUNCTION__ occurrences [WATCHDOG] hpwdt: Use dmi_walk() instead of own copy [WATCHDOG] Fix return value warning in hpwdt [WATCHDOG] Fix declaration of struct smbios_entry_point in hpwdt [WATCHDOG] it8712f_wdt support for 16-bit timeout values, WDIOC_GETSTATUS commit 99eeed47a1ee26fbce49c878788a6882bf90d8f2 Author: Michael Hennerich Date: Mon Mar 10 11:44:04 2008 -0700 fbdev: add BF52x EZkit Display driver Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Cc: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e9e4ad0a55b4dddb770ffac9322c460bd3c4a3f Author: Michael Hennerich Date: Mon Mar 10 11:44:03 2008 -0700 BF54x LQ043 Framebuffer driver: Update copyright on previously modified files Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3544ea97041d86ed78e5889724ca784042178f3 Author: Bryan Wu Date: Mon Mar 10 11:44:03 2008 -0700 BF54x LQ043 Framebuffer driver: fix bug lcd_device_register API breakage Signed-off-by: Bryan Wu Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fdcc53587fd2754ba87b0607b3f889520178a7af Author: Michael Hennerich Date: Mon Mar 10 11:44:02 2008 -0700 BF54x LQ043 Framebuffer driver: fix bug NULL for gpio_request label is not allowed Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62347218243179a6ab03fe9f965a5819c4714bf8 Author: Helge Deller Date: Mon Mar 10 11:44:01 2008 -0700 stifb: fix crash A1439A CRX (Rattler) graphics card Fix kernel crash when stifb driver is used with a A1439A CRX (Rattler) graphics card. (Reference: http://thread.gmane.org/gmane.linux.ports.hppa/1834) Signed-off-by: Helge Deller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1039edc98a80aece735b0c6d8b4e5f9dcec2cc32 Author: Krzysztof Helt Date: Mon Mar 10 11:44:00 2008 -0700 mbxfb: fix incorrect argument type Fix wrong pointer type passed into the dev_dbg() function. Signed-off-by: Krzysztof Helt Acked-by: Mike Rapoport Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7009264c519603b8ec67c881bd368a56703cfc9 Author: Nick Piggin Date: Mon Mar 10 11:43:59 2008 -0700 iov_iter_advance() fix iov_iter_advance() skips over zero-length iovecs, however it does not properly terminate at the end of the iovec array. Fix this by checking against i->count before we skip a zero-length iov. The bug was reproduced with a test program that continually randomly creates iovs to writev. The fix was also verified with the same program and also it could verify that the correct data was contained in the file after each writev. Signed-off-by: Nick Piggin Tested-by: "Kevin Coffman" Cc: "Alexey Dobriyan" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 21bbb39c376ce6beeeb549d155f0d53dc76ed000 Author: Paul E. McKenney Date: Mon Mar 10 11:43:57 2008 -0700 rcu: move PREEMPT_RCU config option back under PREEMPT The original preemptible-RCU patch put the choice between classic and preemptible RCU into kernel/Kconfig.preempt, which resulted in build failures on machines not supporting CONFIG_PREEMPT. This choice was therefore moved to init/Kconfig, which worked, but placed the choice between classic and preemptible RCU at the top level, a very obtuse choice indeed. This patch changes from the Kconfig "choice" mechanism to a pair of booleans, only one of which (CONFIG_PREEMPT_RCU) is user-visible, and is located in kernel/Kconfig.preempt, where one would expect it to be. The other (CONFIG_CLASSIC_RCU) is in init/Kconfig so that it is available to all architectures, hopefully avoiding build breakage. Thanks to Roman Zippel for suggesting this approach. Signed-off-by: Paul E. McKenney Cc: Ingo Molnar Acked-by: Steven Rostedt Cc: Dipankar Sarma Cc: Josh Triplett Cc: Thomas Gleixner Cc: Peter Zijlstra Cc: Roman Zippel Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f47831fabaf0206abc56ee5a33fd006fe29b6dc6 Author: Thomas Bogendoerfer Date: Mon Mar 10 11:43:54 2008 -0700 i8042: use SGI_HAS_I8042 to select SGI i8042 handlinig Use SGI_HAS_I8042 to select SGI i8042 handling Signed-off-by: Thomas Bogendoerfer Cc: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e24e2e64c468c8060bb7173abecdf11d00ed5751 Author: Alexey Dobriyan Date: Mon Mar 10 11:43:53 2008 -0700 modules: warn about suspicious return values from module's ->init() hook Return value convention of module's init functions is 0/-E. Sometimes, e.g. during forward-porting mistakes happen and buggy module created, where result of comparison "workqueue != NULL" is propagated all the way up to sys_init_module. What happens is that some other module created workqueue in question, our module created it again and module was successfully loaded. Or it could be some other bug. Let's make such mistakes much more visible. In retrospective, such messages would noticeably shorten some of my head-scratching sessions. Note, that dump_stack() is just a way to get attention from user. Sample message: sys_init_module: 'foo'->init suspiciously returned 1, it should follow 0/-E convention sys_init_module: loading module anyway... Pid: 4223, comm: modprobe Not tainted 2.6.24-25f666300625d894ebe04bac2b4b3aadb907c861 #5 Call Trace: [] sys_init_module+0xe5/0x1d0 [] system_call_after_swapgs+0x7b/0x80 Signed-off-by: Alexey Dobriyan Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c5db22d280302c33dafb309c25bf2841fb99c37 Author: Rusty Russell Date: Mon Mar 10 11:43:52 2008 -0700 modules: fix module waiting for dependent modules' init Commit c9a3ba55 (module: wait for dependent modules doing init.) didn't quite work because the waiter holds the module lock, meaning that the state of the module it's waiting for cannot change. Fortunately, it's fairly simple to update the state outside the lock and do the wakeup. Thanks to Jan Glauber for tracking this down and testing (qdio and qeth). Signed-off-by: Rusty Russell Cc: Jan Glauber Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2668db9111bb1a6ab5a54f41f703179f35c7d098 Author: Adam Litke Date: Mon Mar 10 11:43:50 2008 -0700 hugetlb: correct page count for surplus huge pages Free pages in the hugetlb pool are free and as such have a reference count of zero. Regular allocations into the pool from the buddy are "freed" into the pool which results in their page_count dropping to zero. However, surplus pages can be directly utilized by the caller without first being freed to the pool. Therefore, a call to put_page_testzero() is in order so that such a page will be handed to the caller with a correct count. This has not affected end users because the bad page count is reset before the page is handed off. However, under CONFIG_DEBUG_VM this triggers a BUG when the page count is validated. Thanks go to Mel for first spotting this issue and providing an initial fix. Signed-off-by: Adam Litke Cc: Mel Gorman 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 842078054da2d754c6b998b116d7c468abbfaaca Author: Arnaud Patard Date: Mon Mar 10 11:43:48 2008 -0700 gpio/pca953x bugfix: mark as can_sleep The pca953x driver is an I2C driver so gpio_chip->can_sleep should be set. This lets upper layers know they should use the gpio_*_cansleep() calls to access values, and may not access them from nonsleeping contexts. Signed-off-by: Arnaud Patard Signed-off-by: David Brownell Acked-by: "eric miao" Cc: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7be3dfec4724c51e890455fe48fe188ad7c18b88 Author: NeilBrown Date: Mon Mar 10 11:43:48 2008 -0700 md: reduce CPU wastage on idle md array with a write-intent bitmap Recent patch titled Reduce CPU wastage on idle md array with a write-intent bitmap. would sometimes leave the array with dirty bitmap bits that stay dirty. A subsequent write would sort things out so it isn't a big problem, but should be fixed nonetheless. We need to make sure that when the bitmap becomes not "allclean", the daemon_sleep really does get set to a sensible value. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 52720ae77d392d3f4c12281c37304edbc8cb51f1 Author: NeilBrown Date: Mon Mar 10 11:43:47 2008 -0700 md: fix formatting error in /proc/mdstat If an md array is "auto-read-only", then this appears in /proc/mdstat as /dev/md0: active(auto-read-only) whereas if it is truely readonly, it appears as /dev/md0: active (read-only) The difference being a space. One program known to parse this file expects the space and gets badly confused. It will be fixed, but it would be best if what the kernel generates is more consistent too. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69682d852f5c94ee94e21174b3e8b719626c98db Author: Lee Schermerhorn Date: Mon Mar 10 11:43:45 2008 -0700 mempolicy: fix reference counting bugs Address 3 known bugs in the current memory policy reference counting method. I have a series of patches to rework the reference counting to reduce overhead in the allocation path. However, that series will require testing in -mm once I repost it. 1) alloc_page_vma() does not release the extra reference taken for vma/shared mempolicy when the mode == MPOL_INTERLEAVE. This can result in leaking mempolicy structures. This is probably occurring, but not being noticed. Fix: add the conditional release of the reference. 2) hugezonelist unconditionally releases a reference on the mempolicy when mode == MPOL_INTERLEAVE. This can result in decrementing the reference count for system default policy [should have no ill effect] or premature freeing of task policy. If this occurred, the next allocation using task mempolicy would use the freed structure and probably BUG out. Fix: add the necessary check to the release. 3) The current reference counting method assumes that vma 'get_policy()' methods automatically add an extra reference a non-NULL returned mempolicy. This is true for shmem_get_policy() used by tmpfs mappings, including regular page shm segments. However, SHM_HUGETLB shm's, backed by hugetlbfs, just use the vma policy without the extra reference. This results in freeing of the vma policy on the first allocation, with reuse of the freed mempolicy structure on subsequent allocations. Fix: Rather than add another condition to the conditional reference release, which occur in the allocation path, just add a reference when returning the vma policy in shm_get_policy() to match the assumptions. Signed-off-by: Lee Schermerhorn Cc: Greg KH Cc: Andi Kleen Cc: Christoph Lameter Cc: Mel Gorman Cc: David Rientjes Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9afa802ff568d935dab33dd207dc25d9849f35d4 Author: Masatake YAMATO Date: Mon Mar 10 11:43:43 2008 -0700 Typo in Documentation/scheduler/sched-stats.txt I have found a very small typo in Documentation/scheduler/sched-stats.txt. See the end of this mail. Signed-off-by: Masatake YAMATO Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 60fdd931d577fcca351930fda4cde26ce07d35af Author: Alex Dubov Date: Mon Mar 10 11:43:43 2008 -0700 memstick: add support for JMicron jmb38x MemoryStick host controller Signed-off-by: Alex Dubov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 593672582e71a688cf8c3fc1c59ec7c44d3799e5 Author: Alex Dubov Date: Mon Mar 10 11:43:42 2008 -0700 memstick: try harder to recover from unsuccessful interface mode switch Signed-off-by: Alex Dubov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 251cc9b9df065cb2c170ea45f566c0d9456186c2 Author: Alex Dubov Date: Mon Mar 10 11:43:42 2008 -0700 memstick: fix parsing of "assembly_date" attribute field Signed-off-by: Alex Dubov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit efb2742e5ddd03197fcf066e2d2a75d36cf04fd1 Author: Alex Dubov Date: Mon Mar 10 11:43:41 2008 -0700 memstick: add support for decoding "specfile" media attributes Signed-off-by: Alex Dubov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4c70e8521c893fa96b14ed5d90d52fa37ac1dec Author: Alex Dubov Date: Mon Mar 10 11:43:41 2008 -0700 tifm: clear interrupt mask bits before setting them on adapter init This should improve reliability of detection of cards already in socket on driver load. Signed-off-by: Alex Dubov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eebbe9ca7855eb520cde62234028b6bd90083659 Author: Alex Dubov Date: Mon Mar 10 11:43:40 2008 -0700 tifm: fix memorystick host initialization code Instead of assuming that host is powered on only once at card insertion, allow for the possibility that memstick layer may need to cycle card's power to get it out from some unhealthy states. Signed-off-by: Alex Dubov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 92b22d935fed1e4d88b9b6f9a674ab2a4272ee78 Author: Alex Dubov Date: Mon Mar 10 11:43:40 2008 -0700 tifm: fix the MemoryStick host fifo handling code Additional input received from JMicron on MemoryStick host interfaces showed that some assumtions in fifo handling code were incorrect. This patch also fixes data corruption used to occure during PIO transfers. Signed-off-by: Alex Dubov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a4f2568c22a381d7568314052c1dd40f6d3680a Author: Alex Dubov Date: Mon Mar 10 11:43:39 2008 -0700 memstick: drop DRIVER_VERSION numbers as meaningless Signed-off-by: Alex Dubov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 29196dc67e1b76ce84e25228783f6b8a3c48e9dd Author: Alex Dubov Date: Mon Mar 10 11:43:38 2008 -0700 memstick: make sure number of command retries is exactly as specified Signed-off-by: Alex Dubov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d114ad54ffb020dc781b6159c1c2f391c6ec418f Author: Alex Dubov Date: Mon Mar 10 11:43:38 2008 -0700 memstick: add memstick_suspend/resume_host methods Bus driver may need to be informed that host is being suspended/resumed. Signed-off-by: Alex Dubov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e1f19995f55294fbb00ea22ba85d7b0d80ba3813 Author: Alex Dubov Date: Mon Mar 10 11:43:37 2008 -0700 memstick: introduce correct definitions in the header Thanks to some input from kind people at JMicron it is now possible to have more correct definitions of protocol structures and bit field semantics. Signed-off-by: Alex Dubov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b614ce8b3c697947d75685f0b9f2059307dde715 Author: Krzysztof Helt Date: Mon Mar 10 11:43:37 2008 -0700 tridentfb: fix memory size detection Fix memory size multiplier during detection. Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3acd9d462062bb332073fde90bf9d118ac5a043d Author: Krzysztof Helt Date: Mon Mar 10 11:43:36 2008 -0700 tridentfb: register should be left in non-locked state Remove locking registers after they are unlocked during switch to/from MMIO mode. This fixes regression on the Blade3D (Trident 9880) caused by the previous patch (probe fixes). Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e84290dc79d30af3e95b38e670f80c0b5046bbf2 Author: Josh Boyer Date: Mon Mar 10 11:43:35 2008 -0700 of_serial: fix section mismatch warnings Fix the following section mismatches: WARNING: drivers/built-in.o(.exit.text+0x5a): Section mismatch in reference from the function of_platform_serial_exit() to the variable .devinit.data:of_platform_serial_driver The function __exit of_platform_serial_exit() references a variable __devinitdata of_platform_serial_driver. Signed-off-by: Josh Boyer Signed-off-by: Arnd Bergmann Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9f9351bbe34a9b12966b1fb6f7c21cfe128340c1 Author: Andrew Morton Date: Mon Mar 10 11:43:34 2008 -0700 rename DECLARE_PCI_DEVICE_TABLE to DEFINE_PCI_DEVICE_TABLE This macro is used to define tables, not to declare them. Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3db691daa4f6c4b899e144ea54a65738402c94e3 Author: Florian Fainelli Date: Thu Mar 6 12:25:21 2008 +0100 [libata] Add support for the RB500 PATA CompactFlash Signed-off-by: Jeff Garzik commit 258cd8464b618d5ec3b836f02cce05e3faf226b4 Author: Roel Kluin <12o3l@tiscali.nl> Date: Sun Mar 9 21:42:40 2008 +0100 ahci: logical-bitwise and confusion in ahci_save_initial_config() logical-bitwise & confusion Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Jeff Garzik commit 7afb42226a8eaa9ae3f6b9917ffb16902358e749 Author: Tejun Heo Date: Sun Mar 9 20:21:53 2008 +0900 libata: don't allow sysfs read access to force param Buffer for force param is deallocated after initialization, so trying to read it via sysfs results in oops. Don't allow read access to the param node. Spotted by Eric Sesterhenn. Signed-off-by: Tejun Heo Cc: Eric Sesterhenn Signed-off-by: Jeff Garzik commit 70d562cf7853ea1bb53c1007075c5df958f11c90 Author: peerchen Date: Thu Mar 6 21:22:41 2008 +0800 ahci: add the Device IDs for nvidia MCP7B AHCI Signed-off-by: Peer Chen Signed-off-by: Jeff Garzik commit f659f0e4480bb82e6dcf3db8ba1e8485444084e5 Author: Tejun Heo Date: Thu Mar 6 13:12:54 2008 +0900 libata-sff: handle controllers w/o ctl register SFF incorrectly assumed that ctl register is available for all controllers while some old SFF controllers don't have ctl register. Make SFF handle controllers w/o ctl register by conditionalizing ctl register access and softreset method. Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar Signed-off-by: Jeff Garzik commit eec59f76e9010e22d5736cf1907af4a92067522e Author: Tejun Heo Date: Thu Mar 6 13:09:34 2008 +0900 libata: allow LLDs w/o any reset method Some old SFF controllers don't have any way to reset the channel. Currently, this isn't supported and libata EH causes an oops. Allow LLDs w/o any reset method and just assume ATA class in such cases. Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar Signed-off-by: Jeff Garzik commit 7f5e4e8d94b6013f93716bc42a1296f95d1059dc Author: Harvey Harrison Date: Wed Mar 5 18:24:52 2008 -0800 ata: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Jeff Garzik commit 94be1a3f365e2b9f2615575d7fef16a0bad106a3 Author: Patrick McHardy Date: Mon Mar 10 16:45:05 2008 -0700 [NETFILTER]: nf_queue: don't return error when unregistering a non-existant handler Commit ce7663d84: [NETFILTER]: nfnetlink_queue: don't unregister handler of other subsystem changed nf_unregister_queue_handler to return an error when attempting to unregister a queue handler that is not identical to the one passed in. This is correct in case we really do have a different queue handler already registered, but some existing userspace code always does an unbind before bind and aborts if that fails, so try to be nice and return success in that case. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 914afea84e3e20cdbcd040f8387a0e6ef20ffc97 Author: Patrick McHardy Date: Mon Mar 10 16:44:36 2008 -0700 [NETFILTER]: nfnetlink_queue: fix EPERM when binding/unbinding and instance 0 exists Similar to the nfnetlink_log problem, nfnetlink_queue incorrectly returns -EPERM when binding or unbinding to an address family and queueing instance 0 exists and is owned by a different process. Unlike nfnetlink_log it previously completes the operation, but it is still incorrect. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b7047a1c886386b10a103b4fea26678db8b57832 Author: Patrick McHardy Date: Mon Mar 10 16:44:13 2008 -0700 [NETFILTER]: nfnetlink_log: fix EPERM when binding/unbinding and instance 0 exists When binding or unbinding to an address family, the res_id is usually set to zero. When logging instance 0 already exists and is owned by a different process, this makes nfunl_recv_config return -EPERM without performing the bind operation. Since no operation on the foreign logging instance itself was requested, this is incorrect. Move bind/unbind commands before the queue instance permissions checks. Also remove an incorrect comment. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 019f692ea719a2da17606511d2648b8cc1762268 Author: Pekka Enberg Date: Mon Mar 10 16:43:41 2008 -0700 [NETFILTER]: nf_conntrack: replace horrible hack with ksize() There's a horrible slab abuse in net/netfilter/nf_conntrack_extend.c that can be replaced with a call to ksize(). Cc: Christoph Lameter Signed-off-by: Pekka Enberg Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3d89e9cf3690b4645ce73b86c219c8188f8fa50a Author: Alexey Dobriyan Date: Mon Mar 10 16:43:10 2008 -0700 [NETFILTER]: nf_conntrack: add \n to "expectation table full" message Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4f4c9430cf5ee1ca3567bc88faf8b4c18ed0bd13 Author: Jan Engelhardt Date: Mon Mar 10 16:42:40 2008 -0700 [NETFILTER]: xt_time: fix failure to match on Sundays From: Andrew Schulman xt_time_match() in net/netfilter/xt_time.c in kernel 2.6.24 never matches on Sundays. On my host I have a rule like iptables -A OUTPUT -m time --weekdays Sun -j REJECT and it never matches. The problem is in localtime_2(), which uses r->weekday = (4 + r->dse) % 7; to map the epoch day onto a weekday in {0,...,6}. In particular this gives 0 for Sundays. But 0 has to be wrong; a weekday of 0 can never match. xt_time_match() has if (!(info->weekdays_match & (1 << current_time.weekday))) return false; and when current_time.weekday = 0, the result of the & is always zero, even when info->weekdays_match = XT_TIME_ALL_WEEKDAYS = 0xFE. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 15c4a4e2f1337a442fe6c66266a8829afc8ff96f Author: Robert P. J. Day Date: Fri Mar 7 15:08:17 2008 -0500 USB:Update mailing list information in documentation Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit e82cc1288fa57857c6af8c57f3d07096d4bcd9d9 Author: David Brownell Date: Fri Mar 7 13:49:42 2008 -0800 USB: fix ehci unlink regressions The recent EHCI driver update to split the IAA watchdog timer out from the other timers made several things work better, but not everything; and it created a couple new issues in bugzilla. Ergo this patch: - Handle a should-be-rare SMP race between the watchdog firing and (very late) IAA interrupts; - Remove a shouldn't-have-been-added WARN_ON() test; - Guard against one observed OOPS; - If this watchdog fires during clean HC shutdown, it should act as a NOP instead of interfering with the shutdown sequence; - Guard against silicon errata hypothesized by some vendors: * IAA status latch broken, but IAAD cleared OK; * IAAD wasn't cleared when IAA status got reported; The WARN_ON is in bugzilla as 10168; the OOPS as 10078; these are both regressions. Signed-off-by: David Brownell Tested-by: Gordon Farquharson Signed-off-by: Greg Kroah-Hartman commit 11171d1bde45eefa4fed605a5cf6ebe0e3d24395 Author: Mirko Bordignon Date: Mon Mar 10 11:38:55 2008 +0100 USB: new ftdi_sio device id Here is a patch that adds support for the propox jtagcable II dongle (http://www.propox.com/products/t_117.html): their PID was missing, therefore we were not able to have the device recognized though it uses a standard FTDI chip. Signed-off-by: Mirko Bordignon Signed-off-by: Greg Kroah-Hartman commit 20f590df4fbb962d1f8fcb12c4b4e790c7054045 Author: Robert P. J. Day Date: Fri Mar 7 11:40:07 2008 -0500 USB: Remove __KERNEL__ check from non-exported gadget.h. Since the header file gadget.h isn't being exported to userspace, there seems to be little point having a __KERNEL__ proprocessor check. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit e61062587d0484c3852e822e844416c728362438 Author: Robert P. J. Day Date: Fri Mar 7 11:02:00 2008 -0500 USB: g_printer.h does not need to be "unifdef"ed. Since the header file g_printer.h doesn't depend on __KERNEL__, there's no need to unifdef it in the Kbuild file. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit 33635efafef6994891496c266dc9f48c2987ec96 Author: Li Yang Date: Thu Mar 6 18:40:07 2008 +0800 USB: fsl_usb2_udc: fix broken Kconfig The patch fixes broken Kconfig caused by the name change of MPC834x option. It also makes fsl_usb2_udc selectable on new platforms like MPC837x. Signed-off-by: Li Yang Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 72ab6414cf1eaeae8cece64290123d82357fda7e Author: Dirk DeSchepper Date: Wed Mar 5 08:26:18 2008 +0000 USB: option: add novatel device ids This updates the option driver with a lot more novatel driver ids. From: Dirk DeSchepper Signed-off-by: Greg Kroah-Hartman commit ff17e953cb70e37ceb7b487113a0a37441052219 Author: Jim Meyering Date: Tue Mar 4 15:25:11 2008 -0800 USB: usbaudio: handle kcalloc failure sound/usb/usbaudio.c (check_hw_params_convention): Handle kcalloc failure. Signed-off-by: Jim Meyering Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 6f6f06ee6ada13b0fb39c800f8567ff81d4e807d Author: Dmitry Shapin Date: Tue Mar 4 15:25:10 2008 -0800 USB: cypress_m8: add UPS Powercom (0d9f:0002) Add support for UPS Powercom USB interface (0d9f:0002) in chip CY7C63723. In my case, this Powercom BNT800AP. Signed-off-by: Dmitry Shapin Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 8a20acc5fef23755e75f3c48d90c64ce4dc62304 Author: Andrew Morton Date: Tue Mar 4 15:25:08 2008 -0800 USB: drivers/usb/storage/sddr55.c: fix uninitialized var warnings drivers/usb/storage/sddr55.c: In function 'sddr55_transport': drivers/usb/storage/sddr55.c:526: warning: 'deviceID' may be used uninitialized in this function drivers/usb/storage/sddr55.c:525: warning: 'manufacturerID' may be used uninitialized in this function Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit b507cc9710d8b6e3013468b40522e235342fc84a Author: Pete Zaitcev Date: Tue Mar 4 23:28:42 2008 -0800 USB: fix usb-serial generic recursive lock Nobody should be using the generic usb-serial for anything other than testing. Still, it's not a good thing that it's easy to lock up. There is a traceback from NMI oopser here: https://bugzilla.redhat.com/show_bug.cgi?id=431379 But in short, if a line discipline has a chance to echo anything, input can loop back a write method. So, don't call tty_flip_buffer_push from under a lock taken on write path. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 7000d38d6126d6ef928605bdacebc9f12279c5aa Author: Eric Leblond Date: Mon Mar 10 16:42:04 2008 -0700 [NETFILTER]: nfnetlink_log: fix computation of netlink skb size This patch is similar to nfnetlink_queue fixes. It fixes the computation of skb size by using NLMSG_SPACE instead of NLMSG_ALIGN. Signed-off-by: Eric Leblond Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit cabaa9bfb01eb4cee97ffb8a18405f4c5175d3d9 Author: Eric Leblond Date: Mon Mar 10 16:41:43 2008 -0700 [NETFILTER]: nfnetlink_queue: fix computation of allocated size for netlink skb. Size of the netlink skb was wrongly computed because the formula was using NLMSG_ALIGN instead of NLMSG_SPACE. NLMSG_ALIGN does not add the room for netlink header as NLMSG_SPACE does. This was causing a failure of message building in some cases. On my test system, all messages for packets in range [8*k+41, 8*k+48] where k is an integer were invalid and the corresponding packets were dropped. Signed-off-by: Eric Leblond Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b5e85dee2a5433246d5b7488918a1a0ad22c046a Author: Patrick McHardy Date: Mon Mar 10 16:41:06 2008 -0700 [NETFILTER]: nfnetlink: fix ifdef in nfnetlink_compat.h Use __KERNEL__ instead of __KERNEL to make sure the headers are not usable by the kernel. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b91aac29bb9b7cab34b0297449bd2a16944b83d9 Author: Jesper Juhl Date: Sat Mar 8 02:16:07 2008 +0100 PCI Hotplug: Fix small mem leak in IBM Hot Plug Controller Driver In drivers/pci/hotplug/ibmphp_ebda.c::ebda_rsrc_controller(), storage is allocated with kzalloc() and assigned to 'tmp_slot'. Then lots of stuff, like ->flag, ->supported_speed etc is set in tmp_slot. A bit further down there's then this test : if (!bus_info_ptr1) { rc = -ENODEV; goto error; } At this point, tmp_slot has not been assigned to anything, so when erroring-out we want to free it, but nothing at the 'error:' label free's 'tmp_slot' - and we can't really free 'tmp_slot' at 'error:' since we may jump to that label later when 'tmp_slot' *has* been used and we do not want it freed. So, the only sane option left seems to be to kfree(tmp_slot) just before jumping to the 'error:' label in the one place where this is what actually makes sense. The following patch does just that and thus kills off a tiny potential memory leak. Signed-off-by: Jesper Juhl Signed-off-by: Greg Kroah-Hartman commit 8647af71d623671a020a54d860f77bc0fa2e606e Author: Andrew Morton Date: Thu Mar 6 15:41:50 2008 -0800 PCI: rename DECLARE_PCI_DEVICE_TABLE to DEFINE_PCI_DEVICE_TABLE a) DECLARE_PCI_DEVICE_TABLE is misnamed. It is used to *define* tables, not to declare them. It should be called DEFINE_PCI_DEVICE_TABLE. b) It's lame, anyway. We could implement any number of such helper thingies, but we choose not to. So I wouldn't go adding code which uses this thing until it has a correct name, and until we've decided that we actually want to live with it. From: Andrew Morton Cc: Jonas Bonn Signed-off-by: Greg Kroah-Hartman commit e88a0c2ca81207a75afe5bbb8020541dabf606ac Author: James Bottomley Date: Sun Mar 9 11:57:56 2008 -0500 drivers: fix dma_get_required_mask There's a bug in the current implementation of dma_get_required_mask() where it ands the returned mask with the current device mask. This rather defeats the purpose if you're using the call to determine what your mask should be (since you will at that time have the default DMA_32BIT_MASK). This bug results in any driver that uses this function *always* getting a 32 bit mask, which is wrong. Fix by removing the and with dev->dma_mask. Signed-off-by: James Bottomley Cc: stable Signed-off-by: Greg Kroah-Hartman commit fbab976d7ce4556d4212d554f766dae461d22e16 Author: James Bottomley Date: Fri Mar 7 08:57:54 2008 -0600 firmware: provide stubs for the FW_LOADER=n case libsas has a case where it uses the firmware loader to provide services, but doesn't want to select it all the time. This currently causes a compile failure in libsas if FW_LOADER=n. Fix this by providing error stubs for the firmware loader API in the FW_LOADER=n case. Signed-off-by: James Bottomley Cc: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 661b4e89daf10e3f65a1086fd95c7a84720ccdd2 Author: Frank Seidel Date: Thu Mar 6 21:45:57 2008 +0100 nozomi: fix initialization and early flow control access Due to some flaws in the initialization and flow control code kernel oopses could be triggered e.g. when accessing the card too early after insertion. See e.g. kernel.org bug #10077. The main part of the fix is a trivial state management making sure the card is realy ready to use before allowing any access. Signed-off-by: Frank Seidel Signed-off-by: Greg Kroah-Hartman commit ef79df263062fd04fe9db4ee1b9f014a87a8e924 Author: Greg Kroah-Hartman Date: Sun Mar 9 03:37:16 2008 +0530 sysdev: fix problem with sysdev_class being re-registered We need to initialize the kobject for a sysdev_class as it could have been recycled (stupid static kobjects...) We also do the same thing in case sysdev devices are being re-registered. Thanks to Balaji Rao for pointing out the problem. Signed-off-by: Balaji Rao Tested-by: Mikael Pettersson Signed-off-by: Greg Kroah-Hartman commit 1ef36fa64e65079de18ff5179a51af58e44d49a6 Author: Paul Bolle Date: Mon Mar 10 16:39:03 2008 +0100 lguest: Do not append space to guests kernel command line The lguest launcher appends a space to the kernel command line (if kernel arguments are specified on its command line). This space is unneeded. More importantly, this appended space will make Red Hat's nash script interpreter (used in a Fedora style initramfs) add an empty argument to init's command line. This empty argument will make kernel arguments like "init=/bin/bash" fail (because the shell will try to execute a script with an empty name). This could be considered a bug in nash, but is easily fixed in the lguest launcher too. Signed-off-by: Paul Bolle Signed-off-by: Rusty Russell commit 4357bd9453b81e0a41db1dec16e06d74256b7560 Author: Rusty Russell Date: Tue Mar 11 09:35:57 2008 -0500 lguest: Revert 1ce70c4fac3c3954bd48c035f448793867592bc0, fix real problem. Ahmed managed to crash the Host in release_pgd(), which cannot be a Guest bug, and indeed it wasn't. The bug was that handing a 0 as the address of the toplevel page table being manipulated can cause the lookup code in find_pgdir() to return an uninitialized cache entry (we shadow up to 4 top level page tables for each Guest). Commit 37cc8d7f963ba2deec29c9b68716944516a3244f introduced this behaviour in the Guest, uncovering the bug. The patch which he submitted (which removed the /4 from the index calculation) simply ensured that these high-indexed entries hit the early exit path of guest_set_pmd(). But you get lots of segfaults in guest userspace as the PMDs aren't being updated. Signed-off-by: Rusty Russell commit 3fabc55f34b72720e8a10aa442bd3415a211edb3 Author: Rusty Russell Date: Tue Mar 11 09:35:56 2008 -0500 lguest: Sanitize the lguest clock. Now the TSC code handles a zero return from calculate_cpu_khz(), lguest can simply pass through the value it gets from the Host: if non-zero, all the normal TSC code applies. Otherwise (or if the Host really doesn't support TSC), the clocksource code will fall back to the slower but reasonable lguest clock. Signed-off-by: Rusty Russell commit f14ae652baa3d72ae378f0c06b89cc2c4ef15ff8 Author: Rusty Russell Date: Tue Mar 11 09:35:56 2008 -0500 lguest: fix __get_vm_area usage. Robert Bragg's 5dc331852848a38ca00a2817e5b98a1d0561b116 tightened (ie. fixed) the checking in __get_vm_area, and it broke lguest. lguest should pass the exact "end" it wants, not some random constant (it was possible previously that it would actually get an address different from SWITCHER_ADDR). Also, Fabio Checconi pointed out that we should make sure we're not hitting the fixmap area. Signed-off-by: Rusty Russell Cc: Robert Bragg commit f73d1e6ca6985b43a1871467463cba632fbc624d Author: Eugene Teo Date: Sat Feb 9 23:53:17 2008 +0800 lguest: make sure cpu is initialized before accessing it If req is LHREQ_INITIALIZE, and the guest has been initialized before (unlikely), it will attempt to access cpu->tsk even though cpu is not yet initialized. Signed-off-by: Eugene Teo Signed-off-by: Rusty Russell commit cdef59a94c2fc962ada379d4240d556db7b56d55 Author: Tao Ma Date: Wed Mar 5 15:49:55 2008 +0800 ocfs2: Fix NULL pointer dereferences in o2net In some situations, ocfs2_set_nn_state might get called with sc = NULL and valid = 0. If sc = NULL, we can't dereference it to get the o2nm_node member. Instead, do what o2net_initialize_handshake does and use NULL when calling o2net_reconnect_delay and o2net_idle_timeout. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit c824c3c723f2e37a00b3b739a55b28de595fd72e Author: Sunil Mushran Date: Sat Mar 1 14:04:25 2008 -0800 ocfs2/dlm: dlm_thread should not sleep while holding the dlm_spinlock This patch addresses the bug in which the dlm_thread could go to sleep while holding the dlm_spinlock. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 535f7026fddafce6d0a0524db01a432c23a0a7b4 Author: Sunil Mushran Date: Sat Mar 1 14:04:24 2008 -0800 ocfs2/dlm: Print message showing the recovery master Knowing the dlm recovery master helps in debugging recovery issues. This patch prints a message on the recovery master node. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit b31cfc0237f89c3a8bc8f31b5da996e71b543214 Author: Sunil Mushran Date: Sat Mar 1 14:04:22 2008 -0800 ocfs2/dlm: Add missing dlm_lockres_put()s dlm_master_request_handler() forgot to put a lockres when dlm_assert_master_worker() failed or was skipped. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 52987e2ab456c1a828046494aac53819b1454341 Author: Sunil Mushran Date: Sat Mar 1 14:04:21 2008 -0800 ocfs2/dlm: Add missing dlm_lockres_put()s in migration path During migration, the recovery master node may be asked to master a lockres it may not know about. In that case, it would not only have to create a lockres and add it to the hash, but also remember to to do the _put_ corresponding to the kref_init in dlm_init_lockres(), as soon as the migration is completed. Yes, we don't wait for the dlm_purge_lockres() to do that matching put. Note the ref added for it being in the hash protects the lockres from being freed prematurely. This patch adds that missing put, as described above, to plug a memleak. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 2c5c54aca9d0263f81bd4886232835ba31f7635a Author: Sunil Mushran Date: Sat Mar 1 14:04:20 2008 -0800 ocfs2/dlm: Add missing dlm_lock_put()s Normally locks for remote nodes are freed when that node sends an UNLOCK message to the master. The master node tags an DLM_UNLOCK_FREE_LOCK action to do an extra put on the lock at the end. However, there are times when the master node has to free the locks for the remote nodes forcibly. Two cases when this happens are: 1. When the master has migrated the lockres plus all locks to another node. 2. When the master is clearing all the locks of a dead node. It was in the above two conditions that the dlm was missing the extra put. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 4338ab6a750303cbae4cc76cc7de5edba6598ebe Author: Tao Ma Date: Mon Mar 3 10:53:02 2008 +0800 ocfs2: Fix an endian bug in online resize. In ocfs2_group_add, 'cr' is a disk field of type 'ocfs2_chain_rec', and we were putting cpu byteorder values into it. Swap things to the right endian before storing. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 90d99779a4cc134daaf8910d814b7a8a5d1e8970 Author: Jan Engelhardt Date: Tue Jan 22 20:52:20 2008 +0100 [PATCH] [OCFS2]: constify function pointer tables Signed-off-by: Jan Engelhardt Signed-off-by: Mark Fasheh commit 0f71b7b40f55de909e40fa5ab217a5da3439c7d8 Author: Joel Becker Date: Tue Feb 12 14:56:25 2008 -0800 ocfs2: Fix endian bug in o2dlm protocol negotiation. struct dlm_query_join_packet is made up of four one-byte fields. They are effectively in big-endian order already. However, little-endian machines swap them before putting the packet on the wire (because query_join's response is a status, and that status is treated as a u32 on the wire). Thus, a big-endian and little-endian machines will treat this structure differently. The solution is to have little-endian machines swap the structure when converting from the structure to the u32 representation. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 2af37ce82d199d1d8cd6286f42f37d321627a807 Author: Tao Ma Date: Thu Feb 28 10:41:55 2008 +0800 ocfs2: Use dlm_print_one_lock_resource for lock resource print __dlm_print_one_lock_resource must be called with spin_lock the res->spinlock. While in some cases, we use it without this precondition and lead to the failure of assert_spin_locked. So call dlm_print_one_lock_resource instead. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 3a4780a85d4a160a471ed887bfce58b414f556b1 Author: Andrew Morton Date: Fri Feb 29 01:56:06 2008 -0800 [PATCH] fs/ocfs2/dlm/dlmdomain.c: fix printk warning fs/ocfs2/dlm/dlmdomain.c: In function 'dlm_send_join_cancels': fs/ocfs2/dlm/dlmdomain.c:983: warning: format '%u' expects type 'unsigned int', but argument 7 has type 'long unsigned int' Signed-off-by: Andrew Morton Signed-off-by: Mark Fasheh commit 86f4e5d4335556191b436b41b0ad2f719c4a98d4 Author: Ionut Nicu Date: Fri Mar 7 19:27:59 2008 +0200 [POWERPC] QE: Make qe_get_firmware_info reentrant The function was returning NULL the second time it was called if the firmware was uploaded from the boot loader or the first time it was called if the firmware was uploaded from the kernel. Signed-off-by: Ionut Nicu Acked-By: Timur Tabi Signed-off-by: Kumar Gala commit 55f78e1771f0886162edd441dd4f39c287779de2 Author: Harvey Harrison Date: Mon Mar 10 17:14:34 2008 +0000 [CIFS] cifs: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Steve French commit f4299e1943d0c9ce29a6c5dc7c7674a82a17b315 Author: Alan Cox Date: Mon Mar 10 13:24:49 2008 +0000 riscom8: Fix hang on load This has been around for a while but nobody reported it until recently. Resubmitting the fix as it's appropriate for 2.6.25 Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit ad562c71592ae76440c27bba9bfa9c16cc851560 Author: Andy Fleming Date: Fri Mar 7 17:59:03 2008 -0600 [POWERPC] 83xx: Make 83xx perfmon support selectable Not all e300 cores support the performance monitors, and the ones that don't will be confused by the mf/mtpmr instructions. This allows the support to be optional, so the 8349 can turn it off while the 8379 can turn it on. Sadly, those aren't config options, so it will be left to the defconfigs and the users to make that determination. Signed-off-by: Andy Fleming Signed-off-by: Kumar Gala commit bafe68034e3ef5e9f512bd0468001caf34981c41 Author: Haavard Skinnemoen Date: Mon Mar 10 12:56:12 2008 +0100 avr32: Work around byteswap bug in gcc < 4.2 gcc versions earlier than 4.2 sign-extends the result of le16_to_cpu() and friends when we implement __arch__swabX() using __builtin_bswap_X(). Disable our arch-specific optimizations when those gcc versions are being used. Signed-off-by: Haavard Skinnemoen commit cdeeeae056a429e729ae9e914fa8142ee45bee93 Author: Linus Torvalds Date: Sun Mar 9 22:22:27 2008 -0700 Linux 2.6.25-rc5 commit 3426fadfa20454f124203768857e8f18ab4909bd Author: Jesper Juhl Date: Mon Mar 10 01:12:08 2008 +0100 Do not include linux/backing-dev.h twice Don't include linux/backing-dev.h twice in mm/filemap.c, it's pointless. Signed-off-by: Jesper Juhl Signed-off-by: Linus Torvalds commit 4fa45725df0f00c2bf86a0fc2670e88bfe0ceee7 Author: Jon Mason Date: Sun Mar 9 13:54:12 2008 -0700 RDMA/cxgb3: Fix iwch_create_cq() off-by-one error The cxbg3 driver is unnecessarily decreasing the number of CQ entries by one when creating a CQ. This will cause the CQ not to have as many entries as requested by the user if the user requests a power of 2 size. Signed-off-by: Jon Mason Acked-by: Steve Wise Signed-off-by: Roland Dreier commit bf5a25e1fff88a1066e20cc7263329405e4939f6 Merge: 83f7a2c... 10a398d... Author: Linus Torvalds Date: Sun Mar 9 10:06:49 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt * git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt: time: remove obsolete CLOCK_TICK_ADJUST time: don't touch an offlined CPU's ts->tick_stopped in tick_cancel_sched_timer() time: prevent the loop in timespec_add_ns() from being optimised away ntp: use unsigned input for do_div() commit 83f7a2c118833d3738b4d162ea3c17d0bd8ffa94 Merge: ab875cf... f13ba2f... Author: Linus Torvalds Date: Sun Mar 9 10:06:14 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: [CRYPTO] skcipher: Fix section mismatches commit ab875cf67e89eef150ae8d4ef09c361e47b6b398 Author: Ivan Kokshaysky Date: Sun Mar 9 16:31:17 2008 +0300 alpha: fix iommu-related boot panic This fixes a boot panic due to a typo in the recent iommu patchset from FUJITA Tomonori - the code used dma_get_max_seg_size() instead of dma_get_seg_boundary(). It also removes a couple of unnecessary BUG_ON() and ALIGN() macros. Signed-off-by: Ivan Kokshaysky Reported-and-tested-by: Bob Tracy Acked-by: FUJITA Tomonori Signed-off-by: Linus Torvalds commit 393d94d98b19089ec172566e23557997931b137e Author: Gregory Haskins Date: Sat Mar 8 00:10:15 2008 -0500 cpu hotplug: adjust root-domain->online span in response to hotplug event We currently set the root-domain online span automatically when the domain is added to the cpu if the cpu is already a member of cpu_online_map. This was done as a hack/bug-fix for s2ram, but it also causes a problem with hotplug CPU_DOWN transitioning. The right way to fix the original problem is to actually respond to CPU_UP events, instead of CPU_ONLINE, which is already too late. This solves the hung reboot regression reported by Andrew Morton and others. Signed-off-by: Gregory Haskins Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 10a398d04c4a1fc395840f4d040493375f562302 Author: Roman Zippel Date: Tue Mar 4 15:14:26 2008 -0800 time: remove obsolete CLOCK_TICK_ADJUST The first version of the ntp_interval/tick_length inconsistent usage patch was recently merged as bbe4d18ac2e058c56adb0cd71f49d9ed3216a405 http://git.kernel.org/gitweb.cgi?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bbe4d18ac2e058c56adb0cd71f49d9ed3216a405 While the fix did greatly improve the situation, it was correctly pointed out by Roman that it does have a small bug: If the users change clocksources after the system has been running and NTP has made corrections, the correctoins made against the old clocksource will be applied against the new clocksource, causing error. The second attempt, which corrects the issue in the NTP_INTERVAL_LENGTH definition has also made it up-stream as commit e13a2e61dd5152f5499d2003470acf9c838eab84 http://git.kernel.org/gitweb.cgi?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e13a2e61dd5152f5499d2003470acf9c838eab84 Roman has correctly pointed out that CLOCK_TICK_ADJUST is calculated based on the PIT's frequency, and isn't really relevant to non-PIT driven clocksources (that is, clocksources other then jiffies and pit). This patch reverts both of those changes, and simply removes CLOCK_TICK_ADJUST. This does remove the granularity error correction for users of PIT and Jiffies clocksource users, but the granularity error but for the majority of users, it should be within the 500ppm range NTP can accommodate for. For systems that have granularity errors greater then 500ppm, the "ntp_tick_adj=" boot option can be used to compensate. [johnstul@us.ibm.com: provided changelog] [mattilinnanvuori@yahoo.com: maek ntp_tick_adj static] Signed-off-by: Roman Zippel Acked-by: john stultz Signed-off-by: Matti Linnanvuori Signed-off-by: Andrew Morton Cc: mingo@elte.hu Signed-off-by: Thomas Gleixner commit a79017660ea4597ec489fab3b5aaf71dd776dfc7 Author: Karsten Wiese Date: Tue Mar 4 14:59:55 2008 -0800 time: don't touch an offlined CPU's ts->tick_stopped in tick_cancel_sched_timer() Silences WARN_ONs in rcu_enter_nohz() and rcu_exit_nohz(), which appeared before caused by (repeated) calls to: $ echo 0 > /sys/devices/system/cpu/cpu1/online $ echo 1 > /sys/devices/system/cpu/cpu1/online Signed-off-by: Karsten Wiese Cc: johnstul@us.ibm.com Cc: Rafael Wysocki Cc: Steven Rostedt Cc: Ingo Molnar Acked-by: Paul E. McKenney Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 38332cb98772f5ea757e6486bed7ed0381cb5f98 Author: Segher Boessenkool Date: Tue Mar 4 14:59:54 2008 -0800 time: prevent the loop in timespec_add_ns() from being optimised away Since some architectures don't support __udivdi3(). Signed-off-by: Segher Boessenkool Cc: john stultz Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit e48af19f56eb47a1f908ee8f16df9d246f955b21 Author: David Howells Date: Mon Feb 25 18:31:57 2008 +0100 ntp: use unsigned input for do_div() The kernel NTP code shouldn't hand 64-bit *signed* values to do_div(). Make it instead hand 64-bit unsigned values. This gets rid of a couple of warnings. Signed-off-by: David Howells Cc: Roman Zippel Cc: Ingo Molnar Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 7962670e648a0431338a7ce73847c24bc023d095 Author: Igor Mammedov Date: Sun Mar 9 03:44:18 2008 +0000 [CIFS] DFS patch that connects inode with dfs handling ops if DFS junction point Signed-off-by: Igor Mammedov Signed-off-by: Steve French commit 67951f63807328b81e45c3c87af049c55c0a0081 Author: James Bottomley Date: Thu Mar 6 15:32:06 2008 -0600 [SCSI] Fix dependency problems in SCSI drivers We have several drivers that don't list SCSI as a dependency in Kconfig. That leads to them potentially being selected as Y even if SCSI is M (which will produce a build failure). Fix this by making the if SCSI_LOWLEVEL that goes around all the drivers a tristate forcing them all automatically to inherit the value of SCSI. Signed-off-by: James Bottomley commit 6efcae460186c0c1c94afff58a92784e1fc0d10b Author: Roland McGrath Date: Sat Mar 8 11:41:22 2008 -0800 Fix waitid si_code regression In commit ee7c82da830ea860b1f9274f1f0cdf99f206e7c2 ("wait_task_stopped: simplify and fix races with SIGCONT/SIGKILL/untrace"), the magic (short) cast when storing si_code was lost in wait_task_stopped. This leaks the in-kernel CLD_* values that do not match what userland expects. Signed-off-by: Roland McGrath Cc: Oleg Nesterov Signed-off-by: Linus Torvalds commit 4c91363dc01310dc34f1621ef00d680b4404f71c Author: Lennert Buytenhek Date: Fri Mar 7 11:47:23 2008 +0100 [ARM] 4856/1: Orion: initialise the sixth PCIe MBUS mapping window as well Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit 88603f1dc1bf414dc21a0361693d1270231a6c59 Author: Lennert Buytenhek Date: Fri Mar 7 11:41:18 2008 +0100 [ARM] 4855/1: Orion: use correct ethernet unit address range Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit a4f14bace8ddf0cc26fc2d658b6dd37c71178770 Author: Uwe Kleine-König Date: Thu Mar 6 16:22:17 2008 +0100 [ARM] 4853/1: include uImage target in make help Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit ac5bbf21bf38b3f5eaa8cb1e17f7513dc354afda Author: Uwe Kleine-König Date: Thu Mar 6 16:21:42 2008 +0100 [ARM] 4851/1: ns9xxx: fix size of gpiores GPIO_MAX is the number of the last gpio, not the number of gpios. So the bitmap must provide GPIO_MAX + 1 bits. Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit f13ba2f7d3a877967477ec8f64e1dae7a967c7e2 Author: Herbert Xu Date: Sat Mar 8 20:29:43 2008 +0800 [CRYPTO] skcipher: Fix section mismatches The previous patch to move chainiv and eseqiv into blkcipher created a section mismatch for the chainiv exit function which was also called from __init. This patch removes the __exit marking on it. Signed-off-by: Herbert Xu commit 84c6f6046c5a2189160a8f0dca8b90427bf690ea Author: Roland McGrath Date: Fri Mar 7 14:56:02 2008 -0800 x86_64: make ptrace always sign-extend orig_ax to 64 bits This makes 64-bit ptrace calls setting the 64-bit orig_ax field for a 32-bit task sign-extend the low 32 bits up to 64. This matches what a 64-bit debugger expects when tracing a 32-bit task. This follows on my "x86_64 ia32 syscall restart fix". This didn't matter until that was fixed. The debugger ignores or zeros the high half of every register slot it sets (including the orig_rax pseudo-register) uniformly. It expects that the setting of the low 32 bits always has the same meaning as a 32-bit debugger setting those same 32 bits with native 32-bit facilities. This never arose before because the syscall restart check never matched any -ERESTART* values due to lack of sign extension. Before that fix, even 32-bit ptrace setting orig_eax to -1 failed to trigger the restart check anyway. So this was never noticed as a regression of 64-bit debuggers vs 32-bit debuggers on the same 64-bit kernel. Signed-off-by: Roland McGrath [ Changed to just do the sign-extension unconditionally on x86-64, since orig_ax is always just a small integer and doesn't need the full 64-bit range ] Signed-off-by: Linus Torvalds commit 60d5bcec7ed6c00e3ec88749fd81229731363221 Author: Karsten Keil Date: Fri Mar 7 21:10:34 2008 +0100 bluetooth: Add another Broadcom device This adds another Broadcom BCM2045 based device to the blacklist, with these settings the micro dongle works on my system. Signed-off-by: Karsten Keil Acked-by: Marcel Holtmann Signed-off-by: Linus Torvalds commit 1757f2d12dce775982aaa006bce1cf4f7ce90111 Author: Yuri Tikhonov Date: Sat Feb 2 10:47:31 2008 +0300 [PPC] 8xx: swap bug-fix This makes swap routines operate correctly on the ppc_8xx based machines. Recent kernel's size makes swap feature very important on low-memory platfor those are actually non-operable without it. Signed-off-by: Yuri Tikhonov Signed-off-by: Kumar Gala commit 3e0d65bf6d5b464949b749a8da7977f6b197d301 Author: Jeremy McNicoll Date: Fri Mar 7 15:14:09 2008 -0500 [POWERPC] 85xx: sbc8548 - Fix incorrect PCI-X and PCI interrupt map The following patch allows interrupts to occur on the sbc8548. Currently PCI and PCI-X devices get assigned an IRQ but the interrupt count never increases. This solves the problem and adds PCI support as well. Signed-off-by: Jeremy McNicoll Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit bb799dcadd60796ab13d32a698d92bfb92ce0d5c Merge: bb641ab... 989a724... Author: Linus Torvalds Date: Fri Mar 7 13:49:32 2008 -0800 Merge branch 'slab-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/christoph/vm * 'slab-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/christoph/vm: slub: fix typo in Documentation/vm/slub.txt slab: NUMA slab allocator migration bugfix slub: Do not cross cacheline boundaries for very small objects slab - use angle brackets for include of kmalloc_sizes.h slab numa fallback logic: Do not pass unfiltered flags to page allocator slub statistics: Fix check for DEACTIVATE_REMOTE_FREES commit bb641ab496d5b8eb835ae1933926fdf23feb5260 Merge: 4c1aa6f... 1c10e93... Author: Linus Torvalds Date: Fri Mar 7 13:17:59 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: ide: update references to Documentation/ide/ide.txt (v2) ide: move ide.txt to Documentation/ide/ ide: fix buggy code in ide_register_hw() ide: fix enabling DMA on it821x in "smart" mode ide-cd: mark REQ_TYPE_ATA_PC write requests with REQ_RW flag commit 1c10e93828f8861c3f58d647e259de0e2c63b930 Author: Randy Dunlap Date: Fri Mar 7 21:53:50 2008 +0100 ide: update references to Documentation/ide/ide.txt (v2) Fix all references to Documentation/ide/ide.txt. Add/update ide/00-INDEX file. Signed-off-by: Randy Dunlap Signed-off-by: Bartlomiej Zolnierkiewicz commit 331a5ad2a2ab6e93d1848b060c84fd2821c72e29 Author: Randy Dunlap Date: Fri Mar 7 21:53:50 2008 +0100 ide: move ide.txt to Documentation/ide/ Cleanup some of Documentation directory: Move Documentation/ide.txt to the ide/ sub-directory. Fix trailing whitespace while there. Signed-off-by: Randy Dunlap Signed-off-by: Bartlomiej Zolnierkiewicz commit 0c6025d44448bd688dfd351a09bc620aafa4d1ff Author: Peter Teoh Date: Fri Mar 7 21:53:49 2008 +0100 ide: fix buggy code in ide_register_hw() Relocating the index to come after finding the hwif pointer. Signed-off-by: Peter Teoh Reported-by: Adrian Bunk Signed-off-by: Bartlomiej Zolnierkiewicz commit ef4298d0f06c788d204caa9e395de6e9e2fd9fc9 Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 7 21:53:49 2008 +0100 ide: fix enabling DMA on it821x in "smart" mode ide_tune_dma() should return '1' if IDE_HFLAG_NO_SET_MODE host flag is set. Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit b348487f0dc06f09a4c0d9e353eaa66e70230c7d Author: Bartlomiej Zolnierkiewicz Date: Fri Mar 7 21:53:49 2008 +0100 ide-cd: mark REQ_TYPE_ATA_PC write requests with REQ_RW flag On Thursday 06 March 2008, walt wrote: > For me, this commit causes the problem it's intended to fix: > > 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 > > 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. > > When I mount a CD there is a long delay, and I see this error message: > > hdc: ide_cd_check_ireason: wrong transfer direction! > cdrom: failed setting lba address space > hdc: status error: status=0x58 { DriveReady SeekComplete DataRequest } > ide: failed opcode was: unknown > hdc: drive not ready for command > > > When I revert this commit everything works properly again, including > CD burning. It turned out that REQ_TYPE_ATA_PC write requests were not marked as such (the previous commit assumed them to be). Reported-by: walt Tested-by: walt Reviewed-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4c1aa6f8b9686ddc7221f0f3b63f9b7dd1467543 Merge: 5d49c10... 4e99a1f... Author: Linus Torvalds Date: Fri Mar 7 12:08:07 2008 -0800 Merge branch 'hotfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * 'hotfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: NFS: Fix dentry revalidation for NFSv4 referrals and mountpoint crossings NFS: Fix the fsid revalidation in nfs_update_inode() SUNRPC: Fix a nfs4 over rdma transport oops NFS: Fix an f_mode/f_flags confusion in fs/nfs/write.c commit 4e99a1ff3410c627a428d5ddb6cd2e7bc908a486 Author: Trond Myklebust Date: Thu Mar 6 12:34:59 2008 -0500 NFS: Fix dentry revalidation for NFSv4 referrals and mountpoint crossings As long as the directory contents haven't changed, we should just let the path walk proceed to cross the mountpoint. Apart from being an optimisation in the case of 'nohide' mountpoint traversals, it also fixes an issue with referrals: referral inodes don't have valid filehandles, so calling nfs_revalidate_inode() on them is a bug. Signed-off-by: Trond Myklebust commit c37dcd334c0b0a46a90cfa13b9f69e2aaa89bc09 Author: Trond Myklebust Date: Thu Mar 6 12:34:50 2008 -0500 NFS: Fix the fsid revalidation in nfs_update_inode() When we detect that we've crossed a mountpoint on the remote server, we must take care not to use that inode to revalidate the fsid on our current superblock. To do so, we label the inode as a remote mountpoint, and check for that in nfs_update_inode(). Signed-off-by: Trond Myklebust commit ee1a2c564f67407947e89f1dac75ac0af0ba88c7 Author: Tom Talpey Date: Wed Feb 27 15:04:26 2008 -0500 SUNRPC: Fix a nfs4 over rdma transport oops Prevent an RPC oops when freeing a dynamically allocated RDMA buffer, used in certain special-case large metadata operations. Signed-off-by: Tom Talpey Signed-off-by: James Lentini Signed-off-by: Trond Myklebust commit af1b8c2ff7c337c4e96db12d6b7b61eaa91aa069 Author: Trond Myklebust Date: Mon Feb 25 15:56:29 2008 -0800 NFS: Fix an f_mode/f_flags confusion in fs/nfs/write.c O_SYNC is stored in filp->f_flags. Thanks to Al Viro for pointing out the bug. Signed-off-by: Trond Myklebust commit e621e69137b24fdbbe7ad28214e8d81e614c25b7 Author: Kirill A. Shutemov Date: Fri Mar 7 11:11:13 2008 -0800 [NET]: include into linux/ethtool.h for __u* typedef Signed-off-by: Kirill A. Shutemov Signed-off-by: David S. Miller commit e9720acd728a46cb40daa52c99a979f7c4ff195c Author: Pavel Emelyanov Date: Fri Mar 7 11:08:40 2008 -0800 [NET]: Make /proc/net a symlink on /proc/self/net (v3) Current /proc/net is done with so called "shadows", but current implementation is broken and has little chances to get fixed. The problem is that dentries subtree of /proc/net directory has fancy revalidation rules to make processes living in different net namespaces see different entries in /proc/net subtree, but currently, tasks see in the /proc/net subdir the contents of any other namespace, depending on who opened the file first. The proposed fix is to turn /proc/net into a symlink, which points to /proc/self/net, which in turn shows what previously was in /proc/net - the network-related info, from the net namespace the appropriate task lives in. # ls -l /proc/net lrwxrwxrwx 1 root root 8 Mar 5 15:17 /proc/net -> self/net In other words - this behaves like /proc/mounts, but unlike "mounts", "net" is not a file, but a directory. Changes from v2: * Fixed discrepancy of /proc/net nlink count and selinux labeling screwup pointed out by Stephen. To get the correct nlink count the ->getattr callback for /proc/net is overridden to read one from the net->proc_net entry. To make selinux still work the net->proc_net entry is initialized properly, i.e. with the "net" name and the proc_net parent. Selinux fixes are Acked-by: Stephen Smalley Changes from v1: * Fixed a task_struct leak in get_proc_task_net, pointed out by Paul. Signed-off-by: Pavel Emelyanov Acked-by: "Eric W. Biederman" Signed-off-by: David S. Miller commit 5d49c101a126808a38f2a1f4eedc1fd28233e37f Author: Tilman Schmidt Date: Fri Mar 7 19:47:08 2008 +0100 gigaset: fix Oops on module unload regression The card state mutex was only initialized when a device was connected, but used during unload unconditionally, leading to an Oops if a driver was loaded and unloaded again without ever connecting a device. Fix this by initializing the mutex as soon as the structure is allocated. Also add a missing mutex unlock revealed in the same execution path. This fixes a possible Oops in 2.6.25-rc that was introduced by commit e468c04894f36045cf93d1384183a461014b6840 ("Gigaset: permit module unload"). Thanks to Roland Kletzing for reporting this problem. Signed-off-by: Tilman Schmidt Tested-by: Roland Kletzing Cc: Hansjoerg Lipp Cc: Karsten Keil Signed-off-by: Linus Torvalds commit 1d6789c3bc2b70bed1eb71aa616b1d94f9c23a63 Merge: 0a9e070... 521f1a2... Author: Linus Torvalds Date: Fri Mar 7 10:08:17 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel: sched: don't allow rt_runtime_us to be zero for groups having rt tasks sched: rt-group: fixup schedulability constraints calculation sched: fix the wrong time slice value for SCHED_FIFO tasks sched: export task_nice sched: balance RT task resched only on runqueue sched: retain vruntime commit 0a9e0703497013cf7a21455e51face5f048a187f Merge: 80d38f9... 1722770... Author: Linus Torvalds Date: Fri Mar 7 10:05:57 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: x86-boot: don't request VBE2 information x86: re-add reboot fixups x86: fix typo in step.c x86: fix merge mistake in i387.c x86: clear DF before calling signal handler commit 80d38f9a7871d9bafc3f244dabe48b41a58de705 Author: Ingo Molnar Date: Fri Mar 7 10:47:43 2008 +0100 drivers/char/esp.c: fix bootup lockup randconfig testing found a bootup lockup in drivers/char/esp.c because of a spinlock that wasn't correctly initialized. I'm not sure why it became more prominent in 2.6.25-rc4, the bug seems rather old and i've been doing allyesconfig bootups for ages with CONFIG_ESP enabled. This fixes this bootup lockup: PM: Adding info for No Bus:ttyP63 ttyP32 at 0x0240 (irq = 0) is an ESP primary port BUG: spinlock lockup on CPU#0, swapper/1, f56dd004 Pid: 1, comm: swapper Not tainted 2.6.25-rc4-sched-devel.git-x86-latest.git #402 [] _raw_spin_lock+0x134/0x140 [] _spin_lock_irqsave+0x5e/0x80 [] ? espserial_init+0x2be/0x6e0 [] espserial_init+0x2be/0x6e0 [] kernel_init+0x83/0x260 [] ? espserial_init+0x0/0x6e0 [] ? restore_nocheck_notrace+0x0/0xe [] ? kernel_init+0x0/0x260 [] ? kernel_init+0x0/0x260 [] kernel_thread_helper+0x7/0x10 ======================= kzalloc() is not the way to initialize spinlocks anymore. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 951b62c11e86acf8c55d9828aa8c921575023c29 Author: Matthew Wilcox Date: Fri Oct 5 15:57:06 2007 -0400 [SCSI] advansys: Fix bug in AdvLoadMicrocode buf[i] can be up to 0xfd, so doubling it and assigning the result to an unsigned char truncates the value. Just use an unsigned int instead; it's only a temporary. Signed-off-by: Matthew Wilcox Cc: Stable Tree Signed-off-by: James Bottomley commit 521f1a2489c41f8b1181b0a8eb52e1c34284d50b Author: Dhaval Giani Date: Thu Feb 28 15:21:56 2008 +0530 sched: don't allow rt_runtime_us to be zero for groups having rt tasks This patch checks if we can set the rt_runtime_us to 0. If there is a realtime task in the group, we don't want to set the rt_runtime_us as 0 or bad things will happen. (that task wont get any CPU time despite being TASK_RUNNNG) Signed-off-by: Dhaval Giani Signed-off-by: Ingo Molnar commit 2692a2406b9262bbb101708815be99ec2988e48b Author: Peter Zijlstra Date: Wed Feb 27 12:00:46 2008 +0100 sched: rt-group: fixup schedulability constraints calculation it was only possible to configure the rt-group scheduling parameters beyond the default value in a very small range. that's because div64_64() has a different calling convention than do_div() :/ fix a few untidies while we are here; sysctl_sched_rt_period may overflow due to that multiplication, so cast to u64 first. Also that RUNTIME_INF juggling makes little sense although its an effective NOP. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 1868f958eb56fc41c5985c8732e564a400c5fdf5 Author: Miao Xie Date: Fri Mar 7 09:35:06 2008 +0800 sched: fix the wrong time slice value for SCHED_FIFO tasks Function sys_sched_rr_get_interval returns wrong time slice value for SCHED_FIFO tasks. The time slice for SCHED_FIFO tasks should be 0. Signed-off-by: Miao Xie Signed-off-by: Ingo Molnar commit 150d8bede7f85eb00d8f4d628e6b0bae68739e3b Author: Pavel Roskin Date: Wed Mar 5 16:56:37 2008 -0500 sched: export task_nice The API is trivial, and so is the implementation. Signed-off-by: Pavel Roskin Signed-off-by: Ingo Molnar commit 6fa46fa526f2cab9ce21fa5e39501553a40d196d Author: Steven Rostedt Date: Wed Mar 5 10:00:12 2008 -0500 sched: balance RT task resched only on runqueue Sripathi Kodi reported a crash in the -rt kernel: https://bugzilla.redhat.com/show_bug.cgi?id=435674 this is due to a place that can reschedule a task without holding the tasks runqueue lock. This was caused by the RT balancing code that pulls RT tasks to the current run queue and will reschedule the current task. There's a slight chance that the pulling of the RT tasks will release the current runqueue's lock and retake it (in the double_lock_balance). During this time that the runqueue is released, the current task can migrate to another runqueue. In the prio_changed_rt code, after the pull, if the current task is of lesser priority than one of the RT tasks pulled, resched_task is called on the current task. If the current task had migrated in that small window, resched_task will be called without holding the runqueue lock for the runqueue that the task is on. This race condition also exists in the mainline kernel and this patch adds a check to make sure the task hasn't migrated before calling resched_task. Signed-off-by: Steven Rostedt Tested-by: Sripathi Kodi Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 810b38179e9e4d4f57b4b733767bb08f8291a965 Author: Peter Zijlstra Date: Fri Feb 29 15:21:01 2008 -0500 sched: retain vruntime Kei Tokunaga reported an interactivity problem when moving tasks between control groups. Tasks would retain their old vruntime when moved between groups, this can cause funny lags. Re-set the vruntime on group move to fit within the new tree. Reported-by: Kei Tokunaga Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 1722770f131bb5c8e238825f3eba2efa331483a2 Author: Peter Korsgaard Date: Thu Mar 6 10:56:45 2008 +0100 x86-boot: don't request VBE2 information The new x86 setup code (4fd06960f120) broke booting on an old P3/500MHz with an onboard Voodoo3 of mine. After debugging it, it turned out to be caused by the fact that the vesa probing now asks for VBE2 data. Disassembing the video BIOS shows that it overflows the vesa_general_info structure when VBE2 data is requested because the source addresses for the information strings which get strcpy'ed to the buffer lie outside the 32K BIOS code (and hence contain long sequences of 0xff's). E.G.: get_vbe_controller_info: 00002A9C 60 pushaw 00002A9D 1E push ds 00002A9E 0E push cs 00002A9F 1F pop ds 00002AA0 2BC9 sub cx,cx 00002AA2 6626813D56424532 cmp dword [es:di],0x32454256 ; "VBE2" 00002AAA 7501 jnz .1 00002AAC 41 inc cx .1: 00002AAD 51 push cx 00002AAE B91400 mov cx,0x14 00002AB1 BED47F mov si, controller_header 00002AB4 57 push di 00002AB5 F3A4 rep movsb ; copy vbe1.2 header 00002AB7 B9EC00 mov cx,0xec 00002ABA 2AC0 sub al,al 00002ABC F3AA rep stosb ; zero pad remainder 00002ABE 5F pop di 00002ABF E8EB0D call word get_memory 00002AC2 C1E002 shl ax,0x2 00002AC5 26894512 mov [es:di+0x12],ax ; total memory 00002AC9 26C745040003 mov word [es:di+0x4],0x300 ; VBE version 00002ACF 268C4D08 mov [es:di+0x8],cs 00002AD3 268C4D10 mov [es:di+0x10],cs 00002AD7 59 pop cx 00002AD8 E361 jcxz .done ; VBE2 requested? 00002ADA 8D9D0001 lea bx,[di+0x100] 00002ADE 53 push bx 00002ADF 87DF xchg bx,di ; di now points to 2nd half 00002AE1 26C747140001 mov word [es:bx+0x14],0x100 ; sw rev 00002AE7 26897F06 mov [es:bx+0x6],di ; oem string 00002AEB 268C4708 mov [es:bx+0x8],es 00002AEF BE5280 mov si,0x8052 ; oem string 00002AF2 E87A1B call word strcpy 00002AF5 26897F0E mov [es:bx+0xe],di ; video mode list 00002AF9 268C4710 mov [es:bx+0x10],es 00002AFD B91E00 mov cx,0x1e 00002B00 BEE87F mov si,vidmodes 00002B03 F3A5 rep movsw 00002B05 26897F16 mov [es:bx+0x16],di ; oem vendor 00002B09 268C4718 mov [es:bx+0x18],es 00002B0D BE2480 mov si,0x8024 ; oem vendor 00002B10 E85C1B call word strcpy 00002B13 26897F1A mov [es:bx+0x1a],di ; oem product 00002B17 268C471C mov [es:bx+0x1c],es 00002B1B BE3880 mov si,0x8038 ; oem product 00002B1E E84E1B call word strcpy 00002B21 26897F1E mov [es:bx+0x1e],di ; oem product rev 00002B25 268C4720 mov [es:bx+0x20],es 00002B29 BE4580 mov si,0x8045 ; oem product rev 00002B2C E8401B call word strcpy 00002B2F 58 pop ax 00002B30 B90001 mov cx,0x100 00002B33 2BCF sub cx,di 00002B35 03C8 add cx,ax 00002B37 2AC0 sub al,al 00002B39 F3AA rep stosb ; zero pad .done: 00002B3B 1F pop ds 00002B3C 61 popaw 00002B3D B84F00 mov ax,0x4f 00002B40 C3 ret (The full BIOS can be found at http://peter.korsgaard.com/vgabios.bin if interested). The old setup code didn't ask for VBE2 info, and the new code doesn't actually do anything with the extra information, so the fix is to simply not request it. Other BIOS'es might have the same problem. Signed-off-by: Peter Korsgaard Signed-off-by: Ingo Molnar commit 7432d149fda8ce9ead9df91e577b83ce52ad5f65 Author: Ingo Molnar Date: Thu Mar 6 18:29:43 2008 +0100 x86: re-add reboot fixups Jan Beulich noticed that the reboot fixups went missing during reboot.c unification. (commit 4d022e35fd7e07c522c7863fee6f07e53cf3fc14) Geode and a few other rare boards with special reboot quirks are affected. Reported-by: Jan Beulich Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit d032b31a3a22a571cb50c0b5dffbe9ba9328d6e2 Author: Jan Beulich Date: Wed Mar 5 08:36:48 2008 +0000 x86: fix typo in step.c TIF_DEBUGCTLMSR has no meaning in the actual MSR... Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit 609b5297bcfb7b39b7a4137e9ec48407a8c96763 Author: Jan Beulich Date: Wed Mar 5 08:35:14 2008 +0000 x86: fix merge mistake in i387.c convert_fxsr_to_user() in 2.6.24's i387_32.c did this, and convert_to_fxsr() also does the inverse, so I assume it's an oversight that it is no longer being done. [ mingo@elte.hu: we encode it this way because there's no space for the 'FPU Last Instruction Opcode' (->fop) field in the legacy user_i387_ia32_struct that PTRACE_GETFPREGS/PTRACE_SETFPREGS uses. it's probably pure legacy - i'd be surprised if any user-space relied on the FPU Last Opcode in any way. But indeed we used to do it previously so the most conservative thing is to preserve that piece of information. ] Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar commit e40cd10ccff3d9fbffd57b93780bee4b7b9bff51 Author: Aurelien Jarno Date: Wed Mar 5 19:14:24 2008 +0100 x86: clear DF before calling signal handler The Linux kernel currently does not clear the direction flag before calling a signal handler, whereas the x86/x86-64 ABI requires that. Linux had this behavior/bug forever, but this becomes a real problem with gcc version 4.3, which assumes that the direction flag is correctly cleared at the entry of a function. This patches changes the setup_frame() functions to clear the direction before entering the signal handler. Signed-off-by: Aurelien Jarno Signed-off-by: Ingo Molnar Acked-by: H. Peter Anvin commit 6f913160fa8e8de5ea2746a2f6b1d65c67e092b0 Author: Timur Tabi Date: Mon Mar 3 11:11:30 2008 -0600 [POWERPC] QE: Fix QE firmware uploading limit Fix a typo in qe_upload_firmware() that prevented uploading firmware on systems with more than one RISC core. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit a55387e5ad903dec4e281907e4d8e74679ae60e2 Author: Scott Wood Date: Wed Feb 20 12:33:38 2008 -0600 [POWERPC] 8xx: Fix wrapper platform for adder875, and combine defconfigs. This fixes the following bug: http://ozlabs.org/pipermail/linuxppc-dev/2008-February/051979.html Separate defconfigs are no longer needed now that CONFIG_DEVICE_TREE is gone. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 76db5bd26f2d79712459bf80ce0e5c0c5c31b769 Author: Vitaly Bordug Date: Thu Mar 6 13:53:30 2008 +0300 [POWERPC] 8xx: fix swap This makes swap routines operate correctly on the ppc_8xx based machines. Code has been revalidated on mpc885ads (8M sdram) with recent kernel. Based on patch from Yuri Tikhonov to do the same on arch/ppc instance. Recent kernel's size makes swap feature very important on low-memory platforms, those are actually non-operable without it. Signed-off-by: Yuri Tikhonov Signed-off-by: Vitaly Bordug Signed-off-by: Kumar Gala commit d7f46190ef1048e48f71c8a7a60c2881c437d08d Author: Li Yang Date: Thu Mar 6 18:42:35 2008 +0800 [POWERPC] 83xx: Add local bus device nodes to MPC837xMDS device trees. Signed-off-by: Li Yang Signed-off-by: Kumar Gala commit 28b958859206b7010d03129611c2e444898e3ee4 Author: Li Yang Date: Thu Mar 6 18:42:26 2008 +0800 [POWERPC] 83xx: Fix wrong USB phy type in mpc837xmds dts Due to chip constraint MPC837x USB DR module can only use ULPI and serial PHY interfaces. The patch fixes the wrong type in dts. Signed-off-by: Li Yang Signed-off-by: Kumar Gala commit ce4796d1e16cf3761dc2a02b8d588667d05b3078 Merge: 46fbdf8... 7b9726a... Author: Linus Torvalds Date: Thu Mar 6 19:32:33 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.25 * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.25: sh: Fix up the sh64 build. sh: Fix up SH7710 VoIP-GW build. sh: Flag PMB support as EXPERIMENTAL. sh: Update r7780mp defconfig. fb: hitfb: Balance probe/remove section annotations. sh: hp6xx: Fix up hp6xx_apm build failure. fb: pvr2fb: Fix up remaining section mismatch. sh: Fix up section mismatches. sh: hp6xx: Correct APM output. sh: update se7780 defconfig sh: replace remaining __FUNCTION__ occurrences sh: export copy-page() to modules sh_ksyms_32.c update for gcc 4.3 sh/mm/pg-sh7705.c must #include commit 46fbdf8935544dcde440bd807b50e52ed2ca7f3b Merge: a086313... 9821b1f... Author: Linus Torvalds Date: Thu Mar 6 19:32:05 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: [Blackfin] arch: current_l1_stack_save is a pointer, so use NULL rather than 0 [Blackfin] arch: fix atomic and32/xor32 comments and ENDPROC markings [Blackfin] arch: fix bug - allow SDH driver to be used as module [Blackfin] arch: to kill syscalls missing warning by adding new timerfd syscalls commit a0863130757f32df602c1c60326530c0152b626b Merge: b881502... 45e18c2... Author: Linus Torvalds Date: Thu Mar 6 19:31:34 2008 -0800 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] kprobes arch consolidation build fix [IA64] update efi region debugging to use MB, GB and TB as well as KB [IA64] use dev_printk in video quirk [IA64] remove remaining __FUNCTION__ occurrences [IA64] remove unnecessary nfs includes from sys_ia32.c [IA64] remove CONFIG_SMP ifdef in ia64_send_ipi() [IA64] arch_ptrace() cleanup [IA64] remove duplicate code from arch_ptrace() [IA64] convert sys_ptrace to arch_ptrace [IA64] remove find_thread_for_addr() [IA64] do not sync RBS when changing PT_AR_BSP or PT_CFM [IA64] access user RBS directly commit 989a7241df87526bfef0396567e71ebe53a84ae4 Author: Itaru Kitayama Date: Wed Mar 5 15:07:30 2008 -0800 slub: fix typo in Documentation/vm/slub.txt slub_debug=,dentry is correct, not dentry_cache. Signed-off-by: Itaru Kitayama Signed-off-by: Christoph Lameter commit 6d2144d355d2a532e5cc3fc12a6ba2a8d4ef15e4 Author: Joe Korty Date: Wed Mar 5 15:04:59 2008 -0800 slab: NUMA slab allocator migration bugfix NUMA slab allocator cpu migration bugfix The NUMA slab allocator (specifically, cache_alloc_refill) is not refreshing its local copies of what cpu and what numa node it is on, when it drops and reacquires the irq block that it inherited from its caller. As a result those values become invalid if an attempt to migrate the process to another numa node occured while the irq block had been dropped. The solution is to make cache_alloc_refill reload these variables whenever it drops and reacquires the irq block. The error is very difficult to hit. When it does occur, one gets the following oops + stack traceback bits in check_spinlock_acquired: kernel BUG at mm/slab.c:2417 cache_alloc_refill+0xe6 kmem_cache_alloc+0xd0 ... This patch was developed against 2.6.23, ported to and compiled-tested only against 2.6.25-rc4. Signed-off-by: Joe Korty Signed-off-by: Christoph Lameter commit b6210386787728b84db25adc4f1eba70440a4c73 Author: Nick Piggin Date: Wed Mar 5 14:05:56 2008 -0800 slub: Do not cross cacheline boundaries for very small objects SLUB should pack even small objects nicely into cachelines if that is what has been asked for. Use the same algorithm as SLAB for this. The effect of this patch for a system with a cacheline size of 64 bytes is that the 24 byte sized slab caches will now put exactly 2 objects into a cacheline instead of 3 with some overlap into the next cacheline. This reduces the object density in a 4k slab from 170 to 128 objects (same as SLAB). Signed-off-by: Nick Piggin Signed-off-by: Christoph Lameter commit 1c61fc40fc264059ff41a614ed2d899127288281 Author: Joe Perches Date: Wed Mar 5 13:58:17 2008 -0800 slab - use angle brackets for include of kmalloc_sizes.h Make them all use angle brackets and the directory name. Acked-by: Pekka Enberg Signed-off-by: Joe Perches Signed-off-by: Christoph Lameter commit 9ac33b2b749e9539e84bbb1a41f97b066c4bd757 Author: Christoph Lameter Date: Tue Mar 4 12:24:22 2008 -0800 slab numa fallback logic: Do not pass unfiltered flags to page allocator The NUMA fallback logic should be passing local_flags to kmem_get_pages() and not simply the flags passed in. Reviewed-by: Pekka Enberg Signed-off-by: Christoph Lameter commit b773ad73690b5f34eee0c76f4273ac6fcbd88f82 Author: Christoph Lameter Date: Tue Mar 4 11:10:17 2008 -0800 slub statistics: Fix check for DEACTIVATE_REMOTE_FREES The remote frees are in the freelist of the page and not in the percpu freelist. Reviewed-by: Pekka Enberg Signed-off-by: Christoph Lameter commit 8b1266f43d2671cbfc240bfd38fc77c6db02de54 Author: Adrian Bunk Date: Fri Feb 22 21:58:02 2008 +0200 [WATCHDOG] make watchdog/hpwdt.c:asminline_call() static This patch makes the needlessly global asminline_call() static and removes the not required "asmlinkage". Signed-off-by: Adrian Bunk Acked-by: Thomas Mingarelli Signed-off-by: Wim Van Sebroeck Cc: Andrew Morton commit 45e18c228e131592a922859e1525770a1803191d Author: Harvey Harrison Date: Thu Mar 6 09:49:01 2008 -0800 [IA64] kprobes arch consolidation build fix ia64 named their handler kprobes_fault_handler while all other arches used kprobe_fault_handler. Change the function definition and header declaration. Signed-off-by: Harvey Harrison Signed-off-by: Tony Luck commit 818c7e866f920b145424c2c46deda4b27c3fb316 Author: Simon Horman Date: Tue Feb 26 15:24:04 2008 +0900 [IA64] update efi region debugging to use MB, GB and TB as well as KB When EFI_DEBUG is defined to a non-zero value in arch/ia64/kernel/efi.c, the efi memory regions are displayed. This patch enhances the display code in a few ways: 1. Use TB, GB and MB as well as KB as units. Although this introduces rounding errors (KB doesn't as size is always a multiple of 4Kb), it does make things a lot more readable. Also as the range is also shown, it is possible to note the exact size if it is important. In my experience, the size field is mostly useful for getting a general idea of the size of a region. On the rx2620 that I use, there actually is an 8TB region (though not backed by physical memory, and 8TB really is a lot more readable than 8589934592KB. 2. pad the size field with leading spaces to further improve readability ... ... ( 8MB) ... ( 928MB) ... ( 3MB) ... vs ... ... (8MB) ... (928MB) ... (3MB) ... 3. Pad the attr field out to 64bits using leading zeros, to further improve readability. ... mem05: type= 2, attr=0x0000000000000008, range=[0x0000000004000000-0x000000000481f000) ( 8MB) mem06: type= 7, attr=0x0000000000000008, range=[0x000000000481f000-0x000000003e876000) ( 928MB) mem07: type= 5, attr=0x8000000000000008, range=[0x000000003e876000-0x000000003eb8e000) ( 3MB) mem08: type= 4, attr=0x0000000000000008, range=[0x000000003eb8e000-0x000000003ee7a000) ( 2MB) ... ... mem05: type= 2, attr=0x8, range=[0x0000000004000000-0x000000000481f000) ( 8MB) mem06: type= 7, attr=0x8, range=[0x000000000481f000-0x000000003e876000) ( 928MB) mem07: type= 5, attr=0x8000000000000008, range=[0x000000003e876000-0x000000003eb8e000) ( 3MB) mem08: type= 4, attr=0x8, range=[0x000000003eb8e000-0x000000003ee7a000) ( 2MB) ... 4. Use %d instead of %u for the index field, as i is a signed int. N.B: This code is not compiled unless EFI_DEBUG is non 0. Signed-off-by: Simon Horman Signed-off-by: Tony Luck commit 1ab40ec8f227a2b278a5151e60b7070a8bf5546d Author: Bjorn Helgaas Date: Tue Mar 4 16:34:57 2008 -0700 [IA64] use dev_printk in video quirk Convert quirk printks to dev_printk(). Signed-off-by: Bjorn Helgaas Signed-off-by: Tony Luck commit d4ed80841ad4a1d59decccfbe2d010558568c5fb Author: Harvey Harrison Date: Tue Mar 4 15:15:00 2008 -0800 [IA64] remove remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Long lines have been kept where they exist, some small spacing changes have been done. Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 2d9b06c72a9f2e6042d72df7d9000a48bcba34f0 Author: KOSAKI Motohiro Date: Tue Mar 4 15:45:42 2008 -0800 [IA64] remove unnecessary nfs includes from sys_ia32.c Compilation of 2.6.25-rc2-mm1 on ia64 generates many warnings. IA64 support 2 ELF format (IA64 binary and IA32 binary), thus if 2 elf related header included, cause many warning or error. about 2 week ago, J. Bruce Fields proposed this problem fixed patch. (http://marc.info/?l=linux-ia64&m=120329313305695&w=2) Signed-off-by: J. Bruce Fields Signed-off-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit cd3244e605efeb13bb3a6e92439974832e1c7388 Author: Bjorn Helgaas Date: Wed Mar 5 15:40:32 2008 -0700 [IA64] remove CONFIG_SMP ifdef in ia64_send_ipi() When !CONFIG_SMP, cpu_physical_id() is ia64_get_lid(), which is functionally identical to (ia64_getreg(_IA64_REG_CR_LID) >> 16) & 0xffff so there's no need for two versions of this code. Signed-off-by: Bjorn Helgaas Signed-off-by: Tony Luck commit b881502666783b2d9ca2fc7a056d0f773073a808 Merge: 910da1a... 2f40a17... Author: Linus Torvalds Date: Thu Mar 6 08:14:18 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: [CRYPTO] xcbc: Fix crash with IPsec [CRYPTO] xts: Use proper alignment [CRYPTO] digest: Include internal.h for prototypes [CRYPTO] authenc: Add missing Kconfig dependency on BLKCIPHER [CRYPTO] skcipher: Move chainiv/seqiv into crypto_blkcipher module commit 910da1a48eeb3be53a8247f6c494aa9d67ab1422 Merge: 2ab42e2... 72772a3... Author: Linus Torvalds Date: Thu Mar 6 08:14:00 2008 -0800 Merge branch 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6 * 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6: [XFS] fix inode leak in xfs_iget_core() [XFS] 977545 977545 977545 977545 977545 977545 xfsaild causing too many commit 2ab42e24d63193d78f2e888a170b208f4776aaba Author: David Woodhouse Date: Thu Mar 6 10:57:54 2008 +0000 Really unexport asm/page.h Commit ed7b1889da256977574663689b598d88950bbd23 removed page.h from include/asm-generic/Kbuild so that it shouldn't get exported. However, it was redundantly listed in asm-mn10300/Kbuild and asm-x86/Kbuild too. Remove those as well, so it really stops being exported on those architectures. Also remove the redundant listing of ptrace.h and termios.h from mn10300. Signed-off-by: David Woodhouse Acked-by: David Howells Signed-off-by: Linus Torvalds commit 5853e7427858a9ae493ea4999ef1069d2e2550d9 Merge: 6bb68f8... 09f21ed... Author: Russell King Date: Thu Mar 6 12:18:25 2008 +0000 Merge branch 'omap-fixes' * omap-fixes: ARM: OMAP2: Register the L4 io bus to boot OMAP2 ARM: OMAP1: Compile in other 16xx boards to OSK defconfig ARM: OMAP1: Refresh H2 defconfig ARM: OMAP1: Refresh OSK defconfig ARM: OMAP: gpio lockdep updates ARM: OMAP1: omap1/pm.c build fix ARM: OMAP1: omap h2 regression fix ARM: OMAP1: Fix compile for boards depending on old gpio expander ARM: OMAP1: omap h3 regression and build fix ARM: OMAP: Remove compiler warning when i2c is not set ARM: OMAP: fix omap i2c init (regression) ARM: OMAP: fix false lockdep warnings ARM: OMAP: Fix sleep under spinlock for cpufreq ARM: OMAP: Pass logical DMA channel number always to callback handlers commit 6bb68f8867348257e757de9c30ada4e90fe695d9 Author: Nicolas Ferre Date: Tue Mar 4 15:08:02 2008 -0800 [ARM] AT91: correct at91sam9263ek LCD power gpio pin Correct GPIO pin assignment for the LCD power control (PCI) Signed-off-by: Nicolas Ferre Cc: David Brownell Cc: Andrew Victor Signed-off-by: Andrew Morton Signed-off-by: Russell King commit 8e86f4271aaac7685923b80cf57972be41afbc1d Author: Harvey Harrison Date: Tue Mar 4 15:08:02 2008 -0800 [ARM] replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Russell King commit 92df78519d0a6a8677cb827b5a1b7d2520d7e202 Author: Greg Ungerer Date: Wed Mar 5 06:59:14 2008 +0100 [ARM] 4850/1: include generic pgtable.h for !CONFIG_MMU case The nonmmu version of pgtable.h needs to include asm-generic/pgtable.h as well. It needs to pick up empty definitions of things like arch_enter_lazy_cpu_mode() to compile cleanly. Signed-off-by: Greg Ungerer Signed-off-by: Russell King commit 9c4c9f38796faf750de8586becf43b769c76b674 Author: Greg Ungerer Date: Wed Mar 5 06:50:07 2008 +0100 [ARM] 4849/1: move ATAGS asm definitions Move the definitions of ATAG_CORE and ATAG_CORE_SIZE in head.S to head-common.S. There is no use of these in head.S itself, but they are used in head-common.S. When building for the !CONFIG_MMU case these were not defined when compiling head-nommu.S (which includes head-common.S). Signed-off-by: Greg Ungerer Signed-off-by: Russell King commit 37aca70c626ce8f4e5848de2d4892b5ed74a6875 Author: David Brownell Date: Wed Mar 5 00:08:29 2008 +0100 [ARM] 4848/1: at91: remove false lockdep warnings Remove false lockdep warnings about lock recursion when declaring IRQs as being wake-capable, by marking putting GPIO irq_desc locks into their own class. (Thanks to Peter Zijlstra for helping track down such a small fix to this problem.) Signed-off-by: David Brownell Acked-by: Andrew Victor Signed-off-by: Russell King commit b24061fadc2b996fd38baaf01986eac666d0c61b Author: Nicolas Pitre Date: Tue Mar 4 21:56:21 2008 +0100 [ARM] 4847/1: kprobes: fix compilation with CONFIG_DEBUG_FS=y Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 10debfd29c639366f26595606b51abd27ccbb028 Author: Joe Perches Date: Wed Mar 5 08:44:13 2008 -0800 [ARM] include/asm-arm - use angle brackets for includes Signed-off-by: Joe Perches include/asm-arm/plat-s3c/uncompress.h | 4 ++-- include/asm-arm/proc-fns.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) Signed-off-by: Russell King commit be73a347ec7799aec0aa1008bd991f93dbfa80e8 Author: Guennadi Liakhovetski Date: Fri Feb 29 21:12:57 2008 +0100 [ARM] 4845/1: Orion: Ignore memory tags with invalid data The DNS-323, Kurobox-Pro / Linkstation-Pro, QNAP TS-109/TS-209 and some other orion-based systems have several bogus memory entries in the tag table, which causes the system to crash at startup. Ignore them by resetting the tag ID to 0 in a machine fixup function. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Russell King commit 996d62d449a7d5e691b0da22b7c877df08c2b0a4 Author: Florian Fainelli Date: Mon Feb 25 13:39:57 2008 +0100 [WATCHDOG] Remove volatiles from watchdog device structures Remove the volatile since those are useless in such a structure. Signed-off-by: Florian Fainelli Signed-off-by: Wim Van Sebroeck commit fa9363c5f866d6beedf36d4f4b1393ba802d8248 Author: Harvey Harrison Date: Wed Mar 5 18:24:58 2008 -0800 [WATCHDOG] replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit 2f40a178e70030c4712fe63807c883f34c3645eb Author: Joy Latten Date: Thu Mar 6 19:28:44 2008 +0800 [CRYPTO] xcbc: Fix crash with IPsec When using aes-xcbc-mac for authentication in IPsec, the kernel crashes. It seems this algorithm doesn't account for the space IPsec may make in scatterlist for authtag. Thus when crypto_xcbc_digest_update2() gets called, nbytes may be less than sg[i].length. Since nbytes is an unsigned number, it wraps at the end of the loop allowing us to go back into loop and causing crash in memcpy. I used update function in digest.c to model this fix. Please let me know if it looks ok. Signed-off-by: Joy Latten Signed-off-by: Herbert Xu commit 09f21ed4c1bd158a92114074c268e4a835690ca5 Author: Kyungmin Park Date: Wed Feb 20 15:30:06 2008 -0800 ARM: OMAP2: Register the L4 io bus to boot OMAP2 This patch enables OMAP2 to boot. Signed-off-by: Kyungmin Park Signed-off-by: Tony Lindgren commit 19dc8a5b06aba0db11a600c10db5bc99839f098a Author: Tony Lindgren Date: Thu Mar 6 13:28:06 2008 +0200 ARM: OMAP1: Compile in other 16xx boards to OSK defconfig This allows monitoring compile issues with Kautobuild for other omap1 boards until we have more board specific defconfig files. After 2.6.25, we can add a generic config_omap_generic16xx to compile in support for all 16xx boards and then remove other boards from OSK defconfig. Signed-off-by: Tony Lindgren commit d68a8ce8343365f8560fa9f89300fb4cd2415459 Author: Tony Lindgren Date: Thu Mar 6 13:27:16 2008 +0200 ARM: OMAP1: Refresh H2 defconfig Refresh H2 defconfig Signed-off-by: Tony Lindgren commit d4423fd07919756342dffffac45ee068d0a7f5a5 Author: Tony Lindgren Date: Thu Mar 6 13:27:16 2008 +0200 ARM: OMAP1: Refresh OSK defconfig Refresh OSK defconfig Signed-off-by: Tony Lindgren commit 30ec910e02b35e7c3d600af694a5aec4b6690ddc Author: Roland Dreier Date: Thu Feb 28 12:34:42 2008 -0800 [WATCHDOG] hpwdt: Use dmi_walk() instead of own copy We can simplify the code by deleting all of the duplicated DMI table walking code and using the kernel's existing dmi_walk() interface to find the DMI entry the driver is looking for. Signed-off-by: Roland Dreier Acked-by: Thomas Mingarelli Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit ef82710a3f80cd24d459c508f91542ecccb1f340 Author: Roland Dreier Date: Thu Feb 28 09:48:10 2008 -0800 [WATCHDOG] Fix return value warning in hpwdt The return value of smbios_scan_machine() is never used, and when it succeeds it doesn't return anything, so just make it void. This fixes: drivers/watchdog/hpwdt.c: In function 'smbios_scan_machine': drivers/watchdog/hpwdt.c:562: warning: control reaches end of non-void function Signed-off-by: Roland Dreier Acked-by: Thomas Mingarelli Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit 103018aca2e4ba0d0e230efa864231c59228f419 Author: Roland Dreier Date: Thu Feb 28 09:38:44 2008 -0800 [WATCHDOG] Fix declaration of struct smbios_entry_point in hpwdt On my HP DL380 G5 system running a 64-bit kernel, loading the hpwdt driver causes a crash because the driver attempts to ioremap an invalid physical address. This is because the driver has an incorrect definition of the SMBIOS table entry point structure: the table address is only a 32-bit quantity, and making it a u64 means that the high-order 32 bits end up containing garbage. Correcting the structure definition fixes the driver so that it loads without any problems on my system. Signed-off-by: Roland Dreier Acked-by: Thomas Mingarelli Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit 5e69960865ab6033a129f9ee35264adb2a1cfc94 Author: Andrew Paprocki Date: Sun Feb 10 22:11:15 2008 -0500 [WATCHDOG] it8712f_wdt support for 16-bit timeout values, WDIOC_GETSTATUS This patch adds support for 16-bit watchdog timeout values which are available in chip revisions >= 0x08. Values <= 65535 are seconds precision, otherwise minutes precision is used up to a maximum value of 3932100. Added implementation for WDIOC_GETSTATUS which checks the WDT status bit in the WDT control register. Signed-off-by: Andrew Paprocki Signed-off-by: Wim Van Sebroeck commit 6212f2c7f70c591efb0d9f3d50ad29112392fee2 Author: Sebastian Siewior Date: Thu Mar 6 18:56:19 2008 +0800 [CRYPTO] xts: Use proper alignment The XTS blockmode uses a copy of the IV which is saved on the stack and may or may not be properly aligned. If it is not, it will break hardware cipher like the geode or padlock. This patch encrypts the IV in place so we don't have to worry about alignment. Signed-off-by: Sebastian Siewior Tested-by: Stefan Hellermann Signed-off-by: Herbert Xu commit 7b9726a7a0d8c70ea44a5ed23726748de344f223 Author: Paul Mundt Date: Thu Mar 6 17:23:15 2008 +0900 sh: Fix up the sh64 build. Signed-off-by: Paul Mundt commit e7d7deca60c01d844a4d8e5644f4aecaf0e3bee4 Author: Paul Mundt Date: Thu Mar 6 16:08:00 2008 +0900 sh: Fix up SH7710 VoIP-GW build. The only board-specific bits that existed here were for setting up the IRQs, which are now handled by the SH7710 CPU support code instead. As there's nothing else to do for setup, kill off the board support code and have the defconfig use the generic machvec instead. Signed-off-by: Paul Mundt commit 2af8b3b642ea2a9442890797ad5f92d2eaacb5b5 Author: Paul Mundt Date: Thu Mar 6 16:06:38 2008 +0900 sh: Flag PMB support as EXPERIMENTAL. There's still work that needs to be done here, and this should not be enabled by default on existing boards. Signed-off-by: Paul Mundt commit 149b91e10769564711669adfff0f8af213d47ea8 Author: Paul Mundt Date: Thu Mar 6 16:03:58 2008 +0900 sh: Update r7780mp defconfig. This disables the PMB/32BIT=y by default in r7780mp, as turning this on presently results in build errors (for an admittedly experimental feature). Signed-off-by: Paul Mundt commit 72772a3b5b158cddcfbbff3ef13b26b03a905158 Author: David Chinner Date: Thu Mar 6 13:49:43 2008 +1100 [XFS] fix inode leak in xfs_iget_core() If the radix_tree_preload() fails, we need to destroy the inode we just read in before trying again. This could leak xfs_vnode structures when there is memory pressure. Noticed by Christoph Hellwig. SGI-PV: 977823 SGI-Modid: xfs-linux-melb:xfs-kern:30606a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig commit 92d9cd1059f80b9c89dee191ffb88b0872e6a7ae Author: David Chinner Date: Thu Mar 6 13:45:10 2008 +1100 [XFS] 977545 977545 977545 977545 977545 977545 xfsaild causing too many wakeups Idle state is not being detected properly by the xfsaild push code. The current idle state is detected by an empty list which may never happen with mostly idle filesystem or one using lazy superblock counters. A single dirty item in the list that exists beyond the push target can result repeated looping attempting to push up to the target because it fails to check if the push target has been acheived or not. Fix by considering a dirty list with everything past the target as an idle state and set the timeout appropriately. SGI-PV: 977545 SGI-Modid: xfs-linux-melb:xfs-kern:30532a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 0f8afa7ca9117276e9519239ed0553be2f04d269 Author: Paul Mundt Date: Thu Mar 6 13:56:33 2008 +0900 fb: hitfb: Balance probe/remove section annotations. hitfb presently has probe using __init whilst remove uses __devexit. As this device can't possibly be hotplugged, switch to __exit and __exit_p() instead. Signed-off-by: Paul Mundt commit dd4f99b42dcce8f84ff6b8ec3d375b54a0785c7e Author: Paul Mundt Date: Thu Mar 6 13:48:08 2008 +0900 sh: hp6xx: Fix up hp6xx_apm build failure. Signed-off-by: Paul Mundt commit fcb1fec7fece6b9889deaedf5b7d21f4f5a26381 Author: Paul Mundt Date: Thu Mar 6 13:39:18 2008 +0900 fb: pvr2fb: Fix up remaining section mismatch. Building with CONFIG_DEBUG_SECTION_MISMATCH=y reports: CC drivers/video/pvr2fb.o LD drivers/video/built-in.o WARNING: drivers/video/built-in.o(.text+0xb9b0): Section mismatch in reference from the function pvr2fb_check_var() to the variable .devinit.data:pvr2_fix The function pvr2fb_check_var() references the variable __devinitdata pvr2_fix. This is often because pvr2fb_check_var lacks a __devinitdata annotation or the annotation of pvr2_fix is wrong. This is obviously crap as no such reference exists, but it's a bit closer to reality from older versions which blamed the PCI table. The real problem was a reference to pvr2_var.vmode from pvr2fb_check_var(), as pvr2_var is flagged as __devinitdata (pvr2_fix is also, so at least that part is right). pvr2_var.vmode is just a fancy way of saying FB_VMODE_NONINTERLACED, so we just reference that explicitly instead. Signed-off-by: Paul Mundt commit b2839ed83f54d40870747ac8d655504dff63d1c5 Author: Paul Mundt Date: Thu Mar 6 12:43:38 2008 +0900 sh: Fix up section mismatches. Signed-off-by: Paul Mundt commit 8b03c040e4efaaad3fc09f07f6af6e449205c75a Author: Kristoffer Ericson Date: Tue Mar 4 23:09:25 2008 -0800 sh: hp6xx: Correct APM output. This patch fixes the old non-verbose hp6xx apm code and enables some very basic apm output. We now get percentage (battery) output and basic time estimate. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit 1ff82fe0024e8070c38346b8abc1ff09612dea4c Author: David Howells Date: Wed Mar 5 18:53:55 2008 -0800 RxRPC: fix rxrpc_recvmsg()'s returning of msg_name Fix rxrpc_recvmsg() to return msg_name correctly. We shouldn't overwrite the *msg struct, but should rather write into msg->msg_name (there's a '&' unary operator that shouldn't be there). Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 02ff05c49d7804f2574f358a937b43a41d15e36e Author: David Brownell Date: Wed Mar 5 18:51:19 2008 -0800 net/enc28j60: oops fix Prevent oops on enc28j60 packet RX: make sure buffers are aligned. Not all architectures support unaligned accesses in kernel space. Signed-off-by: David Brownell Acked-by: Claudio Lanconelli Signed-off-by: David S. Miller commit e8a1d919d16abaccc4564bd913cac9a0c1aaf078 Author: Jon Schindler Date: Wed Mar 5 18:50:41 2008 -0800 drivers/net/ac3200.c: replace init_module&cleanup_module with module_init&module_exit Replace init_module and cleanup_module with static functions and module_init/module_exit. Signed-off-by: Jon Schindler Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 3cfbb6771b11c161aaee0cc839f923fc208868b8 Author: Jon Schindler Date: Wed Mar 5 18:50:16 2008 -0800 drivers/net/apne.c: replace init_module&cleanup_module with module_init&module_exit Replaced init_module and cleanup_module with static functions and module_init/module_exit. Signed-off-by: Jon Schindler Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 7249d4c3985454ee5cd150198bb21cb15dee242e Author: Jon Schindler Date: Wed Mar 5 18:49:51 2008 -0800 drivers/net/arcnet/capmode.c: replace init_module&cleanup_module with module_init&module_exit Replaced init_module and cleanup_module with static functions and module_init/module_exit. Signed-off-by: Jon Schindler Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 32c9874759651b69e496f89ec9e5e6702f67ffca Author: Jon Schindler Date: Wed Mar 5 18:49:21 2008 -0800 drivers/net/appletalk/ltpc.c: replace init_module&cleanup_module with module_init&module_exit Replaced init_module and cleanup_module with static functions and module_init/module_exit. Signed-off-by: Jon Schindler Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit a4e2acf01a7e5fcd960fc332335ca10313641f4b Author: Tobias Klauser Date: Wed Mar 5 18:47:40 2008 -0800 bluetooth: make bnep_sock_cleanup() return void bnep_sock_cleanup() always returns 0 and its return value isn't used anywhere in the code. Signed-off-by: Tobias Klauser Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 04005dd9ae7bf1031408869c33df96149ebb1086 Author: Tobias Klauser Date: Wed Mar 5 18:47:03 2008 -0800 bluetooth: Make hci_sock_cleanup() return void hci_sock_cleanup() always returns 0 and its return value isn't used anywhere in the code. Compile-tested with 'make allyesconfig && make net/bluetooth/bluetooth.ko' Signed-off-by: Tobias Klauser Signed-off-by: Andrew Morton Acked-by: Marcel Holtmann commit 147e2d59833e994cc99341806a88b9e59be41391 Author: Dave Young Date: Wed Mar 5 18:45:59 2008 -0800 bluetooth: hci_core: defer hci_unregister_sysfs() Alon Bar-Lev reports: Feb 16 23:41:33 alon1 usb 3-1: configuration #1 chosen from 1 choice Feb 16 23:41:33 alon1 BUG: unable to handle kernel NULL pointer dereference at virtual address 00000008 Feb 16 23:41:33 alon1 printing eip: c01b2db6 *pde = 00000000 Feb 16 23:41:33 alon1 Oops: 0000 [#1] PREEMPT Feb 16 23:41:33 alon1 Modules linked in: ppp_deflate zlib_deflate zlib_inflate bsd_comp ppp_async rfcomm l2cap hci_usb vmnet(P) vmmon(P) tun radeon drm autofs4 ipv6 aes_generic crypto_algapi ieee80211_crypt_ccmp nf_nat_irc nf_nat_ftp nf_conntrack_irc nf_conntrack_ftp ipt_MASQUERADE iptable_nat nf_nat ipt_REJECT xt_tcpudp ipt_LOG xt_limit xt_state nf_conntrack_ipv4 nf_conntrack iptable_filter ip_tables x_tables snd_pcm_oss snd_mixer_oss snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device bluetooth ppp_generic slhc ioatdma dca cfq_iosched cpufreq_powersave cpufreq_ondemand cpufreq_conservative acpi_cpufreq freq_table uinput fan af_packet nls_cp1255 nls_iso8859_1 nls_utf8 nls_base pcmcia snd_intel8x0 snd_ac97_codec ac97_bus snd_pcm nsc_ircc snd_timer ipw2200 thinkpad_acpi irda snd ehci_hcd yenta_socket uhci_hcd psmouse ieee80211 soundcore intel_agp hwmon rsrc_nonstatic pcspkr e1000 crc_ccitt snd_page_alloc i2c_i801 ieee80211_crypt pcmcia_core agpgart thermal bat! tery nvram rtc sr_mod ac sg firmware_class button processor cdrom unix usbcore evdev ext3 jbd ext2 mbcache loop ata_piix libata sd_mod scsi_mod Feb 16 23:41:33 alon1 Feb 16 23:41:33 alon1 Pid: 4, comm: events/0 Tainted: P (2.6.24-gentoo-r2 #1) Feb 16 23:41:33 alon1 EIP: 0060:[] EFLAGS: 00010282 CPU: 0 Feb 16 23:41:33 alon1 EIP is at sysfs_get_dentry+0x26/0x80 Feb 16 23:41:33 alon1 EAX: 00000000 EBX: 00000000 ECX: 00000000 EDX: f48a2210 Feb 16 23:41:33 alon1 ESI: f72eb900 EDI: f4803ae0 EBP: f4803ae0 ESP: f7c49efc Feb 16 23:41:33 alon1 hcid[7004]: HCI dev 0 registered Feb 16 23:41:33 alon1 DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068 Feb 16 23:41:33 alon1 Process events/0 (pid: 4, ti=f7c48000 task=f7c3efc0 task.ti=f7c48000) Feb 16 23:41:33 alon1 Stack: f7cb6140 f4822668 f7e71e10 c01b304d ffffffff ffffffff fffffffe c030ba9c Feb 16 23:41:33 alon1 f7cb6140 f4822668 f6da6720 f7cb6140 f4822668 f6da6720 c030ba8e c01ce20b Feb 16 23:41:33 alon1 f6e9dd00 c030ba8e f6da6720 f6e9dd00 f6e9dd00 00000000 f4822600 00000000 Feb 16 23:41:33 alon1 Call Trace: Feb 16 23:41:33 alon1 [] sysfs_move_dir+0x3d/0x1f0 Feb 16 23:41:33 alon1 [] kobject_move+0x9b/0x120 Feb 16 23:41:33 alon1 [] device_move+0x51/0x110 Feb 16 23:41:33 alon1 [] del_conn+0x0/0x70 [bluetooth] Feb 16 23:41:33 alon1 [] del_conn+0x19/0x70 [bluetooth] Feb 16 23:41:33 alon1 [] run_workqueue+0x81/0x140 Feb 16 23:41:33 alon1 [] schedule+0x168/0x2e0 Feb 16 23:41:33 alon1 [] autoremove_wake_function+0x0/0x50 Feb 16 23:41:33 alon1 [] worker_thread+0x9b/0xf0 Feb 16 23:41:33 alon1 [] autoremove_wake_function+0x0/0x50 Feb 16 23:41:33 alon1 [] worker_thread+0x0/0xf0 Feb 16 23:41:33 alon1 [] kthread+0x42/0x70 Feb 16 23:41:33 alon1 [] kthread+0x0/0x70 Feb 16 23:41:33 alon1 [] kernel_thread_helper+0x7/0x18 Feb 16 23:41:33 alon1 ======================= Feb 16 23:41:33 alon1 Code: 26 00 00 00 00 57 89 c7 a1 50 1b 3a c0 56 53 8b 70 38 85 f6 74 08 8b 0e 85 c9 74 58 ff 06 8b 56 50 39 fa 74 47 89 fb eb 02 89 c3 <8b> 43 08 39 c2 75 f7 8b 46 08 83 c0 68 e8 98 e7 10 00 8b 43 10 Feb 16 23:41:33 alon1 EIP: [] sysfs_get_dentry+0x26/0x80 SS:ESP 0068:f7c49efc Feb 16 23:41:33 alon1 ---[ end trace aae864e9592acc1d ]--- Defer hci_unregister_sysfs because hci device could be destructed while hci conn devices still there. Signed-off-by: Dave Young Tested-by: Stefan Seyfried Acked-by: Alon Bar-Lev Signed-off-by: Andrew Morton Acked-by: Marcel Holtmann commit 09a76031f19bc77beb081e8ff7bfde731af93f50 Author: SDiZ Date: Wed Mar 5 18:43:50 2008 -0800 bluetooth: CONWISE Technology based adapters with buggy SCO support (bugzilla #9027) From: SDiZ Fix the CONWISE Technology based adapters with buggy SCO support issue (bugzilla #9027) Signed-off-by: Andrew Morton Acked-by: Marcel Holtmann Signed-off-by: David S. Miller commit e653181dd6b3ad38ce14904351b03a5388f4b0f7 Author: James Chapman Date: Wed Mar 5 18:40:01 2008 -0800 [PPPOL2TP]: Fix SMP issues in skb reorder queue handling When walking a session's packet reorder queue, use skb_queue_walk_safe() since the list could be modified inside the loop. Rearrange the unlinking skbs from the reorder queue such that it is done while the queue lock is held in pppol2tp_recv_dequeue() when walking the skb list. A version of this patch was suggested by Jarek Poplawski. Signed-off-by: James Chapman Signed-off-by: David S. Miller commit cf3752e2d203bbbfc88d29e362e6938cef4339b3 Author: James Chapman Date: Wed Mar 5 18:39:08 2008 -0800 [PPPOL2TP]: Make locking calls softirq-safe Fix locking issues in the pppol2tp driver which can cause a kernel crash on SMP boxes. There were two problems:- 1. The driver was violating read_lock() and write_lock() scheduling rules because it wasn't using softirq-safe locks in softirq contexts. So we now consistently use the _bh variants of the lock functions. 2. The driver was calling sk_dst_get() in pppol2tp_xmit() which was taking sk_dst_lock in softirq context. We now call __sk_dst_get(). Signed-off-by: James Chapman Signed-off-by: David S. Miller commit 5a346a10c0b1192e7eae52f0f3a332f1d3f11226 Author: Harvey Harrison Date: Wed Mar 5 18:38:07 2008 -0800 atm: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit d4f7751495747b0e857b2c302e37fe515cd03ef5 Author: Harvey Harrison Date: Wed Mar 5 18:37:39 2008 -0800 isdn: replace __inline with inline Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 4eb329a5aa113048ec9dbe2bd81ca27adab04e2d Author: Harvey Harrison Date: Wed Mar 5 18:37:16 2008 -0800 irda: replace __inline with inline Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit dfec72285ef50f1a5ff342ed122652ccd3d0fb96 Author: Harvey Harrison Date: Wed Mar 5 18:36:28 2008 -0800 net: replace __inline with inline Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 56546b18969eb808af0c1a6ff68988678bd0a8b7 Author: goda.yusuke Date: Thu Feb 28 12:53:23 2008 +0900 sh: update se7780 defconfig This patch updates se7780_defconfig Signed-off-by: Yusuke Goda Signed-off-by: Paul Mundt commit 866e6b9e5019e210d96ced31fbae531ed756e486 Author: Harvey Harrison Date: Tue Mar 4 15:23:47 2008 -0800 sh: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Paul Mundt commit ad0caae0ded1af2a0a41f93356587e1c24d76725 Author: Andrew Morton Date: Tue Mar 4 15:23:47 2008 -0800 sh: export copy-page() to modules ERROR: "copy_page" [fs/unionfs/unionfs.ko] undefined! like all the other architectures. Cc: Erez Zadok Signed-off-by: Andrew Morton Signed-off-by: Paul Mundt commit 4bee4ca2de533947720db14276828e1a066b940d Author: Adrian Bunk Date: Wed Mar 5 00:39:58 2008 +0200 sh_ksyms_32.c update for gcc 4.3 This patch fixes the following build error with landisk_defconfig when using gcc 4.3: <-- snip --> ... MODPOST 50 modules ERROR: "__udivsi3_i4i" [net/sunrpc/sunrpc.ko] undefined! ERROR: "__udivsi3_i4i" [net/appletalk/appletalk.ko] undefined! ERROR: "__udivsi3_i4i" [fs/ufs/ufs.ko] undefined! ERROR: "__udivsi3_i4i" [fs/ntfs/ntfs.ko] undefined! ERROR: "__sdivsi3_i4i" [fs/ntfs/ntfs.ko] undefined! ERROR: "__udivsi3_i4i" [fs/nfsd/nfsd.ko] undefined! ERROR: "__sdivsi3_i4i" [fs/nfsd/nfsd.ko] undefined! ERROR: "__udivsi3_i4i" [fs/nfs/nfs.ko] undefined! ERROR: "__udivsi3_i4i" [fs/lockd/lockd.ko] undefined! ERROR: "__udivsi3_i4i" [drivers/usb/storage/usb-storage.ko] undefined! ERROR: "__sdivsi3_i4i" [drivers/usb/serial/pl2303.ko] undefined! ERROR: "__udivsi3_i4i" [drivers/usb/serial/pl2303.ko] undefined! ERROR: "__sdivsi3_i4i" [drivers/usb/serial/ftdi_sio.ko] undefined! ERROR: "__udivsi3_i4i" [drivers/usb/misc/sisusbvga/sisusbvga.ko] undefined! ERROR: "__sdivsi3_i4i" [drivers/usb/misc/sisusbvga/sisusbvga.ko] undefined! ERROR: "__udivsi3_i4i" [drivers/media/video/v4l1-compat.ko] undefined! ERROR: "__sdivsi3_i4i" [drivers/media/video/v4l1-compat.ko] undefined! ERROR: "__sdivsi3_i4i" [drivers/media/video/usbvideo/vicam.ko] undefined! ERROR: "__udivsi3_i4i" [drivers/media/video/usbvideo/usbvideo.ko] undefined! ERROR: "__sdivsi3_i4i" [drivers/media/video/usbvideo/usbvideo.ko] undefined! ERROR: "__udivsi3_i4i" [drivers/media/video/sn9c102/sn9c102.ko] undefined! ERROR: "__sdivsi3_i4i" [drivers/media/video/sn9c102/sn9c102.ko] undefined! ERROR: "__sdivsi3_i4i" [drivers/media/video/se401.ko] undefined! ERROR: "__sdivsi3_i4i" [drivers/media/video/pwc/pwc.ko] undefined! ERROR: "__udivsi3_i4i" [drivers/md/raid0.ko] undefined! ERROR: "__udivsi3_i4i" [drivers/md/md-mod.ko] undefined! ERROR: "__sdivsi3_i4i" [drivers/md/md-mod.ko] undefined! ERROR: "__udivsi3_i4i" [drivers/md/linear.ko] undefined! ERROR: "__sdivsi3_i4i" [drivers/hid/usbhid/usbhid.ko] undefined! make[2]: *** [__modpost] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Paul Mundt commit c31f2f3d066d49147ce297c7207cc2d49dd20382 Author: Adrian Bunk Date: Mon Mar 3 20:07:42 2008 +0200 sh/mm/pg-sh7705.c must #include This patch fixes the following compile error: <-- snip --> ... CC arch/sh/mm/pg-sh7705.o /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/sh/mm/pg-sh7705.c: In function 'ptep_get_and_clear': /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/sh/mm/pg-sh7705.c:130: error: implicit declaration of function 'mapping_writably_mapped' make[2]: *** [arch/sh/mm/pg-sh7705.o] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Paul Mundt commit 9821b1f4a145b20db08108362f0b4caf4f0832a1 Author: Mike Frysinger Date: Wed Mar 5 19:02:23 2008 -0700 [Blackfin] arch: current_l1_stack_save is a pointer, so use NULL rather than 0 Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit d7fe321eeba58f0a37cc4324d10e52092be457e0 Merge: 4a0d3f3... f7f0283... Author: Linus Torvalds Date: Wed Mar 5 18:00:22 2008 -0800 Merge branch 'for-linus' of git://git.infradead.org/~dedekind/ubi-2.6 * 'for-linus' of git://git.infradead.org/~dedekind/ubi-2.6: UBI: mtd/ubi/vtbl.c: fix memory leak UBI: fix sparse errors in ubi.h UBI: fix error message UBI: silence warning commit 4a0d3f3afddf01dfcfdcc826f0b706dbc01f4ef4 Author: FUJITA Tomonori Date: Wed Mar 5 17:09:30 2008 +0900 parisc: fix IOMMU's device boundary overflow bug on 32bits arch On 32bits boxes, boundary_size becomes zero due to a overflow and we hit BUG_ON in iommu_is_span_boundary. Signed-off-by: FUJITA Tomonori Cc: Kyle McMartin Cc: Matthew Wilcox Acked-by: Grant Grundler Signed-off-by: Linus Torvalds commit 41f7f60d31e5e1dfc9a92957b3e14e08a2f04964 Author: David Rientjes Date: Tue Mar 4 23:32:38 2008 -0800 cpusets: fix obsolete comment mm migration is no longer done in cpuset_update_task_memory_state() so it can no longer take current->mm->mmap_sem, so fix the obsolete comment. [ This changed in commit 04c19fa6f16047abff2288ddbc1f0798ede5a849 ("cpuset: migrate all tasks in cpuset at once") when the mm migration was moved from cpuset_update_task_memory_state() to update_nodemask() ] Signed-off-by: David Rientjes Cc: Paul Jackson Signed-off-by: Linus Torvalds commit 103926c689650396901002c3a8c38970fff70391 Merge: da71aeb... 51f39ea... Author: Linus Torvalds Date: Wed Mar 5 17:49:59 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: (27 commits) [SCSI] mpt fusion: don't oops if NumPhys==0 [SCSI] iscsi class: regression - fix races with state manipulation and blocking/unblocking [SCSI] qla4xxx: regression - add start scan callout [SCSI] qla4xxx: fix host reset dpc race [SCSI] tgt: fix build errors when dprintk is defined [SCSI] tgt: set the data length properly [SCSI] tgt: stop zero'ing scsi_cmnd [SCSI] ibmvstgt: set up scsi_host properly before __scsi_alloc_queue [SCSI] docbook: fix fusion source files [SCSI] docbook: fix scsi source file [SCSI] qla2xxx: Update version number to 8.02.00-k9. [SCSI] qla2xxx: Correct usage of inconsistent timeout values while issuing ELS commands. [SCSI] qla2xxx: Correct discrepancies during OVERRUN handling on FWI2-capable cards. [SCSI] qla2xxx: Correct needless clean-up resets during shutdown. [SCSI] arcmsr: update version and changelog [SCSI] ps3rom: disable clustering [SCSI] ps3rom: fix wrong resid calculation bug [SCSI] mvsas: fix phy sas address [SCSI] gdth: fix to internal commands execution [SCSI] gdth: bugfix for the at-exit problems ... commit da71aeb6149cf6c9c98b8ff2ce1c2ae93dbcfa75 Merge: 9af6b05... f9c3a38... Author: Linus Torvalds Date: Wed Mar 5 17:49:38 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6: NFS: use new LSM interfaces to explicitly set mount options LSM/SELinux: Interfaces to allow FS to control mount options commit 9af6b056a281c81ae6043e0f5b4e2cb323f5bb43 Merge: 8cce3e7... f6ebef3... Author: Linus Torvalds Date: Wed Mar 5 17:49:01 2008 -0800 Merge branch 'fixes-25' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * 'fixes-25' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] fix section mismatch warnings [CPUFREQ] Remove debugging message from e_powersaver [CPUFREQ] Fix missing cpufreq_cpu_put() call in ->store [CPUFREQ] Fix missing cpufreq_cpu_put() call in ->show commit 8cce3e7cbe6f09553bfd94250f0a358ba669c8ac Merge: a878539... 583b33b... Author: Linus Torvalds Date: Wed Mar 5 17:47:41 2008 -0800 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [S390] incorrect reipl nss name. [S390] Load disabled wait psw if reipl fails. [S390] Fix IPL from NSS. [S390] zcrypt: fix ap_device_list handling [S390] sclp_vt220: speed up console output for interactive work [S390] dasd: fix reference counting in display method for proc/dasd/devices [S390] dasd: let dasd erp matching recognize alias recovery [S390] Get rid of memcpy gcc warning workaround. [S390] idle: Fix machine check handling in idle loop. [S390] Update default configuration. commit aa17f6f930b19df2901aa78c88530653cdcfc450 Author: Petr Tesarik Date: Tue Feb 26 12:03:28 2008 +0100 [IA64] arch_ptrace() cleanup Remove duplicate code, clean up goto's and indentation. Signed-off-by: Petr Tesarik Signed-off-by: Tony Luck commit 8db3f5254151c3a06a764bbb18283570ba1897bf Author: Petr Tesarik Date: Mon Feb 11 22:43:38 2008 +0100 [IA64] remove duplicate code from arch_ptrace() Remove all code which does exactly the same thing as ptrace_request(). Signed-off-by: Petr Tesarik Signed-off-by: Tony Luck commit eac738e6cea16bfbd7b9018d60d009aedd2d14b6 Author: Petr Tesarik Date: Mon Feb 11 22:43:05 2008 +0100 [IA64] convert sys_ptrace to arch_ptrace Convert sys_ptrace() to arch_ptrace(). Signed-off-by: Petr Tesarik Signed-off-by: Tony Luck commit e868a55c2a8cb72b66d7137fbcc54b82016e98eb Author: Petr Tesarik Date: Mon Feb 11 22:42:34 2008 +0100 [IA64] remove find_thread_for_addr() find_thread_for_addr() is no longer needed. It was only used to find the correct kernel RBS for a given memory address, but since the kernel RBS is not needed any longer, this function can go away. Signed-off-by: Petr Tesarik Signed-off-by: Tony Luck commit 08b23d74e07ac053fe4a5d6f4a48e8048fcfe52b Author: Petr Tesarik Date: Mon Feb 11 22:42:00 2008 +0100 [IA64] do not sync RBS when changing PT_AR_BSP or PT_CFM Syncing is no longer needed, because user RBS is already up-to-date. Actually, if a debugger modified the contents of the original RBS prior to changing PT_AR_BSP, the modifications would get overwritten. Signed-off-by: Petr Tesarik Signed-off-by: Tony Luck commit 972559a05222c1d7ebd5dcde637542713bb8778d Author: Petr Tesarik Date: Mon Feb 11 22:41:18 2008 +0100 [IA64] access user RBS directly Because the user RBS of a process is now completely stored in user-mode when the process is ptrace-stopped, accesses to the RBS should no longer augment any part of the kernel RBS. This means we can get rid of most ia64_peek() and ia64_poke() calls. Signed-off-by: Petr Tesarik Signed-off-by: Tony Luck commit 219b99a9edab4fdc478c819acb38f4a592dffd7d Author: Neil Horman Date: Wed Mar 5 13:44:46 2008 -0800 [SCTP]: Bring MAX_BURST socket option into ietf API extension compliance Brings max_burst socket option set/get into line with the latest ietf socket extensions api draft, while maintaining backwards compatibility. Signed-off-by: Neil Horman Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 140ee9603c753ce11fc3088c1988a77e92183f9b Author: Gui Jianfeng Date: Wed Mar 5 13:43:32 2008 -0800 SCTP: Fix chunk parameter processing bug If an address family is not listed in "Supported Address Types" parameter(INIT Chunk), but the packet is sent by that family, this address family should be considered as supported by peer. Otherwise, an error condition will occur. For instance, if kernel receives an IPV6 SCTP INIT chunk with "Support Address Types" parameter which indicates just supporting IPV4 Address family. Kernel will reply an IPV6 SCTP INIT ACK packet, but the source ipv6 address in ipv6 header will be vacant. This is not correct. refer to RFC4460 as following: IMPLEMENTATION NOTE: If an SCTP endpoint lists in the 'Supported Address Types' parameter either IPv4 or IPv6, but uses the other family for sending the packet containing the INIT chunk, or if it also lists addresses of the other family in the INIT chunk, then the address family that is not listed in the 'Supported Address Types' parameter SHOULD also be considered as supported by the receiver of the INIT chunk. The receiver of the INIT chunk SHOULD NOT respond with any kind of error indication. Here is a fix to comply to RFC. Signed-off-by: Gui Jianfeng Acked-by: Vlad Yasevich Signed-off-by: David S. Miller commit f9c3a3802119a2d30f3e4a69aef30a81e09d0209 Author: Eric Paris Date: Wed Mar 5 14:20:18 2008 -0500 NFS: use new LSM interfaces to explicitly set mount options NFS and SELinux worked together previously because SELinux had NFS specific knowledge built in. This design was approved by both groups back in 2004 but the recent NFS changes to use nfs_parsed_mount_data and the usage of nfs_clone_mount_data showed this to be a poor fragile solution. This patch fixes the NFS functionality regression by making use of the new LSM interfaces to allow an FS to explicitly set its own mount options. The explicit setting of mount options is done in the nfs get_sb functions which are called before the generic vfs hooks try to set mount options for filesystems which use text mount data. This does not currently support NFSv4 as that functionality did not exist in previous kernels and thus there is no regression. I will be adding the needed code, which I believe to be the exact same as the v3 code, in nfs4_get_sb for 2.6.26. Signed-off-by: Eric Paris Acked-by: Trond Myklebust Signed-off-by: James Morris commit e0007529893c1c064be90bd21422ca0da4a0198e Author: Eric Paris Date: Wed Mar 5 10:31:54 2008 -0500 LSM/SELinux: Interfaces to allow FS to control mount options Introduce new LSM interfaces to allow an FS to deal with their own mount options. This includes a new string parsing function exported from the LSM that an FS can use to get a security data blob and a new security data blob. This is particularly useful for an FS which uses binary mount data, like NFS, which does not pass strings into the vfs to be handled by the loaded LSM. Also fix a BUG() in both SELinux and SMACK when dealing with binary mount data. If the binary mount data is less than one page the copy_page() in security_sb_copy_data() can cause an illegal page fault and boom. Remove all NFSisms from the SELinux code since they were broken by past NFS changes. Signed-off-by: Eric Paris Acked-by: Stephen Smalley Acked-by: Casey Schaufler Signed-off-by: James Morris commit 51f39eae14b4874618e73281c236e3a1c1572d4d Author: Krzysztof Oledzki Date: Tue Mar 4 14:56:23 2008 -0800 [SCSI] mpt fusion: don't oops if NumPhys==0 Don't oops if NumPhys==0, instead return -ENODEV. This patch fixes http://bugzilla.kernel.org/show_bug.cgi?id=9909 Signed-off-by: Krzysztof Piotr Oledzki Acked-by: Eric Moore Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit f6ebef30e21638417f8f5443ba393d63a0c27e2b Author: Sam Ravnborg Date: Sun Feb 17 13:22:52 2008 +0100 [CPUFREQ] fix section mismatch warnings Fix the following warnings: WARNING: vmlinux.o(.text+0xfe6711): Section mismatch in reference from the function cpufreq_unregister_driver() to the variable .cpuinit.data:cpufreq_cpu_notifier WARNING: vmlinux.o(.text+0xfe68af): Section mismatch in reference from the function cpufreq_register_driver() to the variable .cpuinit.data:cpufreq_cpu_notifier WARNING: vmlinux.o(.exit.text+0xc4fa): Section mismatch in reference from the function cpufreq_stats_exit() to the variable .cpuinit.data:cpufreq_stat_cpu_notifier The warnings were casued by references to unregister_hotcpu_notifier() from normal functions or exit functions. This is flagged by modpost as a potential error because it does not know that for the non HOTPLUG_CPU scenario the unregister_hotcpu_notifier() is a nop. Silence the warning by replacing the __initdata annotation with a __refdata annotation. Signed-off-by: Sam Ravnborg Signed-off-by: Dave Jones commit 0e5aa8d6218f9914b23e492debf653bda5598af3 Author: Dave Jones Date: Fri Feb 15 18:11:14 2008 -0500 [CPUFREQ] Remove debugging message from e_powersaver We don't need to printk a message every time we transition. Leave the code there, but ifdef'd out, as it's useful when adding support for new processors. Reported-by: Petr Titěra Signed-off-by: Dave Jones commit a07530b44547a892dae59f4e0f141f4e6f5e2e40 Author: Dave Jones Date: Wed Mar 5 14:22:25 2008 -0500 [CPUFREQ] Fix missing cpufreq_cpu_put() call in ->store refactor to use gotos instead of explicit exit paths Signed-off-by: Dave Jones commit 0db4a8a99f6a8534c526e8c9d4b13d098400d485 Author: Dave Jones Date: Wed Mar 5 14:20:57 2008 -0500 [CPUFREQ] Fix missing cpufreq_cpu_put() call in ->show refactor to use gotos instead of explicit exit paths Signed-off-by: Dave Jones commit 45ab33b6c190c4a8c58f1d13be2ff89ee62024ba Author: Mike Christie Date: Tue Mar 4 13:26:55 2008 -0600 [SCSI] iscsi class: regression - fix races with state manipulation and blocking/unblocking For qla4xxx, we could be starting a session, but some error (network, target, IO from a device that got started, etc) could cause the session to fail and curring the block/unblock and state manipulation could race with each other. This patch just has those operations done in the single threaded iscsi eh work queue, so that way they are serialized. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 024f801f528220edc89275a724ea00cd18c5ebb7 Author: Mike Christie Date: Tue Mar 4 13:26:54 2008 -0600 [SCSI] qla4xxx: regression - add start scan callout We are seeing EXIST errors from sysfs during device addition. We need a start scan callout so we do not start scanning sessions found during hba setup, before the async scsi scan code is ready. Signed-off-by: Mike Christie Acked-by: David C Somayajulu Signed-off-by: James Bottomley commit 50a29aec9c47d26e869df83ef1d69e3b63c83bf4 Author: Mike Christie Date: Tue Mar 4 13:26:53 2008 -0600 [SCSI] qla4xxx: fix host reset dpc race The host reset callout could be starting to reset the hba at the same time the dpc thread is. This creates lots of problems because they both want to do wierd things with the firmware and interrupts, etc. This patch just has the host reset function fully shutdown the dpc thread before resetting the hba. This patch also moves the setting of the session online bit to fix a potential race with the dpc thread and iscsi recovery thread. Signed-off-by: Mike Christie Acked-by: David C Somayajulu Signed-off-by: James Bottomley commit a878539ef994787c447a98c2e3ba0fe3dad984ec Author: Jeff Garzik Date: Thu Feb 28 15:43:48 2008 -0500 ahci: work around ATI SB600 h/w quirk This addresses the recent ATI SB600 errata, where the hardware does not like 256-length PRD entries during FPDMA (aka NCQ). It hurts performance on SB600, but it is more important to get a correct patch eliminating the data corruption/lockups, and then later on tune for performance. We simply limit each command to a maximum of 255 sectors, on SB600. Signed-off-by: Jeff Garzik commit 6ddd68615ae9b21096545d7d6ab0f04113ae8b42 Author: Alan Cox Date: Tue Feb 26 13:35:54 2008 -0800 pata_hpt*, pata_serverworks: fix UDMA masking When masking, mask out the modes that are unsupported not the ones that are supported. This makes life happier. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 0d66afe7805b169b6bf3c7a88cf8163298b8ef05 Author: Adrian Bunk Date: Tue Mar 4 15:19:22 2008 -0800 make s2io.c:init_tti() static Make the needlessly global init_tti() static. Signed-off-by: Adrian Bunk Acked-by: "Ramkrishna Vepa" Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 583b33bc83d24791f11e862290ee0b79d804d2d8 Author: Hongjie Yang Date: Wed Mar 5 12:37:16 2008 +0100 [S390] incorrect reipl nss name. /sys/firmware/reipl/nss/name contains the nss name when defsys or savesys command has been executed. If the defsys or savesys command fails the kernel_nss_name has to be cleared since a reipl on that nss name won't be possible. Signed-off-by: Hongjie Yang Signed-off-by: Martin Schwidefsky commit 208e559155c775ba63e9f6fe59ac6d1e15711d28 Author: Michael Holzheu Date: Wed Mar 5 12:37:15 2008 +0100 [S390] Load disabled wait psw if reipl fails. Normally this should not happen, but it's cleaner to do it that way. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 684de39bd7957bfb1657a13ccb0c53a474708f2f Author: Heiko Carstens Date: Wed Mar 5 12:37:14 2008 +0100 [S390] Fix IPL from NSS. IPL from NSS didn't work because the memory detection routine omits any memory sections with a size lower than what MAX_ORDER defines. This causes the detection routine to skip the first memory segment which has a size of 1MB. Which later on will let the kernel think that there is no memory available at all. Since in addition the z/VM memory increment size is 1MB force MAX_ORDER to be 9, so we can support 1MB segments. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit faa582ca8014d2e1ede5568a813fb0e5c3c078df Author: Ralph Wuerthner Date: Wed Mar 5 12:37:13 2008 +0100 [S390] zcrypt: fix ap_device_list handling In ap_device_probe() we can add the new ap device to the internal device list only if the device probe function successfully returns. Otherwise we might end up with an invalid device in the internal ap device list. Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky commit fa331ffc56fb8ead0811a89e4a582bbd5f29d714 Author: Christian Borntraeger Date: Wed Mar 5 12:37:12 2008 +0100 [S390] sclp_vt220: speed up console output for interactive work Currently an output buffer can wait up to HZ/2 until the buffer is flushed. The wait time is noticeable in interactive tools like mc. Change the value to HZ/20, which seems enough for interactive work. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit a5e2383991ee985332854b721ba3e5abbbabf0f2 Author: Stefan Weinhuber Date: Wed Mar 5 12:37:11 2008 +0100 [S390] dasd: fix reference counting in display method for proc/dasd/devices Using the /proc/dasd/devices interface leaves the reference counter of alias devices in an inconsistent state. A process that tries to set such a device offline afterwards will hang. The dasd_devices_show function returns immediately for alias devices and this code path was missing a dasd_put_device call. Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit 5c12f2406cea24a2c885a8d3e5aa7ab94c65f0d5 Author: Stefan Weinhuber Date: Wed Mar 5 12:37:10 2008 +0100 [S390] dasd: let dasd erp matching recognize alias recovery When a request fails that was started on an alias device then the first recovery step is to retry it on the base device. If the recovery request fails again with the same symptoms, the next step should not be a simple retry, but should be a proper recovery based on sense data, etc. To do so, the dasd recovery functions need to recognize the alias recovery step in the erp chain by comparing the start devices. Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit 98c7b388afffdc5699095261b437b286d718270c Author: Heiko Carstens Date: Wed Mar 5 12:37:09 2008 +0100 [S390] Get rid of memcpy gcc warning workaround. Compile smp.o with -Wno-nonnull so gcc stops warning about memcpy being used with a null parameter. Also remove the workaround code and use a char * cast instead of a void * cast to do computations. Cc: Bastian Blank Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 5ccd0e43bb916872022df974d0f39337797d9277 Author: Heiko Carstens Date: Wed Mar 5 12:37:08 2008 +0100 [S390] idle: Fix machine check handling in idle loop. If a machine check handling is pending when the idle loop is entered default_idle will be left with timer ticks and virtual timer disabled. Fix this by "calling" the idle_chain. Also a BUG_ON(!in_interrupt) in start_hz_timer must be removed since the function now gets called from non interrupt context as well. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 9361a492cded45af2c3e7f50dbec9dd6dab49861 Author: Martin Schwidefsky Date: Wed Mar 5 12:37:07 2008 +0100 [S390] Update default configuration. Signed-off-by: Martin Schwidefsky commit f9e7d100ddea5cdcea7a02230566f36b0a648c2e Author: Adrian Bunk Date: Wed Feb 27 17:07:54 2008 +0200 FIXED_PHY must depend on PHYLIB=y This patch fixes the following build error introduced by commit a79d8e93d300adb84cccc38ac396cfb118c238ad and reported by Olaf Hering: <-- snip --> ... LD .tmp_vmlinux1 arch/powerpc/sysdev/built-in.o: In function `of_add_fixed_phys': fsl_soc.c:(.init.text+0xd34): undefined reference to `fixed_phy_add' make: *** [.tmp_vmlinux1] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit f37c768c39e3aeb8a508e1a45e461a506771445e Author: Adrian Bunk Date: Mon Mar 3 23:34:13 2008 +0200 fix drivers/net/atarilance.c compilation This patch fixes the following build error: <-- snip --> ... CC [M] drivers/net/atarilance.o {standard input}: Assembler messages: {standard input}:406: Error: symbol `Lberr' is already defined {standard input}:460: Error: symbol `Lberr' is already defined make[3]: *** [drivers/net/atarilance.o] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit d94e6fed6edb365debf44d884a7e626f06a0eb28 Author: Auke Kok Date: Mon Mar 3 14:37:47 2008 -0800 Intel ethernet adapter: Update MAINTAINERS Another team member unfortunately left: update MAINTAINERS. Condense the 3 lists down to a single list for all our drivers. Point to our new sourceforge index page which is slightly better navigateable than the sf.net project page. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 5a059e9d49936fd2069d1777210b06b31ce50ee4 Author: Emil Tantilov Date: Mon Mar 3 14:37:42 2008 -0800 ixgbe: fix typo in speed mesage Signed-off-by: Emil Tantilov Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit f902283bbe68639142a00dd23d80ee31e1b00759 Author: Auke Kok Date: Mon Mar 3 14:37:31 2008 -0800 e100: Do suspend/shutdown like e1000 This fixes a "trying to free already free IRQ" message and simplifies the shutdown/suspend code by re-using already existing code when going to suspend. The code is now symmetric with e100_resume. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit af856bbfc498c3c8c79cb07be84e958962c711c3 Author: Thomas Klein Date: Mon Mar 3 13:52:06 2008 +0100 ehea: Fix missing Kconfig dependency Fixed Kconfig: ehea driver requires sparse mem Signed-off-by: Thomas Klein Signed-off-by: Jeff Garzik commit 36c86bd27185939b7bb22252e47e133a08dcead6 Author: Komuro Date: Sat Mar 1 10:52:03 2008 +0900 axnet_cs: change debugging level for "Too much work at interrupt" message. This message is frequently displayed even if normal file-transfer. Signed-off-by: Komuro Signed-off-by: Jeff Garzik commit 27c8bc2cc1a520a6c77b225bb7dc53f7dea32f6f Author: Martin Michlmayr Date: Thu Feb 28 21:11:48 2008 +0100 mv643xx_eth: Define module alias for platform device The mv643xx_eth driver can be loaded as a platform device, as is done by various Orion (ARM) based devices. The driver needs to define a module alias for the platform driver so udev will load it automatically. Tested with Debian on a QNAP TS-209. Signed-off-by: Martin Michlmayr Signed-off-by: Jeff Garzik commit f25f0f8dcd99e954dc0acf2fcb556cbcd7394549 Author: Ondrej Zary Date: Mon Feb 25 18:45:46 2008 +0100 de2104x: remove BUG_ON() when changing media type When the chip dies (probably because of a bug somewhere in the driver), de_stop_rxtx() fails and changing the media type crashes the whole machine. Replace BUG_ON() in de_set_media() with a warning. Signed-off-by: Ondrej Zary Signed-off-by: Jeff Garzik commit 8b7c1664405a1262bb78e80011ec10aa6b79df81 Author: frederic Rodo Date: Wed Feb 27 12:58:37 2008 +0100 dm9161: add configuration for MII/RMII Signed-off-by: Frederic Rodo Signed-off-by: Jeff Garzik commit bc97f19dc8be1f181f33b4368542c72498f3562a Author: Adrian Bunk Date: Wed Mar 5 19:05:54 2008 +0800 [CRYPTO] digest: Include internal.h for prototypes Every file should include the headers containing the externs for its global code (in this case for struct crypto_{init,exit}_digest_ops()). Signed-off-by: Adrian Bunk Signed-off-by: Herbert Xu commit a6472533e4553985af775982744b0ba088b5ff8c Author: David Brownell Date: Mon Mar 3 04:33:30 2008 -0800 ARM: OMAP: gpio lockdep updates Fix some spinlock issues reported by lockdep: since the gpio bank locks can be aquired in both irq and non-irq contexts, they need to be consistent about always using the irq-safe variants. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 02bad5f9bc9f1f42d4bb87bb8bf741d4cefe87d6 Author: David Brownell Date: Sun Feb 24 19:08:26 2008 -0800 ARM: OMAP1: omap1/pm.c build fix Build fix: arch/arm/mach-omap1/pm.c: In function 'omap_pm_init': arch/arm/mach-omap1/pm.c:720: warning: passing argument 2 of 'sysfs_create_file' from incompatible pointer type Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 9221bb1c3a0d5e14df2cca43e22f983676795652 Author: David Brownell Date: Thu Feb 28 14:40:53 2008 -0800 ARM: OMAP1: omap h2 regression fix H2 and H3 were broken on by e27a93a944a5ba6a0112750c8243abba86d56e94, which removed declarations for their tps6501x chips. This resolves that issue for the H2. (Note that this patch *also* broke the isp1301 support on H2; it presumed a not-yet-merged new-style I2c driver.) Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 09be7553959c9947f7cbccbe1c3094bb2e3ffd28 Author: Tony Lindgren Date: Mon Mar 3 01:31:32 2008 -0800 ARM: OMAP1: Fix compile for boards depending on old gpio expander The long term fix is to switch boards to use drivers/gpio/pcf857x.c. Signed-off-by: Tony Lindgren commit 0cc0a441163b92fbda5fe1886cb6e9876cf08f40 Author: David Brownell Date: Thu Feb 28 14:44:08 2008 -0800 ARM: OMAP1: omap h3 regression and build fix Get rid of build warnings and errors in mainline for H3 boards; not all the H3 updates were correct, it seems like the OMAP1 boards are not getting proper build testing. Also, commit e27a93a944a5ba6a0112750c8243abba86d56e94 introduced a regression related to the tps65013 chip. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 9be401a2aee69a63c88a0b91d73d3a8db091abda Author: Kyungmin Park Date: Mon Mar 3 16:36:23 2008 +0900 ARM: OMAP: Remove compiler warning when i2c is not set Remove compiler warning when i2c is not set Signed-off-by: Kyungmin Park Acked-by: Jarkko Nikula commit cfa9a63a9ad25fd3d3218a4e95f5a93090669f3c Author: David Brownell Date: Tue Feb 26 11:02:30 2008 -0800 ARM: OMAP: fix omap i2c init (regression) In mainline, the "old style" I2C registration was only removed for OMAP2, leading to init-time bugs (regressions) like: sysfs: duplicate filename 'i2c_omap.1' can not be created ------------[ cut here ]------------ WARNING: at fs/sysfs/dir.c:424 sysfs_add_one+0x40/0xd4() Modules linked in: ... deletia ... [] (omap_init_i2c+0x0/0x50) from [] (omap_init_devices+0x10/0x24) r4:c001e000 [] (omap_init_devices+0x0/0x24) from [] (do_initcalls+0x78/0x200) ... deletia ... ---[ end trace ca143223eefdc828 ]--- kobject_add_internal failed for i2c_omap.1 with -EEXIST, don't try to register things with the same name in the same directory. The fix is obvious: remove the old init code, it's no longer needed. Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit 8ba55c5c139f9be26b87d3aab9998f54d8d3057a Author: David Brownell Date: Tue Feb 26 11:10:50 2008 -0800 ARM: OMAP: fix false lockdep warnings Remove false lockdep warnings about lock recursion when declaring IRQs as being wake-capable, by marking putting GPIO irq_desc locks into their own class. (Thanks to Peter Zijlstra for helping track down such a small fix to this problem.) Signed-off-by: David Brownell Signed-off-by: Tony Lindgren commit b8488fbe6d2f32ff4ad2f8f348a50e42389fc727 Author: Hiroshi DOYU Date: Thu Aug 30 12:46:39 2007 +0300 ARM: OMAP: Fix sleep under spinlock for cpufreq [ 10.523437] BUG: sleeping function called from invalid context at kernel/mut6 [ 10.523437] in_atomic():0, irqs_disabled():128 [ 10.523437] [] (dump_stack+0x0/0x14) from [] (__might_sl) [ 10.523437] [] (__might_sleep+0x0/0xd4) from [] (mutex_l) [ 10.523437] r5 = C02F0DE8 r4 = C02F0DF0 [ 10.523437] [] (mutex_lock+0x0/0x44) from [] (clk_get+0x) [ 10.523437] r4 = 00000000 [ 10.523437] [] (clk_get+0x0/0x128) from [] (omap_getspee) [ 10.523437] r8 = 00000002 r7 = 00000000 r6 = C031DAF8 r5 = C0473980 [ 10.523437] r4 = 00000000 [ 10.523437] [] (omap_getspeed+0x0/0x5c) from [] (cpufreq) [ 10.523437] r5 = C0473980 r4 = 00000002 Signed-off-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit 538528de0cb256f65716ab2e9613d9e920f97fe2 Author: Jarkko Nikula Date: Wed Feb 13 11:47:29 2008 +0200 ARM: OMAP: Pass logical DMA channel number always to callback handlers This makes parameter passing to DMA handlers uniform between non-chained and chained transfers and makes debugging easier. Additional data like chain_id can be always passed to handlers via callback data if needed. Signed-off-by: Jarkko Nikula Signed-off-by: Tony Lindgren 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 27d0483aa1ef66a8877d71b63bb97f46ab0246b2 Merge: 665c1ef... dea75bd... Author: Linus Torvalds Date: Tue Mar 4 20:20:58 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (22 commits) [IPCONFIG]: The kernel gets no IP from some DHCP servers b43legacy: Fix module init message rndis_wlan: fix broken data copy libertas: compare the current command with response libertas: fix sanity check on sequence number in command response p54: fix eeprom parser length sanity checks p54: fix EEPROM structure endianness ssb: Add pcibios_enable_device() return value check rc80211-pid: fix rate adjustment [ESP]: Add select on AUTHENC [TCP]: Improve ipv4 established hash function. [NETPOLL]: Revert two bogus cleanups that broke netconsole. [PPPOL2TP]: Add missing sock_put() in pppol2tp_tunnel_closeall() Subject: [PPPOL2TP] add missing sock_put() in pppol2tp_recv_dequeue() [BLUETOOTH]: l2cap info_timer delete fix in hci_conn_del [NET]: Fix race in generic address resolution. iucv: fix build error on !SMP [TCP]: Must count fack_count also when skipping [TUN]: Fix RTNL-locking in tun/tap driver [SCTP]: Use proc_create to setup de->proc_fops. ... commit 665c1ef8369138dad7773da6407fe77ccff87deb Merge: 71ca44d... f0e98c3... Author: Linus Torvalds Date: Tue Mar 4 20:20:32 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC]: Fix link errors with gcc-4.3 sparc64: replace remaining __FUNCTION__ occurances sparc: replace remaining __FUNCTION__ occurances [SPARC]: Add reboot_command[] extern decl to asm/system.h [SPARC]: Mark linux_sparc_{fpu,chips} static. 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 3123e666ea92ab0b1762e97e0785d20a0ab25088 Merge: ed58dd4... c256e05... Author: David S. Miller Date: Tue Mar 4 16:44:01 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 71ca44dac4cbf89ce88e460a293cc25c5b18fa50 Merge: 2c6f2db... 9dad6f5... Author: Linus Torvalds Date: Tue Mar 4 16:39:23 2008 -0800 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] fix ia64 kprobes compilation [IA64] move gcc_intrin.h from header-y to unifdef-y [IA64] workaround tiger ia64_sal_get_physical_id_info hang [IA64] move defconfig to arch/ia64/configs/ [IA64] Fix irq migration in multiple vector domain [IA64] signal(ia64_ia32): add a signal stack overflow check [IA64] signal(ia64): add a signal stack overflow check [IA64] CONFIG_SGI_SN2 - auto select NUMA and ACPI_NUMA commit 2c6f2db13a2428aa16f54f50232a589ddd5d7d01 Merge: 12f981f... 3634634... Author: Linus Torvalds Date: Tue Mar 4 16:37:35 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6: debugfs: fix sparse warnings Driver core: Fix cleanup when failing device_add(). driver core: Remove dpm_sysfs_remove() from error path of device_add() PM: fix new mutex-locking bug in the PM core PM: Do not acquire device semaphores upfront during suspend kobject: properly initialize ksets sysfs: CONFIG_SYSFS_DEPRECATED fix driver core: fix up Kconfig text for CONFIG_SYSFS_DEPRECATED commit 12f981f9028da2402c236544c78b8378a278f830 Merge: 10955d2... c1ef5cb... Author: Linus Torvalds Date: Tue Mar 4 16:37:10 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6: pci: hotplug: pciehp: fix error code path in hpc_power_off_slot PCI: Add DECLARE_PCI_DEVICE_TABLE macro PCI: fix up error messages for pci_bus registering PCI: fix section mismatch warning in pci_scan_child_bus PCI: consolidate duplicated MSI enable functions PCI: use dev_printk in quirk messages commit 10955d2251387df3997d8b9b6c572dfad9f23dd0 Merge: b2a5cd6... 4ae897d... Author: Linus Torvalds Date: Tue Mar 4 16:36:53 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: USB: ftdi_sio - really enable EM1010PC USB: remove incorrect struct class_device from the printer gadget USB: pxa2xx_udc: fix misuse of clock enable/disable calls USB: ftdi_sio: Workaround for broken Matrix Orbital serial port USB: Add support for AXESSTEL MV110H CDMA modem usb-storage: update earlier scatter-gather bug fix USB: isp116x: fix enumeration on boot USB: ehci: handle large bulk URBs correctly (again) USB: spruce up the device blacklist USB: fix comment of struct usb_interface USB: update Kconfig entry for USB_SUSPEND usb: Add support for the mos7820/7840-based B&B USB/RS485 converter to mos7840.c 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 6275487806fbc17e92595b5880d7b0ee49363c4f Merge: c5750ee... e97a294... Author: Linus Torvalds Date: Tue Mar 4 11:37:36 2008 -0800 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: scsi: missing add of padded bytes to io completion byte count commit c5750ee69f469024d98019545e41c74abf1652bd Merge: b1c3c3e... 86c838b... Author: Linus Torvalds Date: Tue Mar 4 11:27:32 2008 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: [PATCH] fs/ocfs2/aops.c: Correct use of ! and & [2.6 patch] ocfs2: make dlm_do_assert_master() static [2.6 patch] make ocfs2_downconvert_thread() static [2.6 patch] fs/ocfs2/: possible cleanups [PATCH] ocfs2: le*_add_cpu conversion ocfs2: Fix writeout in ocfs2_data_convert_worker() ocfs2: Enable localalloc for local mounts commit b1c3c3ebf70548bb182d570b79a3f21045cd30e5 Merge: 87baa2b... 6497dcf... Author: Linus Torvalds Date: Tue Mar 4 11:26:01 2008 -0800 Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: ioat: fix 'ack' handling, driver must ensure that 'ack' is zero dmaengine: fix sparse warning fsldma: do not cleanup descriptors in hardirq context dmaengine: add driver for Freescale MPC85xx DMA controller 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 87baa2bb904ed46f872385fe430b6cfb80967835 Merge: 34f10fc... 62fb185... Author: Linus Torvalds Date: Tue Mar 4 09:23:28 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel: sched: revert load_balance_monitor() changes commit 34f10fc9886450c2e8a336f7022805c4a73e10f1 Merge: 67171a3... 87d034f... Author: Linus Torvalds Date: Tue Mar 4 09:22:32 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: x86/xen: fix DomU boot problem x86: not set node to cpu_to_node if the node is not online x86, i387: fix ptrace leakage using init_fpu() commit 67171a3f0335f2ecd1723851e75a0af7e2115f25 Merge: ce93296... 1a4e3f8... Author: Linus Torvalds Date: Tue Mar 4 09:22:05 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: x86: disable KVM for Voyager and friends KVM: VMX: Avoid rearranging switched guest msrs while they are loaded KVM: MMU: Fix race when instantiating a shadow pte KVM: Route irq 0 to vcpu 0 exclusively KVM: Avoid infinite-frequency local apic timer KVM: make MMU_DEBUG compile again KVM: move alloc_apic_access_page() outside of non-preemptable region KVM: SVM: fix Windows XP 64 bit installation crash KVM: remove the usage of the mmap_sem for the protection of the memory slots. KVM: emulate access to MSR_IA32_MCG_CTL KVM: Make the supported cpuid list a host property rather than a vm property KVM: Fix kvm_arch_vcpu_ioctl_set_sregs so that set_cr0 works properly KVM: SVM: set NM intercept when enabling CR0.TS in the guest KVM: SVM: Fix lazy FPU switching 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 ce932967b9f77c130d4936d1e20d619a628ae08f Merge: 8727e28... cc66b45... Author: Linus Torvalds Date: Tue Mar 4 08:08:05 2008 -0800 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: block: fix blkdev_issue_flush() not detecting and passing EOPNOTSUPP back block: fix shadowed variable warning in blk-map.c block: remove extern on function definition cciss: remove READ_AHEAD define and use block layer defaults make cdrom.c:check_for_audio_disc() static block/genhd.c: proper externs unexport blk_rq_map_user_iov unexport blk_{get,put}_queue block/genhd.c: cleanups proper prototype for blk_dev_init() block/blk-tag.c should #include "blk.h" Fix DMA access of block device in 64-bit kernel on some non-x86 systems with 4GB or upper 4GB memory block: separate out padding from alignment block: restore the meaning of rq->data_len to the true data length resubmit: cciss: procfs updates to display info about many splice: only return -EAGAIN if there's hope of more data block: fix kernel-docbook parameters and files 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 a6c0e1f71d37b89c883d636eca48a017c055c8c4 Merge: 13b1c3d... 966ea8c... Author: Linus Torvalds Date: Tue Mar 4 08:00:34 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: [CIFS] remove unused variable [CIFS] consolidate duplicate code in posix/unix inode handling [CIFS] fix build break when proc disabled [CIFS] factoring out common code in get_inode_info functions [CIFS] fix prepath conversion when server supports posix paths [CIFS] Only convert / when server does not support posix paths [CIFS] Fix mixed case name in structure dfs_info3_param [CIFS] fixup prefixpaths which contain multiple path components [CIFS] fix typo [CIFS] patch to fix incorrect encoding of number of aces on set mode [CIFS] Fix typo in quota operations [CIFS] clean up some hard to read ifdefs [CIFS] reduce checkpatch warnings [CIFS] fix warning in cifs_spnego.c 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 f7f0283776b6fe33f87f6a2ef15b1feb49ef6dac Author: Adrian Bunk Date: Mon Mar 3 20:07:52 2008 +0200 UBI: mtd/ubi/vtbl.c: fix memory leak This patch fixes a memory leak introduced by commit 4ccf8cffa963c7b5bdc6d455ea9417084ee49aa8 and spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Artem Bityutskiy commit 8eee9f100b1cc3d1b0a701a8626c54422af3c987 Author: Harvey Harrison Date: Fri Feb 15 10:47:51 2008 +0200 UBI: fix sparse errors in ubi.h In C, signed 1-bit bitfields can only take the values 0 and -1, only 0 and 1 are ever assigned in current code. Make them unsigned bitfields. Fixes the (repeated) sparse errors: drivers/mtd/ubi/ubi.h:220:15: error: dubious one-bit signed bitfield drivers/mtd/ubi/ubi.h:221:17: error: dubious one-bit signed bitfield drivers/mtd/ubi/ubi.h:222:18: error: dubious one-bit signed bitfield drivers/mtd/ubi/ubi.h:223:16: error: dubious one-bit signed bitfield drivers/mtd/ubi/ubi.h:224:20: error: dubious one-bit signed bitfield Signed-off-by: Harvey Harrison Cc: Artem Bityutskiy Signed-off-by: Andrew Morton Signed-off-by: Artem Bityutskiy commit 19cd7b7de1804a50264dfd5c6ba3c6d332362a77 Author: Artem Bityutskiy Date: Tue Feb 12 16:32:35 2008 +0200 UBI: fix error message Make it print "UBI error: cannot attach mtd4" instead of "UBI error: cannot attach 4" Signed-off-by: Artem Bityutskiy commit fc398769ac5cbfdf4dc16a7ba657b284abcc92f5 Author: S.Çağlar Onur Date: Tue Feb 12 13:25:06 2008 +0200 UBI: silence warning drivers/mtd/ubi/vmt.c: In function `ubi_create_volume': drivers/mtd/ubi/vmt.c:379: warning: statement with no effect Signed-off-by: S.Çağlar Onur Signed-off-by: Artem Bityutskiy 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 966ea8c4b74aa6fde2d58c50a904619fd849ae93 Merge: 41c5ae6... 976dde0... Author: Steve French Date: Tue Mar 4 04:22:00 2008 +0000 Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 11b0be7c2c2c142acf73f4efd136a0de7a90ecab Author: Mike Frysinger Date: Mon Mar 3 17:44:14 2008 -0700 [Blackfin] arch: fix atomic and32/xor32 comments and ENDPROC markings Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 3d7e6cf8f5837c6dace759734c987e03021a4015 Author: Michael Hennerich Date: Mon Mar 3 17:40:28 2008 -0700 [Blackfin] arch: fix bug - allow SDH driver to be used as module Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 2f775dbaa541d6bc0cccf20aab95f7a0930ef7e9 Author: Bryan Wu Date: Thu Mar 6 16:04:58 2008 -0700 [Blackfin] arch: to kill syscalls missing warning by adding new timerfd syscalls Signed-off-by: Bryan Wu 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 976dde010e513a9c7c3117a32b7b015f84b37430 Merge: 821c7de... 62e5c4b... Author: Linus Torvalds Date: Mon Mar 3 15:00:09 2008 -0800 Merge branch 'slab-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/christoph/vm * 'slab-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/christoph/vm: slub: fix possible NULL pointer dereference slub: Add kmalloc_large_node() to support kmalloc_node fallback slub: look up object from the freelist once slub: Fix up comments slub: Rearrange #ifdef CONFIG_SLUB_DEBUG in calculate_sizes() slub: Remove BUG_ON() from ksize and omit checks for !SLUB_DEBUG slub: Use the objsize from the kmem_cache_cpu structure slub: Remove useless checks in alloc_debug_processing slub: Remove objsize check in kmem_cache_flags() slub: rename slab_objects to show_slab_objects Revert "unique end pointer" patch slab: avoid double initialization & do initialization in 1 place 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 21f1e91d4bb8fa7cd3a59938471fc7c7d27f82da Author: FUJITA Tomonori Date: Sat Mar 1 15:36:37 2008 +0900 [SCSI] tgt: fix build errors when dprintk is defined drivers/scsi/ibmvscsi/ibmvstgt.c: In function 'ibmvstgt_cmd_done': drivers/scsi/ibmvscsi/ibmvstgt.c:292: error: 'cmd' undeclared (first use in this function) drivers/scsi/ibmvscsi/ibmvstgt.c:292: error: (Each undeclared identifier is reported only once drivers/scsi/ibmvscsi/ibmvstgt.c:292: error: for each function it appears in.) Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit cccddc2d15c32bdb6972aaf98f4c9e3e807833df Author: FUJITA Tomonori Date: Sat Mar 1 15:36:36 2008 +0900 [SCSI] tgt: set the data length properly scsi_tgt uses REQ_TYPE_BLOCK_PC so scsi_init_io doesn't set the length for us. scsi_tgt needs to do it by itself. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 36802e99894e9757de2441b4f719c05a29495dc5 Author: FUJITA Tomonori Date: Sat Mar 1 15:36:35 2008 +0900 [SCSI] tgt: stop zero'ing scsi_cmnd The scsi midlayer allocates scsi_cmnd->sense_buffer dynamically so we can't initialize scsi_cmnd (the midlyaer does for us). Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit b560665ce5a617aff9c62b94a82340fe11fc0d91 Author: FUJITA Tomonori Date: Sat Mar 1 15:36:34 2008 +0900 [SCSI] ibmvstgt: set up scsi_host properly before __scsi_alloc_queue Before calling __scsi_alloc_queue, scsi_host->shost_gendev.parent must be initialized properly. This patch moves __scsi_alloc_queue after scsi_add_host (like initiator drivers do). Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 27710bf6febe8323f78bceca002ca7d71e5012a7 Merge: 9ef64cb... cad226b... Author: Christoph Lameter Date: Mon Mar 3 11:18:08 2008 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit ab3b0be84c3877dd0cccef38693254b83782bb70 Author: Randy Dunlap Date: Fri Feb 29 22:03:27 2008 -0800 [SCSI] 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 Acked-by: Eric Moore Signed-off-by: James Bottomley commit 79f5bb2839c41a007d7ce1a35f58ea14cef6fdb4 Author: Randy Dunlap Date: Fri Feb 29 22:02:50 2008 -0800 [SCSI] 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: James Bottomley commit ca3aefb8227aee7ede49a71c26adf8538b889724 Author: Andrew Vasquez Date: Thu Feb 28 14:06:12 2008 -0800 [SCSI] qla2xxx: Update version number to 8.02.00-k9. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 00a537b8204c7360852379b4d56adbeedecc9bb9 Author: Andrew Vasquez Date: Thu Feb 28 14:06:11 2008 -0800 [SCSI] qla2xxx: Correct usage of inconsistent timeout values while issuing ELS commands. The original code would incorrectly hardcode ELS timeout values rather than using the traditional '2 * r_a_tov' value. In some cases, the hardcoded values would be larger than the mailbox-command-timeout and result in a needless BIG_HAMMER (ISP reset), the typical recovery mechanism employed in such cases. The second defect in the original code was in the assignment of the default 'ha->r_a_tov' to twice the traditional value. Correct this by setting the value to 10 seconds. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 3e8ce320cfc6cc10a7b99d8d6508d00bde20fdb7 Author: Andrew Vasquez Date: Thu Feb 28 14:06:10 2008 -0800 [SCSI] qla2xxx: Correct discrepancies during OVERRUN handling on FWI2-capable cards. For recent ISPs, software must detect OVERRUN conditions by checking the SS_RESIDUAL_OVER bit during CS_COMPLETE handling. Update the driver to perform this check, which is consistent with what earlier firmwares did by explicitly cracking open the FCP_RSP statuses and returning an CS_DATA_OVERRUN. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 7c7f1f299b7f21f1f5fd4fa3da6b626406109f30 Author: Andrew Vasquez Date: Thu Feb 28 14:06:09 2008 -0800 [SCSI] qla2xxx: Correct needless clean-up resets during shutdown. There's no point in hitting the RISC with what will most assuredly be an unsucessful reset of the RISC hardware if the initial stop-firmware mailbox command fails with a time-out status. Instead, to avoid what could amount to a lengthy stop-firmware/detect-failure/reset-risc loop, continue with driver unloading and discard the stop-firmware requirement. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit ba1cb4618b2d7becc62c9fd67287e733a23611bc Author: Nick Cheng Date: Wed Feb 27 16:22:03 2008 +0800 [SCSI] arcmsr: update version and changelog The fix up from Daniel Drake for replacing GFP_DMA with something more sensible has gone in here: commit 69e562c234440fb7410877b5b24f4b29ef8521d1 Author: Daniel Drake Date: Wed Feb 20 13:29:05 2008 +0000 [SCSI] arcmsr: fix message allocation add a change log and update the version for this. Signed-off-by: Nick Cheng Signed-off-by: James Bottomley commit 57fd2b6c893ed28ccf1a674699f1ea9d8c556281 Author: FUJITA Tomonori Date: Sun Feb 17 23:46:00 2008 +0900 [SCSI] ps3rom: disable clustering ps3rom does: scsi_for_each_sg(cmd, sgpnt, scsi_sg_count(cmd), k) { kaddr = kmap_atomic(sg_page(sgpnt), KM_IRQ0); We cannot do something like that with the clustering enabled (or we can use scsi_kmap_atomic_sg). Signed-off-by: FUJITA Tomonori Cc: Geert Uytterhoeven Signed-off-by: James Bottomley commit 67768f675ffa587d6081ed1d259e796823023926 Author: FUJITA Tomonori Date: Mon Feb 25 14:23:45 2008 +0100 [SCSI] ps3rom: fix wrong resid calculation bug sg driver rounds up the length in struct scatterlist to be a multiple of 512 in some conditions. So LLDs can't use the data length in a sg list to calculate residual. Instead, the length in struct scsi_cmnd should be used. [Geert: the variable buflen already contains scsi_bufflen(cmd)] Signed-off-by: FUJITA Tomonori Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit cad226b8a71f969ad05137e43b48c9e6059a0b9f Merge: 7105a38... 0c82d83... Author: Linus Torvalds Date: Mon Mar 3 10:47:52 2008 -0800 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] Fix freeing of page tables for ARM in free_pgd_slow 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 64e6269071fb1888e5ddc9ad557368cc5fa4f538 Merge: 5ce6386... 902955f... Author: Linus Torvalds Date: Mon Mar 3 10:36:50 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 * git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: x86: revert "x86: fix pmd_bad and pud_bad to support huge pages" x86: revert "x86: CPA: avoid split of alias mappings" commit 5ce6386b900c83aa31d0490335df421a8d544381 Merge: a64e715... 3cecdda... Author: Linus Torvalds Date: Mon Mar 3 10:35:38 2008 -0800 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (24 commits) [POWERPC] Convert the cell IOMMU fixed mapping to 16M IOMMU pages [POWERPC] Allow for different IOMMU page sizes in cell IOMMU code [POWERPC] Cell IOMMU: n_pte_pages is in 4K page units, not IOMMU_PAGE_SIZE [POWERPC] Split setup of IOMMU stab and ptab, allocate dynamic/fixed ptabs separately [POWERPC] Move allocation of cell IOMMU pad page [POWERPC] Remove unused pte_offset variable [POWERPC] Use it_offset not pte_offset in cell IOMMU code [POWERPC] Clearup cell IOMMU fixed mapping terminology [POWERPC] enable hardware watchpoints on cell blades [POWERPC] move celleb DABRX definitions [POWERPC] OProfile: enable callgraph support for Cell [POWERPC] spufs: fix use time accounting on SPE-overcommit [POWERPC] spufs: serialize SLB invalidation against SLB loading [POWERPC] spufs: invalidate SLB translation before adding a new entry [POWERPC] spufs: synchronize IRQ when disabling [POWERPC] spufs: fix order of sputrace thread IDs [POWERPC] Xilinx: hwicap cleanup [POWERPC] 4xx: Use correct board info structure in cuboot wrappers [POWERPC] spufs: fix invalid scheduling of forgotten contexts [POWERPC] 44x: add missing define TARGET_4xx and TARGET_440GX to cuboot-taishan ... 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 3cecdda3f169f22f324f78fd544beee68e3cc6a4 Merge: b9c6449... da40451... Author: Paul Mackerras Date: Mon Mar 3 21:31:09 2008 +1100 Merge branch 'for-2.6.25' of master.kernel.org:/pub/scm/linux/kernel/git/arnd/cell-2.6 into merge 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 b9c64498f53e0f4d90eec03048f73ac215bb6f79 Merge: 35d77ef... 2a58aa3... Author: Paul Mackerras Date: Mon Mar 3 17:44:06 2008 +1100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jk/spufs into merge commit 35d77ef1c05bc3760427954dafaee3ca550542f3 Merge: 4187377... f62f2fd... Author: Paul Mackerras Date: Mon Mar 3 17:38:23 2008 +1100 Merge branch 'for-2.6.25' of master.kernel.org:/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx into merge commit 41c5ae6898454277ec88e8e7278c8c58026363a3 Merge: 0dbd888... 038f2f7... Author: Steve French Date: Mon Mar 3 01:53:49 2008 +0000 Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 038f2f725503b55ab76cfd2645915a85594710fe Merge: 8d07a67... 855c603... Author: Linus Torvalds Date: Sun Mar 2 12:38:17 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: firewire: fix crash in automatic module unloading firewire: potentially invalid pointers used in fw_card_bm_work firewire: fw-sbp2: better fix for NULL pointer dereference in scsi_remove_device 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 0dbd888936a23514716b8d944775bc56f731363a Merge: 0b442d2... d395991... Author: Steve French Date: Sat Mar 1 18:29:55 2008 +0000 Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6 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 d395991c117d43bfca97101a931a41d062a93852 Merge: b73384f... b445c56... Author: Linus Torvalds Date: Fri Feb 29 16:54:33 2008 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: [libata] wrap kmap_atomic(KM_IRQ0) with local_irq_save/restore() sata_svw: Add support for HT1100 SATA controller 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 b73384f06159d8388d7d17913b7e3a07e234c1ab Merge: c9e7100... d862ccc... Author: Linus Torvalds Date: Fri Feb 29 15:18:44 2008 -0800 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] 4843/1: Add GCR_CLKBPB for PXA3xx [ARM] 4842/1: pxa: remove redundant IRQ saving/restoring in clk_pxa3xx_cken_* [ARM] 4841/1: pxa: fix typo in LCD platform data definition code for zylonite [ARM] 4840/1: pxa: fix the typo in get_irqnr_and_base [ARM] 4839/1: fixes kernel Oops in /dev/mem device driver for memory map with PHYS_OFF [ARM] eliminate MODULE_PARM() usage [ARM] 4838/1: Fix kexec for SA1100 machines [ARM] 4837/1: make __get_unaligned_*() return unsigned types [ARM] 4836/1: Make ATAGS_PROC depend on KEXEC 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 1bab74e691d3c7845df2342d202c0f1c2344c834 Author: Jon Mason Date: Fri Feb 29 13:53:18 2008 -0800 RDMA/cxgb3: Return correct max_inline_data when creating a QP Set cap.max_inline_data to the actual max inline data that the adapter support, so that userspace apps see the right value returned. Signed-off-by: Jon Mason Acked-by: Steve Wise Signed-off-by: Roland Dreier commit 331552925d17ffa2f5c676e282d4fd37c852d9e3 Author: Pete Wyckoff Date: Tue Feb 26 13:27:53 2008 -0500 IB/fmr_pool: Flush all dirty FMRs from ib_fmr_pool_flush() Commit a3cd7d90 ("IB/fmr_pool: ib_fmr_pool_flush() should flush all dirty FMRs") caused a regression for iSER and was reverted in e5507736. This change attempts to redo the original patch so that all used FMR entries are flushed when ib_flush_fmr_pool() is called without affecting the normal FMR pool cleaning thread. Simply move used entries from the clean list onto the dirty list in ib_flush_fmr_pool() before letting the cleanup thread do its job. Signed-off-by: Pete Wyckoff Signed-off-by: Roland Dreier commit 35fb5340e3de5dff86923eb0cded748c3a6e05e7 Author: Pete Wyckoff Date: Tue Feb 26 13:27:31 2008 -0500 Revert "IB/fmr_pool: ib_fmr_pool_flush() should flush all dirty FMRs" This reverts commit a3cd7d9070be417a21905c997ee32d756d999b38. The original commit breaks iSER reliably, making it complain: iser: iser_reg_page_vec:ib_fmr_pool_map_phys failed: -11 The FMR cleanup thread runs ib_fmr_batch_release() as dirty entries build up. This commit causes clean but used FMR entries also to be purged. During that process, another thread can see that there are no free FMRs and fail, even though there should always have been enough available. Signed-off-by: Pete Wyckoff Signed-off-by: Roland Dreier commit 84ba284cd78c130818e2de53150f39b92504593b Author: Sean Hefty Date: Fri Feb 22 10:40:45 2008 -0800 IB/cm: Flush workqueue when removing device When a CM MAD is received, it is queued to a CM workqueue for processing. The queued work item references the port and device on which the MAD was received. If that device is removed from the system before the work item can execute, the work item will reference freed memory. To fix this, flush the workqueue after unregistering to receive MAD, and before the device is be freed. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 18b8c8f170ce346b88884ebe4060cd6dbe64e1cc Author: Arthur Jones Date: Fri Feb 29 10:13:37 2008 -0800 MAINTAINERS: update ipath owner I'll be leaving QLogic soon for another job and Ralph has graciously offered to take over the IPath driver maintainership. Signed-off-by: Arthur Jones Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier 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 076d84bbdb396360d16aaa108c55aa1e24ad47a3 Merge: d40e705... 7be2a03... Author: Linus Torvalds Date: Fri Feb 29 10:19:27 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched * git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched: softlockup: fix task state setting rcu: add support for dynamic ticks and preempt rcu 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 00da714b31b944400ee789e477f58247cff30b1b Author: Ke Wei Date: Wed Feb 27 20:50:25 2008 +0800 [SCSI] mvsas: fix phy sas address The phy sas address is showing wrongly (wrong endianness). Fix up the endian transforms to make this correct. Signed-off-by: Ke Wei Signed-off-by: James Bottomley commit c0f4133b8f70769bc8dda977feb9a29109d6ccca Merge: 99642e2... 0d9ac27... Author: Linus Torvalds Date: Fri Feb 29 08:44:00 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/alsa-fix-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/alsa-fix-2.6: [ALSA] intel8x0 - Add quirk for Compaq Deskpro EN [ALSA] hda-codec - Adapt eeepc p701 mixer for virtual master control [ALSA] sound: ice1712: unused structs [ALSA] ASoC: Fix WM9712 mixer_event DAPM widget function type [ALSA] ASoC: Fix DAPM widget function types in pxa machine drivers [ALSA] hda-codec - Fix mixer names of realtek codecs to adapt mater controls [ALSA] intel8x0 - Add quirk for Acer Travelmate 2310 [ALSA] hda_intel - Add model quirk for Albatron KI690-AM2 motherboard [ALSA] oxygen: add owner field [ALSA] hda-codec - Add Fujitsu Lifebook E8410 to quirk table [ALSA] hda-codec - Fix AD1988 capture elements [ALSA] sb8: fix SB 1.0 capture DMA programming [ALSA] usb-audio: add workaround for broken E-Mu frequency feedback [ALSA] ASoC: Fix TLV320AIC3X PLL divider table for 64 kHz rate [ALSA] hda-codec - Fix Master volume on HP dv8000 commit 99642e211a789df34347c3f10f0301462837f0c5 Merge: 84b9a77... 325d6f5... Author: Linus Torvalds Date: Fri Feb 29 08:43:27 2008 -0800 Merge branch 'avr32-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6 * 'avr32-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6: avr32: Fix OCD refcounting bug avr32: Call tick_nohz_{stop,restart}_sched_tick() in idle loop avr32: Use correct config symbol in atstk1004 board code avr32: Fix broken pte dump code in do_page_fault() AVR32: Define PAGE_SHARED commit 84b9a774008b132a8b5bd5460f639028a9c7f971 Merge: 3cf9460... 0aef456... Author: Linus Torvalds Date: Fri Feb 29 08:41:13 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: (35 commits) Blackfin Serial Driver: Fix bug - Only insert UART rx char in timer task. Blackfin Serial Driver: Fix bug - update tx dma buffer tail before wake up processes. Blackfin Serial Driver: Fix bug - Increase buffer tail immediately before starting tx dma. [Blackfin] serial driver: Add flow control support to bf54x [Blackfin] serial driver: Fix bug Poll RTS/CTS status in DMA mode as well [Blackfin] serial driver: ADSP-BF52x arch/mach support [Blackfin] serial driver: use simpler comment headers and strip out information that is maintained in the scm's log [Blackfin] serial driver: rework break flood anomaly handling to be more robust/realistic about what we can actually work around [Blackfin] serial driver: fix bug - cache the bits of the LSR on systems where the LSR is read-to-clear [Blackfin] serial driver: fix bug - should not wait for the TFI bit, just clear it when tx stop. [Blackfin] serial driver: Fix bug serial driver in DMA mode spams history to console on shell restart [Blackfin] serial driver: Fix bug Free rx dma buffer in shutdown. [Blackfin] serial driver: Clean up UART DMA code. Blackfin Serial driver: Fix bug - serial driver in PIO mode cant handle input very quickly [Blackfin] arch: kill section mismatch warnings [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 [Blackfin] arch: add bfin_clear_PPIx_STATUS() helper funcs like we have for other parts [Blackfin] arch: make sure we have proper description/copyright/license lines [Blackfin] arch: Fix CONFIG_PM support for BF561 [Blackfin] arch: Remove DPMC char driver option ... commit 3cf9460a999480f444d1b96f09b0640f52b1537e Merge: 57ce36f... 1bd960e... Author: Linus Torvalds Date: Fri Feb 29 08:40:21 2008 -0800 Merge branch 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6 * 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6: [XFS] If you mount an XFS filesystem with no mount options at all, then 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 83afdf2464ac17ad6321a68b2fe7528c9aa88016 Merge: 219ff3a... b2d7c7f... Author: Linus Torvalds Date: Fri Feb 29 08:32:15 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: arch/sh/drivers/dma/dma-sh.c: Correct use of ! and & serial: Move asm-sh/sci.h to linux/serial_sci.h. sh: Fix up HAS_SR_RB typo in entry-macros. maple: fix device detection sh: fix rtc_resources setup for sh770x sh: heartbeat: ioremap is expected to succeed sh: Storage class should be before const qualifier maple: remove unused variable sh: SH5-103 needs to select CPU_SH5. sh: Rename SH-3 CCR3 reg to avoid synclink_cs clash. commit 219ff3ad611ecfe8a2fd29b8c50a5313c9d15383 Merge: 547598d... 2335f8e... Author: Linus Torvalds Date: Fri Feb 29 08:29:55 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (79 commits) [X25]: Use proc_create() to setup ->proc_fops first [WANROUTER]: Use proc_create() to setup ->proc_fops first [8021Q]: Use proc_create() to setup ->proc_fops first [IPV4]: Use proc_create() to setup ->proc_fops first [IPV6]: Use proc_create() to setup ->proc_fops first [SCTP]: Use proc_create() to setup ->proc_fops first [PKTGEN]: Use proc_create() to setup ->proc_fops first [NEIGHBOUR]: Use proc_create() to setup ->proc_fops first [LLC]: Use proc_create() to setup ->proc_fops first [IPX]: Use proc_create() to setup ->proc_fops first [SUNRPC]: Use proc_create() to setup ->proc_fops first [ATM]: Use proc_create() to setup ->proc_fops first [SCTP]: Update AUTH structures to match declarations in draft-16. [SCTP]: Incorrect length was used in SCTP_*_AUTH_CHUNKS socket option [SCTP]: Clean up naming conventions of sctp protocol/address family registration [APPLETALK]: Use proc_create() to setup ->proc_fops first [BNX2X]: add bnx2x to MAINTAINERS [BNX2X]: update version, remove CVS strings [BNX2X]: Fix Xmit bugs [BNX2X]: Prevent PCI queue overflow ... commit 547598d3a91f11b1f802bf0b122f777c3c22f26d Merge: 5ad5872... be71716... Author: Linus Torvalds Date: Fri Feb 29 08:29:30 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64]: Adjust kernel PC validation test in fault handler. [SPARC64]: Loosen checks in exception table handling. [SPARC64]: Fix section mismatch from kernel_map_range [SPARC64]: Fix section mismatchs from dr_cpu_data [SPARC]: Fix build in arch/sparc/kernel/led.c commit 5ad587283cc15f71bb0e9cb9e0933dd8ebd66e1c Merge: f511d7e... 030f1b2... Author: Linus Torvalds Date: Fri Feb 29 08:28:46 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: MAINTAINERS: neteffect update RDMA/nes: Fix interrupt moderation low threshold RDMA/nes: Fix CRC endianness for RDMA connection establishment on big-endian RDMA/nes: Fix use-after-free in mini_cm_dec_refcnt_listen() RDMA/nes: Fix use-after-free in nes_create_cq() RDMA/nes: Fix a check-after-use in nes_probe() RDMA/nes: Fix a memory leak in schedule_nes_timer() RDMA/nes: Fix off-by-one RDMA/nes: Resurrect error path dead code RDMA/cxgb3: Fix shift calc in build_phys_page_list() for 1-entry page lists commit f511d7edf53bd49c16131fce28b87428c16239ad Merge: 32fa458... 204f47c... Author: Linus Torvalds Date: Fri Feb 29 08:27:32 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: ide: remove stale comments from ide-dma.c (take 2) ide: remove ide-tape documentation from Documentation/ide.txt qd65xx: remove commented out code ide-tape: schedule driver for removal after 6 months ide-disk: add missing printk() KERN_* levels ide: fix sparse warning about shadowing 'flags' symbol ide-cd: fix CD/DVD burning ide-cd: fix 'ireason' handling for REQ_TYPE_ATA_PC requests qd65xx: fix setup of QD6580 Control register ide: skip probing port if "hdx=noprobe" was used for both devices on it ide: remove redundant comment from ide_unregister() hpt366: fix section mismatch warnings ide-cd: Enable audio play quirk for Optiarc DVD RW AD-5200A drive 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 64758bd7927be1f755e7a08edb2253d37e4b2445 Merge: 16e297b... 7e8616d... Author: David S. Miller Date: Thu Feb 28 13:56:37 2008 -0800 Merge branch 'pending' of master.kernel.org:/pub/scm/linux/kernel/git/vxy/lksctp-dev 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 60717f7e761ca04925d17e90e556e689ab134cdc Merge: fbabbed... 2d8d4fd... Author: David S. Miller Date: Thu Feb 28 11:03:29 2008 -0800 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6 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 ee54cc6af95a7fa09da298493b853a9e64fa8abd Author: Boaz Harrosh Date: Wed Feb 27 15:29:15 2008 -0800 [SCSI] gdth: fix to internal commands execution The recent patch named: [SCSI] gdth: !use_sg cleanup and use of scsi accessors has done a bad job in handling internal commands issued by gdth_execute(). Internal commands are issued with device gdth_cmd_str ready made directly to the card, without any mapping or translations of scsi commands. So here I added a gdth_cmd_str pointer to the gdth_cmndinfo private structure which is then copied directly to host. following this patch is a cleanup that removes the home cooked accessors and reverts them to regular scsi_cmnd accessors. Since they are not used anymore. After review maybe the 2 patches should be squashed together. FIXME: There is still a problem with gdth_get_info(). as reported there is a WARN_ON trigerd in dma_free_coherent() when doing: $ cat /proc/sys/gdth/0 Signed-off-by: Boaz Harrosh Tested-by: Joerg Dorchain: Tested-by: Stefan Priebe Tested-by: Jon Chelton Cc: Stable Tree Signed-off-by: James Bottomley commit b31ddd31c266c2ad1b708cad0d3d8e0aa7fa2737 Author: Boaz Harrosh Date: Wed Feb 27 15:27:16 2008 -0800 [SCSI] gdth: bugfix for the at-exit problems gdth_exit would first remove all cards then stop the timer and would not sync with the timer function. This caused a crash in gdth_timer() when module was unloaded. So del_timer_sync the timer before we delete the cards. also the reboot notifier function would crash. So clean that up and fix the crashes. Signed-off-by: Boaz Harrosh Tested-by: Joerg Dorchain: Tested-by: Stefan Priebe Tested-by: Jon Chelton Cc: Stable Tree Signed-off-by: James Bottomley commit 31ed0bf439a15363c28c7a239f52eb127cb6feb3 Author: Mike Christie Date: Tue Feb 26 12:35:23 2008 -0600 [SCSI] iscsi regression: check for zero max session cmds The old tools did not set max session cmds. This is a regression. I removed the check when merging the power of 2 patch. Signed-off-by: Mike Christie Signed-off-by: James Bottomley 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 9ef64cb4320df821638b508f79aa8b858cca99f0 Merge: 6f157c1... 7704a8b... Author: Christoph Lameter Date: Wed Feb 27 11:07:10 2008 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 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 7704a8b6fc4a8f51599eb2af4dcf1e2ac9c7e576 Merge: adefe11... ef8ece5... Author: Linus Torvalds Date: Tue Feb 26 07:55:29 2008 -0800 Merge branch 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6 * 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6: [XFS] Undo bit ops cleanup mod due to regression on 32-bit powermac [XFS] Undo bit ops cleanup mod due to regression on 32-bit powermac Remove empty file fs/xfs/Makefile-linux-2.6. commit adefe11c5383face09068176af7dd4e3a80d8f6b Merge: 3d6ce33... 5606bf5... Author: Linus Torvalds Date: Tue Feb 26 07:50:16 2008 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: ext4: add missing ext4_journal_stop() ext4: ext4_find_next_zero_bit needs an aligned address on some arch ext4: set EXT4_EXTENTS_FL only for directory and regular files ext4: Don't mark filesystem error if fallocate fails ext4: Fix BUG when writing to an unitialized extent ext4: Don't use ext4_dec_count() if not needed ext4: modify block allocation algorithm for the last group ext4: Don't claim block from group which has corrupt bitmap ext4: Get journal write access before modifying the extent tree ext4: Fix memory and buffer head leak in callers to ext4_ext_find_extent() ext4: Don't leave behind a half-created inode if ext4_mkdir() fails ext4: Fix kernel BUG at fs/ext4/mballoc.c:910! ext4: Fix locking hierarchy violation in ext4_fallocate() Remove incorrect BKL comments in ext4 commit 3d6ce332537ad0a6f77caa469e09d7335187767b Merge: 3fca96e... 72ad6ec... Author: Linus Torvalds Date: Tue Feb 26 07:49:36 2008 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: Revert "power_state: get rid of write-only variable in SATA" make atapi_dmadir static commit 3fca96eed1cc9fb524aec536bba8ae921563f1bb Merge: 98c1fc9... 1481197... Author: Linus Torvalds Date: Tue Feb 26 07:49:15 2008 -0800 Merge branch 'v2.6.25-rc3-lockdep' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-lockdep * 'v2.6.25-rc3-lockdep' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-lockdep: Subject: lockdep: include all lock classes in all_lock_classes lockdep: increase MAX_LOCK_DEPTH commit 98c1fc934c097d84dc30c639e9bdb0b992ef53e2 Merge: 7c811e4... fae6031... Author: Linus Torvalds Date: Tue Feb 26 07:48:27 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: firewire: fix NULL pointer deref. and resource leak Documentation: correction to debugging-via-ohci1394 ieee1394: sbp2: fix rescan-scsi-bus firewire: fw-sbp2: fix NULL pointer deref. in scsi_remove_device firewire: fw-sbp2: fix NULL pointer deref. in slave_alloc firewire: fw-sbp2: (try to) avoid I/O errors during reconnect firewire: fw-sbp2: enforce a retry of __scsi_add_device if bus generation changed firewire: fw-sbp2: sort includes firewire: fw-sbp2: logout and login after failed reconnect firewire: fw-sbp2: don't add scsi_device twice firewire: fw-sbp2: log bus_id at management request failures firewire: fw-sbp2: wait for completion of fetch agent reset ieee1394: sbp2: add INQUIRY delay workaround firewire: fw-sbp2: add INQUIRY delay workaround firewire: log GUID of new devices firewire: fw-sbp2: don't retry login or reconnect after unplug firewire: fix "kobject_add failed for fw* with -EEXIST" firewire: fw-sbp2: fix logout before login retry firewire: fw-sbp2: unsigned int vs. unsigned commit 7c811e4b6af424c295e3c6438fdc9b647fe6595f Merge: 37c00b8... f18edc9... Author: Linus Torvalds Date: Tue Feb 26 07:44:09 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 * git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: (24 commits) x86: no robust/pi futex for real i386 CPUs x86: fix boot failure on 486 due to TSC breakage x86: fix build on non-C locales. x86: make c_idle.work have a static address. x86: don't save unreliable stack trace entries x86: don't make swapper_pg_pmd global x86: don't print a warning when MTRR are blank and running in KVM x86: fix execve with -fstack-protect x86: fix vsyscall wreckage x86: rename KERNEL_TEXT_SIZE => KERNEL_IMAGE_SIZE x86: fix spontaneous reboot with allyesconfig bzImage x86: remove double-checking empty zero pages debug x86: notsc is ignored on common configurations x86/mtrr: fix kernel-doc missing notation x86: handle BIOSes which terminate e820 with CF=1 and no SMAP x86: add comments for NOPs x86: don't use P6_NOPs if compiling with CONFIG_X86_GENERIC x86: require family >= 6 if we are using P6 NOPs x86: do not promote TM3x00/TM5x00 to i686-class x86: hpet fix docbook comment ... commit 37c00b84d0c1b5c4c65ae837e2235160c03e84c2 Merge: cf3680b... 13d77c3... Author: Linus Torvalds Date: Tue Feb 26 07:43:31 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched * git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched: latencytop: change /proc task_struct access method latencytop: fix memory leak on latency proc file latencytop: fix kernel panic while reading latency proc file sched: add declaration of sched_tail to sched.h sched: fix signedness warnings in sched.c sched: clean up __pick_last_entity() a bit sched: remove duplicate code from sched_fair.c sched: make early bootup sched_clock() use safer 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 91e229bbad6524aabaac8717b2f559283670c37a Merge: 6e5e934... bfa274e... Author: Lachlan McIlroy Date: Tue Feb 26 14:26:14 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus 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 323dbaba2cfab170c656f5d68986ff0ced5b421c Merge: bfa274e... 3bf319a... Author: David S. Miller Date: Sun Feb 24 17:57:16 2008 -0800 Merge branch 'upstream-davem' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit bfa274e2436fc7ef72ef51c878083647f1cfd429 Author: Linus Torvalds Date: Sun Feb 24 13:25:54 2008 -0800 Linux 2.6.25-rc3 commit d28dc711217a2d5cafb64ec4e33a469b01376d91 Author: Gaston, Jason D Date: Sun Feb 24 20:03:42 2008 +0100 i2c-i801: Add support for the ICH10 Add the Intel ICH10 SMBus Controller DeviceID's and updates Tolapai support. Signed-off-by: Jason Gaston Signed-off-by: Jean Delvare commit 263867631ea02741baf878ca9faaf94b1563b9d7 Author: David Brownell Date: Sun Feb 24 20:03:42 2008 +0100 i2c: Make i2c_register_board_info() a NOP when CONFIG_I2C_BOARDINFO=n Don't require platform code to be #ifdeffed according to whether I2C is enabled or not ... if it's not enabled, let GCC compile out all I2C device declarations. (Issue noted on an NSLU2 build that didn't configure I2C.) Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 104cb574feb3033299568483a3f68031f47e0d43 Author: Christian Krafft Date: Sun Feb 24 20:03:42 2008 +0100 i2c-pca-isa: Add access check to legacy ioports When probing i2c-pca-isa writes to legacy ioports, which crashes the kernel if there is no device at that port. This patch adds a check_legacy_ioport call, so probe fails gracefully and thus prevents the oops. Signed-off-by: Christian Krafft Signed-off-by: Jean Delvare commit 9e39ffeff6e54ef65832e4eb58059133f1a8aadf Author: Manuel Lauss Date: Sun Feb 24 20:03:42 2008 +0100 Alchemy: compile fix Commit 8b798c4d16b762d15f4055597ff8d87f73b35552 broke alchemy build, fix it. Pointed out by Adrian Bunk. Signed-off-by: Manuel Lauss Signed-off-by: Jean Delvare commit 305183fc3ec8aac55179ef0fcb65dab9b97a9145 Author: Tobias Klauser Date: Sun Feb 24 20:03:42 2008 +0100 i2c: 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: Jean Delvare commit a92b36ed33800435a2356a78489e129aaf30f673 Author: Wolfram Sang Date: Sun Feb 24 20:03:42 2008 +0100 i2c-pxa: Misc fixes While working on the PCA9564-platform driver, I sometimes had a glimpse at the pxa-driver. I found some suspicious places, and this patch contains my suggestions. Note: They are not tested, due to no hardware. [JD: Some more fixes.] Signed-off-by: Wolfram Sang Signed-off-by: Jean Delvare Tested-by: Mike Rapoport Tested-by: Eric Miao commit c9a2c46d7f32a884510b20f0cfa79a2c6a2f1413 Author: Jean Delvare Date: Sun Feb 24 20:03:41 2008 +0100 ARM: OMAP: Release i2c_adapter after use (Siemens SX1) Each call to i2c_get_adapter() must be followed by a call to i2c_put_adapter() to release the grabbed reference. Otherwise the reference count grows forever and the adapter can never be unregistered. Signed-off-by: Jean Delvare Acked-by: Vladimir Ananiev Acked-by: Tony Lindgren commit e2396f1e4ecd438a15fa653a028b93e95013caa3 Author: James Bottomley Date: Sat Feb 23 23:44:19 2008 -0600 [SCSI] aic94xx: fix TMF ascb handling to prevent sequencer panic This is a particularly nasty bug. The problem is that if any internal ascb times out, currently we free it even though it's pending at the sequencer. This results in the sequencer getting terminally confused and the error message: BUG:sequencer:dl:no ascb Being returned when it comes back. The way to fix this is to manage freeing the ascb from the tasklet completion routine, so that we only free it when the sequencer actually returns it. The code is also altered to use on stack completions and transfer variables. Signed-off-by: James Bottomley commit 8de3ef25a1fcd28d270b69417a41b424826d4f89 Author: James Bottomley Date: Sat Feb 23 23:39:59 2008 -0600 [SCSI] libsas: misc fixes to the eh path - Correct one use after free of the sas task - update the reset required path to move straight to LUN reset - make the bigger hammer actually reset something instead of just trying to clear all the tasks. Signed-off-by: James Bottomley commit a29c05153630b2cd5ea078c97c0abe084cd830d8 Author: James Bottomley Date: Sat Feb 23 23:38:44 2008 -0600 [SCSI] libsas: use the supplied address for SATA devices rather than changing it Once the phy reset is plumbed in properly, SATA error handling fails nastily because we change the port attached_sas_address using the WWN field of the IDENTIFY message. This is a nice thing to do in theory, but it really destroys hotplug because any event on the port causes an automatic mismatch between the sas_address the phy just picked up and the one we propagate into the port. However ugly they are, we have to stick with the sas addresses made up by the phys and expanders. Also does a few cosmetic changes to the way port printing is done to make it clearer how a port is formed. Signed-off-by: James Bottomley commit 63edf49e67cac710826108697c4e8636c89abd17 Author: James Bottomley Date: Sat Feb 23 23:37:26 2008 -0600 [SCSI] aic94xx: plumb in I_T_nexus_reset task management function Currently aic94xx has no exported I_T_nexus_reset function. This is a bit of a huge problem, since sas_ata relies on this function to perform an ATA phy reset and also it means that if abort fails, we really have no bigger hammer to hit everything with. Plumb in the I_T_nexus_reset by quiescing the sequencer, sending the correct phy reset (link for ATA and hard for SAS) and then carefully resuming the sequencer again. Signed-off-by: James Bottomley commit 5319578ca38a8b90b6d0270c194c65d1dd8f7725 Author: James Bottomley Date: Sat Feb 23 23:35:44 2008 -0600 [SCSI] libsas: export sas_find_local_phy function This is needed by the to be added I_T reset function in aic94xx. It needs to know the local phy so it can send a link or hard reset along the path. Signed-off-by: James Bottomley 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 eea5ff7bde45c7724594e6a3c9a6290691ddabe9 Author: James Bottomley Date: Sat Feb 23 23:51:00 2008 -0600 [SCSI] mvsas: remove execute permission from file mvsas.c picked up execute permissions. Move it back to being a plane old file. James Bottomley Signed-off-by: James Bottomley commit 4fa2b1cde0e3797549f711ce9e51c395b3d6d2a7 Merge: bdc0894... 4cdfa1b... Author: Linus Torvalds Date: Sat Feb 23 21:40:32 2008 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: libata-core: fix kernel-doc warning sata_fsl: fix build with ATA_VERBOSE_DEBUG [libata] ahci: AMD SB700/SB800 SATA support 64bit DMA libata-pmp: clear hob for pmp register accesses libata: automatically use DMADIR if drive/bridge requires it power_state: get rid of write-only variable in SATA pata_atiixp: Use 255 sector limit commit 4cdfa1b3ce4731dd538ac3ed010bcf127ed6e836 Author: Randy Dunlap Date: Fri Feb 22 12:21:37 2008 -0800 libata-core: fix kernel-doc warning Fix libata-core kernel-doc warning: Warning(linux-2.6.25-rc2-git6//drivers/ata/libata-core.c:168): No description found for parameter 'ap' Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik commit b1f5dc48e2dcfcacb37d0bc2c5658f0f3307da52 Author: Anton Vorontsov Date: Fri Feb 22 19:54:25 2008 +0300 sata_fsl: fix build with ATA_VERBOSE_DEBUG This patch fixes build and few warnings when ATA_VERBOSE_DEBUG is defined: CC drivers/ata/sata_fsl.o drivers/ata/sata_fsl.c: In function ‘sata_fsl_fill_sg’: drivers/ata/sata_fsl.c:338: warning: format ‘%x’ expects type ‘unsigned int’, but argument 3 has type ‘void *’ drivers/ata/sata_fsl.c:338: warning: format ‘%x’ expects type ‘unsigned int’, but argument 4 has type ‘struct prde *’ drivers/ata/sata_fsl.c: In function ‘sata_fsl_qc_issue’: drivers/ata/sata_fsl.c:459: error: ‘csr_base’ undeclared (first use in this function) drivers/ata/sata_fsl.c:459: error: (Each undeclared identifier is reported only once drivers/ata/sata_fsl.c:459: error: for each function it appears in.) drivers/ata/sata_fsl.c: In function ‘sata_fsl_freeze’: drivers/ata/sata_fsl.c:525: error: ‘csr_base’ undeclared (first use in this function) make[2]: *** [drivers/ata/sata_fsl.o] Error 1 Signed-off-by: Anton Vorontsov Signed-off-by: Jeff Garzik commit e39fc8c9fd0bb6f4018186801e4a53a5eccaaf70 Author: Shane Huang Date: Fri Feb 22 05:00:31 2008 -0800 [libata] ahci: AMD SB700/SB800 SATA support 64bit DMA SB700 SATA controller can support 64 bit DMA, the previous commit badc2341579511a247f5993865aa68379e283c5c was added with careless reference to SB600, which should be modified by this patch. Signed-off-by: Shane Huang Signed-off-by: Jeff Garzik commit 39f25e70ca37b8a719e8274e6f3ec2ce2ea8df04 Author: Mark Lord Date: Thu Feb 21 15:52:25 2008 -0500 libata-pmp: clear hob for pmp register accesses >> Mark Lord wrote: >>> Tejun, I've added PMP to sata_mv, and am now trying to get it >>> to work with a Marvell PM attached. >>> >>> And the behaviour I see is very bizarre. >>> >>> After hard+soft resets, the PM signature is found, >>> and libata interrogates the PM registers. >>> >>> It successfully reads register 0, and then register 1. >>> But all subsequent registers read out (incorrectly) as zeros. ... This behavior has been confirmed by Marvell with a SATA analyzer. The Marvell port-multiplier apparently likes to see clean HOB information when accessing PMP registers. Since sata_mv uses PIO shadow register access, this doesn't happen automatically, as it might in a more purely FIS-based driver (eg. ahci). One way to fix this is to flag these commands with ATA_TFLAG_LBA48, forcing libata to write out the HOB fields with known (zero) values. Signed-off-by: Saeed Bishara Acked-by: Mark Lord Signed-off-by: Jeff Garzik commit 9116300634c5c76cfcd0d2af689846e04d172256 Author: Tejun Heo Date: Thu Feb 21 13:25:50 2008 +0900 libata: automatically use DMADIR if drive/bridge requires it Back in 2.6.17-rc2, a libata module parameter was added for atapi_dmadir. That's nice, but most SATA devices which need it will tell us about it in their IDENTIFY PACKET response, as bit-15 of word-62 of the returned data (as per ATA7, ATA8 specifications). So for those which specify it, we should automatically use the DMADIR bit. Otherwise, disc writing will fail by default on many SATA-ATAPI drives. This patch adds ATA_DFLAG_DMADIR and make ata_dev_configure() set it if atapi_dmadir is set or identify data indicates DMADIR is necessary. atapi_xlat() is converted to check ATA_DFLAG_DMADIR before setting DMADIR. Original patch is from Mark Lord. Signed-off-by: Tejun Heo Cc: Mark Lord Signed-off-by: Jeff Garzik commit 559bbe6cbd0d8c68d40076a5f7dc98e3bf5864b2 Author: Pavel Machek Date: Thu Feb 21 13:56:55 2008 +0100 power_state: get rid of write-only variable in SATA power_state is scheduled for removal, and libata uses it in write-only mode. Remove it. Signed-off-by: Pavel Machek Signed-off-by: Jeff Garzik commit 635adc28087ced0c843d2ecb6d4ae474d0e611cd Author: Alan Cox Date: Wed Feb 20 20:09:23 2008 +0000 pata_atiixp: Use 255 sector limit AHCI needs sorting too but this deals with the old interface Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik 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 bdc08942897f6be33d00bb659761516f4652836d Merge: 85b80eb... 1b04ab4... Author: Linus Torvalds Date: Sat Feb 23 21:05:06 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (37 commits) [NETFILTER]: fix ebtable targets return [IP_TUNNEL]: Don't limit the number of tunnels with generic name explicitly. [NET]: Restore sanity wrt. print_mac(). [NEIGH]: Fix race between neighbor lookup and table's hash_rnd update. [RTNL]: Validate hardware and broadcast address attribute for RTM_NEWLINK tg3: ethtool phys_id default [BNX2]: Update version to 1.7.4. [BNX2]: Disable parallel detect on an HP blade. [BNX2]: More 5706S link down workaround. ssb: Fix support for PCI devices behind a SSB->PCI bridge zd1211rw: fix sparse warnings rtl818x: fix sparse warnings ssb: Fix pcicore cardbus mode ssb: Make the GPIO API reentrancy safe ssb: Fix the GPIO API ssb: Fix watchdog access for devices without a chipcommon ssb: Fix serial console on new bcm47xx devices ath5k: Fix build warnings on some 64-bit platforms. WDEV, ath5k, don't return int from bool function WDEV: ath5k, fix lock imbalance ... commit 85b80ebfa4384b8ea30cc1af9617db30319a9ccd Merge: 038eb0e... 89c94f2... Author: Linus Torvalds Date: Sat Feb 23 21:00:21 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64]: make IOMMU code respect the segment boundary limits [SPARC64]: Fix cpu trampoline et al. mismatch warnings. [SPARC64]: More sparse warning fixes in process.c [SPARC64]: Fix sparse warning wrt. fault_in_user_windows. [SPARC64]: Kill show_regs32(). [SPARC64]: Fix sparse warnings wrt. __show_regs(). [SPARC64]: Kill show_stackframe{,32}(). [SPARC64]: Fix sparse warnings wrt. machine_alt_power_off(). 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 8d3c202be23c5a915f7053ebd4e96f44700c6a62 Merge: 1b04ab4... 038eb0e... Author: David S. Miller Date: Sat Feb 23 20:38:20 2008 -0800 Merge branch 'master' of ../linux-2.6/ commit 038eb0ea04b245351be34b0ae76b55eee4603989 Author: Mirco Tischler Date: Sun Feb 24 05:16:39 2008 +0100 Fix u132-hcd.c compile error This fixes the following compile error caused by commit 3a2d5b700132f35401f1d9e22fe3c2cab02c2549 ("PM: Introduce PM_EVENT_HIBERNATE callback state") CC [M] drivers/usb/host/u132-hcd.o drivers/usb/host/u132-hcd.c: In function ‘u132_suspend’: drivers/usb/host/u132-hcd.c:3224: error: expected expression before ‘int’ drivers/usb/host/u132-hcd.c:3225: error: ‘ports’ undeclared (first use in this function) ... Signed-off-by: Mirco Tischler Signed-off-by: Linus Torvalds commit 1b04ab4597725f75f94942da9aa40daa7b9a4bd9 Author: Joonwoo Park Date: Sat Feb 23 20:22:27 2008 -0800 [NETFILTER]: fix ebtable targets return The function ebt_do_table doesn't take NF_DROP as a verdict from the targets. Signed-off-by: Joonwoo Park Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 34cc7ba6398203aab4056917fa1e2aa5988487aa Author: Pavel Emelyanov Date: Sat Feb 23 20:19:20 2008 -0800 [IP_TUNNEL]: Don't limit the number of tunnels with generic name explicitly. Use the added dev_alloc_name() call to create tunnel device name, rather than iterate in a hand-made loop with an artificial limit. Thanks Patrick for noticing this. [ The way this works is, when the device is actually registered, the generic code noticed the '%' in the name and invokes dev_alloc_name() to fully resolve the name. -DaveM ] Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 55b01e8681cba392ccda4ff6184054d38968115d Author: David S. Miller Date: Sat Feb 23 20:09:11 2008 -0800 [NET]: Restore sanity wrt. print_mac(). MAC_FMT had only one user and we tried to get rid of that, but this created more problems than it solved. As a result, this reverts three commits: 235365f3aaaa10b7056293877c0ead50425f25c7 ("net/8021q/vlan_dev.c: Use print_mac."), fea5fa875eb235dc186b1f5184eb36abc63e26cc ("[NET]: Remove MAC_FMT"), and 8f789c48448aed74fe1c07af76de8f04adacec7d ("[NET]: Elminate spurious print_mac() calls.") Signed-off-by: David S. Miller commit bc4bf5f38cf0a623e6a29f52ec80bfcc56a373c6 Author: Pavel Emelyanov Date: Sat Feb 23 19:57:02 2008 -0800 [NEIGH]: Fix race between neighbor lookup and table's hash_rnd update. The neigh_hash_grow() may update the tbl->hash_rnd value, which is used in all tbl->hash callbacks to calculate the hashval. Two lookup routines may race with this, since they call the ->hash callback without the tbl->lock held. Since the hash_rnd is changed with this lock write-locked moving the calls to ->hash under this lock read-locked closes this gap. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 1840bb13c22f5b8fd2e242e36c8d6ea3f312be67 Author: Thomas Graf Date: Sat Feb 23 19:54:36 2008 -0800 [RTNL]: Validate hardware and broadcast address attribute for RTM_NEWLINK RTM_NEWLINK allows for already existing links to be modified. For this purpose do_setlink() is called which expects address attributes with a payload length of at least dev->addr_len. This patch adds the necessary validation for the RTM_NEWLINK case. The address length for links to be created is not checked for now as the actual attribute length is used when copying the address to the netdevice structure. It might make sense to report an error if less than addr_len bytes are provided but enforcing this might break drivers trying to be smart with not transmitting all zero addresses. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 759afc31332aed66bde20743e7e2d1e47b08aaeb Author: Stephen Hemminger Date: Sat Feb 23 19:51:59 2008 -0800 tg3: ethtool phys_id default When asked to blink LEDs the tg3 driver behaves when using: ethtool -p ethX The default value for data is zero, and other drivers interpret this as blink forever (or at least a really long time). The tg3 driver interprets this as blink once. All drivers should have the same behaviour. Signed-off-by: Stephen Hemminger Acked-by: Michael Chan Signed-off-by: David S. Miller commit c73b1d1f26d4c9d54b49526edf9ee958ee5b80c1 Author: Michael Chan Date: Sat Feb 23 19:49:48 2008 -0800 [BNX2]: Update version to 1.7.4. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 42e6de0e6079f4a7ce6bd62340b1b14a1af314dc Author: Oliver Pinter Date: Sun Feb 24 04:33:21 2008 +0100 fix vmsas.c file permissions Signed-off-by: Oliver Pinter Signed-off-by: Linus Torvalds commit 38ea3686f6d1110a3787dfd7c5cf7bad1926818b Author: Michael Chan Date: Sat Feb 23 19:48:57 2008 -0800 [BNX2]: Disable parallel detect on an HP blade. Because of some board issues, we need to disable parallel detect on an HP blade. Without this patch, the link state can become stuck when it goes into parallel detect mode. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit a2724e2559a3c41ac6182da6e2446d3abf0720a5 Author: Michael Chan Date: Sat Feb 23 19:47:44 2008 -0800 [BNX2]: More 5706S link down workaround. The previous patches to workaround the 5706S on an HP blade were not sufficient. The link state still does not change properly in some cases. This patch adds polling to make it completely reliable. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 04e2f1741d235ba599037734878d72e57cb302b5 Author: Linus Torvalds Date: Sat Feb 23 18:05:03 2008 -0800 Add memory barrier semantics to wake_up() & co Oleg Nesterov and others have pointed out that on some architectures, the traditional sequence of set_current_state(TASK_INTERRUPTIBLE); if (CONDITION) return; schedule(); is racy wrt another CPU doing CONDITION = 1; wake_up_process(p); because while set_current_state() has a memory barrier separating setting of the TASK_INTERRUPTIBLE state from reading of the CONDITION variable, there is no such memory barrier on the wakeup side. Now, wake_up_process() does actually take a spinlock before it reads and sets the task state on the waking side, and on x86 (and many other architectures) that spinlock is in fact equivalent to a memory barrier, but that is not generally guaranteed. The write that sets CONDITION could move into the critical region protected by the runqueue spinlock. However, adding a smp_wmb() to before the spinlock should now order the writing of CONDITION wrt the lock itself, which in turn is ordered wrt the accesses within the spinlock (which includes the reading of the old state). This should thus close the race (which probably has never been seen in practice, but since smp_wmb() is a no-op on x86, it's not like this will make anything worse either on the most common architecture where the spinlock already gave the required protection). Acked-by: Oleg Nesterov Acked-by: Dmitry Adamushko Cc: Andrew Morton Cc: Nick Piggin Signed-off-by: Linus Torvalds commit 0a3716eb04ccfdbef6e872a343ba7ce309237e79 Author: Jeff Garzik Date: Sat Feb 23 16:53:44 2008 -0500 mvsas: fix build warning, clean prototypes - Fix build 'make randconfig' build warning spotted by Toralf Foerster: drivers/scsi/mvsas.c: In function 'mvs_hexdump': drivers/scsi/mvsas.c:715: error: implicit declaration of function 'isalnum' - Remove unneeded prototypes (spotted by hch) Signed-off-by: Jeff Garzik Signed-off-by: Linus Torvalds commit 02c608c1fefe821a4c6fc34c45a0dea3cebf4764 Author: Oleg Nesterov Date: Sun Feb 24 00:03:29 2008 +0300 documentation: atomic_add_unless() doesn't imply mb() on failure (sorry for being offtpoic, but while experts are here...) A "typical" implementation of atomic_add_unless() can return 0 immediately after the first atomic_read() (before doing cmpxchg). In that case it doesn't provide any barrier semantics. See include/asm-ia64/atomic.h as an example. We should either change the implementation, or fix the docs. Signed-off-by: Oleg Nesterov Acked-by: Nick Piggin Signed-off-by: Linus Torvalds commit 2dda81ca31dc73e695ff8b83351f7aaefbef192a Author: Li Zefan Date: Sat Feb 23 15:24:14 2008 -0800 memcgroup: return negative error code in mem_cgroup_create() Cgroup requires the subsystem to return negative error code on error in the create method. Signed-off-by: Li Zefan Acked-by: KAMEZAWA Hiroyuki Acked-by: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7fde4c3eb7ee68828d76a2148ed6d70b6a794add Author: Li Zefan Date: Sat Feb 23 15:24:13 2008 -0800 memcgroup: remove a useless VM_BUG_ON() Remove this VM_BUG_ON(), as Balbir stated: We used to have a for loop with !list_empty() as a termination condition and VM_BUG_ON(!pc) is a spill over. With the new loop, VM_BUG_ON(!pc) does not make sense. Signed-off-by: Li Zefan Acked-by: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2324c5dd47233859cd7ba6272d0601f26ce60dcd Author: Li Zefan Date: Sat Feb 23 15:24:12 2008 -0800 memcgroup: fix and update documentation - remove trailing " Bytes"s in the demonstration - remove section 4.4 (feature control_type has been removed) - fix reference section Signed-off-by: Li Zefan Acked-by: KAMEZAWA Hiroyuki Acked-by: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc231d2a048010d5e0b49ac7fddbfa822fc41109 Author: Li Zefan Date: Sat Feb 23 15:24:12 2008 -0800 cgroup: remove dead code in cgroup_get_rootdir() Signed-off-by: Li Zefan Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68db38f1537a44097e264f28bda751d6b919cd53 Author: Li Zefan Date: Sat Feb 23 15:24:11 2008 -0800 cgroup: remove duplicate code in find_css_set() The list head res->tasks gets initialized twice in find_css_set(). Signed-off-by: Li Zefan Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d53d55d27754508e58e9ac18a4a445b110434bf Author: Li Zefan Date: Sat Feb 23 15:24:11 2008 -0800 cgroup: fix subsys bitops Cgroup uses unsigned long for subsys bitops, not unsigned long long. Signed-off-by: Li Zefan Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f777073848ba3708d68d87e43f104f83316187d7 Author: Li Zefan Date: Sat Feb 23 15:24:10 2008 -0800 cgroup: fix memory leak in cgroup_get_sb() opts.release_agent is not kfree()ed in all necessary places. Signed-off-by: Li Zefan Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ffd2d883399cbbb641e55730676ce1ec4845d99d Author: Li Zefan Date: Sat Feb 23 15:24:09 2008 -0800 cgroup: clean up cgroup.h - replace old name 'cont' with 'cgrp' (Paul Menage did this cleanup for cgroup.c in commit bd89aabc6761de1c35b154fe6f914a445d301510) - remove a duplicate declaration of cgroup_path() Signed-off-by: Li Zefan Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a043e3b2c63445512c5592cbe3c8694f3c655e81 Author: Li Zefan Date: Sat Feb 23 15:24:09 2008 -0800 cgroup: fix comments fix: - comments about need_forkexit_callback - comments about release agent - typo and comment style, etc. Signed-off-by: Li Zefan Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d19e0583300da82a6e27cd2116f558048502edaa Author: Li Zefan Date: Sat Feb 23 15:24:08 2008 -0800 cgroup: fix and update documentation Misc fixes and updates, make the doc consistent with current cgroup implementation. Signed-off-by: Li Zefan Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5a0e011329431b90d315eaf6ca5fdb41df7a117 Author: Alexander van Heukelum Date: Sat Feb 23 15:24:06 2008 -0800 Solve section mismatch for free_area_init_core. WARNING: vmlinux.o(.meminit.text+0x649): Section mismatch in reference from the function free_area_init_core() to the function .init.text:setup_usemap() The function __meminit free_area_init_core() references a function __init setup_usemap(). If free_area_init_core is only used by setup_usemap then annotate free_area_init_core with a matching annotation. The warning is covers this stack of functions in mm/page_alloc.c: alloc_bootmem_node must be marked __init. alloc_bootmem_node is used by setup_usemap, if !SPARSEMEM. (usemap_size is only used by setup_usemap, if !SPARSEMEM.) setup_usemap is only used by free_area_init_core. free_area_init_core is only used by free_area_init_node. free_area_init_node is used by: arch/alpha/mm/numa.c: __init paging_init() arch/arm/mm/init.c: __init bootmem_init_node() arch/avr32/mm/init.c: __init paging_init() arch/cris/arch-v10/mm/init.c: __init paging_init() arch/cris/arch-v32/mm/init.c: __init paging_init() arch/m32r/mm/discontig.c: __init zone_sizes_init() arch/m32r/mm/init.c: __init zone_sizes_init() arch/m68k/mm/motorola.c: __init paging_init() arch/m68k/mm/sun3mmu.c: __init paging_init() arch/mips/sgi-ip27/ip27-memory.c: __init paging_init() arch/parisc/mm/init.c: __init paging_init() arch/sparc/mm/srmmu.c: __init srmmu_paging_init() arch/sparc/mm/sun4c.c: __init sun4c_paging_init() arch/sparc64/mm/init.c: __init paging_init() mm/page_alloc.c: __init free_area_init_nodes() mm/page_alloc.c: __init free_area_init() and mm/memory_hotplug.c: hotadd_new_pgdat() hotadd_new_pgdat can not be an __init function, but: It is compiled for MEMORY_HOTPLUG configurations only MEMORY_HOTPLUG depends on SPARSEMEM || X86_64_ACPI_NUMA X86_64_ACPI_NUMA depends on X86_64 ARCH_FLATMEM_ENABLE depends on X86_32 ARCH_DISCONTIGMEM_ENABLE depends on X86_32 So X86_64_ACPI_NUMA implies SPARSEMEM, right? So we can mark the stack of functions __init for !SPARSEMEM, but we must mark them __meminit for SPARSEMEM configurations. This is ok, because then the calls to alloc_bootmem_node are also avoided. Compile-tested on: silly minimal config defconfig x86_32 defconfig x86_64 defconfig x86_64 -HIBERNATION +MEMORY_HOTPLUG Signed-off-by: Alexander van Heukelum Reviewed-by: Sam Ravnborg Acked-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcdca225bfa016100985e5fc7e51cdc1d68beaa6 Author: Casey Schaufler Date: Sat Feb 23 15:24:04 2008 -0800 Smack: update for file capabilities Update the Smack LSM to allow the registration of the capability "module" as a secondary LSM. Integrate the new hooks required for file based capabilities. Signed-off-by: Casey Schaufler Cc: Serge Hallyn Cc: Stephen Smalley Cc: Paul Moore Cc: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 43627582799db317e966ecb0002c2c3c9805ec0f Author: Srinivasa Ds Date: Sat Feb 23 15:24:04 2008 -0800 kprobes: refuse kprobe insertion on add/sub_preempt_counter() Kprobes makes use of preempt_disable(),preempt_enable_noresched() and these functions inturn call add/sub_preempt_count(). So we need to refuse user from inserting probe in to these functions. This patch disallows user from probing add/sub_preempt_count(). Signed-off-by: Srinivasa DS Acked-by: Ananth N Mavinakayanahalli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0835ab53eab5bbeebe1c135e92fb0c4d483dde17 Author: Andi Kleen Date: Sat Feb 23 15:24:02 2008 -0800 cgroup memory controller: document huge memory/cache overhead in Kconfig Document huge memory/cache overhead of memory controller in Kconfig I was a little surprised that 2.6.25-rc* increased struct page for the memory controller. At least on many x86-64 machines it will not fit into a single cache line now anymore and also costs considerable amounts of RAM. At earlier review I remembered asking for a external data structure for this. It's also quite unobvious that a innocent looking Kconfig option with a single line Kconfig description has such a negative effect. This patch attempts to document these disadvantages at least so that users configuring their kernel can make a informed decision. Signed-off-by: Andi Kleen Cc: Balbir Singh Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00d6296145c6b671a9886e380efc24f2731d856a Author: Richard Kennedy Date: Sat Feb 23 15:24:01 2008 -0800 kernel-doc: fix function-pointer-parameter parsing When running "make htmldocs" I'm seeing some non-fatal perl errors caused by trying to parse the callback function definitions in blk-core.c. The errors are "Use of uninitialized value in concatenation (.)..." in combination with: Warning(linux-2.6.25-rc2/block/blk-core.c:1877): No description found for parameter '' The function pointers are defined without a * i.e. int (drv_callback)(struct request *) The compiler is happy with them, but kernel-doc isn't. This patch teaches create_parameterlist in kernel-doc to parse this type of function pointer definition, but is it the right way to fix the problem ? The problem only seems to occur in blk-core.c. However with the patch applied, kernel-doc finds the correct parameter description for the callback in blk_end_request_callback, which is doesn't normally. I thought it would be a bit odd to change to code to use the more normal form of function pointers just to get the documentation to work, so I fixed kernel-doc instead - even though this is teaching it to understand code that might go away (The comment for blk_end_request_callback says that it should not be used and will removed at some point). Signed-off-by: Richard Kennedy Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff10e5dc1781cd0121f8ee936234c222ff15c105 Author: Yoshinori Sato Date: Sat Feb 23 15:24:00 2008 -0800 h8300: defconfig update defconfig update. Signed-off-by: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5cc265a5de169d8e61ad5ba009610467e158fcec Author: Yoshinori Sato Date: Sat Feb 23 15:23:59 2008 -0800 h8300: IRQ handling update - add missing file and declare. - remove unused file and macros. - some cleanup. Signed-off-by: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4223cc34365e46f5e50d5496623367c552cd8a51 Author: Yoshinori Sato Date: Sat Feb 23 15:23:59 2008 -0800 h8300: uaccess.h update get_user const *ptr access fix. Signed-off-by: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45d464eb67a1ad03e909ae1868e7ecfcb696c57f Author: Yoshinori Sato Date: Sat Feb 23 15:23:58 2008 -0800 h8300: signal.c typo fix typo fix. Signed-off-by: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0c1e9073ef7428a14309cba010633a6cd6719ea Author: Thomas Gleixner Date: Sat Feb 23 15:23:57 2008 -0800 futex: runtime enable pi and robust functionality Not all architectures implement futex_atomic_cmpxchg_inatomic(). The default implementation returns -ENOSYS, which is currently not handled inside of the futex guts. Futex PI calls and robust list exits with a held futex result in an endless loop in the futex code on architectures which have no support. Fixing up every place where futex_atomic_cmpxchg_inatomic() is called would add a fair amount of extra if/else constructs to the already complex code. It is also not possible to disable the robust feature before user space tries to register robust lists. Compile time disabling is not a good idea either, as there are already architectures with runtime detection of futex_atomic_cmpxchg_inatomic support. Detect the functionality at runtime instead by calling cmpxchg_futex_value_locked() with a NULL pointer from the futex initialization code. This is guaranteed to fail, but the call of futex_atomic_cmpxchg_inatomic() happens with pagefaults disabled. On architectures, which use the asm-generic implementation or have a runtime CPU feature detection, a -ENOSYS return value disables the PI/robust features. On architectures with a working implementation the call returns -EFAULT and the PI/robust features are enabled. The relevant syscalls return -ENOSYS and the robust list exit code is blocked, when the detection fails. Fixes http://lkml.org/lkml/2008/2/11/149 Originally reported by: Lennart Buytenhek Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Cc: Lennert Buytenhek Cc: Riku Voipio Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e4ab747efa8e78562ec6782b08bbf21a00aba1b Author: Thomas Gleixner Date: Sat Feb 23 15:23:55 2008 -0800 futex: fix init order When the futex init code fails to initialize the futex pseudo file system it returns early without initializing the hash queues. Should the boot succeed then a futex syscall which tries to enqueue a waiter on the hashqueue will crash due to the unitilialized plist heads. Initialize the hash queues before the filesystem. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Cc: Lennert Buytenhek Cc: Riku Voipio Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 43fe105a5c91b2f00ea7f900ed307fe980410612 Author: Jean Delvare Date: Sat Feb 23 15:23:55 2008 -0800 dmi: prevent linked list corruption Adding the same item to a given linked list more than once is guaranteed to break and corrupt the list. This is however what we do in dmi_scan since commit 79da4721117fcf188b4b007b775738a530f574da ("x86: fix DMI out of memory problems"). Given that there is absolutely no interest in saving empty OEM strings anyway, I propose the simple and efficient fix below: we discard the empty OEM strings altogether. Signed-off-by: Jean Delvare Acked-by: Parag Warudkar Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Matt Domsch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 79306a340c23e40c94ce16e504d172ae15b24187 Author: Sergio Luis Date: Sat Feb 23 15:23:53 2008 -0800 drivers/video/uvesafb.c: fix section mismatch warning in param_set_scroll() Fix following warnings: WARNING: drivers/video/built-in.o(.text+0x7c64a): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan WARNING: drivers/video/built-in.o(.text+0x7c65d): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan WARNING: drivers/video/built-in.o(.text+0x7c679): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan WARNING: drivers/video/built-in.o(.text+0x7c699): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan WARNING: drivers/video/built-in.o(.text+0x7c69f): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan WARNING: drivers/built-in.o(.text+0xa3676): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan WARNING: drivers/built-in.o(.text+0xa3689): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan WARNING: drivers/built-in.o(.text+0xa36a5): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan WARNING: drivers/built-in.o(.text+0xa36c5): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan WARNING: drivers/built-in.o(.text+0xa36cb): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan WARNING: vmlinux.o(.text+0x4a079a): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan WARNING: vmlinux.o(.text+0x4a07ad): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan WARNING: vmlinux.o(.text+0x4a07c9): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan WARNING: vmlinux.o(.text+0x4a07e9): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan WARNING: vmlinux.o(.text+0x4a07ef): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan Remove __devinitdata annotation from the variable ypan. Signed-off-by: Sergio Luis Cc: Michal Januszewski Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8808117ca571fd63e188a2306baae86cca9fce7a Author: Eugene Teo Date: Sat Feb 23 15:23:52 2008 -0800 proc: add RLIMIT_RTTIME to /proc//limits RLIMIT_RTTIME was introduced to allow the user to set a runtime timeout on real-time tasks: http://lkml.org/lkml/2007/12/18/218. This patch updates /proc//limits with the new rlimit. Signed-off-by: Eugene Teo Acked-by: Peter Zijlstra Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45254b4fb2aef51c94a7397df1e481c4137b4b97 Author: Christoph Hellwig Date: Sat Feb 23 15:23:51 2008 -0800 efs: move headers out of include/linux/ Merge include/linux/efs_fs{_i,_dir}.h into fs/efs/efs.h. efs_vh.h remains there because this is the IRIX volume header and shouldn't really be handled by efs but by the partitioning code. efs_sb.h remains there for now because it's exported to userspace. Of course this wrong and aboot should have a copy of it's own, but I'll leave that to a separate patch to avoid any contention. Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48f15b93b2c9f4ec9b8af08ab78f7a27db7c8378 Author: Paul Clements Date: Sat Feb 23 15:23:50 2008 -0800 NBD: make nbd default to deadline I/O scheduler NBD doesn't work well with CFQ (or AS) schedulers, so let's default to something else. The two problems I have experienced with nbd and cfq are: 1) nbd hangs with cfq on RHEL 5 (2.6.18) -- this may well have been fixed There's a similar debian bug that has been filed as well: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=447638 There have been posts to nbd-general mailing list about problems with cfq and nbd also. 2) nbd performs about 10% better (the last time I tested) with deadline vs. cfq (the overhead of cfq doesn't provide much advantage to nbd [not being a real disk], and you end up going through the I/O scheduler on the nbd server anyway, so it makes sense that deadline is better with nbd) Signed-off-by: Paul Clements Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f56debd77a8f52f1ac1d3c3d89cc7ce5e083230 Author: Jeff Dike Date: Sat Feb 23 15:23:49 2008 -0800 uml: fix FP register corruption Commit ee3d9bd4de1ed93d2a7ee41c331ed30a1c7b8acd ("uml: simplify SIGSEGV handling"), while greatly simplifying the kernel SIGSEGV handler that runs in the process address space, introduced a bug which corrupts FP state in the process. Previously, the SIGSEGV handler called the sigreturn system call by hand - it couldn't return through the restorer provided to it because that could try to call the libc restorer which likely wouldn't exist in the process address space. So, it blocked off some signals, including SIGUSR1, on entry to the SIGSEGV handler, queued a SIGUSR1 to itself, and invoked sigreturn. The SIGUSR1 was delivered, and was visible to the UML kernel after sigreturn finished. The commit eliminated the signal masking and the call to sigreturn. The handler simply hits itself with a SIGTRAP to let the UML kernel know that it is finished. UML then restores the process registers, which effectively longjmps the process out of the signal handler, skipping sigreturn's restoring of register state and the signal mask. The bug is that the host apparently sets used_fp to 0 when it saves the process FP state in the sigcontext on the process signal stack. Thus, when the process is longjmped out of the handler, its FP state is corrupt because it wasn't saved on the context switch to the UML kernel. This manifested itself as sleep hanging. For some reason, sleep uses floating point in order to calculate the sleep interval. When a page fault corrupts its FP state, it is faked into essentially sleeping forever. This patch saves the FP state before entering the SIGSEGV handler and restores it afterwards. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4d06b3f904ddfab4531a1e23f1f5e1bd284b605 Author: Johann Felix Soden Date: Sat Feb 23 15:23:49 2008 -0800 uml: fix helper_wait calls in watchdog In commit 1aa351a308d2c3ddb92b6cc45083fc54271d0010 ("uml: tidy helper code") the arguments of helper_wait() were changed. The adaptation of harddog_user.c was forgotten, so this errors occur: /arch/um/drivers/harddog_user.c: In function 'start_watchdog': /arch/um/drivers/harddog_user.c:82: error: too many arguments to function 'helper_wait' /arch/um/drivers/harddog_user.c:89: error: too many arguments to function 'helper_wait' Signed-off-by: Johann Felix Soden Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b32eb52e4093351bd0debd027575578a599bfb3e Author: Jeff Dike Date: Sat Feb 23 15:23:48 2008 -0800 uml: remove unused sigcontext accessors The macros which extract registers from a struct sigcontext are no longer needed and can be removed. They are starting not to build anyway, given the removal of the 'e' and 'r' from register names during the x86 merge. Cc: Jiri Olsa Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3069ae9d76901d021362bb63d9ad6c5900dfc76 Author: Jean Delvare Date: Sat Feb 23 15:23:46 2008 -0800 dmi: don't save the same device twice Now that we gather on-board devices from both DMI types 10 and 41, there is a possibility that we list the same device twice. In order to not confuse drivers, and also to save memory, make sure that we do not add duplicate devices to the dmi_devices list. Signed-off-by: Jean Delvare Cc: Wim Van Sebroeck Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c8626a1d7250c593f148530b559c20f6f6af18e8 Author: David Brownell Date: Sat Feb 23 15:23:44 2008 -0800 rtc-cmos: display HPET emulation mode For the "cmos" RTC, have /proc/driver/rtc say whether HPET based IRQ emulation is in effect. Given the problems we've had with this particular hardware maldesign (and the fact that most BIOS code seems not to provide the IRQ routing needed to use the saner HPET modes), this should help troubleshooting. Signed-off-by: David Brownell Cc: Alessandro Zummo Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4185108c77afee83674101319dc071599846a40b Author: Michael Buesch Date: Sat Feb 23 15:23:42 2008 -0800 hwrng: remove Michael as HWRNG maintainer It turns out that I rewrote the HWRNG core once to make it pluggable, but I'm not a crypto-expert at all. So I'm certainly the wrong person for being a maintainer of the HWRNG core. Let's orphan it. Signed-off-by: Michael Buesch Cc: Herbert Xu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b720378d05d9f5101dd331d16a0957a764583f3 Author: KOSAKI Motohiro Date: Sat Feb 23 15:23:41 2008 -0800 cpuset: trivial documentation fix s/N_MEMORY/N_HIGH_MEMORY/ Current implementation of cpuset track N_HIGH_MEMORY instead N_MEMORY. (N_MEMORY doesn't exist in current implementation) Signed-off-by: KOSAKI Motohiro Acked-by: Paul Jackson Cc: Christoph Lameter Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b97c74bddce4e2c6fef6b3b58910b4fd9eb7f3b8 Author: Ned Forrester Date: Sat Feb 23 15:23:40 2008 -0800 spi: pxa2xx_spi clock polarity fix Fixes a sequencing bug in spi driver pxa2xx_spi.c in which the chip select for a transfer may be asserted before the clock polarity is set on the interface. As a result of this bug, the clock signal may have the wrong polarity at transfer start, so it may need to make an extra half transition before the intended clock/data signals begin. (This probably means all transfers are one bit out of sequence.) This only occurs on the first transfer following a change in clock polarity in systems using more than one more than one such polarity. The fix assures that the clock mode is properly set before asserting chip select. This bug was introduced in a patch merged on 2006/12/10, kernel 2.6.20. The patch defines an additional bit in: include/asm-arm/arch-pxa/regs-ssp.h for 2.6.25 and newer kernels but this addition must be made in: include/asm-arm/arch-pxa/pxa-regs.h for kernels between 2.6.20 and 2.6.24, inclusive Signed-off-by: Ned Forrester Signed-off-by: David Brownell Cc: Russell King Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f6febccd7f86fbe94858a4a32d9384cc014c9f40 Author: Atsushi Nemoto Date: Sat Feb 23 15:23:39 2008 -0800 atmel_spi: fix clock polarity The atmel_spi driver does not initialize clock polarity correctly (except for at91rm9200 CS0 channel) in some case. The atmel_spi driver uses gpio-controlled chipselect. OTOH spi clock signal is controlled by CSRn.CPOL bit, but this register controls clock signal correctly only in 'real transfer' duration. At the time of cs_activate() call, CSRn.CPOL will be initialized correctly, but the controller do not know which channel is to be used next, so clock signal will stay at the inactive state of last transfer. If clock polarity of new transfer and last transfer was differ, new transfer will start with wrong clock signal state. For example, if you started SPI MODE 2 or 3 transfer after SPI MODE 0 or 1 transfer, the clock signal state at the assertion of chipselect will be low. Of course this will violates SPI transfer. This patch is short term solution for this problem. It makes all CSRn.CPOL match for the transfer before activating chipselect. For longer term, the best fix might be to let NPCS0 stay selected permanently in MR and overwrite CSR0 with to the new slave's settings before asserting CS. Signed-off-by: Atsushi Nemoto Acked-by: Haavard Skinnemoen Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4f9d5f4a353440f2265781bfa641587964901861 Author: Hoang-Nam Nguyen Date: Sat Feb 23 15:23:37 2008 -0800 lib/vsprintf.c: fix bug omitting minus sign of numbers (module_param) lib/vsprintf.c: Fix bug omitting minus sign of numbers (module_param) Signed-off-by: Hoang-Nam Nguyen Cc: Yi Yang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8ca3ed87db062201e1fa15b64a9214e193fc3a8a Author: David Howells Date: Sat Feb 23 15:23:37 2008 -0800 NOMMU: is_vmalloc_addr() won't compile if !MMU Make is_vmalloc_addr() contingent on CONFIG_MMU=y, as it won't compile in !MMU mode. [ Bug introduced in commit 9e2779fa281cfda13ac060753d674bbcaa23367e: "is_vmalloc_addr(): Check if an address is within the vmalloc boundaries" ]. Signed-off-by: David Howells Cc: Greg Ungerer Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0400b697ef20247d26427e4beb6a84ca5aa51f45 Author: Haavard Skinnemoen Date: Sat Feb 23 15:23:36 2008 -0800 atmel_serial: fix interrupt handler return value We should only return IRQ_HANDLED when we actually found something to handle. This is important since the USART interrupt handler may be shared with the timer interrupt on some chips. Pointed-out-by: michael Signed-off-by: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98bcef56cadb4da138e2c1a2a0790f372382b236 Author: mark gross Date: Sat Feb 23 15:23:35 2008 -0800 copyright owner and author clean up for intel iommu and related files The following is a clean up and correction of the copyright holding entities for the files associated with the intel iommu code. Signed-off-by: Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eaeb16883bd6aa2d6b6b61b825c0d2b0dc793f60 Author: David Rientjes Date: Sat Feb 23 15:23:34 2008 -0800 sparc: fix build Fix build failure on sparc: In file included from include/linux/mm.h:39, from include/linux/memcontrol.h:24, from include/linux/swap.h:8, from include/linux/suspend.h:7, from init/do_mounts.c:6: include/asm/pgtable.h:344: warning: parameter names (without types) in function declaration include/asm/pgtable.h:345: warning: parameter names (without types) in function declaration include/asm/pgtable.h:346: error: expected '=', ',', ';', 'asm' or '__attribute__' before '___f___swp_entry' viro sayeth: I've run allmodconfig builds on a bunch of target, FWIW (essentially the same patch). Note that these includes are recent addition caused by added inline function that had since then become a define. So while I agree with your comments in general, in _this_ case it's pretty safe. The commit that had done it is 3062fc67dad01b1d2a15d58c709eff946389eca4 ("memcontrol: move mm_cgroup to header file") and the switch to #define is in commit 60c12b1202a60eabb1c61317e5d2678fcea9893f ("memcontrol: add vm_match_cgroup()") (BTW, that probably warranted mentioning in the changelog of the latter). Cc: Adrian Bunk Cc: Robert Reif Signed-off-by: David Rientjes Cc: "David S. Miller" Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de4fc64f0f2a4efbaad3e7c1e1e05a28f69b45e5 Author: Harvey Harrison Date: Sat Feb 23 15:23:33 2008 -0800 markers: fix sparse warnings in markers.c char can be unsigned kernel/marker.c:64:20: error: dubious one-bit signed bitfield kernel/marker.c:65:14: error: dubious one-bit signed bitfield Signed-off-by: Harvey Harrison Acked-by: Mathieu Desnoyers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 094972840f2e7c1c6fc9e1a97d817cc17085378e Author: Serge E. Hallyn Date: Sat Feb 23 15:23:33 2008 -0800 file capabilities: simplify signal check Simplify the uid equivalence check in cap_task_kill(). Anyone can kill a process owned by the same uid. Without this patch wireshark is reported to fail. Signed-off-by: Serge E. Hallyn Signed-off-by: Andrew G. Morgan Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5df70ab194543522397fa3da8c8f80564a0f7d3 Author: Andy Whitcroft Date: Sat Feb 23 15:23:32 2008 -0800 hugetlb: ensure we do not reference a surplus page after handing it to buddy When we free a page via free_huge_page and we detect that we are in surplus the page will be returned to the buddy. After this we no longer own the page. However at the end free_huge_page we clear out our mapping pointer from page private. Even where the page is not a surplus we free the page to the hugepage pool, drop the pool locks and then clear page private. In either case the page may have been reallocated. BAD. Make sure we clear out page private before we free the page. Signed-off-by: Andy Whitcroft Acked-by: Adam Litke Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 745329c4a2a25efbf5ba6cd7842e07840e4e9775 Author: Hans Rosenfeld Date: Sat Feb 23 15:23:31 2008 -0800 /proc/pid/pagemap: fix PM_SPECIAL macro There seems to be a bug in the PM_SPECIAL macro for /proc/pid/pagemap. I think masking out those other bits makes more sense then setting all those mask bits. Signed-off-by: Hans Rosenfeld Acked-by: Matt Mackall Cc: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8936b6dba234c994dc4c168818376197abc2faac Author: Geert Uytterhoeven Date: Sat Feb 23 15:23:30 2008 -0800 MAINTAINERS: linux-fbdev is moderated While linux-fbdev is subscribers-only, non-subscribers are not plainly rejected, but moderated, so the casual patch/comment/question comes through. Signed-off-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f81e8a43871f44f98dd14e83a83bf9ca0b3b46c5 Author: Roel Kluin <12o3l@tiscali.nl> Date: Sat Feb 23 15:23:29 2008 -0800 ufs: fix parenthesisation in ufs_set_fs_state() This bug snuck in with commit 252e211e90ce56bf005cb533ad5a297c18c19407 Author: Mark Fortescue Date: Tue Oct 16 23:26:31 2007 -0700 Add in SunOS 4.1.x compatible mode for UFS Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Acked-by: Evgeniy Dushistov Cc: Mark Fortescue Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55a26aeec07f8fdb0f7027a605a430338eb78f4e Author: David Howells Date: Sat Feb 23 15:23:28 2008 -0800 MN10300: define SO_MARK Define SO_MARK for MN10300. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 860f7be283f8b8d7830a741cb72338057a753283 Author: David Howells Date: Sat Feb 23 15:23:28 2008 -0800 MN10300: define HZ as a config option Define HZ as a config option. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a823ac9ff09cbdf39201df37b7ede1f9395de83 Author: Miklos Szeredi Date: Sat Feb 23 15:23:27 2008 -0800 fuse: fix permission checking I added a nasty local variable shadowing bug to fuse in 2.6.24, with the result, that the 'default_permissions' mount option is basically ignored. How did this happen? - old err declaration in inner scope - new err getting declared in outer scope - 'return err' from inner scope getting removed - old declaration not being noticed -Wshadow would have saved us, but it doesn't seem practical for the kernel :( More testing would have also saved us :(( Signed-off-by: Miklos Szeredi Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fddd9cf82c9f9617d134ae878a8f6b116ebbd43d Author: Chris Snook Date: Sat Feb 23 15:23:26 2008 -0800 make LKDTM depend on BLOCK Make LKDTM depend on BLOCK to prevent build failures with certain configs. Signed-off-by: Chris Snook Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c3be10f75757e681b34766b24264c83b5ba08041 Author: WANG Cong Date: Sat Feb 23 15:23:26 2008 -0800 arch/um/kernel/mem.c: fix a shadowed variable Fix a shadowed variable in arch/um/kernel/mem.c, since there is a global variable has the same name. Cc: Jeff Dike Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b59ebcd178b5b1d03760c89b318c7a7fdadd051 Author: Jeff Dike Date: Sat Feb 23 15:23:24 2008 -0800 UML: update defconfig Update defconfig. Cc: Christoph Hellwig Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4631a9a1517654748aaf89cbc46503819a29eb30 Author: Johann Felix Soden Date: Sat Feb 23 15:23:23 2008 -0800 uml: fix initrd printk If the initrd file has zero-length, the error message should contain the filepath. Cc: WANG Cong Signed-off-by: Johann Felix Soden Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b23c9cc0ce652089a2f0af8c7f1541f10dc9b5db Merge: 1e83527... cfb37ae... Author: Linus Torvalds Date: Sat Feb 23 12:29:16 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: (25 commits) [SCSI] qlogicpt: section fixes [SCSI] mvsas: convert from rough draft to working driver [SCSI] mvsas: Add Marvell 6440 SAS/SATA driver [SCSI] libsas: correctly flush the LU queue on error recovery [SCSI] aic94xx: fix sequencer hang on error recovery [SCSI] st: compile fix when DEBUG set to one [SCSI] stex: stex_internal_copy should be called with sg_count in struct st_ccb [SCSI] stex: stex_direct_copy shouldn't call dma_map_sg [SCSI] lpfc: Balance locking [SCSI] qla4xxx: fix up residual handling [SCSI] libsas: fix error handling [SCSI] arcmsr: fix message allocation [SCSI] mptbase: fix use-after-free's [SCSI] iscsi transport: make 2 functions static [SCSI] lpfc: make lpfc_disable_node() static [SCSI] ips: fix data buffer accessors conversion bug [SCSI] gdth: don't call pci_free_consistent under spinlock [SCSI] qla2xxx: fix compile warning for printk format [SCSI] aic7xx: mitigate HOST_MSG_LOOP invalid SCB ff panic [SCSI] scsi_debug: disable clustering ... commit 1e8352784abaedb424e63fa700e93e6c1307785f Author: Hugh Dickins Date: Sat Feb 23 19:40:17 2008 +0000 percpu: fix DEBUG_PREEMPT per_cpu checking 2.6.25-rc1 percpu changes broke CONFIG_DEBUG_PREEMPT's per_cpu checking on several architectures. On s390, sparc64 and x86 it's been weakened to not checking at all; whereas on powerpc64 it's become too strict, issuing warnings from __raw_get_cpu_var in io_schedule and init_timer for example. Fix this by weakening powerpc's __my_cpu_offset to use the non-checking local_paca instead of get_paca (which itself contains such a check); and strengthening the generic my_cpu_offset to go the old slow way via smp_processor_id when CONFIG_DEBUG_PREEMPT (debug_smp_processor_id is where all the knowledge of what's correct when lives). Signed-off-by: Hugh Dickins Reviewed-by: Mike Travis Signed-off-by: Linus Torvalds commit 3a2d5b700132f35401f1d9e22fe3c2cab02c2549 Author: Rafael J. Wysocki Date: Sat Feb 23 19:13:25 2008 +0100 PM: Introduce PM_EVENT_HIBERNATE callback state During the last step of hibernation in the "platform" mode (with the help of ACPI) we use the suspend code, including the devices' ->suspend() methods, to prepare the system for entering the ACPI S4 system sleep state. But at least for some devices the operations performed by the ->suspend() callback in that case must be different from its operations during regular suspend. For this reason, introduce the new PM event type PM_EVENT_HIBERNATE and pass it to the device drivers' ->suspend() methods during the last phase of hibernation, so that they can distinguish this case and handle it as appropriate. Modify the drivers that handle PM_EVENT_SUSPEND in a special way and need to handle PM_EVENT_HIBERNATE in the same way. These changes are necessary to fix a hibernation regression related to the i915 driver (ref. http://lkml.org/lkml/2008/2/22/488). Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Tested-by: Jeff Chua Signed-off-by: Linus Torvalds commit cfb37ae1e9d31fe2c1d21734ab51405e0c3afb7e Author: Adrian Bunk Date: Wed Jan 30 22:03:36 2008 +0200 [SCSI] qlogicpt: section fixes In current mainline, __devinit qpti_sbus_probe() still is calling __init qpti_chain_add(). Change occurrences of __init to __devinit to fix. Signed-off-by: Adrian Bunk Signed-off-by: James Bottomley commit 8f261aaf9be5c1246013cf6a65b98586d24832a5 Author: Ke Wei Date: Sat Feb 23 21:15:27 2008 +0800 [SCSI] mvsas: convert from rough draft to working driver Convert rough draft Marvell 6440 driver to a working driver. Added support for SAS and SATA devices, hotplug, wide port, and expanders. Signed-off-by: Ke Wei Signed-off-by: James Bottomley commit b5762948263dd5e9725a380e7a9626f99e40ae9d Author: Jeff Garzik Date: Thu Oct 25 20:58:22 2007 -0400 [SCSI] mvsas: Add Marvell 6440 SAS/SATA driver Signed-off-by: Jeff Garzik Signed-off-by: James Bottomley commit d0ce46f550ebbd765881e8c48f43b66285d798b0 Author: Zhang Rui Date: Sat Feb 23 01:53:09 2008 -0500 ACPI Exception (): AE_NOT_FOUND, Processor Device is not present (update) update cfaf3747ff3d431fba33f75083b7f50f58ae22ff ACPI: ACPI Exception (): AE_NOT_FOUND, Processor Device is not present is_processor_present is only called in the processor hotplug case, and _STA method is mandatory at this time. We should ignore those processors that are disabled in the MADT and don't have _STA methods. Because they will never exist in this system. For the processors that don't physically exist but can be hot plugged later, we still need this debug info. http://bugzilla.kernel.org/show_bug.cgi?id=8570 Signed-off-by: Zhang Rui Signed-off-by: Len Brown 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 583c377f1d58e705f75d8d5648ab41722be1ebca Author: David Brownell Date: Fri Feb 22 21:41:51 2008 -0800 ACPI: acpi_pci_set_power_state() cleanups Minor cleanups to acpi_pci_set_power_state(): use the ACPI and PCI state symbols to make clear that a mapping is being done between PCI and ACPI states, instead of using magic numbers. For paranoia's sake, report any errors. Save five bytes (x86_64) too. Signed-off-by: David Brownell Signed-off-by: Len Brown commit 7ce9573e093891f5807e6e50f3bd2012f1e5d0fe Author: Randy Dunlap Date: Fri Feb 22 11:25:04 2008 -0800 ACPI: prevent randconfig build failure on empty ACPI_CUSTOM_DSDT_FILE Make ACPI_CUSTOM_DSDT boolean config symbol a hidden and derived value, based on the value of ACPI_CUSTOM_DSDT_FILE (string). Only the latter is presented to the user as a config option. This fixes problems with "make randconfig" setting ACPI_CUSTOM_DSDT but leaving ACPI_CUSTOM_DSDT_FILE empty/blank. Signed-off-by: Randy Dunlap Signed-off-by: Len Brown commit 3e16bfbaf3195b4725bc87d6a1ef11bf7716e83d Author: Herbert Xu Date: Sat Feb 23 11:13:00 2008 +0800 [CRYPTO] authenc: Add missing Kconfig dependency on BLKCIPHER The authenc algorithm requires BLKCIPHER to be present. Signed-off-by: Herbert Xu commit 76fc60a2e3c6aa6e98cd3a5cb81a1855c637b274 Author: Herbert Xu Date: Sat Feb 23 11:12:06 2008 +0800 [CRYPTO] skcipher: Move chainiv/seqiv into crypto_blkcipher module For compatibility with dm-crypt initramfs setups it is useful to merge chainiv/seqiv into the crypto_blkcipher module. Since they're required by most algorithms anyway this is an acceptable trade-off. Signed-off-by: Herbert Xu commit 39273b58a409cd6d65c9732bdca00bacd1626672 Author: Jesse Barnes Date: Thu Feb 21 17:44:35 2008 -0800 i915: fix AR register restore. Make sure the restoration correctly restores the AR registers by flipping the ARX register into index mode before doing anything. Without this, some people have had the text mode restore all green. Signed-off-by: Jesse Barnes Signed-off-by: Linus Torvalds commit 63e4563b9cf77875286312758f61a20f912afbbb Author: James Bottomley Date: Fri Feb 22 17:07:52 2008 -0600 [SCSI] libsas: correctly flush the LU queue on error recovery The current sas_scsi_clear_queue_lu() is wrongly checking for commands which match the pointer to the one passed in. It should be checking for commands which are on the same logical unit as the one passed in. Fix this by checking target pointer and LUN for equality. Signed-off-by: James Bottomley commit 91b550604480eadcdadc7db8a7d19f496ccad6bd Author: James Bottomley Date: Fri Feb 22 17:01:59 2008 -0600 [SCSI] aic94xx: fix sequencer hang on error recovery The clear nexus I_T and clear nexus I_T_L functions in the aic94xx specify the SUSPEND_TX flag which causes the sequencer to be suspended until it receives a RESUME_TX. Unfortunately, nothing ever sends the resume, so the sequencer on the link is stopped forever, leading to eventual timeouts and I/O errors. Since clear nexus commands are only executed as part of error recovery, it's perfectly fine to keep the sequencer running on the link ... as soon as the recovery function is completed, we'll send it the commands to retry. Signed-off-by: James Bottomley commit deee13dfd6dd6c18518ea725f11111ebd9bf4fa8 Author: Kai Makisara Date: Fri Feb 22 20:11:21 2008 +0200 [SCSI] st: compile fix when DEBUG set to one Remove the now useless counting of adjacent pages from the debugging code in to make it compile when DEBUG is set non-zero. Signed-off-by: Kai Makisara Signed-off-by: James Bottomley commit c9872fe1add5709fffd42249e6ca1080999aa06a Author: FUJITA Tomonori Date: Fri Feb 22 23:11:04 2008 +0900 [SCSI] stex: stex_internal_copy should be called with sg_count in struct st_ccb stex_internal_copy copies an in-kernel buffer to a sg list by using scsi_kmap_atomic_sg. Some functions calls stex_internal_copy with sg_count in struct st_ccb, which is the value that dma_map_sg returned. However it might be shorter than the actual number of sg entries (if the IOMMU merged the sg entries). scsi_kmap_atomic_sg doesn't see sg->dma_length so stex_internal_copy should be called with the actual number of sg entries (i.e. scsi_sg_count), because if the sg entries were merged, stex_direct_copy wrongly think that the data length in the sg list is shorter than the actual length. Signed-off-by: FUJITA Tomonori Acked-by: Ed Lin Signed-off-by: James Bottomley commit 26106e3ca379e30790c41d8835e79395437152ec Author: FUJITA Tomonori Date: Fri Feb 22 23:11:03 2008 +0900 [SCSI] stex: stex_direct_copy shouldn't call dma_map_sg stex_direct_copy copies an in-kernel buffer to a sg list in order to spoof some SCSI commands. stex_direct_copy calls dma_map_sg and then stex_internal_copy with the value that dma_map_sg returned. It calls scsi_kmap_atomic_sg to copy data. scsi_kmap_atomic_sg doesn't see sg->dma_length so if dma_map_sg merges sg entries, stex_internal_copy gets the smaller number of sg entries than the acutual number, which means it wrongly think that the data length in the sg list is shorter than the actual length. stex_direct_copy shouldn't call dma_map_sg and it doesn't need since this code path doesn't involve dma transfers. This patch removes stex_direct_copy and simply calls stex_internal_copy with the actual number of sg entries. Signed-off-by: FUJITA Tomonori Acked-by: Ed Lin Signed-off-by: James Bottomley commit eafe1df9e311034cce204e43c0e45c91723b802f Author: Matthew Wilcox Date: Thu Feb 21 05:44:33 2008 -0700 [SCSI] lpfc: Balance locking Commit 3163f725a5d071eea1830bbbfab78cfe3fc9baaf introduced locking in lpfc_sli_hbqbuf_fill_hbqs, but missed unlocking on one exit. Reported-by: Harvey Harrison Signed-off-by: Matthew Wilcox Acked-by: James Smart Signed-off-by: James Bottomley commit 65fecc77f3c47c5e8758d133b8ec47dcc16ed207 Author: David Somayajulu Date: Thu Feb 21 03:43:00 2008 -0800 [SCSI] qla4xxx: fix up residual handling the check in the residual case has an incorrect test of scsi_status (the logic is reversed, it should be scsi_status != 0 instead of !scsi_status. Since we checked a few lines above that scsi_status was non-zero, just eliminate this test Signed-off-by: David C Somayajulu Signed-off-by: James Bottomley commit a8e14fec164cc01d8dfb18760ee9bddd91e127c2 Author: James Bottomley Date: Tue Feb 19 21:48:42 2008 -0600 [SCSI] libsas: fix error handling The libsas error handler has two fairly fatal bugs 1. scsi_sas_task_done calls scsi_eh_finish_cmd() too early. This happens if the task completes after it has been aborted but before the error handler starts up. Because scsi_eh_finish_cmd() decrements host_failed and adds the task to the done list, the error handler start check (host_failed == host_busy) never passes and the eh never starts. 2. The multiple task completion paths sas_scsi_clear_queue_... all simply delete the task from the error queue. This causes it to disappear into the ether, since a command must be placed on the done queue to be finished off by the error handler. This behaviour causes the HBA to hang on pending commands. Fix 1. by moving the SAS_TASK_STATE_ABORTED check to an exit clause at the top of the routine and calling ->scsi_done() unconditionally (it is a nop if the timer has fired). This keeps the task in the error handling queue until the eh starts. Fix 2. by making sure every task goes through task complete followed by scsi_eh_finish_cmd(). Tested this by firing resets across a disk running a hammer test (now it actually survives without hanging the system) Signed-off-by: James Bottomley commit 2f93d797ea92113a73c72728c475455cb1409fb3 Author: Clemens Ladisch Date: Fri Feb 22 18:47:44 2008 +0100 [ALSA] bt87X: fix freeing of shared interrupt Call free_irq() after iounmap() because other devices could trigger our shared interrupt handler. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai Signed-off-by: Linus Torvalds commit c6cd7d7efe2302697a3cbde718e8e3b0d88ba706 Author: Takashi Iwai Date: Fri Feb 22 18:47:12 2008 +0100 [ALSA] hda-intel - Fix Oops with ATI HDMI devices The driver gets Oops with ATI HDMI devices due to the wrong calculation of index for playback streams. This patch fixes it. Reference: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3746 Signed-off-by: Takashi Iwai Signed-off-by: Linus Torvalds commit c598195a2d32dc5388c636260c16e07ebee9b051 Author: Sam Ravnborg Date: Fri Feb 22 18:46:47 2008 +0100 [ALSA] caiaq - fix section mismatch warning Fix following warning: WARNING: vmlinux.o(.text+0x11ec01a): Section mismatch in reference from the function setup_card() to the function .devinit.text:snd_usb_caiaq_control_init() setup_card() are only used by init_card(). init_card() are only used by snd_probe() snd_probe() are used for the .probe parameter in usb_driver.probe Annotate them all __devinit to fix the warning. Signed-off-by: Sam Ravnborg Signed-off-by: Takashi Iwai Signed-off-by: Linus Torvalds commit 9e03ad7907bc9c9e60a3ea09579a61ad7f9e59c8 Author: Takashi Iwai Date: Fri Feb 22 18:46:00 2008 +0100 [ALSA] hda-codec - Fix amp-in values for pin widgets Pin widgets have always one amp-input value regardless of number of connections. The proc file showed values wrongly. Signed-off-by: Takashi Iwai Signed-off-by: Linus Torvalds commit cced83b62c61fb39b79e796981065dff474b62aa Author: Takashi Iwai Date: Fri Feb 22 18:45:30 2008 +0100 [ALSA] hda-codec - Fix ALC882 capture source selection The capture source selection for ADC list with two elements is buggy becaues of a wrong capture mux list. This patch fixes the starting index based on spec->num_adc_nids. Signed-off-by: Takashi Iwai Signed-off-by: Linus Torvalds commit 614ca92b51b81eb42d6a3dcf125451632ddca0f5 Author: Takashi Iwai Date: Fri Feb 22 18:44:21 2008 +0100 [ALSA] hda-codec - Fix wrong capture source selection for ALC883 codec The widget list of capture source selection for ALC883 contains the wrong NIDs. Signed-off-by: Takashi Iwai Signed-off-by: Linus Torvalds commit 2f0855497738a56825ee6445574835b4fc1d77d5 Author: Takashi Iwai Date: Fri Feb 22 18:43:50 2008 +0100 [ALSA] hda-codec - Don't create vmaster if no slaves found Don't create vmaster controls if no slaves are found in the given list. This prevents the error due to an empty vmaster control. Signed-off-by: Takashi Iwai Signed-off-by: Linus Torvalds commit 14c65f98bfea9324cf334793305dd262d0095850 Author: Serge A. Suchkov Date: Fri Feb 22 18:43:16 2008 +0100 [ALSA] hda-codec - Fix race condition in generic bound volume/swtich controls Attached patch fix race condition in hd_codec generic bound volume/swtich controls oops on this bug can be easy reproduced by two mixer apps on SMP system with PREEMPT kernel dmesg: ALSA /home/ss/ALSA/alsa-driver-1.0.16/pci/hda/../../alsa-kernel/pci/hda/hda_intel.c:596: hda_intel: azx_get_response timeout, switching to polling mode: las t cmd=0x014f0900 BUG: unable to handle kernel paging request at virtual address 00070006 printing eip: f8f43e95 *pde = 00000000 Oops: 0000 [#1] PREEMPT SMP Modules linked in: i915 drm snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss bnep rfcomm hidp l2cap bluetooth w lan_wep acpi_cpufreq coretemp hwmon mmc_block pcspkr psmouse wlan_scan_sta ath_rate_sample snd_hda_intel ath_pci serio_raw wlan tg3 sdhci snd_pcm firewire_o hci mmc_core i2c_i801 snd_timer firewire_core snd_page_alloc ath_hal(P) snd_hwdep snd iTCO_wdt crc_itu_t iTCO_vendor_support shpchp video output acer_acpi b acklight led_class wmi_acer Pid: 3969, comm: gkrellm Tainted: P (2.6.24-jm #4) EIP: 0060:[] EFLAGS: 00010292 CPU: 0 EIP is at snd_hda_mixer_bind_ctls_info+0x20/0x43 [snd_hda_intel] EAX: 00000000 EBX: f7478e00 ECX: f763e000 EDX: f764f788 ESI: 00070002 EDI: edce5e00 EBP: edc3fe64 ESP: edc3fe54 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 Process gkrellm (pid: 3969, ti=edc3e000 task=f1e4e000 task.ti=edc3e000) Stack: f764f77c f7478e00 edce5e00 f6dd6000 edc3fe84 f8e590e8 edc7a239 f6d14034 f764f34c f6c0f7e0 edc3ff30 f6d14034 edc3fea8 f8e591b7 edc3ff30 edc3ff2c 00000000 f70aa668 f6d14034 f8e59165 bfbfadb0 edc3ff40 f8e587aa edc3ff2c Call Trace: [] show_trace_log_lvl+0x1a/0x2f [] show_stack_log_lvl+0x9d/0xa5 [] show_registers+0xa4/0x1bd [] die+0x122/0x206 [] do_page_fault+0x535/0x623 [] error_code+0x72/0x78 [] snd_mixer_oss_get_volume1_vol+0x74/0xf1 [snd_mixer_oss] [] snd_mixer_oss_get_volume1+0x52/0xa5 [snd_mixer_oss] [] snd_mixer_oss_ioctl1+0x673/0x71e [snd_mixer_oss] [] snd_mixer_oss_ioctl+0xb/0xd [snd_mixer_oss] [] do_ioctl+0x22/0x67 [] vfs_ioctl+0x237/0x24a [] sys_ioctl+0x31/0x4b [] syscall_call+0x7/0xb ======================= Code: 3f 49 c7 89 f8 59 5b 5e 5f 5d c3 55 89 e5 57 89 d7 56 53 89 c3 83 ec 04 8b 70 5c 8b 40 60 05 7c 01 00 00 89 45 f0 e8 c0 3f 49 c7 <8b> 46 04 89 fa 89 4 3 5c 89 d8 8b 0e ff 11 89 73 5c 89 c7 8b 45 EIP: [] snd_hda_mixer_bind_ctls_info+0x20/0x43 [snd_hda_intel] SS:ESP 0068:edc3fe54 ---[ end trace 0a20bc209e9397cc ]--- similar issue report present in ALSA bugtracking system https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3652 Signed-off-by: Serge A. Suchkov Signed-off-by: Takashi Iwai Signed-off-by: Linus Torvalds commit e5c21571361d951888c26c6ed1a21047e14b5e71 Author: Roel Kluin <12o3l@tiscali.nl> Date: Fri Feb 22 18:41:41 2008 +0100 [ALSA] soc - duplicate strcasecmp test for "rj-master" in mpc8610_hpcd_probe() In linus' git tree I found this problem. Is it also in the alsa tree? please confirm it's the right fix. The patch was not yet tested. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Acked-by: Timur Tabi Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Linus Torvalds commit 902b05c117c33c50075b21c293bf60958dedb92d Author: Clemens Ladisch Date: Fri Feb 22 18:40:56 2008 +0100 [ALSA] oxygen: fix line-in recording selection The GPIO pin 0 of the CM9780 must be set when muting the line input even on non-Xonar cards. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai Signed-off-by: Linus Torvalds commit cbef97892e0c545575342332d0d84a910ca4c587 Author: Takashi Iwai Date: Fri Feb 22 18:36:46 2008 +0100 [ALSA] hda-codec - Fix SPDIF output on Conexant 5045 codec Fixed the SPDIF output on Conexant Cx5045 codec. Added the missing pin output setting and fixed the wrong NID for digital audio-out widget. Signed-off-by: Takashi Iwai Signed-off-by: Linus Torvalds commit 90a5ad52bf2ce54aa7153735dc4488f00c050e54 Author: Takashi Iwai Date: Fri Feb 22 18:36:22 2008 +0100 [ALSA] HDA - enable snoop on SCH This patch enables snoop on Intel SCH chipset, eliminating static during playback. Signed-off-by: Tobin Davis Signed-off-by: Takashi Iwai Signed-off-by: Linus Torvalds commit 92eed66d5e612216369b27330ac43f6f094d0130 Author: Takashi Iwai Date: Fri Feb 22 18:35:56 2008 +0100 [ALSA] hdsp - Fix section mismatch Removed invalid __devinit from hdsp_request_fw_loader() and snd_hwdep_create_hwdep() that aren't always init functions. Signed-off-by: Takashi Iwai Signed-off-by: Linus Torvalds commit f007dc045a93aeb7e03fe59b408bc65baa86d991 Author: Takashi Iwai Date: Fri Feb 22 18:35:22 2008 +0100 [ALSA] oxygen - Fix section mismatch Removed invalid __devinit and __devexit that are remaining after split to a helper module. Signed-off-by: Takashi Iwai Signed-off-by: Linus Torvalds commit c0792e00bc2dd1202d48b838b1cf59d13dd2c74a Author: Takashi Iwai Date: Fri Feb 22 18:34:44 2008 +0100 [ALSA] race between disconnect and error handling in usbmidi The driver resubmits URBs from an error handler and schedules the error handler from the URBs' completion handlers. To reliably kill the cycle a flag must be used. Signed-off-by: Oliver Neukum Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai Signed-off-by: Linus Torvalds commit 0ee46c9dadcbbd0daa12da30f226391896d90abb Author: Takashi Iwai Date: Fri Feb 22 18:34:06 2008 +0100 [ALSA] opl3 - Fix compilation without sequencer support Add proper ifdef's to the patch loading code moved from the old instr layer so that opl3 driver can be compiled without the sequencer support. Signed-off-by: Takashi Iwai Signed-off-by: Linus Torvalds commit 2c020a99e058cdfc3a073cbfbfcc6ff55d3bfc43 Author: Linus Torvalds Date: Fri Feb 22 08:21:38 2008 -0800 Mark CC_STACKPROTECTOR as being BROKEN It's always been broken, but recent fixes actually made it do something, and now the brokenness shows up as the resulting kernel simply not working at all. So it used to be that you could enable this config option, and it just didn't do anything. Now we'd better stop people from enabling it by mistake, since it _does_ do something, but does it so badly as to be unusable. Code to actually make it work is pending, but incomplete and won't be merged into 2.6.25 in any case. Acked-by: Arjan van de Ven Acked-by: Sam Ravnborg Cc: James Morris Cc: Ingo Molnar Signed-off-by: Linus Torvalds commit f9cb02b0be4de3c51edfdd701754e13d9a2d20d6 Author: Roland McGrath Date: Thu Feb 21 20:37:24 2008 -0800 x86 ptrace: fix compat PTRACE_SETREGS Simple typo fix for regression introduced by the user_regset changes. Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds commit 69e562c234440fb7410877b5b24f4b29ef8521d1 Author: Daniel Drake Date: Wed Feb 20 13:29:05 2008 +0000 [SCSI] arcmsr: fix message allocation arcmsr_iop_message_xfer() is called from atomic context under the queuecommand scsi_host_template handler. James Bottomley pointed out that the current GFP_KERNEL|GFP_DMA flags are wrong: firstly we are in atomic context, secondly this memory is not used for DMA. Also removed some unneeded casts. Signed-off-by: Daniel Drake Cc: Nick Cheng Signed-off-by: James Bottomley commit ad008d42bcec99911b3270a8349f8ec8405a1c4e Author: Adrian Bunk Date: Tue Feb 19 20:03:57 2008 -0600 [SCSI] mptbase: fix use-after-free's ioc->name is used in the printk's after ioc has been freed. Free after prinks to fix this. This patch fixes two use-after-free's introduced by commit e78d5b8f1e73ab82f3fd041d05824cfee7d83a2c and spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: James Bottomley commit 3b0f208a583f130f1e551a6b8673734f51ab7dcd Author: Adrian Bunk Date: Wed Feb 13 23:30:17 2008 +0200 [SCSI] iscsi transport: make 2 functions static This patch makes the following needlessly global functions static: - __iscsi_unblock_session() - iscsi_session_state_name() Signed-off-by: Adrian Bunk Acked-by: Mike Christie Signed-off-by: James Bottomley commit 4d9db01ef8f62b03c46f1258fd45a8c8235687ba Author: Adrian Bunk Date: Thu Feb 14 23:24:02 2008 +0200 [SCSI] lpfc: make lpfc_disable_node() static This patch makes the needlessly global lpfc_disable_node() static. Signed-off-by: Adrian Bunk Acked-by: James Smart Signed-off-by: James Bottomley commit 6e5e93424dc66542c548dfaa3bfebe30d46d50dd Author: Lachlan McIlroy Date: Fri Feb 22 15:36:19 2008 +1100 Remove empty file fs/xfs/Makefile-linux-2.6. commit 1a4c6be4aca5ad6b300932efed1e2729fdc25af9 Merge: a62f735... 5216a8e... Author: Linus Torvalds Date: Thu Feb 21 17:19:48 2008 -0800 Merge branch 'hotfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * 'hotfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: Wrap buffers used for rpc debug printks into RPC_IFDEBUG nfs: fix sparse warnings NFS: flush signals before taking down callback thread commit a62f735cbb1a0937ab6a9196dadf752694ef0b7f Author: David Howells Date: Thu Feb 21 16:12:45 2008 +0000 MM: Fix macro argument substitution in PageHead() and PageTail() Fix macro argument substitution in PageHead() and PageTail() - 'page' should have brackets surrounding it (commit 6d7779538f765963ced45a3fa4bed7ba8d2c277d). Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 5e45bb2ebac937f2eb62138b5d734f3ac7ce8e2f Author: Maciej Sosnowski Date: Thu Feb 21 13:44:31 2008 +0100 MAINTAINERS: ioatdma, dmaengine and async_tx maintainers change Shannon Nelson replaced by Maciej Sosnowski in maintanance of INTEL I/OAT DMA DRIVER, DMA GENERIC ENGINE SUBSYSTEM and ASYNCHRONOUS TRANSFERS/TRANSFORMS API. Signed-off-by: Maciej Sosnowski Signed-off-by: Shannon Nelson Signed-off-by: Linus Torvalds commit bfe38ccf8d0b541f387f65267f6f3794be59233a Merge: 20f8d2a... 25e9c86... Author: Linus Torvalds Date: Thu Feb 21 16:37:42 2008 -0800 Merge branch 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6 * 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6: hwmon: normal_i2c arrays should be const hwmon: New driver for Analog Devices ADT7473 sensor chip hwmon: (coretemp) Add Penryn CPU to coretemp hwmon: (coretemp) Add TjMax detection for mobile CPUs hwmon: (applesmc) sensors set for MacBook2 hwmon: (thmc50) Storage class should be before const qualifier hwmon: (coretemp) fix section mismatch warning hwmon: (coretemp) Add maximum cooling temperature readout hwmon: (adm1026) Properly terminate sysfs groups hwmon: (vt8231) Update maintainer email address hwmon: (vt8231) Add individual alarm files hwmon: (via686a) Add individual alarm files hwmon: (smsc47m1) Add individual alarm files hwmon: (max1619) Add individual alarm and fault files hwmon: (lm92) Add individual alarm files commit 20f8d2a49360980f1dc0afe2ea227e3ba887e575 Merge: e6364cd... 1f1519e... Author: Linus Torvalds Date: Thu Feb 21 16:33:19 2008 -0800 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (26 commits) PM: Make suspend_device() static PCI ACPI: Fix comment describing acpi_pci_choose_state Hibernation: Handle DEBUG_PAGEALLOC on x86 ACPI: fix build warning ACPI: TSC breaks atkbd suspend ACPI: remove is_processor_present prototype acer-wmi: Add DMI match for mail LED on Acer TravelMate 4200 series ACPI: sparse fix, replace macro with static function ACPI: thinkpad-acpi: add tablet-mode reporting ACPI: thinkpad-acpi: minor hotkey_radio_sw fixes ACPI: thinkpad-acpi: improve thinkpad-acpi input device documentation ACPI: thinkpad-acpi: issue input events for tablet swivel events ACPI: thinkpad-acpi: make the video output feature optional ACPI: thinkpad-acpi: synchronize input device switches ACPI: thinkpad-acpi: always track input device open/close ACPI: thinkpad-acpi: trivial fix to documentation ACPI: thinkpad-acpi: trivial fix to module_desc typo intel_menlo: extract return values using PTR_ERR ACPI video: check for error from thermal_cooling_device_register ACPI thermal: extract return values using PTR_ERR ... commit e6364cd3a1a3e7c3e9a80bad15698afe6cc7ee75 Merge: b8967d8... 120fc3d... Author: Linus Torvalds Date: Thu Feb 21 16:21:52 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6: modules: do not try to add sysfs attributes if !CONFIG_SYSFS POWERPC: fix typo in pseries/power.c PM: Remove unbalanced mutex_unlock() from dpm_resume() UIO: fix Greg's stupid changes stable_kernel_rules: fix must already be in mainline ide: mark "ide=reverse" option as obsolete Driver core: Fix error handling in bus_add_driver(). driver-core: fix kernel-doc function parameters cpufreq: fix kobject reference count handling slabinfo: fall back from /sys/kernel/slab to /sys/slab Fix broken utf-8 encodings in ja_JP translation of stable_kernel_rules.txt commit b8967d8883aadf36351b568c1f1301ad3f46fc3d Merge: c6b0834... 79df4c6... Author: Linus Torvalds Date: Thu Feb 21 16:21:08 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6: PCI: Fix wrong reference counter check for proc_dir_entry PCI: fix up setup-bus.c #ifdef PCI: don't load acpi_php when acpi is disabled PCI: quirks: set 'En' bit of MSI Mapping for devices onHT-based nvidia platform PCI: kernel-doc: fix pci-acpi warning PCI: irq: patch for Intel ICH10 DeviceID's PCI: pci_ids: patch for Intel ICH10 DeviceID's PCI: AMD SATA IDE mode quirk PCI: drivers/pcmcia/i82092.c: fix up after pci_bus_region changes PCI: hotplug: acpiphp_ibm: Remove get device information commit c6b083466818e674d479cfeb847061a57658bcba Merge: 5d637c4... b5937a4... Author: Linus Torvalds Date: Thu Feb 21 16:20:22 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (23 commits) ehci-fsl: add PPC_MPC837x to default y USB: POWERPC: ehci: fix ppc build USB: usb-storage: don't access beyond the end of the sg buffer USB: quirks and unusual_devs entry for Actions flash drive USB: usb-storage: unusual_devs entry for Oracom MP3 player USB: serial: move zte MF330 from sierra to option USB: add new vernier product id to ldusb.c USB: gadget: queue usb USB_CDC_GET_ENCAPSULATED_RESPONSE message USB: Add another Novatel U727 ID to the device table for usbserial USB: storage: Nikon D80 new FW still needs Fixup USB: usb-storage: don't clear-halt when Get-Max-LUN stalls USB: option: Added vendor id for Dell 5720 broadband modem USB: option: Add Kyocera KPC680 ids USB: quirks for known quirky audio devices USB: fix previous sparse fix which was incorrect USB: fix error handling in trancevibrator USB: g_printer, fix empty if statement USB: ehci-fsl: mpc834x config symbol is PPC_MPC834x, not MPC834x USB: fix usb open suspend race in cdc-acm USB: usb: yet another Dell wireless CDMA/EVDO modem ... commit 5d637c4a5146f803a872275c139fc11914056d74 Merge: 0616575... d7c2fea... Author: Linus Torvalds Date: Thu Feb 21 16:19:50 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm: dlm: update git tree in MAINTAINERS dlm: fix rcom_names message to self commit 06165752c8dfd7c6a3f3186bd6dec86a70895c72 Merge: 597592d... 717a54a... Author: Linus Torvalds Date: Thu Feb 21 16:19:34 2008 -0800 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] 4835/1: Fix stale comment in struct machine_desc description [ARM] 4829/1: add .get method to pxa-cpufreq to silence a warning [ARM] 4828/1: fix 3 warnings in drivers/video/pxafb.c [ARM] 4827/1: fix two warnings in drivers/i2c/busses/i2c-pxa.c [ARM] 4826/1: Orion: Register the RTC interrupt on the TS-209 [ARM] pxa: fix clock lookup to find specific device clocks commit 597592d951cdca8e5edb29f7e8174f633a69685a Author: Ian Campbell Date: Thu Feb 21 13:03:45 2008 -0800 xen: Implement getgeo for Xen virtual block device. The below implements the getgeo hook for Xen block devices. Extracted from the xen-unstable tree where it has been used for ages. It is useful to have because it allows things like grub2 (used by the Debian installer images) to work in a guest domain without having to sprinkle Xen specific hacks around the place. Signed-off-by: Ian Campbell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Linus Torvalds commit 0f151e8b214c1df3f571020b849382933f2cdce7 Merge: e80af3a... a8b87f6... Author: Linus Torvalds Date: Thu Feb 21 16:18:05 2008 -0800 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] pasemi: Remove warning in mpic_pasemi_msi.c [POWERPC] pasemi: Register i2c devices at boot [POWERPC] cell: fix spurious false return from spu_trap_data_{map,seg} [POWERPC] Fix warning in pseries/power.c [POWERPC] Fix bootwrapper builds with older gcc versions [POWERPC] Fix dt_mem_next_cell() to read the full address [POWERPC] Kill sparse warnings in kprobes [POWERPC] spufs: fix scheduler starvation by idle contexts [POWERPC] 44x: Add multiplatform defconfig [POWERPC] 44x: Fix Kconfig formatting [POWERPC] 4xx: Update defconfigs for 2.6.25 [POWERPC] 4xx: Remove "i2c" and "xxmii-interface" device_types from dts [POWERPC] PPC440EP Interrupt Triggering and Level Settings [POWERPC] net: NEWEMAC: Remove "rgmii-interface" from rgmii matching table commit 5216a8e70e25b01cbd2915cd0442fb96deb2c262 Author: Pavel Emelyanov Date: Thu Feb 21 10:57:45 2008 +0300 Wrap buffers used for rpc debug printks into RPC_IFDEBUG Sorry for the noise, but here's the v3 of this compilation fix :) There are some places, which declare the char buf[...] on the stack to push it later into dprintk(). Since the dprintk sometimes (if the CONFIG_SYSCTL=n) becomes an empty do { } while (0) stub, these buffers cause gcc to produce appropriate warnings. Wrap these buffers with RPC_IFDEBUG macro, as Trond proposed, to compile them out when not needed. Signed-off-by: Pavel Emelyanov Acked-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit b5937a415fc0387c18c40d618c7e98d1e2f65b42 Author: Anton Vorontsov Date: Thu Feb 21 23:30:58 2008 +0300 ehci-fsl: add PPC_MPC837x to default y This patch converts USB_EHCI_FSL config option into the verbose bool, so we'll able to select it for other freescale processors with built-in EHCI controller. Signed-off-by: Anton Vorontsov Cc: Kumar Gala Signed-off-by: Greg Kroah-Hartman commit c6dd2e61d35e0fbd516c0169decc08e56619f0c6 Author: Anton Vorontsov Date: Thu Feb 21 22:49:13 2008 +0300 USB: POWERPC: ehci: fix ppc build Currently, this setup: CONFIG_USB_ARCH_HAS_EHCI=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_HCD_PPC_OF=y Will fail to build: CC drivers/usb/host/ehci-hcd.o drivers/usb/host/ehci-hcd.c:1018:2: error: #error "missing bus glue for ehci-hcd" make[3]: *** [drivers/usb/host/ehci-hcd.o] Error 1 ehci-hcd.c actually contains OF_PLATFORM_DRIVER glue, so error is bogus. Signed-off-by: Anton Vorontsov Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 7084191d53b224b953c8e1db525ea6c31aca5fc7 Author: Alan Stern Date: Wed Feb 20 14:15:58 2008 -0500 USB: usb-storage: don't access beyond the end of the sg buffer This patch (as1035) fixes a bug in usb_stor_access_xfer_buf() (the bug was originally found by Boaz Harrosh): The routine must not attempt to write beyond the end of a scatter-gather list or beyond the number of bytes requested. It also fixes up the formatting of a few comments and similar whitespace issues. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 274399d14f121d7676ecb75a461cfed6cf9e4cdb Author: Alan Stern Date: Wed Feb 20 12:10:04 2008 -0500 USB: quirks and unusual_devs entry for Actions flash drive This patch (as1033) adds a quirks entry and an unusual_devs entry for the Actions Semiconductor flash drive. This device has a 64-byte string descriptor, which it doesn't terminate with a 0-length packet. Oddly enough, the reporter's logs show that when the device was plugged in at boot time, it changes its behavior completely -- it uses a different product ID, product string descriptor, and bDeviceClass. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 4e58407d5c31827de0225ea927420192a71daccd Author: Robert Spitzenpfeil Date: Wed Feb 20 12:11:22 2008 -0500 USB: usb-storage: unusual_devs entry for Oracom MP3 player This patch (as1034) was written by Leonid Petrov, reported by Robert Spitzenpfeil, and updated by me. It adds an unusual_devs entry with the IGNORE_RESIDUE flag for the Oracom MP3 player. Together with the change to the Get-Max-LUN routine in as1032, it makes the player usable. Signed-off-by: Alan Stern Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit d726fb757722a3907356830a0b8d976267596d5c Author: Kevin Lloyd Date: Thu Feb 14 13:35:16 2008 -0800 USB: serial: move zte MF330 from sierra to option Move the Onda H600/ZTE MF33 device from the sierra driver to the option driver. The reason it was moved is because the sierra driver is starting to support more and more sierra proprietary features, so it makes more sense to keep sierra only devices in there. Signed-off-by: Kevin Lloyd Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 5b0a4d66a11df34b632e48ce80ebe81da94bdb65 Author: Stephen Ware Date: Sun Feb 17 11:01:58 2008 -0800 USB: add new vernier product id to ldusb.c I have a new ldusb device to go into the device table. Jiri has merged the change for hiddev quirks already. From: Stephen Ware Signed-off-by: Greg Kroah-Hartman commit 41566bcf35a8b23ce4715dadb5acfd1098c1d3e4 Author: Jan Altenberg Date: Tue Feb 19 01:44:50 2008 +0100 USB: gadget: queue usb USB_CDC_GET_ENCAPSULATED_RESPONSE message commit 0cf4f2de0a0f4100795f38ef894d4910678c74f8 introduced a bug, which prevents sending an USB_CDC_GET_ENCAPSULATED_RESPONSE message. This breaks the RNDIS initialization (especially / only Windoze machines dislike this behavior...). Signed-off-by: Benedikt Spranger Signed-off-by: Jan Altenberg Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 7f4a9e8750bb904d94f37778821afd021e875c51 Author: Warren Turkal Date: Thu Feb 14 14:01:46 2008 -0800 USB: Add another Novatel U727 ID to the device table for usbserial Signed-off-by: Warren Turkal Signed-off-by: Greg Kroah-Hartman commit 9232951ada7ec2f2c1424e4c024dc8540ae97e91 Author: Konstantin Kletschke Date: Tue Feb 19 02:15:32 2008 -0800 USB: storage: Nikon D80 new FW still needs Fixup Add new BCD numbers for Nikon D80 Firmware revision v1.10 to the unusual_devs.h file. Signed-off-by: Konstantin Kletschke Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit a462549b6ad6d4de19a7702c13fbb954d9a10f29 Author: Alan Stern Date: Wed Feb 13 10:45:28 2008 -0500 USB: usb-storage: don't clear-halt when Get-Max-LUN stalls This patch (as1032) removes the Clear-Halt calls in usb_stor_Bulk_max_lun(). Evidently some devices (such as the Oracom MP3 player) really don't like to receive these requests when their bulk endpoints aren't halted. The only reason for adding them originally was to get an ancient ZIP-100 drive to work. But since this device has only a single LUN, we don't need to send it a Get-Max-LUN request at all. Adding an unusual_devs entry for the ZIP-100 with the SINGLE_LUN flag set will cause this step to be skipped. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit aa59e053da08336e7def83e83c86369cd9fdaf8b Author: Stefan Bader Date: Tue Feb 5 15:25:35 2008 -0500 USB: option: Added vendor id for Dell 5720 broadband modem this is a small patch to add support for a rebranded Novatel modem (see http://ubuntuforums.org/archive/index.php/t-608388.html for details). Signed-off-by: Stefan Bader Signed-off-by: Greg Kroah-Hartman commit 564d61d30effcc727f9519538143a6c6aeb92e46 Author: Dan Williams Date: Tue Feb 19 13:15:30 2008 -0500 USB: option: Add Kyocera KPC680 ids Signed-off-by: Dan Williams Signed-off-by: Greg Kroah-Hartman commit b68a42b1d98f66c70a536a540f73dba07ddd5d36 Author: Oliver Neukum Date: Mon Feb 4 16:34:11 2008 +0100 USB: quirks for known quirky audio devices RESET_RESUME entries for some sound devices that need it. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit e1a491429e7f9b6fb608d9f173e5807fba053d5b Author: David Brownell Date: Sat Feb 2 02:36:53 2008 -0800 USB: fix previous sparse fix which was incorrect The previous fix for a "sparse" warning in ehci_urb_dequeue() was incorrect. After rescheduling interrupt transfers it returned the URB's completion status, not status for the dequeue operation itself. This patch resolves that issue, cleans up the code in the reschedule path, and shrinks the object code by a dozen bytes. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 0cc5e2e7c3edd8b45775f50c74738d61b43ac5e8 Author: Oliver Neukum Date: Wed Jan 30 16:06:03 2008 +0100 USB: fix error handling in trancevibrator trancevibrator should not pretend success if it returns an error. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit efa66f14e2d1aaad8ad7e1664d768de74ffb665b Author: Adrian Bunk Date: Sat Feb 9 03:16:03 2008 -0800 USB: g_printer, fix empty if statement A bug every C programmer makes at some point in time... Signed-off-by: Adrian Bunk Signed-off-by: Craig W. Nadler Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 618b88670573020920a52e8754f4d5f216f74fdb Author: Peter Korsgaard Date: Mon Feb 11 13:16:26 2008 +0100 USB: ehci-fsl: mpc834x config symbol is PPC_MPC834x, not MPC834x The config symbol for mpc834x processors is CONFIG_PPC_MPC834x, not CONFIG_MPC834x. Signed-off-by: Peter Korsgaard Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 94409cc1e507b157f8442dad80ff5e560c3205e5 Author: Oliver Neukum Date: Mon Feb 11 15:22:29 2008 +0100 USB: fix usb open suspend race in cdc-acm this fixes a race between open and disconnect in the CDC ACM driver. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 59036e94732edc2fb957465008c68bbcfc6736fa Author: Andy Shevchenko Date: Mon Feb 4 23:57:49 2008 -0800 USB: usb: yet another Dell wireless CDMA/EVDO modem Add native support of the Dell wireless CDMA/EVDO modem. # modprobe usbserial vendor=0x413c product=0x8129 Following seesion lines describe modem itself at OK ati3 Manufacturer: NOVATEL WIRELESS INCORPORATED Model: EXPEDITE ET620 Revision: M6500C-BBIRD_TLS_MINI_DELL-Q40306.166 [Aug 25 2006 14:00:00] ESN: 0x5B39071D +GCAP: +CIS707-A, CIS-856, +MS, +ES, +DS, +FCLASS OK Signed-off-by: Andy Shevchenko Cc: Matthias Urlichs Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 1902869019918411c148c18cc3a22aade569ac9a Author: Oliver Neukum Date: Tue Feb 12 19:08:30 2008 +0100 USB: fix pm counter leak in usblp if you fail in open() you must decrement the pm counter again. Signed-off-by: Oliver Neukum Cc: stable Signed-off-by: Pete Zaitcev commit 2129c4e1b4469e1f9711a54e97e8ddf8b26bb62d Author: Oliver Neukum Date: Fri Feb 1 13:58:52 2008 +0100 USB: Sane memory allocation in option driver The option driver - violates DMA coherency rules - allocates ~16500 bytes in one chunk This patch splits out the buffers and uses __get_free_page() to avoid higher order allocations. Signed-off-by: Oliver Neukum Acked-By: Matthias Urlichs Signed-off-by: Greg Kroah-Hartman commit bbc5d276ec1e24d48f794dae1c4bdfc1512f65d5 Author: Roel Kluin <12o3l@tiscali.nl> Date: Thu Feb 7 01:06:07 2008 +0100 USB: ftdi_sio.c add missing '|' add missing '|' Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Greg Kroah-Hartman commit 79df4c60c5b24ebc90f591d5991b22782813fcfe Author: Kenji Kaneshige Date: Thu Feb 21 15:24:16 2008 +0900 PCI: Fix wrong reference counter check for proc_dir_entry Fix wrong counter check for proc_dir_entry in pci_proc_detach_device(). The pci_proc_detach_device() returns with -EBUSY before calling remove_proc_entry() if the reference counter of proc_dir_entry is not 0. But this check is wrong and pci_proc_detach_device() always fails because the reference counter of proc_dir_entry is initialized with 1 at creating time and decremented in remove_proc_entry(). This bug cause strange behaviour as followings: - Accessing /proc/bus/pci/XXXX/YY file after hot-removing pci adapter card causes kernel panic. - Repeating hot-add/hot-remove of pci adapter card increases files with the same name under /proc/bus/pci/XXXX/ directory. For example: # pwd /proc/bus/pci/0002:09 # ls 01.0 # for i in `seq 5` > do > echo 0 > /sys/bus/pci/slots/0009_0032/power > echo 1 > /sys/bus/pci/slots/0009_0032/power > done # ls 01.0 01.0 01.0 01.0 01.0 01.0 The pci_proc_detach_device() should check if the reference counter is not larger than 1 instead. Signed-off-by: Kenji Kaneshige Signed-off-by: Greg Kroah-Hartman commit 13d36c248379ca09c269f5dbed6dce1e3a326a48 Author: Andrew Morton Date: Mon Feb 4 23:50:12 2008 -0800 PCI: fix up setup-bus.c #ifdef Use upper_32_bits(): no code changes, one less ifdef. Acked-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 6e4be1ff2e767fc3a34c5e8d67c3cba107c02099 Author: Yinghai Lu Date: Tue Feb 5 00:01:48 2008 -0800 PCI: don't load acpi_php when acpi is disabled When acpi=off and pci=nomsi, don't load acpiphp. Fixes this: pci_hotplug: PCI Hot Plug PCI Core version: 0.5 acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5 ACPI Exception (utmutex-0263): AE_BAD_PARAMETER, Thread FFFF81103CC54000 could not acquire Mutex [1] [20070126] [akpm@linux-foundation.org: export acpi_pci_disabled for acpiphp.ko] [akpm@linux-foundation.org: fix return statement] Signed-off-by: Yinghai Lu Cc: Kristen Carlson Accardi Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 9dc625e72309e1c919ea3e7f51d0ffca96123787 Author: Peer Chen Date: Mon Feb 4 23:50:13 2008 -0800 PCI: quirks: set 'En' bit of MSI Mapping for devices onHT-based nvidia platform According to HT spec, to get message interrupt from devices mapped to HT interrupt message, the 'En' bit of MSI Mapping capability need to be set. The patch do this setting in quirks code for the devices on HT-based nvidia platform. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Andy Currid Signed-off-by: Peer Chen Cc: "Eric W. Biederman" Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 8b3c7622057266d77222a7b54ea7c529270b8901 Author: Randy Dunlap Date: Sun Feb 3 15:06:25 2008 -0800 PCI: kernel-doc: fix pci-acpi warning Fix PCI kernel-doc warning: Warning(linux-2.6.24-git12//drivers/pci/pci-acpi.c:166): No description found for parameter 'hid' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit cc09c5bcf130f7c6e17b824a06cbc9f2c1fbb060 Author: Jason Gaston Date: Mon Jan 28 17:24:37 2008 -0800 PCI: irq: patch for Intel ICH10 DeviceID's This patch adds the Intel ICH10 LPC Controller DeviceID's. Signed-off-by: Jason Gaston Signed-off-by: Greg Kroah-Hartman commit eb87f65f78bb4fc6dc532e6d7082d90ba0890cb8 Author: Jason Gaston Date: Mon Jan 28 17:20:36 2008 -0800 PCI: pci_ids: patch for Intel ICH10 DeviceID's This patch adds the Intel ICH10 LPC and SMBus Controller DeviceID's. Signed-off-by: Jason Gaston Cc: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit 05a7d22b9f02e7fe8fb5ff972b46743948139b3c Author: Crane Cai Date: Sat Feb 2 13:56:56 2008 +0800 PCI: AMD SATA IDE mode quirk PCI: modify SATA IDE mode quirk When initialize and resume, SB600/700/800 need to set SATA mode correctly. Signed-off-by: Crane Cai Acked-by: Jeff Garzik Signed-off-by: Greg Kroah-Hartman commit f96ee7a41ed93ce5962961eb07c2afe8cddb6603 Author: Andrew Morton Date: Mon Feb 4 23:35:48 2008 -0800 PCI: drivers/pcmcia/i82092.c: fix up after pci_bus_region changes drivers/pcmcia/i82092.c: In function 'i82092aa_set_mem_map': drivers/pcmcia/i82092.c:650: warning: format '%lx' expects type 'long unsigned int', but argument 3 has type 'resource_size_t' drivers/pcmcia/i82092.c:650: warning: format '%lx' expects type 'long unsigned int', but argument 4 has type 'resource_size_t' Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 498fbb5d411fc8f6207c210796c9308bf54a51a5 Author: Gary Hade Date: Wed Feb 6 15:43:05 2008 -0800 PCI: hotplug: acpiphp_ibm: Remove get device information drivers/pci/hotplug/acpiphp_ibm.c:ibm_find_acpi_device() is not large enough to accommodate data returned by the _CID method executed from acpi_get_object_info(). This patch eliminates the problem by letting ACPI code (instead of driver code) determine and obtain a correctly sized buffer. Signed-off-by: Gary Hade Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 120fc3d77acfd91f3521737a440d42839c475982 Author: Kay Sievers Date: Thu Feb 21 00:33:20 2008 +0100 modules: do not try to add sysfs attributes if !CONFIG_SYSFS Thanks to Alexey for the testing and the fix of the fix. Cc: Alexey Dobriyan Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 58dc3232ff77158460f79e3c1932b81e8a2a0194 Author: Stephen Rothwell Date: Wed Feb 20 11:27:04 2008 +1100 POWERPC: fix typo in pseries/power.c Introduced by commit 79393fc46ede43451a500a132e5de9856f5a4c83 ("kobject: convert pseries/power.c to kobj_attr interface"). sys_create_file takes a "struct attrbute *" not a "struct kobj_addribute *". arch/powerpc/platforms/pseries/power.c: In function 'apo_pm_init': arch/powerpc/platforms/pseries/power.c:78: warning: passing argument 2 of 'sysfs_create_file' from incompatible pointer type Signed-off-by: Stephen Rothwell Cc: Paul Mackerras Signed-off-by: Greg Kroah-Hartman commit ec5a42465abc585a7f8117be5eecc361490e48ce Author: Rafael J. Wysocki Date: Wed Feb 20 02:01:41 2008 +0100 PM: Remove unbalanced mutex_unlock() from dpm_resume() Remove an unnecessary unlocking of dpm_list_mtx in the error path in drivers/base/power/main.c:dpm_suspend() . Signed-off-by: Rafael J. Wysocki Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 4f808bcdf8dcf1f1ecd028f6d5c5347db4cddc54 Author: Brandon Philips Date: Tue Feb 19 01:55:05 2008 -0800 UIO: fix Greg's stupid changes This fixes two bugs with UIO that cropped up recently in -rc1 1) WARNING: at fs/sysfs/file.c:334 sysfs_open_file when trying to open a map addr/size file - complaining about missing sysfs_ops for ktype 2) Permission denied when reading uio/uio0/maps/map0/{addr,size} when files are mode S_IRUGO Also fix a typo: attr_attribute -> addr_attribute Signed-off-by: Brandon Philips Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit 46cdf871d9970b9252469531f9efd4a17243bb0b Author: Stefan Richter Date: Fri Feb 8 23:26:02 2008 +0100 stable_kernel_rules: fix must already be in mainline stable_kernel_rules: fix must already be in mainline Signed-off-by: Stefan Richter Signed-off-by: Greg Kroah-Hartman commit 2952755ce364b81f904b49397f6b0004dead2c9f Author: Bartlomiej Zolnierkiewicz Date: Wed Feb 13 23:20:36 2008 +0100 ide: mark "ide=reverse" option as obsolete - it is valid only if "Probe IDE PCI devices in the PCI bus order (DEPRECATED)" config option is used - Greg needs to remove pci_get_device_reverse() for PCI core changes Cc: Alan Cox Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 0763446429e46fd973f507f79900b95eb8aae2e4 Author: Cornelia Huck Date: Mon Feb 18 17:04:25 2008 +0100 Driver core: Fix error handling in bus_add_driver(). - If the allocation of ->priv fails, the reference on the bus must be dropped. - If adding the kobject fails, kobject_put must be called to clean things up. Signed-off-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 7199677d2e919edc75d1fb8856c98cd0c1bbcfc5 Author: Randy Dunlap Date: Mon Feb 18 13:09:03 2008 -0800 driver-core: fix kernel-doc function parameters Fix drivers/base/ missing kernel-doc parameters: Warning(linux-2.6.24-git12//drivers/base/driver.c:133): No description found for parameter 'drv' Warning(linux-2.6.24-git12//drivers/base/driver.c:133): No description found for parameter 'kobj' Warning(linux-2.6.24-git12//drivers/base/driver.c:133): No description found for parameter 'fmt' Warning(linux-2.6.24-git12//drivers/base/power/main.c:530): No description found for parameter 'state' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 7ab47050453c10da13940114dea9c7f1c6ad323f Author: Balaji Rao Date: Sat Feb 9 00:52:40 2008 +0530 cpufreq: fix kobject reference count handling The cpufreq core should not take an extra kobject reference count for no reason, and then refuse to release it. This has been reported as keeping machines from properly powering down all the way. Signed-off-by: Balaji Rao Cc: Dave Jones Cc: Yi Yang Cc: Alan Stern Cc: Frans Pop Cc: Yinghai Lu Cc: Ingo Molnar Signed-off-by: Greg Kroah-Hartman commit b6c24de77cbe9afe4962f0738e6444e709e83c81 Author: Christoph Lameter Date: Mon Feb 4 23:35:48 2008 -0800 slabinfo: fall back from /sys/kernel/slab to /sys/slab I keep running upstream and mm kernels and the location of the slab directory is different since upstream still uses /sys/slab. This patch makes slabinfo check /sys/slab if /sys/kernel/slab is not there. Makes slabinfo work on any kernel. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 82bd3f17f4600fd374524c015826c175819f15ea Author: Tsugikazu Shibata Date: Thu Feb 14 14:21:34 2008 +0900 Fix broken utf-8 encodings in ja_JP translation of stable_kernel_rules.txt Fix the UTF-8 broken encodings in the ja_JP version of stable_kernel_rules.txt From: Tsugikazu Shibata Signed-off-by: Greg Kroah-Hartman commit d7c2feaf88df39124e278b9e775b245b057ac99e Author: David Teigland Date: Thu Feb 21 15:27:09 2008 -0600 dlm: update git tree in MAINTAINERS Signed-off-by: David Teigland commit 599e0f584de8ff16b1428e2e16118757619f1d1b Author: David Teigland Date: Thu Feb 21 13:39:57 2008 -0600 dlm: fix rcom_names message to self The recent patch to validate data lengths in rcom_names messages failed to account for fake messages a node directs to itself before ever sending it. In this case we need to fill in the message length in the header for the validation code to use. Signed-off-by: David Teigland commit 717a54ad6cb4b1782a26ae0eaebc8bd49c56c66e Author: Leonid Evdokimov Date: Thu Feb 21 13:46:59 2008 +0100 [ARM] 4835/1: Fix stale comment in struct machine_desc description This patch updates stale comment that pointed to nonexistent file. Signed-off-by: Leonid Evdokimov Signed-off-by: Russell King 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 3b5fee5952ff7eb6ff7a64247a01040b8b331b74 Author: Holger Macht Date: Thu Feb 14 13:40:34 2008 +0100 ACPI: Do not pass NULL to acpi_get_handle() when looking for _EJD When trying to get the acpi_handle from an acpi_buffer, pass ACPI_ROOT_OBJECT instead of NULL to acpi_get_handle(). This fixes the detection of dock dependent bays. Signed-off-by: Holger Macht Tested-by: Thomas Renninger Signed-off-by: Len Brown commit a8b87f609d1332216e683b473d33342c86f21ac3 Merge: 9c03385... 61b36fc... Author: Paul Mackerras Date: Thu Feb 21 21:49:13 2008 +1100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jk/spufs into merge commit 9c0338522896c54b79ad7918638175bf58d7c551 Author: Olof Johansson Date: Thu Feb 21 13:34:43 2008 +1100 [POWERPC] pasemi: Remove warning in mpic_pasemi_msi.c Remove warning: arch/powerpc/sysdev/mpic_pasemi_msi.c: In function 'pasemi_msi_setup_msi_irqs': arch/powerpc/sysdev/mpic_pasemi_msi.c:135: warning: 'addr' is used uninitialized in this function Turns out addr wasn't even used, it's a leftover from the u3msi code. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit be2553ffb5773e9a689c94bb85326c5b5f00577f Author: Olof Johansson Date: Thu Feb 21 13:25:54 2008 +1100 [POWERPC] pasemi: Register i2c devices at boot Setup i2c_board_info based on device tree contents. This has to be a device_initcall since we need PCI to be probed by the time we run it, but before the actual driver is initialized. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit d399d130c82a1e1751b7770944f487fbd8b6272a Author: Adrian Bunk Date: Wed Feb 20 00:59:03 2008 +0200 sony-laptop.c: fix off-by-one This patch fixes an off-by-one spotted by the Coverity checker. Signed-off-by: Adrian Bunk Acked-by: Mattia Dongili Signed-off-by: Len Brown commit b5678a34762edf2c8de1c60c125fea42a8c17e63 Author: Sam Ravnborg Date: Sun Feb 17 13:23:03 2008 +0100 ACPI: fix section mismatch in acpi_pci_root_add Fix following warning: WARNING: vmlinux.o(.text+0x550e85): Section mismatch in reference from the function acpi_pci_root_add() to the function .devinit.text:pci_acpi_scan_root() acpi_pci_root_add uses a __devinit annotated function and it looks like annotating it __devinit too is the correct fix. Signed-off-by: Sam Ravnborg Signed-off-by: Len Brown commit 7560e385651c60e5ffdf07cb94fa7d1658ab0b7a Author: Sam Ravnborg Date: Sun Feb 17 13:22:54 2008 +0100 acer-wmi: fix section mismatch warnings Fix following warnings: WARNING: vmlinux.o(.text+0x672615): Section mismatch in reference from the function acer_platform_remove() to the function .exit.text:acer_backlight_exit() WARNING: vmlinux.o(.devinit.text+0x1e859): Section mismatch in reference from the function acer_platform_probe() to the function .init.text:acer_led_init() WARNING: vmlinux.o(.devinit.text+0x1e878): Section mismatch in reference from the function acer_platform_probe() to the function .init.text:acer_backlight_init() Remove __exit annotation from acer_backlight_exit(). We cannot reference a __exit annotated function from non __exit functions. acer_led_init() and acer_backlight_init() where both annotated __init but used from a __devinit function. This would result in an oops should gcc drop their inlining and the module are hot plugged. Fix by annotating acer_led_init() and acer_backlight_init() __devinit. Signed-off-by: Sam Ravnborg Cc: Carlos Corbacho Signed-off-by: Len Brown commit b95e9e8d94484c2823be67416f25e9756db149dc Author: Sam Ravnborg Date: Sun Feb 17 13:22:48 2008 +0100 ACPI: fix section mismatch in processor_core.c:acpi_processor_hotplug_notify Fix following warning: WARNING: vmlinux.o(.text+0x55586c): Section mismatch in reference from the function acpi_processor_hotplug_notify() to the function .cpuinit.text:acpi_processor_start() acpi_processor_hotplug_notify() may safely reference __cpuinit stuff as it ids defined inside an ACPI_HOTPLUG_CPU block. So annotate it __ref to silence the warning. Signed-off-by: Sam Ravnborg Signed-off-by: Len Brown commit 1f1519ef597ae4628dbd47244f0f68d700231523 Merge: 208c70a... f28bb45... 1186974... e85ff4b... 19e20c9... 69f6b8d... 6c231bd... 6133116... Author: Len Brown Date: Thu Feb 21 02:41:58 2008 -0500 Merge branches 'release', 'bugzilla-9916', 'bugzilla-9982', 'bugzilla-9989', 'misc', 'suspend', 'thermal', 'thinkpad' and 'tsc' into release commit 19e20c913bae2dd458b9fc42afab0c53f16562d1 Author: Adrian Bunk Date: Sun Feb 3 22:55:18 2008 +0100 PM: Make suspend_device() static suspend_device() can become static. Signed-off-by: Adrian Bunk Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Len Brown commit c6868ea00bdebe5762fa59e54b74b4cd4e3b4e6e Author: Rafael J. Wysocki Date: Sun Feb 3 22:53:31 2008 +0100 PCI ACPI: Fix comment describing acpi_pci_choose_state The last line of the comment preceding the definition of acpi_pci_choose_state() is incorrect. Remove it. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Len Brown commit 8a235efad548abd2ab5ebea45a9ffa750c814375 Author: Rafael J. Wysocki Date: Wed Feb 20 01:47:44 2008 +0100 Hibernation: Handle DEBUG_PAGEALLOC on x86 Make hibernation work with CONFIG_DEBUG_PAGEALLOC set on x86, by checking if the pages to be copied are marked as present in the kernel mapping and temporarily marking them as present if that's not the case. No functional modifications are introduced if CONFIG_DEBUG_PAGEALLOC is unset. Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 1186974f3ffe3c1796e5efce7afffefcfda9a6f0 Author: Ming Lin Date: Thu Feb 21 02:01:30 2008 -0500 ACPI: fix build warning CC drivers/acpi/executer/exregion.o drivers/acpi/executer/exregion.c: In function ‘acpi_ex_pci_config_space_handler’: drivers/acpi/executer/exregion.c:369: attention : passing argument 3 of ‘acpi_os_read_pci_configuration’ from incompatible pointer type exposed by 10270d4838bdc493781f5a1cf2e90e9c34c9142f http://bugzilla.kernel.org/show_bug.cgi?id=9989 Signed-off-by: Ming Lin Signed-off-by: Len Brown commit 89c94f2f70d093f59b55d3ea8042d13889169346 Author: FUJITA Tomonori Date: Wed Feb 20 22:56:42 2008 -0800 [SPARC64]: make IOMMU code respect the segment boundary limits Signed-off-by: FUJITA Tomonori Signed-off-by: David S. Miller commit 0f7f22d9a46261e310b32c61eb11977a7cc83f7b Author: Sam Ravnborg Date: Wed Feb 20 22:22:16 2008 -0800 [SPARC64]: Fix cpu trampoline et al. mismatch warnings. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit e80af3a8dbbbf431b2070cc760699f01c5a6ac69 Author: David Howells Date: Wed Feb 20 18:11:44 2008 +0000 FRV: Change the timerfd syscalls to be the same as i386 Change the FRV timerfd syscalls to be the same as i386 timerfd syscalls. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 2d0e2baa25966cff9bcd0a6e8204e676c2bc54e1 Author: David Howells Date: Wed Feb 20 18:11:39 2008 +0000 FRV: Drop the .data.idt section for FRV There is no .data.idt section for FRV, so drop it from the linker script. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 7be5cb14611945044306ecb7444678c43df21135 Merge: 1803f33... 73fd8b6... Author: Linus Torvalds Date: Wed Feb 20 19:56:23 2008 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: libata: fix kernel-doc parameter warning sata_mv: remove iounmap in mv_platform_remove and use devm_iomap ata: fix sparse warning in libata.h libata: implement libata.force module parameter sata_mv: use hpriv->base instead of the host->iomap sata_mv: Define module alias for platform device ata: fix sparse warnings in pata_legacy.c commit 1803f3389b7ac9ed33ea561b3b94e22e2864a95d Author: Linus Torvalds Date: Wed Feb 20 19:55:09 2008 -0800 Remove empty file remnants that were left in the tree by mistake Noted by various people (Sam, Jeff, Roland..) Commit 58b7983d15a422d9616bdc4e245d5c31dfaefbe2 intended to remove the xfs "Makefile-linux-2.6" file, but it was mistakenly still left in the tree as a empty file, and would cause git to correctly complain about a tracked file being removed after a "make distclean" (which removes empty files as garbage). And the asm-x86/desc_64.h file was supposed to be removed by commit c81c6ca45a69478c7877b729af1942d2b80ef582, but instead stayed around containing just a single newline. Get rid of them both properly. Signed-off-by: Linus Torvalds commit fc71acc846c577473ada72a46c5ea9c935eca086 Author: Michael Buesch Date: Sat Feb 16 18:13:36 2008 +0100 ssb: Fix support for PCI devices behind a SSB->PCI bridge We must pin all resources and make sure the PCI subsystem won't relocate us, as the addresses are hardwired into hardware. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 5078ed50712aa3df1099540b524d01075aee653f Author: Johannes Berg Date: Wed Feb 20 12:09:25 2008 +0100 zd1211rw: fix sparse warnings This silences sparse when run on zd1211rw. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1955fd0b533d05828bff7ed290213d2a0fc0f04f Author: Johannes Berg Date: Wed Feb 20 12:05:59 2008 +0100 rtl818x: fix sparse warnings This silences a few sparse warnings. There are two more where I can't follow the code. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7cb4461520f307a6e3fb2bb32cb8daee45aa1fae Author: Michael Buesch Date: Tue Feb 19 17:46:48 2008 +0100 ssb: Fix pcicore cardbus mode This fixes the pcicore driver to not die a horrible crash death when inserting a cardbus card. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 53521d8c90d366191b6c134f88a8ebe83de60614 Author: Michael Buesch Date: Tue Feb 19 16:22:50 2008 +0100 ssb: Make the GPIO API reentrancy safe This fixes the GPIO API to be reentrancy safe. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit c2bcbe65fc88d61f9a806367ff6eab76c9eabb3a Author: Michael Buesch Date: Tue Feb 19 14:53:35 2008 +0100 ssb: Fix the GPIO API This fixes the GPIO API to be usable. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 42bfad4f71637c4eb4791aa8062063c4a8526522 Author: Michael Buesch Date: Tue Feb 19 12:41:30 2008 +0100 ssb: Fix watchdog access for devices without a chipcommon This fixes the SSB watchdog access for devices without a chipcommon. These devices have the watchdog on the extif. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 58ff70d4feae29cbb7ace410fa6585ef3afb44b6 Author: Michael Buesch Date: Mon Feb 18 21:44:39 2008 +0100 ssb: Fix serial console on new bcm47xx devices This fixes the baud settings for new devices like the Linksys WRT350n. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 04f93a87a2db84e7214a4ec56fccd2289e973ce5 Author: David Miller Date: Fri Feb 15 16:08:59 2008 -0800 ath5k: Fix build warnings on some 64-bit platforms. 'u64' is not necessarily 'unsigned long long' drivers/net/wireless/ath5k/base.c: In function 'ath5k_beacon_update_timers': drivers/net/wireless/ath5k/base.c:2130: warning: format '%llx' expects type 'long long unsigned int', but argument 4 has type 'u64' drivers/net/wireless/ath5k/base.c:2130: warning: format '%llx' expects type 'long long unsigned int', but argument 5 has type 'u64' drivers/net/wireless/ath5k/base.c: In function 'ath5k_intr': drivers/net/wireless/ath5k/base.c:2391: warning: format '%llx' expects type 'long long unsigned int', but argument 6 has type 'u64' Signed-off-by: David S. Miller Signed-off-by: John W. Linville commit b988763857426020e50a19434c8434a1e08e70eb Author: Jiri Slaby Date: Fri Feb 15 21:58:52 2008 +0100 WDEV, ath5k, don't return int from bool function sparse sees int -> bool cast as an error: hw.c:3754:10: warning: cast truncates bits from constant value (ffffffea becomes 0) Fix it by converting the rettype to int and check appropriately. Signed-off-by: Jiri Slaby Cc: Nick Kossifidis Cc: Luis R. Rodriguez Signed-off-by: John W. Linville commit 65872e6b434ca463123f7d03b530f143aabc6333 Author: Jiri Slaby Date: Fri Feb 15 21:58:51 2008 +0100 WDEV: ath5k, fix lock imbalance Omitted lock causes sparse warning drivers/net/wireless/ath5k/base.c:1682:1: warning: context imbalance in 'ath5k_tasklet_rx' - different lock contexts for basic block Add the lock to the guilty fail path. Signed-off-by: Jiri Slaby Acked-by: Nick Kossifidis Cc: Luis R. Rodriguez Signed-off-by: John W. Linville commit 387e100ac24a6c8f2b6f4ce572098447d2893008 Author: John W. Linville Date: Wed Feb 20 15:06:02 2008 -0500 p54usb: add USB ID for Linksys WUSB54G ver 2 Based on report from Cavan Carroll : http://bugzilla.kernel.org/show_bug.cgi?id=9863 Cc: Cavan Carroll Signed-off-by: John W. Linville commit 1a17582e64dcc690a7edcd7dcf6fe89f1aa0ef97 Author: Ivo Couckuyt Date: Wed Feb 20 14:58:00 2008 -0500 p54usb: add USB ID for Phillips CPWUA054 Retarget of an old patch against prism54usb in linux-wireless archive: http://marc.info/?l=linux-wireless&m=117449935810254&w=2 Cc: Ivo Couckuyt Signed-off-by: John W. Linville commit 90dc7d2796edf94a9eaa838321a9734c8513e717 Author: Harvey Harrison Date: Wed Feb 20 13:03:05 2008 -0800 nfs: fix sparse warnings fs/nfs/nfs4state.c:788:34: warning: Using plain integer as NULL pointer fs/nfs/delegation.c:52:34: warning: Using plain integer as NULL pointer fs/nfs/idmap.c:312:12: warning: Using plain integer as NULL pointer fs/nfs/callback_xdr.c:257:6: warning: Using plain integer as NULL pointer fs/nfs/callback_xdr.c:270:6: warning: Using plain integer as NULL pointer fs/nfs/callback_xdr.c:281:6: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: Trond Myklebust commit 1227a74e2e0217a4ca155d1677bdbf5f69e32bed Author: Jeff Layton Date: Tue Feb 19 12:51:35 2008 -0500 NFS: flush signals before taking down callback thread Now that the reference counting on the callback thread is working as expected, it uncovers another problem. Peter Staubach noticed while testing that patch on an older kernel that he would occasionally see this printk in rpc_register fire: "RPC: failed to contact portmap (errno -512). The NFSv4 callback thread is signaled by nfs_callback_down(), but never flushes that signal. All of the shutdown processing is done with that signal pending. This makes it fail the call to unregister the port with the portmapper. In actuality, this rpc_register call isn't necessary at all since the port isn't actually registered with the portmapper anymore. Regardless, there doesn't seem to be any reason to leave the signal pending while the thread is being shut down and flushing it should generally silence that printk. Signed-off-by: Jeff Layton Signed-off-by: Trond Myklebust commit 73fd8b6d310196ae878767200786503fcff57bd5 Author: Randy Dunlap Date: Tue Feb 19 13:43:21 2008 -0800 libata: fix kernel-doc parameter warning Fix libata kernel-doc parameter: Warning(linux-2.6.25-rc2-git3//drivers/ata/libata-scsi.c:845): No description found for parameter 'rq' Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik commit f1cb0ea12fee23018ad1865bf789cbd463f13747 Author: Saeed Bishara Date: Mon Feb 18 07:42:28 2008 -1100 sata_mv: remove iounmap in mv_platform_remove and use devm_iomap this will fix crash bug when doing rmmod to the driver, this is because the port_stop function get called later and it could access the device's registers. Signed-off-by: Saeed Bishara Acked-by: Mark Lord Acked-by: Tejun Heo Signed-off-by: Jeff Garzik commit 5d44b414daa8c1d8551aed6130d86d54175db43f Author: Harvey Harrison Date: Fri Feb 15 13:41:32 2008 -0800 ata: fix sparse warning in libata.h Avoids lots of these, also is more readable. include/linux/libata.h:1210:13: warning: potentially expensive pointer subtraction Change the subtraction to addition on the other side of the comparison. Thanks to Christer Weinigel for the suggestion. Signed-off-by: Harvey Harrison Acked-by: Tejun Heo Signed-off-by: Jeff Garzik commit 332673257056d8be8a69d759eda90a799af5472d Author: Tejun Heo Date: Wed Feb 13 09:15:09 2008 +0900 libata: implement libata.force module parameter This patch implements libata.force module parameter which can selectively override ATA port, link and device configurations including cable type, SATA PHY SPD limit, transfer mode and NCQ. For example, you can say "use 1.5Gbps for all fan-out ports attached to the second port but allow 3.0Gbps for the PMP device itself, oh, the device attached to the third fan-out port chokes on NCQ and shouldn't go over UDMA4" by the following. libata.force=2:1.5g,2.15:3.0g,2.03:noncq,udma4 Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 0fca0d6f2ce3336022a22bc7fc2e009e599e63a4 Author: Saeed Bishara Date: Wed Feb 13 10:09:09 2008 -1100 sata_mv: use hpriv->base instead of the host->iomap this fixes crash bug as the iomap table is not valid for integrated controllers. Signed-off-by: Saeed Bishara Acked-by: Mark Lord Signed-off-by: Jeff Garzik commit 2e7e1214defe7783c8187962bacdd0a87a7dbeee Author: Martin Michlmayr Date: Sat Feb 16 18:15:27 2008 +0100 sata_mv: Define module alias for platform device The sata_mv driver can be loaded as a platform device, as is done by various Orion (ARM) based devices. The driver needs to define a module alias for the platform driver so udev will load it automatically. Tested with Debian on a QNAP TS-209. Signed-off-by: Martin Michlmayr Acked-by: Mark Lord Signed-off-by: Jeff Garzik commit cb616dd5bb6ddadf3e0607696b18055065ce4c3d Author: Harvey Harrison Date: Thu Feb 14 09:36:32 2008 -0800 ata: fix sparse warnings in pata_legacy.c Use ld_qdi and ld_winbond to avoid shadowing static int variables qdi and winbond. The ld_ prefix refers to legacy_data. drivers/ata/pata_legacy.c:777:21: warning: symbol 'qdi' shadows an earlier one drivers/ata/pata_legacy.c:128:12: originally declared here drivers/ata/pata_legacy.c:811:21: warning: symbol 'qdi' shadows an earlier one drivers/ata/pata_legacy.c:128:12: originally declared here drivers/ata/pata_legacy.c:848:21: warning: symbol 'qdi' shadows an earlier one drivers/ata/pata_legacy.c:128:12: originally declared here drivers/ata/pata_legacy.c:882:21: warning: symbol 'qdi' shadows an earlier one drivers/ata/pata_legacy.c:128:12: originally declared here drivers/ata/pata_legacy.c:1040:21: warning: symbol 'winbond' shadows an earlier one drivers/ata/pata_legacy.c:129:12: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Jeff Garzik commit da12f7356da1dfb97f1c6c418f828b7ce442fef9 Author: Denis V. Lunev Date: Wed Feb 20 00:26:16 2008 -0800 [NETNS]: Namespace leak in pneigh_lookup. release_net is missed on the error path in pneigh_lookup. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 5f31886ff03ef68dc078c585fa3a2af9a011a8fa Author: Pavel Emelyanov Date: Wed Feb 20 00:23:01 2008 -0800 [SCTP]: Pick up an orphaned sctp_sockets_allocated counter. This counter is currently write-only. Drawing an analogy with the similar tcp counter, I think that this one should be pointed by the sockets_allocated members of sctp_prot and sctpv6_prot. Signed-off-by: Pavel Emelyanov Acked-by: Vlad Yasevich Signed-off-by: David S. Miller commit c15853f2c1c9baaa27bbc494cd183be96f6d9bb9 Author: Daniel Lezcano Date: Wed Feb 20 00:21:47 2008 -0800 veth: fix dev refcount race When deleting the veth driver, veth_close calls netif_carrier_off for the two extremities of the network device. netif_carrier_off on the peer device will fire an event and hold a reference on the peer device. Just after, the peer is unregistered taking the rtnl_lock while the linkwatch_event is scheduled. If __linkwatch_run_queue does not occurs before the unregistering, unregister_netdevice will wait for the dev refcount to reach zero holding the rtnl_lock and linkwatch_event will wait for the rtnl_lock and hold the dev refcount. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit fa907895b7b776208a1406efe5ba7ffe0f49f507 Author: Matheos Worku Date: Wed Feb 20 00:18:09 2008 -0800 [NIU]: More BMAC alt MAC address fixes. From: Matheos Worku 1) niu_enable_alt_mac() needs to be adjusted so that the mask is computed properly for the BMAC case. 2) BMAC has 6 alt MAC addresses available, not 7. Signed-off-by: David S. Miller commit b1422401f2491ecb7579c8d241e1f924b35e6b67 Author: David S. Miller Date: Tue Feb 19 21:25:50 2008 -0800 [SPARC64]: More sparse warning fixes in process.c arch/sparc64/kernel/process.c:504:17: warning: symbol 'sparc_do_fork' was not declared. Should it be static? arch/sparc64/kernel/process.c:655:5: warning: symbol 'dump_fpu' was not declared. Should it be static? arch/sparc64/kernel/process.c:708:16: warning: symbol 'sparc_execve' was not declared. Should it be static? Signed-off-by: David S. Miller commit 6ca94a13392363d75126029ca7d936825bb16f4e Author: David S. Miller Date: Tue Feb 19 21:18:51 2008 -0800 [SPARC64]: Fix sparse warning wrt. fault_in_user_windows. arch/sparc64/kernel/process.c:467:6: warning: symbol 'fault_in_user_windows' was not declared. Should it be static? Signed-off-by: David S. Miller commit 02947ecb0de7a011215568263fd48f3d5b0f8573 Author: David S. Miller Date: Tue Feb 19 21:18:08 2008 -0800 [SPARC64]: Kill show_regs32(). Unused, noticed via sparse. Signed-off-by: David S. Miller commit 3ac1da338bea2f50c24f3c0cc54881e2b432e379 Author: David S. Miller Date: Tue Feb 19 20:48:58 2008 -0800 [SPARC64]: Fix sparse warnings wrt. __show_regs(). arch/sparc64/kernel/process.c:219:6: warning: symbol '__show_regs' was not declared. Should it be static? Signed-off-by: David S. Miller commit 5bbdb48d4c90f860861036978618ee1c7cec9d38 Author: David S. Miller Date: Tue Feb 19 20:42:11 2008 -0800 [SPARC64]: Kill show_stackframe{,32}(). Noticed via sparse: arch/sparc64/kernel/process.c:215:6: warning: symbol 'show_stackframe' was not declared. Should it be static? arch/sparc64/kernel/process.c:243:6: warning: symbol 'show_stackframe32' was not declared. Should it be static? It is totally unused. Signed-off-by: David S. Miller commit c3c25240312d92a088a9981b620e876e960313f8 Author: David S. Miller Date: Tue Feb 19 20:39:18 2008 -0800 [SPARC64]: Fix sparse warnings wrt. machine_alt_power_off(). arch/sparc64/kernel/process.c:123:6: warning: symbol 'machine_alt_power_off' was not declared. Should it be static? Signed-off-by: David S. Miller commit 61b36fc1f7d511132b1dd1422c29c7a8f26d77db Author: Andre Detsch Date: Tue Feb 19 10:06:15 2008 -0300 [POWERPC] cell: fix spurious false return from spu_trap_data_{map,seg} At present, the __spufs_trap_data_map and __spu_trap_data_seq functions exit if spu->flags has the SPU_CONTEXT_SWITCH_ACTIVE set. This was resulting in suprious returns from these functions, as they may be legitimately called when we have this bit set. We only use it in these two sanity checks, so this change removes the flag completely. This fixes hangs in the page-fault path of SPE apps. Signed-off-by: Andre Detsch Signed-off-by: Jeremy Kerr commit 3d5d27c40fb38a51eae96a55f51b5a306ed3668d Author: Stephen Rothwell Date: Wed Feb 20 11:27:04 2008 +1100 [POWERPC] Fix warning in pseries/power.c Introduced by commit 79393fc46ede43451a500a132e5de9856f5a4c83 ("kobject: convert pseries/power.c to kobj_attr interface"). sys_create_file takes a "struct attrbute *" not a "struct kobj_addribute *". arch/powerpc/platforms/pseries/power.c: In function 'apo_pm_init': arch/powerpc/platforms/pseries/power.c:78: warning: passing argument 2 of 'sysfs_create_file' from incompatible pointer type Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit bf2e70ac654060bcb2a06bbcb62701ba2451d79d Author: Josh Boyer Date: Tue Feb 19 13:52:48 2008 +1100 [POWERPC] Fix bootwrapper builds with older gcc versions GCC versions before 3.4 did not support the -mcpu=440 option. Use -mcpu=405 for the 4xx specific bootwrapper files, as that has been around for much longer. Signed-off-by: Josh Boyer Signed-off-by: Paul Mackerras commit abe768858a54e96f0b2c0585db397107ed1bd213 Author: Becky Bruce Date: Sat Feb 16 05:17:14 2008 +1100 [POWERPC] Fix dt_mem_next_cell() to read the full address dt_mem_next_cell() currently does of_read_ulong(). This does not allow for the case where #size-cells and/or #address-cells = 2 on a 32-bit system, as it will end up reading 32 bits instead of the expected 64. Change it to use of_read_number instead and always return a u64. Signed-off-by: Becky Bruce Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 66200ea2228da6aaf317d21e67b1157aae7168e7 Author: Ananth N Mavinakayanahalli Date: Fri Feb 15 21:59:17 2008 +1100 [POWERPC] Kill sparse warnings in kprobes Fix sparse warnings in powerpc kprobes: CHECK arch/powerpc/kernel/kprobes.c arch/powerpc/kernel/kprobes.c:277:6: warning: symbol 'kretprobe_trampoline_holder' was not declared. Should it be static? arch/powerpc/kernel/kprobes.c:287:15: warning: symbol 'trampoline_probe_handler' was not declared. Should it be static? arch/powerpc/kernel/kprobes.c:525:16: warning: symbol 'jprobe_return_end' was not declared. Should it be static? Fix along the same lines as http://lkml.org/lkml/2008/2/13/642 Signed-off-by: Ananth N Mavinakayanahalli Signed-off-by: Paul Mackerras commit 5d9c4a7de64d398604a978d267a6987f1f4025b7 Merge: 3a93dc4... 44a207f... Author: Linus Torvalds Date: Tue Feb 19 18:29:57 2008 -0800 Merge branch 'agp-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6 * 'agp-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6: agp: fix missing casts that produced a warning. agp: add support for 662/671 to agp driver fix historic ioremap() abuse in AGP agp/sis: Suspend support for SiS AGP agp/sis: Clear bit 2 from aperture size byte as well commit 3a93dc42f56c507d1034273d1e1d6f9b3ad94bb1 Merge: cf8c0d1... feac7af... Author: Linus Torvalds Date: Tue Feb 19 17:48:51 2008 -0800 Merge branch 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/sis: add pciid for SiS 662/671 chipset drm: add new rv380 pciid drm: add support for passing state into the suspend hooks. drm/i915: Fix hibernate save/restore of VGA attribute regs drm/i915 more registers for S3 (DSPCLK_GATE_D, CACHE_MODE_0, MI_ARB_STATE) drm/i915: restore pipeconf regs unconditionally drm/i915: save/restore interrupt state drm: convert drm from nopage to fault. i915: wrap chipset types requiring hw status set ioctl drm/radeon: add initial rs690 support to drm. commit 7b33ed22194d8f0dbcf682f5cdf5b9c2ef551e7c Author: Patrick McHardy Date: Tue Feb 19 17:20:33 2008 -0800 [NETFILTER]: Use __u32 in struct nf_inet_addr As reported by David Woodhouse , using u_int32_t in struct nf_inet_addr breaks the busybox build. Fix by using __u32. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 27ecb1ff0afa2260e6856c05efd6fedcd0cc76b9 Author: Jan Engelhardt Date: Tue Feb 19 17:20:06 2008 -0800 [NETFILTER]: xt_iprange: fix subtraction-based comparison The host address parts need to be converted to host-endian first before arithmetic makes any sense on them. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7d9904c2604ce091c97c225b5e2f92f3e7cc2e3a Author: Jan Engelhardt Date: Tue Feb 19 17:19:44 2008 -0800 [NETFILTER]: xt_hashlimit: remove unneeded struct member By allocating ->hinfo, we already have the needed indirection to cope with the per-cpu xtables struct match_entry. [Patrick: do this now before the revision 1 struct is used by userspace] Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 651acc9893f2cd036e9485ce782d0c4cffbc27f5 Author: Robert P. J. Day Date: Tue Feb 19 17:19:14 2008 -0800 [NETFILTER]: Make sure xt_policy.h is unifdef'ed. Since the header file xt_policy.h tests __KERNEL__, it should be unifdef'ed before exporting to userspace. Signed-off-by: Robert P. J. Day Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit eb1197bc0e20d3ceb450883dbd181460252f0306 Author: Joonwoo Park Date: Tue Feb 19 17:18:47 2008 -0800 [NETFILTER]: Fix incorrect use of skb_make_writable http://bugzilla.kernel.org/show_bug.cgi?id=9920 The function skb_make_writable returns true or false. Signed-off-by: Joonwoo Park Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f449b3b54d2263d65a11429050765c325c9809f4 Author: Pavel Emelyanov Date: Tue Feb 19 17:18:20 2008 -0800 [NETFILTER]: xt_u32: drop the actually unused variable from u32_match_it The int ret variable is used only to trigger the BUG_ON() after the skb_copy_bits() call, so check the call failure directly and drop the variable. Signed-off-by: Pavel Emelyanov Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e2b58a67b91dec07dfb40ca2056c64011ce8489d Author: Patrick McHardy Date: Tue Feb 19 17:17:52 2008 -0800 [NETFILTER]: {ip,ip6,nfnetlink}_queue: fix SKB_LINEAR_ASSERT when mangling packet data As reported by Tomas Simonaitis , inserting new data in skbs queued over {ip,ip6,nfnetlink}_queue triggers a SKB_LINEAR_ASSERT in skb_put(). Going back through the git history, it seems this bug is present since at least 2.6.12-rc2, probably even since the removal of skb_linearize() for netfilter. Linearize non-linear skbs through skb_copy_expand() when enlarging them. Tested by Thomas, fixes bugzilla #9933. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6133116849219f4e657ead39c7ac3922583f5a6e Author: Pavel Machek Date: Tue Feb 19 11:00:29 2008 +0100 ACPI: TSC breaks atkbd suspend TSC is used even on machines when CONFIG_X86_TSC is not set (X86_TSC means _require_ TSC), but it is not properly disabled when it is unusable, because ACPI code understood the config switch as "may use TSC". This actually fixes suspend problems on my x60. Signed-off-by: Pavel Machek Signed-off-by: Len Brown commit 44a207fc66c13c82f627178f9f858b8f3e76028f Author: Dave Airlie Date: Wed Feb 20 10:37:08 2008 +1000 agp: fix missing casts that produced a warning. Signed-off-by: Dave Airlie commit 94cb1503c799c0197e7ef5bad606fee5c84b99d8 Author: Adrian Bunk Date: Tue Feb 19 16:28:54 2008 -0800 ipv4/fib_hash.c: fix NULL dereference Unless I miss a guaranteed relation between between "f" and "new_fa->fa_info" this patch is required for fixing a NULL dereference introduced by commit a6501e080c318f8d4467679d17807f42b3a33cd5 ("[IPV4] FIB_HASH: Reduce memory needs and speedup lookups") and spotted by the Coverity checker. Eric Dumazet says: Hum, you are right, kmem_cache_free() doesnt allow a NULL object, like kfree() does. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 15e29b8b0542f28fc0feed2d60e0377b39a45c4f Author: Adrian Bunk Date: Tue Feb 19 16:25:30 2008 -0800 net/9p/trans_virtio.c: kmalloc() enough memory The Coverity checker spotted that less memory than required was allocated. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 2e374748c73f34e018a1c13a86a96a15fc55a65a Author: Chaoyu Chen Date: Wed Feb 20 10:18:46 2008 +1000 agp: add support for 662/671 to agp driver Signed-off-by: Dave Airlie commit feac7af508ebdfe1db9920d4e45d0ffd286abe75 Author: Chaoyu Chen Date: Wed Feb 20 10:12:39 2008 +1000 drm/sis: add pciid for SiS 662/671 chipset Signed-off-by: Dave Airlie commit 76e87306c2de2a581ec939cf9c97cd18d053f90e Author: Thomas Graf Date: Tue Feb 19 16:12:08 2008 -0800 [RTNL]: Add missing link netlink attribute policy definitions IFLA_LINK is no longer a write-only attribute on the kernel side and must thus be validated. Same goes for the newly introduced IFLA_LINKINFO. Fixes undefined behaviour if either of the attributes are not well formed. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit f9e9716a67fbea4594749bf1022fdfd0b96099db Author: Mirko Date: Wed Feb 20 10:07:57 2008 +1000 drm: add new rv380 pciid Signed-off-by: Dave Airlie commit b932ccb5674eb649133b5c33950405c37d17aab3 Author: Dave Airlie Date: Wed Feb 20 10:02:20 2008 +1000 drm: add support for passing state into the suspend hooks. fix i915 driver to use state for hibernate save avoidance. Signed-off-by: Dave Airlie commit cf8c0d1dbcfaba56adde85b63190a8bceda0cd04 Merge: d5c67ba... 156fbc3... Author: Linus Torvalds Date: Tue Feb 19 15:56:05 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 * git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: (32 commits) x86: fix page_is_ram() thinko x86: fix WARN_ON() message: teach page_is_ram() about the special 4Kb bios data page x86: i8259A: remove redundant irq_descinitialization x86: fix vdso_install breaks user "make install" x86: change IO delay back to 0x80 x86: lds - Use THREAD_SIZE instead of numeric constant x86: lds - Use PAGE_SIZE instead of numeric constant x86 cleanup: suspend_asm_64.S - use X86_CR4_PGE instead of numeric value x86: docs fixes to Documentation/i386/IO-APIC.txt x86: fix printout ugliness in cpu info printk x86: clean up csum-wrappers_64.c some more x86: coding style fixes in arch/x86/lib/csum-wrappers_64.c x86: coding style fixes in arch/x86/lib/io_64.c x86: exclude vsyscall files from stackprotect x86: add pgd_large() on 64-bit, for consistency x86: minor cleanup of comments in processor.h x86: annotate pci/common.s:pci_scan_bus_with_sysdata with __devinit x86: fix section mismatch in head_64.S:initial_code x86: fix section mismatch in srat_64.c:reserve_hotadd x86: fix section mismatch warning in topology.c:arch_register_cpu ... commit d5c67bac833c6c9cc713f6a27daa77dcba898dd8 Merge: 989b0b9... cc2d6f7... Author: Linus Torvalds Date: Tue Feb 19 15:54:22 2008 -0800 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: [MIPS] BCM47XX: Use new SSB SPROM data structure [MIPS] WGT634U: Register MTD as platform device. [MIPS] BCM47xx: Add defconfig file. [MIPS] RM: fix EISA=n compilation [MIPS] PCI: Coding style fixes for pcibios_enable_resources. [MIPS] PCI: Port i386 PCI fixes. [MIPS] Qemu: finish platform removal [MIPS] Wire up the timerfd_*() o32 system calls [MIPS] IP28: Add defconfig file [MIPS] SB1: Fix CONFIG_SIBYTE_DMA_PAGEOPS build failure. [MIPS] BCM1480: Remove stray function call resulting in infinite recursion [MIPS] Fix buggy invocations of kmap_coherent() [MIPS] Fix broken rm7000/rm9000 interrupt handling [MIPS] Handle I-cache coherency in flush_cache_range() [MIPS] IP27: Add missing ~ in DMA code. [MIPS] Use find_task_by_vpid in system calls commit 989b0b930218661b504bbb056b309e2c7bcdfb86 Merge: e03f1a8... 42086ce... Author: Linus Torvalds Date: Tue Feb 19 15:53:02 2008 -0800 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/czankel/xtensa-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/czankel/xtensa-2.6: (29 commits) [XTENSA] Allow debugger to modify the WINDOWBASE register. [XTENSA] Fix makefile to work with binutils-2.18. [XTENSA] Fix register corruption for certain processor configurations [XTENSA] Fix cache flush macro for D$/I$ aliasing/non-aliasing [XTENSA] Exclude thread-global registers from the xtregs structures. [XTENSA] Add support for the sa_restorer function [XTENSA] Add support for configurable registers and coprocessors [XTENSA] Clean up stat structs. [XTENSA] Use preprocessor to generate the linker script for the ELF boot image [XTENSA] Add missing RELOCATE_ENTRY for debug vector [XTENSA] Add volatile keyword to asm statements accessing counter registers [XTENSA] Remove unused code [XTENSA] Fix modules for non-exec processor configurations [XTENSA] Add missing cast in elf.h ELF_CORE_COPY_REGS() [XTENSA] Fix comments regarding the number of frames to save [XTENSA] Add missing a2 register restore in register spill routine [XTENSA] adjust boot linker script start addresses [XTENSA] Remove oldmask from sigcontext and fix register flush [XTENSA] Clean up elf-gregset. [XTENSA] Fix icache flush for cache aliasing ... commit e03f1a842287480aa03732612148c0d333baca61 Author: Adrian Bunk Date: Tue Feb 19 19:44:19 2008 +0000 dm-raid1.c: fix NULL dereferences This patch fixes two NULL dereferences introduced by commit 06386bbfd2441416875d0403d405c56822f6ebac and spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit ae5e1b6cc511b278ad52b2d42afb44780e5d4cb2 Author: David Howells Date: Tue Feb 19 18:59:04 2008 +0000 MN10300: Update asb2303_defconfig Update the ASB2303 default configuration. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit aa409e028c41137a659c02d0081ba57b701e7446 Author: David Howells Date: Tue Feb 19 18:58:59 2008 +0000 MN10300: Make the kernel jump into gdbstub on a BUG Make the kernel jump into gdbstub (if configured) on a BUG with the register set from the BUG rather than interpolating another illegal instruction and leaving gdbstub's idea of the process counter in unsupported_syscall() where the original BUG was detected. With this patch, gdbstub reports a SIGABRT to the compiler and reports the program counter at the original BUG, allowing the execution state at the time of the BUG to be examined with GDB. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 5efe92c68045817b97927b748f369d407c1d89ab Author: David Howells Date: Tue Feb 19 18:58:54 2008 +0000 MN10300: Introduce barriers to replace removed volatiles in gdbstub Introduce into the MN10300 gdbstub a couple of barrier() calls to replace the removed volatility of the input/output index variables for the Rx ring buffer. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 2b79aac9038ee52fd8d89216b1a3ec9bd8285fac Author: David Howells Date: Tue Feb 19 18:58:49 2008 +0000 MN10300: Call update_process_times() outside of the xtime_lock Call update_process_times() outside of the xtime_lock. Somewhere somewhere inside one of the functions called by that, xtime_lock is readlocked, which ends up in a deadlock situation. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit e855e5d82edd708bcb966cf7ccda2dee1c154935 Merge: 37c514e... b7f9c11... Author: Linus Torvalds Date: Tue Feb 19 15:50:11 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/mthca: Free correct MPT on error exit from mthca_fmr_alloc() IPoIB/cm: Fix ipoib_cm_dev_stop() cleanup when drain times out commit da636ad6a0d72eb5cb99738056af0bcc3db9ef9d Author: Jesse Barnes Date: Mon Jan 28 21:05:22 2008 -0800 drm/i915: Fix hibernate save/restore of VGA attribute regs In hibernate, we may end up calling the VGA save regs function twice, so we need to make sure it's idempotent. That means leaving ARX in index mode after the first save operation. Fixes hibernate on 965. Signed-off-by: Dave Airlie commit 1f84e550a870bf5f5f399b611db68f3324ea7883 Author: Keith Packard Date: Sat Feb 16 19:19:29 2008 -0800 drm/i915 more registers for S3 (DSPCLK_GATE_D, CACHE_MODE_0, MI_ARB_STATE) Failing to preserve the MI_ARB_STATE register was causing FIFO underruns on the VGA output on my HP 2510p after resume. Signed-off-by: Dave Airlie commit c0c4261b6fd80f0fc5546ed67058592469a4f5b7 Author: Jesse Barnes Date: Thu Feb 7 17:33:28 2008 -0800 drm/i915: restore pipeconf regs unconditionally On many chipsets, the checks for DPLL enable or VGA mode will prevent the pipeconf regs from being restored, which could result in a blank display or X failing to come back after resume. So restore them unconditionally along with actually restoring pipe B's palette correctly. Signed-off-by: Dave Airlie commit 0da3ea12fc2607beb67c2d54d0347807ea615573 Author: Jesse Barnes Date: Wed Feb 20 09:39:58 2008 +1000 drm/i915: save/restore interrupt state On resume, if the interrupt state isn't restored correctly, we may end up with a flood of unexpected or ill-timed interrupts, which could cause the kernel to disable the interrupt or vblank events to happen at the wrong time. So save/restore them properly. Signed-off-by: Dave Airlie commit ca0b07d9a969c6561e5d6f69c861fbedf8d09e5d Author: Nick Piggin Date: Thu Feb 7 16:20:50 2008 +1000 drm: convert drm from nopage to fault. Remove redundant vma range checks. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit b39d50e53b1bb27f6c29f88a697a4af78427dffd Author: Zhenyu Wang Date: Tue Feb 19 20:59:09 2008 +1000 i915: wrap chipset types requiring hw status set ioctl Also applys to recent added new chipset. Signed-off-by: Zhenyu Wang Signed-off-by: Dave Airlie commit 60f92683943c5b7a85963b283d6f8a853aa09203 Author: Maciej Cencora Date: Tue Feb 19 21:32:45 2008 +1000 drm/radeon: add initial rs690 support to drm. This adds support for configuring the RS690 GART. Signed-off-by: Dave Airlie commit 12aa343add3eced38a44bdb612b35fdf634d918c Author: Jorge Boncompte [DTI2] Date: Tue Feb 19 14:17:04 2008 -0800 [NET]: Messed multicast lists after dev_mc_sync/unsync Commit a0a400d79e3dd7843e7e81baa3ef2957bdc292d0 ("[NET]: dev_mcast: add multicast list synchronization helpers") from you introduced a new field "da_synced" to struct dev_addr_list that is not properly initialized to 0. So when any of the current users (8021q, macvlan, mac80211) calls dev_mc_sync/unsync they mess the address list for both devices. The attached patch fixed it for me and avoid future problems. Signed-off-by: Jorge Boncompte [DTI2] Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 37c514e3dfc8f55145d9c6895e2838ac31859aa4 Author: Sam Ravnborg Date: Tue Feb 19 21:00:18 2008 +0100 Add missing init section definitions When adding __devinitconst etc. the __initconst variant were missed. Add this one and proper definitions for .head.text for use in .S files. The naming .head.text is preferred over .text.head as the latter will conflict for a function named head when introducing -ffunctions-sections. Signed-off-by: Sam Ravnborg commit b1d2675a6466090b68d4ef63f9237b4d70a18857 Author: Geert Uytterhoeven Date: Sun Feb 17 14:12:10 2008 +0100 kbuild: fix reversed symbol name order in modpost XXXINIT_TO_INIT and XXXEXIT_TO_EXIT warnings use the reversed symbol name order in the suggestion, e.g.: WARNING: vmlinux.o(.meminit.text+0x36c): Section mismatch in reference from the function free_area_init_core() to the function .init.text:setup_usemap() The function __meminit free_area_init_core() references a function __init setup_usemap(). If free_area_init_core is only used by setup_usemap then annotate free_area_init_core with a matching annotation. Signed-off-by: Geert Uytterhoeven Signed-off-by: Sam Ravnborg 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 b7f9c112a5e7f68d77a31c79f5942a3272ae9a3b Author: Roland Dreier Date: Tue Feb 19 10:42:50 2008 -0800 IB/mthca: Free correct MPT on error exit from mthca_fmr_alloc() When mthca_fmr_alloc() returns an error, it should free the MPT at the index key, not mr->ibmr.lkey, since the lkey has been mangled by hw_index_to_key() and no longer is the real index. This bug causes corruption of the MPT table free bitmap when mthca_fmr_alloc() fails. Signed-off-by: Roland Dreier commit ec229e5e81b3cf757e5e8b6a8bd0b4f32fe52f8c Author: Pradeep Satyanarayana Date: Tue Feb 12 15:00:59 2008 -0800 IPoIB/cm: Fix ipoib_cm_dev_stop() cleanup when drain times out Commit efcd9971 ("IPoIB/cm: Factor out ipoib_cm_free_rx_reap_list()") introduced a bug in ipoib_cm_dev_stop() when the receive drain times out. In that case, the function moves all the pending rx stuff into a private list but then calls ipoib_cm_free_rx_reap_list(), which handles a different list. Fix this by moving everything to the rx_reap_list that will actually get freed up. This fixes . Signed-off-by: Pradeep Satyanarayana Signed-off-by: Roland Dreier commit 00e962c5408b9f2d0bebd2308673fe982cb9a5fe Author: Linus Torvalds Date: Tue Feb 19 09:08:49 2008 -0800 Revert "SLUB: Alternate fast paths using cmpxchg_local" This reverts commit 1f84260c8ce3b1ce26d4c1d6dedc2f33a3a29c0c, which is suspected to be the reason for some very occasional and hard-to-trigger crashes that usually look related to memory allocation (mostly reported in networking, but since that's generally the most common source of shortlived allocations - and allocations in interrupt contexts - that in itself is not a big clue). See for example http://bugzilla.kernel.org/show_bug.cgi?id=9973 http://lkml.org/lkml/2008/2/19/278 etc. One promising suspicion for what the root cause of bug is (which also explains why it's so hard to trigger in practice) came from Eric Dumazet: "I wonder how SLUB_FASTPATH is supposed to work, since it is affected by a classical ABA problem of lockless algo. cmpxchg_local(&c->freelist, object, object[c->offset]) can succeed, while an interrupt came (on this cpu), and several allocations were done, and one free was performed at the end of this interruption, so 'object' was recycled. c->freelist can then contain the previous value (object), but object[c->offset] was changed by IRQ. We then put back in freelist an already allocated object." but another reason for the revert is simply that everybody agrees that this code was the main suspect just by virtue of the pattern of oopses. Cc: Torsten Kaiser Cc: Christoph Lameter Cc: Mathieu Desnoyers Cc: Pekka Enberg Cc: Ingo Molnar Cc: Eric Dumazet Signed-off-by: Linus Torvalds commit cc2d6f701bed8b5f120314e4df854827d8bac558 Author: Aurelien Jarno Date: Mon Feb 18 11:04:31 2008 +0100 [MIPS] BCM47XX: Use new SSB SPROM data structure Switch the BCM47XX code to the new SPROM data structure now that the old one has been removed. Signed-off-by: Aurelien Jarno Signed-off-by: Ralf Baechle commit 0788150e639623f44c5991dcd290f8cdcf7db43f Author: Aurelien Jarno Date: Thu Feb 7 03:17:16 2008 +0100 [MIPS] WGT634U: Register MTD as platform device. Signed-off-by: Aurelien Jarno Signed-off-by: Ralf Baechle commit e8248d6fe7092439b08588102ad668b7cf27ec05 Author: Aurelien Jarno Date: Mon Feb 18 12:23:27 2008 +0100 [MIPS] BCM47xx: Add defconfig file. Signed-off-by: Aurelien Jarno Signed-off-by: Ralf Baechle commit b991b590dc2e54447644d34226dc355b7b6e2337 Author: Adrian Bunk Date: Sun Feb 17 23:59:48 2008 +0200 [MIPS] RM: fix EISA=n compilation This patch fixes the following build error with CONFIG_EISA=n caused by commit 231a35d37293ab88d325a9cb94e5474c156282c0: <-- snip --> ... LD .tmp_vmlinux1 arch/mips/sni/built-in.o: In function `snirm_a20r_setup_devinit': a20r.c:(.init.text+0x42c): undefined reference to `sni_eisa_root_init' a20r.c:(.init.text+0x42c): relocation truncated to fit: R_MIPS_26 against `sni_eisa_root_init' arch/mips/sni/built-in.o: In function `snirm_setup_devinit': rm200.c:(.init.text+0x52c): undefined reference to `sni_eisa_root_init' rm200.c:(.init.text+0x52c): relocation truncated to fit: R_MIPS_26 against `sni_eisa_root_init' make[1]: *** [.tmp_vmlinux1] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Acked-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 40d7c1aa6153605b3eae23990d4c2d4e8f807cb0 Author: Ralf Baechle Date: Tue Feb 19 16:01:20 2008 +0000 [MIPS] PCI: Coding style fixes for pcibios_enable_resources. Signed-off-by: Ralf Baechle commit 986c94854e5615000f39edfc788dffff7035ec7d Author: Ralf Baechle Date: Tue Feb 19 15:59:33 2008 +0000 [MIPS] PCI: Port i386 PCI fixes. The MIPS version of pcibios_enalbe_resources did not have the fixes from ed6d14f9760857c745206c978b80352fc09cfd19 yet which under circumstances similar to x86 might result in failures. Signed-off-by: Ralf Baechle commit dc9175be76084367974732cac55d7b097c79d474 Author: Adrian Bunk Date: Sun Feb 17 22:09:51 2008 +0200 [MIPS] Qemu: finish platform removal Two files were omitted from the recent removal of the qemu platform. Signed-off-by: Adrian Bunk Signed-off-by: Ralf Baechle commit 6783fe6253045bf5cbdf25e4be296f91437c5523 Author: Dmitri Vorobiev Date: Tue Feb 19 00:02:37 2008 +0300 [MIPS] Wire up the timerfd_*() o32 system calls This patch enables the system calls timerfd_create(), timerfd_settime() and timerfd_gettime() for MIPS architecture. Please see the following Bugzilla entry for more details: http://bugzilla.kernel.org/show_bug.cgi?id=10038 This was tested using a Malta 4Kc board in both little-endian and big-endian modes. The unit test program is available from the URL above. Signed-off-by: Dmitri Vorobiev [Ralf: Added N64, N32 and O32 bits on 64-bit kernels.] Signed-off-by: Ralf Baechle commit 84502f817b0b28f37e0a7355c75f05bb489d3a01 Author: Thomas Bogendoerfer Date: Mon Feb 18 22:38:32 2008 +0100 [MIPS] IP28: Add defconfig file Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 345599ab12729ce1df26f20a42a1ffd8eb7e8a0a Author: Thiemo Seufer Date: Thu Feb 14 16:58:25 2008 +0000 [MIPS] SB1: Fix CONFIG_SIBYTE_DMA_PAGEOPS build failure. Fix type mismatch warnings for 64-bit kernel builds which trigger -Werror. The problem affects only SB-1 kernels with CONFIG_SIBYTE_DMA_PAGEOPS enabled. Signed-off-by: Thiemo Seufer Signed-off-by: Ralf Baechle commit af0c4f649dacb62d756de0f20914b3e90a3f21c4 Author: Ralf Baechle Date: Mon Feb 18 18:49:48 2008 +0000 [MIPS] BCM1480: Remove stray function call resulting in infinite recursion Signed-off-by: Ralf Baechle commit 9a74b3eb22f2d67a5681301f52aca5b7703382c8 Author: Ralf Baechle Date: Sat Feb 16 22:34:25 2008 +0000 [MIPS] Fix buggy invocations of kmap_coherent() kmap_coherent will only work correctly if the page it is called on is not marked dirty. If it's dirty the kernel address of the page should be used instead of a temporary mapping. Signed-off-by: Ralf Baechle commit c42d95d6c49ce9c678a9d10aeb3f526c850d66dc Author: Thomas Koeller Date: Mon Feb 11 23:42:12 2008 +0100 [MIPS] Fix broken rm7000/rm9000 interrupt handling Properly acknowledge RM7K and RM9K interrupts. Before this, interrupts were permanently masked after their first occurrence, making them non-functional. Signed-off-by: Thomas Koeller Signed-off-by: Ralf Baechle commit 2eaa7ec286db54cc1a864565ed9367966743bcbd Author: Ralf Baechle Date: Mon Feb 11 14:51:40 2008 +0000 [MIPS] Handle I-cache coherency in flush_cache_range() So far flush_cache_range() did't consider the I-cache largely because it did rarely ever matter to real world code. This was working primarily because normally code and data are don't share the same pages - with the exception of MIPS16 code which uses address constants embedded between the code. The following sequence of events may break the code: o MIPS16 executable being loaded o dynamic linker relocates the address constants embedded into the code: o Uses mprotect(2) to make code pages PROT_READ|PROT_WRITE o Performs the actual relocations by writing to the pages which likely are COW. Because no PROT_EXEC is set I-cache coherence will not be considered. o Uses mprotect(2) to switch code pages back to PROT_READ|PROT_EXEC. This results in a call to flush_cache_range() which also does not consider I-caches. o => executing the page just having been relocated may now result in the I-cache getting refilled with stale data from memory. Signed-off-by: Ralf Baechle commit eaf7943cc53d9688aa10267a226165356e956ec5 Author: Ralf Baechle Date: Fri Feb 8 13:13:27 2008 +0000 [MIPS] IP27: Add missing ~ in DMA code. Harmless since this function is not being called on I/O coherent systems such as IP27. Signed-off-by: Ralf Baechle commit 0e568536d94256819f17662c26c82a42e44a7a7c Author: Pavel Emelyanov Date: Mon Feb 4 23:44:24 2008 -0800 [MIPS] Use find_task_by_vpid in system calls There are some places left in mips, that lookup task in initial namespace, while the code doing so gets the pid from the user space and thus must treat it as virtual. Signed-off-by: Pavel Emelyanov Cc: "Eric W. Biederman" Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Ralf Baechle commit 2b28a4721e068ac89bd5435472723a1bc44442fe Author: FUJITA Tomonori Date: Tue Feb 19 17:02:27 2008 +0900 [SCSI] ips: fix data buffer accessors conversion bug This fixes a bug that can't handle a passthru command with more than two sg entries. Big thanks to Tim Pepper for debugging the problem. Signed-off-by: FUJITA Tomonori Acked-by: Mark Salyzyn Cc: Stable Tree Signed-off-by: James Bottomley commit aa3f98037ce3bcf850bb41f7530754d27481a792 Merge: f6c4276... e5fa443... Author: Linus Torvalds Date: Tue Feb 19 08:04:23 2008 -0800 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [S390] qdio: FCP/SCSI write I/O stagnates on LPAR [S390] Fix futex_atomic_cmpxchg_std inline assembly. [S390] dcss: Fix Unlikely(x) != y [S390] sclp: clean up send/receive naming scheme [S390] etr: fix compile error on !SMP [S390] qdio: fix qdio_activate timeout handling. [S390] Initialize per cpu lowcores on cpu hotplug. [S390] find bit corner case. [S390] dasd: fix locking in __dasd_device_process_final_queue [S390] Make sure enabled wait psw is loaded in default_idle. [S390] Let NR_CPUS default to 32/64 on s390/s390x. [S390] cio: Do timed recovery on workqueue. [S390] cio: Remember to initialize recovery_lock. commit f6c427663a158056cd8ca71c01f30653e4b313f7 Merge: 9ef38ea... fa2fc7f... Author: Linus Torvalds Date: Tue Feb 19 08:03:02 2008 -0800 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: libata: implement drain buffers libata: eliminate the home grown dma padding in favour of block: clear drain buffer if draining for write command block: implement request_queue->dma_drain_needed block: add request->raw_data_len block: update bio according to DMA alignment padding libata: update ATAPI overflow draining elevator: make elevator_get() attempt to load the appropriate module cfq-iosched: add hlist for browsing parallel to the radix tree block: make blk_rq_map_user() clear ->bio if it unmaps it fs/block_dev.c: remove #if 0'ed code make struct def_blk_aops static make blk_settings_init() static make blk_ioc_init() static make blk-core.c:request_cachep static again commit 9ef38eaf4289a99beb3bc13d1ded220a68cc8877 Merge: cf91b82... 7f4da47... Author: Linus Torvalds Date: Tue Feb 19 08:02:04 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] HP ProLiant WatchDog driver [WATCHDOG] blackfin Watchdog driver: relocate all strings used in __init functions to __initdata [WATCHDOG] Convert mtx1 wdt to be a platform device and use generic GPIO API [WATCHDOG] Add support for SB1 hardware watchdog commit cf91b824bb2bdea8a47bf6bb94cf3a438683e5eb Merge: b694092... 89d694b... Author: Linus Torvalds Date: Tue Feb 19 07:54:02 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-genirq * git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-genirq: genirq: do not leave interupts enabled on free_irq genirq: spurious.c: use time_* macros commit b69409279c4c960fcd1575bcf80f2a0ca414ca93 Merge: 07ce198... f6d091e... Author: Linus Torvalds Date: Tue Feb 19 07:53:28 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64]: Add regs_return_value(). [SPARC64]: Kill pcic_present(). [SPARC]: Kill 'prom_palette'. [ATYFB]: Kill 'prom_palette' sparc code. [SPARC64]: Kill 'prom_keyboard'. [SPARC]: Kill extern decl of 'panic_setup'. [SPARC64]: Delete 'boot_flags'. [SPARC64]: Kill unused function 'kernel_enter_debugger'. [SPARC64] arch/sparc64/kernel/unaligned.c: Use time_* macros [SPARC64]: Always register a PROM based early console. [SPARC64]: Update defconfig. [SPARC64]: Add -mtune=ultrasparc3 if possible. [SPARC64]: Remove Makefile code for ancient gcc and binutils. [SPARC64]: Remove DEBUG_BOOTMEM. [SPARC64]: Use shorter "get_zeroed_page" call. [SPARC]: Use shorter form of "get_zeroed_page". [SPARC]: video/cg14.c and video/sbuslib.c build fixes commit 07ce198a1eb3431d04a6d59ea9fb7b71f21e33b1 Merge: 4bc87e6... a442585... Author: Linus Torvalds Date: Tue Feb 19 07:52:45 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (60 commits) [NIU]: Bump driver version and release date. [NIU]: Fix BMAC alternate MAC address indexing. net: fix kernel-doc warnings in header files [IPV6]: Use BUG_ON instead of if + BUG in fib6_del_route. [IPV6]: dst_entry leak in ip4ip6_err. (resend) bluetooth: do not move child device other than rfcomm bluetooth: put hci dev after del conn [NET]: Elminate spurious print_mac() calls. [BLUETOOTH] hci_sysfs.c: Kill build warning. [NET]: Remove MAC_FMT net/8021q/vlan_dev.c: Use print_mac. [XFRM]: Fix ordering issue in xfrm_dst_hash_transfer(). [BLUETOOTH] net/bluetooth/hci_core.c: Use time_* macros [IPV6]: Fix hardcoded removing of old module code [NETLABEL]: Move some initialization code into __init section. [NETLABEL]: Shrink the genl-ops registration code. [AX25] ax25_out: check skb for NULL in ax25_kick() [TCP]: Fix tcp_v4_send_synack() comment [IPV4]: fix alignment of IP-Config output Documentation: fix tcp.txt ... commit 4bc87e62775052aac0be7574d5f84ff06f61c6b4 Author: Casey Schaufler Date: Fri Feb 15 15:24:25 2008 -0800 Smack: unlabeled outgoing ambient packets Smack uses CIPSO labeling, but allows for unlabeled packets by specifying an "ambient" label that is applied to incoming unlabeled packets. Because the other end of the connection may dislike IP options, and ssh is one know application that behaves thus, it is prudent to respond in kind. This patch changes the network labeling behavior such that an outgoing packet that would be given a CIPSO label that matches the ambient label is left unlabeled. An "unlbl" domain is added and the netlabel defaulting mechanism invoked rather than assuming that everything is CIPSO. Locking has been added around changes to the ambient label as the mechanisms used to do so are more involved. Signed-off-by: Casey Schaufler Acked-by: Paul Moore Signed-off-by: Linus Torvalds commit 156fbc3fbe4ab640297b1ae2092821363840aeb6 Author: Arjan van de Ven Date: Mon Feb 18 09:58:45 2008 -0800 x86: fix page_is_ram() thinko page_is_ram() has a special case for the 640k-1M bios area, however due to a thinko the special case checks the e820 table entry and not the memory the user has asked for. This patch fixes the bug. [ mingo@elte.hu: this too is better solved in the e820 space, but those fixes are too intrusive for v2.6.25. ] Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d8a9e6a51ec58486f850e3606e3fcb86b5b7da41 Author: Arjan van de Ven Date: Mon Feb 18 09:54:33 2008 -0800 x86: fix WARN_ON() message: teach page_is_ram() about the special 4Kb bios data page This patch teaches page_is_ram() about the fact that the first 4Kb of memory are special on x86, even though the E820 table normally doesn't exclude it. This fixes the WARN_ON() reported by Laurent Riffard who was also very helpful in diagnosing the issue. [ mingo@elte.hu: we are working on doing this properly in the e820 space, but for 2.6.25 this is the better fix. ] Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7c6357da1185d286adaa4452d829ac9b27c4d12f Author: Ahmed S. Darwish Date: Mon Feb 18 00:59:54 2008 +0200 x86: i8259A: remove redundant irq_descinitialization Remove redundant irq_desc[NR_IRQS] element initialization in init_ISA_irqs(). irq_desc[NR_IRQS] is already statically initialized with the same values in kernel/irq/handle.c . besides the clean-up value this also saves some space: text data bss dec hex filename 1389 356 14 1759 6df i8259_32.o.before 1325 356 14 1695 69f i8259_32.o.after Signed-off-by: Ahmed S. Darwish Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3f85d63ea4ff922f6abdb509f4aaf6993b3273a3 Author: Sam Ravnborg Date: Sat Feb 16 12:36:10 2008 +0100 x86: fix vdso_install breaks user "make install" I suggest to make the vdso_install step independent as in following patch. This solves the issue at ahnd and still gives us the posibility to install the files should they be needed. Signed-off-by: Sam Ravnborg Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fd59e9e9c8e35cd2a1834c0d1f67aedf0c5c68c2 Author: Ingo Molnar Date: Sun Feb 17 20:20:24 2008 +0100 x86: change IO delay back to 0x80 change back the IO delay to 0x80. Alan says that 0xed is known to break some older boxes, and given that the get-rid-of-outb-APIs efforts are well underway we should just let them be finished. Signed-off-by: Ingo Molnar Acked-by: Alan Cox Signed-off-by: Thomas Gleixner commit 85c42d0dbb129b6bff560dacabec753677d64081 Author: Cyrill Gorcunov Date: Sun Feb 17 18:17:18 2008 +0300 x86: lds - Use THREAD_SIZE instead of numeric constant Though we use PDA for regular task stack but that is not acceptable for init_task wich is special one. We still have to allocate init_task's stack in that manner. Signed-off-by: Cyrill Gorcunov Acked-by: Sam Ravnborg Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3cdac41f2090ad9013dfefab7399b1debfb9275a Author: Cyrill Gorcunov Date: Sun Feb 17 18:17:17 2008 +0300 x86: lds - Use PAGE_SIZE instead of numeric constant It's much better to use PAGE_SIZE then magic 4096 (though it's almost synonym in most cases on x86 but not for *all* cases ;) Signed-off-by: Cyrill Gorcunov Acked-by: Sam Ravnborg Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bbb1e57a1c0b732cfeb727bed7c61e80a79c6479 Author: Cyrill Gorcunov Date: Sat Feb 9 00:49:13 2008 +0300 x86 cleanup: suspend_asm_64.S - use X86_CR4_PGE instead of numeric value By including we're allowed to use X86_CR4_PGE instead of numeric constant. md5 sums of compiled files are differ due to this inclusion but .text section remains the same. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 248fb89c12228190cecea553353e16cf21a67dc3 Author: Nick Andrew Date: Sun Feb 17 18:01:42 2008 +1100 x86: docs fixes to Documentation/i386/IO-APIC.txt Clean up spelling and grammar of IO-APIC.txt Signed-off-by: Nick Andrew Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d8ff0bbf564f7ebf6c33ef6662d8f00c7d43ba80 Author: Marcin Slusarz Date: Fri Feb 1 21:31:51 2008 +0100 x86: fix printout ugliness in cpu info printk fix print_cpu_info, because it produced on boot: CPU: <6>AMD Athlon(tm) 64 Processor 3200+ stepping 00 instead of: CPU: AMD Athlon(tm) 64 Processor 3200+ stepping 00 (broken since 04e1ba852132c9ad006affcd5b8c8606295170b0 - x86: cleanup kernel/setup_64.c) Signed-off-by: Marcin Slusarz Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d76c1ae4d1f4f322d47e7c6e47a277384ba9d9cb Author: Ingo Molnar Date: Sun Feb 17 16:48:25 2008 +0100 x86: clean up csum-wrappers_64.c some more no code changed: arch/x86/lib/csum-wrappers_64.o: text data bss dec hex filename 839 0 0 839 347 csum-wrappers_64.o.before 839 0 0 839 347 csum-wrappers_64.o.after md5: b31994226c33e0b52bef5a0e110b84b0 csum-wrappers_64.o.before.asm b31994226c33e0b52bef5a0e110b84b0 csum-wrappers_64.o.after.asm Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0df025b709ae09081e21545761a249ec2d969689 Author: Paolo Ciarrocchi Date: Sun Feb 17 14:56:50 2008 +0100 x86: coding style fixes in arch/x86/lib/csum-wrappers_64.c no code changed: arch/x86/lib/csum-wrappers_64.o: text data bss dec hex filename 839 0 0 839 347 csum-wrappers_64.o.before 839 0 0 839 347 csum-wrappers_64.o.after md5: b31994226c33e0b52bef5a0e110b84b0 csum-wrappers_64.o.before.asm b31994226c33e0b52bef5a0e110b84b0 csum-wrappers_64.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4b44f810166fb83ad1a817ee599006a7157ee54c Author: Paolo Ciarrocchi Date: Sun Feb 17 14:41:16 2008 +0100 x86: coding style fixes in arch/x86/lib/io_64.c This simple patch makes the file error free (according to checkpatch.pl) no code changed: arch/x86/lib/io_64.o: text data bss dec hex filename 308 0 0 308 134 io_64.o.before 308 0 0 308 134 io_64.o.after md5: 3c64f9ed83d091678e849b36ca27bee3 io_64.o.before.asm 3c64f9ed83d091678e849b36ca27bee3 io_64.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e43eb7bab6e82e1aa93ce4d39546c54347a68077 Author: Ingo Molnar Date: Thu Feb 14 08:38:49 2008 +0100 x86: exclude vsyscall files from stackprotect Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e00fc542eb694e448249361ef63c190e74f53574 Author: H. Peter Anvin Date: Tue Feb 19 16:18:32 2008 +0100 x86: add pgd_large() on 64-bit, for consistency In order to have it at all levels, add pgd_large() which only returns 0. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0fd707ef724a9e8b4a2ddfd3da4968c57e8614ff Author: Mike Travis Date: Fri Feb 8 15:37:42 2008 -0800 x86: minor cleanup of comments in processor.h Signed-off-by: Mike Travis Cc: Christoph Lameter Cc: Jack Steiner Cc: linux-mm@kvack.org Cc: Andrew Morton Cc: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6871b76fb5197a4db28de7116baf834fa36b7bfe Author: Sam Ravnborg Date: Sun Feb 17 13:23:00 2008 +0100 x86: annotate pci/common.s:pci_scan_bus_with_sysdata with __devinit Signed-off-by: Sam Ravnborg Cc: Sam Ravnborg Cc: Andrew Morton Cc: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit da5968ae305ab5209ebc2502ef6a8fbf2cce536c Author: Sam Ravnborg Date: Sun Feb 17 13:22:59 2008 +0100 x86: fix section mismatch in head_64.S:initial_code initial_code are initially used to hold a function pointer from __init and later from __cpuinit. This confuses modpost and changing initial_code to REFDATA silence the warning. (But now we do not discard the variable anymore). Signed-off-by: Sam Ravnborg Cc: Sam Ravnborg Cc: Andrew Morton Cc: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d01b9ad56e2cc7b6204b89ef10a53e78d70b5877 Author: Sam Ravnborg Date: Sun Feb 17 13:22:58 2008 +0100 x86: fix section mismatch in srat_64.c:reserve_hotadd reserve_hotadd() are only used by __init acpi_numa_memory_affinity_init(). Annotate reserve_hotadd() with __init is the trivial fix. Signed-off-by: Sam Ravnborg Cc: Sam Ravnborg Cc: Andrew Morton Cc: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 177c7715cd94a66d951fcafbacedd278a2d6fcab Author: Sam Ravnborg Date: Sun Feb 17 13:22:49 2008 +0100 x86: fix section mismatch warning in topology.c:arch_register_cpu arch_register_cpu() is only defined for HOTPLUG_CPU code so simple fix is to ignore references by annotating the function __ref. Signed-off-by: Sam Ravnborg Cc: Sam Ravnborg Cc: Andrew Morton Cc: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 04d733bd3588fda8934591fdb0a3d719c5ec8fa0 Author: Sam Ravnborg Date: Sun Feb 17 13:22:47 2008 +0100 x86: fix section mismatch in setup_64.c:srat_detect_node srat_detect_node() is only used by __cpuinit init_intel(). So the trivial fix is to annotate srat_detect_node() with __cpuinit. Signed-off-by: Sam Ravnborg Cc: Sam Ravnborg Cc: Andrew Morton Cc: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 08acb672624ece2d9234817570a0b3332cc8dae3 Author: Sam Ravnborg Date: Sun Feb 17 13:22:46 2008 +0100 x86: fix section mismatch warning in setup_64.c:nearby_node nearby_node() were only used by __cpuinit amd_detect_cmp() So annotating nearby_node() __cpuinit was the trivial fix. Signed-off-by: Sam Ravnborg Cc: Sam Ravnborg Cc: Andrew Morton Cc: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a062bae9c443a8c0ab17f231eb83690dfb897524 Author: Li Zefan Date: Sun Feb 3 15:40:30 2008 +0800 x86: fix compile warning building without CONFIG_SYSCTL arch/x86/kernel/nmi_64.c:50: warning: 'unknown_nmi_panic_callback' declared 'static' but never defined This patch also fixes nmi_32.c Signed-off-by: Li Zefan Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8e31c2ac1101b09ad6c6d3539b032d312cc3302b Author: Andi Kleen Date: Mon Feb 11 10:50:21 2008 +0100 x86: CPA: remove BUG_ON for LRU/Compound pages New implementation does not use lru for anything so there is no need to reject pages that are in the LRU. Similar for compound pages (which were checked because they also use page->lru) [ tglx@linutronix.de: removed unused variable ] Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit aa65af3f92da39a686c8a3479426d15854fa27ab Author: Adrian Bunk Date: Wed Feb 13 23:29:55 2008 +0200 x86: don't make swapper_pg_fixmap global Signed-off-by: Adrian Bunk Cc: Ian Campbell Cc: hpa@zytor.com Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f7f3d791e61d7baf8b0aee0384fdd469c0d2ac9b Author: Adrian Bunk Date: Wed Feb 13 23:29:53 2008 +0200 x86: don't make irq_return global Signed-off-by: Adrian Bunk Cc: hpa@zytor.com Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d3cfeb4fbe2a5e88fd5f98892f4dc49dcab8a9e7 Author: Adrian Bunk Date: Wed Feb 13 23:29:42 2008 +0200 x86: unexport io_delay_type Signed-off-by: Adrian Bunk Cc: hpa@zytor.com Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 148a142495f40d3da729d62cb7127ccb26223106 Author: Adrian Bunk Date: Wed Feb 13 23:29:33 2008 +0200 x86: make mxcsr_feature_mask static again Signed-off-by: Adrian Bunk Cc: Roland McGrath Cc: hpa@zytor.com Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ecaea42eb8507735a97a496cc5068de06542e8b2 Author: Harvey Harrison Date: Wed Feb 13 13:26:13 2008 -0800 x86: sparse warning in efi.c Yes, it should. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cc7e73f35dccba7503bdaf40bb5189225697664d Author: Harvey Harrison Date: Wed Feb 13 13:26:39 2008 -0800 x86: sparse error in efi_32.c arch/x86/kernel/efi_32.c:42:6: warning: symbol 'efi_call_phys_prelog' was not declared. Should it be static? arch/x86/kernel/efi_32.c:84:6: warning: symbol 'efi_call_phys_epilog' was not declared. Should it be static? Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f1452d424dc0e079fb97af8cb8d3a0f7b5fddd46 Author: Harvey Harrison Date: Thu Feb 14 15:23:53 2008 -0800 x86, kprobes: remove sparse warnings from x86 arch/x86/kernel/kprobes.c:584:16: warning: symbol 'kretprobe_trampoline_holder' was not declared. Should it be static? arch/x86/kernel/kprobes.c:676:6: warning: symbol 'trampoline_handler' was not declared. Should it be static? Make them static and add the __used attribute, approach taken from the arm kprobes implementation. kretprobe_trampoline_holder uses inline assemly to define the global symbol kretprobe_trampoline, but nothing ever calls the holder explicitly. trampoline handler is only called from inline assembly in the same file, mark it used and static. Signed-off-by: Harvey Harrison Acked-by: Masami Hiramatsu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 08cd93f9e11ac8c3e42c72debe7dc55a761149c2 Author: Adrian Bunk Date: Thu Feb 14 23:23:37 2008 +0200 remove mca-pentium This patch removes the mca-pentium boot option that was a noop. besides the source code cleanup factor, this saves some text as well: arch/x86/kernel/cpu/bugs.o: text data bss dec hex filename 651 77 4 732 2dc bugs.o.before 631 53 4 688 2b0 bugs.o.after Signed-off-by: Adrian Bunk Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e5fa443ea05f71b5253818890c6d32174cbab36f Author: Ursula Braun Date: Tue Feb 19 15:29:35 2008 +0100 [S390] qdio: FCP/SCSI write I/O stagnates on LPAR If running on LPAR, qdio might overlook an incoming buffer in certain scenarios. The patch makes sure that incoming buffers are detected immediately in all situations. Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky commit d5b02b3ff1d9a2e1074f559c84ed378cfa6fc3c0 Author: Heiko Carstens Date: Tue Feb 19 15:29:34 2008 +0100 [S390] Fix futex_atomic_cmpxchg_std inline assembly. Add missing exception table entry so that the kernel can handle proctection exceptions as well on the cs instruction. Currently only specification exceptions are handled correctly. The missing entry allows user space to crash the kernel. Cc: stable Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 39f73b2886be3a255d8f4cd669c8c7e7957afbd9 Author: Roel Kluin <12o3l@tiscali.nl> Date: Tue Feb 19 15:29:33 2008 +0100 [S390] dcss: Fix Unlikely(x) != y Fix Unlikely(x) != y Cc: Gerald Schaefer Cc: Stefan Weinhuber Cc: Carsten Otte Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit d082d3ce32705a92bd86c2b061d6b0827a40a5b1 Author: Peter Oberparleiter Date: Tue Feb 19 15:29:32 2008 +0100 [S390] sclp: clean up send/receive naming scheme Make state change events adjust the correct mask by cleaning up naming inconsistencies. Also remove chance for lockup by removing unnecessary mask related check before reading events. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 06cb92ffe418c4a9d5a70c5dff4f283e8e8df6e4 Author: Heiko Carstens Date: Tue Feb 19 15:29:31 2008 +0100 [S390] etr: fix compile 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. arch/s390/kernel/time.c: In function 'etr_sync_clock': arch/s390/kernel/time.c:825: error: 'clock_sync_cpu_start' undeclared arch/s390/kernel/time.c:862: error: 'clock_sync_cpu_end' undeclared Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit b32ecdb7257821e5e42d9b9b2a427b02c89f85e7 Author: Heiko Carstens Date: Tue Feb 19 15:29:30 2008 +0100 [S390] qdio: fix qdio_activate timeout handling. Current code in qdio_activate waits for at least 5 seconds until it returns. It may return earlier if an error occurs, but not if everything is ok. This large timeout value became visible with commit dfa77f611ff295598e218aa0eb6efa73a5cf26d0 "qdio: set QDIO_ACTIVATE_TIMEOUT to 5s", which intended to fix the timeout value which was zero. In turn setting an FCP adapter online took 5 seconds. In practice waiting for 5ms before continuing is sufficient as pointed out by Utz Bacher and Cornelia Huck. Cc: Utz Bacher Cc: Jan Glauber Cc: Ursula Braun Cc: Martin Peschke Acked-by: Cornelia Huck Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 591bb4f637e48950d35e2ca01e6b962c519d96e5 Author: Heiko Carstens Date: Tue Feb 19 15:29:29 2008 +0100 [S390] Initialize per cpu lowcores on cpu hotplug. Just copy the first 512 read-only bytes of the current cpu lowcore if a new cpu gets onlined. The rest is zeroed out and must be explicitly initialized. Current code just copies the entire lowcore and initializes the needed fields. This should reveal bugs in future enhancements quite early. Also when the lowcore of the first cpu is replaced this is now done atomically (no interrupts, no machine checks). Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit a22fb7ff1259e6ee87d0ba3559c9f7b7d0cb20d2 Author: Martin Schwidefsky Date: Tue Feb 19 15:29:28 2008 +0100 [S390] find bit corner case. Fix [ext2_]find_first_[zero_]bit for the corner case of an all clear or all set bit field by always handling that last word of the bit field with __ffz_word/__ffs_word. Signed-off-by: Martin Schwidefsky commit 03513bccad33667ed738cfd96dc5757e539e0bdb Author: Stefan Weinhuber Date: Tue Feb 19 15:29:27 2008 +0100 [S390] dasd: fix locking in __dasd_device_process_final_queue After setting the status of the cqr and releasing the lock for the block cqr queue, we call the cqr callback function, which will usually just trigger the dasd_block_tasklet. But when the tasklet is already running the cqr might be processed before we invoke the callback function. In rare cases the callback pointer may already be invalid by the time we want to call it, which will result in a panic. Solution: Call the callback function first and then release the lock. Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit 11ab244c9faead91683a12e4cb10d26b279bb4aa Author: Heiko Carstens Date: Tue Feb 19 15:29:26 2008 +0100 [S390] Make sure enabled wait psw is loaded in default_idle. If both NO_IDLE_HZ and VIRT_TIMER are disabled default_idle won't load an enabled wait psw and busy loop instead. This is because the idle_chain is empty and the return value of atomic_notifier_call_chain will be NOTIFY_DONE, which causes default_idle to return instead of loading an enabled wait psw. Fix this by calling __atomic_notifier_call_chain instead and add proper return value handling. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 057c5cb35ece6ae3a4c2cb849f3948c5ad6add32 Author: Heiko Carstens Date: Tue Feb 19 15:29:25 2008 +0100 [S390] Let NR_CPUS default to 32/64 on s390/s390x. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 4c629727cefe45abb2f7459836bfc4b41c5e55ba Author: Cornelia Huck Date: Tue Feb 19 15:29:24 2008 +0100 [S390] cio: Do timed recovery on workqueue. We can't do our recovery in softirq context, so we schedule it from our timer function. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 486d0a0079eb782cdb73f18246e26076c615a020 Author: Cornelia Huck Date: Tue Feb 19 15:29:23 2008 +0100 [S390] cio: Remember to initialize recovery_lock. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit fa2fc7f4813bfec1ae3232d49e3befbd601e8a6f Author: James Bottomley Date: Tue Feb 19 11:36:57 2008 +0100 libata: implement drain buffers This just updates the libata slave configure routine to take advantage of the block layer drain buffers. It also adjusts the size lengths in the atapi code to add the drain buffer to the DMA length so the driver knows it can rely on it. I suspect I should also be checking for AHCI as well as ATA_DEV_ATAPI, but I couldn't see how to do that easily. tj: * atapi_drain_needed() added such that draining is applied to only misc ATAPI commands. * q->bounce_gfp used when allocating drain buffer. * Now duplicate ATAPI PIO drain logic dropped. * ata_dev_printk() used instead of sdev_printk(). Signed-off-by: James Bottomley Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit dde2020754aeb14e17052d61784dcb37f252aac2 Author: James Bottomley Date: Tue Feb 19 11:36:56 2008 +0100 libata: eliminate the home grown dma padding in favour of that provided by the block layer ATA requires that all DMA transfers begin and end on word boundaries. Because of this, a large amount of machinery grew up in ide to adjust scatterlists on this basis. However, as of 2.5, the block layer has a dma_alignment variable which ensures both the beginning and length of a DMA transfer are aligned on the dma_alignment boundary. Although the block layer does adjust the beginning of the transfer to ensure this happens, it doesn't actually adjust the length, it merely makes sure that space is allocated for transfers beyond the declared length. The upshot of this is that scatterlists may be padded to any size between the actual length and the length adjusted to the dma_alignment safely knowing that memory is allocated in this region. Right at the moment, SCSI takes the default dma_aligment which is on a 512 byte boundary. Note that this aligment only applies to transfers coming in from user space. However, since all kernel allocations are automatically aligned on a minimum of 32 byte boundaries, it is safe to adjust them in this manner as well. tj: * Adjusting sg after padding is done in block layer. Make libata set queue alignment correctly for ATAPI devices and drop broken sg mangling from ata_sg_setup(). * Use request->raw_data_len for ATAPI transfer chunk size. * Killed qc->raw_nbytes. * Separated out killing qc->n_iter. Signed-off-by: James Bottomley Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit db0a2e0099be3a1cff55879225881465f16c67d3 Author: Tejun Heo Date: Tue Feb 19 11:36:55 2008 +0100 block: clear drain buffer if draining for write command Clear drain buffer before chaining if the command in question is a write. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 2fb98e8414c42cb14698833aac640b143b9ade4f Author: Tejun Heo Date: Tue Feb 19 11:36:53 2008 +0100 block: implement request_queue->dma_drain_needed Draining shouldn't be done for commands where overflow may indicate data integrity issues. Add dma_drain_needed callback to request_queue. Drain buffer is appened iff this function returns non-zero. Signed-off-by: Tejun Heo Cc: James Bottomley Signed-off-by: Jens Axboe commit 6b00769fe1502b4ad97bb327ef7ac971b208bfb5 Author: Tejun Heo Date: Tue Feb 19 11:36:35 2008 +0100 block: add request->raw_data_len With padding and draining moved into it, block layer now may extend requests as directed by queue parameters, so now a request has two sizes - the original request size and the extended size which matches the size of area pointed to by bios and later by sgs. The latter size is what lower layers are primarily interested in when allocating, filling up DMA tables and setting up the controller. Both padding and draining extend the data area to accomodate controller characteristics. As any controller which speaks SCSI can handle underflows, feeding larger data area is safe. So, this patch makes the primary data length field, request->data_len, indicate the size of full data area and add a separate length field, request->raw_data_len, for the unmodified request size. The latter is used to report to higher layer (userland) and where the original request size should be fed to the controller or device. Signed-off-by: Tejun Heo Cc: James Bottomley Signed-off-by: Jens Axboe commit 40b01b9bbdf51ae543a04744283bf2d56c4a6afa Author: Tejun Heo Date: Tue Feb 19 11:35:38 2008 +0100 block: update bio according to DMA alignment padding DMA start address and transfer size alignment for PC requests are achieved using bio_copy_user() instead of bio_map_user(). This works because bio_copy_user() always uses full pages and block DMA alignment isn't allowed to go over PAGE_SIZE. However, the implementation didn't update the last bio of the request to make this padding visible to lower layers. This patch makes blk_rq_map_user() extend the last bio such that it includes the padding area and the size of area pointed to by the request is properly aligned. Signed-off-by: Tejun Heo Cc: James Bottomley Signed-off-by: Jens Axboe commit 56c819df77f96c3fc0c2a979e12b478403728790 Author: Tejun Heo Date: Tue Feb 19 11:35:37 2008 +0100 libata: update ATAPI overflow draining For misc ATAPI commands which transfer variable length data to the host, overflow can occur due to application or hardware bug. Such overflows can be ignored safely as long as overflow data is properly drained. libata HSM implementation has this implemented in __atapi_pio_bytes() and recently updated for 2.6.24-rc but it requires further improvements. Improve drain logic such that... * Report overflow errors using ehi desc mechanism instead of printing directly. * Properly calculate the number of bytes to be drained considering actual number of consumed bytes for partial draining. Signed-off-by: Tejun Heo Acked-by: Albert Lee Signed-off-by: Jens Axboe commit 89d694b9dbe769ca1004e01db0ca43964806a611 Author: Thomas Gleixner Date: Mon Feb 18 18:25:17 2008 +0100 genirq: do not leave interupts enabled on free_irq The default_disable() function was changed in commit: 76d2160147f43f982dfe881404cfde9fd0a9da21 genirq: do not mask interrupts by default It removed the mask function in favour of the default delayed interrupt disabling. Unfortunately this also broke the shutdown in free_irq() when the last handler is removed from the interrupt for those architectures which rely on the default implementations. Now we can end up with a enabled interrupt line after the last handler was removed, which can result in spurious interrupts. Fix this by adding a default_shutdown function, which is only installed, when the irqchip implementation does provide neither a shutdown nor a disable function. [@stable: affected versions: .21 - .24 ] Pointed-out-by: Michael Hennerich Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Cc: stable@kernel.org Tested-by: Michael Hennerich commit 188fd89d539d899bfca2bc83534e5508e0161139 Author: S.Caglar Onur Date: Thu Feb 14 17:36:51 2008 +0200 genirq: spurious.c: use time_* macros The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. So following patch implements usage of the time_after() macro, defined at linux/jiffies.h, which deals with wrapping correctly Signed-off-by: S.Caglar Onur Acked-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e164094964e6e20fe7fce418e06a9dce952bb7a4 Author: Jens Axboe Date: Tue Feb 19 10:20:37 2008 +0100 elevator: make elevator_get() attempt to load the appropriate module Currently we fail if someone requests a valid io scheduler, but it's modular and not currently loaded. That can happen from a driver init asking for a different scheduler, or online switching through sysfs as requested by a user. This patch makes elevator_get() request_module() to attempt to load the appropriate module, instead of requiring that done manually. Signed-off-by: Jens Axboe commit ffc4e7595734cf768fa60cea8a4d545dfef8231a Author: Jens Axboe Date: Tue Feb 19 10:02:29 2008 +0100 cfq-iosched: add hlist for browsing parallel to the radix tree It's cumbersome to browse a radix tree from start to finish, especially since we modify keys when a process exits. So add a hlist for the single purpose of browsing over all known cfq_io_contexts, used for exit, io prio change, etc. This fixes http://bugzilla.kernel.org/show_bug.cgi?id=9948 Signed-off-by: Jens Axboe commit 84e9e03c55c2456799ab19f1d577e72f721fdd39 Author: Jens Axboe Date: Mon Feb 18 13:51:56 2008 +0100 block: make blk_rq_map_user() clear ->bio if it unmaps it That way the interface is symmetric, and calling blk_rq_unmap_user() on the request wont oops. Signed-off-by: Jens Axboe commit 86b6c7a7f78feca58d2d8615e53aee4d59ab9dc6 Author: Adrian Bunk Date: Mon Feb 18 13:48:32 2008 +0100 fs/block_dev.c: remove #if 0'ed code Commit b2e895dbd80c420bfc0937c3729b4afe073b3848 #if 0'ed this code stating: <-- snip --> [PATCH] revert blockdev direct io back to 2.6.19 version Andrew Vasquez is reporting as-iosched oopses and a 65% throughput slowdown due to the recent special-casing of direct-io against blockdevs. We don't know why either of these things are occurring. The patch minimally reverts us back to the 2.6.19 code for a 2.6.20 release. <-- snip --> It has since been dead code, and unless someone wants to revive it now it's time to remove it. This patch also makes bio_release_pages() static again and removes the ki_bio_count member from struct kiocb, reverting changes that had been done for this dead code. Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit 4c54ac62dceecedd82d4a865017bba0b738e2897 Author: Adrian Bunk Date: Mon Feb 18 13:48:31 2008 +0100 make struct def_blk_aops static This patch makes the needlessly global struct def_blk_aops static. Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit 52ff4cae65b45dcdfa23de09619754d6f380f31e Author: Adrian Bunk Date: Mon Feb 18 13:45:55 2008 +0100 make blk_settings_init() static blk_settings_init() can become static. Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit 13341598263011e079386b22ea35e482f97714c0 Author: Adrian Bunk Date: Mon Feb 18 13:45:53 2008 +0100 make blk_ioc_init() static blk_ioc_init() can become static. Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit 5ece6c52ea52f9e94298e950a837ccff415c7687 Author: Adrian Bunk Date: Mon Feb 18 13:45:51 2008 +0100 make blk-core.c:request_cachep static again request_cachep needlessly became global. Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit f6d091e05199e67ba79c3ea29faa5c3b51d5daf4 Author: David S. Miller Date: Tue Feb 19 00:31:22 2008 -0800 [SPARC64]: Add regs_return_value(). Needed for kretprobes. Noticed by Ananth N Mavinakayanahalli. Signed-off-by: David S. Miller commit a442585952f137bd4cdb1f2f3166e4157d383b82 Author: David S. Miller Date: Mon Feb 18 21:30:48 2008 -0800 [NIU]: Bump driver version and release date. Signed-off-by: David S. Miller commit 3b5bcedeeb755b6e813537fcf4c32f010b490aef Author: Matheos Worku Date: Mon Feb 18 21:30:03 2008 -0800 [NIU]: Fix BMAC alternate MAC address indexing. BMAC port alternate MAC address index needs to start at 1. Index 0 is used for the main MAC address. Signed-off-by: Matheos Worku Signed-off-by: David S. Miller commit 31729363418ea25b01aa9410838c38e36792e44c Author: Randy Dunlap Date: Mon Feb 18 20:52:13 2008 -0800 net: fix kernel-doc warnings in header files Add missing structure kernel-doc descriptions to sock.h & skbuff.h to fix kernel-doc warnings. (I think that Stephen H. sent a similar patch, but I can't find it. I just want to kill the warnings, with either patch.) Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 2df96af03d97e98cbea9f9cb71fc56ea5fc544b2 Author: Pavel Emelyanov Date: Mon Feb 18 20:50:42 2008 -0800 [IPV6]: Use BUG_ON instead of if + BUG in fib6_del_route. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 9937ded8e44de8865cba1509d24eea9d350cebf0 Author: Denis V. Lunev Date: Mon Feb 18 20:49:36 2008 -0800 [IPV6]: dst_entry leak in ip4ip6_err. (resend) The result of the ip_route_output is not assigned to skb. This means that - it is leaked - possible OOPS below dereferrencing skb->dst - no ICMP message for this case Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit fcea424d31868a78366ad5ee0cb3cc2a4cbe689b Author: Arjan van dev Ven Date: Wed Feb 6 05:16:00 2008 +0100 fix historic ioremap() abuse in AGP Several AGP drivers right now use ioremap_nocache() on kernel ram in order to turn a page of regular memory uncached. There are two problems with this: 1) This is a total nightmare for the ioremap() implementation to keep various mappings of the same page coherent. 2) It's a total nightmare for the AGP code since it adds a ton of complexity in terms of keeping track of 2 different pointers to the same thing, in terms of error handling etc etc. This patch fixes this by making the AGP drivers use the new set_memory_XX APIs instead. Note: amd-k7-agp.c is built on Alpha too, and generic.c is built on ia64 as well, which do not yet have the set_memory_*() APIs, so for them some we have a few ugly #ifdefs - hopefully they'll be fixed soon. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Dave Airlie commit 8ac62dc773c149d7b7124b4912b425842f905d3e Author: Dave Young Date: Mon Feb 18 20:45:41 2008 -0800 bluetooth: do not move child device other than rfcomm hci conn child devices other than rfcomm tty should not be moved here. This is my lost, thanks for Barnaby's reporting and testing. Signed-off-by: Dave Young Signed-off-by: David S. Miller commit 16469a0ea0f6b7562eac98ebb8a7c41ce902d0b1 Author: Stuart Bennett Date: Tue Jan 8 13:14:07 2008 +0000 agp/sis: Suspend support for SiS AGP Tested on M650 chipset Signed-off-by: Dave Airlie commit b7d0640f9229a9426ba9223796329c4f0cc4acb9 Author: Stuart Bennett Date: Tue Jan 8 13:13:28 2008 +0000 agp/sis: Clear bit 2 from aperture size byte as well SiS M650 has aperture size byte 0x44 Signed-off-by: Dave Airlie commit 0cd63c8089f0f6316df1393c3a93bdbc67ab314d Author: Dave Young Date: Mon Feb 18 20:44:01 2008 -0800 bluetooth: put hci dev after del conn Move hci_dev_put to del_conn to avoid hci dev going away before hci conn. Signed-off-by: Dave Young Signed-off-by: David S. Miller commit 25e9c86d5a6d82ea45eb680fc66bf73ac5e50dff Author: Mark M. Hoffman Date: Sun Feb 17 22:28:03 2008 -0500 hwmon: normal_i2c arrays should be const Signed-off-by: Mark M. Hoffman commit 57df46d6d9ccd6ced95f169020f79ae637423087 Author: Darrick J. Wong Date: Mon Feb 18 13:33:23 2008 -0800 hwmon: New driver for Analog Devices ADT7473 sensor chip This driver reports voltage, temperature and fan sensor readings on an ADT7473 chip. Signed-off-by: Darrick J. Wong Signed-off-by: Mark M. Hoffman commit 9a4c8546f3e7c893888bccc2b3416d6214f2664a Merge: b0abcfc... 14e04c3... Author: Linus Torvalds Date: Mon Feb 18 18:46:56 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: ide-cd: fix missing residual count setting in DMA mode ht6560b: force prefetch for some devices ht6560b can only do up to PIO mode 4 linux/hdsmart.h: fix goofups (take 2) via82cxxx: add new PCI id for cx700 falconide: locking bugfix MAINTAINERS: update ide-cd maintainer's email address ide/libata: ST310211A has buggy HPA too ide: Add missing base addresses for falconide and macide commit b0abcfc14605b2a8c686bd8e193ab05b01a7980b Author: Eric Paris Date: Mon Feb 18 18:23:16 2008 -0500 Audit: use == not = in if statements Clearly this was supposed to be an == not an = in the if statement. This patch also causes us to stop processing execve args once we have failed rather than continuing to loop on failure over and over and over. Signed-off-by: Eric Paris Acked-by: Al Viro Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 8f789c48448aed74fe1c07af76de8f04adacec7d Author: David S. Miller Date: Mon Feb 18 16:50:22 2008 -0800 [NET]: Elminate spurious print_mac() calls. Patrick McHardy notes that print_mac() can get invoked even if the result it unused (f.e. as an argument to pr_debug() when DEBUG is not defined). Mark this function as "__pure" to eliminate this problem. Signed-off-by: David S. Miller commit 14e04c3f6e64bac468f0aa38c6d47aa95b60c074 Author: Kiyoshi Ueda Date: Tue Feb 19 01:41:26 2008 +0100 ide-cd: fix missing residual count setting in DMA mode This patch fixes the missing residual count setting in DMA mode, which was introduced during the conversion to blk-end-request. The residual count could be used by the request submitter. So if it isn't set correctly, some upper layers does not work. (e.g. wodim for CD burning.) The bug is in only DMA mode. In PIO mode, we are setting the residual count correctly, so no need to fix. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Reported-by: Andreas Schwab Tested-by: Andreas Schwab Tested-by: Laura Garcia Tested-by: Borislav Petkov Cc: Jens Axboe Signed-off-by: Bartlomiej Zolnierkiewicz commit 0e7d8d480259319649f7a2c230622b98758d1c83 Author: Jan Evert van Grootheest Date: Tue Feb 19 01:41:26 2008 +0100 ht6560b: force prefetch for some devices Prefetch needs to be set for some ide devices to work when connected to a ht6560b interface. This was not always done properly, causing a system with a HD and CD on the primary interface to not work properly. Or, in effect, hang hard. This patch forces prefetch on devices before checking whether it is necessary to change the settings in the interface This patch should also be applied to 2.4. I don't currently have a 2.4 tree around. (also change my email address) Signed-off-by: Jan Evert van Grootheest Cc: Sergei Shtylyov Cc: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit 1a1990f5479b0c9055c133b7e0e7fedfcbe11512 Author: Jan Evert van Grootheest Date: Tue Feb 19 01:41:26 2008 +0100 ht6560b can only do up to PIO mode 4 According to the datasheet, ht6560b only supports up to PIO mode 4. [bart: manually ported it over 2.6.25-rc2] Signed-off-by: Jan Evert van Grootheest Signed-off-by: Bartlomiej Zolnierkiewicz commit f401fd55b5a9ef1a4572abaefaa6957af11ced61 Author: Bartlomiej Zolnierkiewicz Date: Tue Feb 19 01:41:26 2008 +0100 linux/hdsmart.h: fix goofups (take 2) Fix goofups of commit 76166952bbc81dda1c8a8c14e75a2aa06f6c052c (" is not used by kernel code"). Also update include/linux/Kbuild to reflect the fact that hdsmart.h uses __KERNEL__ ifdefs now. Reported-by: "Robert P. J. Day" Signed-off-by: Bartlomiej Zolnierkiewicz commit 84f7e451e9213d8c328752d0f39bc362519d53d2 Author: Andrew Smith Date: Tue Feb 19 01:41:26 2008 +0100 via82cxxx: add new PCI id for cx700 [bart: manually ported it over via82cxxx changes] From: Andrew Smith Signed-off-by: Bartlomiej Zolnierkiewicz commit d684b21f89b96af3adc06877f29fd9f5214b23c8 Author: Bartlomiej Zolnierkiewicz Date: Tue Feb 19 01:41:25 2008 +0100 falconide: locking bugfix commit 8ac4ce742c66100931b6f2d7a36b0df08bc721fe ("ide: fix host drivers depending on ide_generic to probe for interfaces (take 2)") moved probing to falconide but forgot to take care of Atari specific locking - fix it. Cc: Geert Uytterhoeven Cc: Michael Schmitz Signed-off-by: Bartlomiej Zolnierkiewicz commit ef709165d8de1ba9dd3cd5e05dbabf71dc32d883 Author: Borislav Petkov Date: Tue Feb 19 01:41:25 2008 +0100 MAINTAINERS: update ide-cd maintainer's email address Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit b152fcd34108d07a1e682786af583fd3e080cab3 Author: Mikko Rapeli Date: Tue Feb 19 01:41:25 2008 +0100 ide/libata: ST310211A has buggy HPA too Signed-off-by: Mikko Rapeli Tested-by: Bart Champagne Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit 899e1bc57340ad9acf5561b1eff7a684975ad800 Author: Geert Uytterhoeven Date: Tue Feb 19 01:41:24 2008 +0100 ide: Add missing base addresses for falconide and macide commit 29dd59755a849cc6475faa6a75f3b804e23a6fc2 ("ide: remove ide_setup_ports") forgot to take into account the base addresses for the CONTROL registers for falconide and macide, as pointed out by Michael Schmitz. Falconide was tested on Aranym. Signed-off-by: Geert Uytterhoeven Cc: Michael Schmitz Signed-off-by: Bartlomiej Zolnierkiewicz commit 8c5b4a3f43c060662d83574a4c85fbb362419ddd Author: David S. Miller Date: Mon Feb 18 16:40:10 2008 -0800 [SPARC64]: Kill pcic_present(). And also it's helper function pci_is_controller(). Both are unused. I can't remove the equivalent from sparc32 yet as some ancient bus probing code still uses that platform's version. Signed-off-by: David S. Miller commit f702c5815696bfca095cc1173fff6995c4d39844 Merge: 0165d7f... 51af33e... Author: Linus Torvalds Date: Mon Feb 18 15:52:40 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: RDMA/nes: Fix possible array overrun RDMA/nes: Fix VLAN support RDMA/nes: Fix MAC interrupt erroneously masked on ifdown IB: Fix return value in ib_device_register_sysfs() commit 0165d7f476b99eb637027c2f69c365f00260f188 Merge: 20ef0f1... f6c540c... Author: Linus Torvalds Date: Mon Feb 18 15:51:40 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 * git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: x86: fix lguest build failure x86: reenable support for system without on node0 x86: CPA: avoid double checking of alias ranges x86: CPA no alias checking for _NX x86: zap invalid and unused pmds in early boot x86: CPA, fix alias checks commit 20ef0f1ad0035cd7acc6cbcbc018b2dcd891e274 Merge: 9960c90... 6165894... Author: Linus Torvalds Date: Mon Feb 18 15:49:47 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb * git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (59 commits) V4L/DVB (7219): zoran: Fix namespace conflicts with Zoran 'GPIO_MAX' enum V4L/DVB (7205): tuner-xc2028 depends on FW_LOADER V4L/DVB (7201): cx88-mpeg: Fix race condition in variable access V4L/DVB (7200): Fix FM firmware loading V4L/DVB (7198): V4L, include ioctl.h in videodev headers V4L/DVB (7197): bttv: Fix overlay divide error V4L/DVB (7195): xc5000: fix build error when built as module V4L/DVB (7194): cx88-mpeg: Allow concurrent access to cx88-mpeg devices V4L/DVB (7193): tveeprom: Add proper tuner mapping for hauppauge eeprom id 133 V4L/DVB (7192): Adds support for Genius TVGo A11MCE V4L/DVB (7189): autosuspend support V4L/DVB (7188): radio-si470x version 1.0.6 V4L/DVB (7186): tda10086: make the 22kHz tone for DISEQC a config option V4L/DVB (7183): radio-si470x: fix build warning V4L/DVB (7180): em28xx: add URB_NO_TRANSFER_DMA_MAP, since urb->transfer_dma is set V4L/DVB (7179): Allow more than one em28xx board V4L/DVB (7164): em28xx-alsa: Add a missing mutex V4L/DVB (7163): em28xx: makes audio settings more stable V4L/DVB (7162): em28xx: Fix endian and returns the correct values V4L/DVB (7161): em28xx: Fix printing debug values higher than 127 ... commit 9960c90c0cb9652f69ce794c7bf99bb3acf23552 Merge: 0eddf03... c58310b... Author: Linus Torvalds Date: Mon Feb 18 15:46:21 2008 -0800 Merge branch 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6 * 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6: [XFS] Added quota targets and removed dmapi directory [XFS] Fix up xfs out-of-tree builds. (a.k.a. external modules) [XFS] Remove Makefile wrappers in XFS commit 0eddf038adc8dff78efe86b71284e3f52b7cef27 Merge: 86b7cbc... c8620c2... Author: Linus Torvalds Date: Mon Feb 18 15:46:03 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: [CRYPTO] null: Add missing Kconfig dependency on BLKCIPHER [CRYPTO] tcrypt: Add missing Kconfig dependency on BLKCIPHER [HIFN]: Fix invalid config ifdefs for RNG support commit 86b7cbc9d3f7b357dbd4f22779c5df375eb76c46 Merge: 230b548... db4315d... Author: Linus Torvalds Date: Mon Feb 18 15:45:48 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt * git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt: timer_list: print relative expiry time signed commit 230b548c15d50068f993948ef4d803f5cc033454 Merge: 1309d4e... fa2144b... Author: Linus Torvalds Date: Mon Feb 18 15:41:05 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: kbuild: explain why DEBUG_SECTION_MISMATCH is UNDEFINED kbuild: fix building vmlinux.o kbuild: allow -fstack-protector to take effect kconfig: fix select in combination with default commit 667bc389c716389795c6cfa145ab5ef6279fbb62 Author: David S. Miller Date: Mon Feb 18 15:28:16 2008 -0800 [SPARC]: Kill 'prom_palette'. The idea of this thing is we could save/restore the firmware's palette when breaking in and out of the firmware prompt. Only one driver implemented this (atyfb) and it's value is questionable. If you're just debugging you don't really care that the characters end up being purple or whatever. And we can provide better debugging and firmware command facilities with minimal in-kernel console I/O drivers. Signed-off-by: David S. Miller commit 30b3cfe1f67550bb6ec6868507a78060ef98269a Author: David S. Miller Date: Mon Feb 18 15:26:43 2008 -0800 [ATYFB]: Kill 'prom_palette' sparc code. Signed-off-by: David S. Miller commit 101788b0ab5464cf485c5d434ac30563e6f9e5fe Author: David S. Miller Date: Mon Feb 18 15:21:30 2008 -0800 [SPARC64]: Kill 'prom_keyboard'. Nothing ever sets it, so it just takes up space. Signed-off-by: David S. Miller commit 1d5509aa6985b256a426e67ae6952fd4b7664de7 Author: David S. Miller Date: Mon Feb 18 15:17:58 2008 -0800 [SPARC]: Kill extern decl of 'panic_setup'. This was made static in kernel/panic.c a long time ago. Signed-off-by: David S. Miller commit 9a2f258ad5910c478a5c98989b9a26268b2e5488 Author: David S. Miller Date: Mon Feb 18 15:16:20 2008 -0800 [SPARC64]: Delete 'boot_flags'. It is write-only, nothing tests it's value. Signed-off-by: David S. Miller commit a3d41704d4647abfc2796e9c81f71e0902f78e09 Author: David S. Miller Date: Mon Feb 18 15:13:48 2008 -0800 [SPARC64]: Kill unused function 'kernel_enter_debugger'. Signed-off-by: David S. Miller commit 4ef110141b3e0758fe30d686417b5686b87eb25b Author: Jeremy Kerr Date: Tue Feb 19 10:05:35 2008 +1100 [POWERPC] spufs: fix scheduler starvation by idle contexts 2.6.25 has a regression where we can starve the scheduler by creating (N_SPES+1) contexts, then running them one at a time. The final context will never be run, as the other contexts are loaded on the SPEs, none of which are repoted as free (ie, spu->alloc_state != SPU_FREE), so spu_get_idle() doesn't give us a spu to run on. Because all of the contexts are stopped, none are descheduled by the scheduler tick, as spusched_tick returns if spu_stopped(ctx). This change replaces the spu_stopped() check with checking for SCHED_IDLE in ctx->policy. We set a context's policy to SCHED_IDLE when we're not in spu_run(). We also favour SCHED_IDLE contexts when looking for contexts to unbind, but leave their timeslice intact for later resumption. This patch fixes the following test in the spufs-testsuite: tests/20-scheduler/02-yield-starvation Signed-off-by: Jeremy Kerr commit f6c540cdd65d4bc4eaf4dcbf652580f09f3b0c38 Author: Rusty Russell Date: Mon Feb 4 07:11:10 2008 +1100 x86: fix lguest build failure drivers/lguest/x86/switcher_32.S:(.text+0x3815f8): undefined reference to `LGUEST_PAGES_regs_trapnum' This problem was caused by asm-offsets.c only having the offsets when lguest *guest* support was set, not lguest host (host support used to imply guest support, so now they're separate these bugs come out). Lguest guest support and host support are separate config options: they used to be tied together. Sort out which parts of asm-offsets are needed for Guest and Host. Signed-off-by: Rusty Russell Cc: Linus Torvalds Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b7ad149d62ffffaccb9f565dfe7e5bae739d6836 Author: Yinghai Lu Date: Sun Feb 17 02:02:21 2008 -0800 x86: reenable support for system without on node0 One system doesn't have RAM for node0 installed. SRAT: PXM 0 -> APIC 0 -> Node 0 SRAT: PXM 0 -> APIC 1 -> Node 0 SRAT: PXM 1 -> APIC 2 -> Node 1 SRAT: PXM 1 -> APIC 3 -> Node 1 SRAT: Node 1 PXM 1 0-a0000 SRAT: Node 1 PXM 1 0-dd000000 SRAT: Node 1 PXM 1 0-123000000 ACPI: SLIT: nodes = 2 10 13 13 10 mapped APIC to ffffffffff5fb000 ( fee00000) Bootmem setup node 1 0000000000000000-0000000123000000 NODE_DATA [000000000000e000 - 0000000000014fff] bootmap [0000000000015000 - 00000000000395ff] pages 25 Could not find start_pfn for node 0 Pid: 0, comm: swapper Not tainted 2.6.24-smp-g5a514e21-dirty #14 Call Trace: [] free_area_init_node+0x22/0x381 [] generic_swap+0x0/0x17 [] find_zone_movable_pfns_for_nodes+0x54/0x271 [] free_area_init_nodes+0x239/0x287 [] paging_init+0x46/0x4c [] setup_arch+0x3c3/0x44e [] start_kernel+0x6f/0x2c7 [] _sinittext+0x1cc/0x1d3 This happens because node 0 is not online, but the node state in mm/page_alloc.c has node 0 set. nodemask_t node_states[NR_NODE_STATES] __read_mostly = { [N_POSSIBLE] = NODE_MASK_ALL, [N_ONLINE] = { { [0] = 1UL } }, So we need to clear node_online_map before initializing the memory. Signed-off-by: Yinghai Lu Cc: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f34b439f34c49d7de858234bab5e2dd03cfaf3c1 Author: Thomas Gleixner Date: Fri Feb 15 22:17:57 2008 +0100 x86: CPA: avoid double checking of alias ranges When the CPA code is called with an virtual address in the range of the direct mapping or the high alias then we do not need to run through the alias check for this range. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit af96e4438a4b34a257f5318a296e0b9e182e7ab9 Author: Thomas Gleixner Date: Fri Feb 15 21:49:46 2008 +0100 x86: CPA no alias checking for _NX NX settings are not required to be consistent across alias mappings. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 31eedd823c1bf3650c450346a0d0c39431034eb9 Author: Thomas Gleixner Date: Fri Feb 15 17:29:12 2008 +0100 x86: zap invalid and unused pmds in early boot The early boot code maps KERNEL_TEXT_SIZE (currently 40MB) starting from __START_KERNEL_map. The kernel itself only needs _text to _end mapped in the high alias. On relocatible kernels the ASM setup code adjusts the compile time created high mappings to the relocation. This creates invalid pmd entries for negative offsets: 0xffffffff80000000 -> pmd entry: ffffffffff2001e3 It points outside of the physical address space and is marked present. This starts at the virtual address __START_KERNEL_map and goes up to the point where the first valid physical address (0x0) is mapped. Zap the mappings before _text and after _end right away in early boot. This removes also the invalid entries. Furthermore it simplifies the range check for high aliases. Signed-off-by: Thomas Gleixner Acked-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit c31c7d4844ea4817692ae16bf70f9c96c05a50eb Author: Thomas Gleixner Date: Mon Feb 18 20:54:14 2008 +0100 x86: CPA, fix alias checks c_p_a() did not discover all aliases correctly. (such as when called on vmalloc()-ed areas or ioremap()-ed areas) Push the alias checks to the lower, physical level and consistently discover all aliases that might exist: the low direct mappings and the high linear kernel-text mappings (on 64-bit). Thanks to Andi Kleen for pointing out that this was buggy. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 51af33e8e45b845d8ee85446f58e31bc4c118048 Author: Roland Dreier Date: Mon Feb 18 10:33:59 2008 -0800 RDMA/nes: Fix possible array overrun In nes_create_qp(), the test if (nesqp->mmap_sq_db_index > NES_MAX_USER_WQ_REGIONS) { is used to error out if the db_index is too large; however, if the test doesn't trigger, then the index is used as nes_ucontext->mmap_nesqp[nesqp->mmap_sq_db_index] = nesqp; and mmap_nesqp is declared as struct nes_qp *mmap_nesqp[NES_MAX_USER_WQ_REGIONS]; which leads to an array overrun if the index is exactly equal to NES_MAX_USER_WQ_REGIONS. Fix this by bailing out if the index is greater than or equal to NES_MAX_USER_WQ_REGIONS. This was spotted by the Coverity checker (CID 2162). Acked-by: Glenn Streiff Signed-off-by: Roland Dreier commit 7f4da4745c34287938ce76b92b23409adeecb5b8 Author: Thomas Mingarelli Date: Tue Dec 4 17:41:54 2007 +0000 [WATCHDOG] HP ProLiant WatchDog driver Hp is providing a Hardware WatchDog Timer driver that will only work with the specific HW Timer located in the HP ProLiant iLO 2 ASIC. The iLO 2 HW Timer will generate a Non-maskable Interrupt (NMI) 9 seconds before physically resetting the server, by removing power, so that the event can be logged to the HP Integrated Management Log (IML), a Non-Volatile Random Access Memory (NVRAM). The logging of the event is performed using the HP ProLiant ROM via an Industry Standard access known as a BIOS Service Directory Entry. Signed-off-by: Thomas Mingarelli Signed-off-by: Wim Van Sebroeck commit bb59b5578a73d0e0e4e208a014fa7ea0c4f0ccb4 Author: Mike Frysinger Date: Wed Jan 30 17:38:21 2008 +0800 [WATCHDOG] blackfin Watchdog driver: relocate all strings used in __init functions to __initdata Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Wim Van Sebroeck commit 6ea8115bb6f359df4f45152f2b40e1d4d1891392 Author: Florian Fainelli Date: Mon Jan 7 19:08:49 2008 +0100 [WATCHDOG] Convert mtx1 wdt to be a platform device and use generic GPIO API This patch converts the MTX-1 to be a platform device, use the available generic GPIO API for the MTX-1 board and register the miscdev alias. Signed-off-by: Florian Fainelli Signed-off-by: Wim Van Sebroeck commit 75c752e6c3147f596c13365b200b91d754b66f59 Author: Andrew Sharp Date: Thu Dec 13 16:16:42 2007 -0800 [WATCHDOG] Add support for SB1 hardware watchdog Support watchdog timers built into SiByte MIPS SoCs. Signed-off-by: Andy Sharp Signed-off-by: Wim Van Sebroeck Cc: Ralf Baechle Signed-off-by: Andrew Morton commit 6165894fb6293072848e5699f3fcbe88b7c60815 Author: Mauro Carvalho Chehab Date: Fri Feb 15 18:41:06 2008 -0300 V4L/DVB (7219): zoran: Fix namespace conflicts with Zoran 'GPIO_MAX' enum Thanks to Martin Michlmayr for reporting this issue: The zoran driver fails to compile on the ARM Orion platform with: In file included from drivers/media/video/zoran_procfs.c:50: drivers/media/video/zoran.h:232: error: expected identifier before numeric constant The reason is that drivers/media/video/zoran.h defines an enum with GPIO_MAX in it, but Orion contains a #define GPIO_MAX 32 in include/asm-arm/arch-orion/orion.h Signed-off-by: Mauro Carvalho Chehab commit ea35e3a754b2ba5f712c3f4df55e426ae2e4d60a Author: Paul Mundt Date: Thu Feb 14 07:24:22 2008 -0300 V4L/DVB (7205): tuner-xc2028 depends on FW_LOADER Signed-off-by: Paul Mundt Signed-off-by: Mauro Carvalho Chehab commit baff6cdd3328e7b35c4e155d79105621812bceec Author: Ricardo Cerqueira Date: Wed Feb 13 22:41:15 2008 -0300 V4L/DVB (7201): cx88-mpeg: Fix race condition in variable access There was a possible race condition in the increment/decrement of the active device references counter. Thanks to Trent Piepho (xyzzy@speakeasy.org) for bringing it up. Signed-off-by: Ricardo Cerqueira Signed-off-by: Mauro Carvalho Chehab commit 40ae91a758df916d7a5640fb2de20537ef7849fd Author: Mauro Carvalho Chehab Date: Thu Feb 14 01:52:48 2008 -0300 V4L/DVB (7200): Fix FM firmware loading There's no need to load SCode table for FM. Signed-off-by: Mauro Carvalho Chehab commit 83db33a3e5c4200eaf5dec5b4883c0e73f468a3b Author: Jiri Slaby Date: Wed Feb 13 20:04:49 2008 -0300 V4L/DVB (7198): V4L, include ioctl.h in videodev headers Fix compilation of user processes which includes videodev*.h but not includes linux/ioctl.h: v4l2ext_helper.c: In function 'process_ioctl': v4l2ext_helper.c:183: warning: implicit declaration of function '_IOWR' v4l2ext_helper.c:183: error: expected expression before 'struct' v4l2ext_helper.c:183: error: case label does not reduce to an integer constant Signed-off-by: Jiri Slaby Signed-off-by: Mauro Carvalho Chehab commit 7c018804c0900e7be18507f1eb24e631aa9816ea Author: Robert Fitzsimons Date: Wed Feb 13 16:38:11 2008 -0300 V4L/DVB (7197): bttv: Fix overlay divide error The initial work to convert the bttv driver to V4L2 "Partial conversion from V4L1 to V4L2" (e84619b17440ccca4e4db7583d126c4189b987e5), missed the line which set the appropriate overlay crop structure in the newly allocated bttv_buffer. This then causes a divide error in the bttv_calc_geo function. Signed-off-by: Robert Fitzsimons Signed-off-by: Mauro Carvalho Chehab commit c9fe1d6ba603ddc5f2ef0a6b84f9df2bb4c679f1 Author: Tony Breeds Date: Tue Feb 12 02:54:33 2008 -0300 V4L/DVB (7195): xc5000: fix build error when built as module drivers/built-in.o: In function `set_type': tuner-core.c:(.text+0x8879d): undefined reference to `xc5000_attach' Signed-off-by: Tony Breeds Reviewed-by: Michael Krufky Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit ff83efacf2b77a1fe8942db6613825a4b80ee5e2 Author: James Bottomley Date: Sun Feb 17 11:24:51 2008 -0600 [SCSI] gdth: don't call pci_free_consistent under spinlock The spinlock is held over too large a region: pscratch is a permanent address (it's allocated at boot time and never changes). All you need the smp lock for is mediating the scratch in use flag, so fix this by moving the spinlock into the case where we set the pscratch_busy flag to false. Cc: Stable Tree Signed-off-by: James Bottomley commit 279e7f5425c5e6da6ca61b1d8576356a939789f9 Author: FUJITA Tomonori Date: Sat Feb 16 15:24:41 2008 +0900 [SCSI] qla2xxx: fix compile warning for printk format scsi/qla2xxx/qla_dfs.c: In function 'qla2x00_dfs_fce_show': scsi/qla2xxx/qla_dfs.c:26: warning: format '%llx' expects type 'long long unsigned int', but argument 3 has type 'uint64_t' Signed-off-by: FUJITA Tomonori Acked-by: Andrew Vasquez Signed-off-by: James Bottomley commit 5e2f22d39ec29c33bc5a3a558ac545b952aab8b7 Author: James Bottomley Date: Tue Feb 12 15:55:48 2008 -0600 [SCSI] aic7xx: mitigate HOST_MSG_LOOP invalid SCB ff panic The panic occurs if we get a MSGIN or MSGOUT for an unidentified SCB (meaning we didn't identify the outstanding command it was for). For MSGIN this is wrong because it could be an unsolicited negotiation MSGIN from the target. Still panic on unsolicited MSGOUT because this would represent a mistake in the negotiation phases. However, we should fix this as well. The specs say we should go to bus free for unexpected msgin. Signed-off-by: James Bottomley commit cbccc207128e8bbdb047f6c5fc261acf207749c1 Author: FUJITA Tomonori Date: Sat Feb 16 23:57:15 2008 +0900 [SCSI] scsi_debug: disable clustering scsi_debug does at several places: for_each_sg(sdb->table.sgl, sg, sdb->table.nents, k) { kaddr = (unsigned char *) kmap_atomic(sg_page(sg), KM_USER0); We cannot do something like that with the clustering enabled (or we can use scsi_kmap_atomic_sg). Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 0e935c9ebacf2f54ab1226192d1a62f7ea1b9303 Author: James Bottomley Date: Sat Feb 16 15:53:21 2008 -0600 [SCSI] fas216: fix up the previous fas216 commit Apparently the fix to [SCSI] fas216: Use scsi_eh API for REQUEST_SENSE invocation didn't show up in the final version sent to linus. Correct this omission. Cc: Russell King Signed-off-by: James Bottomley commit 7d1abbe82434d29dd0d7d69dc0e6acdf25a8c2b5 Author: Alan Cox Date: Fri Feb 8 15:34:24 2008 +0000 [SCSI] megaraid: outb_p extermination From conversations with the maintainers the _p isn't needed so kill it. That removes the last non ISA _p user from the SCSI layer to my knowledge. Signed-off-by: Alan Cox Acked-by: "Yang, Bo" Signed-off-by: James Bottomley commit 2939deaab257924c9afd87575dbd9100ae08160d Author: Kyle McMartin Date: Wed Oct 17 12:25:00 2007 -0400 [SCSI] mpt fusion: kill warnings in mptbase.h on parisc64 Verified all the arches necessary select the CONFIG_64BIT symbol. This also kills the warning (since it was using the 32-bit case) on parisc64 and mips64. Signed-off-by: Kyle McMartin Signed-off-by: James Bottomley commit cb84e2d2ff3b50c0da5a7604a6d8634294a00a01 Author: James Bottomley Date: Fri Feb 15 09:28:43 2008 -0600 [SCSI] aic94xx: fix REQ_TASK_ABORT and REQ_DEVICE_RESET This driver has been failing under heavy load with aic94xx: escb_tasklet_complete: REQ_TASK_ABORT, reason=0x6 aic94xx: escb_tasklet_complete: Can't find task (tc=4) to abort! The second message is because the driver fails to identify the task it's being asked to abort. On closer inpection, there's a thinko in the for each task loop over pending tasks in both the REQ_TASK_ABORT and REQ_DEVICE_RESET cases where it doesn't look at the task on the pending list but at the one on the ESCB (which is always NULL). Fix by looking at the right task. Also add a print for the case where the pending SCB doesn't have a task attached. Not sure if this will fix all the problems, but it's a definite first step. Cc: Stable Tree Signed-off-by: James Bottomley commit 691b4773aa556d0975dbc25c93e6c8b839dad325 Author: Yinghai Lu Date: Wed Feb 13 16:25:16 2008 -0800 [SCSI] ses: fix data corruption one system: initrd get courrupted: RAMDISK: Compressed image found at block 0 RAMDISK: incomplete write (-28 != 2048) 134217728 crc error VFS: Mounted root (ext2 filesystem). Freeing unused kernel memory: 388k freed init_special_inode: bogus i_mode (177777) Warning: unable to open an initial console. init_special_inode: bogus i_mode (177777) init_special_inode: bogus i_mode (177777) Kernel panic - not syncing: No init found. Try passing init= option to kernel. bisected to commit 9927c68864e9c39cc317b4f559309ba29e642168 Author: James Bottomley Date: Sun Feb 3 15:48:56 2008 -0600 [SCSI] ses: add new Enclosure ULD changes: 1. change char to unsigned char to avoid type change later. 2. preserve len for page1 3. need to move desc_ptr even the entry is not enclosure_component_device/raid. so keep desc_ptr on right position 4. record page7 len, and double check if desc_ptr out of boundary before touch. 5. fix typo in subenclosure checking: should use hdr_buf instead. [jejb: style fixes] Signed-off-by: Yinghai Lu Signed-off-by: James Bottomley commit 27d0fe189437803d5ad146d508ec2fd77252c73f Author: Roland Stoll Date: Mon Feb 11 13:00:34 2008 -0300 V4L/DVB (7194): cx88-mpeg: Allow concurrent access to cx88-mpeg devices It currently isn't possible to open the frontend device of cx88-mpeg devices (DVB or Blackbird) multiple times concurrently. (for instance, to attach a signal monitoring tool while reading a stream, or to send a frequency change ioctl) This patch fixes that condition. Signed-off-by: Roland Stoll Signed-off-by: Ricardo Cerqueira Reviewed-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 968fb08912880e34a05a0cca7907392bac920aa2 Author: Ricardo Cerqueira Date: Wed Jan 16 19:56:55 2008 -0300 V4L/DVB (7193): tveeprom: Add proper tuner mapping for hauppauge eeprom id 133 Do away with the need to set tuner=63 on cx88xx with recent HVR-1300 boards Signed-off-by: Ricardo Cerqueira Signed-off-by: Mauro Carvalho Chehab commit f0ba356c85c25c2732098885a6a089be4698da94 Author: Adrian Pardini Date: Mon Feb 11 12:40:53 2008 -0300 V4L/DVB (7192): Adds support for Genius TVGo A11MCE Signed-off-by: Adrian Pardini Signed-off-by: Mauro Carvalho Chehab commit 57566ad2d83f58c02e191aa7f4d7cddad3f92618 Author: Tobias Lorenz Date: Sat Feb 9 16:08:24 2008 -0300 V4L/DVB (7189): autosuspend support Together with Oliver Neukum from Novell, USB autosuspend support was added. Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit 5caf51342c81c7cb2a8c3998e3f606ccfa79cee2 Author: Tobias Lorenz Date: Mon Feb 4 22:26:08 2008 -0300 V4L/DVB (7188): radio-si470x version 1.0.6 This patch combines all the finished discussions and its resulting patches from the mailing list. The version 1.0.6 is mainly influenced by Oliver Neukum. He found a lot of small issues, that are fixed with this patch now. For me the most interesting thing is, that it's now safer to use it on other architectures. The history for version 1.0.6 is: - fixed coverity checker warnings in *_usb_driver_disconnect - probe()/open() race by correct ordering in probe() - DMA coherency rules by separate allocation of all buffers - use of endianness macros - abuse of spinlock, replaced by mutex - racy handling of timer in disconnect, replaced by delayed_work - racy interruptible_sleep_on(), replaced with wait_event_interruptible() - handle signals in read() The driver is tested with all Debian/testing radio programs and rdsd. The patch is tested against checkpatch.pl v1.12. Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit ea75baf4b0f117564bd50827a49c4b14d61d24e9 Author: Hartmut Hackmann Date: Sat Feb 9 23:54:24 2008 -0300 V4L/DVB (7186): tda10086: make the 22kHz tone for DISEQC a config option Some cards need the diseqc signal modulated, while some just need the envelope to control the LNB supply. This fixes Bug 9887 Signed-off-by: Hartmut Hackmann Acked-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 83947d307d63dc0c30ab0809714f0bcbbdf8c3e2 Author: Michael Krufky Date: Sun Feb 10 20:13:25 2008 -0300 V4L/DVB (7183): radio-si470x: fix build warning fix the following build warning: radio-si470x.c: In function 'si470x_get_rds_registers': radio-si470x.c:562: warning: format '%ld' expects type 'long int', but argument 3 has type 'unsigned int' Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 61b080d214c4dba91fb726169fb0c3f0e8de4b45 Author: Mauro Carvalho Chehab Date: Fri Feb 8 16:07:04 2008 -0300 V4L/DVB (7180): em28xx: add URB_NO_TRANSFER_DMA_MAP, since urb->transfer_dma is set Thanks to Alan Stern for pointing this issue. Signed-off-by: Mauro Carvalho Chehab commit 3687e1e67e4920a202d53cc24678fb34fcda8fc5 Author: Mauro Carvalho Chehab Date: Fri Feb 8 15:44:25 2008 -0300 V4L/DVB (7179): Allow more than one em28xx board em28xx driver is capable of handling more than one usb device. However, isoc transfers require a large amount of data to be transfered. Before this patch, just one em28xx board were enough to allocate more than 50% URBs: T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 8 B: Alloc=480/800 us (60%), #Int= 0, #Iso= 2 D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1 So, only one board could use an USB host at the same time. After the patch, it is possible to use more than one em28xx at the same time, on the same usb host, if the image size is slower or equal to 345600, since those images will require about 30% of the URBs: T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 8 B: Alloc=232/800 us (29%), #Int= 0, #Iso= 2 D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1 So, in thesis, after the patch, it would be possible to use up to 3 boards by each usb host, if the devices are generating small images. Signed-off-by: Mauro Carvalho Chehab commit 92ea42f442c4895e38f525a097d7d8ce2a55b9b9 Author: Mauro Carvalho Chehab Date: Wed Feb 6 18:52:15 2008 -0300 V4L/DVB (7164): em28xx-alsa: Add a missing mutex Signed-off-by: Mauro Carvalho Chehab commit 00b8730f5db19f9ea0985d7f14f869df79a0bf76 Author: Mauro Carvalho Chehab Date: Wed Feb 6 18:34:13 2008 -0300 V4L/DVB (7163): em28xx: makes audio settings more stable Improves audio configurations on em28xx: - mutes audio before changing amux; - adds a delay after setting audio src; - waits up to 50ms for ac97 busy. Signed-off-by: Mauro Carvalho Chehab commit 0df8130fe80ebde052516c1d729aa5d1c69ebc5c Author: Mauro Carvalho Chehab Date: Wed Feb 6 15:56:16 2008 -0300 V4L/DVB (7162): em28xx: Fix endian and returns the correct values Signed-off-by: Mauro Carvalho Chehab commit 0da5176f4e0d5aea3e33a11a17c1847939df4dcc Author: Mauro Carvalho Chehab Date: Wed Feb 6 15:55:19 2008 -0300 V4L/DVB (7161): em28xx: Fix printing debug values higher than 127 Signed-off-by: Mauro Carvalho Chehab commit 1e7ad56f1fef94a7d8c1050bf3548d957fe67c01 Author: Mauro Carvalho Chehab Date: Wed Feb 6 09:00:41 2008 -0300 V4L/DVB (7160): em28xx: Allow register dump/setting for debug Adds vidioc_[g|s]_register handlers. This allows getting/setting register from em28xx. Signed-off-by: Mauro Carvalho Chehab commit 7463dda2ae868d3e0a6c98f65d6331481fc73ca3 Author: Mauro Carvalho Chehab Date: Tue Feb 5 22:29:26 2008 -0300 V4L/DVB (7158): Fix em28xx audio initialization AC97 register initialization seem to always be needed. This patch fixes audio for Prolink/Pixelview USB2 board. Signed-off-by: Mauro Carvalho Chehab commit 1685a6fed210b110ac8abeff24e2ffd1713cb3fb Author: Andrew Morton Date: Tue Feb 5 07:37:21 2008 -0300 V4L/DVB (7156): em28xx/em28xx-core.c: fix use of potentially uninitialized variable drivers/media/video/em28xx/em28xx-core.c: In function 'em28xx_set_audio_source': drivers/media/video/em28xx/em28xx-core.c:276: warning: 'no_ac97' may be used uninitialized in this function This looks like a genuine bug to me. Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 384b835aed8acf341d99969b58d27434685bdd3d Author: Brandon Philips Date: Mon Feb 4 20:52:21 2008 -0300 V4L/DVB (7150): [v4l] convert videbuf_vmalloc_memory to videobuf_vmalloc_memory Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit 18c0ecf16e1caa266e12319b5ab82d80e8a3ccf0 Author: Roel Kluin <12o3l@tiscali.nl> Date: Sat Feb 2 20:20:58 2008 -0300 V4L/DVB (7139): add parentheses '!' has a higher priority than '&': bitanding has no effect. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Mauro Carvalho Chehab commit 427d20c4e6321ed2482630900891e40b4f2de6a3 Author: Luc Saillard Date: Wed Jan 30 17:23:00 2008 -0300 V4L/DVB (7132): Add USB ID for a newer variant of Hauppauge WinTV-HVR 900 Device description: WinTV-HVR-900 M/R: 65018/B3C0 ##4207 Signed-off-by: Luc Saillard Signed-off-by: Mauro Carvalho Chehab commit fb62a5953e9e6969f78adc7291c1a8845116f776 Author: Mauro Carvalho Chehab Date: Thu Jan 31 13:59:29 2008 -0300 V4L/DVB (7122): saa7134-empress: Remove back lock videobuf functions at close() method already locks videobuf. It makes no sense to keep the locking at empress close() method. There is also a lock at open() method. I'm not sure if it is safe to remove the locking there. Signed-off-by: Mauro Carvalho Chehab commit 64f9477f95bf5d4ba49dc3988d47a15bc06bb5da Author: Mauro Carvalho Chehab Date: Thu Jan 31 13:57:53 2008 -0300 V4L/DVB (7121): Renames videobuf lock to vb_lock This helps to identify where vb_lock is being used, and find missusages of the locks. Signed-off-by: Mauro Carvalho Chehab commit ce3a35d3c00918296e552af5ecc7b771af766436 Author: Mauro Carvalho Chehab Date: Thu Jan 31 13:40:04 2008 -0300 V4L/DVB (7120): videobuf lock is already initialized at videobuf-core.c Removes the duplicated mutex_init code. Signed-off-by: Mauro Carvalho Chehab commit 0ed4a6ea9dbd9f5b77ce594f7f46be022d2c49ec Author: Oliver Endriss Date: Wed Jan 30 01:07:20 2008 -0300 V4L/DVB (7118): dvb-ttpci: Improved display of still pictures Improved display of still pictures (VIDEO_STILLPICTURE ioctl). Ensure that both fields are displayed for progressive frames. Thanks to Reinhard Nissl and Klaus Schmidinger for finding out that the FREEZE command does this. Thanks-to: Reinhard Nissl Thanks-to: Klaus Schmidinger Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 251130bf266000fe6e9fdccda50fe4b5c1d6cb24 Author: Kim Sandberg Date: Wed Jan 30 00:42:01 2008 -0300 V4L/DVB (7117): budget-av: Add support for Satelco EasyWatch PCI DVB-T Add support for Satelco EasyWatch PCI DVB-T, sub-id 0x1894:0x003a. Signed-off-by: Kim Sandberg Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 03aa73c58704182298495569bbb613bf8fc770d1 Author: Oliver Endriss Date: Tue Jan 29 23:56:51 2008 -0300 V4L/DVB (7116): budget-av: Add support for KNC TV Station Plus X4 Add support for KNC TV Station Plus X4, sub-system id 0x1894:0x0015. Based on a patch submitted by Johannes Deisenhofer. Thanks-to: Johannes Deisenhofer Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 998cb0827d62f13a80e7f7b0ec993e98184cbc57 Author: Tobias Lorenz Date: Mon Jan 28 22:49:14 2008 -0300 V4L/DVB (7110): Trivial printf warning fix (radio-si470) Thanks to Darren Salt for pointing this issue. Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit c3f686f152767b84893e474acd1a7758988dc369 Author: Tobias Lorenz Date: Mon Jan 28 22:43:13 2008 -0300 V4L/DVB (7108): radio-si470x.c: check-after-use Adrian used the coverity checker against radio-si470x and found this: > The Coverity checker spotted the following check-after-use in > drivers/media/radio/radio-si470x.c: > > <-- snip --> > static void si470x_usb_driver_disconnect(struct usb_interface *intf) > { > struct si470x_device *radio = usb_get_intfdata(intf); > > del_timer_sync(&radio->timer); <------------------ > flush_scheduled_work(); > > usb_set_intfdata(intf, NULL); > if (radio) { <------------------ > video_unregister_device(radio->videodev); > kfree(radio->buffer); > kfree(radio); > } > } > <-- snip --> > > Either "radio" can be NULL and this case has to be properly handled or > the NULL check is not required. These two lines should indeed better be inside the if statement. Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit 532fe65205253aef1ce5c0c76d2d8d303fb3fe71 Author: Adrian Bunk Date: Mon Jan 28 22:10:48 2008 -0300 V4L/DVB (7106): em28xx/: make 2 functions static This patch makes the following needlessly global functions static: - em28xx-core.c:em28xx_write_reg_bits() - em28xx-video.c:em28xx_vdev_init() Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit fe2b8f50a336bcd51e3d209c5838c573b4b540b3 Author: Adrian Bunk Date: Mon Jan 28 22:10:58 2008 -0300 V4L/DVB (7104): stk-sensor.c: make 2 functions static This patch makes the following needlessly global functions static: - stk_sensor_outb() - stk_sensor_inb() Signed-off-by: Adrian Bunk Acked-by: Jaime Velasco Juan Signed-off-by: Mauro Carvalho Chehab commit beb9e780a45a2e21f3d62bd4c71d695aa195fe69 Author: Adrian Bunk Date: Mon Jan 28 22:11:01 2008 -0300 V4L/DVB (7103): make stk_camera_cleanup() static stk_camera_cleanup() can become static. Signed-off-by: Adrian Bunk Acked-by: Jaime Velasco Juan Signed-off-by: Mauro Carvalho Chehab commit c52c4d063eb163d2980c1884370da453662a1f31 Author: Adrian Bunk Date: Mon Jan 28 22:11:15 2008 -0300 V4L/DVB (7102): make tuner-core.c:tuner_list static tuner_list can become static - and it's anyway a way too generic name for a global variable - see commit b00ef4b8d8c29bfb5f6f92ee60bc04b604f36ef2 for a completely different global variable of the same name I just made static... Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit 805d92dfa627acad3d4a78966bc5e4f8183d48b3 Author: Adrian Bunk Date: Mon Jan 28 22:12:41 2008 -0300 V4L/DVB (7100): frontends/tda18271-common.c: fix off-by-one This patch fixes an off-by-one error spotted by the Coverity checker. Signed-off-by: Adrian Bunk Reviewed-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0e8f4cc5c8bb782edbaee54a760ebc034252fab0 Author: Matthias Schwarzott Date: Mon Jan 28 12:01:11 2008 -0300 V4L/DVB (7097): saa7134-dvb: add missing dvb_attach call (for tda10046_attach) saa7134-dvb: add missing dvb_attach around tda10046_attach This patch adds a possibly missing dvb_attach for tda10046_attach. This removes the hard dependency of saa7134-dvb on tda1004x module. Signed-off-by: Matthias Schwarzott Signed-off-by: Mauro Carvalho Chehab commit e08a8c9dc7d247ec2a98ea2d7ac5ecea6af5593c Author: Mauro Carvalho Chehab Date: Sun Jan 27 14:43:20 2008 -0300 V4L/DVB (7093): radio-sf16fmi: fix request_region() isapnp_fmi_probe attaches device. However, if request_region() fails, the device isn't disattached. Reviewed-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit dd49f30ca032464839085ec3a54dd9917829c891 Author: Douglas Schilling Landgraf Date: Sun Jan 27 14:29:51 2008 -0300 V4L/DVB (7092): radio-sf16fmr2: fix request_region() validation [bugzilla 9699] This patch changed the request_region() validation to avoid invalid return. Thanks to Roland Kletzing for bug report and data collection. Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 0e3301ec23000ffbbe28771eb79628856a9a2f84 Author: Tobias Lorenz Date: Sun Jan 27 14:54:07 2008 -0300 V4L/DVB (7091): radio-si470x improvements and seldom problem fixed in tuning functions I updated the radio-si470x driver another time. Here are the commented history entries: - number of seek_retries changed to tune_timeout The last versions checked for the end of frequency tuning by polling a si470x register. Therefore polling depended on the usb utilization. This was changed to have a constant timeout now. - fixed problem with incomplete tune operations by own buffers The last version used a shared buffer to assembly the USB HID reports. It sometimes happened, that multiple functions were modifing this buffer simultanuously. When sending such reports, the hardware returned USB stalls (-EPIPE). Now buffers of the correct size (smaller than before) are allocated as local variables. - optimization of variables The size of some variables has been reduced to allow the compiler to generate more optimized code. - improved error logging At some important location, error checking was improved. Especially the usb transfers to access si470x registers and the tuning functions were modified. Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit 2de3a5a5c52ae1550be537829bb487131430d74b Author: Jaime Velasco Juan Date: Sun Jan 27 12:25:00 2008 -0300 V4L/DVB (7090): V4L: stkwebcam: use v4l_compat_ioctl32 Signed-off-by: Jaime Velasco Juan Signed-off-by: Mauro Carvalho Chehab commit 1fdd61c0228a32b9a5e10593b225851d8920595b Author: Jaime Velasco Juan Date: Sun Jan 27 12:24:59 2008 -0300 V4L/DVB (7089): V4L: stkwebcam: Power management support Signed-off-by: Jaime Velasco Juan Signed-off-by: Mauro Carvalho Chehab commit 1112fb68ae9c838294d38e1f209fedbc0dbf11d5 Author: Jaime Velasco Juan Date: Sun Jan 27 12:24:58 2008 -0300 V4L/DVB (7088): V4L: stkwebcam: Add support for YUYV format Signed-off-by: Jaime Velasco Juan Signed-off-by: Mauro Carvalho Chehab commit 0ed464e13e9321de9d1fff356eda58498574272e Author: Cyrill Gorcunov Date: Sat Jan 26 07:38:01 2008 -0300 V4L/DVB (7086): driver: tcm825x - fix logical typo error This patch does fix potential NULL pointer dereference due to logical typo error. The issue is pointed out by Guennadi Liakhovetski Signed-off-by: Cyrill Gorcunov CC: Sakari Ailus Signed-off-by: Mauro Carvalho Chehab commit 29e4e05041842bca57ec539e51cfeae8948e7320 Author: Hermann Pitton Date: Sun Jan 20 19:49:51 2008 -0300 V4L/DVB (7085): saa7134: detect the LifeView FlyDVB-T Hybrid Mini PCI Thanks to Angelo Lisco for his initial patch we missed and to Ahmet Dogan Ugurel confirming such a device functional. Signed-off-by: Hermann Pitton Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 728b92a2301c705dc36419ab0e7163b129462696 Author: Hermann Pitton Date: Sun Jan 20 19:42:01 2008 -0300 V4L/DVB (7084): saa7134: add support for the Medion / Creatix CTX948 card This adds support for analog inputs and DVB-T. Good sensitivity for DVB-T currently needs to use analog TV first. DVB-S support is not yet completed, but is on the way. Signed-off-by: Hermann Pitton Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit ad1ef131c35bb6967acd5ce3072a32ec1d27b482 Author: Hermann Pitton Date: Sun Jan 20 19:32:39 2008 -0300 V4L/DVB (7083): saa7134: enable radio and external analog audio-in on the md2819 It also enumerates now the separate composite input at first and adds mute ability to radio and external audio-in. Many thanks to Daftcho Tabakov for reporting the flaws and testing. Signed-off-by: Hermann Pitton Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 4ba243734a0363649c514353334ed3d6ca39a5fb Author: Hermann Pitton Date: Sun Jan 20 19:27:51 2008 -0300 V4L/DVB (7082): support for Twinhan Hybrid DTV-DVB 3056 PCI S-Video is unconfirmed, but likely correct. The remote is not yet investigated. Thanks go to Sioux for providing code and asking to fix the auto detection. Signed-off-by: sioux Signed-off-by: Hermann Pitton Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit c0e0aff9779303c7e3ef7e6db4001dbc2bfdcbdd Author: Antoine Jacquet Date: Fri Jan 25 22:03:10 2008 -0300 V4L/DVB (7081): zr364xx: add support for Creative DiVi CAM 516 Signed-off-by: Antoine Jacquet Signed-off-by: Mauro Carvalho Chehab commit 71c044752cdae89136862495f244d37073e2cf66 Author: Antoine Jacquet Date: Fri Jan 25 22:01:53 2008 -0300 V4L/DVB (7080): zr364xx: add support for Pentax Optio 50 Signed-off-by: Antoine Jacquet Signed-off-by: Mauro Carvalho Chehab commit e8e672c57736872ef0bd05640503ee04ff443890 Author: Antoine Jacquet Date: Fri Jan 25 22:00:19 2008 -0300 V4L/DVB (7079): zr364xx: fix typo in documentation Signed-off-by: Antoine Jacquet Signed-off-by: Mauro Carvalho Chehab commit 46c9fc861f2a47ce806671933f96f03ab3bdda7a Author: Akinobu Mita Date: Sat Jan 19 05:38:59 2008 -0300 V4L/DVB (7076): bt878: include KERN_ facility level printk should use KERN_* levels. CC: Manu Abraham Signed-off-by: Akinobu Mita Signed-off-by: Mauro Carvalho Chehab commit a348d2005d4a76c8c84150329f926c255c994ead Author: Mauro Carvalho Chehab Date: Fri Jan 18 08:53:26 2008 -0300 V4L/DVB (7049): Remove sound/driver.h sound/driver.h is already included by sound/core. Signed-off-by: Mauro Carvalho Chehab commit 057596eea8402aa8f7a670bf3195665aa8267204 Author: Mauro Carvalho Chehab Date: Sat Feb 2 11:25:31 2008 -0300 V4L/DVB (7133): Fix Kconfig dependencies As pointed by Adrian Bunk, with I2C=m and VIDEO_DEV=y, videodev brokes. This patch moves the functions that videodev needs from v4l2-common. It also fixes some Kconfig changes. After this patch, I2C=m / VIDEO_DEV=y will make v4l2 core statically linked into kernel. v4l2-common will be m, and all V4L drivers will also be m. This approach is very conservative, since it is possible to have V4L drivers that don't need I2C or v4l2-common. The better is to map what drivers really need v4l2-common, making them to select v4l2-common, and allowing the others to be 'y', 'm' and 'n'. Signed-off-by: Mauro Carvalho Chehab commit 1a4e30c3eaffb83218977477bb83d54316844acb Author: Mauro Carvalho Chehab Date: Thu Jan 31 13:15:52 2008 -0300 V4L/DVB (7119): Remove obsolete code from v4l2-common Signed-off-by: Mauro Carvalho Chehab commit a9254475bbfbed5f0596d952c6a3c9806e19dd0b Author: Mauro Carvalho Chehab Date: Tue Jan 29 18:32:35 2008 -0300 V4L/DVB (7115): Fix bug #9833: regression when compiling V4L without I2C Adrian Bunk reported: > > Commit 8ffbc6559493c64d6194c92d856196fdaeb8a5fb causes the following > > compile error with CONFIG_VIDEO_DEV=y/m, CONFIG_I2C=n: > > > > <-- snip --> > > > > ... > > MODPOST 26 modules > > ERROR: "i2c_attach_client" [drivers/media/video/v4l2-common.ko] undefined! > > make[2]: *** [__modpost] Error 1 > > > > <-- snip --> ... And what should happen if CONFIG_VIDEO_DEV=y, CONFIG_I2C=m? CC: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit 988d0093f9cb2bf27c299e373f9cbaac47dab2c1 Author: David S. Miller Date: Mon Feb 18 00:20:50 2008 -0800 [BLUETOOTH] hci_sysfs.c: Kill build warning. net/bluetooth/hci_sysfs.c: In function ‘del_conn’: net/bluetooth/hci_sysfs.c:339: warning: suggest parentheses around assignment used as truth value Signed-off-by: David S. Miller commit fea5fa875eb235dc186b1f5184eb36abc63e26cc Author: Joe Perches Date: Sun Feb 17 23:35:28 2008 -0800 [NET]: Remove MAC_FMT MAC_FMT is no longer used Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 235365f3aaaa10b7056293877c0ead50425f25c7 Author: Joe Perches Date: Sun Feb 17 23:34:54 2008 -0800 net/8021q/vlan_dev.c: Use print_mac. Remove direct use of MAC_FMT Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit b791160b5af4ea95c72fb59d13079664beca1963 Author: YOSHIFUJI Hideaki Date: Sun Feb 17 23:29:30 2008 -0800 [XFRM]: Fix ordering issue in xfrm_dst_hash_transfer(). Keep ordering of policy entries with same selector in xfrm_dst_hash_transfer(). Issue should not appear in usual cases because multiple policy entries with same selector are basically not allowed so far. Bug was pointed out by Sebastien Decugis . We could convert bydst from hlist to list and use list_add_tail() instead. Signed-off-by: YOSHIFUJI Hideaki Acked-by: Sebastien Decugis Signed-off-by: David S. Miller commit 82453021b8be85171350c695d7ebafe7b517c812 Author: S.Çağlar Onur Date: Sun Feb 17 23:25:57 2008 -0800 [BLUETOOTH] net/bluetooth/hci_core.c: Use time_* macros The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. So following patch implements usage of the time_after() macro, defined at linux/jiffies.h, which deals with wrapping correctly Signed-off-by: S.Çağlar Onur Acked-by: Marcel Holtmann Signed-off-by: David S. Miller commit cbc9fc5dec60f84b62e0144165c545abd24847c0 Author: S.Çağlar Onur Date: Sun Feb 17 23:24:10 2008 -0800 [SPARC64] arch/sparc64/kernel/unaligned.c: Use time_* macros The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. So following patch implements usage of the time_after() macro, defined at linux/jiffies.h, which deals with wrapping correctly Signed-off-by: S.Çağlar Onur Signed-off-by: David S. Miller commit 3c62a2d3477ff7725210db57aec3d2806fa10c20 Author: David S. Miller Date: Sun Feb 17 23:22:50 2008 -0800 [SPARC64]: Always register a PROM based early console. Signed-off-by: David S. Miller commit f6095a5176e17b510235e80ecfb542eaee6e5666 Author: David S. Miller Date: Sun Feb 17 22:44:32 2008 -0800 [SPARC64]: Update defconfig. Signed-off-by: David S. Miller commit 966d905634de4433cea465fdcea19503c4ae260f Author: David S. Miller Date: Thu Feb 14 00:58:44 2008 -0800 [SPARC64]: Add -mtune=ultrasparc3 if possible. This gives better heuristics for the cost of a multiply (fixed 5 cycles), rather than the 'ultrasparc' setting (variable, and unpredictable if the second argument is non-constant). Example code size savings: text data bss dec hex filename 3823690 304040 448880 4576610 45d562 vmlinux 3824521 304040 448880 4577441 45d8a1 vmlinux.orig Signed-off-by: David S. Miller commit 54cd6ddec77b75e6926d73d263aec72255b24030 Author: David S. Miller Date: Thu Feb 14 00:37:21 2008 -0800 [SPARC64]: Remove Makefile code for ancient gcc and binutils. The kernel hasn't supported the compilers which need these tests for years. Signed-off-by: David S. Miller commit 5ee46e562c9c10a5e25920c4406a42061cf27839 Author: Wang Chen Date: Sun Feb 17 22:34:53 2008 -0800 [IPV6]: Fix hardcoded removing of old module code Rusty hardcoded the old module code. We can remove it now. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 05705e4e1158ad2c1a22817f27d91ff0758fd0a9 Author: Pavel Emelyanov Date: Sun Feb 17 22:33:57 2008 -0800 [NETLABEL]: Move some initialization code into __init section. Everything that is called from netlbl_init() can be marked with __init. This moves 620 bytes from .text section to .text.init one. Signed-off-by: Pavel Emelyanov Acked-by: Paul Moore Signed-off-by: David S. Miller commit 227c43c3bca76df704231324405980851dc7f528 Author: Pavel Emelyanov Date: Sun Feb 17 22:33:16 2008 -0800 [NETLABEL]: Shrink the genl-ops registration code. Turning them to array and registration in a loop saves 80 lines of code and ~300 bytes from text section. Signed-off-by: Pavel Emelyanov Acked-by: Paul Moore Signed-off-by: David S. Miller commit f47b7257c7368698eabff6fd7b340071932af640 Author: Jarek Poplawski Date: Sun Feb 17 22:31:19 2008 -0800 [AX25] ax25_out: check skb for NULL in ax25_kick() According to some OOPS reports ax25_kick tries to clone NULL skbs sometimes. It looks like a race with ax25_clear_queues(). Probably there is no need to add more than a simple check for this yet. Another report suggested there are probably also cases where ax25 ->paclen == 0 can happen in ax25_output(); this wasn't confirmed during testing but let's leave this debugging check for some time. Reported-and-tested-by: Jann Traschewski Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 9bf1d83e7ee653862ef740435a7f41e8fd6452a9 Author: Kris Katterjohn Date: Sun Feb 17 22:29:19 2008 -0800 [TCP]: Fix tcp_v4_send_synack() comment Signed-off-by: Kris Katterjohn Signed-off-by: David S. Miller commit 9c00409a2a677511506126634fbfd9f217989e57 Author: Uwe Kleine-Koenig Date: Sun Feb 17 22:28:32 2008 -0800 [IPV4]: fix alignment of IP-Config output Make the indented lines aligned in the output (not in the code). Signed-off-by: Uwe Kleine-Koenig Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 32b90fc8b11b94b719745512d7e58c0b25717260 Author: Matti Linnanvuori Date: Sun Feb 17 22:21:04 2008 -0800 Documentation: fix tcp.txt Replace BIC with CUBIC as default congestion control. Fix grammar. Signed-off-by: Matti Linnanvuori Signed-off-by: David S. Miller 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 ae770152c801f10a91e5e86597a39b5f9ccf2d0d Author: Rudolf Marek Date: Fri Jan 18 00:50:04 2008 +0100 hwmon: (coretemp) Add Penryn CPU to coretemp This patch adds support for family 0x17, which has Penryn Core. It should also cover the 8 cores Xeons. Can someone test please? I think it should work. Signed-off-by: Rudolf Marek Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 118a88718886a6cb7fb2cf7fb77ef2eea30c73a1 Author: Rudolf Marek Date: Sun Feb 17 22:59:39 2008 +0100 hwmon: (coretemp) Add TjMax detection for mobile CPUs Following patch will finally solve the detection of Intel Mobile CPUs which share same CPUID with Desktop/Server CPUs. We need this information to test some bit so we know if TjMax is 100C or 85C. Intel claims this works for mobiles only, respect that and set for desktops the TjMax to 100C. Intel provided some table on their wiki based on my chat with them at: http://softwarecommunity.intel.com/isn/Community/en-US/forums/30247249/ShowThread.aspx#30247249 Signed-off-by: Rudolf Marek Signed-off-by: Mark M. Hoffman commit c58310bf4933986513020fa90b4190c7492995ae Merge: 269cdfa... 1309d4e... Author: Lachlan McIlroy Date: Mon Feb 18 13:51:42 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus commit d6584f3a08055688b2344eb26379fb2f3147ce91 Author: Julia Lawall Date: Sun Feb 17 18:42:53 2008 -0800 net/9p/trans_virtio.c: Use BUG_ON if (...) BUG(); should be replaced with BUG_ON(...) when the test has no side-effects to allow a definition of BUG_ON that drops the code completely. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ disable unlikely @ expression E,f; @@ ( if (<... f(...) ...>) { BUG(); } | - if (unlikely(E)) { BUG(); } + BUG_ON(E); ) @@ expression E,f; @@ ( if (<... f(...) ...>) { BUG(); } | - if (E) { BUG(); } + BUG_ON(E); ) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 163e3cb7daa8c3a6dde6a13a3d09a198930c6822 Author: Julia Lawall Date: Sun Feb 17 18:42:03 2008 -0800 net/rxrpc: Use BUG_ON if (...) BUG(); should be replaced with BUG_ON(...) when the test has no side-effects to allow a definition of BUG_ON that drops the code completely. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ disable unlikely @ expression E,f; @@ ( if (<... f(...) ...>) { BUG(); } | - if (unlikely(E)) { BUG(); } + BUG_ON(E); ) @@ expression E,f; @@ ( if (<... f(...) ...>) { BUG(); } | - if (E) { BUG(); } + BUG_ON(E); ) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 9ff566074689e3aed1488780b97714ec43ba361d Author: David S. Miller Date: Sun Feb 17 18:39:54 2008 -0800 Revert "[NDISC]: Fix race in generic address resolution" This reverts commit 69cc64d8d92bf852f933e90c888dfff083bd4fc9. It causes recursive locking in IPV6 because unlike other neighbour layer clients, it even needs neighbour cache entries to send neighbour soliciation messages :-( We'll have to find another way to fix this race. Signed-off-by: David S. Miller commit 93b2d4a208eeb19bff95e98c34503ce4b03cd0f9 Author: David S. Miller Date: Sun Feb 17 18:35:07 2008 -0800 Revert "[RTNETLINK]: Send a single notification on device state changes." This reverts commit 45b503548210fe6f23e92b856421c2a3f05fd034. It break locking around dev->link_mode as well as cause other bootup problems. Signed-off-by: David S. Miller commit 269cdfaf769f5cd831284cc831790c7c5038040f Author: Lachlan McIlroy Date: Wed Nov 28 18:28:09 2007 +1100 [XFS] Added quota targets and removed dmapi directory Fixes build failures introduced by bad merge to mainline. commit 794f744b225aaf35742aac9e7b9dda96a9943413 Author: Eric Sandeen Date: Tue Nov 27 16:59:56 2007 +1100 [XFS] Fix up xfs out-of-tree builds. (a.k.a. external modules) Change -I include directives to find headers in the out-of-tree spot. This allows a directory containing only xfs files to be built as: SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:29878a Signed-off-by: Eric Sandeen Signed-off-by: Donald Douwsma Signed-off-by: Lachlan McIlroy commit 58b7983d15a422d9616bdc4e245d5c31dfaefbe2 Author: Andi Kleen Date: Tue Nov 27 16:53:47 2007 +1100 [XFS] Remove Makefile wrappers in XFS Makefile (and Kbuild) would include Makefile-linux-26 I doubt XFS will really still compile on 2.4; so drop that. This moves Makefile-linux-26 into Makefile and drops Kbuild. Also having wrappers as both Kbuild and Makefile seemed redundant anyways. The patch is relatively large because it renames a file, but no functional changes. SGI-PV: 971050 SGI-Modid: xfs-linux-melb:xfs-kern:29781a Signed-off-by: Andi Kleen Signed-off-by: Donald Douwsma Signed-off-by: Tim Shimmin Signed-off-by: Lachlan McIlroy commit c8620c2590f43eff864fe597fcbe5b72ab7a7b94 Author: Adrian Bunk Date: Mon Feb 18 09:00:05 2008 +0800 [CRYPTO] null: Add missing Kconfig dependency on BLKCIPHER This patch fixes the following build error caused by commit 3631c650c495d61b1dabf32eb26b46873636e918: <-- snip --> ... LD .tmp_vmlinux1 crypto/built-in.o: In function `skcipher_null_crypt': crypto_null.c:(.text+0x3d14): undefined reference to `blkcipher_walk_virt' crypto_null.c:(.text+0x3d14): relocation truncated to fit: R_MIPS_26 against `blkcipher_walk_virt' crypto/built-in.o: In function `$L32': crypto_null.c:(.text+0x3d54): undefined reference to `blkcipher_walk_done' crypto_null.c:(.text+0x3d54): relocation truncated to fit: R_MIPS_26 against `blkcipher_walk_done' crypto/built-in.o:(.data+0x2e8): undefined reference to `crypto_blkcipher_type' make[1]: *** [.tmp_vmlinux1] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Herbert Xu commit cd19ba1391f93bc3741d298667c074d2d3fcc9fd Author: Riki Oktarianto Date: Mon Feb 4 23:41:58 2008 -0800 hwmon: (applesmc) sensors set for MacBook2 On my mid-2007 MacBook2, reading Ts0P sensor always failed with this message: applesmc: wait status failed: 5 != 50. So I assume that there's no such Ts0p sensor in this model (please confirm, anyone). If there's the case, then we need a new set of sensors defined for MacBook2. Signed-off-by: Riki Oktarianto Cc: Nicolas Boichat Signed-off-by: Andrew Morton Signed-off-by: Mark M. Hoffman commit 5910a9b2b1ff6205b39e5e03fdfd0ddb2a78386a Author: Tobias Klauser Date: Sun Feb 17 15:39:24 2008 +0100 hwmon: (thmc50) 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: Mark M. Hoffman commit db4315d6f53edc2cc0b0b06fce1beffebb119c71 Author: Pavel Machek Date: Tue Feb 5 00:48:13 2008 +0100 timer_list: print relative expiry time signed Relative expiry time can get negative, so it should be signed. Signed-off-by: Pavel Machek Signed-off-by: Thomas Gleixner commit ba7c1927aa69c4dfe1ecf646f03b306e49dc8e37 Author: Sam Ravnborg Date: Sun Feb 17 13:22:51 2008 +0100 hwmon: (coretemp) fix section mismatch warning Fix following warning: WARNING: vmlinux.o(.text+0xebfd04): Section mismatch in reference from the function coretemp_cpu_callback() to the function .cpuinit.text:coretemp_device_add() coretemp_cpu_callback() are only used inside a HOTPLUG_CPU block so annotate it __cpuinit. The notifier referencing the function are annotated __refdata to silence warning from the exit function. The unregister function do not use the embedded pointer but clears the variable so the annotation is OK. Signed-off-by: Sam Ravnborg Signed-off-by: Mark M. Hoffman commit 6369a2887a1b35fde91573adc650528e3efea8e9 Author: Rudolf Marek Date: Fri Jan 18 00:42:54 2008 +0100 hwmon: (coretemp) Add maximum cooling temperature readout Following patch will add reporting of maximum temperature, at which all fans should spin full speed. It may be non-physical temperature on Desktop/Server CPUs. Signed-off-by: Rudolf Marek Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 1d5f2c16c6125ae6da1435ac5a190ae08429902a Author: Jean Delvare Date: Sun Feb 10 19:01:15 2008 +0100 hwmon: (adm1026) Properly terminate sysfs groups The missing NULL at the end of two sysfs file groups causes a kernel crash when calling sysfs_create_group(). Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit af865765a9ee3e3510f0fe82a4f1308d2820b7f6 Author: Roger Lucas Date: Wed Feb 13 07:52:06 2008 -0500 hwmon: (vt8231) Update maintainer email address Signed-off-by: Roger Lucas (modified MAINTAINERS entry also - MMH) Signed-off-by: Mark M. Hoffman commit 2d1374cad5a97d7c08a2c0e4282fb674b588b421 Author: Jean Delvare Date: Sun Jan 6 15:46:02 2008 +0100 hwmon: (vt8231) Add individual alarm files The new libsensors needs these individual alarm files. Signed-off-by: Jean Delvare CC: Roger Lucas Acked-by: Juerg Haefliger Signed-off-by: Mark M. Hoffman commit 13ff05e9f87101407445f79c7402aca087ddbd02 Author: Jean Delvare Date: Sun Jan 6 15:42:04 2008 +0100 hwmon: (via686a) Add individual alarm files The new libsensors needs these individual alarm files. Signed-off-by: Jean Delvare Acked-by: Juerg Haefliger Signed-off-by: Mark M. Hoffman commit 1f08af7ea95e0f4ec632664b9f21a687426df658 Author: Jean Delvare Date: Sun Jan 6 15:36:13 2008 +0100 hwmon: (smsc47m1) Add individual alarm files The new libsensors needs these individual alarm files. Signed-off-by: Jean Delvare Acked-by: Juerg Haefliger Signed-off-by: Mark M. Hoffman commit 71062ffcd5173b8291ee80e84711b619b34a64eb Author: Jean Delvare Date: Sun Jan 6 15:27:59 2008 +0100 hwmon: (max1619) Add individual alarm and fault files The new libsensors needs these individual alarm and fault files. Signed-off-by: Jean Delvare Acked-by: Juerg Haefliger Signed-off-by: Mark M. Hoffman commit 6cb59e915d04f71c62a0ee8fab34de274aa3fe2a Author: Jean Delvare Date: Sun Jan 6 15:25:52 2008 +0100 hwmon: (lm92) Add individual alarm files The new libsensors needs these individual alarm files. Signed-off-by: Jean Delvare Acked-by: Juerg Haefliger Signed-off-by: Mark M. Hoffman commit ea833f0b5a8afcc698c5ccb06237902c0e21e032 Author: Holger Schurig Date: Mon Feb 11 16:53:15 2008 +0100 [ARM] 4829/1: add .get method to pxa-cpufreq to silence a warning The .get method is needed for suspend/resume. Otherwise you get this in dmesg: cpufreq: suspend failed to assert current frequency is what timing core thinks it is. cpufreq: resume failed to assert current frequency is what timing core thinks it is. Signed-off-by: Holger Schurig Signed-off-by: Russell King commit ac2bf5bdc6ab9d820152623122973ccb1c166031 Author: Holger Schurig Date: Mon Feb 11 16:52:30 2008 +0100 [ARM] 4828/1: fix 3 warnings in drivers/video/pxafb.c * Silence a debug output. * Silence three sparse warnings, one still left. Signed-off-by: Holger Schurig Signed-off-by: Russell King commit d6a7b5f84b5c15617010e06c95129fe8800e6b21 Author: Holger Schurig Date: Mon Feb 11 16:51:41 2008 +0100 [ARM] 4827/1: fix two warnings in drivers/i2c/busses/i2c-pxa.c This fixes two warnings: * unused static defined function decode_ICR() when compiled without CONFIG_I2C_PXA_SLAVE * a sparse warning about a void function returning something Signed-off-by: Holger Schurig Signed-off-by: Russell King commit 59e8ce574445c5e7a65ec36f47a54803de704e96 Author: Byron Bradley Date: Sun Feb 10 22:31:09 2008 +0100 [ARM] 4826/1: Orion: Register the RTC interrupt on the TS-209 The QNAP TS-209 has its RTC interrupt on GPIO 3. Setup this as an interrupt and pass it to the i2c_board_info. Signed-off-by: Byron Bradley Acked-by: Nicolas Pitre Signed-off-by: Russell King commit a0dd005d1d9f4c3beab52086f3844ef9342d1e67 Author: Russell King Date: Sun Feb 17 10:35:15 2008 +0000 [ARM] pxa: fix clock lookup to find specific device clocks Ensure that the clock lookup always finds an entry for a specific device and ID before it falls back to finding just by ID. This fixes a problem reported by Holger Schurig where the BTUART was assigned the wrong clock. Tested-by: Holger Schurig Signed-off-by: Russell King commit edd2fd643c500c812cae5b0d314ab9db9f959898 Author: Chien Tung Date: Fri Feb 15 21:00:36 2008 -0600 RDMA/nes: Fix VLAN support We need to account for the VLAN header size in nes_netdev_change_mtu() and nes_netdev_init(). Also, add spin lock/unlock during VLAN RX registration so only one process can assign VLAN group for a given interface at a time. Signed-off-by: Chien Tung Signed-off-by: Glenn Streiff Signed-off-by: Roland Dreier 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 13dbf42210565418e925f883e9217b9eda5244a2 Author: Josh Boyer Date: Sat Feb 16 08:01:10 2008 -0600 [POWERPC] 44x: Add multiplatform defconfig Add a multiboard defconfig for PowerPC 44x now that the wrapper can create the proper zImages for multiple boards. Signed-off-by: Josh Boyer commit e85ff4b53eb4252d967922bd75cb6d10863955f3 Author: Glauber Costa Date: Sat Feb 16 01:01:13 2008 -0500 ACPI: remove is_processor_present prototype The function itself is defined just below, so this prototype is not really useful. Signed-off-by: Glauber Costa Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 262ee35be6a3aae9b4a7aafafc2dba901fc36620 Author: Carlos Corbacho Date: Sat Feb 16 00:02:56 2008 +0000 acer-wmi: Add DMI match for mail LED on Acer TravelMate 4200 series The TM4200 series use the same method as the TM2490 series to control the mail LED, so add a DMI based quirk for these laptops. Signed-off-by: Carlos Corbacho Signed-off-by: Len Brown commit 4fd7f5188c377c1e9aa8f224f6edf96d170a7d32 Author: Harvey Harrison Date: Fri Feb 15 17:07:19 2008 -0800 ACPI: sparse fix, replace macro with static function replace acpi_util_eval_error macro with static function. Avoid these sparse warnings due to using buffer within the macro. drivers/acpi/utils.c:273:3: warning: symbol 'buffer' shadows an earlier one drivers/acpi/utils.c:259:21: originally declared here drivers/acpi/utils.c:279:3: warning: symbol 'buffer' shadows an earlier one drivers/acpi/utils.c:259:21: originally declared here drivers/acpi/utils.c:368:3: warning: symbol 'buffer' shadows an earlier one drivers/acpi/utils.c:348:21: originally declared here drivers/acpi/utils.c:375:3: warning: symbol 'buffer' shadows an earlier one drivers/acpi/utils.c:348:21: originally declared here drivers/acpi/utils.c:382:3: warning: symbol 'buffer' shadows an earlier one drivers/acpi/utils.c:348:21: originally declared here drivers/acpi/utils.c:402:4: warning: symbol 'buffer' shadows an earlier one drivers/acpi/utils.c:348:21: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Len Brown commit 6c231bd5eb07ce546517019f334652b9ecfc329a Author: Henrique de Moraes Holschuh Date: Sat Feb 16 02:17:58 2008 -0200 ACPI: thinkpad-acpi: add tablet-mode reporting A quick study of the 0x5009/0x500A HKEY event on the X61t DSDT revealed the existence of the EC HTAB register (EC 0x0f, bit 7), and a compare with the X41t DSDT shows that HKEY.MHKG can be used to verify if the ThinkPad is tablet-capable (MHKG present), and in tablet mode (bit 3 of MHKG return is set). Add an attribute to report this information, "hotkey_tablet_mode". This attribute has poll()/select() support, and can be used along with EV_SW SW_TABLET_MODE to hook userspace to tablet events. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit d147da73c9a3f617e4685c6a7762961fe19833e7 Author: Henrique de Moraes Holschuh Date: Sat Feb 16 02:17:57 2008 -0200 ACPI: thinkpad-acpi: minor hotkey_radio_sw fixes Fixes some minor points in the radio switch code and docs. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit d0788cfbae0eddf13d5f2591acb1b407ba041d71 Author: Henrique de Moraes Holschuh Date: Sat Feb 16 02:17:56 2008 -0200 ACPI: thinkpad-acpi: improve thinkpad-acpi input device documentation Fix a few spelling errors, and also document the EV_SW events thinkpad-acpi can issue. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit b3ec6f911a681f38e4630ef8bf20b3d3cb0f63c2 Author: Henrique de Moraes Holschuh Date: Sat Feb 16 02:17:55 2008 -0200 ACPI: thinkpad-acpi: issue input events for tablet swivel events Issue EV_SW SW_TABLET_MODE events for HKEY events 0x5009 and 0x500A on the X41t/X60t/X61t. As usual, we suppress the HKEY events on the netlink interface to avoid sending duplicate events to userspace. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit d7c1d17dfed996e84212fc1ce617b2586dd70ec2 Author: Henrique de Moraes Holschuh Date: Sat Feb 16 02:17:54 2008 -0200 ACPI: thinkpad-acpi: make the video output feature optional The video output port control feature is not very useful on many ThinkPads (especially when a X server is running), and lately userspace is getting better and better at it, so it makes sense to allow users to stripe out the thinkpad-acpi video feature from their kernels and save at least 2KB. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 7526696a013f33d4926fdc080c26fe6af07ba30f Author: Henrique de Moraes Holschuh Date: Sat Feb 16 02:17:53 2008 -0200 ACPI: thinkpad-acpi: synchronize input device switches Issue EV_SW events at module init time to synchronize the input device with the current state of the switch, otherwise we might lose the first event. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 1bc6b9cdd5e608f0b7e6160a823c9dcd51820410 Author: Henrique de Moraes Holschuh Date: Sat Feb 16 02:17:52 2008 -0200 ACPI: thinkpad-acpi: always track input device open/close The open() and close() hooks for the input device are useful even when hotkey NVRAM polling support is not in use, so it is better to always have them around. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 5f24927f48c63e79ff8e286fc8530f4525b4182a Author: Henrique de Moraes Holschuh Date: Sat Feb 16 02:17:51 2008 -0200 ACPI: thinkpad-acpi: trivial fix to documentation Fix a stray ibm-acpi that should have been replaced with thinkpad-acpi. Thanks to Damjan for noticing this one. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit cbb14842137ff78df10038da8ca8a97917a5a926 Author: Henrique de Moraes Holschuh Date: Sat Feb 16 02:17:50 2008 -0200 ACPI: thinkpad-acpi: trivial fix to module_desc typo Thanks to Damjan for noticing this one. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 4b63c3b9a636b02793d2edb878e83840d4cdb25f Author: Josh Boyer Date: Fri Feb 15 22:05:03 2008 -0600 [POWERPC] 44x: Fix Kconfig formatting Clean up some whitespace issues in the 44x Kconfig file. Signed-off-by: Josh Boyer commit 8eb70ea2dbba1d0b15f693a85b60d1f56c527ff2 Author: Josh Boyer Date: Fri Feb 15 22:00:19 2008 -0600 [POWERPC] 4xx: Update defconfigs for 2.6.25 Update the 4xx defconfigs to remove WANT_DEVICE_TREE and add MTD_OF_PARTS where appropriate. Signed-off-by: Josh Boyer commit e563db977f58836c30ce3ee7cb6719c47feac4be Author: Stefan Roese Date: Wed Jan 16 20:00:00 2008 +1100 [POWERPC] 4xx: Remove "i2c" and "xxmii-interface" device_types from dts Remove all "i2c" and "xxmii-interface" (rgmii etc) device_type entries from the 4xx dts files. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 7fe5f10ed032251f35258be2ee5296bca4299471 Author: Wolfgang Ocker Date: Mon Feb 11 06:24:02 2008 +1100 [POWERPC] PPC440EP Interrupt Triggering and Level Settings Corrected IRQ triggering and level settings according to latest revision of the 440EP User Manual (rev 1.24 nov 16, 2007). The incorrect settings might cause a failure of the network if both onchip ethernet ports are under heavy load. Signed-off-by: Wolfgang Ocker Acked-by: Stefan Roese Signed-off-by: Josh Boyer commit 2278e8119d9465b498763af7c1077b558f7599b1 Author: Stefan Roese Date: Wed Feb 6 23:21:59 2008 +1100 [POWERPC] net: NEWEMAC: Remove "rgmii-interface" from rgmii matching table With the removal the the "rgmii-interface" device_type property from the dts files, the newemac driver needs an update to only rely on compatible property. Signed-off-by: Stefan Roese Acked-by: Benjamin Herrenschmidt Acked-by: Jeff Garzik Signed-off-by: Josh Boyer commit b57dfbc4f7f8d394c5e96677d2b66ffca1b4e8a7 Merge: 42fe95c... e8ef7f2... Author: David S. Miller Date: Fri Feb 15 15:59:19 2008 -0800 Merge branch 'upstream-davem' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit 42fe95cae50bbea4c83b15962b853d6d3b14db37 Merge: 997b37d... 6fff1c6... Author: David S. Miller Date: Fri Feb 15 15:56:47 2008 -0800 Merge branch 'fixes' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 69f6b8dd6b94ac594b6920b4530a3390fb1d3fd6 Author: Thomas Sujith Date: Fri Feb 15 01:05:23 2008 -0500 intel_menlo: extract return values using PTR_ERR Need to extract errors using PTR_ERR macro and process accordingly.thermal_cooling_device_register returning NULL means that CONFIG_THERMAL=n and in that case no need to create symbolic links. Signed-off-by: Thomas Sujith Signed-off-by: Len Brown commit 1309d4e68497184d2fd87e892ddf14076c2bda98 Merge: 101142c... 5410f72... Author: Linus Torvalds Date: Fri Feb 15 15:29:23 2008 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: ata: fix sparse warning in pata_acpi.c ata: fix sparse warning in pata_marvell.c ata: fix sparse warning in pata_jmicron.c ata: fix sparse warning in pata_cs5536.c ata: sparse fixes for pata_amd.c pata_scc.c: add thaw ops pata_cs5536.c bugfix pata_legacy: don't call ata_host_detach() after initialization failure ata: fix sparse warnings in sata_mv.c ata: fix sparse warning in sata_via.c ata: fix sparse warning in sata_promise.c ata: fix sparse warning in ata_piix.c ata: fix sparse warning in libata-core.c ata: make ata_scsiop_inq_89 static in libata-scsi.c commit 43ff39f2f6450fa2e9a566f8bf007a26d76f2c9d Author: Thomas Sujith Date: Fri Feb 15 18:29:18 2008 -0500 ACPI video: check for error from thermal_cooling_device_register Need to check whether thermal_cooling_device_register returned ERROR or not. Signed-off-by: Thomas Sujith Signed-off-by: Len Brown commit d76628c67cdeebf84766a19c67c821c2e518baa4 Author: Thomas Sujith Date: Fri Feb 15 18:26:54 2008 -0500 ACPI thermal: extract return values using PTR_ERR Need to extract errors using PTR_ERR macro and process accordingly.thermal_cooling_device_register returning NULL means that CONFIG_THERMAL=n and in that case no need to create symbolic links. Signed-off-by: Thomas Sujith Signed-off-by: Len Brown commit f28bb45e2863173a7464d98907677e903f42c68b Author: Zhao Yakui Date: Fri Feb 15 08:34:37 2008 +0800 ACPI: thermal: Check whether cooling device exists before unregistering OS should check whether the cooling device exists before it is unregistered. If it doesn't exists, it is unnecessary to remove the sysfs link and call the function of thermal_cooling_device_unregister. http://bugzilla.kernel.org/show_bug.cgi?id=9982 Signed-off-by: Zhao Yakui Tested-by : Dhaval Giani Signed-off-by: Len Brown commit 19b36780ee7ddeb5080e3f1f858a83c4824f1fdc Author: Thomas Sujith Date: Fri Feb 15 01:01:52 2008 -0500 ACPI fan: extract return values using PTR_ERR Need to extract errors using PTR_ERR macro and process accordingly. thermal_cooling_device_register returning NULL means that CONFIG_THERMAL=n and in that case no need to create symbolic links. Signed-off-by: Thomas Sujith Signed-off-by: Len Brown commit 3e6fda5c1159823fc02463eceb564c8bfc0e7a0e Author: Thomas Sujith Date: Fri Feb 15 00:59:50 2008 -0500 thermal: use ERR_PTR for returning error Need to return using ERR_PTR instead of NULL in case of errors. Signed-off-by: Thomas Sujith Signed-off-by: Len Brown commit c751670902c3dd9abbed279170a832e6a1e6cf94 Author: Thomas Sujith Date: Fri Feb 15 00:58:50 2008 -0500 thermal: validate input parameters Added sanity check to make sure that thermal zone and cooling device exists. Signed-off-by: Thomas Sujith Signed-off-by: Len Brown commit 5958f1a4da39581074bab50cabd0a582e651b90f Author: Randy Dunlap Date: Sun Feb 3 15:06:25 2008 -0800 kernel-doc: fix pci-acpi warning Fix PCI kernel-doc warning: Warning(linux-2.6.24-git12//drivers/pci/pci-acpi.c:166): No description found for parameter 'hid' Signed-off-by: Randy Dunlap Signed-off-by: Len Brown commit 11e0704b7ec3abfeaee7e3a56f11c82024d1ae01 Author: Glenn Streiff Date: Fri Feb 15 11:41:27 2008 -0600 RDMA/nes: Fix MAC interrupt erroneously masked on ifdown Only mask out MAC interrupt if necessary and re-enable on ifup. There could be multiple netdevs going through the same MAC. MAC interrupts should not be masked off until the last netdev is downed. Signed-off-by: Chien Tung Signed-off-by: Glenn Streiff Signed-off-by: Roland Dreier commit c7482b81c8b524193d736488c149adbe27a7eb7f Author: Li Zefan Date: Fri Feb 15 10:24:49 2008 +0800 IB: Fix return value in ib_device_register_sysfs() If kobject_create_and_add() fails and returns NULL, the current code in ib_device_register_sysfs() does not set ret and hence returns 0. Set ret to -ENOMEM for this failure, so that the caller knows that ib_device_register_sysfs() actually failed. Signed-off-by: Li Zefan Signed-off-by: Roland Dreier commit 0a3abcf75bf391fec4e32356ab5ddb8f5d2e6b41 Merge: 70eff55... 101142c... Author: Steve French Date: Fri Feb 15 21:06:08 2008 +0000 Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 101142c37be8e5af9b847860219217e6b958c739 Author: Linus Torvalds Date: Fri Feb 15 12:57:20 2008 -0800 Linux 2.6.25-rc2 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 03df25dc0313fbde19534a187eec5829eb16dbc6 Merge: f6866fe... 52833e8... Author: Linus Torvalds Date: Fri Feb 15 12:44:41 2008 -0800 Merge branch 'hotfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * 'hotfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: NFS: add missing spkm3 strings to mount option parser NFS: remove error field from nfs_readdir_descriptor_t NFS: missing spaces in KERN_WARNING NFS: Allow text-based mounts via compat_sys_mount NFS: fix reference counting for NFSv4 callback thread 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 5410f729e331bd607d99057ece59f6d7866cd3dc Author: Harvey Harrison Date: Wed Feb 13 21:14:31 2008 -0800 ata: fix sparse warning in pata_acpi.c drivers/ata/pata_acpi.c:80:2: warning: returning void-valued expression Signed-off-by: Harvey Harrison Signed-off-by: Jeff Garzik commit 42268e26aa9d2b6d0d1f890c354447f185fc2624 Author: Harvey Harrison Date: Wed Feb 13 21:14:29 2008 -0800 ata: fix sparse warning in pata_marvell.c drivers/ata/pata_marvell.c:88:2: warning: returning void-valued expression Signed-off-by: Harvey Harrison Signed-off-by: Jeff Garzik commit ef2f2e4911654f0bc3b432b3d27e7c4d992efb7b Author: Harvey Harrison Date: Wed Feb 13 21:14:26 2008 -0800 ata: fix sparse warning in pata_jmicron.c drivers/ata/pata_jmicron.c:118:2: warning: returning void-valued expression Signed-off-by: Harvey Harrison Signed-off-by: Jeff Garzik commit 2072fb55cf2400f2f7f4b47849b69f440bb9808f Author: Harvey Harrison Date: Wed Feb 13 21:14:23 2008 -0800 ata: fix sparse warning in pata_cs5536.c Everybody passes in a u32...why fight it. drivers/ata/pata_cs5536.c:124:26: warning: incorrect type in argument 3 (different signedness) drivers/ata/pata_cs5536.c:124:26: expected int *val drivers/ata/pata_cs5536.c:124:26: got unsigned int * Signed-off-by: Harvey Harrison Signed-off-by: Jeff Garzik commit d98f88c222bf56cfa5839930fb0d0af22d1c36bf Author: Harvey Harrison Date: Wed Feb 13 21:14:20 2008 -0800 ata: sparse fixes for pata_amd.c drop return statement. drivers/ata/pata_amd.c:149:2: warning: returning void-valued expression Commit ce54d1616302117fa98513ae916bb3333e1c02ea pata_amd: update mode selection for NV PATAs added the initializer for nv_mode_filter but missed deleting the previously set mode_filter drivers/ata/pata_amd.c:509:3: warning: Initializer entry defined twice drivers/ata/pata_amd.c:521:3: also defined here drivers/ata/pata_amd.c:544:3: warning: Initializer entry defined twice drivers/ata/pata_amd.c:556:3: also defined here Signed-off-by: Harvey Harrison Signed-off-by: Jeff Garzik commit 1ec414ecc0fe09a610dfafcc6958103a37b7eb0f Author: Akira Iguchi Date: Wed Feb 13 11:55:07 2008 +0900 pata_scc.c: add thaw ops This patch adds default thaw ops and fixes the freeze/thaw inconsistency. Signed-off-by: Kou Ishizaki Signed-off-by: Akira Iguchi Signed-off-by: Jeff Garzik commit b6966a61a8b5df2987856c81f39a8fd014d32a80 Author: Martin K. Petersen Date: Wed Feb 13 01:41:44 2008 -0500 pata_cs5536.c bugfix Fix speed negotiation for secondary device. Signed-off-by: Martin K. Petersen Signed-off-by: Jeff Garzik commit 7a3a16fe7ddf0570e2fcf286d7e244a5e1e16f6a Author: Tejun Heo Date: Wed Feb 13 18:20:19 2008 +0900 pata_legacy: don't call ata_host_detach() after initialization failure ata_host_detach() detaches an attached port and shouldn't be called on a port which hasn't been attached yet. pata_legacy incorrectly calls ata_host_detach() on unattached port after initialization failure causing oops. Fix it. Signed-off-by: Tejun Heo Cc: Alan Cox Cc: Ingo Molnar Cc: Arjan van de Ven Signed-off-by: Jeff Garzik commit 5ab063e397d9f6fcadb37a07465efcc87f9e9345 Author: Harvey Harrison Date: Wed Feb 13 21:14:14 2008 -0800 ata: fix sparse warnings in sata_mv.c pp is never used again in this function, no need to declare a new one. drivers/ata/sata_mv.c:1545:24: warning: symbol 'pp' shadows an earlier one drivers/ata/sata_mv.c:1501:22: originally declared here drivers/ata/sata_mv.c:1553:24: warning: symbol 'pp' shadows an earlier one drivers/ata/sata_mv.c:1501:22: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Jeff Garzik commit 48e1f800eaa08eefe00476b83a7983b707d31848 Author: Harvey Harrison Date: Wed Feb 13 21:14:11 2008 -0800 ata: fix sparse warning in sata_via.c drivers/ata/sata_via.c:336:2: warning: returning void-valued expression Signed-off-by: Harvey Harrison Signed-off-by: Jeff Garzik commit 6903c0f7efe907ada1b9636b52c5ae11fd51ab68 Author: Harvey Harrison Date: Wed Feb 13 21:14:08 2008 -0800 ata: fix sparse warning in sata_promise.c drivers/ata/sata_promise.c:546:15: warning: symbol 'len' shadows an earlier one drivers/ata/sata_promise.c:538:6: originally declared here len is set again immediately after the loop, so this is safe. Signed-off-by: Harvey Harrison Signed-off-by: Jeff Garzik commit 018d982721209241ede1180aa795d68833c26b10 Author: Harvey Harrison Date: Wed Feb 13 21:14:05 2008 -0800 ata: fix sparse warning in ata_piix.c drivers/ata/ata_piix.c:1655:8: warning: symbol 'rc' shadows an earlier one drivers/ata/ata_piix.c:1616:6: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Jeff Garzik commit eeb37ac87459f8e86d53243bd97e0c086de7eb87 Author: Harvey Harrison Date: Thu Feb 14 10:45:23 2008 -0800 ata: fix sparse warning in libata-core.c rc is used to test the return value and possibly return an error. No need to redeclare inside the loop. drivers/ata/libata-core.c:7089:7: warning: symbol 'rc' shadows an earlier one drivers/ata/libata-core.c:7030:9: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Jeff Garzik commit 08f01058fe8fcf0d4d69d96d667c51d52859b31d Author: Harvey Harrison Date: Thu Feb 14 10:45:20 2008 -0800 ata: make ata_scsiop_inq_89 static in libata-scsi.c Signed-off-by: Harvey Harrison Signed-off-by: Jeff Garzik commit 6fff1c64ffd899e0b70fbb0201c6603f078ea942 Author: Stefano Brivio Date: Sat Feb 9 07:20:43 2008 +0100 b43legacy: Add driver load messages This adds printk messages with basic information about the driver being loaded. This information includes a summary of the compiled-in features, which simplifies bug-reporting and debugging a lot. Also a firmware ID is printed. This is a unique identifier blob for a specific version of the firmware. This ID is attached to a specific version of the firmware blob in b43-fwcutter (see fwcutter git). This helps users to select the right firmware for their device. This also makes it possible to use automated scripts to fetch and extract the right firmware for the driver. (The script will grep the .ko for the "Firmware-ID: xxx" string.) While the driver might still support other versions of the firmware for backward compatibility, this will always print out the officially supported version, which people _should_ use. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit 943dbef4b84b9cee3501e45b654e38335900570b Author: Dan Williams Date: Thu Feb 14 17:49:41 2008 -0500 ipw2200: fix ucode assertion for RX queue overrun Restock the RX queue when there are a lot of unused frames so that the RX ring buffer doesn't overrun, causing a ucode assertion. Backport of patch "iwlwifi: fix ucode assertion for RX queue overrun". Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit a6477249b4a1c2da6376f47fc175882be9adb844 Author: Reinette Chatre Date: Thu Feb 14 10:40:28 2008 -0800 iwlwifi: only check for association id when associating with AP There is no association process in IBSS mode - so testing the association id is not needed. Signed-off-by: Reinette Chatre Signed-off-by: Tomas Winkler CC: Richard Scherping Signed-off-by: John W. Linville commit 58ff6d4db9b51533656173282de8d21f72080a49 Author: Tomas Winkler Date: Wed Feb 13 02:47:54 2008 +0200 iwlwifi: reverting 'misc wireless annotations' patch for iwlwifi This patch revert commit blow that wrongly suppressed sparse warning in iwlwifi eeprom reading In addtion it suppresses correctly the iwlwifi eeprom register reading anomaly. commit 45883ae47a0a4700c0f4716dc75a255cccdc3a76 misc wireless annotations Signed-off-by: Al Viro Signed-off-by: Tomas Winkler Cc: Al Viro Signed-off-by: John W. Linville commit cfbc35b62700447b6b14b744554f5dca17bdfa45 Author: Stefano Brivio Date: Tue Feb 12 03:09:10 2008 +0100 b43legacy: fix firmware load message level The firmware version information should always get printed. Not only on a debug build. The patch by Michael Buesch has been ported to b43legacy. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit 1a1c360d73e5100a4dda1010ce0f1ebd71e03811 Author: Stefano Brivio Date: Tue Feb 12 03:09:00 2008 +0100 b43legacy: add firmware information to modinfo This adds the firmware ID to modinfo. The patch by Michael Buesch has been ported to b43legacy. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit ceffefd15aac78841432230627308b8a382dbcfc Author: Michael Buesch Date: Sun Feb 10 14:16:52 2008 +0100 mac80211: Fix initial hardware configuration On the initial device-open we need to defer the hardware reconfiguration after we incremented the open_count, because the hw_config checks this flag and won't call the lowlevel driver in case it is zero. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit db433febbadaf1fa9862fb5068b119be1d312d76 Author: Ivo van Doorn Date: Sun Feb 10 11:21:57 2008 +0100 rt2x00: Add new USB ID to rt2500usb Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 588e6cdfccb847661c62a2cc0f301d689b94ee64 Author: Michael Buesch Date: Sat Feb 9 17:53:41 2008 +0100 b43: Fix firmware load message level The firmware version information should always get printed. Not only on a debug build. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 9c7d99d6fba1f26b95fb70b43f7954e9684cad3e Author: Michael Buesch Date: Sat Feb 9 10:23:49 2008 +0100 b43: Add firmware information to modinfo This adds the firmware ID to modinfo. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 26bc783f8cf7227718f8b4cbc32f0c3a898b128f Author: Michael Buesch Date: Sat Feb 9 00:18:35 2008 +0100 b43: Add driver load messages This adds printk messages with basic information about the driver being loaded. This information includes a summary of the compiled-in features, which simplifies bug-reporting and debugging a lot. Also a firmware ID is printed. This is a unique identifier blob for a specific version of the firmware. This ID is attached to a specific version of the firmware blob in b43-fwcutter (see fwcutter git). This helps users to select the right firmware for their device. This also makes it possible to use automated scripts to fetch and extract the right firmware for the driver. (the script will grep the .ko for the "Firmware-ID: xxx" string. While the driver might still support other versions of the firmware for backward compatibility, this will always print out the officially supported version, which people _should_ use. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 8e118f0ed866afab654a438b85643d4f1472f28b Author: Stefano Brivio Date: Fri Feb 8 06:31:53 2008 +0100 b43legacy: fix DMA for 30/32-bit DMA engines This checks if the DMA address is bigger than what the controller can manage. It will reallocate the buffers in the GFP_DMA zone in that case. The patch by Michael Buesch has been ported to b43legacy. Thanks to Matti Viljanen for reporting this. Cc: Matti Viljanen Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit d68ab68066805fdfee1f5f29ec2ec0179fd92fe1 Author: Mohamed Abbas Date: Thu Feb 7 13:16:33 2008 -0800 iwlwifi: earlier rx allocation Value of count is used to decide when to replenish rx buffers. If it is equal or above 8 we replenish the buffers. Ensure there is no starvation by initializing count to 8 - thus forcing replenish at first iteration. This is helpful when rx receives batches of buffers smaller than 8. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c342a1b91f6ccd317c68defd3b4c7bb75397d967 Author: Gregory Greenman Date: Wed Feb 6 11:20:40 2008 -0800 iwlwifi: Don't send host commands on rfkill This patch prevents sending host commands when rfkill is on Signed-off-by: Gregory Greenman Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 9788864e2169ed3611e61c097efe4944c23fe7e9 Author: Reinette Chatre Date: Wed Feb 6 11:20:38 2008 -0800 iwlwifi: do not clear GEO_CONFIGURED bit when calling _down The geos information is set up during probe and should only be removed during pci_remove, not during _down. This is a temporary fix until the setting of the status bits have been cleaned up (to explicitly match all setting with clearing of status bits). Signed-off-by: Reinette Chatre Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit a97b1f3d203d0fe5503578c6ee8bfdb89ed72679 Author: Jussi Kivilinna Date: Wed Feb 6 15:36:10 2008 +0200 rndis_wlan: enable stall workaround by link quality instead of link speed Enable workaround for poor link stalls by link quality instead of link speed. Using link speed caused workaround be active always on 802.11b networks which reduced performance and not even catch all stalls. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 281c56dd276e587a7b4a65764ac68ae250e73235 Author: Bruno Randolf Date: Tue Feb 5 18:44:55 2008 +0900 ath5k: correct padding in tx descriptors when setting up the tx descriptors for the hardware we must account for any padding between the header and the data we might have added previously. frame len is the length of the frame in the air (including FCS but no padding) and buffer len is the length of the buffer (including padding, but without FCS). changing the way ah_setup_tx_desc is called: now excluding the FCS, since it's easier to add that in the function where we need it. before this fix we sent trailing zero bytes after the packet (because frame len included the padding) which was not a big problem without WEP, but with WEP this resultes in a wrong WEP checksum and the packet is discarded - which is how i noticed at all ;) an easy way to run into header padding problems, btw, is to connect to a QoS (WME) enabled access point (eg. madwifi) - QoS data frames are 2 byte longer and will require padding. this patch applies on top of luis latest patch series from 04.02.2008. drivers/net/wireless/ath5k/base.c: Changes-licensed-under: 3-Clause-BSD drivers/net/wireless/ath5k/hw.c: Changes-licensed-under: ISC Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit bd196ec7f03fff6935f66a9a3cf27accd34a75b9 Author: John W. Linville Date: Thu Feb 7 15:46:01 2008 -0500 wavelan: mark hardware interfacing structures as packed With assists from Russell King and Andrew Morton ... Signed-off-by: John W. Linville 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 52833e897fd8c6f62b3e5e27291fa9bc803f7460 Merge: 8d04221... 4ee29f6... Author: Trond Myklebust Date: Fri Feb 15 13:36:30 2008 -0500 Merge branch 'linus_origin' into hotfixes 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 6f157c1d268d5888ca44c589dccd01729c4172f6 Merge: c597493... 4ee29f6... Author: Christoph Lameter Date: Fri Feb 15 08:48:28 2008 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit e8ef7f295b9f02c1522da405ac545318174239d5 Author: David Graham Date: Thu Feb 14 10:17:20 2008 -0800 e1000e: PCIe devices do not need to unset MANC_ARP_ENA Users reported that ARP's were lost with e1000e. The problem is fixed by not enabling this manageability configuration bit. None of the release_manageability code is actually needed as the normal device reset during a shutdown returns everthing to the right condition automatically. Signed-off-by: David Graham Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit aa20c6c6d22efcca76c6225eb46f5903ce14c7c8 Author: David Graham Date: Thu Feb 14 10:17:12 2008 -0800 igb: PCIe devices do not need to unset MANC_ARP_ENA Users reported that ARP's were lost with igb. The problem is fixed by not enabling this manageability configuration bit. None of the release_manageability code is actually needed as the normal device reset during a shutdown returns everthing to the right condition automatically. Signed-off-by: David Graham Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 41825d7158d4ca6488d562d73279392a886b9e7c Author: Auke Kok Date: Tue Feb 12 15:20:33 2008 -0800 ixgbe: Correctly obtain protocol information on transmit In reply to "RE: [Fwd: [PATCH 2.6.25] ixgbe/igb: correctly obtain protocol information on transmit]" from Andy Gospodarek: The driver was incorrectly looking at socket headers for protocol information, needed for checksumming offload. Fix this by not looking at the socket but frame headers instead. This disregards extension headers but it's unclear that linux generates those anyway. Tested by Andy Gospodarek. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 5918bd88effd0233a048983570ec5803f5f753dc Author: Auke Kok Date: Tue Feb 12 15:20:24 2008 -0800 e1000e: Fix CRC stripping in hardware context bug CRC stripping was only correctly enabled for packet split recieves which is used when receiving jumbo frames. Correctly enable SECRC also for normal buffer packet receives. Tested by Andy Gospodarek and Johan Andersson, see bugzilla #9940. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit fdb26629f31b898c2c4a4127c7d5c2401fb5ac60 Author: Al Viro Date: Wed Feb 13 03:58:36 2008 +0000 gianfar iomem misannotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 9f30c768c00fd0f0a2ab37ef29d8c8c5a7abdf2e Author: Jarek Poplawski Date: Wed Feb 13 11:17:58 2008 +0000 mkiss: ax_bump() locking fix According to one of OOPSes reported by Jann softirq can break while skb is prepared for netif_rx. The report isn't complete, so the real reason of the later bug could be different, but IMHO this locking break in ax_bump is unsafe and unnecessary. Reported-and-tested-by: Jann Traschewski Signed-off-by: Jarek Poplawski Signed-off-by: Jeff Garzik commit a1a98b72dbd17e53cd92b8e78f404525ebcfd981 Author: Chuck Ebbert Date: Wed Feb 13 19:47:11 2008 -0500 Fix station address detection in smc Megahertz EM1144 PCMCIA ethernet adapter needs special handling because it has two VERS_1 tuples and the station address is in the second one. Conversion to generic handling of these fields broke it. Reverting that fixes the device. https://bugzilla.redhat.com/show_bug.cgi?id=233255 Thanks go to Jon Stanley for not giving up on this one until the problem was found. Signed-off-by: Chuck Ebbert Signed-off-by: Jeff Garzik commit f6866fecd6fd8e44a6715da09844a4fd1b8484da Merge: 4ee29f6... 997b37d... Author: Linus Torvalds Date: Fri Feb 15 07:33:07 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (82 commits) [NET]: Make sure sockets implement splice_read netconsole: avoid null pointer dereference at show_local_mac() [IPV6]: Fix reversed local_df test in ip6_fragment [XFRM]: Avoid bogus BUG() when throwing new policy away. [AF_KEY]: Fix bug in spdadd [NETFILTER] nf_conntrack_proto_tcp.c: Mistyped state corrected. net: xfrm statistics depend on INET [NETFILTER]: make secmark_tg_destroy() static [INET]: Unexport inet_listen_wlock [INET]: Unexport __inet_hash_connect [NET]: Improve cache line coherency of ingress qdisc [NET]: Fix race in dev_close(). (Bug 9750) [IPSEC]: Fix bogus usage of u64 on input sequence number [RTNETLINK]: Send a single notification on device state changes. [NETLABLE]: Hide netlbl_unlabel_audit_addr6 under ifdef CONFIG_IPV6. [NETLABEL]: Don't produce unused variables when IPv6 is off. [NETLABEL]: Compilation for CONFIG_AUDIT=n case. [GENETLINK]: Relax dances with genl_lock. [NETLABEL]: Fix lookup logic of netlbl_domhsh_search_def. [IPV6]: remove unused method declaration (net/ndisc.h). ... 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 fa2144ba9a31d1d0dc9607508576c3850e0d95b1 Author: Sam Ravnborg Date: Fri Feb 15 13:53:11 2008 +0100 kbuild: explain why DEBUG_SECTION_MISMATCH is UNDEFINED We started to see patches enabling this - so explain why it is disabled and the condition to enable it again. Signed-off-by: Sam Ravnborg commit 242f1a343776a621ad5c3446d6f2718d37863cb5 Author: Frederik Deweerdt Date: Fri Feb 15 19:19:33 2008 +0800 [CRYPTO] tcrypt: Add missing Kconfig dependency on BLKCIPHER Building latest git fails with the following error: ERROR: "crypto_alloc_ablkcipher" [crypto/tcrypt.ko] undefined! This appears to happen because CONFIG_CRYPTO_TEST is set while CONFIG_CRYPTO_BLKCIPHER is not. The following patch fixes the problem for me. Signed-off-by: Frederik Deweerdt Signed-off-by: Herbert Xu commit f881d8290c59beb472062142aab54af2554d0d9c Author: Patrick McHardy Date: Fri Feb 15 19:15:05 2008 +0800 [HIFN]: Fix invalid config ifdefs for RNG support The CRYPTO_DEV_HIFN_795X_RNG ifdefs are missing the CONFIG_ prefix. Signed-off-by: Patrick McHardy Signed-off-by: Herbert Xu commit 997b37da1515c1620692521786a74af271664eb7 Author: Rémi Denis-Courmont Date: Fri Feb 15 02:35:45 2008 -0800 [NET]: Make sure sockets implement splice_read Fixes a segmentation fault when trying to splice from a non-TCP socket. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 69c3683ca7fe066ecba9e8a0424c5abd258a5d58 Author: Keiichi KII Date: Fri Feb 15 02:01:58 2008 -0800 netconsole: avoid null pointer dereference at show_local_mac() This patch avoids a null pointer dereference when we read local_mac for netconsole in configfs and shows default local mac address value. A null pointer dereference occurs when we call show_local_mac() via local_mac entry in configfs before we setup the content of netpoll using netpoll_setup(). Signed-off-by: Keiichi KII Signed-off-by: David S. Miller commit b5c15fc004ac83b7ad280acbe0fd4bbed7e2c8d4 Author: Herbert Xu Date: Thu Feb 14 23:49:37 2008 -0800 [IPV6]: Fix reversed local_df test in ip6_fragment I managed to reverse the local_df test when forward-porting this patch so it actually makes things worse by never fragmenting at all. Thanks to David Stevens for testing and reporting this bug. Bill Fink pointed out that the local_df setting is also the wrong way around. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 4ee29f6a52158cea526b16a44ae38643946103ec Merge: 4e3d031... 5906a04... Author: Linus Torvalds Date: Thu Feb 14 21:30:22 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: HID: add USB IDs for MacBook 3rd generation HID: add LCSPEC from VERNIER to quirk list HID: fix processing of event quirks HID: Blacklist new GTCO CalComp USB device PIDs commit 4e3d0319451805cffa69bdb1352f1c9817bf28bc Merge: 11d64be... f60d63f... Author: Linus Torvalds Date: Thu Feb 14 21:29:46 2008 -0800 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: ACPI: DMI: quirk for FSC ESPRIMO Mobile V5505 ACPI: DMI blacklist updates pnpacpi: __initdata is not an identifier ACPI: static acpi_chain_head ACPI: static acpi_find_dsdt_initrd() ACPI: static acpi_no_initrd_override_setup() thinkpad_acpi: static ACPI suspend: Execute _WAK with the right argument cpuidle: Add Documentation ACPI, cpuidle: Clarify C-state description in sysfs ACPI: fix suspend regression due to idle update commit 11d64be6a631236b3b3d21711c7d1a83d9f85904 Merge: c24ce1d... a602cc0... Author: Linus Torvalds Date: Thu Feb 14 21:29:06 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (46 commits) sh: Fix multiple UTLB hit on UP SH-4. sh: fix pci io access for r2d boards sh: fix ioreadN_rep and iowriteN_rep sh: use ctrl_in/out for on chip pci access sh: Kill off more dead symbols. sh: __uncached_start only on sh32. sh: asm/irq.h needs asm/cpu/irq.h. serial: sh-sci: Fix up SH-5 build. sh: Get SH-5 caches working again post-unification. maple: Fix up maple build failure. sh: Kill off bogus SH_SDK7780_STANDALONE symbol. sh: asm/tlb.h needs linux/pagemap.h for CONFIG_SWAP=n. sh: Tidy include/asm-sh/hp6xx.h maple: improve detection of attached peripherals sh: Shut up some trivial build warnings. sh: Update SH-5 flush_cache_sigtramp() for API changes. sh: Fix up set_fixmap_nocache() for SH-5. sh: Fix up pte_mkhuge() build breakage for SH-5. sh: Disable big endian for SH-5. sh: Handle SH7366 CPU in check_bugs(). ... commit c24ce1d88781b4d2b8232967630abaa1c90724cf Merge: f527cf4... 63070a7... Author: Linus Torvalds Date: Thu Feb 14 21:27:52 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt * git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt: hrtimer: catch expired CLOCK_REALTIME timers early hrtimer: check relative timeouts for overflow commit f527cf405017e60ceb28f84e2d60ab16fc34f209 Merge: cead99d... 331dc55... Author: Linus Torvalds Date: Thu Feb 14 21:24:02 2008 -0800 Merge branch 'slab-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/christoph/vm * 'slab-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/christoph/vm: slub: Support 4k kmallocs again to compensate for page allocator slowness slub: Fallback to kmalloc_large for failing higher order allocs slub: Determine gfpflags once and not every time a slab is allocated make slub.c:slab_address() static slub: kmalloc page allocator pass-through cleanup slab: avoid double initialization & do initialization in 1 place commit cead99dcf48eeaaac0a1ececff9c979756b79294 Merge: 664a156... ead595a... Author: Linus Torvalds Date: Thu Feb 14 21:23:32 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: RDMA/cma: Do not issue MRA if user rejects connection request mlx4_core: Move table_find from fmr_alloc to fmr_enable IB/mlx4: mlx4_ib_fmr_alloc() should call mlx4_fmr_enable() IPoIB: Remove unused struct ipoib_cm_tx.ibwc member IPoIB: On P_Key change event, reset state properly IB/mthca: Convert to use be16_add_cpu() RDMA/cxgb3: Fail loopback connections IB/cm: Fix infiniband_cm class kobject ref counting IB/cm: Remove debug printk()s that snuck upstream IB/mthca: Add missing sg_init_table() in mthca_map_user_db() commit 664a1566df81b44f7e5e234d55e3bc8c6c0be211 Merge: b9e2229... f8d8406... Author: Linus Torvalds Date: Thu Feb 14 21:23:19 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 * git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: x86: cpa, fix out of date comment KVM is not seen under X86 config with latest git (32 bit compile) x86: cpa: ensure page alignment x86: include proper prototypes for rodata_test x86: fix gart_iommu_init() x86: EFI set_memory_x()/set_memory_uc() fixes x86: make dump_pagetable() static x86: fix "BUG: sleeping function called from invalid context" in print_vma_addr() commit b9e222904ce92e1b277f2b85411d1eb6bfe27410 Merge: 4a0962a... d4eac75... Author: Linus Torvalds Date: Thu Feb 14 21:22:33 2008 -0800 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] Remove unused CONFIG_WANT_DEVICE_TREE [POWERPC] Cell RAS: Remove DEBUG, and add license and copyright [POWERPC] hvc_rtas_init() must be __init [POWERPC] free_property() must not be __init [POWERPC] vdso_do_func_patch{32,64}() must be __init [POWERPC] Remove generated files on make clean [POWERPC] Fix arch/ppc compilation - add typedef for pgtable_t [POWERPC] Wire up new timerfd syscalls [POWERPC] PS3: Update sys-manager button events [POWERPC] PS3: Sys-manager code cleanup [POWERPC] PS3: Use system reboot on restart [POWERPC] PS3: Fix bootwrapper hang bug [POWERPC] PS3: Fix reading pm interval in logical performance monitor [POWERPC] PS3: Fix setting bookmark in logical performance monitor [POWERPC] Fix DEBUG_PREEMPT warning when warning commit 4a0962abd187df29b7d1378b2f372a55667d54c0 Author: Christoph Lameter Date: Thu Feb 14 19:38:45 2008 -0800 dentries: Extract common code to remove dentry from lru Extract the common code to remove a dentry from the lru into a new function dentry_lru_remove(). Two call sites used list_del() instead of list_del_init(). AFAIK the performance of both is the same. dentry_lru_remove() does a list_del_init(). As a result dentry->d_lru is now always empty when a dentry is freed. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf28b4863f9ee8f122e8ff3ac0d403e07ba9c6d9 Author: Jan Blunck Date: Thu Feb 14 19:38:44 2008 -0800 d_path: Make d_path() use a struct path d_path() is used on a pair. Lets use a struct path to reflect this. [akpm@linux-foundation.org: fix build in mm/memory.c] Signed-off-by: Jan Blunck Acked-by: Bryan Wu Acked-by: Christoph Hellwig Cc: Al Viro Cc: "J. Bruce Fields" Cc: Neil Brown Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c32c2f63a9d6c953aaf168c0b2551da9734f76d2 Author: Jan Blunck Date: Thu Feb 14 19:38:43 2008 -0800 d_path: Make seq_path() use a struct path argument seq_path() is always called with a dentry and a vfsmount from a struct path. Make seq_path() take it directly as an argument. Signed-off-by: Jan Blunck Cc: Christoph Hellwig Cc: Al Viro Cc: "J. Bruce Fields" Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e83aece3afad4d56cc01abe069d3519e851cd2de Author: Jan Blunck Date: Thu Feb 14 19:38:41 2008 -0800 Use struct path in struct svc_expkey I'm embedding struct path into struct svc_expkey. Signed-off-by: Jan Blunck Cc: Al Viro Acked-by: "J. Bruce Fields" Cc: Neil Brown Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5477549161480432d053565d2720f08626baf9e3 Author: Jan Blunck Date: Thu Feb 14 19:38:39 2008 -0800 Use struct path in struct svc_export I'm embedding struct path into struct svc_export. [akpm@linux-foundation.org: coding-style fixes] [ezk@cs.sunysb.edu: NFSD: fix wrong mnt_writer count in rename] Signed-off-by: Jan Blunck Acked-by: J. Bruce Fields Acked-by: Christoph Hellwig Cc: Al Viro Cc: "J. Bruce Fields" Cc: Neil Brown Cc: Trond Myklebust Signed-off-by: Erez Zadok Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 448678a0f3cdd0157f00e98bd337e32030273637 Author: Jan Blunck Date: Thu Feb 14 19:38:36 2008 -0800 d_path: Make get_dcookie() use a struct path argument get_dcookie() is always called with a dentry and a vfsmount from a struct path. Make get_dcookie() take it directly as an argument. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Jan Blunck Acked-by: Christoph Hellwig Cc: Al Viro Cc: "J. Bruce Fields" Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3dcd25f37cfe2943beca93f41f50994108248a60 Author: Jan Blunck Date: Thu Feb 14 19:38:35 2008 -0800 d_path: Make proc_get_link() use a struct path argument proc_get_link() is always called with a dentry and a vfsmount from a struct path. Make proc_get_link() take it directly as an argument. Signed-off-by: Jan Blunck Acked-by: Christoph Hellwig Cc: Al Viro Cc: "J. Bruce Fields" Cc: Neil Brown Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 44707fdf5938ad269ea5d6c5744d82f6a7328746 Author: Jan Blunck Date: Thu Feb 14 19:38:33 2008 -0800 d_path: Use struct path in struct avc_audit_data audit_log_d_path() is a d_path() wrapper that is used by the audit code. To use a struct path in audit_log_d_path() I need to embed it into struct avc_audit_data. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Jan Blunck Acked-by: Christoph Hellwig Cc: Al Viro Cc: "J. Bruce Fields" Cc: Neil Brown Cc: Stephen Smalley Cc: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a03a8a709a0c34b61b7aea1d54a0473a6b941fdb Author: Jan Blunck Date: Thu Feb 14 19:38:32 2008 -0800 d_path: kerneldoc cleanup Move and update d_path() kernel API documentation. Signed-off-by: Jan Blunck Acked-by: Christoph Hellwig Cc: Al Viro Cc: "J. Bruce Fields" Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 329c97f0af41bd580237b8fad0f3741849ee4e13 Author: Jan Blunck Date: Thu Feb 14 19:38:31 2008 -0800 One less parameter to __d_path All callers to __d_path pass the dentry and vfsmount of a struct path to __d_path. Pass the struct path directly, instead. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Andreas Gruenbacher Signed-off-by: Jan Blunck Acked-by: Christoph Hellwig Cc: Al Viro Cc: "J. Bruce Fields" Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac748a09fc873915254ed69fe83f1a95436ee30a Author: Jan Blunck Date: Thu Feb 14 19:34:39 2008 -0800 Make set_fs_{root,pwd} take a struct path In nearly all cases the set_fs_{root,pwd}() calls work on a struct path. Change the function to reflect this and use path_get() here. Signed-off-by: Jan Blunck Signed-off-by: Andreas Gruenbacher Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ac08c39a16f72c2d3e845cb6849a1392fa03e80 Author: Jan Blunck Date: Thu Feb 14 19:34:38 2008 -0800 Use struct path in fs_struct * Use struct path in fs_struct. Signed-off-by: Andreas Gruenbacher Signed-off-by: Jan Blunck Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5dd784d04924be5d8bc066aded0ec3274b20e612 Author: Jan Blunck Date: Thu Feb 14 19:34:38 2008 -0800 Introduce path_get() This introduces the symmetric function to path_put() for getting a reference to the dentry and vfsmount of a struct path in the right order. Signed-off-by: Jan Blunck Signed-off-by: Andreas Gruenbacher Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 09da5916baf6d3fb9ac16c125c801ae6ea151f97 Author: Jan Blunck Date: Thu Feb 14 19:34:37 2008 -0800 Use path_put() in a few places instead of {mnt,d}put() Use path_put() in a few places instead of {mnt,d}put() Signed-off-by: Jan Blunck Signed-off-by: Andreas Gruenbacher Acked-by: Christoph Hellwig Cc: Al Viro Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d957f9bf87da74f420424d16ece005202bbebd3 Author: Jan Blunck Date: Thu Feb 14 19:34:35 2008 -0800 Introduce path_put() * Add path_put() functions for releasing a reference to the dentry and vfsmount of a struct path in the right order * Switch from path_release(nd) to path_put(&nd->path) * Rename dput_path() to path_put_conditional() [akpm@linux-foundation.org: fix cifs] Signed-off-by: Jan Blunck Signed-off-by: Andreas Gruenbacher Acked-by: Christoph Hellwig Cc: Cc: Al Viro Cc: Steven French Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ac9137858e08a19f29feac4e1f4df7c268b0ba5 Author: Jan Blunck Date: Thu Feb 14 19:34:32 2008 -0800 Embed a struct path into struct nameidata instead of nd->{dentry,mnt} This is the central patch of a cleanup series. In most cases there is no good reason why someone would want to use a dentry for itself. This series reflects that fact and embeds a struct path into nameidata. Together with the other patches of this series - it enforced the correct order of getting/releasing the reference count on pairs - it prepares the VFS for stacking support since it is essential to have a struct path in every place where the stack can be traversed - it reduces the overall code size: without patch series: text data bss dec hex filename 5321639 858418 715768 6895825 6938d1 vmlinux with patch series: text data bss dec hex filename 5320026 858418 715768 6894212 693284 vmlinux This patch: Switch from nd->{dentry,mnt} to nd->path.{dentry,mnt} everywhere. [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: fix cifs] [akpm@linux-foundation.org: fix smack] Signed-off-by: Jan Blunck Signed-off-by: Andreas Gruenbacher Acked-by: Christoph Hellwig Cc: Al Viro Cc: Casey Schaufler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c5e725f33b733a77de622e91b6ba5645fcf070be Author: Jan Blunck Date: Thu Feb 14 19:34:31 2008 -0800 Move struct path into its own header Move the definition of struct path into its own header file for further patches. Signed-off-by: Jan Blunck Signed-off-by: Andreas Gruenbacher Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 429731b1553bacf9a331c260c317a28aaa878edb Author: Jan Blunck Date: Thu Feb 14 19:34:31 2008 -0800 Remove path_release_on_umount() path_release_on_umount() should only be called from sys_umount(). I merged the function into sys_umount() instead of having in in namei.c. Signed-off-by: Jan Blunck Acked-by: Christoph Hellwig Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db74ece990ea59a9ec9f00f8881026059ef5caf5 Author: Jan Blunck Date: Thu Feb 14 19:34:29 2008 -0800 Dont touch fs_struct in usermodehelper This test seems to be unnecessary since we always have rootfs mounted before calling a usermodehelper. Signed-off-by: Andreas Gruenbacher Signed-off-by: Jan Blunck Acked-by: Christoph Hellwig Acked-by: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d63e4f9ea61df1d727bd52a174aba732e6e1853 Author: Jan Blunck Date: Thu Feb 14 19:34:28 2008 -0800 Dont touch fs_struct in drivers The sound drivers and the pnpbios core test for current->root != NULL. This test seems to be unnecessary since we always have rootfs mounted before initializing the drivers. Signed-off-by: Jan Blunck Acked-by: Christoph Hellwig Cc: Bjorn Helgaas Cc: Jaroslav Kysela Acked-by: Takashi Iwai Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 000cb48ee18165776b5a2beb72ed18f66bc61878 Author: Jan Kara Date: Thu Feb 14 19:31:32 2008 -0800 vfs: add explanation of I_DIRTY_DATASYNC bit Add explanation of I_DIRTY_DATASYNC bit. Signed-off-by: Jan Kara Cc: Joern Engel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0778361837bfaaa0bcf9ee79f0edd10e3a220899 Author: Ben Nizette Date: Thu Feb 14 19:31:31 2008 -0800 Include kernel.h from configfs.h configfs.h uses the container_of macro and as such should include kernel.h. Signed-off-by: Ben Nizette Cc: Joel Becker Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8943f268f32de8e33c71089d8ba26423633544f2 Author: Christine Caulfield Date: Thu Feb 14 19:31:31 2008 -0800 MAINTAINERS: update decnet and DLM entries Change my name & email in MAINTAINERS Signed-off-by: Christine Caulfield Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e2a366dc5cead7b8bf7911a1de52f16748f6fcb3 Author: Mike Frysinger Date: Thu Feb 14 19:31:29 2008 -0800 FLAT binaries: drop BINFMT_FLAT bad header magic warning The warning issued by fs/binfmt_flat.c when the format handler is given a non-FLAT and non-script executable is annoying to say the least when working with FDPIC ELF objects. If you build a kernel that supports both FLAT and FDPIC ELFs on no-mmu, every time you execute an FDPIC ELF, the kernel spits out this message. While I understand a lot of newcomers to the no-mmu world screw up generation of FLAT binaries, this warning is not usable for systems that support more than just FLAT. Signed-off-by: Jie Zhang Signed-off-by: Mike Frysinger Cc: Bernd Schmidt Acked-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2cd9cdce1842ccf307e178a835d833c3306e329d Author: Greg Ungerer Date: Thu Feb 14 19:31:27 2008 -0800 m68knommu: use tabs not spaces in cacheflush.h Use tabs instead of spaces. Signed-off-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ef1e56776aad1fe7381b5bc64e39ff80aa33899 Author: Matt Waddel Date: Thu Feb 14 19:31:27 2008 -0800 m68knommu: fix profile timer I was looking at timers in the Coldfire system and I noticed that the CONFIG_HIGHPROFILE option seems to be a little out of date. Signed-off-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c25f0a0f7fc37f39341a120a945ff7fe06b8ab4e Author: Greg Ungerer Date: Thu Feb 14 19:31:26 2008 -0800 m68knommu: use asflags instead of EXTRA_AFLAGS Modify the extra asm flags for debugger capabilities, use asflags instead for EXTRA_AFLAGS. Suggestion from Sam Ravnborg. Signed-off-by: Greg Ungerer Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 091b76d6aa788d8294caa2895cea1013f3eff7da Author: Greg Ungerer Date: Thu Feb 14 19:31:25 2008 -0800 m68knommu: avoid unneccessary use of xchg() in set_mb() Avoid unneccessary use of xchg() in set_mb(). Signed-off-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 903be1c56444615342ac5f1fc103e2ec11043714 Author: Walter T Gruczka Date: Thu Feb 14 19:31:24 2008 -0800 m68knommu: fix coldfire interrupt exit path Remove bogus conditional jump in return from interrupt path. Reorder the code path now that is not there. Signed-off-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b9cf92eda3ddaf025fc38323ff96bac34243dec8 Author: Paul Menage Date: Thu Feb 14 19:31:24 2008 -0800 MAINTAINERS: add linux-fsdevel to VFS entry Add linux-fsdevel to the VFS entry in MAINTAINERS Signed-off-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34ff8a52fa7ebb7be036534295f7b252d39e3439 Author: Harvey Harrison Date: Thu Feb 14 19:31:23 2008 -0800 kernel-doc: remove fastcall fastcall is gone from the tree, no need to adjust the function prototypes anymore for this. Signed-off-by: Harvey Harrison Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77a746cec58801208818ee19115da0e4d41f9002 Author: Jesper Nilsson Date: Thu Feb 14 19:31:22 2008 -0800 cris: import memset.c from newlib: fixes compile error with newer (pre4.3) gcc Adrian Bunk reported the following compile error with a SVN head GCC: ... CC arch/cris/arch-v10/lib/memset.o /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/cris/arch-v10/lib/memset.c: In function 'memset': /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/cris/arch-v10/lib/memset.c:164: error: lvalue required as increment operand /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/cris/arch-v10/lib/memset.c:165: error: lvalue required as increment operand /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/cris/arch-v10/lib/memset.c:166: error: lvalue required as increment operand /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/cris/arch-v10/lib/memset.c:167: error: lvalue required as increment operand /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/cris/arch-v10/lib/memset.c:185: error: lvalue required as increment operand /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/cris/arch-v10/lib/memset.c:189: error: lvalue required as increment operand /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/cris/arch-v10/lib/memset.c:192: error: lvalue required as increment operand ... etc ... This is due to the use of the construct: *((long*)dst)++ = lc; Which is no longer 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; With this change, the generated code actually shrinks 76 bytes since gcc notices that it can use autoincrement for the move instruction in CRIS. text data bss dec hex filename 304 0 0 304 130 memset.old.o text data bss dec hex filename 228 0 0 228 e4 memset.o Since this is an import of a file from newlib, I'm not touching the formatting or correcting any checkpatch errors. Note also that even if the two files for the 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 3c828e49453c4cb750b231d7116b8721c12b8663 Author: Harvey Harrison Date: Thu Feb 14 19:31:21 2008 -0800 inotify: make variables static in inotify_user.c inotify_max_user_instances, inotify_max_user_watches, inotify_max_queued_events can all be made static. Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1387d0d8b002c8ce90412fb2695ec6085eb8ce01 Author: Adrian Bunk Date: Thu Feb 14 19:31:20 2008 -0800 fix module_update_markers() compile error This patch fixes the following compile error with CONFIG_MODULES=n caused by commit fb40bd78b0f91b274879cf5db8facd1e04b6052e: /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/marker.c: In function `marker_update_probes': /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/marker.c:627: error: too few arguments to function `module_update_markers' Signed-off-by: Adrian Bunk Acked-by: Mathieu Desnoyers Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ebda63b09a4e2232effb7a37e609651fe221090 Author: Tony Breeds Date: Thu Feb 14 19:31:19 2008 -0800 Fix compile of swim3 as module The current pmac32_defconfig fails to build with the following error: Building modules, stage 2. ERROR: "check_media_bay" [drivers/block/swim3.ko] undefined! WARNING: modpost: Found 23 section mismatch(es). To see full details build your kernel with: 'make CONFIG_DEBUG_SECTION_MISMATCH=y' make[2]: *** [__modpost] Error 1 This patch fixes that. Signed-off-by: Tony Breeds Acked-by: Benjamin Herrenschmidt Cc: Paul Mackerras Acked-by: Bartlomiej Zolnierkiewicz Cc: Josh Boyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ead595aeb0974171eddd012df115424752413c26 Author: Sean Hefty Date: Wed Feb 13 14:33:53 2008 -0800 RDMA/cma: Do not issue MRA if user rejects connection request There's an undesirable interaction with issuing MRA requests to increase connection timeouts and the listen backlog. When the rdma_cm receives a connection request, it queues an MRA with the ib_cm. (The ib_cm will send an MRA if it receives a duplicate REQ.) The rdma_cm will then create a new rdma_cm_id and give that to the user, which in this case is the rdma_user_cm. If the listen backlog maintained in the rdma_user_cm is full, it destroys the rdma_cm_id, which in turns destroys the ib_cm_id. The ib_cm_id generates a REJ because the state of the ib_cm_id has changed to MRA sent, versus REQ received. When the backlog is full, we just want to drop the REQ so that it is retried later. Fix this by deferring queuing the MRA until after the user of the rdma_cm has examined the connection request. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 331dc558fa020451ff773973cee855fd721aa88e Author: Christoph Lameter Date: Thu Feb 14 14:28:09 2008 -0800 slub: Support 4k kmallocs again to compensate for page allocator slowness Currently we hand off PAGE_SIZEd kmallocs to the page allocator in the mistaken belief that the page allocator can handle these allocations effectively. However, measurements indicate a minimum slowdown by the factor of 8 (and that is only SMP, NUMA is much worse) vs the slub fastpath which causes regressions in tbench. Increase the number of kmalloc caches by one so that we again handle 4k kmallocs directly from slub. 4k page buffering for the page allocator will be performed by slub like done by slab. At some point the page allocator fastpath should be fixed. A lot of the kernel would benefit from a faster ability to allocate a single page. If that is done then the 4k allocs may again be forwarded to the page allocator and this patch could be reverted. Reviewed-by: Pekka Enberg Acked-by: Mel Gorman Signed-off-by: Christoph Lameter commit 71c7a06ff0a2ba0434ace4d7aa679537c4211d9d Author: Christoph Lameter Date: Thu Feb 14 14:28:01 2008 -0800 slub: Fallback to kmalloc_large for failing higher order allocs Slub already has two ways of allocating an object. One is via its own logic and the other is via the call to kmalloc_large to hand off object allocation to the page allocator. kmalloc_large is typically used for objects >= PAGE_SIZE. We can use that handoff to avoid failing if a higher order kmalloc slab allocation cannot be satisfied by the page allocator. If we reach the out of memory path then simply try a kmalloc_large(). kfree() can already handle the case of an object that was allocated via the page allocator and so this will work just fine (apart from object accounting...). For any kmalloc slab that already requires higher order allocs (which makes it impossible to use the page allocator fastpath!) we just use PAGE_ALLOC_COSTLY_ORDER to get the largest number of objects in one go from the page allocator slowpath. On a 4k platform this patch will lead to the following use of higher order pages for the following kmalloc slabs: 8 ... 1024 order 0 2048 .. 4096 order 3 (4k slab only after the next patch) We may waste some space if fallback occurs on a 2k slab but we are always able to fallback to an order 0 alloc. Reviewed-by: Pekka Enberg Signed-off-by: Christoph Lameter commit b7a49f0d4c34166ae84089d9f145cfaae1b0eec5 Author: Christoph Lameter Date: Thu Feb 14 14:21:32 2008 -0800 slub: Determine gfpflags once and not every time a slab is allocated Currently we determine the gfp flags to pass to the page allocator each time a slab is being allocated. Determine the bits to be set at the time the slab is created. Store in a new allocflags field and add the flags in allocate_slab(). Acked-by: Mel Gorman Reviewed-by: Pekka Enberg Signed-off-by: Christoph Lameter commit dada123d99c241d1a45798a7c77bcf99c4968704 Author: Adrian Bunk Date: Wed Feb 13 23:30:32 2008 +0200 make slub.c:slab_address() static slab_address() can become static. Signed-off-by: Adrian Bunk Signed-off-by: Christoph Lameter commit eada35efcb2773cf49aa26277e056122e1a3405c Author: Pekka Enberg Date: Mon Feb 11 22:47:46 2008 +0200 slub: kmalloc page allocator pass-through cleanup This adds a proper function for kmalloc page allocator pass-through. While it simplifies any code that does slab tracing code a lot, I think it's a worthwhile cleanup in itself. Signed-off-by: Pekka Enberg Signed-off-by: Christoph Lameter commit e51bfd0ad10600a9fe4c8ede5ac2272e80075008 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 073a371987f9a9806a85329eed51dca1fc52a7a0 Author: YOSHIFUJI Hideaki Date: Thu Feb 14 14:52:38 2008 -0800 [XFRM]: Avoid bogus BUG() when throwing new policy away. From: YOSHIFUJI Hideaki When we destory a new policy entry, we need to tell xfrm_policy_destroy() explicitly that the entry is not alive yet. Signed-off-by: David S. Miller commit a4d6b8af1e92daa872f55d06415b76c35f44d8bd Author: Kazunori MIYAZAWA Date: Thu Feb 14 14:51:38 2008 -0800 [AF_KEY]: Fix bug in spdadd This patch fix a BUG when adding spds which have same selector. Signed-off-by: Kazunori MIYAZAWA Signed-off-by: David S. Miller commit d0c1fd7a8f4cadb95b093d2600ad627f432c5edb Author: Jozsef Kadlecsik Date: Thu Feb 14 14:50:21 2008 -0800 [NETFILTER] nf_conntrack_proto_tcp.c: Mistyped state corrected. Signed-off-by: Jozsef Kadlecsik Signed-off-by: David S. Miller commit 0f4bda005fd685f7cbb2ad47b7bab1b155df2b86 Author: Paul Mundt Date: Thu Feb 14 14:48:45 2008 -0800 net: xfrm statistics depend on INET net/built-in.o: In function `xfrm_policy_init': /home/pmundt/devel/git/sh-2.6.25/net/xfrm/xfrm_policy.c:2338: undefined reference to `snmp_mib_init' snmp_mib_init() is only built in if CONFIG_INET is set. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit cf87dcd14064e7660f2b11b35b9e4949e9812fd2 Author: Sam Ravnborg Date: Wed Feb 13 22:50:24 2008 +0100 kbuild: fix building vmlinux.o Ingo Molnar wrote: > > i've got a build log from a weird build error below: > > LD init/built-in.o > distcc[12023] ERROR: compile (null) on localhost failed > make: *** [vmlinux.o] Error 1 > make: *** Waiting for unfinished jobs.... > LD .tmp_vmlinux1 > Building vmlinux.o were moved up in the dependency chain so we started to build it before the kallsym stuff. This was done to let modpost report section mismatch bugs even when the final link failed. Originally I had expected the dependency of $(kallsyms.o) to cover this but it turns out that we need to be even more explicit. Fix this by adding a conditional dependency on firat target used in the kallsyms serie of builds. Signed-off-by: Sam Ravnborg Cc: Ingo Molnar Cc: Roland McGrath commit e06b8b98da071f7dd78fb7822991694288047df0 Author: Sam Ravnborg Date: Wed Feb 13 22:43:28 2008 +0100 kbuild: allow -fstack-protector to take effect Arjan van de Ven wrote: === I just read the excellent LWN writeup of the vmsplice security thing, and that got me wondering why this attack wasn't stopped by the CONFIG_CC_STACKPROTECTOR option... because it plain should have been... Some analysis later.. it turns out that the following line in the top level Makefile, added by you in October 2007, entirely disables CONFIG_CC_STACKPROTECTOR ;( With this line removed the exploit will be nicely stopped. CFLAGS += $(call cc-option, -fno-stack-protector) Now I realize that certain distros have patched gcc to compensate for their lack of distro wide CFLAGS, and it's great to work around that... but would there be a way to NOT disable this for CONFIG_CC_STACKPROTECTOR please? It would have made this exploit not possible for those kernels that enable this feature (and that includes distros like Fedora) === Move the assignment to KBUILD_CFLAGS up before including the arch specific Makefile so arch makefiles may override the setting. Signed-off-by: Sam Ravnborg Cc: Arjan van de Ven Cc: stable@kernel.org commit f8d8406bcb58ff70e97b71c35ff5be90c54fc3d0 Author: Ingo Molnar Date: Wed Feb 13 14:09:53 2008 +0100 x86: cpa, fix out of date comment Signed-off-by: Ingo Molnar commit 7d8330a563b00040326084f933f5bee06675ac54 Author: Balbir Singh Date: Sun Feb 10 12:46:28 2008 +0530 KVM is not seen under X86 config with latest git (32 bit compile) The KVM configuration is no longer visible in the latest git tree. It looks like it is selected by HAVE_SETUP_PER_CPU_AREA. I've moved HAVE_KVM to under CONFIG_X86. Signed-off-by: Balbir Singh Acked-by: Avi Kivity Signed-off-by: Ingo Molnar commit 69b1415e934fc1a796a817e32d84162ae65962f5 Author: Thomas Gleixner Date: Wed Feb 13 11:04:50 2008 +0100 x86: cpa: ensure page alignment the cpa API is page aligned - warn about any weird alignments. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 7bfeab9af95565e38a97fbcfb631e5b140241187 Author: Harvey Harrison Date: Tue Feb 12 12:12:01 2008 -0800 x86: include proper prototypes for rodata_test extern should not appear in C files. Also, the definitions do not match the prototype currently, not sure what way you want to go with this, I've switched the prototype to return int, but I can see going to the void return as well. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar commit 184652eb6f68050af48a2ce3d5cf0537c208bee2 Author: Ingo Molnar Date: Thu Feb 14 23:30:20 2008 +0100 x86: fix gart_iommu_init() When the GART table is unmapped from the kernel direct mappings during early bootup, make sure we have no leftover cachelines in it. Note: the clflush done by set_memory_np() was not enough, because clflush does not work on unmapped pages. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3223f59f9cd9d69a4344eeac8b16a262c5f373f1 Author: Ingo Molnar Date: Thu Feb 14 14:21:32 2008 +0100 x86: EFI set_memory_x()/set_memory_uc() fixes The EFI-runtime mapping code changed a larger memory area than it should have, due to a pages/bytes parameter mixup. noticed by Andi Kleen. Signed-off-by: Ingo Molnar commit cae30f8270005940902c5807146fbaa36875e6e9 Author: Adrian Bunk Date: Wed Feb 13 23:31:31 2008 +0200 x86: make dump_pagetable() static dump_pagetable() can now become static. Signed-off-by: Adrian Bunk Acked-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit e8bff74afbdb4ad72bf6135c84289c47cf557892 Author: Ingo Molnar Date: Wed Feb 13 20:21:06 2008 +0100 x86: fix "BUG: sleeping function called from invalid context" in print_vma_addr() Jiri Kosina reported the following deadlock scenario with show_unhandled_signals enabled: [ 68.379022] gnome-settings-[2941] trap int3 ip:3d2c840f34 sp:7fff36f5d100 error:0<3>BUG: sleeping function called from invalid context at kernel/rwsem.c:21 [ 68.379039] in_atomic():1, irqs_disabled():0 [ 68.379044] no locks held by gnome-settings-/2941. [ 68.379050] Pid: 2941, comm: gnome-settings- Not tainted 2.6.25-rc1 #30 [ 68.379054] [ 68.379056] Call Trace: [ 68.379061] <#DB> [] ? __debug_show_held_locks+0x13/0x30 [ 68.379109] [] __might_sleep+0xe5/0x110 [ 68.379123] [] down_read+0x20/0x70 [ 68.379137] [] print_vma_addr+0x3a/0x110 [ 68.379152] [] do_trap+0xf5/0x170 [ 68.379168] [] do_int3+0x7b/0xe0 [ 68.379180] [] int3+0x9f/0xd0 [ 68.379203] <> [ 68.379229] in libglib-2.0.so.0.1505.0[3d2c800000+dc000] and tracked it down to: commit 03252919b79891063cf99145612360efbdf9500b Author: Andi Kleen Date: Wed Jan 30 13:33:18 2008 +0100 x86: print which shared library/executable faulted in segfault etc. messages the problem is that we call down_read() from an atomic context. Solve this by returning from print_vma_addr() if the preempt count is elevated. Update preempt_conditional_sti / preempt_conditional_cli to unconditionally lift the preempt count even on !CONFIG_PREEMPT. Reported-by: Jiri Kosina Signed-off-by: Ingo Molnar commit 63070a79ba482c274bad10ac8c4b587a3e011f2c Author: Thomas Gleixner Date: Thu Feb 14 00:58:36 2008 +0100 hrtimer: catch expired CLOCK_REALTIME timers early A CLOCK_REALTIME timer, which has an absolute expiry time less than the clock realtime offset calls with a negative delta into the clock events code and triggers the WARN_ON() there. This is a false positive and needs to be prevented. Check the result of timer->expires - timer->base->offset right away and return -ETIME right away. Thanks to Frans Pop, who reported the problem and tested the fixes. Signed-off-by: Thomas Gleixner Tested-by: Frans Pop commit 5a7780e725d1bb4c3094fcc12f1c5c5faea1e988 Author: Thomas Gleixner Date: Wed Feb 13 09:20:43 2008 +0100 hrtimer: check relative timeouts for overflow Various user space callers ask for relative timeouts. While we fixed that overflow issue in hrtimer_start(), the sites which convert relative user space values to absolute timeouts themself were uncovered. Instead of putting overflow checks into each place add a function which does the sanity checking and convert all affected callers to use it. Thanks to Frans Pop, who reported the problem and tested the fixes. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Tested-by: Frans Pop commit 208c70a45624400fafd7511b96bc426bf01f8f5e Author: Alexey Starikovskiy Date: Thu Feb 14 15:58:47 2008 -0500 ACPI: EC: Use proper handle for boot EC Fall back to ACPI_ROOT_HANDLE only in case of error. ACPI: EC: EC description table is found, configuring boot EC ACPI Error (evregion-0316): No handler for Region [ECOR] (ffff81007a651620) [EmbeddedControl] [20070126] ACPI Error (exfldio-0289): Region EmbeddedControl(3) has no handler [20070126] http://bugzilla.kernel.org/show_bug.cgi?id=9916 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit c5974932c1e8514d3478573bb52beebeb2c786dd Merge: 9e40ade... e760e71... Author: Christoph Lameter Date: Thu Feb 14 12:05:41 2008 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 11e75a7455a7bc73e752c0c985986c2b1f8c930a Author: Jack Morgenstein Date: Thu Feb 14 13:41:29 2008 +0200 mlx4_core: Move table_find from fmr_alloc to fmr_enable mlx4_table_find (for FMR MPTs) requires that ICM memory already be mapped. Before this fix, FMR allocation depended on ICM memory already being mapped for the MPT entry. If all currently mapped entries are taken, the find operation fails (even if the MPT ICM table still had more entries, which were just not mapped yet). This fix moves the mpt find operation to fmr_enable, to guarantee that any required ICM memory mapping has already occurred. Found by Oren Duer of Mellanox. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit e6028c0e004d334bb9ed75d4c918f4c763af1b9f Author: Jack Morgenstein Date: Thu Feb 14 10:39:36 2008 -0800 IB/mlx4: mlx4_ib_fmr_alloc() should call mlx4_fmr_enable() Currently mlx4_ib_fmr_alloc() calls mlx4_mr_enable() instead of mlx4_fmr_enable(). The two functions are equivalent at the moment, but this is not really correct (and the change is needed to fix a bug). Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit a9d1884925c80b96a621939a4fef5d74de58debe Author: Eli Cohen Date: Thu Feb 14 13:15:28 2008 +0200 IPoIB: Remove unused struct ipoib_cm_tx.ibwc member struct ipoib_cm_tx.ibwc is unused since commit 1b524963 ("IPoIB/cm: Use common CQ for CM send completions"), so remove it. Signed-off-by: Eli Cohen commit 167c42655cca188657aa9bb4e06d1194af3c73a5 Author: Jack Morgenstein Date: Wed Feb 13 16:23:50 2008 +0200 IPoIB: On P_Key change event, reset state properly In P_Key event handling, if the old P_Key is no longer available, the driver must call ipoib_ib_dev_stop() -- just as it does when the P_Key is still available (see procedure __ipoib_ib_dev_flush()). When a P_Key becomes available, the driver will perform ipoib_open(), which assumes that the QP is in RESET, the cm_id has been destroyed/deleted, etc. If ipoib_ib_dev_stop() is not called as described above, then these assumptions will be false, and the attempt to bring the interface up will fail. Found by Mellanox QA. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit d4eac7501f737c70420f38e9fd59de77a4ba6c13 Author: Grant Likely Date: Thu Feb 14 15:14:09 2008 +1100 [POWERPC] Remove unused CONFIG_WANT_DEVICE_TREE CONFIG_DEVICE_TREE was the only user of CONFIG_WANT_DEVICE_TREE but it was removed in commit id 25431333813686654907ab987fb5de10c10a16db (bootwrapper: Build multiple cuImages). This removes CONFIG_WANT_DEVICE_TREE from Kconfig and the defconfigs. Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit bdb226bac12b005c80770decc1eddbff6be28f35 Author: Michael Ellerman Date: Thu Feb 14 13:34:17 2008 +1100 [POWERPC] Cell RAS: Remove DEBUG, and add license and copyright arch/powerpc/platforms/cell/ras.c still has DEBUG #defined, which is no longer necessary. Disable it - this disables two pr_debugs(). While we're there this file should have a copyright notice and license, so add both. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 1407b3d15694ba6d014ef7f48895169f49a6a02b Author: Adrian Bunk Date: Thu Feb 14 08:30:57 2008 +1100 [POWERPC] hvc_rtas_init() must be __init This fixes the following section mismatch: <-- snip --> ... WARNING: vmlinux.o(.text+0x2fbca8): Section mismatch in reference from the function .hvc_rtas_init() to the function .devinit.text:.hvc_alloc() ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Paul Mackerras commit 16e543ffa853c8e1de5e1e2bcec0ef9f0b9386fa Author: Adrian Bunk Date: Thu Feb 14 08:30:55 2008 +1100 [POWERPC] free_property() must not be __init This fixes the following section mismatch: <-- snip --> ... WARNING: vmlinux.o(.text+0x55648): Section mismatch in reference from the function .free_node() to the function .init.text:.free_property() ... <-- snip --> Signed-off-by: Adrian Bunk Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit cf8918fe55018aba24669ba76fab3203627890e4 Author: Adrian Bunk Date: Thu Feb 14 08:30:52 2008 +1100 [POWERPC] vdso_do_func_patch{32,64}() must be __init This fixes the following section mismatches: <-- snip --> ... WARNING: vmlinux.o(.text+0xe49c): Section mismatch in reference from the function .vdso_do_func_patch64() to the function .init.text:.find_symbol64() WARNING: vmlinux.o(.text+0xe4d0): Section mismatch in reference from the function .vdso_do_func_patch64() to the function .init.text:.find_symbol64() WARNING: vmlinux.o(.text+0xe56c): Section mismatch in reference from the function .vdso_do_func_patch32() to the function .init.text:.find_symbol32() WARNING: vmlinux.o(.text+0xe5a0): Section mismatch in reference from the function .vdso_do_func_patch32() to the function .init.text:.find_symbol32() ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Paul Mackerras commit e4ccde0262a2b4d0889b1cbe4874d2aed120bbe4 Author: Kumar Gala Date: Tue Feb 12 02:32:00 2008 +1100 [POWERPC] Remove generated files on make clean vmlinux.lds and dtc-parser.tab.h get created but never cleaned up. Signed-off-by: Paul Mackerras commit 7084ebaa266e1686ef6e157aff9137cc28a92843 Author: Stefan Roese Date: Mon Feb 11 20:41:18 2008 +1100 [POWERPC] Fix arch/ppc compilation - add typedef for pgtable_t Commit 2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4 ("CONFIG_HIGHPTE vs. sub-page page tables.") breaks compilation of arch/ppc since it introduces the pgtable_t type which was not added to arch/ppc. This adds the missing typedef. Signed-off-by: Stefan Roese Signed-off-by: Paul Mackerras commit fb8642db19d57361be671a30d3f13defaf6b6cff Author: Stephen Rothwell Date: Mon Feb 11 11:38:40 2008 +1100 [POWERPC] Wire up new timerfd syscalls Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit ea24608f02dbdfd83c77749445df58616a18a770 Author: Geoff Levand Date: Sat Feb 9 09:53:07 2008 +1100 [POWERPC] PS3: Update sys-manager button events PS3 firmware 1.94 added the source of power and reset events to the payload of the system manager POWER_PRESSED and RESET_PRESSED events. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 50dad90264096363a35e75d1b8a1c9efc2ee4114 Author: Geoff Levand Date: Sat Feb 9 09:53:01 2008 +1100 [POWERPC] PS3: Sys-manager code cleanup General code cleanups for PS3 system-manager: o Move all MODULE_ macros to bottom. o Correct PS3_SM_WAKE_P_O_R value. o Enhance comment on wakeup source values. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 75ffe88d2b3e19ed02d299c9a4c89882bef3b4f7 Author: Geoff Levand Date: Sat Feb 9 09:52:55 2008 +1100 [POWERPC] PS3: Use system reboot on restart The PS3 Other OS boot flag is not checked when an LPAR reboot is done, so the ps3-boot-game-os utility fails to reboot the system into the Game OS. This fix changes the PS3 restart handler from requesting an PS3_SM_NEXT_OP_LPAR_REBOOT to requesting an PS3_SM_NEXT_OP_SYS_REBOOT. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit e5a21dd87312b842fe1cc23cbca8e28d69fe055b Author: Geoff Levand Date: Sat Feb 9 09:52:48 2008 +1100 [POWERPC] PS3: Fix bootwrapper hang bug Fix a bug in the lv1_get_repository_node_value() routine of the PS3 bootwrapper. Changes in the PS3 system firmware 2.20 cause this bug to hang the system when branching from the bootwrapper to the kernel _start. Since the video system has not yet been enabled at the time the bug is hit, the system hangs with a blank screen. Earlier firmwares don't cause such a catastrophic failure, and so this bug went undetected. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit a0620156b05f2e1b77801e8bca724d0ed650974d Author: Takashi Yamamoto Date: Sat Feb 9 09:52:41 2008 +1100 [POWERPC] PS3: Fix reading pm interval in logical performance monitor ps3_read_pm (pm_interval) should return an actual HW register value because the pm_interval register is a counter register. This removes the shadow pm_interval register. Signed-off-by: Takashi Yamamoto Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit a7faa8dc95ef90593d605d36409ef9100bdd11f8 Author: Takashi Yamamoto Date: Sat Feb 9 09:52:30 2008 +1100 [POWERPC] PS3: Fix setting bookmark in logical performance monitor Fix the ps3_set_bookmark() routine of the PS3 logical performance monitor driver. To properly set a performance monitor bookmark the Cell processor requires no instruction branches near the setting of the bookmark SPR. Testing showed that the use of the db10cyc instruction did not work correctly. This change replaces the db10cyc instruction with 10 nop instructions. Signed-off-by: Takashi Yamamoto Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 79ccd1bedc0592602183dad5e3d51d0ab7a9add0 Author: Hugh Dickins Date: Sat Feb 9 05:25:13 2008 +1100 [POWERPC] Fix DEBUG_PREEMPT warning when warning The powerpc show_regs prints CPU using smp_processor_id: change that to raw_smp_processor_id, so that when it's showing a WARN_ON backtrace without preemption disabled, DEBUG_PREEMPT doesn't mess up that warning with its own. Signed-off-by: Hugh Dickins Signed-off-by: Paul Mackerras commit f60d63f642d824914677fb40330671117dc39c3b Merge: 46c1fbd... fe8e288... 6bf69b5... Author: Len Brown Date: Thu Feb 14 02:44:28 2008 -0500 Merge branches 'release', 'dmi', 'idle' and 'misc' into release commit 46c1fbdb7191bf07979d7cd5f08d1a86458181a2 Author: Len Brown Date: Wed Feb 13 23:13:25 2008 -0500 ACPI: DMI: quirk for FSC ESPRIMO Mobile V5505 http://bugzilla.kernel.org/show_bug.cgi?id=9939 Signed-off-by: Len Brown commit bb54675b9b2f968f07e29b6c23b8dc90bad59723 Author: Len Brown Date: Sun Feb 10 21:29:56 2008 -0500 ACPI: DMI blacklist updates Acer Extensa 5220 -- OSI(Linux) is a NOP Dell OptiPlex 755 -- OSI(Linux) turns GUSB into a NOP Dell PowerEdge 1950 -- OSI(Linux) is a NOP Dell Precision 690 -- OSI(Linux) touches USB (skips GUSB) FSC ESPRIMO Mobile V5505 -- OSI(Linux) is a NOP Lenovo LENOVO3000 V100 -- OSI(Linux) is a NOP Lenovo X61x -- OSI(Linux) enables Linux specific AML Sony Vaio VGN-NR11S_S - OSI(Linux) is a NOP Signed-off-by: Len Brown 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 6bf69b5ebf22f8f5b4551bad688979fe29049126 Author: Roel Kluin <12o3l@tiscali.nl> Date: Mon Feb 11 16:05:35 2008 +0100 pnpacpi: __initdata is not an identifier sparse complains at drivers/pnp/pnpacpi/core.c:39 with the error: Trying to use reserved word '__attribute__' as identifier Expected ) in function declarator, got ".init.data" and at drivers/pnp/pnpacpi/core.c:49:38 with the error: undefined identifier 'excluded_id_list' With the patch below these sparse complaints do not occur Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Len Brown commit c8e773fa4f6a999a80d9fa3836f412e259ab6fa1 Author: Adrian Bunk Date: Wed Feb 13 23:29:57 2008 +0200 ACPI: static acpi_chain_head Signed-off-by: Adrian Bunk Signed-off-by: Len Brown commit adba2a876c1c971980f9bb3c6c8e20c61490647b Author: Adrian Bunk Date: Wed Feb 13 23:29:58 2008 +0200 ACPI: static acpi_find_dsdt_initrd() Signed-off-by: Adrian Bunk Signed-off-by: Len Brown commit bfaed45e30f19bb4cee779f3229d2744bc2b2c46 Author: Adrian Bunk Date: Wed Feb 13 23:30:00 2008 +0200 ACPI: static acpi_no_initrd_override_setup() Signed-off-by: Adrian Bunk Acked-by: Eric Piel Signed-off-by: Len Brown commit 1d5a2b54f39cab8ab8bee5290798ea6516c4a68c Author: Adrian Bunk Date: Wed Feb 13 23:30:06 2008 +0200 thinkpad_acpi: static Signed-off-by: Adrian Bunk Acked-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit a602cc05f8fc849023e72e2857bd842f0104f648 Author: Hideo Saito Date: Thu Feb 14 14:45:08 2008 +0900 sh: Fix multiple UTLB hit on UP SH-4. This acts as a reversion of 1c6b2ca5e0939bf8b5d1a11f1646f25189ecd447 in the case of UP SH-4, where we still have the risk of a multiple hit between the slow and fast paths. As seen on SH7780. Signed-off-by: Hideo Saito Signed-off-by: Paul Mundt commit 314ccd644cc14b9ebc1996afbabfb4d108004fd0 Author: Rafael J. Wysocki Date: Wed Feb 13 00:32:16 2008 +0100 ACPI suspend: Execute _WAK with the right argument The _WAK global ACPI control method has to be called with the argument representing the sleep state being exited. Make it happen. Special thanks to Mirco Tischler for reporting the problem and debugging. Reported-by: Mirco Tischler Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 123100cf4fff3e8ffa375df2c74c7f2cb29ab17a Author: Magnus Damm Date: Thu Feb 14 14:05:57 2008 +0900 sh: fix pci io access for r2d boards Use generic_io_base to point out the pci io window, and make sure the highest port address used is SH7751_PCI_IO_SIZE - 1. This patch fixes pci io port access for the r2d boards - CONFIG_8139TOO_PIO now works as expected. So does the alsa driver for CMI8738. Signed-off-by: Magnus Damm Acked-by: Katsuya MATSUBARA Signed-off-by: Paul Mundt commit c0ca41a27ef40fbe6d5fe343b61d63d7e1b93d28 Author: Magnus Damm Date: Thu Feb 14 13:59:02 2008 +0900 sh: fix ioreadN_rep and iowriteN_rep This patch is a fix to make sure readsN/writesN are used over insN/outsN for ioreadN_rep/iowriteN_rep. The current state of the sh io code is that mmio operations like readN/writeN and ioreadN/iowriteN are unaffected by the value of generic_io_base. This is different fom port based io like inN/outN which gets adjusted using the value in generic_io_base. Without this patch ioreadN_rep/iowriteN_rep get their addresses adjusted. The address for mmio access is adjusted using generic_io_base. This is wrong. The ata core code currently crashes if generic_io_base is set. This patch changes ioreadN_rep/iowriteN_rep to follow the same rules as the rest of the mmio operations, ie don't adjust using generic_io_base. Signed-off-by: Magnus Damm Acked-by: Katsuya MATSUBARA Signed-off-by: Paul Mundt commit e036eaa681a17f71b64f6d9040fe605555623919 Author: Magnus Damm Date: Thu Feb 14 13:52:43 2008 +0900 sh: use ctrl_in/out for on chip pci access This patch makes sure ctrl_inN/outN are used instead of inN/outN for on chip pci registers. Without this patch addresses may be adjusted using the value in generic_io_base. This patch makes it possible to set generic_io_base and have pci without reading and writing all over the place. Signed-off-by: Magnus Damm Acked-by: Katsuya MATSUBARA Signed-off-by: Paul Mundt commit f99cb7a43c5cca1813a97312487acf7a0f88ee2a Author: Paul Mundt Date: Wed Feb 13 20:28:12 2008 +0900 sh: Kill off more dead symbols. Reported-by: Robert P. J. Day Signed-off-by: Paul Mundt commit db02612b4eb6136f06a924e6aa28752a841ad1bc Author: Paul Mundt Date: Wed Feb 13 20:18:01 2008 +0900 sh: __uncached_start only on sh32. sh64 doesn't provide __uncached_start, so don't reference it unconditionally. Signed-off-by: Paul Mundt commit c7a49dd42d15f066d13e26c24c22c600b58528e0 Author: Paul Mundt Date: Wed Feb 13 20:16:47 2008 +0900 sh: asm/irq.h needs asm/cpu/irq.h. The SH-5 build currently fails when trying to build the i8042 code due to the missing IRQ definitions. These are provided in asm/cpu/irq.h, so just include that there to get it building again. Signed-off-by: Paul Mundt commit e8ea024bffcc9e4cb0e72cfdf50a99d05fd95d1c Author: Paul Mundt Date: Wed Feb 13 20:15:36 2008 +0900 serial: sh-sci: Fix up SH-5 build. asm/hardware.h doesn't exist any more, and the definitions sh-sci.h depended on are provided through asm/cpu/addrspace.h these days. Kill off the bogus include. Signed-off-by: Paul Mundt commit 38350e0a00f973dd9c6556beeff0f7eb5ef3f58b Author: Paul Mundt Date: Wed Feb 13 20:14:10 2008 +0900 sh: Get SH-5 caches working again post-unification. A number of cleanups to get the SH-5 cache management code in line with the rest of the SH backend. Signed-off-by: Paul Mundt commit 5c8f82c64941594cdab53bf9f9a66c190781f4f6 Author: Paul Mundt Date: Wed Feb 13 19:44:53 2008 +0900 maple: Fix up maple build failure. maple_devinfo->connector_direction had a typo, fix it up.. Signed-off-by: Paul Mundt commit b785537fe6af6d0f558cc035a0c04d87873d2ce0 Author: Paul Mundt Date: Wed Feb 13 19:37:52 2008 +0900 sh: Kill off bogus SH_SDK7780_STANDALONE symbol. Reported-by: Robert P. J. Day Signed-off-by: Paul Mundt commit bb7de070d2cf11f92341c40cd1810e8eebfbcbf8 Author: Paul Mundt Date: Wed Feb 13 14:09:03 2008 +0900 sh: asm/tlb.h needs linux/pagemap.h for CONFIG_SWAP=n. linux/swap.h really wants to include linux/pagemap.h in order to satisfy the page_cache_release()/release_pages() definition requirements when CONFIG_SWAP=n. Unfortunately the code in question contains: /* only sparc can not include linux/pagemap.h in this file * so leave page_cache_release and release_pages undeclared... */ #define free_page_and_swap_cache(page) \ page_cache_release(page) #define free_pages_and_swap_cache(pages, nr) \ release_pages((pages), (nr), 0); so it looks like we're stuck with doing it in asm/tlb.h instead, as others already do (ARM, CRIS, etc.). Grumble. Signed-off-by: Paul Mundt commit c2f4d36640947ddd13af7a2c36d197eb9fe5280a Author: Kristoffer Ericson Date: Mon Feb 11 18:41:49 2008 +0100 sh: Tidy include/asm-sh/hp6xx.h This patch removes defunct. led support functions from hp6xx.h since they are now added in a proper driver (see commit below). Also adds tabs instead of spaces before comments. *commit d39a7a63eb3971b1b3cc5c181ed526bf437b1c72 Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit b770d6b9b726932a74126311fa163ebf379631d8 Author: Adrian McMenamin Date: Mon Feb 11 00:25:02 2008 +0000 maple: improve detection of attached peripherals Improve device detection for maple through longer delay Experience suggests that a much longer delay in setting up the Maple bus on the Dreamcast leads to better hardware detection. Signed-off-by: Adrian McMenamin Signed-off-by: Paul Mundt commit 43081e18336d67937092dd05ffe320d2fbffd012 Author: Paul Mundt Date: Tue Feb 12 17:02:08 2008 +0900 sh: Shut up some trivial build warnings. Signed-off-by: Paul Mundt commit f1f8926a94132e6433b559a3eced65404226f5cd Author: Paul Mundt Date: Tue Feb 12 17:00:39 2008 +0900 sh: Update SH-5 flush_cache_sigtramp() for API changes. Previously this took an explicit range, update this to use the same behaviour as the rest of the SH parts where we simply flush out a line from the start address. Signed-off-by: Paul Mundt commit 5e9c8ac5699f2a830fab2c224b6f57bd7da338b8 Author: Paul Mundt Date: Tue Feb 12 16:59:30 2008 +0900 sh: Fix up set_fixmap_nocache() for SH-5. This needs a PAGE_KERNEL_NOCACHE definition, as provided by pgtable_32.h. Signed-off-by: Paul Mundt commit 5286031693d14ae20ce4298d002eddc2044e19a4 Author: Paul Mundt Date: Tue Feb 12 16:55:21 2008 +0900 sh: Fix up pte_mkhuge() build breakage for SH-5. Applies the fix from 5b67954e804465a4658dd4da8d52b87a8d1ea00c to pgtable_64.h. Signed-off-by: Paul Mundt commit 64e34ca99abc4749ff7fa752f02653d115c577b1 Author: Paul Mundt Date: Tue Feb 12 16:48:43 2008 +0900 sh: Disable big endian for SH-5. All SH-5 machines are little endian. Signed-off-by: Paul Mundt commit 829c773da599285e2780dbaab5c795b7b498ef22 Author: Paul Mundt Date: Tue Feb 12 16:48:16 2008 +0900 sh: Handle SH7366 CPU in check_bugs(). Signed-off-by: Paul Mundt commit ecc14e8cf7f7865b8b7a9e1796c0b18cbb477d2f Author: Paul Mundt Date: Tue Feb 12 16:02:02 2008 +0900 sh: Symbol exports for trapped I/O. Signed-off-by: Paul Mundt commit 96f2fc006c281cbd5702a409c57d1f1549cde1fe Author: Paul Mundt Date: Sat Feb 9 19:11:12 2008 +0900 sh: Clean up whitespace damage in Kconfig.debug. Signed-off-by: Paul Mundt commit f1cdd63fe904869310fefb0361c94c51744eada4 Author: Paul Mundt Date: Sat Feb 9 19:10:52 2008 +0900 sh: Use max_t in io_trapped. Signed-off-by: Paul Mundt commit 9109a30e5a548b39463b5a777943cf103da507af Author: Magnus Damm Date: Fri Feb 8 17:31:24 2008 +0900 sh: add support for sh7366 processor This patch adds sh7366 cpu supports. Just the most basic things like interrupt controller, clocks and serial port are included at this point. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit d847afe7d4966d35eb7a6fe6f196a0d7e5633f35 Author: Magnus Damm Date: Fri Feb 8 17:23:42 2008 +0900 sh: remove maskreg irq code This patch removes the maskreg irq code since it is not in use anymore. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0906185071bff4b285aed6e89ed607d6f6bf8910 Author: Magnus Damm Date: Fri Feb 8 17:26:54 2008 +0900 sh: fix ptrace copy_from/to_user() compilation error This patch makes the 32-bit ptrace code compile again. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit c1a34e4c547a7e6185078bf5e65a3ca0e1081df2 Author: Magnus Damm Date: Thu Feb 7 20:23:53 2008 +0900 sh: trapped io support for highlander V2 This patch converts the highlander CF device from good old machvec readb/writeb to the new shiny trapped io. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 2d952b4b8c94ed8576b4221dad9654c5d98275d0 Author: Magnus Damm Date: Thu Feb 7 20:21:10 2008 +0900 sh: trapped io support for r2d V2 This patch converts the CF device on r2d boards from machvec readb/writeb to trapped io. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e7cc9a7340b8ec018caa9eb1d035fdaef1f2fc51 Author: Magnus Damm Date: Thu Feb 7 20:18:21 2008 +0900 sh: trapped io support V2 The idea is that we want to get rid of the in/out/readb/writeb callbacks from the machvec and replace that with simple inline read and write operations to memory. Fast and simple for most hardware devices (think pci). Some devices require special treatment though - like 16-bit only CF devices - so we need to have some method to hook in callbacks. This patch makes it possible to add a per-device trap generating filter. This way we can get maximum performance of sane hardware - which doesn't need this filter - and crappy hardware works but gets punished by a performance hit. V2 changes things around a bit and replaces io access callbacks with a simple minimum_bus_width value. In the future we can add stride as well. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 2ade1a9b425c24037327197ea97db054395b536b Author: Magnus Damm Date: Thu Feb 7 20:08:46 2008 +0900 sh: update r2d defconfigs with usb, spi and rtc Update the defconfigs for r2d-plus and r2d-1 since we now have new drivers for sm501 usb, spi-over-sci and epson r9701 rtc in mainline. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4b5a9ef5279aed2c34d92fee62cf6d0c6ffacbaa Author: Magnus Damm Date: Thu Feb 7 20:04:12 2008 +0900 sh: use opcode_t and enable unaligned code for sh2a This patch converts the unaligned access handling code to use opcode_t instead of u16. While at it, enable unaligned access handling for sh2a. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4252c659a4e7f4260e4bdc87538578236c51ab2d Author: Magnus Damm Date: Thu Feb 7 19:58:46 2008 +0900 sh: add byte support to the sign extension code This patch adds byte support to the sign extension code. Unaligned access traps should never be generated on 8-bit io operations, but we will use this code for trapped io and we do need byte support there. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 1e6760c5c4589d02a6877fb256b99c33dd8f1ede Author: Magnus Damm Date: Thu Feb 7 19:50:52 2008 +0900 sh: make copy_to/from_user() static inline This patch changes copy_from_user() and copy_to_user() from macros into static inline functions. This way we can use them as function pointers. Also unify the 64 bit and 32 bit versions. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 960c65e88452e761e257c6a20062c91c3e7fa5ac Author: Peter Zijlstra Date: Thu Feb 7 15:01:26 2008 +0900 sh: fix xtime_lock deadlocking. move update_process_times() out from under xtime_lock. Signed-off-by: Peter Zijlstra Signed-off-by: Paul Mundt commit 9216f194e4b1a967996f0335cfe2ac42df4438b7 Author: Paul Mundt Date: Thu Feb 7 13:13:44 2008 +0900 sh: Add mach-type entries for MigoR and SDK7780. Signed-off-by: Paul Mundt commit 70f784ec1ddacf8e17da2663f842efac029da796 Author: Magnus Damm Date: Thu Feb 7 00:38:24 2008 +0900 sh: migor board support This patch adds basic support for the Migo-R board. Only simple stuff provided by the cpu specific sh7722 code is in place now, like serial console port, timers and usb gadget. There is also partial support for the smc91c111 ethernet controller - unfortunately some driver header file also needs patching (not included here) to make the driver get IRQ sense information from the platform data. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 5d0e146493a3306b931338ac030bc7a8de40c066 Author: Paul Mundt Date: Thu Feb 7 13:05:13 2008 +0900 sh: Wire up new timerfd syscalls. Signed-off-by: Paul Mundt commit 87153058b2e3bedfd339dbfec5dd6dd3d98677b0 Author: Adrian McMenamin Date: Wed Feb 6 23:59:56 2008 +0000 maple: Drop unused prototypes from linux/maple.h. This patch removes the now unneeded registration check variable from struct maple_device. (This patch assumes the include/linux/maple.h file has already been patched for whitespace errors by http://lkml.org/lkml/2008/2/6/327) Signed-off-by: Adrian McMenamin Signed-off-by: Paul Mundt commit b3c69e248176f7a123d519d63e7c0d68783d52c3 Author: Adrian McMenamin Date: Wed Feb 6 23:51:21 2008 +0000 maple: more robust device detection. Replacement second-in-series patch: This patch fixes up memory leaks and, by delaying initialisation, makes device detection more robust. It also makes clearer the difference between struct maple_device and struct device, as well as cleaning up the interrupt request code (without changing its function in any way). Also now removes redundant registration checking. Signed-off-by: Adrian McMenamin Signed-off-by: Paul Mundt commit b9482378916abb9a1e0a2334187cdc67f2deda2c Author: Adrian McMenamin Date: Wed Feb 6 22:46:21 2008 +0000 maple: fix up whitespace damage. This patch is fundamentally about fixing up the whitespace problems introduced by my previous patch (that brought the code into mainline). A second patch will follow that will fix memory leaks. The two need to be applied sequentially. Signed-off-by: Adrian McMenamin Signed-off-by: Paul Mundt commit 86c0179c9307bd600a96a44d623814c33bdbe0f0 Author: Magnus Damm Date: Thu Feb 7 00:02:50 2008 +0900 sh: break out unaligned sign extension code Break out the sign extension code since it's used in multiple places. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 1cfb629cfa4a8d9b65c0f60c65ec731bde82d60c Author: Magnus Damm Date: Wed Feb 6 23:57:57 2008 +0900 sh: add probe support for new sh7722 cut This patch adds support for sh7722 devices with prr value 0xa1. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 10a1debee11168c603e6d2e13f4c1da7c5bac64e Author: Magnus Damm Date: Wed Feb 6 23:54:23 2008 +0900 sh: add sh7722 support to EARLY_SCIF_CONSOLE This patch adds the base address of SCIF0 in the case of sh7722. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 5c5a26fa9cd27ed4642f5a4ec76d9b487959e8dc Author: Alan Cox Date: Mon Feb 4 23:50:25 2008 -0800 sh: termios ioctl definitions These ports are holding up progress and now have been for months. Do the job for them. Signed-off-by: Alan Cox Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Paul Mundt commit 222dc791e1c3e8c0c0e2807c55999ad3d85e8760 Author: Stephen Rothwell Date: Sat Feb 2 23:03:47 2008 +1100 sh: remove unneeded cast now that platform_device_register_simple() takes a "const chat *". Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mundt commit 2a3eeba88f935b200245d1536b99cd4b7eec1d4a Author: Magnus Damm Date: Fri Jan 25 12:42:48 2008 +0900 sh: declared coherent memory support V2 fix This patch fixes the recently introduced declared coherent memory support. Without this fix a cached memory area is returned by dma_alloc_coherent() - unless dma_declare_coherent_memory() has setup a separate area. This patch makes sure an uncached memory area is returned. With this patch it is now possible to ping through an rtl8139 interface on r2d-plus. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit fe8e288a63f2f3c51c288500282d0eb5cd26a534 Author: Venkatesh Pallipadi Date: Thu Feb 14 00:16:13 2008 -0500 cpuidle: Add Documentation Documentation for cpuidle infrastructure. (resend) Signed-off-by: Venkatesh Pallipadi Reviewed-by: Randy Dunlap Signed-off-by: Len Brown commit 4fcb2fcd4d0678b8ae103d257dcb28074cbfc7fa Author: Venkatesh Pallipadi Date: Mon Feb 11 17:46:31 2008 -0800 ACPI, cpuidle: Clarify C-state description in sysfs Add a new sysfs entry under cpuidle states. desc - can be used by driver to communicate to userspace any specific information about the state. This helps in identifying the exact hardware C-states behind the ACPI C-state definition. Idea is to export this through powertop, which will help to map the C-state reported by powertop to actual hardware C-state. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit b077fbada161479d9a32a7730d2822d5e737b306 Author: Venkatesh Pallipadi Date: Mon Feb 11 15:20:27 2008 -0800 ACPI: fix suspend regression due to idle update Earlier patch (bc71bec91f9875ef825d12104acf3bf4ca215fa4) broke suspend resume on many laptops. The problem was reported by Carlos R. Mafra and Calvin Walton, who bisected the issue to above patch. The problem was because, C2 and C3 code were calling acpi_idle_enter_c1 directly, with C2 or C3 as state parameter, while suspend/resume was in progress. The patch bc71bec started making use of that state information, assuming that it would always be referring to C1 state. This caused the problem with suspend-resume as we ended up using C2/C3 state indirectly. Fix this by adding acpi_idle_suspend check in enter_c1. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit 8d042218b075de3cdbe066198515b3521553746e Author: Olga Kornievskaia Date: Wed Feb 13 16:47:06 2008 -0500 NFS: add missing spkm3 strings to mount option parser This patch adds previous missing spkm3 string values that are needed to parse mount options in the kernel. commit 25606656b19a38bbece914c4c67101f674908f49 Author: Jeff Layton Date: Tue Feb 12 06:49:01 2008 -0500 NFS: remove error field from nfs_readdir_descriptor_t The error field in nfs_readdir_descriptor_t is never used outside of the function in which it is set. Remove the field and change the place that does use it to use an existing local variable. Signed-off-by: Jeff Layton Signed-off-by: Trond Myklebust commit 497799e7c0ac7e82164a510ebf8beed7b3635e34 Author: Dan Muntz Date: Wed Feb 13 13:09:35 2008 -0800 NFS: missing spaces in KERN_WARNING The warning message for a v4 server returning various bad sequence-ids is missing spaces. Signed-off-by: Dan Muntz Signed-off-by: Trond Myklebust commit 4267c9561d9c3bb2abf45abed9c75a1c892d7d15 Author: Chuck Lever Date: Wed Feb 13 14:55:17 2008 -0500 NFS: Allow text-based mounts via compat_sys_mount The compat_sys_mount() system call throws EINVAL for text-based NFSv4 mounts. The text-based mount interface assumes that any mount option blob that doesn't set the version field to "1" is a C string (ie not a legacy mount request). The compat_sys_mount() call treats blobs that don't set the version field to "1" as an error. We just relax the check in compat_sys_mount() a bit to allow C strings to be passed down to the NFSv4 client. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 8e60029f403781b8a63b7ffdb7dc1faff6ca651e Author: Jeff Layton Date: Mon Feb 11 10:00:20 2008 -0500 NFS: fix reference counting for NFSv4 callback thread The reference counting for the NFSv4 callback thread stays artificially high. When this thread comes down, it doesn't properly tear down the svc_serv, causing a memory leak. In my testing on an older kernel on x86_64, memory would leak out of the 8k kmalloc slab. So, we're leaking at least a page of memory every time the thread comes down. svc_create() creates the svc_serv with a sv_nrthreads count of 1, and then svc_create_thread() increments that count. Whenever the callback thread is started it has a sv_nrthreads count of 2. When coming down, it calls svc_exit_thread() which decrements that count and if it hits 0, it tears everything down. That never happens here since the count is always at 2 when the thread exits. The problem is that nfs_callback_up() should be calling svc_destroy() on the svc_serv on both success and failure. This is how lockd_up_proto() handles the reference counting, and doing that here fixes the leak. Signed-off-by: Jeff Layton Signed-off-by: Trond Myklebust commit 42086cec3263b8c015ca3faa01e8190f0e3ff445 Author: Chris Zankel Date: Mon Jan 28 15:55:01 2008 -0800 [XTENSA] Allow debugger to modify the WINDOWBASE register. For the 'return' command, GDB needs to adjust WINDOWBASE. In case WB is different from 0, we need to rotate the window register file and update WINDOWSTART and WMASK. This patch also removes some ret|= statements for __get_user/__put_user as the address range was alrady checked a couple of lines earlier. Signed-off-by: Chris Zankel commit bdd362ff4ff8dc0c697ce87dbb337f3b7341fc46 Author: Bob Wilson Date: Fri Feb 1 16:56:32 2008 -0800 [XTENSA] Fix makefile to work with binutils-2.18. When building with binutils-2.18, vmlinux includes .note.gnu.build-id sections that need to be stripped out when building the binary image. The old .xt.insn sections haven't been used for a long time, so don't bother stripping them. Signed-off-by: Bob Wilson Signed-off-by: Chris Zankel commit e1088430626b2ec4cd64f2fb7d9fd7c6df5d5824 Author: Chris Zankel Date: Tue Jan 22 00:45:25 2008 -0800 [XTENSA] Fix register corruption for certain processor configurations For processor configurations that have optional registers (compiler-used but non-coprocessor), user space registers might get corrupted when there are only 4 registers in the current window-frame, ie. register a4 belongs to the oldest frame in the register file. Signed-off-by: Chris Zankel commit 9f8fcf38e8928cccf8c7b32668d146e457f2ccf2 Author: Chris Zankel Date: Fri Jan 18 16:15:29 2008 -0800 [XTENSA] Fix cache flush macro for D$/I$ aliasing/non-aliasing For configurations that have aliasing in the data cache but not in the instruction cache, we don't need to flush the instruction cache. Thus, we didn't define the macros to flush the instruction cache. Some cache-flush functions, howerver, were using those macros. Signed-off-by: Chris Zankel commit 679262578ba975037901556b2ddc6b17a77cf671 Author: Chris Zankel Date: Tue Jan 15 09:49:18 2008 -0800 [XTENSA] Exclude thread-global registers from the xtregs structures. Signed-off-by: Chris Zankel commit 44c64e6b15ceab6a4927f54e1081a74ba096b95a Author: Chris Zankel Date: Fri Jan 11 11:44:17 2008 -0800 [XTENSA] Add support for the sa_restorer function Supporting the sa_restorer function allows for better security since the sigreturn system call doesn't need to be placed on the stack, so the stack doesn't need to be executable. This requires support from the c-library as it has to provide the restorer function. Signed-off-by: Chris Zankel commit c658eac628aa8df040dfe614556d95e6da3a9ffb Author: Chris Zankel Date: Tue Feb 12 13:17:07 2008 -0800 [XTENSA] Add support for configurable registers and coprocessors The Xtensa architecture allows to define custom instructions and registers. Registers that are bound to a coprocessor are only accessible if the corresponding enable bit is set, which allows to implement a 'lazy' context switch mechanism. Other registers needs to be saved and restore at the time of the context switch or during interrupt handling. This patch adds support for these additional states: - save and restore registers that are used by the compiler upon interrupt entry and exit. - context switch additional registers unbound to any coprocessor - 'lazy' context switch of registers bound to a coprocessor - ptrace interface to provide access to additional registers - update configuration files in include/asm-xtensa/variant-fsf Signed-off-by: Chris Zankel commit f51f5ec6909fad9ddfcaa962377f7892d7918302 Author: Adrian Bunk Date: Wed Feb 13 17:41:39 2008 -0800 [NETFILTER]: make secmark_tg_destroy() static This patch makes the needlessly global secmark_tg_destroy() static. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 324b57619bdd151abbab73a48707c17cfb0e9ba4 Author: Adrian Bunk Date: Wed Feb 13 17:40:25 2008 -0800 [INET]: Unexport inet_listen_wlock This patch removes the no longer used EXPORT_SYMBOL(inet_listen_wlock). Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 74da4d34e4a452c3f448fe659fa9f4ba1fbe507e Author: Adrian Bunk Date: Wed Feb 13 17:39:34 2008 -0800 [INET]: Unexport __inet_hash_connect This patch removes the unused EXPORT_SYMBOL_GPL(__inet_hash_connect). Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 71d28e6c285548106f551fde13ca6d589433d843 Author: Bob Wilson Date: Tue Oct 16 16:43:00 2007 -0700 [XTENSA] Clean up stat structs. Avoid using typedefs for stat fields. Make stat64.st_blocks an unsigned long long to avoid endian-specific padding with 32-bit values. Clean up signed vs. unsigned and int vs. long types to be consistent with other uses of these values. Signed-off-by: Bob Wilson Signed-off-by: Chris Zankel commit 36dffadb7f19671aab58be43c5896ea87d5fb1bf Author: Chris Zankel Date: Tue Feb 12 13:14:17 2008 -0800 [XTENSA] Use preprocessor to generate the linker script for the ELF boot image Signed-off-by: Marc Gauthier Signed-off-by: Chris Zankel commit 6d15d109632ff01e13c26893030e2ed9e6c4e3fd Author: Marc Gauthier Date: Sun Dec 30 22:00:54 2007 -0800 [XTENSA] Add missing RELOCATE_ENTRY for debug vector We also need to relocate the debug vector if in RAM. Signed-off-by: Marc Gauthier commit de6b03456e2e11cbff9f4bb147177374b260d04e Author: Chris Zankel Date: Wed Dec 19 10:21:50 2007 -0800 [XTENSA] Add volatile keyword to asm statements accessing counter registers The compiler get's sometimes to smart and doesn't reread the counter registers and the kernel doesn't schedule until the counter wraps around. Signed-off-by: Chris Zankel commit 03dfa442e5aaf644bb9b3b506abbd76786867eb1 Author: Chris Zankel Date: Tue Feb 12 13:10:40 2008 -0800 [XTENSA] Remove unused code We will never (need to) support signal handling coming from a double exception. There are too many things that could go wrong and delivering signals is not the fastest method for IPC, anyway. Signed-off-by: Chris Zankel commit 3b4a49e21b0d8a69629623815a8caff3eb4cf9f7 Author: Chris Zankel Date: Mon Jan 7 16:42:21 2008 -0800 [XTENSA] Fix modules for non-exec processor configurations We need to use vmalloc_exec for module loading. Also remove the definitions MODULE_START and MODULE_END, which wasn't used, and increase the VMALLOC memory range accordingly. Signed-off-by: Chris Zankel commit 3e92501a4e10e640786de10786c434834a0c1651 Author: Marc Gauthier Date: Tue Dec 11 15:28:07 2007 -0800 [XTENSA] Add missing cast in elf.h ELF_CORE_COPY_REGS() Avoids compiler warning. Signed-off-by: Marc Gauthier commit ea0b6b066304d9f7e24b273c71fab5d67ce54f96 Author: Chris Zankel Date: Wed Jan 9 09:22:36 2008 -0800 [XTENSA] Fix comments regarding the number of frames to save Signed-off-by: Marc Gauthier Signed-off-by: Chris Zankel commit 50c0716aa2f49a9d34589e380fad73402464c088 Author: Chris Zankel Date: Wed Nov 14 13:47:02 2007 -0800 [XTENSA] Add missing a2 register restore in register spill routine Register a2 is saved in depc but wasn't getting restored before returning from _spill_registers when there weren't any registers to spill. The mask to cut the top bit from the rotated WINDOWMASK register was also one bit short. Signed-off-by: CHris Zankel commit ed3174d93c342b8b2eeba6bbd124707d55304a7b Author: Marc Gauthier Date: Tue Oct 23 16:40:24 2007 -0700 [XTENSA] adjust boot linker script start addresses Move boot-redboot load address from 0xD0200000 to 0xD1000000 to make space for larger kernel images, in particular those with an embedded initramfs filesystem. Also properly set the ELF start address in boot-elf images so that PC need not be set manually when loading them using GDB. Signed-off-by: Marc Gauthier commit 3befce8f0f79be8322aba885ed052b8ad927913d Author: Chris Zankel Date: Tue Feb 12 12:22:15 2008 -0800 [XTENSA] Remove oldmask from sigcontext and fix register flush Remove oldmask from the sigcontext structure. Also update wmask and windowstart when we flush the AR registers to stack. Signed-off-by: Chris Zankel commit 8d7e8240e66cecc84a375aceb26942d02b291198 Author: Chris Zankel Date: Tue Feb 12 11:55:32 2008 -0800 [XTENSA] Clean up elf-gregset. Remove additional registers from the ELF gregset structure that are only used by the kernel or are not required or invalid in user-space. The ar registers are always aligned to a windowbase value of 0, and the WB register is always assumed to be 0. Increase the size of the structure to 128 entries. This will provide enough space in future. Signed-off-by: Chris Zankel commit 0b2c3afdaaaa3e577300b2235df43eb8af00020b Author: Chris Zankel Date: Tue Feb 12 10:11:45 2008 -0800 [XTENSA] Fix icache flush for cache aliasing Set the execution bit in the temporary TLB when we flush the instruction cache. Signed-off-by: Chris Zankel commit 70e137eb48f62e59dfa5e06d0d01f123e9464f9a Author: Chris Zankel Date: Tue Oct 23 10:58:53 2007 -0700 [XTENSA] Fix clobbered register in asm macro We dangerously re-used an input operand to an asm macro without defining a constraint. By defining a separate output operand (instead of input/output operand), the compiler is more flexible during register allocation. Signed-off-by: Chris Zankel commit c865415838146d83c92e4c1ae69aff45ef9f35f8 Author: Marc Gauthier Date: Fri Sep 21 16:38:09 2007 -0700 [XTENSA] Prevent inlining ISS platform asm constructs The simcall asm macro assumes Windowed ABI parameter passing in registers, and doesn't work if its containing function gets inlined. This fix prevents that from happening. Signed-off-by: Marc Gauthier commit b67360db143448be1f6d68835c6d0cc43837667f Author: Chris Zankel Date: Thu Sep 6 01:38:18 2007 -0700 [XTENSA] Flush the page-address in update-mmu instead of user-address The TLB entry for the user address doesn't exist at the time we want to flush the caches, so use the page address. Note that processor configurations with cache-aliasing issues are treated separately. Signed-off-by: Chris Zankel commit 49883224f6665e2b056fc3e7325b3bba9d1ff2c4 Author: Chris Zankel Date: Wed Nov 14 13:39:40 2007 -0800 [XTENSA] Fix argument list for pgd_ctor constructor. The argument list for ctor function element in the kmem_cache structure has changed. Signed-off-by: Chris Zankel commit b26d0ab0e6fa3a886d2799bf89eb05dd52f8b7c2 Author: Chris Zankel Date: Thu Sep 13 13:44:07 2007 -0700 [XTENSA] Concentrate platforms into one platforms directory. Create arch/xtensa/platforms/ directory to concentrate all platforms under that subdirectory and moves the ISS platform to that directory. Signed-off-by: Chris Zankel commit 4f8d98ff4825336b23372bb552852625fc90d3b1 Author: Chris Zankel Date: Wed Feb 13 16:44:19 2008 -0800 [XTENSA] Add .literal sections for various init sectiont to linker script Xtensa requires separate .literal section for each .text section. Adding addition init sections for cpuinit, meminit, and devinit, broke the Xtensa linker script, so, add these literal sections manually for now. Signed-off-by: Chris Zankel commit e584d85fb1cba2b08c266348b58eb4a881a88b40 Author: Chris Zankel Date: Wed Feb 13 16:25:09 2008 -0800 [XTENSA] Fix non-existent pte_token_t typedef to pgtable_t This bug was introduced in 2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4. (CONFIG_HIGHPTE vs. sub-page page tables) Signed-off-by: Chris Zankel commit e760e716d47b48caf98da348368fd41b4a9b9e7e Merge: b2e3e65... 9910930... Author: Linus Torvalds Date: Wed Feb 13 16:23:44 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: [SCSI] gdth: update deprecated pci_find_device [SCSI] gdth: scan for scsi devices [SCSI] sym53c416: fix module parameters [SCSI] lpfc 8.2.5 : Update lpfc driver version to 8.2.5 [SCSI] lpfc 8.2.5 : Fix buffer leaks [SCSI] lpfc 8.2.5 : Miscellaneous discovery Fixes [SCSI] lpfc 8.2.5 : Add MSI-X single message support [SCSI] lpfc 8.2.5 : Miscellaneous Fixes [SCSI] lpfc 8.2.5 : Correct ndlp referencing issues [SCSI] update SG_ALL to avoid causing chaining [SCSI] aic94xx: fix ABORT_TASK define conflict [SCSI] fas216: Use scsi_eh API for REQUEST_SENSE invocation [SCSI] ses: fix memory leaks [SCSI] aacraid: informational sysfs value corrections [SCSI] mpt fusion: Request I/O resources only when required [SCSI] aacraid: ignore adapter reset check polarity [SCSI] aacraid: add optional MSI support [SCSI] mpt fusion: Avoid racing when mptsas and mptcl module are loaded in parallel [SCSI] MegaRAID driver management char device moved to misc [SCSI] advansys: fix overrun_buf aligned bug commit b2e3e658b344c6bcfb8fb694100ab2f2b5b2edb0 Author: Mathieu Desnoyers Date: Wed Feb 13 15:03:39 2008 -0800 Linux Kernel Markers: create modpost file This adds some new magic in the MODPOST phase for CONFIG_MARKERS. Analogous to the Module.symvers file, the build will now write a Module.markers file when CONFIG_MARKERS=y is set. This file lists the name, defining module, and format string of each marker, separated by \t characters. This simple text file can be used by offline build procedures for instrumentation code, analogous to how System.map and Module.symvers can be useful to have for kernels other than the one you are running right now. The strings are made easy to extract by having the __trace_mark macro define the name and format together in a single array called __mstrtab_* in the __markers_strings section. This is straightforward and reliable as long as the marker structs are always defined by this macro. It is an unreasonable amount of hairy work to extract the string pointers from the __markers section structs, which entails handling a relocation type for every machine under the sun. Mathieu : - Ran through checkpatch.pl Signed-off-by: Roland McGrath Signed-off-by: Mathieu Desnoyers Cc: David Smith Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb40bd78b0f91b274879cf5db8facd1e04b6052e Author: Mathieu Desnoyers Date: Wed Feb 13 15:03:37 2008 -0800 Linux Kernel Markers: support multiple probes RCU style multiple probes support for the Linux Kernel Markers. Common case (one probe) is still fast and does not require dynamic allocation or a supplementary pointer dereference on the fast path. - Move preempt disable from the marker site to the callback. Since we now have an internal callback, move the preempt disable/enable to the callback instead of the marker site. Since the callback change is done asynchronously (passing from a handler that supports arguments to a handler that does not setup the arguments is no arguments are passed), we can safely update it even if it is outside the preempt disable section. - Move probe arm to probe connection. Now, a connected probe is automatically armed. Remove MARK_MAX_FORMAT_LEN, unused. This patch modifies the Linux Kernel Markers API : it removes the probe "arm/disarm" and changes the probe function prototype : it now expects a va_list * instead of a "...". If we want to have more than one probe connected to a marker at a given time (LTTng, or blktrace, ssytemtap) then we need this patch. Without it, connecting a second probe handler to a marker will fail. It allow us, for instance, to do interesting combinations : Do standard tracing with LTTng and, eventually, to compute statistics with SystemTAP, or to have a special trigger on an event that would call a systemtap script which would stop flight recorder tracing. Signed-off-by: Mathieu Desnoyers Cc: Christoph Hellwig Cc: Mike Mason Cc: Dipankar Sarma Cc: David Smith Cc: "Paul E. McKenney" Cc: "Frank Ch. Eigler" Cc: Steven Rostedt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9170d2f6e1dc4d79650fbf492d1cd45291c66504 Author: Paul Mundt Date: Wed Feb 13 15:03:36 2008 -0800 pcmcia: ipwireless depends on NETDEVICES ipwireless (added by 099dc4fb62653f6019d78db55fba7a18ef02d65b) is clearly a net device: drivers/built-in.o: In function `ipwireless_ppp_start_xmit': /home/pmundt/devel/git/sh-2.6.25/drivers/char/pcmcia/ipwireless/network.c:165: undefined reference to `skb_under_panic' /home/pmundt/devel/git/sh-2.6.25/drivers/char/pcmcia/ipwireless/network.c:165: undefined reference to `kfree_skb' drivers/built-in.o: In function `ipwireless_network_packet_received': /home/pmundt/devel/git/sh-2.6.25/drivers/char/pcmcia/ipwireless/network.c:377: undefined reference to `__alloc_skb' /home/pmundt/devel/git/sh-2.6.25/drivers/char/pcmcia/ipwireless/network.c:377: undefined reference to `skb_over_panic' drivers/built-in.o: In function `ppp_shutdown_interface': /home/pmundt/devel/git/sh-2.6.25/drivers/net/ppp_generic.c:2517: undefined reference to `unregister_netdev' /home/pmundt/devel/git/sh-2.6.25/drivers/net/ppp_generic.c:2517: undefined reference to `free_netdev' [ ... and many more ... ] select strikes again. ipwireless selects PPP which in turn tries to select SLHC, both of which are technically "protected" by an if NETDEVICES in drivers/net/Kconfig. This leads to .config hilarity, with net suddenly ending up in the SCSI menu: # # SCSI device support # # CONFIG_SCSI_DMA is not set # CONFIG_SCSI_NETLINK is not set CONFIG_PPP=y # CONFIG_PHONE is not set Curiously the SLHC select from PPP doesn't seem to happen, as there's no CONFIG_SLHC=y (only CONFIG_PPP=y gets set) -- Kconfig bug? Caught with a randconfig. Signed-off-by: Paul Mundt Acked-by: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e1d146a19f2941aec08f60ca67fb2763baad595 Author: Ahmed S. Darwish Date: Wed Feb 13 15:03:34 2008 -0800 Smack: check for 'struct socket' with NULL sk There's a small problem with smack and NFS. A similar report was also sent here: http://lkml.org/lkml/2007/10/27/85 I've also added similar checks in inode_{get/set}security(). Cheating from SELinux post_create_socket(), it does the same. [akpm@linux-foundation.org: remove uneeded BUG_ON()] Signed-off-by: Ahmed S. Darwish Acked-by: Casey Schaufler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cba44359d15ac7a3bca2c9199b7ff403d7edc69e Author: Marcin Slusarz Date: Wed Feb 13 15:03:33 2008 -0800 udf: fix udf_add_free_space In commit 742ba02a51c8d0bf5446b154531179760c1ed0a2 (udf: create common function for changing free space counter) by accident I reversed safety condition which lead to null pointer dereference in case of media error and wrong counting of free space in normal situation Signed-off-by: Marcin Slusarz Cc: Jan Kara Acked-by: Cyrill Gorcunov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e28d80f18211e5d49e450ba0f07b8fdca6dfb83b Author: Jan Kara Date: Wed Feb 13 15:03:33 2008 -0800 udf: fix directory offset handling Patch cleaning up UDF directory offset handling missed modifications in dir.c (because I've submitted an old version :(). Fix it. Signed-off-by: Jan Kara Reported-by: Marcin Slusarz Tested-by: Marcin Slusarz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac76cff2ecd73944473a437cd87770f812635025 Author: Michael Opdenacker Date: Wed Feb 13 15:03:32 2008 -0800 Documentation: sysctl/kernel.txt: fix documentation reference This patch fixes a reference to Documentation/kmod.txt which was apparently renamed to Documentation/debugging-modules.txt Signed-off-by: Michael Opdenacker Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed58f8027945f1cf415bfe3805e1fa3fe8ed9edf Author: Sergio Luis Date: Wed Feb 13 15:03:30 2008 -0800 fs/smbfs/inode.c: fix warning message deprecating smbfs Fix the warning message regarding smbfs to "smbfs is deprecated and will be removed from the 2.6.27 kernel. Please migrate to cifs" instead of "smbfs is deprecated and will be removedfrom the 2.6.27 kernel. Please migrate to cifs" Signed-off-by: Sergio Luis Screwed-up-by: Andrew Morton Cc: Steven French Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f1a5955d90981c602ab77a8a181a0aa0f4f12cd9 Author: Randy Dunlap Date: Wed Feb 13 15:03:29 2008 -0800 docbook: drop z85230 library from kernel-api Drop z85230 support library info from kernel-api since it's duplicated in the Z85230 book. Signed-off-by: Randy Dunlap Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 413d57c9907c72ed608df2be72ef8ed13a3eeb46 Author: Marcin Slusarz Date: Wed Feb 13 15:03:29 2008 -0800 xfs: convert beX_add to beX_add_cpu (new common API) remove beX_add functions and replace all uses with beX_add_cpu Signed-off-by: Marcin Slusarz Cc: Mark Fasheh Reviewed-by: Dave Chinner Cc: Timothy Shimmin Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 91d35dd93e14c34539a8005183ea500f25caad02 Author: Ivan Kokshaysky Date: Wed Feb 13 15:03:26 2008 -0800 moduleparam: fix alpha, ia64 and ppc64 compile failures On alpha, ia64 and ppc64 only relocations to local data can go into read-only sections. The vast majority of module parameters use the global generic param_set_*/param_get_* functions, so the 'const' attribute for struct kernel_param is not only useless, but it also causes compile failures due to 'section type conflict' in those rare cases where param_set/get are local functions. This fixes http://bugzilla.kernel.org/show_bug.cgi?id=8964 Signed-off-by: Ivan Kokshaysky Cc: Richard Henderson Cc: "Luck, Tony" Cc: Anton Blanchard Cc: Paul Mackerras Cc: Adrian Bunk Cc: Kamalesh Babulal Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc2cda1ebd4430f55deb60f0193a3e3b835499a2 Author: Randy Dunlap Date: Wed Feb 13 15:03:25 2008 -0800 docbook: make a networking book and fix a few errors Move networking (core and drivers) docbook to its own networking book. Fix a few kernel-doc errors in header and source files. Signed-off-by: Randy Dunlap Cc: Trond Myklebust Cc: "J. Bruce Fields" Cc: Neil Brown Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 65b6e42cdc5b6a1ce2ada31cc294d7e60b22bb43 Author: Randy Dunlap Date: Wed Feb 13 15:03:23 2008 -0800 docbook: sunrpc filenames and notation fixes Use updated file list for docbook files and fix kernel-doc warnings in sunrpc: Warning(linux-2.6.24-git12//net/sunrpc/rpc_pipe.c:689): No description found for parameter 'rpc_client' Warning(linux-2.6.24-git12//net/sunrpc/rpc_pipe.c:765): No description found for parameter 'flags' Warning(linux-2.6.24-git12//net/sunrpc/clnt.c:584): No description found for parameter 'tk_ops' Warning(linux-2.6.24-git12//net/sunrpc/clnt.c:618): No description found for parameter 'bufsize' Signed-off-by: Randy Dunlap Cc: Trond Myklebust Cc: "J. Bruce Fields" Cc: Neil Brown Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 073b86dacc3c0fa79c71f3519169ea18d5521227 Author: Randy Dunlap Date: Wed Feb 13 15:03:23 2008 -0800 docbook: move pipe and splice to filesystems docbook Move pipes and splice docbook to filesystems book. kernel-api book is huge (10x most other books) & slow to process. Signed-off-by: Randy Dunlap Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b51d63c6d3078f47c26bcf7584b5c3ebea2defd0 Author: Randy Dunlap Date: Wed Feb 13 15:03:22 2008 -0800 kernel-doc: fix fs/pipe.c notation Fix several kernel-doc notation errors in fs/pipe.c. Signed-off-by: Randy Dunlap Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55265b00ad423898bb743bce515f073c3f290bdb Author: David Brownell Date: Wed Feb 13 15:03:21 2008 -0800 parport: section fixup Fix section warning for parport_ECP_supported(); it's called from a routine exported to modules, so it can't be removed with __devinit section pruning. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df24d9a6a9014010513d6af1105f4de05c504a4b Author: J. Bruce Fields Date: Wed Feb 13 15:03:20 2008 -0800 Documentation: prune redundant SubmitChecklist items Kernel style is mentioned twice, and the git apply trick is a bit redundant given the checkpatch.pl recommendation (which also checks for bad whitespace). Signed-off-by: J. Bruce Fields Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 064d9efe947542097be669581f82d6b097e81d1a Author: Nishanth Aravamudan Date: Wed Feb 13 15:03:19 2008 -0800 hugetlb: fix overcommit locking proc_doulongvec_minmax() calls copy_to_user()/copy_from_user(), so we can't hold hugetlb_lock over the call. Use a dummy variable to store the sysctl result, like in hugetlb_sysctl_handler(), then grab the lock to update nr_overcommit_huge_pages. Signed-off-by: Nishanth Aravamudan Reported-by: Miles Lane Cc: Adam Litke Cc: David Gibson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2695a14d315c014474ccadbaed40b0169b00cb5b Author: Thomas Bogendoerfer Date: Wed Feb 13 15:03:17 2008 -0800 SC26XX: missing PORT define in serial_core.h When submitting the driver for inclusion to 2.6.25 I've missed the change to serial_core.h. This patch fixes this. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 21534301ea1801783bd88fba2a2e617ee4d2bd28 Author: Harvey Harrison Date: Wed Feb 13 15:03:17 2008 -0800 Final removal of FASTCALL()/fastcall All users are gone, remove definitions and comments referring to them. Signed-off-by: Harvey Harrison Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5606c2d4447e80b1d72406af4e78af1eda611d4 Author: Harvey Harrison Date: Wed Feb 13 15:03:16 2008 -0800 remove final fastcall users fastcall always expands to empty, remove it. Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fbf6bfca76d50abef478ba902b8597ecbadfd390 Author: Paul E. McKenney Date: Wed Feb 13 15:03:15 2008 -0800 rcupdate: fix comment This comment caused some consternation during fastcall removal. Make it truthful. Signed-off-by: Paul E. McKenney Cc: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3c97528689619fc66569b30bf83d09d9929521a Author: Harvey Harrison Date: Wed Feb 13 15:03:15 2008 -0800 include/linux: Remove all users of FASTCALL() macro FASTCALL() is always expanded to empty, remove it. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 78c5bbc15bc467ec98cf4db55ae9c57522c1b77b Author: Adrian Bunk Date: Fri Dec 7 17:14:47 2007 -0800 [XTENSA] Remove dead code reported by Robert P. J. Day. Signed-off-by: Adrian Bunk Signed-off-by: Christian Zankel Signed-off-by: Andrew Morton commit 1e12e3919ea83ce28f8c017b83f68739485fef81 Author: Chris Zankel Date: Fri Jan 18 14:26:55 2008 -0800 [XTENSA] Remove duplicate includes. Signed-off-by: Lucas Woods Signed-off-by: Andrew Morton Signed-off-by: Christian Zankel commit 587c90616a5b44e6ccfac38e64d4fecee51d588c Author: Roman Zippel Date: Mon Feb 11 21:13:47 2008 +0100 kconfig: fix select in combination with default > The attached .config (with current -git) results in a compile > error since it contains: > > CONFIG_X86=y > # CONFIG_EMBEDDED is not set > CONFIG_SERIO=m > CONFIG_SERIO_I8042=y > > Looking at drivers/input/serio/Kconfig I simply don't get how this > can happen. You've hit the rather subtle rules of select vs default. What happened is that SERIO is selected to m, but SERIO_I8042 isn't selected so the default of y is used instead. We already had the problem in the past that select and default don't work well together, so this patch cleans this up and makes the rule hopefully more straightforward. Basically now the value is calculated like this: (value && dependency) || select where the value is the user choice (if available and the symbol is visible) or default. In this case it means SERIO and SERIO_I8042 are both set to y due to their default and if SERIO didn't had the default, then the SERIO_I8042 value would be limited to m due to the dependency. I tested this patch with more 10000 random configs and above case is the only the difference that showed up, so I hope there is nothing that depended on the old more complex and subtle rules. Signed-off-by: Roman Zippel Tested-by: Adrian Bunk Signed-off-by: Sam Ravnborg commit aa02cd2d9bd1e24a230bd66a0a741b984d03915a Author: Peter Zijlstra Date: Wed Feb 13 21:33:16 2008 +0100 xtime_lock vs update_process_times Commit d3d74453c34f8fd87674a8cf5b8a327c68f22e99 ("hrtimer: fixup the HRTIMER_CB_IRQSAFE_NO_SOFTIRQ fallback") broke several archs, and since only Russell bothered to merge the fix, and Greg to ACK his arch, I'm sending this for merger. I have confirmation that the Alpha bit results in a booting kernel. That leaves: blackfin, frv, sh and sparc untested. The deadlock in question was found by Russell: IRQ handle -> timer_tick() - xtime seqlock held for write -> update_process_times() -> run_local_timers() -> hrtimer_run_queues() -> hrtimer_get_softirq_time() - tries to get a read lock Now, Thomas assures me the fix is trivial, only do_timer() needs to be done under the xtime_lock, and update_process_times() can savely be removed from under it. Signed-off-by: Peter Zijlstra Acked-by: Greg Ungerer CC: Richard Henderson CC: Bryan Wu CC: David Howells CC: Paul Mundt CC: William Irwin Acked-by: Ingo Molnar Acked-by: Ivan Kokshaysky Signed-off-by: Linus Torvalds commit 10270d4838bdc493781f5a1cf2e90e9c34c9142f Author: Linus Torvalds Date: Wed Feb 13 09:56:14 2008 -0800 acpi: fix acpi_os_read_pci_configuration() misuse of raw_pci_read() The raw_pci_read() interface (as the raw_pci_ops->read() before it) unconditionally fills in a 32-bit integer return value regardless of the size of the operation requested. So claiming to take a "void *" is wrong, as is passing in a pointer to just a byte variable. Noticed by pageexec when enabling -fstack-protector (which needs other patches too to actually work, but that's a separate issue). Acked-by: Len Brown Signed-off-by: Linus Torvalds commit d897d2b597167586fcf1fb197ad5a1c23332c3e8 Author: David Howells Date: Wed Feb 13 16:10:08 2008 +0000 FRV: Fix up parse error in linker script Fix up parse error in FRV linker script, presumably introduced through changes to the INIT_TEXT and EXIT_TEXT macros. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 3174ffaa939d8f771019f83761c668b1d5c1973b Merge: d7ab95f... b68aa23... Author: Linus Torvalds Date: Wed Feb 13 08:22:41 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched * git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched: sched: rt-group: refure unrunnable tasks sched: rt-group: clean up the ifdeffery sched: rt-group: make rt groups scheduling configurable sched: rt-group: interface sched: rt-group: deal with PI sched: fix incorrect irq lock usage in normalize_rt_tasks() sched: fair-group: separate tg->shares from task_group_lock hrtimer: more hrtimer_init_sleeper() fallout. commit d7ab95f8c54aed896ad739f261f79ed945472aca Merge: 282ea44... c2a9cc7... Author: Linus Torvalds Date: Wed Feb 13 08:20:31 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 * git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: x86: pit_clockevent can be static x86: EFI runtime code mapping enhancement x86: EFI: fix use of unitialized variable and the cache logic x86: CPA: fix gbpages support in try_preserve_large_page xen: unpin initial Xen pagetable once we're finished with it x86/early_ioremap: don't assume we're using swapper_pg_dir x86: fixup machine_ops reboot_{32|64}.c unification fallout x86: fix sigcontext.h user export commit 282ea441e003f2886893ab7bb60bfe29399ef7be Author: Al Viro Date: Wed Feb 13 03:56:59 2008 +0000 drivers/memstick/host/tifm_ms.c breakage writel(sock + ...) that should've been writel(sock->addr + ...) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 39ed7adb17bdec8224bd3fae551bb7222e05f35b Author: Al Viro Date: Wed Feb 13 03:53:00 2008 +0000 dm-raid1 breakage on 64bit test_and_set_bit() on address of uint32_t is a Bad Idea(tm)... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 5906a0448208024d140e1ee0e65f9168a405fb94 Author: Tobias Mueller Date: Wed Feb 13 17:08:04 2008 +0100 HID: add USB IDs for MacBook 3rd generation Add support for Macbook 3rd generation special mappings. Signed-off-by: Tobias Mueller Signed-off-by: Jiri Kosina commit 5163dc1a645bc9ed7984fa484f1a77378c166d23 Author: Marcin Slusarz Date: Wed Feb 13 00:06:08 2008 +0100 IB/mthca: Convert to use be16_add_cpu() replace: big_endian_variable = cpu_to_beX(beX_to_cpu(big_endian_variable) + expression_in_cpu_byteorder); with: beX_add_cpu(&big_endian_variable, expression_in_cpu_byteorder); Generated with a semantic patch. Signed-off-by: Marcin Slusarz Cc: Sean Hefty Cc: Hal Rosenstock Signed-off-by: Roland Dreier commit 8704e9a8790cc9e394198663c1c9150c899fb9a2 Author: Steve Wise Date: Tue Feb 12 16:09:29 2008 -0600 RDMA/cxgb3: Fail loopback connections The cxgb3 HW and driver don't support loopback RDMA connections. So fail any connection attempt where the destination address is local. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit e6bafba5b4765a5a252f1b8d31cbf6d2459da337 Author: Al Viro Date: Wed Feb 13 04:03:25 2008 +0000 wmi: (!x & y) strikes again Signed-off-by: Al Viro Acked-by: Carlos Corbacho Signed-off-by: Linus Torvalds commit 99109301d103fbf0de43fc5a580a406c12a501e0 Author: Sergio Luis Date: Tue Feb 12 20:48:03 2008 -0300 [SCSI] gdth: update deprecated pci_find_device Fix compilation warning in gdth.c, which was using the deprecated pci_find_device. drivers/scsi/gdth.c:645: warning: 'pci_find_device' is deprecated (declared at include/linux/pci.h:495) Changing it to use pci_get_device, instead. Signed-off-by: Sergio Luis Signed-off-by: James Bottomley commit 61c92814dc324b541391757062ff02fbf3b08086 Author: Boaz Harrosh Date: Tue Feb 12 19:35:22 2008 +0200 [SCSI] gdth: scan for scsi devices The patch: "gdth: switch to modern scsi host registration" missed one simple fact when moving a way from scsi_module.c. That is to call scsi_scan_host() on the probed host. With this the gdth driver from 2.6.24 is again able to see drives and boot. Signed-off-by: Boaz Harrosh Tested-by: Joerg Dorchain Tested-by: Stefan Priebe Tested-by: Jon Chelton Cc: Stable Tree Signed-off-by: James Bottomley commit c2a9cc7e86cf535a4fa14aebf5c3bc3349d09603 Author: Harvey Harrison Date: Tue Feb 12 12:10:27 2008 -0800 x86: pit_clockevent can be static arch/x86/kernel/i8253.c:98:27: warning: symbol 'pit_clockevent' was not declared. Should it be static? Signed-off-by: Harvey Harrison Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4de0d4a6d173351b023ab2855c3d331146a418e5 Author: Huang, Ying Date: Wed Feb 13 17:22:41 2008 +0800 x86: EFI runtime code mapping enhancement This patch enhances EFI runtime code memory mapping as following: - Move __supported_pte_mask & _PAGE_NX checking before invoking runtime_code_page_mkexec(). This makes it possible for compiler to eliminate runtime_code_page_mkexec() on machine without NX support. - Use set_memory_x/nx in early_mapping_set_exec(). This eliminates the duplicated implementation. This patch has been tested on Intel x86_64 platform with EFI64/32 firmware. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar commit e85f20518bb928667508c22090c85d458e25a4f7 Author: Thomas Gleixner Date: Tue Feb 12 19:46:48 2008 +0100 x86: EFI: fix use of unitialized variable and the cache logic Andi Kleen pointed out that the cache attribute logic is reverse in efi_enter_virtual_mode(). This problem alone is harmless as we do not (yet) do cache attribute conflict resolution. (This bug was not present in the original EFI submission - I introduced it while fixing up rejects.) While reviewing this code I noticed a second, worse problem: the use of uninitialized md->virt_addr. Fix both problems. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5d3c8b21e22712137db6bbd246d1bdcbe0a09914 Author: Andi Kleen Date: Wed Feb 13 16:20:35 2008 +0100 x86: CPA: fix gbpages support in try_preserve_large_page [ mingo@elte.hu: while gbpages cannot be enabled on mainline currently, keep the code uptodate and this fix is easy enough. ] Use correct page sizes and masks for GB pages in try_preserve_large_page() This prevents a boot hang on a GB capable system with CONFIG_DIRECT_GBPAGES enabled. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2b5407811db755257ae53c75cc6b312ed5d2ad9e Author: Jeremy Fitzhardinge Date: Wed Feb 13 16:20:35 2008 +0100 xen: unpin initial Xen pagetable once we're finished with it Unpin the Xen-provided pagetable once we've finished with it, so it doesn't cause stray references which cause later swapper_pg_dir pagetable updates to fail. Signed-off-by: Jeremy Fitzhardinge Tested-by: Jody Belka Signed-off-by: Ingo Molnar commit 37cc8d7f963ba2deec29c9b68716944516a3244f Author: Jeremy Fitzhardinge Date: Wed Feb 13 16:20:35 2008 +0100 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[]. Signed-off-by: Jeremy Fitzhardinge Tested-by: Jody Belka Signed-off-by: Ingo Molnar commit 416e2d63794d4e57774989429e174507801915f2 Author: Jody Belka Date: Tue Feb 12 23:37:48 2008 +0000 x86: fixup machine_ops reboot_{32|64}.c unification fallout When reboot_32.c and reboot_64.c were unified (commit 4d022e35fd...), the machine_ops code was broken, leading to xen pvops kernels failing to properly halt/poweroff/reboot etc. This fixes that up. Signed-off-by: Jody Belka Cc: Miguel Boton Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 1cdde19109901e8f1194e227d0bcd48caf713323 Author: Ingo Molnar Date: Wed Feb 13 16:20:35 2008 +0100 x86: fix sigcontext.h user export Jakub Jelinek reported that some user-space code that relies on kernel headers has built dependency on the sigcontext->eip/rip register names - which have been unified in commit: commit 742fa54a62be6a263df14a553bf832724471dfbe Author: H. Peter Anvin Date: Wed Jan 30 13:30:56 2008 +0100 x86: use generic register names in struct sigcontext so give the old layout to user-space. This is not particularly pretty, but it's an ABI so there's no danger of the two definitions getting out of sync. Reported-by: Jakub Jelinek Signed-off-by: Ingo Molnar commit b68aa2300cabeb96801369a4bb37a4f19f59ed84 Author: Peter Zijlstra Date: Wed Feb 13 15:45:40 2008 +0100 sched: rt-group: refure unrunnable tasks Refuse to accept or create RT tasks in groups that can't run them. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit bccbe08a60973c873e6af6fdb9ec11ffb1a6e4de Author: Peter Zijlstra Date: Wed Feb 13 15:45:40 2008 +0100 sched: rt-group: clean up the ifdeffery Clean up some of the excessive ifdeffery introduces in the last patch. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 052f1dc7eb02300b05170ae341ccd03b76207778 Author: Peter Zijlstra Date: Wed Feb 13 15:45:40 2008 +0100 sched: rt-group: make rt groups scheduling configurable Make the rt group scheduler compile time configurable. Keep it experimental for now. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 9f0c1e560c43327b70998e6c702b2f01321130d9 Author: Peter Zijlstra Date: Wed Feb 13 15:45:39 2008 +0100 sched: rt-group: interface Change the rt_ratio interface to rt_runtime_us, to match rt_period_us. This avoids picking a granularity for the ratio. Extend the /sys/kernel/uids// interface to allow setting the group's rt_runtime. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 23b0fdfc9299b137bd126e9dc22f62a59dae546d Author: Peter Zijlstra Date: Wed Feb 13 15:45:39 2008 +0100 sched: rt-group: deal with PI Steven mentioned the fun case where a lock holding task will be throttled. Simple fix: allow groups that have boosted tasks to run anyway. If a runnable task in a throttled group gets boosted the dequeue/enqueue done by rt_mutex_setprio() is enough to unthrottle the group. This is ofcourse not quite correct. Two possible ways forward are: - second prio array for boosted tasks - boost to a prio ceiling (this would also work for deadline scheduling) Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 4cf5d77a6eefaa7a464bc34e8cb767356f10fd74 Author: Peter Zijlstra Date: Wed Feb 13 15:45:39 2008 +0100 sched: fix incorrect irq lock usage in normalize_rt_tasks() lockdep spotted this bogus irq locking. normalize_rt_tasks() can be called from hardirq context through sysrq-n Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 8ed3699682be75fd68281239c202ad3830f9c72d Author: Peter Zijlstra Date: Wed Feb 13 15:45:39 2008 +0100 sched: fair-group: separate tg->shares from task_group_lock On Mon, 2008-02-11 at 15:09 +0300, Denis V. Lunev wrote: > BUG: sleeping function called from invalid context > at /home/den/src/linux-netns26/kernel/mutex.c:209 > in_atomic():1, irqs_disabled():0 > no locks held by swapper/0. > Pid: 0, comm: swapper Not tainted 2.6.24 #304 > > Call Trace: > [] ? __debug_show_held_locks+0x15/0x27 > [] __might_sleep+0xc0/0xdf > [] mutex_lock_nested+0x28/0x2a9 > [] sched_destroy_group+0x18/0xea > [] sched_destroy_user+0xd/0xf > [] free_uid+0x8a/0xab > [] __put_task_struct+0x3f/0xd3 > [] delayed_put_task_struct+0x23/0x25 > [] __rcu_process_callbacks+0x8d/0x215 > [] rcu_process_callbacks+0x23/0x44 > [] __do_softirq+0x79/0xf8 > [] ? profile_pc+0x2a/0x67 > [] call_softirq+0x1c/0x30 > [] do_softirq+0x61/0x9c > [] irq_exit+0x51/0x53 > [] smp_apic_timer_interrupt+0x77/0xad > [] apic_timer_interrupt+0x6b/0x70 > [] ? default_idle+0x43/0x76 > [] ? default_idle+0x41/0x76 > [] ? default_idle+0x0/0x76 > [] ? cpu_idle+0x76/0x98 separate the tg->shares protection from the task_group lock. Reported-by: Denis V. Lunev Tested-by: Denis V. Lunev Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 720a2592cf1b9af86f30c44e8d89348826c03372 Author: Peter Zijlstra Date: Wed Feb 13 15:45:36 2008 +0100 hrtimer: more hrtimer_init_sleeper() fallout. Missed an instance... futex_lock_pi() hrtimer_init_sleeper() rt_mutex_timed_lock() rt_mutex_timed_fastlock() rt_mutex_slowlock() hrtimer_start() Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar 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 0f78e7542e94e8f64ed393289d7bfac032634620 Author: David S. Miller Date: Wed Feb 13 01:00:26 2008 -0800 [SPARC64]: Remove DEBUG_BOOTMEM. We'll replace it in the future with better logging facilities that can be enabled at run time. Signed-off-by: David S. Miller commit d5bd0146f0d61f7dc9904a7cc6d5cb9832034de4 Author: Neil Turton Date: Tue Feb 12 23:13:48 2008 -0800 [NET]: Improve cache line coherency of ingress qdisc Move the ingress qdisc members of struct net_device from the transmit cache line to the receive cache line to avoid cache line ping-pong. These members are only used on the receive path. Signed-off-by: Neil Turton Signed-off-by: David S. Miller commit d8b2a4d21e0b37b9669b202867bfef19f68f786a Author: Matti Linnanvuori Date: Tue Feb 12 23:10:11 2008 -0800 [NET]: Fix race in dev_close(). (Bug 9750) There is a race in Linux kernel file net/core/dev.c, function dev_close. The function calls function dev_deactivate, which calls function dev_watchdog_down that deletes the watchdog timer. However, after that, a driver can call netif_carrier_ok, which calls function __netdev_watchdog_up that can add the watchdog timer again. Function unregister_netdevice calls function dev_shutdown that traps the bug !timer_pending(&dev->watchdog_timer). Moving dev_deactivate after netif_running() has been cleared prevents function netif_carrier_on from calling __netdev_watchdog_up and adding the watchdog timer again. Signed-off-by: Matti Linnanvuori Signed-off-by: David S. Miller commit b318e0e4ef4e85812c25afa19f75addccc834cd4 Author: Herbert Xu Date: Tue Feb 12 22:50:35 2008 -0800 [IPSEC]: Fix bogus usage of u64 on input sequence number Al Viro spotted a bogus use of u64 on the input sequence number which is big-endian. This patch fixes it by giving the input sequence number its own member in the xfrm_skb_cb structure. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 45b503548210fe6f23e92b856421c2a3f05fd034 Author: Laszlo Attila Toth Date: Tue Feb 12 22:42:09 2008 -0800 [RTNETLINK]: Send a single notification on device state changes. In do_setlink() a single notification is sent at the end of the function if any modification occured. If the address has been changed, another notification is sent. Both of them is required because originally only the NETDEV_CHANGEADDR notification was sent and although device state change implies address change, some programs may expect the original notification. It remains for compatibity. If set_operstate() is called from do_setlink(), it doesn't send a notification, only if it is called from rtnl_create_link() as earlier. Signed-off-by: Laszlo Attila Toth Signed-off-by: David S. Miller commit 370125f0a48a2584a2506fd567d690df6d87cf2c Author: Pavel Emelyanov Date: Tue Feb 12 22:38:06 2008 -0800 [NETLABLE]: Hide netlbl_unlabel_audit_addr6 under ifdef CONFIG_IPV6. This one is called from under this config only, so move it in the same place. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 56628b1d8964eb7ac924154d60b5d874bfb2b1e8 Author: Pavel Emelyanov Date: Tue Feb 12 22:37:19 2008 -0800 [NETLABEL]: Don't produce unused variables when IPv6 is off. Some code declares variables on the stack, but uses them under #ifdef CONFIG_IPV6, so thay become unused when ipv6 is off. Fortunately, they are used in a switch's case branches, so the fix is rather simple. Is it OK from coding style POV to add braces inside "cases", or should I better avoid such style and rework the patch? Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 94de7feb2dee6d0039ecbe98ae8b63bbb63808b6 Author: Pavel Emelyanov Date: Tue Feb 12 22:35:37 2008 -0800 [NETLABEL]: Compilation for CONFIG_AUDIT=n case. The audit_log_start() will expand into an empty do { } while (0) construction and the audit_ctx becomes unused. The solution: push current->audit_context into audit_log_start() directly, since it is not required in any other place in the calling function. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 910d6c320cac65c81d66e8fd30dca167092722eb Author: Pavel Emelyanov Date: Tue Feb 12 22:16:33 2008 -0800 [GENETLINK]: Relax dances with genl_lock. The genl_unregister_family() calls the genl_unregister_mc_groups(), which takes and releases the genl_lock and then locks and releases this lock itself. Relax this behavior, all the more so the genl_unregister_mc_groups() is called from genl_unregister_family() only. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 4c3a0a254e5d706d3fe01bf42261534858d05586 Author: Pavel Emelyanov Date: Tue Feb 12 22:15:14 2008 -0800 [NETLABEL]: Fix lookup logic of netlbl_domhsh_search_def. Currently, if the call to netlbl_domhsh_search succeeds the return result will still be NULL. Fix that, by returning the found entry (if any). Signed-off-by: Pavel Emelyanov Acked-by: Paul Moore Signed-off-by: David S. Miller commit b83ebf566b64d3702c6b50dbee2052623cd55ce5 Author: Robert P. J. Day Date: Tue Feb 12 22:09:29 2008 -0800 [SPARC64]: Use shorter "get_zeroed_page" call. Signed-off-by: Robert P. J. Day Signed-off-by: David S. Miller commit b3dd5b82560eef53a537e409f50261d0b33c75ce Author: Robert P. J. Day Date: Tue Feb 12 22:08:55 2008 -0800 [SPARC]: Use shorter form of "get_zeroed_page". Signed-off-by: Robert P. J. Day Signed-off-by: David S. Miller commit 0f8f27c39553dd3aedcaf5c39adefe3efef28b6b Author: Rami Rosen Date: Tue Feb 12 22:06:53 2008 -0800 [IPV6]: remove unused method declaration (net/ndisc.h). This patch removes unused declaration of dflt_rt_lookup() method in include/net/ndisc.h Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit fee54fa517bef1de2c10a1a3e918228cc59dce90 Author: Urs Thuermann Date: Tue Feb 12 22:03:25 2008 -0800 [NET]: Fix comment for skb_pull_rcsum Fix comment for skb_pull_rcsum Signed-off-by: Urs Thuermann Signed-off-by: David S. Miller commit c1ce264470f000ccd5965d3718f7d905d559fd64 Author: Steve French Date: Wed Feb 13 02:59:36 2008 +0000 [CIFS] fix typo Signed-off-by: Steve French commit 631a9dca60ddd7d84a08171a14828e9cfb667d48 Author: Robert Reif Date: Tue Feb 12 18:23:31 2008 -0800 [SPARC]: video/cg14.c and video/sbuslib.c build fixes Apparently these drivers now need uaccess.h Signed-off-by: Robert Reif Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 28a89453b1e8de8d777ad96fa1eef27b5d1ce074 Author: Herbert Xu Date: Tue Feb 12 18:07:27 2008 -0800 [IPV6]: Fix IPsec datagram fragmentation This is a long-standing bug in the IPsec IPv6 code that breaks when we emit a IPsec tunnel-mode datagram packet. The problem is that the code the emits the packet assumes the IPv6 stack will fragment it later, but the IPv6 stack assumes that whoever is emitting the packet is going to pre-fragment the packet. In the long term we need to fix both sides, e.g., to get the datagram code to pre-fragment as well as to get the IPv6 stack to fragment locally generated tunnel-mode packet. For now this patch does the second part which should make it work for the IPsec host case. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 69cc64d8d92bf852f933e90c888dfff083bd4fc9 Author: David S. Miller Date: Mon Feb 11 21:45:44 2008 -0800 [NDISC]: Fix race in generic address resolution Frank Blaschka provided the bug report and the initial suggested fix for this bug. He also validated this version of this fix. The problem is that the access to neigh->arp_queue is inconsistent, we grab references when dropping the lock lock to call neigh->ops->solicit() but this does not prevent other threads of control from trying to send out that packet at the same time causing corruptions because both code paths believe they have exclusive access to the skb. The best option seems to be to hold the write lock on neigh->lock during the ->solicit() call. I looked at all of the ndisc_ops implementations and this seems workable. The only case that needs special care is the IPV4 ARP implementation of arp_solicit(). It wants to take neigh->lock as a reader to protect the header entry in neigh->ha during the emission of the soliciation. We can simply remove the read lock calls to take care of that since holding the lock as a writer at the caller providers a superset of the protection afforded by the existing read locking. The rest of the ->solicit() implementations don't care whether the neigh is locked or not. Signed-off-by: David S. Miller commit 3611f4d2a5e0f6135805f88bc5ecb63fa9ee5107 Author: David Newall Date: Mon Feb 11 21:41:30 2008 -0800 hci_ldisc: fix null pointer deref Arjan: With the help of kerneloops.org I've spotted a nice little interaction between the TTY layer and the bluetooth code, however the tty layer is not something I'm all too familiar with so I rather ask than brute-force fix the code incorrectly. The raw details are at: http://www.kerneloops.org/search.php?search=uart_flush_buffer What happens is that, on closing the bluetooth tty, the tty layer goes into the release_dev() function, which first does a bunch of stuff, then sets the file->private_data to NULL, does some more stuff and then calls the ldisc close function. Which in this case, is hci_uart_tty_close(). Now, hci_uart_tty_close() calls hci_uart_close() which clears some internal bit, and then calls hci_uart_flush()... which calls back to the tty layers' uart_flush_buffer() function. (in drivers/bluetooth/hci_tty.c around line 194) Which then WARN_ON()'s because that's not allowed/supposed to be called this late in the shutdown of the port.... Should the bluetooth driver even call this flush function at all?? David: This seems to be what happens: Hci_uart_close() flushes using hci_uart_flush(). Subsequently, in hci_dev_do_close(), (one step in hci_unregister_dev()), hci_uart_flush() is called again. The comment in uart_flush_buffer(), relating to the WARN_ON(), indicates you can't flush after the port is closed; which sounds reasonable. I think hci_uart_close() should set hdev->flush to NULL before returning. Hci_dev_do_close() does check for this. The code path is rather involved and I'm not entirely clear of all steps, but I think that's what should be done. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit e848b583e03306f5f9b3a66a793c37e3649e04ca Author: Jarek Poplawski Date: Mon Feb 11 21:38:32 2008 -0800 [AX25] ax25_ds_timer: use mod_timer instead of add_timer This patch changes current use of: init_timer(), add_timer() and del_timer() to setup_timer() with mod_timer(), which should be safer anyway. Reported-by: Jann Traschewski Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 21fab4a86a411c18c6b4d663ae710ca1f6206b3c Author: Jarek Poplawski Date: Mon Feb 11 21:36:39 2008 -0800 [AX25] ax25_timer: use mod_timer instead of add_timer According to one of Jann's OOPS reports it looks like BUG_ON(timer_pending(timer)) triggers during add_timer() in ax25_start_t1timer(). This patch changes current use of: init_timer(), add_timer() and del_timer() to setup_timer() with mod_timer(), which should be safer anyway. Reported-by: Jann Traschewski Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 4de211f1a279275c6c67d6e9b6b25513e46b0bb9 Author: Jarek Poplawski Date: Mon Feb 11 21:26:43 2008 -0800 [AX25] ax25_route: make ax25_route_lock BH safe > ================================= > [ INFO: inconsistent lock state ] > 2.6.24-dg8ngn-p02 #1 > --------------------------------- > inconsistent {softirq-on-W} -> {in-softirq-R} usage. > linuxnet/3046 [HC0[0]:SC1[2]:HE1:SE0] takes: > (ax25_route_lock){--.+}, at: [] ax25_get_route+0x18/0xb7 [ax25] > {softirq-on-W} state was registered at: ... This lockdep report shows that ax25_route_lock is taken for reading in softirq context, and for writing in process context with BHs enabled. So, to make this safe, all write_locks in ax25_route.c are changed to _bh versions. Reported-by: Jann Traschewski , Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 1105b5d1d44e6f00e31422dfcb0139bc8ae966a9 Author: Jarek Poplawski Date: Mon Feb 11 21:24:56 2008 -0800 [AX25] af_ax25: remove sock lock in ax25_info_show() This lockdep warning: > ======================================================= > [ INFO: possible circular locking dependency detected ] > 2.6.24 #3 > ------------------------------------------------------- > swapper/0 is trying to acquire lock: > (ax25_list_lock){-+..}, at: [] ax25_destroy_socket+0x171/0x1f0 [ax25] > > but task is already holding lock: > (slock-AF_AX25){-+..}, at: [] ax25_std_heartbeat_expiry+0x1c/0xe0 [ax25] > > which lock already depends on the new lock. ... shows that ax25_list_lock and slock-AF_AX25 are taken in different order: ax25_info_show() takes slock (bh_lock_sock(ax25->sk)) while ax25_list_lock is held, so reversely to other functions. To fix this the sock lock should be moved to ax25_info_start(), and there would be still problem with breaking ax25_list_lock (it seems this "proper" order isn't optimal yet). But, since it's only for reading proc info it seems this is not necessary (e.g. ax25_send_to_raw() does similar reading without this lock too). So, this patch removes sock lock to avoid deadlock possibility; there is also used sock_i_ino() function, which reads sk_socket under proper read lock. Additionally printf format of this i_ino is changed to %lu. Reported-by: Bernard Pidoux F6BVP Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 8315f5d80a90247bf92232f92ca49933ac49327b Author: Stephen Hemminger Date: Mon Feb 11 21:14:39 2008 -0800 fib_trie: /proc/net/route performance improvement Use key/offset caching to change /proc/net/route (use by iputils route) from O(n^2) to O(n). This improves performance from 30sec with 160,000 routes to 1sec. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ec28cf738d899e9d0652108e1986101771aacb2e Author: Stephen Hemminger Date: Mon Feb 11 21:12:49 2008 -0800 fib_trie: handle empty tree This fixes possible problems when trie_firstleaf() returns NULL to trie_leafindex(). Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit e4f8b5d4edc1edb0709531bd1a342655d5e8b98e Author: David S. Miller Date: Mon Feb 11 17:50:30 2008 -0800 [IPV4]: Remove IP_TOS setting privilege checks. Various RFCs have all sorts of things to say about the CS field of the DSCP value. In particular they try to make the distinction between values that should be used by "user applications" and things like routing daemons. This seems to have influenced the CAP_NET_ADMIN check which exists for IP_TOS socket option settings, but in fact it has an off-by-one error so it wasn't allowing CS5 which is meant for "user applications" as well. Further adding to the inconsistency and brokenness here, IPV6 does not validate the DSCP values specified for the IPV6_TCLASS socket option. The real actual uses of these TOS values are system specific in the final analysis, and these RFC recommendations are just that, "a recommendation". In fact the standards very purposefully use "SHOULD" and "SHOULD NOT" when describing how these values can be used. In the final analysis the only clean way to provide consistency here is to remove the CAP_NET_ADMIN check. The alternatives just don't work out: 1) If we add the CAP_NET_ADMIN check to ipv6, this can break existing setups. 2) If we just fix the off-by-one error in the class comparison in IPV4, certain DSCP values can be used in IPV6 but not IPV4 by default. So people will just ask for a sysctl asking to override that. I checked several other freely available kernel trees and they do not make any privilege checks in this area like we do. For the BSD stacks, this goes back all the way to Stevens Volume 2 and beyond. Signed-off-by: David S. Miller commit b791dd3ed7bef989f268365e85800862e8ac756f Merge: 96b5a46... 651be3a... Author: David S. Miller Date: Tue Feb 12 17:51:26 2008 -0800 Merge branch 'upstream-davem' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit 7c7a9bccd2ba9f17e4b588461f140578a0a7b073 Author: Roland Dreier Date: Tue Feb 12 14:38:27 2008 -0800 IB/cm: Fix infiniband_cm class kobject ref counting Commit 9af57b7a ("IB/cm: Add basic performance counters") introduced a bug in how the reference count for cm_class.subsys.kobj was handled: the path that released a device did a kobject_put() on that kobject, but there was no kobject_get() in the path the handles adding a device. So the reference count ended up too low, which leads to bad things. Fix up and simplify the reference counting to avoid this. (Actually, I introduced the bug when fixing the patch up to match some of Greg's kobject changes, but who's counting) Signed-off-by: Roland Dreier commit ab64b960673250518e748f8b4f1545447136b68b Author: Roland Dreier Date: Tue Feb 12 14:38:27 2008 -0800 IB/cm: Remove debug printk()s that snuck upstream Pesky little devils, sneaking around... Signed-off-by: Roland Dreier commit fe174357eb2deb184c93269846c92adf5743115b Author: Roland Dreier Date: Tue Feb 12 14:38:22 2008 -0800 IB/mthca: Add missing sg_init_table() in mthca_map_user_db() Usually harmless, since the scatterlist is always hard-coded to a length of 1, but it triggers a BUG() if CONFIG_DEBUG_SG=y, so we better fix it. This fixes . Signed-off-by: Roland Dreier commit c98aa86df3169e5d6275305376043134caa69831 Author: H. Peter Anvin Date: Tue Feb 12 13:52:37 2008 -0800 timeconst.pl: correct reversal of USEC_TO_HZ and HZ_TO_USEC The USEC_TO_HZ and HZ_TO_USEC constant sets were mislabelled, with seriously incorrect results. This among other things manifested itself as cpufreq not working when a tickless kernel was configured. Signed-off-by: H. Peter Anvin Tested-by: Carlos R. Mafra Signed-off-by: Linus Torvalds commit c958d767dc79250583902a382275961b5da91a4d Author: James Bottomley Date: Mon Feb 11 16:18:55 2008 -0600 [SCSI] sym53c416: fix module parameters It looks like there's been a bug in the module parameter setup forever. The upshot doesn't really matter, because even if no parameters are ever set, we just call sym53c416_setup() three times, but the zero values in the arrays eventually cause nothing to happen. Unfortunately gcc has started to notice this now too: drivers/scsi/sym53c416.c: In function 'sym53c416_detect': drivers/scsi/sym53c416.c:624: warning: the address of 'sym53c416' will always evaluate as 'true' drivers/scsi/sym53c416.c:630: warning: the address of 'sym53c416_1' will always evaluate as 'true' drivers/scsi/sym53c416.c:636: warning: the address of 'sym53c416_2' will always evaluate as 'true' drivers/scsi/sym53c416.c:642: warning: the address of 'sym53c416_3' will always evaluate as 'true' So fix this longstanding bug to keep gcc quiet. Signed-off-by: James Bottomley 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 9e40ade04c45a46f6b3d647e0bdac1a32bfaa3a9 Merge: 7cc718d... 96b5a46... Author: Christoph Lameter Date: Tue Feb 12 12:19:16 2008 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 96b5a46e2a72dc1829370c87053e0cd558d58bc0 Author: Linus Torvalds Date: Mon Feb 11 20:52:01 2008 -0800 WMI: initialize wmi_blocks.list even if ACPI is disabled Even if we don't want to register the WMI driver, we should initialize the wmi_blocks list to be empty, since we don't want the wmi helper functions to oops just because that basic list has not even been set up. With this, "find_guid()" will happily return "not found" rather than oopsing all over the place, and the callers will then just automatically return false or AE_NOT_FOUND as appropriate. Signed-off-by: Linus Torvalds commit 2c1582699872d38682b136b1446953ee351bc7e1 Author: Roland McGrath Date: Mon Feb 11 14:38:51 2008 -0800 x86: vdso_install fix The makefile magic for installing the 32-bit vdso images on disk had a little error. A single-line change would fix that bug, but this does a little more to reduce the error-prone duplication of this bit of makefile variable magic. Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds commit 31f1de46b90ad360a16e7af3e277d104961df923 Author: KOSAKI Motohiro Date: Tue Feb 12 13:30:22 2008 +0900 mempolicy: silently restrict nodemask to allowed nodes Kosaki Motohito noted that "numactl --interleave=all ..." failed in the presence of memoryless nodes. This patch attempts to fix that problem. Some background: numactl --interleave=all calls set_mempolicy(2) with a fully populated [out to MAXNUMNODES] nodemask. set_mempolicy() [in do_set_mempolicy()] calls contextualize_policy() which requires that the nodemask be a subset of the current task's mems_allowed; else EINVAL will be returned. A task's mems_allowed will always be a subset of node_states[N_HIGH_MEMORY] i.e., nodes with memory. So, a fully populated nodemask will be declared invalid if it includes memoryless nodes. NOTE: the same thing will occur when running in a cpuset with restricted mem_allowed--for the same reason: node mask contains dis-allowed nodes. mbind(2), on the other hand, just masks off any nodes in the nodemask that are not included in the caller's mems_allowed. In each case [mbind() and set_mempolicy()], mpol_check_policy() will complain [again, resulting in EINVAL] if the nodemask contains any memoryless nodes. This is somewhat redundant as mpol_new() will remove memoryless nodes for interleave policy, as will bind_zonelist()--called by mpol_new() for BIND policy. Proposed fix: 1) modify contextualize_policy logic to: a) remember whether the incoming node mask is empty. b) if not, restrict the nodemask to allowed nodes, as is currently done in-line for mbind(). This guarantees that the resulting mask includes only nodes with memory. NOTE: this is a [benign, IMO] change in behavior for set_mempolicy(). Dis-allowed nodes will be silently ignored, rather than returning an error. c) fold this code into mpol_check_policy(), replace 2 calls to contextualize_policy() to call mpol_check_policy() directly and remove contextualize_policy(). 2) In existing mpol_check_policy() logic, after "contextualization": a) MPOL_DEFAULT: require that in coming mask "was_empty" b) MPOL_{BIND|INTERLEAVE}: require that contextualized nodemask contains at least one node. c) add a case for MPOL_PREFERRED: if in coming was not empty and resulting mask IS empty, user specified invalid nodes. Return EINVAL. c) remove the now redundant check for memoryless nodes 3) remove the now redundant masking of policy nodes for interleave policy from mpol_new(). 4) Now that mpol_check_policy() contextualizes the nodemask, remove the in-line nodes_and() from sys_mbind(). I believe that this restores mbind() to the behavior before the memoryless-nodes patch series. E.g., we'll no longer treat an invalid nodemask with MPOL_PREFERRED as local allocation. [ Patch history: v1 -> v2: - Communicate whether or not incoming node mask was empty to mpol_check_policy() for better error checking. - As suggested by David Rientjes, remove the now unused cpuset_nodes_subset_current_mems_allowed() from cpuset.h v2 -> v3: - As suggested by Kosaki Motohito, fold the "contextualization" of policy nodemask into mpol_check_policy(). Looks a little cleaner. ] Signed-off-by: Lee Schermerhorn Signed-off-by: KOSAKI Motohiro Tested-by: KOSAKI Motohiro Acked-by: David Rientjes Signed-off-by: Linus Torvalds commit 1a510089849ff9f70b654659bf976a6baf3a4833 Merge: 900cf08... 10d0aa3... Author: Linus Torvalds Date: Mon Feb 11 20:44:58 2008 -0800 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] Fix build for sim_defconfig commit 900cf086fd2fbad07f72f4575449e0d0958f860f Author: Jonathan Corbet Date: Mon Feb 11 16:17:33 2008 -0700 Be more robust about bad arguments in get_user_pages() So I spent a while pounding my head against my monitor trying to figure out the vmsplice() vulnerability - how could a failure to check for *read* access turn into a root exploit? It turns out that it's a buffer overflow problem which is made easy by the way get_user_pages() is coded. In particular, "len" is a signed int, and it is only checked at the *end* of a do {} while() loop. So, if it is passed in as zero, the loop will execute once and decrement len to -1. At that point, the loop will proceed until the next invalid address is found; in the process, it will likely overflow the pages array passed in to get_user_pages(). I think that, if get_user_pages() has been asked to grab zero pages, that's what it should do. Thus this patch; it is, among other things, enough to block the (already fixed) root exploit and any others which might be lurking in similar code. I also think that the number of pages should be unsigned, but changing the prototype of this function probably requires some more careful review. Signed-off-by: Jonathan Corbet Signed-off-by: Linus Torvalds commit b1292b17dc03fcd90f3301974cea1b7c61371ba5 Merge: c76d118... 29c2711... Author: Linus Torvalds Date: Mon Feb 11 20:43:14 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: mlx4_core: Fix build break (missing include) commit c76d118ecc5fcac7c823fb428676860dba0fdd20 Author: Pekka Enberg Date: Mon Feb 11 23:52:47 2008 +0200 Add Matt to MAINTAINERS as a SLAB allocator maintainer Matt is already the maintainer of SLOB which is one of the "SLAB" allocators in the kernel so add him to MAINTAINERS. Signed-off-by: Pekka Enberg Signed-off-by: Linus Torvalds commit a17b7a398d5c20ccbcb11f98dc2a76a6f07934ad Merge: 271cad6... fbf14e2... Author: Linus Torvalds Date: Mon Feb 11 20:42:11 2008 -0800 Merge branch 'upstream-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: sata_mv: platform driver allocs dma without create pata_ninja32: setup changes pata_legacy: typo fix pata_amd: Note in the module description it handles Nvidia sata_mv: fix loop with last port libata: ignore deverr on SETXFER if mode is configured pata_via: fix SATA cable detection on cx700 commit 271cad6d7e91ff8eea18976311692f99cd667ad3 Author: Andi Kleen Date: Mon Feb 11 20:03:17 2008 +0100 Make topology fallback macros reference their arguments. This avoids warnings with unreferenced variables in the !NUMA case. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit e390bc0a26ba522f008a1f9479097f1c6fc0189c Author: James Smart Date: Fri Feb 8 18:50:36 2008 -0500 [SCSI] lpfc 8.2.5 : Update lpfc driver version to 8.2.5 Update lpfc driver version to 8.2.5 Signed-off-by: James Smart Signed-off-by: James Bottomley commit 3163f725a5d071eea1830bbbfab78cfe3fc9baaf Author: James Smart Date: Fri Feb 8 18:50:25 2008 -0500 [SCSI] lpfc 8.2.5 : Fix buffer leaks Fix buffer leaks: - HBQ dma buffer leak at dma_pool_destroy when unloading driver - Fix missing buffer free in slow ring buffer handling Signed-off-by: James Smart Signed-off-by: James Bottomley commit 7f5f3d0d02aa2f124e764aee5c775589ce72fd42 Author: James Smart Date: Fri Feb 8 18:50:14 2008 -0500 [SCSI] lpfc 8.2.5 : Miscellaneous discovery Fixes Miscellaneous discovery fixes: - Flush RSCN buffers on vports when reseting HBA. - Fix incorrect FLOGI after vport reg failed - Fix a potential fabric ELS race condition - Fix handling of failed PLOGI command under high lip rates - Fix FDISC handling - Fix debug logging for npiv handling Signed-off-by: James Smart Signed-off-by: James Bottomley commit db2378e09151c855e8f92c1b4b2fb4fc5cd8cb40 Author: James Smart Date: Fri Feb 8 18:49:51 2008 -0500 [SCSI] lpfc 8.2.5 : Add MSI-X single message support Signed-off-by: James Smart Signed-off-by: James Bottomley commit 1b32f6aa9935ab88eac0d608a4b06369f5d9064a Author: James Smart Date: Fri Feb 8 18:49:39 2008 -0500 [SCSI] lpfc 8.2.5 : Miscellaneous Fixes Miscellaneous fixes: - Fix ERRATT flag which was overlapping - Allow RESTART mbx commands through when stopped. - Accept incoming PLOGI when connected to an N_Port. - Fix NPort to NPort pt2pt problems: ADISC and reg_vpi issues - Fix vport unloading error that erroneously cleaned up RSCN buffers - Fix memory leak during repeated unloads - in mbox handling - Fix link bounce vs FLOGI race conditions Signed-off-by: James Smart Signed-off-by: James Bottomley commit e47c9093531d3406a8ae38acca4ce207ef70cc0e Author: James Smart Date: Fri Feb 8 18:49:26 2008 -0500 [SCSI] lpfc 8.2.5 : Correct ndlp referencing issues Correct ndlp referencing issues: - Fix ndlp kref issues due to race conditions between threads - Fix cancel els delay retry event which missed an ndlp reference count Signed-off-by: James Smart Signed-off-by: James Bottomley commit 29c271123dc7895a9f77d3e61e747b2a052d0a2a Author: Olof Johansson Date: Sun Feb 10 20:22:57 2008 -0600 mlx4_core: Fix build break (missing include) Commit 313abe55 ("mlx4_core: For 64-bit systems, vmap() kernel queue buffers") caused this to pop up on powerpc allyesconfig, looks like a missing include file: drivers/net/mlx4/alloc.c: In function 'mlx4_buf_alloc': drivers/net/mlx4/alloc.c:162: error: implicit declaration of function 'vmap' drivers/net/mlx4/alloc.c:162: error: 'VM_MAP' undeclared (first use in this function) drivers/net/mlx4/alloc.c:162: error: (Each undeclared identifier is reported only once drivers/net/mlx4/alloc.c:162: error: for each function it appears in.) drivers/net/mlx4/alloc.c:162: warning: assignment makes pointer from integer without a cast drivers/net/mlx4/alloc.c: In function 'mlx4_buf_free': drivers/net/mlx4/alloc.c:187: error: implicit declaration of function 'vunmap' Signed-off-by: Olof Johansson Signed-off-by: Roland Dreier commit 10d0aa3c0a03dd04227ab3a4958563d84276d02e Author: Tony Luck Date: Mon Feb 11 13:23:46 2008 -0800 [IA64] Fix build for sim_defconfig Commit bdc807871d58285737d50dc6163d0feb72cb0dc2 broke the build for this config because the sim_defconfig selects CONFIG_HZ=250 but include/asm-ia64/param.h has an ifdef for the simulator to force HZ to 32. So we ended up with a kernel/timeconst.h set for HZ=250 ... which then failed the check for the right HZ value and died with: Drop the #ifdef magic from param.h and make force CONFIG_HZ=32 directly for the simulator. Signed-off-by: Tony Luck commit 4a75834644ae32ded9bed14db39834d6d3bc4793 Author: Auke Kok Date: Mon Feb 11 09:26:06 2008 -0800 ixgbe: remove accidentally added #ifdef Let's not add these #ifdef NETIF_F_TSO's back. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 4bebfaa56b72c94fe4997240ee73ad1c1fcf96c9 Author: Auke Kok Date: Mon Feb 11 09:26:01 2008 -0800 ixgbe: Disallow device reset during ethtool test Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 0c254d863338ceff630814bf17cf8e4b61cb8aa3 Author: Auke Kok Date: Mon Feb 11 09:25:56 2008 -0800 ixgbe: warn when device is in a x4 or lower width slot It's easy to oversee this issue when working with this card as evrything will work OK but performance is severely limited (something like 1.5gbit on a x1 link) if the pci-express slot does not offer more bandwidth. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 23b66e2bc2bcebacab7292d7731b7372065b3f98 Author: Auke Kok Date: Mon Feb 11 09:25:51 2008 -0800 e1000e: Fix logic reversal keeping link active A logic mishap caused the adapter to keep link while we can disable it due to WoL not being active, and vice versa. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 14782ca8262818921a460c80a761a93740b838a2 Author: Auke Kok Date: Mon Feb 11 09:25:46 2008 -0800 e1000: warn if this driver is used for e1000e devices We're already starting to see reports from users still using e1000 where they should be using e1000e now that this is actually possible. Just to prevent some of this thrash, add a big warning on load on these devices that people should switch to e1000e. Signed-off-by: Auke Kok Acked-by: Jesse Brandeburg Signed-off-by: Jeff Garzik commit 030ed68bf063e99cea6371d1fb771a870cab1c1d Author: Julia Lawall Date: Mon Feb 11 09:25:40 2008 -0800 replace code with FIELD_SIZEOF Signed-off-by: Julia Lawall Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 9dde447a09ec8fc0ba8375a16fe6bed2470f0d14 Author: Alex Bounine Date: Mon Feb 11 14:36:37 2008 -0500 Tsi108_eth: Add ethtool support Add ethtool support to tsi108_eth network driver. Signed-off-by: Alexandre Bounine Signed-off-by: Jeff Garzik commit b1aefe58c21de4265223b563ae923b50f4c4be08 Author: Alex Bounine Date: Mon Feb 11 14:36:12 2008 -0500 Tsi108_eth: fix link recovery after disconnect Bug fix for tsi108_eth network driver. This patch fixes a problem with link recovery after connection was lost. Signed-off-by: Alexandre Bounine Signed-off-by: Jeff Garzik commit 85bbe2158340dafb060fc7fe55a8208fe08cae26 Author: Alex Bounine Date: Mon Feb 11 14:35:49 2008 -0500 Tsi108_eth: remove not needed code Code clean-up for tsi108_eth network driver. This patch removes not needed dummy read and the corresponding comment. The PHY logic requires two reads from the status register to get current link status. This is done correctly inside mii_check_media(). Signed-off-by: Alexandre Bounine Signed-off-by: Jeff Garzik commit 6a87155a39f538f9d13cebf2c9b7c19bd41d7da9 Author: Alex Bounine Date: Mon Feb 11 14:35:26 2008 -0500 Tsi108_eth: fix detection of 1000Mb mode Bug fix for tsi108_eth network driver. This patch fixes a problem with detection of 1000Mb speed. Signed-off-by: Alexandre Bounine Signed-off-by: Jeff Garzik commit a235ef2c632a096cdb2b02379c89b49e97faaaa4 Author: Alex Bounine Date: Mon Feb 11 14:33:40 2008 -0500 Tsi108_eth: add missing linking to driver data Bug fix for tsi108_eth network driver. This patch adds missing linking to driver data. Signed-off-by: Alexandre Bounine Signed-off-by: Jeff Garzik commit 4660c8ed5aaed99d82785499f034a8cc9199866d Author: James Bottomley Date: Sun Feb 10 09:42:46 2008 -0600 [SCSI] update SG_ALL to avoid causing chaining Since the sg chaining patches went in, our current value of 255 for SG_ALL excites chaining on some drivers which cannot support it (and would thus oops). Redefine SG_ALL to mean no sg table size preference, but use the single allocation (non chained) limit. This also helps for drivers that use it to size an internal table. We'll do an opt in system later where truly chaining supporting drivers can define their sg_tablesize to be anything up to SCSI_MAX_SG_CHAIN_ELEMENTS. Signed-off-by: James Bottomley commit 90b0c41829450d60da388edcd346c5b31371e7be Author: Boaz Harrosh Date: Wed Feb 6 15:38:33 2008 +0200 [SCSI] aic94xx: fix ABORT_TASK define conflict include/scsi/scsi.h as a definition: #define ABORT_TASK 0x0d on the other hand drivers/scsi/aic94xx/aic94xx_sas.h has: #define ABORT_TASK 0x03 rename the latter to SCB_ABORT_TASK Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit fbf14e2f2d674e6a2ff0fb2aa569e7f6687483a3 Author: Byron Bradley Date: Sun Feb 10 21:17:30 2008 +0000 sata_mv: platform driver allocs dma without create When the sata_mv driver is used as a platform driver, mv_create_dma_pools() is never called so it fails when trying to alloc in mv_pool_start(). Signed-off-by: Byron Bradley Acked-by: Mark Lord Signed-off-by: Jeff Garzik commit 4194645079ca15679bf7e5b00e71561cf6864761 Author: Alan Cox Date: Fri Feb 8 15:25:10 2008 +0000 pata_ninja32: setup changes Forcibly set more of the configuration at init time. This seems to fix at least one problem reported. We don't know what most of these bits do, but we do know what windows stuffs there. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 8397248d4662d77296889529c911e2182151afa9 Author: Alan Cox Date: Fri Feb 8 15:23:38 2008 +0000 pata_legacy: typo fix Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit c9544bcb4c7df07555e4b22d297c5705738da09d Author: Alan Cox Date: Fri Feb 8 15:22:39 2008 +0000 pata_amd: Note in the module description it handles Nvidia This has confused a few people so fix it Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 8f71efe25f8718200027b547a3e749ae3300fe60 Author: Yinghai Lu Date: Thu Feb 7 15:06:17 2008 -0800 sata_mv: fix loop with last port commit f351b2d638c3cb0b95adde3549b7bfaf3f991dfa sata_mv: Support SoC controllers cause panic: scsi 4:0:0:0: Direct-Access ATA HITACHI HDS7225S V44O PQ: 0 ANSI: 5 sd 4:0:0:0: [sde] 488390625 512-byte hardware sectors (250056 MB) sd 4:0:0:0: [sde] Write Protect is off sd 4:0:0:0: [sde] Mode Sense: 00 3a 00 00 sd 4:0:0:0: [sde] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA sd 4:0:0:0: [sde] 488390625 512-byte hardware sectors (250056 MB) sd 4:0:0:0: [sde] Write Protect is off sd 4:0:0:0: [sde] Mode Sense: 00 3a 00 00 sd 4:0:0:0: [sde] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA sde:<1>BUG: unable to handle kernel NULL pointer dereference at 000000000000001a IP: [] mv_interrupt+0x21c/0x4cc PGD 0 Oops: 0000 [1] SMP CPU 3 Modules linked in: Pid: 0, comm: swapper Not tainted 2.6.24-smp-08636-g0afc2ed-dirty #26 RIP: 0010:[] [] mv_interrupt+0x21c/0x4cc RSP: 0000:ffff8102050bbec8 EFLAGS: 00010297 RAX: 0000000000000008 RBX: 0000000000000000 RCX: 0000000000000003 RDX: 0000000000008000 RSI: 0000000000000286 RDI: ffff8102035180e0 RBP: 0000000000000001 R08: 0000000000000003 R09: ffff8102036613e0 R10: 0000000000000002 R11: ffffffff8061474c R12: ffff8102035bf828 R13: 0000000000000008 R14: ffff81020348ece8 R15: ffffc20002cb2000 FS: 0000000000000000(0000) GS:ffff810405025700(0000) knlGS:0000000000000000 CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b CR2: 000000000000001a CR3: 0000000000201000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process swapper (pid: 0, threadinfo ffff810405094000, task ffff8102050b28c0) Stack: 000000010000000c 0002040000220400 0000001100000002 ffff81020348eda8 0000000000000001 ffff8102035f2cc0 0000000000000000 0000000000000000 0000000000000018 0000000000000000 0000000000000000 ffffffff80269ee8 Call Trace: [] ? handle_IRQ_event+0x25/0x53 [] ? handle_fasteoi_irq+0x90/0xc8 [] ? do_IRQ+0xf1/0x15f [] ? default_idle+0x0/0x55 [] ? ret_from_intr+0x0/0xa [] ? lapic_next_event+0x0/0xa [] ? default_idle+0x31/0x55 [] ? default_idle+0x2c/0x55 [] ? default_idle+0x0/0x55 [] ? cpu_idle+0x92/0xb8 Code: 41 14 85 c0 89 44 24 14 0f 84 9d 02 00 00 f7 d0 01 d6 41 89 d5 89 41 14 8b 41 14 89 34 24 e9 7e 02 00 00 49 63 c5 49 8b 5c c6 48 43 1a 80 4c 8b a3 20 37 00 00 0f 85 62 02 00 00 31 c9 41 83 RIP [] mv_interrupt+0x21c/0x4cc RSP CR2: 000000000000001a ---[ end trace 2583b5f7a5350584 ]--- Kernel panic - not syncing: Aiee, killing interrupt handler! last_port already include port0 base. this patch change use last_port directly, and move pp assignment later. Signed-off-by: Yinghai Lu Signed-off-by: Jeff Garzik commit 4055dee7f525a702a060ea08a3fb9f045317355f Author: Tejun Heo Date: Thu Feb 7 10:34:08 2008 +0900 libata: ignore deverr on SETXFER if mode is configured Some controllers (VIA CX700) raise device error on SETXFER even after mode configuration succeeded. Update ata_dev_set_mode() such that device error is ignored if transfer mode is configured correctly. To implement this, device is revalidated even after device error on SETXFER. This fixes kernel bugzilla bug 8563. Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit 7585eb1b7cf4bbace37ce18500809140c8eeccc3 Author: Tejun Heo Date: Thu Feb 7 10:18:53 2008 +0900 pata_via: fix SATA cable detection on cx700 The first port of cx700 is SATA. Fix cable detection. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 81772fea4110f7ce8083d52503c9c4ddaa50f75b Author: Thomas Gleixner Date: Sun Feb 10 23:57:36 2008 +0100 x86: remove over noisy debug printk pageattr-test.c contains a noisy debug printk that people reported. The condition under which it prints (randomly tapping into a mem_map[] hole and not being able to c_p_a() there) is valid behavior and not interesting to report. Remove it. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Signed-off-by: Linus Torvalds 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 ccf9ea91aba0d3b8145900ec02f6edf03dda708c Author: Boaz Harrosh Date: Mon Sep 10 22:39:11 2007 +0300 [SCSI] fas216: Use scsi_eh API for REQUEST_SENSE invocation Use new scsi_eh_prep/restor_cmnd() for synchronous REQUEST_SENSE invocation. This also converts the driver to the new accessor based scatterlist implementation. Signed-off-by: Boaz Harrosh Tested-by: Russell King Signed-off-by: James Bottomley commit cc13e442952a347f7e217eeaee4778485394f1be Merge: 0faa908... fab1e31... Author: Linus Torvalds Date: Mon Feb 11 09:22:23 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: kbuild: fix make V=1 commit 0faa90880331386ac86ca78d52692c7a94051eab Merge: 1f07e98... b68e418... Author: Linus Torvalds Date: Mon Feb 11 09:21:26 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6: selinux: support 64-bit capabilities commit 1f07e988290fc45932f5028c9e2a862c37a57336 Author: Andi Kleen Date: Mon Feb 11 01:35:20 2008 +0100 Prevent IDE boot ops on NUMA system Without this patch a Opteron test system here oopses at boot with current git. Calling to_pci_dev() on a NULL pointer gives a negative value so the following NULL pointer check never triggers and then an illegal address is referenced. Check the unadjusted original device pointer for NULL instead. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 0c0d61ca93d111c521182c0909e478fa709e05c6 Merge: eedcdef... bb50c80... Author: Linus Torvalds Date: Mon Feb 11 09:19:47 2008 -0800 Merge branch 'for-linus' of git://linux-nfs.org/~bfields/linux * 'for-linus' of git://linux-nfs.org/~bfields/linux: SUNPRC: Fix printk format warning nfsd: clean up svc_reserve_auth() NLM: don't requeue block if it was invalidated while GRANT_MSG was in flight NLM: don't reattempt GRANT_MSG when there is already an RPC in flight NLM: have server-side RPC clients default to soft RPC tasks NLM: set RPC_CLNT_CREATE_NOPING for NLM RPC clients commit eedcdefb1ad75de9cc0889b247524be64cc244ef Merge: 9585ca0... 467390a... Author: Linus Torvalds Date: Mon Feb 11 09:19:22 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: ide: remove stale comment from ide-lib.c ide: fix comment in init_irq() ide: ide_init_port() bugfix ide-disk: fix flush requests (take 2) ide: introduce CONFIG_BLK_DEV_IDEDMA_SFF option bast-ide: build fix ide-tape: remove never executed code ide: fix ide/legacy/gayle.c compilation ide-cd: replace ntohs with generic byteorder macro be16_to_cpu ide: remove stale version number pdc202xx_old: always enable burst mode palm_bk3710: use struct ide_port_info palm_bk3710: port initialization/probing bugfix palm_bk3710: fix ide_unregister() usage palm_bk3710: ide_register_hw() -> ide_device_add() ide: insert BUG_ON() into __ide_set_handler() (take 2) cs5520: remove stale comment ide: another possible ide panic fix for blk-end-request commit 7c46c20aef185c3782d28c5111dcf1df88bbab32 Author: Yinghai Lu Date: Sun Feb 10 23:25:25 2008 -0800 [SCSI] ses: fix memory leaks fix leaking with scomp leaking when failing. Also free page10 on driver removal and remove one extra space. Signed-off-by: Yinghai Lu Signed-off-by: James Bottomley commit fab1e310d3f97bb9403ac68e181fd3e654a755c7 Author: Sam Ravnborg Date: Mon Feb 11 14:26:26 2008 +0100 kbuild: fix make V=1 When make -s support were added to filechk to combination created with make V=1 were not covered. Fix it by explicitly cover this case too. Signed-off-by: Sam Ravnborg Cc: Mike Frysinger commit 95f6fb578970c9dbfcaa436ff98d2f3c6bdea953 Author: Salyzyn, Mark Date: Fri Feb 8 09:01:34 2008 -0800 [SCSI] aacraid: informational sysfs value corrections Some sysfs problems reported. The serial number on late model controllers was truncated. Non-DASD devices (tapes and CDROMs) were showing up as JBOD in the level report on the physical channel. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit e78d5b8f1e73ab82f3fd041d05824cfee7d83a2c Author: Prakash, Sathya Date: Fri Feb 8 22:05:35 2008 +0530 [SCSI] mpt fusion: Request I/O resources only when required This patch modifies the I/O resource allocation behavior of FUSION driver. The current version of driver allocates the I/O resources even if they are not required and this creates trouble in low resource environments. This driver now uses pci_enable_device_mem/pci_enable_device functions to differentiate the resource allocations. Signed-off-by: Sathya Prakash Signed-off-by: James Bottomley commit 2f7ecc55b37ef9f0208360e64d8b9d2313df8ce6 Author: Salyzyn, Mark Date: Fri Feb 8 08:36:23 2008 -0800 [SCSI] aacraid: ignore adapter reset check polarity The Adapter's Ignore Reset flag and insmod parameter boolean polarity is incorrect in the driver. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 8ef2224707996aede1808f40116cd467b7c8d549 Author: Salyzyn, Mark Date: Fri Feb 8 05:48:22 2008 -0800 [SCSI] aacraid: add optional MSI support Added support for MSI utilizing the aacraid.msi=1 parameter. This patch adds some localized or like-minded janitor fixes. Since the default is disabled, there is no impact on the code paths unless the customer wishes to experiment with the MSI performance. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 07df8afa0dd54b8b89ad8aa93994c0d55a4a5921 Author: Prakash, Sathya Date: Fri Feb 8 16:35:40 2008 +0530 [SCSI] mpt fusion: Avoid racing when mptsas and mptcl module are loaded in parallel This patch sets the IOC pointer in drvrdata of pcidev before adding the IOC into the list of IOCs. Without this patch the driver oops when the mptsas and mptctl modules are loaded in parallel. Signed-off-by: Sathya Prakash Signed-off-by: James Bottomley commit 90a95af85f22c82f87e5fb714bac7ee06673b0ff Author: Thomas Horsten Date: Mon Feb 4 23:53:18 2008 -0800 [SCSI] MegaRAID driver management char device moved to misc The MegaRAID driver's common management module (megaraid_mm.c) creates a char device used by the management tool "megarc" from LSI Logic (and possibly other management tools). In 2.6 with udev, this device doesn't get created because it is not registered in sysfs. I first fixed this by registering a class "megaraid_mm", but realized that this should probably be moved to misc devices, instead of taking up a char major. This is because only 1 device is used, even if there are multiple adapters - the minor is never used (the adapter info is in the ioctl block sent to the driver, not detected based on the minor number as one might think). So it is a complete waste to have an entire major taken by this. So it now uses a misc device which I named "megadev0" (the name that megarc expects), and has a dynamic minor (previoulsy a dynamic major was used). I have tested this on my own system with the megarc tool, and it works just as fine as before (only now the device gets created correctly by udev). Acked-by: "Patro, Sumant" Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 7d5d408c77cee95d1380511de46b7a4c8dc2211d Author: FUJITA Tomonori Date: Fri Feb 8 09:50:08 2008 +0900 [SCSI] advansys: fix overrun_buf aligned bug struct asc_dvc_var needs overrun buffer to be placed on an 8 byte boundary. advansys defines struct asc_dvc_var: struct asc_dvc_var { ... uchar overrun_buf[ASC_OVERRUN_BSIZE] __aligned(8); The problem is that struct asc_dvc_var is placed on shost->hostdata. So if the hostdata is not on an 8 byte boundary, the advansys crashes. The hostdata is placed on a sizeof(unsigned long) boundary so the 8 byte boundary is not garanteed with x86_32. With 2.6.23 and 2.6.24, the hostdata is on an 8 byte boundary by chance, but with the current git, it's not. This patch removes overrun_buf static array and use kzalloc. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 651be3a2ba95bc30fcb737985741736e63231cdf Author: Adrian Bunk Date: Sat Feb 2 23:15:02 2008 +0200 net/phy/fixed.c: fix a use-after-free This patch fixes a use-after-free introduced by commit a79d8e93d300adb84cccc38ac396cfb118c238ad and spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit d785ad74641c59074786084b24a9283d7a7727b0 Author: Sergio Luis Date: Sun Feb 10 17:56:25 2008 -0300 drivers/net/sis190: fix section mismatch warning in sis190_get_mac_addr Fix following warnings: WARNING: drivers/net/sis190.o(.text+0x103): Section mismatch in reference from the function sis190_get_mac_addr() to the function .devinit.text:sis190_get_mac_addr_from_apc() WARNING: drivers/net/sis190.o(.text+0x10e): Section mismatch in reference from the function sis190_get_mac_addr() to the function .devinit.text:sis190_get_mac_addr_from_eeprom() Annotate sis190_get_mac_addr() with __devinit. Signed-off-by: Sergio Luis sis190.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) Signed-off-by: Jeff Garzik commit 9585ca02f8f9e844b64e7ff4d167ccc1390a99ab Author: Matthew Wilcox Date: Sun Feb 10 23:18:15 2008 -0500 Use proper abstractions in quirk_intel_irqbalance Since we may not have a pci_dev for the device we need to access, we can't use pci_read_config_word. But raw_pci_read is an internal implementation detail; it's better to use the architected pci_bus_read_config_word interface. Using PCI_DEVFN instead of a mysterious constant helps reassure everyone that we really do intend to access device 8. [ Thanks to Grant Grundler for pointing out to me that this is exactly what the write immediately above this is doing -- enabling device 8 to respond to config space cycles. - Matthew Grant also says: "Can you also add a comment which points at the Intel documentation? The 'Intel E7320 Memory Controller Hub (MCH) Datasheet' at http://download.intel.com/design/chipsets/datashts/30300702.pdf Page 69 documents register F4h (DEVPRES1). And I just doubled checked that the 0xf4 register value is restored later in the quirk (obvious when you look at the code but not from the patch" so here it is. - Linus ] Signed-off-by: Matthew Wilcox Acked-by: Grant Grundler Signed-off-by: Linus Torvalds commit f33780d33f8a95fe5dc72b706a4de741e9240f36 Author: Peter Tiedemann Date: Fri Feb 8 13:09:05 2008 +0100 claw/lcs/netiucv: check s390dbf level before sprints additional check of s390dbf level results in better performance if the default low debugging level is active. Signed-off-by: Peter Tiedemann Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit 164b0fb1f2a2990a37b9aeae98a9b771f6add24e Author: Peter Tiedemann Date: Fri Feb 8 13:09:04 2008 +0100 lcs: avoid/reduce unused s390dbf debug areas. Since lcs makes use of 1 debug area only, the number of debug areas is reduced, while the number of pages per area is increased. Signed-off-by: Peter Tiedemann Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit 21b26f2fee6883f69f56fb8ff6c2996eda45b063 Author: Ursula Braun Date: Fri Feb 8 13:09:03 2008 +0100 netiucv: change name of nop function Dummy NOP actions for fsm-statemachines have to be defined separately for every using module of fsm-statemachines. Thus the generic name fsm_action_nop is replaced by module specific name netiucv_action_nop. Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit 2219510f083ee4d7e9e6bb0dedda70334f073dc4 Author: Cornelia Huck Date: Fri Feb 8 13:09:02 2008 +0100 netiucv: Remember to set driver->owner. Signed-off-by: Cornelia Huck Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit 2cde1f30b35f49f171448b86ab9abbbaaeb7d81b Author: Ursula Braun Date: Fri Feb 8 13:09:01 2008 +0100 claw: removal of volatile variables Volatile variables queme_switch and pk_delay are not used anyway. They are just a left over from an unused timer based packing logic. Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit 5289b4c41f5abeff92c4e1d0fabfca17c83d3c7c Author: Ayaz Abdulla Date: Tue Feb 5 12:30:01 2008 -0500 forcedeth: tx pause watermarks New chipsets introduced variant Rx FIFO sizes that need to be taken into account when setting up the tx pause watermarks. This patch introduces the new device feature flags based on a version and implements the new watermarks. Signed-off-by: Ayaz Abdulla Signed-off-by: Jeff Garzik commit fd9b558c62bcd4a4f6f9d1740e836d7f5f0f5da5 Author: Ayaz Abdulla Date: Tue Feb 5 12:29:49 2008 -0500 forcedeth: tx collision fix This patch supports a new fix in hardware regarding tx collisions. In the cases where we are in autoneg mode and the link partner is in forced mode, we need to setup the tx deferral register differently in order to reduce collisions on the wire. Signed-off-by: Ayaz Abdulla Signed-off-by: Jeff Garzik commit 4eb61e0231be536d8116457b67b3e447bbd510dc Author: Steve Wise Date: Wed Feb 6 12:05:19 2008 -0600 cxgb3: Handle ARP completions that mark neighbors stale. When ARP completes due to a request rather than a reply the neighbor is marked NUD_STALE instead of reachable (see arp_process()). The handler for the resulting netevent needs to check also for NUD_STALE. Failure to use the arp entry can cause RDMA connection failures. Signed-off-by: Steve Wise Acked-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 6585b4a71f523485ecf33e7f4569be4095d63699 Merge: 179c743... ec6d2d4... Author: Jeff Garzik Date: Mon Feb 11 11:07:34 2008 -0500 Merge branch 'r6040' of git://git.kernel.org/pub/scm/linux/kernel/git/romieu/netdev-2.6 into upstream-fixes commit 179c743ff11b7ef3c0df4748b28c761a5fe19b11 Author: Ben Dooks Date: Tue Feb 5 00:02:23 2008 +0000 DM9000: Show the MAC address source after printing MAC Show whether the MAC address was read from the EEPROM or the onboard PAR registers. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit 513b6bee0156812bce4f38c497dfc7cf9ee9a609 Author: Ben Dooks Date: Tue Feb 5 00:02:22 2008 +0000 DM9000: Update retry count whilst identifying chip Reading the ID register does not always return the correct ID from the device, so we retry several times to see if we get a correct value. These failures seem to be excaserbated by the speed of the access to the chip (possibly time between issuing the address and then the data cycle). Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit f42d8aeaf9a32ec130bc99f2e4ba84cafb028244 Author: Ben Dooks Date: Tue Feb 5 00:02:21 2008 +0000 DM9000: Add support for MII ioctl() calls Add entry to handle the MII ioctl() calls via the generic_mii_ioctl call. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit bb44fb70e069412c08e07f494b6b4e985f6331ac Author: Ben Dooks Date: Tue Feb 5 00:02:20 2008 +0000 DM9000: Add platform flag for no attached EEPROM Allow the platform data to specify to the DM9000 driver that there is no posibility of an attached EEPROM on the device, so default all reads to 0xff and ignore any write operations. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit 073d3f46e5ccc49ede1d3487ed1e71d63d71b750 Author: Ben Dooks Date: Tue Feb 5 00:02:19 2008 +0000 DM9000: Remove redudant use of "& 0xff" The writing of the data should implicitly truncate the data to 8bits, so do not bother with the ands in the code. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit d39cb7866e5f6ff32ed4d99cc3fcd19bda701492 Author: Ben Dooks Date: Tue Feb 5 00:02:18 2008 +0000 DM9000: Remove cal_CRC() and use ether_crc_le instead Remove the cal_CRC as this is basically wrappering the ether_crc_le function, and is only being used by the multicast hash table functions. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit 39c341a8dcf060b246b0beddac90cd7de11d4a20 Author: Ben Dooks Date: Tue Feb 5 00:02:17 2008 +0000 DM9000: Fix delays used by EEPROM read and write The code was using a delay of 8ms, when it should have been using the EEPROM status flag from the device to indicate the EEPROM transaction had finished. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit c991d168cb649d416c5a773a50d0754299f31366 Author: Ben Dooks Date: Tue Feb 5 00:02:16 2008 +0000 DM9000: Use netif_msg to enable debugging options Use the netif_msg_*() macros to enable the debugging based on the board's msg_enable field. The output still goes via the dev_dbg() macros, so will be tagged and output as appropriate. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit 41c340f0f89ce44be4956c146436c335dba47142 Author: Ben Dooks Date: Tue Feb 5 00:02:15 2008 +0000 DM9000: Remove unnecessary changelog in header comment We have a perfectly good version control system, so we do not need to duplicate change comments in the header for this code. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit 621ddcb0461baee26a5e7c86a76938f0aa83dec1 Author: Ben Dooks Date: Tue Feb 5 00:02:14 2008 +0000 DM9000: Ensure spinlock held whilst accessing EEPROM registers Ensure we hold the spinlock whilst the registers and being modified even though we hold the overall lock. This should protect against an interrupt happening whilst we are using the device. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit 3927f1c88efc25b2972c8cbd7ed10d5f1b88b52a Author: Ben Dooks Date: Tue Feb 5 00:02:13 2008 +0000 DM9000: Remove EEPROM initialisation code. Remove the old hack to program an initial EEPROM setting into the DM9000 as we now have ethtool support for reading and writing the EEPROM. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit e662ee02cc9f1a61f309eaa44ce3c33dc6ed7b8a Author: Ben Dooks Date: Tue Feb 5 00:02:12 2008 +0000 DM9000: Add ethtool control of msg_enable value Allow the msg_enable value to be read and written by the ethtool interface. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit 29d52e545f6f077d8c29fa35d1c52d95e4a2185a Author: Ben Dooks Date: Tue Feb 5 00:02:11 2008 +0000 DM9000: Add ethtool support for reading and writing EEPROM Add ethtool support to access the configuration EEPROM connected to the DM9000. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit 9a2f037cdbe8409c5ff92e8dce5fcdfe2ebb2084 Author: Ben Dooks Date: Tue Feb 5 00:02:10 2008 +0000 DM9000: Add mutex to protect access Add a mutex to serialise access to the chip functions from entries such as the ethtool and the MII code. This should reduce the amount of time the spinlock is held to protect the address register. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit 86c62fab5aafe33d033d2f616ba8be0527e1c286 Author: Ben Dooks Date: Tue Feb 5 00:02:09 2008 +0000 DM9000: Remove barely used SROM array read. The srom array in the board data is only being used in the device probe routines. The probe also only uses the first 6 bytes of an array we spend 512ms reading 128 bytes from. Change to reading the MAC area directly to the MAC address structure. As a side product, we rename the read_srom_word to dm9000_read_eeprom to bring it into line with the rest of the driver. No change is made to the delay in this function, which will be dealt with in a later patch. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit 321f69a4c3bb807abdf1fd6329403ec0449a3d78 Author: Ben Dooks Date: Tue Feb 5 00:02:08 2008 +0000 DM9000: Use msleep() instead of udelay() We can use sleeping functions when reading and writing the PHY registers, so let us sleep instead of busy waiting for the PHY. Note, this also fixes a bug reading the PHY where only 100uS was being used instead of 150uS Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit 89c8b0e6cd3859a6445398c5aa94ebd21d0e64ce Author: Ben Dooks Date: Tue Feb 5 00:02:07 2008 +0000 DM9000: Do not sleep with spinlock and IRQs held The phy read and write routines call udelay() with the board lock held, and with the posibility of IRQs being disabled. Since these delays can be up to 500usec, and are only required as we have to save the chip's address register. To improve the behaviour, hold the lock whilst we are writing and then restore the state before the delay and then repeat the process once the delay has happened. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit 7da998591798ea52938d8482b52ae3f854f14359 Author: Ben Dooks Date: Tue Feb 5 00:02:06 2008 +0000 DM9000: Add initial ethtool support Add support for ethtool operations for the DM9000. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit fcfa81aa3e8d885356139122fcb281487b983468 Author: Ben Dooks Date: Tue Feb 5 00:02:05 2008 +0000 DM9000: Remove old timer based poll routines Remove the timer based MII phy polling, as this is currently broken with the new EEPROM code that now uses mutexes to protect the phy access. This will need to be replaced in the future by some form of mutex safe mechanism for reading the MII phy status. The replacement has not been done here as changing this patch, which is early in the sequence has quite a knock-on effect. Once this series is merged, then a new presentation of an patch to poll the MII link status can be added. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit 1a5f1c4ff80f522555d78d4dd0109f18395c6d83 Author: Ben Dooks Date: Tue Feb 5 00:02:04 2008 +0000 DM9000: Pass IRQ flags via platform resources Use the flags in the IRQ resource to specify the type of IRQ being requested, so that systems which do not have level-based interrupts, or change the interrupt in some other way can specify this without making an #ifdef mess in the driver. This is specifically designed to undo the change in commit 4e4fc05a2b6e7bd2e0facd96e0c18dceb34d9349 which hardwires the type for everyone but blackfin to IRQT_RISING, which breaks all a number of Simtec boards which use (and setup in the bootloader) active low IRQs. Note, although there where originally objections due to the use of IORESOURCE_IRQ and IRQT_ flags not sharing the same definition, at least notes these are the same. Signed-off-by: Ben Dooks CC: Daniel Mack CC: Bryan Wu CC: Alex Landau Signed-off-by: Jeff Garzik commit 5b2b4ff05593bc35c90dac84ecb82cb7501ecd07 Author: Ben Dooks Date: Tue Feb 5 00:02:03 2008 +0000 DM9000 update debugging macros to use debug level Change the debug macros to use the compiler to elide any unnecessary debug level, and to allow device configurable debug control. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit a76836f95d285edcbdcddde5dfaca56e2030f2f5 Author: Ben Dooks Date: Tue Feb 5 00:02:02 2008 +0000 DM9000 use dev_xxx() instead of printk for output. Move to using dev_dbg() and friends for the output of information to the user. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit 33ba509191dd6c6735cc96d2ba411fa311f9a6be Author: Ben Dooks Date: Tue Feb 5 00:02:01 2008 +0000 DM9000: Add platform data to specify external phy Patch from: Laurent Pinchart This patch adds a flag to the DM9000 platform data which, when set, configures the device to use an external PHY. Signed-off-by: Laurent Pinchart Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit 931165739a75f88530d5b02cafaacf9bb6b66d87 Author: Ben Dooks Date: Tue Feb 5 00:02:00 2008 +0000 DM9000: Fix endian-ness of data accesses. Patch from: Laurent Pinchart This patch splits the receive status in 8bit wide fields and convert the packet length from little endian to CPU byte order. Signed-off-by: Laurent Pinchart Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit a8cc21f64648073e443365d113c55755b92622a6 Author: Krishna Kumar Date: Wed Jan 30 12:30:16 2008 +0530 Optimize cxgb3 xmit path (a bit) 1. Add common code for stopping queue. 2. No need to call netif_stop_queue followed by netif_wake_queue (and infact a netif_start_queue could have been used instead), instead call stop_queue if required, and remove code under USE_GTS macro. 3. There is no need to check for netif_queue_stopped, as the network core guarantees that for us (I am sure every driver could remove that check, eg e1000 - I have tested that path a few billion times with about a few hundred thousand qstops but the condition never hit even once). Signed-off-by: Krishna Kumar Signed-off-by: Jeff Garzik commit 3c34ac36ac1084e571ef9b6fb1d6a5b10ccc1fd0 Author: Benjamin Herrenschmidt Date: Fri Nov 16 18:37:38 2007 +1100 e1000: Fix for 32 bits platforms with 64 bits resources The e1000 driver stores the content of the PCI resources into unsigned long's before ioremapping. This breaks on 32 bits platforms that support 64 bits MMIO resources such as ppc 44x. This fixes it by removing those temporary variables and passing directly the result of pci_resource_start/len to ioremap. The side effect is that I removed the assignments to the netdev fields mem_start, mem_end and base_addr, which are totally useless for PCI devices. Signed-off-by: Benjamin Herrenschmidt -- drivers/net/e1000/e1000_main.c | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) Signed-off-by: Jeff Garzik commit 09dde54c6a69d4f9ea1213923b93aeae7020f8b6 Author: Masakazu Mokuno Date: Thu Feb 7 19:58:57 2008 +0900 PS3: gelic: Add wireless support for PS3 Signed-off-by: Masakazu Mokuno Acked-by: Dan Williams Acked-by: John W. Linville Signed-off-by: Jeff Garzik commit 589866f9f1cb14273b644993d362ec7845007f94 Author: Masakazu Mokuno Date: Thu Feb 7 19:58:42 2008 +0900 PS3: gelic: Add support for dual network interface Add support for dual network (net_device) interface so that ethernet and wireless can own separate ethX interfaces. V2 - Fix the bug that bringing down and up the interface keeps rx disabled. - Make 'gelic_net_poll_controller()' extern , as David Woodhouse pointed out at the previous submission. - Fix weird usage of member names for the rx descriptor chain V1 - Export functions which are convenient for both interfaces - Move irq allocation/release code to driver probe/remove handlers because interfaces share interrupts. - Allocate skbs by using dev_alloc_skb() instead of netdev_alloc_skb() as the interfaces share the hardware rx queue. - Add gelic_port struct in order to abstract dual interface handling - Change handlers for hardware queues so that they can handle dual {source,destination} interfaces. - Use new NAPI functions This is a prerequisite for the new PS3 wireless support. Signed-off-by: Jeff Garzik commit 01fed4c284def58b8a9ee0b915c3956b93c670b7 Author: Masakazu Mokuno Date: Thu Feb 7 19:58:32 2008 +0900 PS3: gelic: add support for port link status Add support for interrupt driven port link status detection. Signed-off-by: Masakazu Mokuno Signed-off-by: Jeff Garzik commit 7bc56b92b025c13f8d3c9b049ed816db464fb0b5 Author: Masakazu Mokuno Date: Thu Feb 7 19:58:20 2008 +0900 PS3: gelic: remove duplicated ethtool handlers Remove some ethtool handlers, which duplicate functionality that was already provided by the common ethtool handlers. Signed-off-by: Masakazu Mokuno Signed-off-by: Jeff Garzik commit 59e973277cf942a1eac6d83802d6c9d1f397566b Author: Masakazu Mokuno Date: Thu Feb 7 19:58:08 2008 +0900 PS3: gelic: code cleanup Code cleanup: - Use appropriate prefixes for names instead of fixed 'gelic_net' so that objects of the functions, variables and constants can be estimated. - Remove definitions for IPSec offload to the gelic hardware. This functionality is never supported on PS3. - Group constants with enum. - Use bitwise constants for interrupt status, instead of bit numbers to eliminate shift operations. - Style fixes. Signed-off-by: Masakazu Mokuno Signed-off-by: Jeff Garzik commit 100e1d891902e432951e88bffba0dc49005a216c Author: Masakazu Mokuno Date: Thu Feb 7 19:57:54 2008 +0900 PS3: gelic: Add endianness macros Mark the members of the structure for DMA descriptors with proper endian annotations and use the appropriate accessor macros. As the gelic driver works only on PS3, all these macros will be expanded to null. Signed-off-by: Masakazu Mokuno Signed-off-by: Jeff Garzik commit b94e1d47684b0bee6088d848e29154697ea4c4bd Author: Masakazu Mokuno Date: Thu Feb 7 19:57:41 2008 +0900 PS3: gelic: Fix the wrong dev_id passed The device id for lv1_net_set_interrupt_status_indicator() is wrong. This path would be invoked only in the case of an initialization failure. Signed-off-by: Masakazu Mokuno Signed-off-by: Jeff Garzik commit 2192f3956d7bcb4cf748f0b8e2c94f0e634810aa Author: Adrian McMenamin Date: Fri Feb 8 11:21:58 2008 +0000 8139too fix for Dreamcast Updates the 8139too driver to work with recently added (a724605cb7a66d423a494a395f9a8ba871b8a1eb) declared coherent memory patch for the Dreamcast. Signed-off-by: Adrian McMenamin Signed-off-by: Jeff Garzik commit a197f6938db43b5ef464242f707233d3bd8842eb Author: Alan Cox Date: Fri Feb 8 15:27:38 2008 +0000 ni52: Remove 278 scripts/checkpatch errors To kill the volatiles also switch it to stop poking ISA memory directly without going through readb and friends. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit b3028cdc1859adf371f9457862e466f0e67f0b10 Author: Don Fry Date: Fri Feb 8 07:29:38 2008 -0800 pcnet32: Use print_mac Signed-off-by: Joe Perches Acked-by: Don Fry Signed-off-by: Jeff Garzik commit 232c56408861e666d2546960d1180eb2c65260bd Author: Don Fry Date: Fri Feb 8 07:32:26 2008 -0800 pcnet32: use NET_IP_ALIGN instead of 2 Change hard coded 2 to NET_IP_ALIGN. Added new #define with comments. Tested amd_64 Signed-off-by: Don Fry Signed-off-by: Jeff Garzik commit be541ed15979ebea2fa1b2b4355db685f30e3c27 Author: Jiri Kosina Date: Mon Feb 11 13:04:26 2008 +0100 HID: add LCSPEC from VERNIER to quirk list We need to blacklist this device, as it should be handled by ldusb driver. Reported-by: stephen Signed-off-by: Jiri Kosina commit 68a1f2cc8676f22a6fd49f344f99e326eb7f5117 Author: Jiri Kosina Date: Thu Feb 7 16:48:46 2008 +0100 HID: fix processing of event quirks The old code (before move) stopped further processing of the event after it has been already processed by the quirk handler. The new code didn't propagate the return value properly, and therefore the processing always proceeded, which was wrong. This patch fixes it. Pointed out in kernel.org bugzilla #9842 Signed-off-by: Jiri Kosina commit dda3fd3535566b4d2b450dded23f1334a5f60bd6 Author: Jeremy Roberson Date: Fri Feb 1 15:59:43 2008 +0100 HID: Blacklist new GTCO CalComp USB device PIDs Adds new GTCO CalComp USB device PIDs to the blacklist. Signed-off-by: Jeremy A. Roberson Signed-off-by: Jiri Kosina commit b68e418c445e8a468634d0a7ca2fb63bbaa74028 Author: Stephen Smalley Date: Thu Feb 7 11:21:04 2008 -0500 selinux: support 64-bit capabilities Fix SELinux to handle 64-bit capabilities correctly, and to catch future extensions of capabilities beyond 64 bits to ensure that SELinux is properly updated. Signed-off-by: Stephen Smalley Signed-off-by: James Morris commit 467390a2a50493332ddc21eb806094b1829c1161 Author: Bartlomiej Zolnierkiewicz Date: Mon Feb 11 00:32:15 2008 +0100 ide: remove stale comment from ide-lib.c Signed-off-by: Bartlomiej Zolnierkiewicz commit e1771e20c8be601d1cc9364d45f907a0433dbbd5 Author: Bartlomiej Zolnierkiewicz Date: Mon Feb 11 00:32:15 2008 +0100 ide: fix comment in init_irq() APUS support is gone... Signed-off-by: Bartlomiej Zolnierkiewicz commit 428009422584cb8ded31397740ade88a36fc8172 Author: Bartlomiej Zolnierkiewicz Date: Mon Feb 11 00:32:15 2008 +0100 ide: ide_init_port() bugfix On Sunday 10 February 2008, Atsushi Nemoto wrote: > On Sun, 06 Jan 2008 18:03:10 +0100, Bartlomiej Zolnierkiewicz wrote: > > + /* reset DMA masks only for SFF-style DMA controllers */ > > + if ((d->host_flags && IDE_HFLAG_NO_DMA) == 0 && hwif->dma_base == 0) > > + hwif->swdma_mask = hwif->mwdma_mask = hwif->ultra_mask = 0; > > It might be too late, but "host_flags && IDE_HFLAGS_NO_DMA" seems > wrong for me. Fix regression caused by commmit c413b9b94d9a8e7548cc4b2e04b7df0439ce76fd ("ide: add struct ide_port_info instances to legacy host drivers"). Reported-by: Atsushi Nemoto Signed-off-by: Bartlomiej Zolnierkiewicz commit 395d8ef5bebe547a80737692f9789d2e36da16f2 Author: Bartlomiej Zolnierkiewicz Date: Mon Feb 11 00:32:14 2008 +0100 ide-disk: fix flush requests (take 2) commit 813a0eb233ee67d7166241a8b389b6a76f2247f9 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:10 2008 +0100 ide: switch idedisk_prepare_flush() to use REQ_TYPE_ATA_TASKFILE requests ... broke flush requests. Allocating IDE command structure on the stack for flush requests is not a very brilliant idea: - idedisk_prepare_flush() only prepares the request and it doesn't wait for it to be completed - there are can be multiple flush requests queued in the queue Fix the problem (per hints from James Bottomley) by: - dynamically allocating ide_task_t instance using kmalloc(..., GFP_ATOMIC) - adding new taskfile flag (IDE_TFLAG_DYN) - calling kfree() in ide_end_drive_command() if IDE_TFLAG_DYN is set (while at it rename 'args' to 'task' and fix whitespace damage) [ This will be fixed properly before 2.6.25 but this bug is rather critical and the proper solution requires some more work + testing. ] Thanks to Sebastian Siewior and Christoph Hellwig for reporting the problem and testing patches (extra thanks to Sebastian for bisecting it to the guilty commmit). Tested-by: Sebastian Siewior Cc: Christoph Hellwig Cc: James Bottomley Cc: Jens Axboe Cc: Tejun Heo Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8e882ba111bb52fbb42c34a265afb97ddd4fcea1 Author: Sergei Shtylyov Date: Mon Feb 11 00:32:14 2008 +0100 ide: introduce CONFIG_BLK_DEV_IDEDMA_SFF option Introduce new option CONFIG_BLK_DEV_IDEDMA_SFF for non-PCI SFF-8038i compatible bus mastering IDE controllers (which there are a few known), thus fixing a hack made for Palmchip BK3710 controller... Signed-off-by: Sergei Shtylyov Cc: Anton Salnikov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7b56a937a17d21a266dd0a24053f951f3a92e428 Author: Bartlomiej Zolnierkiewicz Date: Mon Feb 11 00:32:14 2008 +0100 bast-ide: build fix On Saturday 09 February 2008, Adrian Bunk wrote: > Commit 9e016a719209d95338e314b46c3012cc7feaaeec causes the following > compile error: > > <-- snip --> > > ... > CC drivers/ide/arm/bast-ide.o > /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ide/arm/bast-ide.c: In function 'bastide_register': > /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ide/arm/bast-ide.c:31: error: 'hwif' redeclared as different kind of symbol > /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ide/arm/bast-ide.c:29: error: previous definition of 'hwif' was here > make[4]: *** [drivers/ide/arm/bast-ide.o] Error 1 > > <-- snip --> Remove 'ide_hwif_t **hwif' argument from bastide_register() (together with write-only ifs[]). Cc: Adrian Bunk Cc: Russell King Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 31cb2120270cb43403428de67d8cb5caeb58dfd2 Author: Bartlomiej Zolnierkiewicz Date: Mon Feb 11 00:32:14 2008 +0100 ide-tape: remove never executed code rq->cmd[0] is never set to REQ_IDETAPE_READ_BUFFER so remove REQ_IDETAPE_READ_BUFFER handling from idetape_create_write_cmd() and the define itself. Then remove no longer used idetape_create_read_buffer_cmd() and IDETAPE_RETRIEVE_FAULTY_BLOCK define. There should be no functional changes caused by this patch. Cc: Borislav Petkov Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 56efa7b0e437808d367a92f7820b3aba930c230d Author: Adrian Bunk Date: Mon Feb 11 00:32:14 2008 +0100 ide: fix ide/legacy/gayle.c compilation Signed-off-by: Adrian Bunk Cc: Geert Uytterhoeven Signed-off-by: Bartlomiej Zolnierkiewicz commit 7eb43fd2fa4a55faee97d4c84b336d2138075926 Author: Borislav Petkov Date: Mon Feb 11 00:32:13 2008 +0100 ide-cd: replace ntohs with generic byteorder macro be16_to_cpu Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit eba8ff946177ca38dfde0bf1d8ce0703c45c49b9 Author: Bartlomiej Zolnierkiewicz Date: Mon Feb 11 00:32:13 2008 +0100 ide: remove stale version number On Thursday 03 January 2008, Robert Hancock wrote: [...] > How about getting rid of this stupid thing in drivers/ide/ide.c: > > #define       REVISION        "Revision: 7.00alpha2" > > which is used in: > > printk(KERN_INFO "Uniform Multi-Platform E-IDE driver " REVISION "\n"); > > It's been 7.00alpha2 for god knows how long, so clearly this version > number is not useful.. Cc: Robert Hancock Signed-off-by: Bartlomiej Zolnierkiewicz commit cfa2771bc511017159ea076965fe385101e03798 Author: Bartlomiej Zolnierkiewicz Date: Mon Feb 11 00:32:13 2008 +0100 pdc202xx_old: always enable burst mode Alan has noticed that distros always enabled burst mode (+ datasheet confirms that it is the right thing to do). Thus fix pdc202xx_old host driver to do it unconditionally and remove no longer needed CONFIG_PDC202XX_BURST option. Cc: Alan Cox Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit c79b60ddf6ff0e884c09cecbbddd656f7bf277a3 Author: Bartlomiej Zolnierkiewicz Date: Mon Feb 11 00:32:13 2008 +0100 palm_bk3710: use struct ide_port_info * Factor out cable detection to palm_bk3710_cable_detect(). * Add palm_bk3710_init_hwif() (->init_hwif method implementation). * Remove needless ->quirkproc initialization. * Add missing ->pio_mask initialization. * Use ATA_* defines for setting ->{ultra,mwdma}_mask. * Add 'struct ide_port_info palm_bk3710_port_info' and pass it to ide_device_add(). Then remove open-coded 'hwif' initialization. Cc: Anton Salnikov Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit c92a7f1d8254fabd99df33af59094935fc2cfe32 Author: Bartlomiej Zolnierkiewicz Date: Mon Feb 11 00:32:13 2008 +0100 palm_bk3710: port initialization/probing bugfix Probe port _after_ it is fully initialized. Cc: Anton Salnikov Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit d4452be757b5b94b2d39c5c254743caee913915e Author: Bartlomiej Zolnierkiewicz Date: Mon Feb 11 00:32:12 2008 +0100 palm_bk3710: fix ide_unregister() usage Don't set 'restore' flag for ide_unregister() when initializing new interface. [ identical change as done to bast-ide/ide-cs/delkin_cb host drivers by commit 909f4369bca30f9a186316a3bf2b4a9c1e702a25 ] Cc: Anton Salnikov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7824bc6b474caca6d74489498d9c2c2dfcc86d10 Author: Bartlomiej Zolnierkiewicz Date: Mon Feb 11 00:32:12 2008 +0100 palm_bk3710: ide_register_hw() -> ide_device_add() * Convert palm_bk3710 host driver to use ide_device_add() instead of ide_register_hw() (while at it drop doing "ide_unregister()" loop which tries to unregister _all_ IDE interfaces if useable ide_hwifs[] slot cannot be find). [ identical change as done to bast-ide/ide-cs/delkin_cb host drivers by commit 9e016a719209d95338e314b46c3012cc7feaaeec ] * Rename 'ide_ctlr_info' to 'hw' and 'index' to 'i' while at it. Cc: Anton Salnikov Signed-off-by: Bartlomiej Zolnierkiewicz commit d30a426dc5fd8801dbd05485788a001de623d487 Author: Sergei Shtylyov Date: Mon Feb 11 00:32:12 2008 +0100 ide: insert BUG_ON() into __ide_set_handler() (take 2) Replace the check for hwgroup->handler and printk(KERN_CRIT, ...) at the start of __ide_set_handler() with mere BUG_ON() while removing such from the caller, ide_execute_command(). Fix up the code formatting, while at it... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit cb777922c3a15ccbea4c02bed401e030f195aaea Author: Benjamin Herrenschmidt Date: Mon Feb 11 00:32:12 2008 +0100 cs5520: remove stale comment Remove stale comment from the cs5520 IDE driver. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 3b0e044d5a881c937293a045158149514b86783c Author: Kiyoshi Ueda Date: Mon Feb 11 00:32:11 2008 +0100 ide: another possible ide panic fix for blk-end-request I have reviewed all blk-end-request patches again to confirm whether there are any similar problems with the last week's ide-cd panic: http://lkml.org/lkml/2008/1/29/140 And I found a possible similar bug in ide-io change: ide_end_drive_cmd() could be called for blk_pc_request() which could have bios. To complete such requests correctly, we need to pass the actual size of the request. Otherwise, __blk_end_request() returns 1 because the request still has bios, and the system will BUG() unnecessarily. The following patch fixes the bug and should be applied on top of Linus' git. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Cc: Borislav Petkov Cc: Jens Axboe Signed-off-by: Bartlomiej Zolnierkiewicz commit bb50c8012cbd85b8e105584b32e4d5a2d335dcef Author: Roland Dreier Date: Fri Feb 8 16:02:04 2008 -0800 SUNPRC: Fix printk format warning net/sunrpc/xprtrdma/svc_rdma_sendto.c:160: warning: format '%llx' expects type 'long long unsigned int', but argument 3 has type 'u64' Signed-off-by: Roland Dreier Signed-off-by: J. Bruce Fields commit fbb7878c1a2ee40a1e983bf20f3dd3a80255dcf2 Author: J. Bruce Fields Date: Thu Feb 7 23:10:21 2008 -0500 nfsd: clean up svc_reserve_auth() This is a void function attempting to return the return value from another void function, which seems harmless but extremely weird, and apparently makes some compilers complain. While we're there, clean up a little (e.g. the switch statement had a minor style problem and seemed overkill as long as there's only one case). Thanks to Trond for noticing this. Signed-off-by: J. Bruce Fields Cc: Trond Myklebust commit c64e80d55db81df22a7f25b75ab4ba4c55db4749 Author: Jeff Layton Date: Wed Feb 6 11:34:13 2008 -0500 NLM: don't requeue block if it was invalidated while GRANT_MSG was in flight It's possible for lockd to catch a SIGKILL while a GRANT_MSG callback is in flight. If this happens we don't want lockd to insert the block back into the nlm_blocked list. This helps that situation, but there's still a possible race. Fixing that will mean adding real locking for nlm_blocked. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit 9706501e43a80ce48b319214a0a9e562deded35b Author: Jeff Layton Date: Wed Feb 6 11:34:12 2008 -0500 NLM: don't reattempt GRANT_MSG when there is already an RPC in flight With the current scheme in nlmsvc_grant_blocked, we can end up with more than one GRANT_MSG callback for a block in flight. Right now, we requeue the block unconditionally so that a GRANT_MSG callback is done again in 30s. If the client is unresponsive, it can take more than 30s for the call already in flight to time out. There's no benefit to having more than one GRANT_MSG RPC queued up at a time, so put it on the list with a timeout of NLM_NEVER before doing the RPC call. If the RPC call submission fails, we requeue it with a short timeout. If it works, then nlmsvc_grant_callback will end up requeueing it with a shorter timeout after it completes. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit 90bd17c87821fe0e055e0f9a7446c2875f31eb4c Author: Jeff Layton Date: Wed Feb 6 11:34:11 2008 -0500 NLM: have server-side RPC clients default to soft RPC tasks Now that it no longer does an RPC ping, lockd always ends up queueing an RPC task for the GRANT_MSG callback. But, it also requeues the block for later attempts. Since these are hard RPC tasks, if the client we're calling back goes unresponsive the GRANT_MSG callbacks can stack up in the RPC queue. Fix this by making server-side RPC clients default to soft RPC tasks. lockd requeues the block anyway, so this should be OK. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit 031fd3aa20fcf6d1862ea7814ee8b2caf36c0d78 Author: Jeff Layton Date: Wed Feb 6 11:34:10 2008 -0500 NLM: set RPC_CLNT_CREATE_NOPING for NLM RPC clients It's currently possible for an unresponsive NLM client to completely lock up a server's lockd. The scenario is something like this: 1) client1 (or a process on the server) takes a lock on a file 2) client2 tries to take a blocking lock on the same file and awaits the callback 3) client2 goes unresponsive (plug pulled, network partition, etc) 4) client1 releases the lock ...at that point the server's lockd will try to queue up a GRANT_MSG callback for client2, but first it requeues the block with a timeout of 30s. nlm_async_call will attempt to bind the RPC client to client2 and will call rpc_ping. rpc_ping entails a sync RPC call and if client2 is unresponsive it will take around 60s for that to time out. Once it times out, it's already time to retry the block and the whole process repeats. Once in this situation, nlmsvc_retry_blocked will never return until the host starts responding again. lockd won't service new calls. Fix this by skipping the RPC ping on NLM RPC clients. This makes nlm_async_call return quickly when called. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit 19af35546de68c872dcb687613e0902a602cb20e Author: Linus Torvalds Date: Sun Feb 10 14:18:14 2008 -0800 Linux 2.6.25-rc1 .. and I really need to call it something else. Maybe it is time to bring back the weasel series, since weasels always make me feel good about a kernel. commit 0eccf60bfa9190d1588b2bf07d23d7b9b3a19d9e Merge: b6ce068... f9166e7... Author: Linus Torvalds Date: Sun Feb 10 14:09:44 2008 -0800 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (30 commits) [ARM] constify function pointer tables [ARM] 4823/1: AT91 section fix [ARM] 4824/1: pxa: clear RDH bit after any reset [ARM] pxa: remove debugging PM: printk ARM: OMAP1: Misc clean-up ARM: OMAP1: Update defconfigs for omap1 ARM: OMAP1: Palm Tungsten E board clean-up ARM: OMAP1: Use I2C bus registration helper for omap1 ARM: OMAP1: Remove omap_sram_idle() ARM: OMAP1: PM fixes for OMAP1 ARM: OMAP1: Use MMC multislot structures for Siemens SX1 board ARM: OMAP1: Make omap1 use MMC multislot structures ARM: OMAP1: Change the comments to C style ARM: OMAP1: Make omap1 boards to use omap_nand_platform_data ARM: OMAP: Add helper module for board specific I2C bus registration ARM: OMAP: Add dmtimer support for OMAP3 ARM: OMAP: Pre-3430 clean-up for dmtimer.c ARM: OMAP: Add DMA support for chaining and 3430 ARM: OMAP: Add 24xx GPIO debounce support ARM: OMAP: Get rid of unnecessary ifdefs in GPIO code ... commit b6ce068a1285a24185b01be8a49021827516b3e1 Author: Matthew Wilcox Date: Sun Feb 10 09:45:28 2008 -0500 Change pci_raw_ops to pci_raw_read/write We want to allow different implementations of pci_raw_ops for standard and extended config space on x86. Rather than clutter generic code with knowledge of this, we make pci_raw_ops private to x86 and use it to implement the new raw interface -- raw_pci_read() and raw_pci_write(). Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds commit a0ca9909609470ad779b9b9cc68ce96e975afff7 Author: Ivan Kokshaysky Date: Mon Jan 14 17:31:09 2008 -0500 PCI x86: always use conf1 to access config space below 256 bytes Thanks to Loic Prylli , who originally proposed this idea. Always using legacy configuration mechanism for the legacy config space and extended mechanism (mmconf) for the extended config space is a simple and very logical approach. It's supposed to resolve all known mmconf problems. It still allows per-device quirks (tweaking dev->cfg_size). It also allows to get rid of mmconf fallback code. Signed-off-by: Ivan Kokshaysky Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds commit 7cf712db6087342e5e7e259d3883a7b5ac3212d1 Merge: 58a14ee... 30ddb15... Author: Linus Torvalds Date: Sun Feb 10 12:03:57 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: [PKT_SCHED] ematch: Fix build warning. commit 58a14ee9c49aa2b9742c56a0477666335368e05e Merge: 712a30e... c289b07... Author: Linus Torvalds Date: Sun Feb 10 12:02:45 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt * git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt: hrtimer: don't modify restart_block->fn in restart functions hrtimer: fix *rmtp/restarts handling in compat_sys_nanosleep() hrtimer: fix *rmtp handling in hrtimer_nanosleep() ntp: correct inconsistent interval/tick_length usage commit 712a30e63c8066ed84385b12edbfb804f49cbc44 Author: Bastian Blank Date: Sun Feb 10 16:47:57 2008 +0200 splice: fix user pointer access in get_iovec_page_array() Commit 8811930dc74a503415b35c4a79d14fb0b408a361 ("splice: missing user pointer access verification") added the proper access_ok() calls to copy_from_user_mmap_sem() which ensures we can copy the struct iovecs from userspace to the kernel. But we also must check whether we can access the actual memory region pointed to by the struct iovec to fix the access checks properly. Signed-off-by: Bastian Blank Acked-by: Oliver Pinter Cc: Jens Axboe Cc: Andrew Morton Signed-off-by: Pekka Enberg Signed-off-by: Linus Torvalds commit 30ddb159ff3c632fdad3c0abc2e7d586a59bc5d1 Author: David S. Miller Date: Sun Feb 10 03:48:15 2008 -0800 [PKT_SCHED] ematch: Fix build warning. Commit 954415e33ed6cfa932c13e8c2460bd05e50723b5 ("[PKT_SCHED] ematch: tcf_em_destroy robustness") removed a cast on em->data when passing it to kfree(), but em->data is an integer type that can hold pointers as well as other values so the cast is necessary. Signed-off-by: David S. Miller commit c289b074b66e2e59c65aba73f40b99e797e92d2f Author: Oleg Nesterov Date: Fri Feb 1 20:41:30 2008 +0300 hrtimer: don't modify restart_block->fn in restart functions hrtimer_nanosleep_restart() clears/restores restart_block->fn. This is pointless and complicates its usage. Note that if sys_restart_syscall() doesn't actually happen, we have a bogus "pending" restart->fn anyway, this is harmless. Signed-off-by: Oleg Nesterov Cc: Alexey Dobriyan Cc: Pavel Emelyanov Cc: Peter Zijlstra Cc: Toyo Abe Cc: Andrew Morton Signed-off-by: Thomas Gleixner commit 416529374b4793ba2d2e97e736d108a2e0f3ef07 Author: Oleg Nesterov Date: Fri Feb 1 20:35:31 2008 +0300 hrtimer: fix *rmtp/restarts handling in compat_sys_nanosleep() Spotted by Pavel Emelyanov and Alexey Dobriyan. compat_sys_nanosleep() implicitly uses hrtimer_nanosleep_restart(), this can't work. Make a suitable compat_nanosleep_restart() helper. Introduced by commit c70878b4e0b6cf8d2f1e46319e48e821ef4a8aba hrtimer: hook compat_sys_nanosleep up to high res timer code Also, set ->addr_limit = KERNEL_DS before doing hrtimer_nanosleep(), this func was changed by the previous patch and now takes the "__user *" parameter. Thanks to Ingo Molnar for fixing the bug in this patch. Signed-off-by: Oleg Nesterov Cc: Andrew Morton Cc: Alexey Dobriyan Cc: Pavel Emelyanov Cc: Peter Zijlstra Cc: Toyo Abe Signed-off-by: Thomas Gleixner commit 080344b98805553f9b01de0f59a41b1533036d8d Author: Oleg Nesterov Date: Fri Feb 1 17:29:05 2008 +0300 hrtimer: fix *rmtp handling in hrtimer_nanosleep() Spotted by Pavel Emelyanov and Alexey Dobriyan. hrtimer_nanosleep() sets restart_block->arg1 = rmtp, but this rmtp points to the local variable which lives in the caller's stack frame. This means that if sys_restart_syscall() actually happens and it is interrupted as well, we don't update the user-space variable, but write into the already dead stack frame. Introduced by commit 04c227140fed77587432667a574b14736a06dd7f hrtimer: Rework hrtimer_nanosleep to make sys_compat_nanosleep easier Change the callers to pass "__user *rmtp" to hrtimer_nanosleep(), and change hrtimer_nanosleep() to use copy_to_user() to actually update *rmtp. Small problem remains. man 2 nanosleep states that *rtmp should be written if nanosleep() was interrupted (it says nothing whether it is OK to update *rmtp if nanosleep returns 0), but (with or without this patch) we can dirty *rem even if nanosleep() returns 0. NOTE: this patch doesn't change compat_sys_nanosleep(), because it has other bugs. Fixed by the next patch. Signed-off-by: Oleg Nesterov Cc: Alexey Dobriyan Cc: Michael Kerrisk Cc: Pavel Emelyanov Cc: Peter Zijlstra Cc: Toyo Abe Cc: Andrew Morton Signed-off-by: Thomas Gleixner include/linux/hrtimer.h | 2 - kernel/hrtimer.c | 51 +++++++++++++++++++++++++----------------------- kernel/posix-timers.c | 14 +------------ 3 files changed, 30 insertions(+), 37 deletions(-) commit e13a2e61dd5152f5499d2003470acf9c838eab84 Author: john stultz Date: Sun Feb 10 10:48:03 2008 +0100 ntp: correct inconsistent interval/tick_length usage clocksource initialization and error accumulation. This corrects a 280ppm drift seen on some systems using acpi_pm, and affects other clocksources as well (likely to a lesser degree). Signed-off-by: John Stultz Cc: Roman Zippel Cc: Steven Rostedt Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 25f666300625d894ebe04bac2b4b3aadb907c861 Merge: 0b6ca82... 2134745... Author: Linus Torvalds Date: Sun Feb 10 00:04:35 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (28 commits) [NET_SCHED] sch_htb: htb_requeue fix [IPV6]: Replace using the magic constant "1024" with IP6_RT_PRIO_USER for fc_metric. starfire: secton fix via-velocity: section fix natsemi: section fix typhoon: section fix isdn: fix section mismatch warning for ISACVer isdn: fix section mismatch warnings from hisax_cs_setup_card isdn: fix section mismatch warnings in isac.c and isar.c isdn: fix section mismatch warning in hfc_sx.c [PKT_SCHED] ematch: tcf_em_destroy robustness [PKT_SCHED]: deinline functions in meta match [SCTP]: Convert sctp_dbg_objcnt to seq files. [SCTP]: Use snmp_fold_field instead of a homebrew analogue. [IGMP]: Optimize kfree_skb in igmp_rcv. [KEY]: Convert net/pfkey to use seq files. [KEY]: Clean up proc files creation a bit. pppol2tp: fix printk warnings bnx2: section fix bnx2x: section fix ... commit 21347456abfbf5bc7fcace7327476736bbb28abe Author: Jarek Poplawski Date: Sat Feb 9 23:44:00 2008 -0800 [NET_SCHED] sch_htb: htb_requeue fix htb_requeue() enqueues skbs for which htb_classify() returns NULL. This is wrong because such skbs could be handled by NET_CLS_ACT code, and the decision could be different than earlier in htb_enqueue(). So htb_requeue() is changed to work and look more like htb_enqueue(). Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 238fc7eac8e74681da7a6cb6748afb5422afc1be Author: Rami Rosen Date: Sat Feb 9 23:43:11 2008 -0800 [IPV6]: Replace using the magic constant "1024" with IP6_RT_PRIO_USER for fc_metric. This patch replaces the explicit usage of the magic constant "1024" with IP6_RT_PRIO_USER in the IPV6 tree. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit da219b7c69bd5219fe63b1f2fc2c96eb7a21d2c6 Author: Andrew Morton Date: Sat Feb 9 23:42:17 2008 -0800 starfire: secton fix gcc-3.4.4 on powerpc: drivers/net/starfire.c:219: error: version causes a section type conflict Cc: Jeff Garzik Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 4f14b92f454150293d79031d210cc678329f3e02 Author: Andrew Morton Date: Sat Feb 9 23:41:40 2008 -0800 via-velocity: section fix From: Andrew Morton gcc-3.4.4 on powerpc: drivers/net/via-velocity.c:443: error: chip_info_table causes a section type conflict on this one I had to remove the __devinitdata too. Don't know why. Cc: Jeff Garzik Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit aa738adf89deede805d821feddd5b07999904ffd Author: Andrew Morton Date: Sat Feb 9 23:41:08 2008 -0800 natsemi: section fix gcc-3.4.4 on powerpc: drivers/net/natsemi.c:245: error: natsemi_pci_info causes a section type conflict Cc: Jeff Garzik Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 952b3494cf9d4ff7f48c13363393cab15cde056f Author: Andrew Morton Date: Sat Feb 9 23:40:34 2008 -0800 typhoon: section fix gcc-3.4.4 on powerpc: drivers/net/typhoon.c:137: error: version causes a section type conflict Cc: Jeff Garzik Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 0b6ca82af83a79f3d1001c8a0701ed34ac38126e Merge: bfc1de0... fac8493... Author: Linus Torvalds Date: Sat Feb 9 23:29:57 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 * git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: (32 commits) x86: cpa, strict range check in try_preserve_large_page() x86: cpa, enable CONFIG_DEBUG_PAGEALLOC on 64-bit x86: cpa, use page pool x86: introduce page pool in cpa x86: DEBUG_PAGEALLOC: enable after mem_init() brk: help text typo fix lguest: accept guest _PAGE_PWT page table entries x86 PM: update stale comments x86 PM: consolidate suspend and hibernation code x86 PM: rename 32-bit files in arch/x86/power x86 PM: move 64-bit hibernation files to arch/x86/power x86: trivial printk optimizations x86: fix early_ioremap pagetable ops x86: construct 32-bit boot time page tables in native format. x86, core: remove CONFIG_FORCED_INLINING x86: avoid unused variable warning in mm/init_64.c x86: fixup more paravirt fallout brk: document randomize_va_space and CONFIG_COMPAT_BRK (was Re: x86: fix sparse warnings in acpi/bus.c x86: fix sparse warning in topology.c ... commit f4e64333f829af6b2fe536b0f556d7a6b561c0ef Author: Sam Ravnborg Date: Sat Feb 9 23:29:28 2008 -0800 isdn: fix section mismatch warning for ISACVer Fix following warnings: WARNING: drivers/isdn/hisax/built-in.o(.text+0x19723): Section mismatch in reference from the function ISACVersion() to the variable .devinit.data:ISACVer WARNING: drivers/isdn/hisax/built-in.o(.text+0x2005b): Section mismatch in reference from the function setup_avm_a1_pcmcia() to the function .devinit.text:setup_isac() ISACVer were only used from function annotated __devinit so add same annotation to ISACVer. One af the fererencing functions missed __devinit so add it and kill an additional warning. Signed-off-by: Sam Ravnborg Acked-by: Karsten Keil Cc: Jeff Garzik Signed-off-by: David S. Miller commit 2fddb6e277ebdb9690c3c7aa0eead5c208701b71 Author: Sam Ravnborg Date: Sat Feb 9 23:28:50 2008 -0800 isdn: fix section mismatch warnings from hisax_cs_setup_card Fix the following warnings: WARNING: drivers/isdn/hisax/built-in.o(.text+0x722): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_teles3() WARNING: drivers/isdn/hisax/built-in.o(.text+0x72c): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_s0box() WARNING: drivers/isdn/hisax/built-in.o(.text+0x736): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_telespci() WARNING: drivers/isdn/hisax/built-in.o(.text+0x747): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_avm_pcipnp() WARNING: drivers/isdn/hisax/built-in.o(.text+0x74e): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_elsa() WARNING: drivers/isdn/hisax/built-in.o(.text+0x755): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_diva() WARNING: drivers/isdn/hisax/built-in.o(.text+0x75c): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_sedlbauer() WARNING: drivers/isdn/hisax/built-in.o(.text+0x763): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_netjet_s() WARNING: drivers/isdn/hisax/built-in.o(.text+0x76a): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_hfcpci() WARNING: drivers/isdn/hisax/built-in.o(.text+0x771): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_hfcsx() WARNING: drivers/isdn/hisax/built-in.o(.text+0x778): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_niccy() WARNING: drivers/isdn/hisax/built-in.o(.text+0x77f): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_bkm_a4t() WARNING: drivers/isdn/hisax/built-in.o(.text+0x786): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_sct_quadro() WARNING: drivers/isdn/hisax/built-in.o(.text+0x78d): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_gazel() WARNING: drivers/isdn/hisax/built-in.o(.text+0x794): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_w6692() WARNING: drivers/isdn/hisax/built-in.o(.text+0x79b): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_netjet_u() WARNING: drivers/isdn/hisax/built-in.o(.text+0x7a2): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_enternow_pci() checkcard() are the only user of hisax_cs_setup_card(). And checkcard is only used during init or when hot plugging ISDN devices. So annotate hisax_cs_setup_card() with __devinit. checkcard() is used by exported functions so it cannot be annotated __devinit. Annotate it with __ref so modpost ignore references to _devinit section. Signed-off-by: Sam Ravnborg Acked-by: Karsten Keil Cc: Jeff Garzik Signed-off-by: David S. Miller commit bfc1de0c40a26c6daa46c297e28138aecb4c5664 Merge: 1712a69... e88bb41... Author: Linus Torvalds Date: Sat Feb 9 23:28:26 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: (24 commits) [SPARC]: Add solaris/sunos binary support to feature removal schedule. [SPARC]: Merge asm-sparc{,64}/a.out.h [SPARC]: Merge asm-sparc{,64}/fb.h [SPARC]: Merge asm-sparc{,64}/errno.h [SPARC]: Merge asm-sparc{,64}/emergency-restart.h [SPARC]: Merge asm-sparc{,64}/div64.h [SPARC]: Merge asm-sparc{,64}/device.h [SPARC]: Merge asm-sparc{,64}/current.h [SPARC]: Merge asm-sparc{,64}/cputime.h [SPARC]: Merge asm-sparc{,64}/cache.h [SPARC]: Merge asm-sparc{,64}/byteorder.h [SPARC]: Merge asm-sparc{,64}/bugs.h [SPARC]: Merge asm-sparc{,64}/bug.h [SPARC]: Kill BSD errno translation table and header files. [SPARC]: Merge asm-sparc{,64}/bpp.h [SPARC]: Merge include/asm-sparc{,64}/auxvec.h [SPARC]: Merge include/asm-sparc{,64}/of_device.h [SPARC]: Merge include/asm-sparc{,64}/prom.h [SPARC]: Remove of_platform_device_create [SPARC64]: Add kretprobe support. ... commit d348c2a3c8ad0948592f9a1138170002497903e2 Author: Sam Ravnborg Date: Sat Feb 9 23:28:12 2008 -0800 isdn: fix section mismatch warnings in isac.c and isar.c Fix the following warnings: WARNING: drivers/isdn/hisax/built-in.o(.text+0x1b276): Section mismatch in reference from the function inithscxisac() to the function .devinit.text:clear_pending_isac_ints() WARNING: drivers/isdn/hisax/built-in.o(.text+0x1b286): Section mismatch in reference from the function inithscxisac() to the function .devinit.text:initisac() WARNING: drivers/isdn/hisax/built-in.o(.text+0x1fec7): Section mismatch in reference from the function AVM_card_msg() to the function .devinit.text:clear_pending_isac_ints() WARNING: drivers/isdn/hisax/built-in.o(.text+0x21669): Section mismatch in reference from the function AVM_card_msg() to the function .devinit.text:clear_pending_isac_ints() WARNING: drivers/isdn/hisax/built-in.o(.text+0x21671): Section mismatch in reference from the function AVM_card_msg() to the function .devinit.text:initisac() WARNING: drivers/isdn/hisax/built-in.o(.text+0x2991e): Section mismatch in reference from the function Sedl_card_msg() to the function .devinit.text:clear_pending_isac_ints() WARNING: drivers/isdn/hisax/built-in.o(.text+0x29936): Section mismatch in reference from the function Sedl_card_msg() to the function .devinit.text:initisac() WARNING: drivers/isdn/hisax/built-in.o(.text+0x2993e): Section mismatch in reference from the function Sedl_card_msg() to the function .devinit.text:initisar() WARNING: drivers/isdn/hisax/built-in.o(.text+0x2e026): Section mismatch in reference from the function NETjet_S_card_msg() to the function .devinit.text:clear_pending_isac_ints() WARNING: drivers/isdn/hisax/built-in.o(.text+0x2e02e): Section mismatch in reference from the function NETjet_S_card_msg() to the function .devinit.text:initisac() WARNING: drivers/isdn/hisax/built-in.o(.text+0x37813): Section mismatch in reference from the function BKM_card_msg() to the function .devinit.text:clear_pending_isac_ints() WARNING: drivers/isdn/hisax/built-in.o(.text+0x37823): Section mismatch in reference from the function BKM_card_msg() to the function .devinit.text:initisac() initisar(), initisac() and clear_pending_isac_ints() were all used via a cardmsg fnction - which may be called ouside __devinit context. So remove the bogus __devinit annotation of the above three functions to fix the warnings. Signed-off-by: Sam Ravnborg Acked-by: Karsten Keil Cc: Jeff Garzik Signed-off-by: David S. Miller commit 1712a699ab32d4952fe6b0f97af91b8230bece98 Merge: 95a940e... 469108f... Author: Linus Torvalds Date: Sat Feb 9 23:28:01 2008 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: ext4: Add new "development flag" to the ext4 filesystem ext4: Don't panic in case of corrupt bitmap ext4: allocate struct ext4_allocation_context from a kmem cache JBD2: Clear buffer_ordered flag for barried IO request on success ext4: Fix Direct I/O locking ext4: Fix circular locking dependency with migrate and rm. allow in-inode EAs on ext4 root inode ext4: Fix null bh pointer dereference in mballoc ext4: Don't set EXTENTS_FL flag for fast symlinks JBD2: Use the incompat macro for testing the incompat feature. jbd2: Fix reference counting on the journal commit block's buffer head [PATCH] jbd: Remove useless loop when writing commit record jbd2: Add error check to journal_wait_on_commit_record to avoid oops commit 7740ac6a7cf8158e828b4cbd4fc5226e53b5d9a2 Author: Sam Ravnborg Date: Sat Feb 9 23:27:41 2008 -0800 isdn: fix section mismatch warning in hfc_sx.c Fix the following warning: WARNING: drivers/isdn/hisax/built-in.o(.text+0x35818): Section mismatch in reference from the function hfcsx_card_msg() to the function .devinit.text:inithfcsx() hfcsx_card_msg() may be called outside __devinit context. Following the program logic is looks like the CARD_INIT branch will only be taken under __devinit context but to be consistent remove the __devinit annotation of inithfcsx() so we do not mix non-__devinit and __devinit code. Signed-off-by: Sam Ravnborg Acked-by: Karsten Keil Cc: Jeff Garzik Signed-off-by: David S. Miller commit 95a940e9e1d63c2bff170fcd59ab4e1b5c4c602d Author: S.Çağlar Onur Date: Sun Feb 10 05:27:23 2008 +0200 drivers/media/video/em28xx/: Fix undefined symbol error with CONFIG_SND=N Without this you get undefined symbol errors with CONFIG_SND=N: ERROR: "snd_pcm_period_elapsed" [drivers/media/video/em28xx/em28xx-alsa.ko] undefined! ERROR: "snd_pcm_hw_constraint_integer" [drivers/media/video/em28xx/em28xx-alsa.ko] undefined! ERROR: "snd_pcm_set_ops" [drivers/media/video/em28xx/em28xx-alsa.ko] undefined! ERROR: "snd_pcm_lib_ioctl" [drivers/media/video/em28xx/em28xx-alsa.ko] undefined! ERROR: "snd_card_new" [drivers/media/video/em28xx/em28xx-alsa.ko] undefined! ERROR: "snd_card_free" [drivers/media/video/em28xx/em28xx-alsa.ko] undefined! ERROR: "snd_card_register" [drivers/media/video/em28xx/em28xx-alsa.ko] undefined! ERROR: "snd_pcm_new" [drivers/media/video/em28xx/em28xx-alsa.ko] undefined! Signed-off-by: S.Çağlar Onur Signed-off-by: Linus Torvalds commit c1cb795338b17f12f3a966a74f199f640714a69d Author: S.Çağlar Onur Date: Sun Feb 10 05:19:03 2008 +0200 Update kernel/.gitignore with new auto-generated files Signed-off-by: S.Çağlar Onur Signed-off-by: Linus Torvalds commit 3b3563297341a7abd60566fce67c96a71e785200 Author: S.Çağlar Onur Date: Sun Feb 10 05:18:08 2008 +0200 Update arch/x86/boot/.gitignore with new auto-generated files Signed-off-by: S.Çağlar Onur Signed-off-by: Linus Torvalds commit 9820380a387b1135eace699270e795e3f51fc5dd Author: S.Çağlar Onur Date: Sun Feb 10 05:10:48 2008 +0200 rtc-r9701.c: silence compiler warning Commit 75b6102257874a4ea796af686de2f72cfa0452f9 ("rtc: add support for Epson RTC-9701JE V4") introduced the warning drivers/rtc/rtc-r9701.c: In function `r9701_get_datetime': drivers/rtc/rtc-r9701.c:74: warning: unused variable `time' Signed-off-by: S.Çağlar Onur Signed-off-by: Linus Torvalds commit 91a0736531c3c8a6ce49ac2a0dec0c83125936e1 Author: S.Çağlar Onur Date: Sun Feb 10 05:06:25 2008 +0200 x25_asy.c: silence compiler warning Commit 11b0cc3a4af65413ca3bb5698769e091486e0b22 ("x25_asy: Fix ref count rule violation") introduced the warning drivers/net/wan/x25_asy.c: In function `x25_asy_open_tty': drivers/net/wan/x25_asy.c:557: warning: unused variable `ld' Signed-off-by: S.Çağlar Onur Signed-off-by: Linus Torvalds commit 954415e33ed6cfa932c13e8c2460bd05e50723b5 Author: Stephen Hemminger Date: Sat Feb 9 23:26:53 2008 -0800 [PKT_SCHED] ematch: tcf_em_destroy robustness Make the code in tcf_em_tree_destroy more robust and cleaner: * Don't need to cast pointer to kfree() or avoid passing NULL. * After freeing the tree, clear the pointer to avoid possible problems from repeated free. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ed7af3b3501c8c4e3667c89c2c43347bf29ae237 Author: Stephen Hemminger Date: Sat Feb 9 23:26:17 2008 -0800 [PKT_SCHED]: deinline functions in meta match A couple of functions in meta match don't need to be inline. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8ff65b46031c47e476f70c5b82499b98e487a50c Author: Pavel Emelyanov Date: Sat Feb 9 23:24:58 2008 -0800 [SCTP]: Convert sctp_dbg_objcnt to seq files. This makes the code use a good proc API and the text ~50 bytes shorter. Signed-off-by: Pavel Emelyanov Acked-by: Vlad Yasevich Signed-off-by: David S. Miller commit 3f5340a67e75c6e34abbeafda98c85bff236109d Author: Pavel Emelyanov Date: Sat Feb 9 23:23:44 2008 -0800 [SCTP]: Use snmp_fold_field instead of a homebrew analogue. SCPT already depends in INET, so this doesn't create additional dependencies. Signed-off-by: Pavel Emelyanov Acked-by: Vlad Yasevich Signed-off-by: David S. Miller commit cd557bc1c15cbd20fbea47a150e1c7e56834e627 Author: Denis V. Lunev Date: Sat Feb 9 23:22:26 2008 -0800 [IGMP]: Optimize kfree_skb in igmp_rcv. Merge error paths inside igmp_rcv. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit bd2f747658b303d9b08d2c5bc815022d825a5e3c Author: Pavel Emelyanov Date: Sat Feb 9 23:20:06 2008 -0800 [KEY]: Convert net/pfkey to use seq files. The seq files API disposes the caller of the difficulty of checking file position, the length of data to produce and the size of provided buffer. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 61145aa1a12401ac71bcc450a58c773dd6e2bfb9 Author: Pavel Emelyanov Date: Sat Feb 9 23:19:14 2008 -0800 [KEY]: Clean up proc files creation a bit. Mainly this removes ifdef-s from inside the ipsec_pfkey_init. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 0efeaa335ce494680d1884f267eed7642dee3ca8 Author: Andrew Morton Date: Sat Feb 9 23:17:51 2008 -0800 pppol2tp: fix printk warnings drivers/net/pppol2tp.c: In function `pppol2tp_seq_tunnel_show': drivers/net/pppol2tp.c:2295: warning: long long unsigned int format, __u64 arg (arg 4) drivers/net/pppol2tp.c:2295: warning: long long unsigned int format, __u64 arg (arg 5) drivers/net/pppol2tp.c:2295: warning: long long unsigned int format, __u64 arg (arg 6) drivers/net/pppol2tp.c:2295: warning: long long unsigned int format, __u64 arg (arg 7) drivers/net/pppol2tp.c:2295: warning: long long unsigned int format, __u64 arg (arg 8) drivers/net/pppol2tp.c:2295: warning: long long unsigned int format, __u64 arg (arg 9) drivers/net/pppol2tp.c: In function `pppol2tp_seq_session_show': drivers/net/pppol2tp.c:2328: warning: long long unsigned int format, __u64 arg (arg 5) drivers/net/pppol2tp.c:2328: warning: long long unsigned int format, __u64 arg (arg 6) drivers/net/pppol2tp.c:2328: warning: long long unsigned int format, __u64 arg (arg 7) drivers/net/pppol2tp.c:2328: warning: long long unsigned int format, __u64 arg (arg 8) drivers/net/pppol2tp.c:2328: warning: long long unsigned int format, __u64 arg (arg 9) drivers/net/pppol2tp.c:2328: warning: long long unsigned int format, __u64 arg (arg 10) Not all platforms implement u64 with unsigned long long. eg: powerpc. Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit fefa864530766d8da2b8606235387c5173fb2309 Author: Andrew Morton Date: Sat Feb 9 23:17:15 2008 -0800 bnx2: section fix gcc-3.4.4 on powerpc: drivers/net/bnx2.c:67: error: version causes a section type conflict Cc: Jeff Garzik Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 53a10565be7e4e6bdac65c81630bb048d679999e Author: Andrew Morton Date: Sat Feb 9 23:16:41 2008 -0800 bnx2x: section fix From: Andrew Morton gcc-3.4.4 on powerpc: drivers/net/bnx2x.c:73: error: version causes a section type conflict Cc: Jeff Garzik Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit e88bb41595ad67a8e7d5dd8c7bbeea2e66cc0cac Author: David S. Miller Date: Sat Feb 9 23:08:53 2008 -0800 [SPARC]: Add solaris/sunos binary support to feature removal schedule. Signed-off-by: David S. Miller commit 344e53f562e21ab14734a482042713555a628d39 Author: David S. Miller Date: Sat Feb 9 22:25:50 2008 -0800 [SPARC]: Merge asm-sparc{,64}/a.out.h Signed-off-by: David S. Miller commit 469108ff3dcbc00313699d620c47f3ee1e7d19c6 Author: Theodore Tso Date: Sun Feb 10 01:11:44 2008 -0500 ext4: Add new "development flag" to the ext4 filesystem This flag is simply a generic "this is a crash/burn test filesystem" marker. If it is set, then filesystem code which is "in development" will be allowed to mount the filesystem. Filesystem code which is not considered ready for prime-time will check for this flag, and if it is not set, it will refuse to touch the filesystem. As we start rolling ext4 out to distro's like Fedora, et. al, this makes it less likely that a user might accidentally start using ext4 on a production filesystem; a bad thing, since that will essentially make it be unfsckable until e2fsprogs catches up. Signed-off-by: Theodore Tso Signed-off-by: Mingming Cao commit 26346ff681cb42c1436ed09c44dcae4809470dab Author: Aneesh Kumar K.V Date: Sun Feb 10 01:10:04 2008 -0500 ext4: Don't panic in case of corrupt bitmap Multiblock allocator calls BUG_ON in many case if the free and used blocks count obtained looking at the bitmap is different from what the allocator internally accounted for. Use ext4_error in such case and don't panic the system. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 256bdb497c6f562462f1e89fc8e1409f61ef40cb Author: Eric Sandeen Date: Sun Feb 10 01:13:33 2008 -0500 ext4: allocate struct ext4_allocation_context from a kmem cache struct ext4_allocation_context is rather large, and this bloats the stack of many functions which use it. Allocating it from a named slab cache will alleviate this. For example, with this change (on top of the noinline patch sent earlier): -ext4_mb_new_blocks 200 +ext4_mb_new_blocks 40 -ext4_mb_free_blocks 344 +ext4_mb_free_blocks 168 -ext4_mb_release_inode_pa 216 +ext4_mb_release_inode_pa 40 -ext4_mb_release_group_pa 192 +ext4_mb_release_group_pa 24 Most of these stack-allocated structs are actually used only for mballoc history; and in those cases often a smaller struct would do. So changing that may be another way around it, at least for those functions, if preferred. For now, in those cases where the ac is only for history, an allocation failure simply skips the history recording, and does not cause any other failures. Signed-off-by: Eric Sandeen Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit c4e35e07af162ea4d642b1c6ffacbb63c3ed1804 Author: Dave Kleikamp Date: Sun Feb 10 01:09:32 2008 -0500 JBD2: Clear buffer_ordered flag for barried IO request on success In JBD2 jbd2_journal_write_commit_record(), clear the buffer_ordered flag for the bh after barried IO has succeed. This prevents later, if the same buffer head were submitted to the underlying device, which has been reconfigured to not support barrier request, the JBD2 commit code could treat it as a normal IO (without barrier). This is a port from JBD/ext3 fix from Neil Brown. More details from Neil: Some devices - notably dm and md - can change their behaviour in response to BIO_RW_BARRIER requests. They might start out accepting such requests but on reconfiguration, they find out that they cannot any more. JBD2 deal with this by always testing if BIO_RW_BARRIER requests fail with EOPNOTSUPP, and retrying the write requests without the barrier (probably after waiting for any pending writes to complete). However there is a bug in the handling this in JBD2 for ext4 . When ext4/JBD2 to submit a BIO_RW_BARRIER request, it sets the buffer_ordered flag on the buffer head. If the request completes successfully, the flag STAYS SET. Other code might then write the same buffer_head after the device has been reconfigured to not accept barriers. This write will then fail, but the "other code" is not ready to handle EOPNOTSUPP errors and the error will be treated as fatal. Cc: Neil Brown Signed-off-by: Dave Kleikamp Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 7fb5409df092589b86cc9412d926879cb572b7f0 Author: Jan Kara Date: Sun Feb 10 01:08:38 2008 -0500 ext4: Fix Direct I/O locking We cannot start transaction in ext4_direct_IO() and just let it last during the whole write because dio_get_page() acquires mmap_sem which ranks above transaction start (e.g. because we have dependency chain mmap_sem->PageLock->journal_start, or because we update atime while holding mmap_sem) and thus deadlocks could happen. We solve the problem by starting a transaction separately for each ext4_get_block() call. We *could* have a problem that we allocate a block and before its data are written out the machine crashes and thus we expose stale data. But that does not happen because for hole-filling generic code falls back to buffered writes and for file extension, we add inode to orphan list and thus in case of crash, journal replay will truncate inode back to the original size. Signed-off-by: Jan Kara Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 8009f9fb3067fef6c2ca0c16f6bac786ae28639d Author: Aneesh Kumar K.V Date: Sun Feb 10 01:20:05 2008 -0500 ext4: Fix circular locking dependency with migrate and rm. In order to prevent a circular locking dependency when an unlink operation is racing with an ext4 migration, we delay taking i_data_sem until just before switch the inode format, and use i_mutex to prevent writes and truncates during the first part of the migration operation. Acked-by: Jan Kara Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit f9166e736e516a4b1de16577b5428afd0cffe325 Merge: 2ffd6e1... e27a93a... ee44391... Author: Russell King Date: Sat Feb 9 22:47:23 2008 +0000 Merge branches 'master', 'omap1-upstream' and 'orion' into devel * master: [ARM] constify function pointer tables [ARM] 4823/1: AT91 section fix [ARM] 4824/1: pxa: clear RDH bit after any reset [ARM] pxa: remove debugging PM: printk * omap1-upstream: ARM: OMAP1: Misc clean-up ARM: OMAP1: Update defconfigs for omap1 ARM: OMAP1: Palm Tungsten E board clean-up ARM: OMAP1: Use I2C bus registration helper for omap1 ARM: OMAP1: Remove omap_sram_idle() ARM: OMAP1: PM fixes for OMAP1 ARM: OMAP1: Use MMC multislot structures for Siemens SX1 board ARM: OMAP1: Make omap1 use MMC multislot structures ARM: OMAP1: Change the comments to C style ARM: OMAP1: Make omap1 boards to use omap_nand_platform_data ARM: OMAP: Add helper module for board specific I2C bus registration ARM: OMAP: Add dmtimer support for OMAP3 ARM: OMAP: Pre-3430 clean-up for dmtimer.c ARM: OMAP: Add DMA support for chaining and 3430 ARM: OMAP: Add 24xx GPIO debounce support ARM: OMAP: Get rid of unnecessary ifdefs in GPIO code ARM: OMAP: Add 3430 gpio support ARM: OMAP: Add 3430 CPU identification macros ARM: OMAP: Request DSP memory for McBSP * orion: [ARM] Orion: Use the sata_mv driver for the TS-209 SATA [ARM] Orion: Use the sata_mv driver for the Kurobox SATA [ARM] Orion: free up kernel virtual address space [ARM] Orion: distinguish between physical and virtual addresses [ARM] Orion: kill orion_early_putstr() [ARM] Orion: update defconfig [ARM] Orion: Use the sata_mv driver for the integrated SATA controller commit 2ffd6e182c4b9ae7bebc385c021e7d083bab406a Author: Jan Engelhardt Date: Tue Jan 22 20:41:07 2008 +0100 [ARM] constify function pointer tables Signed-off-by: Jan Engelhardt Signed-off-by: Russell King commit 72e7ae8141fa98084383e167b77d4497a59e3e10 Author: David Brownell Date: Wed Feb 6 22:03:42 2008 +0100 [ARM] 4823/1: AT91 section fix Fix section warning: WARNING: arch/arm/mach-at91/built-in.o(.text+0xd74): Section mismatch in reference from the function init_programmable_clock() to the function .init.text:at91_css_to_clk() The function init_programmable_clock() references the function __init at91_css_to_clk(). This is often because init_programmable_clock lacks a __init annotation or the annotation of at91_css_to_clk is wrong. In this case the only calls to and from init_programmable_clock() are from code marked as "__init", so this fix is trivially correct. Signed-off-by: David Brownell Acked-by: Uwe Kleine-Knig Signed-off-by: Russell King commit 86260f987319fb526e920fbe317933e5b3a0691e Author: Dmitry Krivoschekov Date: Fri Feb 8 15:02:03 2008 +0100 [ARM] 4824/1: pxa: clear RDH bit after any reset According to PXA300/310 and PXA320 Developer manuals, the ASCR[RDH] "bit needs to be cleared as part of the software initialization coming out of any reset and coming out of D3". The latter requirement is addressed by commit "c4d1fb627ff3072", as for the former (coming out of any reset), the kernel relies on boot loaders and assumes that RDH bit is cleared there. Though, not all bootloaders follow the rule so we have to clear the bit in kernel. We clear the RDH bit in pxa3xx_init() function since it is always invoked after any reset. We also preserve D1S, D2S and D3S bits from being cleared in case we invoke pxa3xx_init() function not from normal hardware reset (e.g. kexec scenario), so these bits can be properly referenced later. Signed-off-by: Dmitry Krivoschekov Signed-off-by: Russell King commit fac84939609a683503947f41eb93e1917d026263 Author: Thomas Gleixner Date: Sat Feb 9 23:24:09 2008 +0100 x86: cpa, strict range check in try_preserve_large_page() Right now, we check only the first 4k page for static required protections. This does not take overlapping regions into account. So we might end up setting the wrong permissions/protections for other parts of this large page. This can be optimized further, but correctness is the important part. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b1d95f4e41d6a5969e3a847ceeae8379f30c84c3 Author: Thomas Gleixner Date: Sat Feb 9 23:24:09 2008 +0100 x86: cpa, enable CONFIG_DEBUG_PAGEALLOC on 64-bit Now, that the page pool is in place we can enable DEBUG_PAGEALLOC on 64bit. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit eb5b5f024c40f02e9b0f3801173769a726f170fb Author: Thomas Gleixner Date: Sat Feb 9 23:24:09 2008 +0100 x86: cpa, use page pool Switch the split page code to use the page pool. We do this unconditionally to avoid different behaviour with and without DEBUG_PAGEALLOC enabled. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 76ebd0548df6ee48586e9b80d8fc2f58aa5fb51c Author: Thomas Gleixner Date: Sat Feb 9 23:24:09 2008 +0100 x86: introduce page pool in cpa DEBUG_PAGEALLOC was not possible on 64-bit due to its early-bootup hardcoded reliance on PSE pages, and the unrobustness of the runtime splitup of large pages. The splitup ended in recursive calls to alloc_pages() when a page for a pte split was requested. Avoid the recursion with a preallocated page pool, which is used to split up large mappings and gets refilled in the return path of kernel_map_pages after the split has been done. The size of the page pool is adjusted to the available memory. This part just implements the page pool and the initialization w/o using it yet. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit a03c2a48e02aacaaea211c94691b729be357e047 Author: Thomas Gleixner Date: Sat Feb 9 23:24:09 2008 +0100 x86: DEBUG_PAGEALLOC: enable after mem_init() DEBUG_PAGEALLOC must not be enabled before mem_init(). Before this point there is nothing to allocate. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 166124fde978b5a6c4412fb295c7f39711beb1b0 Author: Ingo Molnar Date: Sat Feb 9 23:24:09 2008 +0100 brk: help text typo fix Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 31f4b46ec6f889533c06537dea96bb0d20fa625b Author: Ahmed S. Darwish Date: Sat Feb 9 23:24:09 2008 +0100 lguest: accept guest _PAGE_PWT page table entries Beginning from commit 4138cc3418f5, ioremap_nocache() sets the _PAGE_PWT flag. Lguest doesn't accept a guest pte with a _PWT flag and reports a "bad page table entry" in that case. Accept guest _PAGE_PWT page table entries. Signed-off-by: Ahmed S. Darwish Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 261f0ce5ccdd17dc240d8453ca5ffc4688b92700 Author: Rafael J. Wysocki Date: Sat Feb 9 23:24:09 2008 +0100 x86 PM: update stale comments In some suspend and hibernation files in arch/x86/power there are comments referring to arch/x86-64 and arch/i386 . Update them to reflect the current code layout. Signed-off-by: Rafael J. Wysocki Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ef8b03fabfbab0738dacbb6c0c38d5af91759ca1 Author: Rafael J. Wysocki Date: Sat Feb 9 23:24:09 2008 +0100 x86 PM: consolidate suspend and hibernation code Move the hibernation-specific code from arch/x86/power/suspend_64.c to a separate file (hibernate_64.c) and the CPU-handling code to cpu_64.c (in line with the corresponding 32-bit code). Simplify arch/x86/power/Makefile . Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c57591244a08bb441c83472f5c110151bb7c2cc6 Author: Rafael J. Wysocki Date: Sat Feb 9 23:24:09 2008 +0100 x86 PM: rename 32-bit files in arch/x86/power Rename cpu.c, suspend.c and swsusp.S in arch/x86/power to cpu_32.c, hibernate_32.c and hibernate_asm_32.S, respectively, and update the purpose and copyright information in these files. Update the Makefile in arch/x86/power to reflect the above changes. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cf7700fe24301df2c8d3636cf40784651c098207 Author: Rafael J. Wysocki Date: Sat Feb 9 23:24:09 2008 +0100 x86 PM: move 64-bit hibernation files to arch/x86/power Move arch/x86/kernel/suspend_64.c to arch/x86/power . Move arch/x86/kernel/suspend_asm_64.S to arch/x86/power as hibernate_asm_64.S . Update purpose and copyright information in arch/x86/power/suspend_64.c and arch/x86/power/hibernate_asm_64.S . Update the Makefiles in arch/x86, arch/x86/kernel and arch/x86/power to reflect the above changes. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9b706aee7d92d6ac3002547aea12e3eaa0a750ae Author: Denys Vlasenko Date: Sat Feb 9 23:24:09 2008 +0100 x86: trivial printk optimizations In arch/x86/boot/printf.c gets rid of unused tail of digits: const char *digits = "0123456789abcdefghijklmnopqrstuvwxyz"; (we are using 0-9a-f only) Uses smaller/faster lowercasing (by ORing with 0x20) if we know that we work on numbers/digits. Makes strtoul smaller, and also we are getting rid of static const char small_digits[] = "0123456789abcdefx"; static const char large_digits[] = "0123456789ABCDEFX"; since this works equally well: static const char digits[16] = "0123456789ABCDEF"; Size savings: $ size vmlinux.org vmlinux text data bss dec hex filename 877320 112252 90112 1079684 107984 vmlinux.org 877048 112252 90112 1079412 107874 vmlinux It may be also a tiny bit faster because code has less branches now, but I doubt it is measurable. [ hugh@veritas.com: uppercase pointers fix ] Signed-off-by: Denys Vlasenko Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b6fbb669c8ef3a112121697ca901c290ccd35eb2 Author: Ian Campbell Date: Sat Feb 9 23:24:09 2008 +0100 x86: fix early_ioremap pagetable ops Some important parts of f6df72e71eba621b2f5c49b3a763116fac748f6e got dropped along the way, reintroduce them. Only affects paravirt guests. Signed-off-by: Ian Campbell Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 551889a6e2a24a9c06fd453ea03b57b7746ffdc0 Author: Ian Campbell Date: Sat Feb 9 23:24:09 2008 +0100 x86: construct 32-bit boot time page tables in native format. Specifically the boot time page tables in a CONFIG_X86_PAE=y enabled kernel are in PAE format. early_ioremap is updated to use the standard page table accessors. Clear any mappings beyond max_low_pfn from the boot page tables in native_pagetable_setup_start because the initial mappings can extend beyond the range of physical memory and into the vmalloc area. Derived from patches by Eric Biederman and H. Peter Anvin. [ jeremy@goop.org: PAE swapper_pg_dir needs to be page-sized fix ] Signed-off-by: Ian Campbell Cc: H. Peter Anvin Cc: Eric W. Biederman Cc: Andi Kleen Cc: Mika Penttilä Cc: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 185c045c245f46485ad8bbd8cc1100e986ff3f13 Author: Harvey Harrison Date: Sat Feb 9 23:24:09 2008 +0100 x86, core: remove CONFIG_FORCED_INLINING Other than the defconfigs, remove the entry in compiler-gcc4.h, Kconfig.debug and feature-removal-schedule.txt. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bfc734b24671b2639218ae2ef53af91dfd30b6c9 Author: Thomas Gleixner Date: Sat Feb 9 23:24:09 2008 +0100 x86: avoid unused variable warning in mm/init_64.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 3701d863b43d05ffeb223d269583398f914fb5d3 Author: Ingo Molnar Date: Sat Feb 9 23:24:08 2008 +0100 x86: fixup more paravirt fallout Use a common irq_return entry point for all the iret places, which need the paravirt INTERRUPT return wrapper. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1ec7fd50ba4f845d1cf6b67acabd774577ef13b6 Author: Jiri Kosina Date: Sat Feb 9 23:24:08 2008 +0100 brk: document randomize_va_space and CONFIG_COMPAT_BRK (was Re: Document randomize_va_space and CONFIG_COMPAT_BRK. Signed-off-by: Jiri Kosina Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6697c05296fab4d113c7144459b72b6172b485a5 Author: Harvey Harrison Date: Sat Feb 9 23:24:08 2008 +0100 x86: fix sparse warnings in acpi/bus.c Add function definition and extern variables to asm-x86/acpi.h. All of these are used in bus.c in ifdef(CONFIG_X86) sections, so are only added to the x86 include headers. boot.c already includes acpi.h so no changes are needed there. Fixes the following: arch/x86/kernel/acpi/boot.c:83:4: warning: symbol 'acpi_sci_flags' was not declared. Should it be static? arch/x86/kernel/acpi/boot.c:84:5: warning: symbol 'acpi_sci_override_gsi' was not declared. Should it be static? arch/x86/kernel/acpi/boot.c:421:13: warning: symbol 'acpi_pic_sci_set_trigger' was not declared. Should it be static? Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9583d050d5b7bad76423b2bd667b174a122067a7 Author: Harvey Harrison Date: Sat Feb 9 23:24:08 2008 +0100 x86: fix sparse warning in topology.c arch/x86/kernel/topology.c:56:2: warning: returning void-valued expression Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit da7bfc50f5cb54aeee8147dca0c1de9d487cb5e0 Author: Harvey Harrison Date: Sat Feb 9 23:24:08 2008 +0100 x86: sparse warnings in pageattr.c Adjust the definition of lookup_address to take an unsigned long level argument. Adjust callers in xen/mmu.c that pass in a dummy variable. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7c36752a6be84892afb085c67fd4209e686db482 Author: Harvey Harrison Date: Sat Feb 9 23:24:08 2008 +0100 x86: sparse warning in therm_throt.c arch/x86/kernel/cpu/mcheck/therm_throt.c:121:2: warning: returning void-valued expression Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 88a5ac89667d22e1471ba1f45ea635df1f7da06f Author: Harvey Harrison Date: Sat Feb 9 23:24:08 2008 +0100 x86: fix sparse warning in xen/time.c Use xen_khz to denote xen_specific clock speed. Avoid shadowing cpu_khz. arch/x86/xen/time.c:220:6: warning: symbol 'cpu_khz' shadows an earlier one include/asm/tsc.h:17:21: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3406c158ba8e83defb178e867919e24e110a59bf Author: Arnd Hannemann Date: Sat Feb 9 23:24:08 2008 +0100 x86: GEODE: MFGPT: fix typo in printk in mfgpt_timer_setup Signed-off-by: Arnd Hannemann Signed-off-by: Andres Salomon Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit dcee77be2f0a7010633fb2c025db38550c4b0e72 Author: Jordan Crouse Date: Sat Feb 9 23:24:08 2008 +0100 x86: GEODE: make sure the right MFGPT timer fired the timer tick Each AMD Geode MFGPT timer interrupt output is paired with another timer; esentially the interrupt goes if either timer fires. This is okay, but the handlers need to be aware of this. Make sure in the timer tick handler that our timer really did expire. Signed-off-by: Jordan Crouse Signed-off-by: Andres Salomon Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f54ae69bafa16434ce46bc2f1fe556bce4d23650 Author: Andres Salomon Date: Sat Feb 9 23:24:08 2008 +0100 x86: GEODE: MFGPT: fix a potential race when disabling a timer We *really* don't want to be reading MFGPTx_SETUP and writing back those values. What we want to be doing is clearing CMP1 and CMP2 unconditionally; otherwise, we have races where CMP1 and/or CMP2 fire after we've read MFGPTx_SETUP. They can also fire between when we've written ~CNTEN to the register, and when the new register values get copied to the timer's version of the register. By clearing both fields, we're okay. Signed-off-by: Andres Salomon Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f087515c658a68454d43909d482ea4b59e7d6d5c Author: Jordan Crouse Date: Sat Feb 9 23:24:08 2008 +0100 x86: GEODE: MFGPT: Use "just-in-time" detection for the MFGPT timers There isn't much value to always detecting the MFGPT timers on Geode platforms; detection is only needed when something wants to use the timers. Move the detection code so that it gets called the first time a timer is allocated. Signed-off-by: Jordan Crouse Signed-off-by: Andres Salomon Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b0e6bf2571e9385335e6337bdedb85cb629ab3fb Author: Andres Salomon Date: Sat Feb 9 23:24:08 2008 +0100 x86: GEODE: MFGPT: make mfgpt_timer_setup available outside of mfgpt_32.c We need to be called from elsewhere, and this gets some #ifdefs out of the .c file. Signed-off-by: Andres Salomon Signed-off-by: Jordan Crouse Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9501b2efd70ad3957a70d44de54dab7c52f9b882 Author: Andres Salomon Date: Sat Feb 9 23:24:08 2008 +0100 x86: GEODE: MFGPT: replace 'flags' field with 'avail' bit Drop F_AVAIL and the 'flags' field, replacing with an 'avail' bit. This looks more understandable to me. Signed-off-by: Andres Salomon Signed-off-by: Jordan Crouse Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fa28e067c3b8af96c79c060e163b1387c172ae75 Author: Andres Salomon Date: Sat Feb 9 23:24:08 2008 +0100 x86: GEODE: MFGPT: drop module owner usage from MFGPT API We had planned to use the 'owner' field for allowing re-allocation of MFGPTs; however, doing it by module owner name isn't flexible enough. So, drop this for now. If it turns out that we need timers in modules, we'll need to come up with a scheme that matches the write-once fields of the MFGPTx_SETUP register, and drops ponies from the sky. Signed-off-by: Andres Salomon Signed-off-by: Jordan Crouse Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 36445cf30686b9ea4ddf71f28057e4dd07db0e2d Author: Willy Tarreau Date: Sat Feb 9 23:24:08 2008 +0100 x86: GEODE fix MFGPT input clock value The GEODE MFGPT code assumed that 32kHz was 32000 Hz while the boards run on a 32.768 kHz digital watch crystal. In practise, it will not change the timer's frequency as the skew was only 2.4%, but it should provide more accurate intervals. Signed-off-by: Willy Tarreau Signed-off-by: Andres Salomon Signed-off-by: Jordan Crouse Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e78a77c38cf0ce3b8169ff6a6fd3711e81dc22c8 Author: Andres Salomon Date: Sat Feb 9 23:24:08 2008 +0100 x86: GEODE: MFGPT: Minor cleanups - uninline timer functions; the compiler knows better than we do whether or not to inline these. - mfgpt_start_timer() had an unused 'clock' argument, drop it. From both Jordan and myself. Signed-off-by: Jordan Crouse Signed-off-by: Andres Salomon Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f13fd3cc9147801bdf56f5964c58c9838a74dd47 Author: Russell King Date: Thu Feb 7 20:17:53 2008 +0000 [ARM] pxa: remove debugging PM: printk Signed-off-by: Russell King commit 531021f2ca681faf58f926771f85bb5c76f13eba Merge: 451688b... 6252d70... Author: Linus Torvalds Date: Sat Feb 9 11:15:23 2008 -0800 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [S390] dynamic page tables. [S390] Add four level page tables for CONFIG_64BIT=y. [S390] 1K/2K page table pages. [S390] Remove a.out header file. [S390] sclp_vt220: Fix vt220 initialization [S390] qdio: avoid hang when establishing qdio queues [S390] VMEM_MAX_PHYS overflow on 31 bit. [S390] zcrypt: Do not start ap poll thread per default [S390] Fix __ffs_word_loop/__ffz_word_loop inlnie assembly. [S390] Wire up new timerfd syscalls. [S390] Update default configuration. commit 451688ba0b488faf274e13dc591734b1e695642c Merge: acac103... ed2c9fa... Author: Linus Torvalds Date: Sat Feb 9 11:14:20 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: Kbuild: Fix deb-pkg target to work with kernel versions ending with - ide: introduce HAVE_IDE kbuild: silence CHK/UPD messages according to $(quiet) scsi: fix makefile for aic7(3*x) kbuild/modpost: Use warn() for announcing section mismatches Add binoffset to gitignore kbuild/modpost: improve warnings if symbol is unknown commit acac103e2d00c9bc7507838319c71a0f5dc50678 Merge: 5b39dba... a52500c... Author: Linus Torvalds Date: Sat Feb 9 11:12:31 2008 -0800 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: Merge branches 'release' and 'buildfix' into release acer-wmi - Add documentation sonypi - Move sonypi.txt to Documentation/laptops sony-laptop - Move sony-laptop.txt to Documentation/laptops thinkpad-acpi - Move thinkpad-acpi.txt to Documentation/laptops Documentation - Create laptops sub-directory ACPI: thermal: buildfix for CONFIG_THERMAL=n cpuidle: build fix for non-x86 acer-wmi: Fix backlight on AMW0 (V1) laptops tc1100-wmi: Mark as experimental ACPI: SBS: Host controller must initialize before SBS. commit 5b39dba5029108800b94a5f4f96e3a05417103ac Merge: 11eb3b0... 882c491... Author: Linus Torvalds Date: Sat Feb 9 11:12:15 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: mmc: extend ricoh_mmc to support Ricoh RL5c476 at91_mci: use generic GPIO calls sdhci: add num index for multi controllers case MAINTAINERS: remove non-existant URLs mmc: remove sdhci and mmc_spi experimental markers mmc: Handle suspend/resume in Ricoh MMC disabler commit 11eb3b0da3f8e4b9a6da6aba510471918239153d Merge: baf8532... 641f436... Author: Linus Torvalds Date: Sat Feb 9 11:11:45 2008 -0800 Merge git://git.infradead.org/mtd-2.6 * git://git.infradead.org/mtd-2.6: [MTD] [NAND] cs553x_nand: command line partitioning support commit baf8532a147d5b76681ce040e2c8f25a3f0e718d Author: Alex Dubov Date: Sat Feb 9 10:20:54 2008 -0800 memstick: initial commit for Sony MemoryStick support Sony MemoryStick cards are used in many products manufactured by Sony. They are available both as storage and as IO expansion cards. Currently, only MemoryStick Pro storage cards are supported via TI FlashMedia MemoryStick interface. [mboton@gmail.com: biuld fix] [akpm@linux-foundation.org: build fix] Signed-off-by: Alex Dubov Signed-off-by: Miguel Boton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 941edd030b9725f9f85bd62dfdb68cde3a50fb66 Author: Martin Schwidefsky Date: Sat Feb 9 03:11:21 2008 -0800 m68knommu: add pgtable_t CC init/main.o In file included from include2/asm/uaccess.h:8, from include/linux/poll.h:13, from include/linux/rtc.h:113, from include/linux/efi.h:19, from linux-2.6/init/main.c:43: include/linux/mm.h:1151: error: expected declaration specifiers or '...' before 'pgtable_t' Signed-off-by: Martin Schwidefsky Reported-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 257ce734736118282afdeaac5112dbf5bb1949f9 Author: Martin Schwidefsky Date: Sat Feb 9 03:13:00 2008 -0800 Add pgtable_t to remaining nommu architectures The pte_fn_t in include/linux/mm.h make it necessary for all architectures to define a pgtable_t type, even those that do not have an mmu. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 541645be8bbb67d39113096263dcf00615d789e3 Author: Pete Zaitcev Date: Sat Feb 9 00:10:17 2008 -0800 ub: fix up the conversion to sg_init_table() Signed-off-by: Pete Zaitcev Cc: "Oliver Pinter" Cc: FUJITA Tomonori Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f6a4c8bdb30370991905941ddf85d28dde7370b1 Author: Christoph Hellwig Date: Sat Feb 9 00:10:16 2008 -0800 fix up kerneldoc in fs/ioctl.c a little bit - remove non-standard in/out markers - use tabs for formatting Signed-off-by: Christoph Hellwig Cc: "Randy.Dunlap" Cc: Erez Zadok Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 60c12b1202a60eabb1c61317e5d2678fcea9893f Author: David Rientjes Date: Sat Feb 9 00:10:15 2008 -0800 memcontrol: add vm_match_cgroup() mm_cgroup() is exclusively used to test whether an mm's mem_cgroup pointer is pointing to a specific cgroup. Instead of returning the pointer, we can just do the test itself in a new macro: vm_match_cgroup(mm, cgroup) returns non-zero if the mm's mem_cgroup points to cgroup. Otherwise it returns zero. Signed-off-by: David Rientjes Cc: Balbir Singh Cc: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6966a97753854c8b5336cf3997d5d1d205d91b12 Author: Jiri Kosina Date: Sat Feb 9 00:10:14 2008 -0800 UML: fix hostfs build /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/hostfs/hostfs_kern.c: In function 'hostfs_show_options': /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/hostfs/hostfs_kern.c:328: error: dereferencing pointer to incomplete type We need to include mount.h to get vfsmount. Signed-off-by: Jiri Kosina Reported-by: Adrian Bunk Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 880cdf3a8122288d37829ce01eadf8822bb386db Author: Matt Mackall Date: Sat Feb 9 00:10:12 2008 -0800 Fix compile error on nommu for is_swap_pte CC mm/vmscan.o In file included from /home/bunk/linux/kernel-2.6/git/linux-2.6/mm/vmscan.c:44: /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/swapops.h: In function 'is_swap_pte': /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/swapops.h:48: error: implicit declaration of function 'pte_none' /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/swapops.h:48: error: implicit declaration of function 'pte_present' Does it ever make sense to ask "is this pte a swap entry?" on a machine with no MMU? Presumably this also means it has no ptes too, right? In which case, it's better to comment the whole function out. Then when someone tries to ask the above meaningless question, they get a compile error rather than a meaningless answer. Signed-off-by: Matt Mackall Cc: Mike Frysinger Reported-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6252d702c5311ce916caf75ed82e5c8245171c92 Author: Martin Schwidefsky Date: Sat Feb 9 18:24:37 2008 +0100 [S390] dynamic page tables. Add support for different number of page table levels dependent on the highest address used for a process. This will cause a 31 bit process to use a two level page table instead of the four level page table that is the default after the pud has been introduced. Likewise a normal 64 bit process will use three levels instead of four. Only if a process runs out of the 4 tera bytes which can be addressed with a three level page table the fourth level is dynamically added. Then the process can use up to 8 peta byte. Signed-off-by: Martin Schwidefsky commit 5a216a20837c5f5fa1ca4b8ae8991ffd96b08e6f Author: Martin Schwidefsky Date: Sat Feb 9 18:24:36 2008 +0100 [S390] Add four level page tables for CONFIG_64BIT=y. Signed-off-by: Martin Schwidefsky commit 146e4b3c8b92071b18f0b2e6f47165bad4f9e825 Author: Martin Schwidefsky Date: Sat Feb 9 18:24:35 2008 +0100 [S390] 1K/2K page table pages. This patch implements 1K/2K page table pages for s390. Signed-off-by: Martin Schwidefsky commit 0c1f1dcd8c7792aeff6ef62e9508b0041928ab87 Author: Martin Schwidefsky Date: Sat Feb 9 18:24:34 2008 +0100 [S390] Remove a.out header file. Signed-off-by: Martin Schwidefsky commit 59eb1ca7a8906412478656ba79261036261f4b76 Author: Christian Borntraeger Date: Sat Feb 9 18:24:33 2008 +0100 [S390] sclp_vt220: Fix vt220 initialization There are two problems in the vt220 intialization: o Currently the vt220 console looses early printk events until the the vt220 tty is registered. o console should work if tty_register fails sclp_vt220_con_init calls __sclp_vt220_init and register_console. It does not register the driver with the sclp core code via sclp_register. That results in an sclp_send_mask=0. Therefore, __sclp_vt220_emit will reject buffers with EIO. Unfortunately register_console will cause the printk buffer to be sent to the console and, therefore, every early message gets dropped. The sclp_send_mask is set later during boot, when sclp_vt220_tty_init calls sclp_register. The solution is to move the sclp_register call from sclp_vt220_tty_init to __sclp_vt220_init. This makes sure that the console is properly registered with the sclp subsystem before the first log buffer messages are passed to the vt220 console. We also adopt the cleanup on error to keep the console alive if tty_register fails. Thanks to Peter Oberparleiter and Heiko Carstens for review and ideas for improvement. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit bf3f837804997e5f5d9888051e9e5356961af0f2 Author: Ursula Braun Date: Sat Feb 9 18:24:32 2008 +0100 [S390] qdio: avoid hang when establishing qdio queues If qdio establish runs in parallel with a channel error, ccw_device_start_timeout may not trigger the qdio_timeout_handler. In this case neither QDIO_IRQ_STATE_ESTABLISHED nor QDIO_IRQ_STATE_ERR is reached and the following wait_event hangs forever. Solution: do not make use of the timeout option with ccw_device_start, but add a timeout to the following wait_event. Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky commit 522d8dc08b16deb51c128d544ab1cb9c621c950e Author: Martin Schwidefsky Date: Sat Feb 9 18:24:31 2008 +0100 [S390] VMEM_MAX_PHYS overflow on 31 bit. With the new space saving spinlock_t and a non-debug configuration the struct page only has 32 bytes for 31 bit s390. The causes an overflow in the calculation of VMEM_MAX_PHYS which renders the kernel unbootable. Signed-off-by: Martin Schwidefsky commit b90b34c6802865d07f482650eff82a4b38df6d79 Author: Felix Beck Date: Sat Feb 9 18:24:30 2008 +0100 [S390] zcrypt: Do not start ap poll thread per default Do not start ap poll thread per default to increase perfomance with z/VM. Signed-off-by: Felix Beck Signed-off-by: Martin Schwidefsky commit 6d88f827d7c3e73d11a62fdabccca001aece7295 Author: Martin Schwidefsky Date: Sat Feb 9 18:24:29 2008 +0100 [S390] Fix __ffs_word_loop/__ffz_word_loop inlnie assembly. The black art of inline assemblies.. The new __ffs_word_loop/ __ffz_word_loop inline assemblies need an early clobber for the two input/output variables. Signed-off-by: Martin Schwidefsky commit 1ee92a1c79b4a44586490a52132d105972374223 Author: Heiko Carstens Date: Sat Feb 9 18:24:28 2008 +0100 [S390] Wire up new timerfd syscalls. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 4e5f24a8fa075c251a1ca762eaf210332266e60a Author: Martin Schwidefsky Date: Sat Feb 9 18:24:27 2008 +0100 [S390] Update default configuration. Signed-off-by: Martin Schwidefsky commit 9f747d6c4724dd3afa7d3525f6dd5300fc1633c5 Author: David S. Miller Date: Fri Nov 16 03:26:41 2007 -0800 [SPARC]: Merge asm-sparc{,64}/fb.h Signed-off-by: David S. Miller commit 3cfe17fdf192bc8f69305d56a09a4cbb1edc57b8 Author: David S. Miller Date: Fri Nov 16 03:24:23 2007 -0800 [SPARC]: Merge asm-sparc{,64}/errno.h Signed-off-by: David S. Miller commit f11fa82708df824612929d3290ce29d8b3c368fc Author: David S. Miller Date: Fri Nov 16 03:21:15 2007 -0800 [SPARC]: Merge asm-sparc{,64}/emergency-restart.h Signed-off-by: David S. Miller commit 4b9b77916fc11f03321079063a6fe2b3733559bb Author: David S. Miller Date: Fri Nov 16 03:16:00 2007 -0800 [SPARC]: Merge asm-sparc{,64}/div64.h Signed-off-by: David S. Miller commit 04c3ddf965ab46f7e24c2399dc85deca2f08ef5b Author: David S. Miller Date: Fri Nov 16 03:15:05 2007 -0800 [SPARC]: Merge asm-sparc{,64}/device.h Signed-off-by: David S. Miller commit ba89f59ab825d4c9dee652ce0ca53e033a05d5ec Author: David S. Miller Date: Fri Nov 16 03:12:56 2007 -0800 [SPARC]: Merge asm-sparc{,64}/current.h Signed-off-by: David S. Miller commit cec6dc5d732c649e5f477c21c93d99eb25edae1e Author: David S. Miller Date: Fri Nov 16 03:08:39 2007 -0800 [SPARC]: Merge asm-sparc{,64}/cputime.h Signed-off-by: David S. Miller commit d113fcd9cf807045e38998a60b4f4577c927c300 Author: David S. Miller Date: Fri Nov 16 03:06:07 2007 -0800 [SPARC]: Merge asm-sparc{,64}/cache.h Signed-off-by: David S. Miller commit f610bbc6accaacdf46501208178ff77c4422587a Author: David S. Miller Date: Fri Nov 16 02:59:58 2007 -0800 [SPARC]: Merge asm-sparc{,64}/byteorder.h Signed-off-by: David S. Miller commit 145dea009828df7b091e7f7f24497ceb12dbbb3d Author: David S. Miller Date: Fri Nov 16 02:57:01 2007 -0800 [SPARC]: Merge asm-sparc{,64}/bugs.h Signed-off-by: David S. Miller commit e10195c232d426b5e960038e10b0df8f75d86309 Author: David S. Miller Date: Fri Nov 16 02:53:50 2007 -0800 [SPARC]: Merge asm-sparc{,64}/bug.h Note that because of minimum compiler version enforcement in linux/compiler.h these days the check for sparc32 buggy __builtin_trap() can be safely removed. Signed-off-by: David S. Miller commit c79ca3f841aeb31aeadd6348f132780b6f658c22 Author: David S. Miller Date: Fri Nov 16 02:49:00 2007 -0800 [SPARC]: Kill BSD errno translation table and header files. Completely unused. Signed-off-by: David S. Miller commit ff99b923e6317f8b600620ffb936b13130266d99 Author: David S. Miller Date: Fri Nov 16 02:45:01 2007 -0800 [SPARC]: Merge asm-sparc{,64}/bpp.h Signed-off-by: David S. Miller commit 9ab8273606f1767c8ea900ac299cb42457b00323 Author: David S. Miller Date: Fri Nov 16 02:42:29 2007 -0800 [SPARC]: Merge include/asm-sparc{,64}/auxvec.h Signed-off-by: David S. Miller commit 75b2a0254da8f51c39593ab5841ba53766316730 Author: David S. Miller Date: Fri Nov 16 00:55:52 2007 -0800 [SPARC]: Merge include/asm-sparc{,64}/of_device.h Signed-off-by: David S. Miller commit 97b4872c8db766b37c9b75095e386da7c4eb967d Author: David S. Miller Date: Fri Nov 16 00:54:35 2007 -0800 [SPARC]: Merge include/asm-sparc{,64}/prom.h Signed-off-by: David S. Miller commit 7b98ac24ef7df87010000aa4b15a640c15a9eca5 Author: Stephen Rothwell Date: Thu Jan 17 01:18:43 2008 -0800 [SPARC]: Remove of_platform_device_create There are no callers of this on the Sparc platforms. Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit 268bcca1e7b0d244afd07ea89cda672e61b0fc4a Author: Stephen Hemminger Date: Sat Feb 9 03:47:19 2008 -0800 [PKT_SCHED] ematch: oops from uninitialized variable (resend) Setting up a meta match causes a kernel OOPS because of uninitialized elements in tree. [ 37.322381] BUG: unable to handle kernel NULL pointer dereference at 0000000000000000 [ 37.322381] IP: [] :em_meta:em_meta_destroy+0x17/0x80 [ 37.322381] Call Trace: [ 37.322381] [] tcf_em_tree_destroy+0x2d/0xa0 [ 37.322381] [] tcf_em_tree_validate+0x2dc/0x4a0 [ 37.322381] [] nla_parse+0x92/0xe0 [ 37.322381] [] :cls_basic:basic_change+0x202/0x3c0 [ 37.322381] [] kmem_cache_alloc+0x67/0xa0 [ 37.322381] [] tc_ctl_tfilter+0x3b1/0x580 [ 37.322381] [] rtnetlink_rcv_msg+0x0/0x260 [ 37.322381] [] netlink_rcv_skb+0x74/0xa0 [ 37.322381] [] rtnetlink_rcv+0x18/0x20 [ 37.322381] [] netlink_unicast+0x263/0x290 [ 37.322381] [] __alloc_skb+0x96/0x160 [ 37.322381] [] netlink_sendmsg+0x274/0x340 [ 37.322381] [] sock_sendmsg+0x12b/0x140 [ 37.322381] [] autoremove_wake_function+0x0/0x30 [ 37.322381] [] autoremove_wake_function+0x0/0x30 [ 37.322381] [] sock_sendmsg+0x12b/0x140 [ 37.322381] [] zone_statistics+0xb1/0xc0 [ 37.322381] [] sys_sendmsg+0x20e/0x360 [ 37.322381] [] sockfd_lookup_light+0x41/0x80 [ 37.322381] [] handle_mm_fault+0x3eb/0x7f0 [ 37.322381] [] system_call_after_swapgs+0x7b/0x80 Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ab1ecbabb1c7b1599b1eb70c291407c557ea4ef3 Merge: b1d0e4f... 5f9646c... Author: David S. Miller Date: Sat Feb 9 03:44:25 2008 -0800 Merge branch 'pending' of master.kernel.org:/pub/scm/linux/kernel/git/vxy/lksctp-dev commit d38f1220666a2bd89c4f62d286723a3417b34b9e Author: David S. Miller Date: Sat Feb 9 03:40:55 2008 -0800 [SPARC64]: Add kretprobe support. Passes the smoke tests at least, powerpc implementation was used as a guide. Signed-off-by: David S. Miller commit 13fa14e185614066d96f90f09da08eebe58cbc8f Author: David S. Miller Date: Sat Feb 9 03:11:01 2008 -0800 [SPARC64]: Add SG merging support back into IOMMU code. Mimicks almost perfectly the powerpc IOMMU code, except that it doesn't have the IOMMU_PAGE_SIZE != PAGE_SIZE handling, and it also lacks the device dma mask support bits. I'll add that later as time permits, but this gets us at least back to where we were beforehand. Signed-off-by: David S. Miller commit d284142cbad66832d5072a0aebeca7bd9ca841b7 Author: David S. Miller Date: Fri Feb 8 18:05:46 2008 -0800 [SPARC64]: IOMMU allocations using iommu-helper layer. Signed-off-by: David S. Miller commit 19814ea24e9d80583504e336340ab4590841b0b1 Author: David S. Miller Date: Fri Feb 8 02:09:40 2008 -0800 [SPARC64]: iommu_common.h tidy ups... Add missing multiple-include guards and update copyright. Signed-off-by: David S. Miller commit 0507468a8055fc9a51b40a59e6b4eb6081f23aad Author: David S. Miller Date: Fri Feb 8 02:02:39 2008 -0800 [SPARC64]: Remove unused declarations from iommu_common.h Signed-off-by: David S. Miller commit ed2c9fa53b7a3e240a64e6e97494d72d0f80eed0 Author: Michal Sojka Date: Thu Feb 7 17:18:51 2008 +0100 Kbuild: Fix deb-pkg target to work with kernel versions ending with - If CONIFIG_LOCALVERSION is set for example to -loop, the following error message was generated. dpkg-deb - error: Debian revision (`loop') doesn't contain any digits dpkg-deb: 1 errors in control file The patch solves this by adding a numeric revision to package version. Signed-off-by: Michal Sojka Signed-off-by: Sam Ravnborg commit ec7748b59e214e2c6b7d21ca5f26a760fd6e142b Author: Sam Ravnborg Date: Sat Feb 9 10:46:40 2008 +0100 ide: introduce HAVE_IDE To allow flexible configuration of IDE introduce HAVE_IDE. All archs except arm, um and s390 unconditionally select it. For arm the actual configuration determine if IDE is supported. This is a step towards introducing drivers/Kconfig for arm. Signed-off-by: Sam Ravnborg Acked-by: Russell King - ARM Linux Acked-by: Bartlomiej Zolnierkiewicz commit d75f4c683f817ef61c9ae634886e7ebc3133c002 Author: Mike Frysinger Date: Fri Feb 8 00:05:52 2008 -0500 kbuild: silence CHK/UPD messages according to $(quiet) Signed-off-by: Mike Frysinger Signed-off-by: Sam Ravnborg commit a3eadd7cb00f39f6fd4bbaf414dfde547b8c0899 Author: Sam Ravnborg Date: Wed Feb 6 23:05:33 2008 +0100 scsi: fix makefile for aic7(3*x) Fix bug introduced by my latest fix to the aic7xxx Makefile. Test build on x86 32 and 64 bit. Without and with -j (parallel build) Building firmaware is br0ken with O=... but this is unrelated to this bug-fix. Tested-by: Adrian Bunk Cc: James Bottomley Signed-off-by: Sam Ravnborg commit 7c0ac495e30b2b9becb79be2ff87642ed8ad8f0c Author: Geert Uytterhoeven Date: Tue Feb 5 11:38:49 2008 +0100 kbuild/modpost: Use warn() for announcing section mismatches modpost: Use warn() for announcing section mismatches, for easy grepping for warnings in build logs. Also change an existing call from fprintf() to warn() while we're at it. Signed-off-by: Geert Uytterhoeven Signed-off-by: Sam Ravnborg commit ff739b611f41a93338855c064959404f3b7c9bab Author: Uwe Kleine-König Date: Tue Feb 5 11:44:52 2008 +0100 Add binoffset to gitignore Signed-off-by: Uwe Kleine-König Signed-off-by: Sam Ravnborg commit f666751a0ab1d1671855da7e98889256b9a5b1bb Author: Sam Ravnborg Date: Wed Feb 6 21:51:18 2008 +0100 kbuild/modpost: improve warnings if symbol is unknown If we cannot determine the symbol then print (unknown) to hint the reader that we failed to find the symbol. This happens with REL relocation records in arm object files. Signed-off-by: Sam Ravnborg commit a52500c917ead55dd78d9f37b8ca993f4f79f72a Merge: d47b180... 4609d02... 16111c7... Author: Len Brown Date: Sat Feb 9 04:32:55 2008 -0500 Merge branches 'release', 'wmi' and 'laptop-docs' into release commit d47b180c26c22d78c2428117abb7e6beba00b7ef Merge: 249d621... bbafbec... Author: Len Brown Date: Sat Feb 9 04:32:47 2008 -0500 Merge branches 'release' and 'bugzilla-9910' into release commit 249d621a85668b3b09296fbcfcf1cb5e9372a5ea Author: Len Brown Date: Sat Feb 9 04:32:40 2008 -0500 Merge branches 'release' and 'buildfix' into release commit 16111c797990f4fab571f6e982390cb842d16bf0 Author: Carlos Corbacho Date: Sat Feb 9 01:32:25 2008 +0000 acer-wmi - Add documentation Add some initial documentation detailing what acer-wmi is, and how to use it. Update the Kconfig entry with a reference to the documentation. Signed-off-by: Carlos Corbacho Signed-off-by: Randy Dunlap Signed-off-by: Len Brown commit 018a651a9c4e3fba623b735593fb39869a69c2f7 Author: Carlos Corbacho Date: Sat Feb 9 01:32:19 2008 +0000 sonypi - Move sonypi.txt to Documentation/laptops Also update references to sonypi.txt in Kconfig. Signed-off-by: Carlos Corbacho Signed-off-by: Randy Dunlap CC: Mattia Dongili Signed-off-by: Len Brown commit f04b7c402ba587a299e62907a457013914dec477 Author: Carlos Corbacho Date: Sat Feb 9 01:32:14 2008 +0000 sony-laptop - Move sony-laptop.txt to Documentation/laptops Also update references to sony-laptop.txt in Kconfig. Signed-off-by: Carlos Corbacho Signed-off-by: Randy Dunlap CC: Mattia Dongili Signed-off-by: Len Brown commit f191dc6b55cf92eb8e1f48b41533ecf4d6161569 Author: Carlos Corbacho Date: Sat Feb 9 01:32:09 2008 +0000 thinkpad-acpi - Move thinkpad-acpi.txt to Documentation/laptops Also update references to thinkpad-acpi.txt in Kconfig. Signed-off-by: Carlos Corbacho Signed-off-by: Randy Dunlap CC: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit d6ff3655773a1810b15da942c40478bf5217e390 Author: Carlos Corbacho Date: Sat Feb 9 01:32:03 2008 +0000 Documentation - Create laptops sub-directory There are currently various laptop drivers floating about with no central place for their documentation, which is currently scattered around the top level Documentation/ directory. So, as a first step, lets create a Documentation sub-directory, and update the relevant index files. The work of then moving the existing laptop driver related documentation will then be handled later. Signed-off-by: Carlos Corbacho Signed-off-by: Randy Dunlap CC: Henrique de Moraes Holschuh CC: Mattia Dongili Signed-off-by: Len Brown commit a0dd25b2c83de4623487ca4de9c1d962b552ca0f Author: Len Brown Date: Sat Feb 9 04:01:48 2008 -0500 ACPI: thermal: buildfix for CONFIG_THERMAL=n This fixes the build, but acpi_fan_add() still needs to be updated to handle thermal_cooling_device_register() returning NULL as a non-fatal condition. Signed-off-by: Len Brown commit a6869cc4cfd633d909918f1489a6a8ac668cd6aa Author: Venki Pallipadi Date: Fri Feb 8 17:05:44 2008 -0800 cpuidle: build fix for non-x86 The last posted version of this patch gave compile error on IA64. So, here goes yet another rewrite of the patch. Convert cpu_idle_wait() to cpuidle_kick_cpus() which is SMP-only, and gives error on non supported CPU. Changes from last patch sent by Kevin: Moved the definition of kick_cpus back to cpuidle.c from cpuidle.h: * Having it in .h gives #error on archs which includes the header file without actually having CPU_IDLE configured. To make it work in .h, we need one more #ifdef around that code which makes it messy. * Also, the function is only called from one file. So, it can be in declared statically in .c rather than making it available to everyone who includes the .h file. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Kevin Hilman Signed-off-by: Len Brown commit 4609d029aa8a2c7e0ad71e329c6e3493e1e95040 Author: Carlos Corbacho Date: Fri Feb 8 23:51:49 2008 +0000 acer-wmi: Fix backlight on AMW0 (V1) laptops There is some leftover cruft from the old quirk infrastructure that causes us to be unable to set the backlight on older laptops. Signed-off-by: Carlos Corbacho Signed-off-by: Len Brown commit b01368291926b30abc702dee35c688408b54d422 Author: Carlos Corbacho Date: Fri Feb 8 23:51:43 2008 +0000 tc1100-wmi: Mark as experimental tc1100-wmi has not undergone as much testing as acer-wmi, so it certainly should be marked as experimental as well until we get more user feedback. Signed-off-by: Carlos Corbacho Signed-off-by: Len Brown commit bbafbecb24190959d77a8fee7bd23798b81e25c2 Author: Alexey Starikovskiy Date: Sat Feb 9 03:22:13 2008 -0500 ACPI: SBS: Host controller must initialize before SBS. In static case sbshc must be compiled ahead of sbs, so that hc is configured first. http://bugzilla.kernel.org/show_bug.cgi?id=9910 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 641f43669fa28ca795ac4e9b3ec78643a007ee20 Author: Mart Raudsepp Date: Sat Feb 9 08:16:36 2008 +0000 [MTD] [NAND] cs553x_nand: command line partitioning support Implements kernel command line partitioning support for the CS5535/CS5536 chipsets driver. For that the following is done: * cs553x_cleanup(): try the cleanup for all chip selects to not leak memory * Assign a unique name for each chip select to be separately addressable in the command line mtd-id portion(s) * Use the already defined PIN_OPT_IDE constant where appropriate for readability * Include command line partitioning support when CONFIG_MTD_PARTS is set Signed-off-by: Mart Raudsepp Signed-off-by: David Woodhouse commit b1d0e4f535e10775cffde922208b49629169aeaa Author: Nick Piggin Date: Sat Feb 9 01:15:19 2008 +0100 mm: special mapping nopage Convert special mapping install from nopage to fault. Because the "vm_file" is NULL for the special mapping, the generic VM code has messed up "vm_pgoff" thinking that it's an anonymous mapping and the offset does't matter. For that reason, we need to undo the vm_pgoff offset that got added into vmf->pgoff. [ We _really_ should clean that up - either by making this whole special mapping code just use a real file entry rather than that ugly array of "struct page" pointers, or by just making the VM code realize that even if vm_file is NULL it may not be a regular anonymous mmap. - Linus ] Signed-off-by: Nick Piggin Cc: linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Linus Torvalds commit 6a306e8b4c81a1c1f538e390d92bfe80d04b254c Merge: 3bf8f5a... 785285f... Author: Linus Torvalds Date: Fri Feb 8 15:40:28 2008 -0800 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] Fix large MCA bootmem allocation [IA64] Simplify cpu_idle_wait [IA64] Synchronize RBS on PTRACE_ATTACH [IA64] Synchronize kernel RSE to user-space and back [IA64] Rename TIF_PERFMON_WORK back to TIF_NOTIFY_RESUME [IA64] Wire up timerfd_{create,settime,gettime} syscalls commit 3bf8f5a92cd4b04e3f1e162a1b4b99759a882b5d Author: Ingo Molnar Date: Sat Feb 9 00:15:06 2008 +0100 x86: fix pgtable_t build breakage Commit 2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4 ("CONFIG_HIGHPTE vs. sub-page page tables") caused some build breakage due to pgtable_t only getting declared in the CONFIG_X86_PAE case. Move the declaration outside the PAE section. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit f0e2dcffae8701f00b34bce90e762eb798dea5b1 Merge: 04a94ba... 5128bdc... Author: Linus Torvalds Date: Fri Feb 8 15:34:26 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/core: Remove unused struct ib_device.flags member IB/core: Add IP checksum offload support IPoIB: Add send gather support IPoIB: Add high DMA feature flag IB/mlx4: Use multiple WQ blocks to post smaller send WQEs mlx4_core: Clean up struct mlx4_buf mlx4_core: For 64-bit systems, vmap() kernel queue buffers IB/mlx4: Consolidate code to get an entry from a struct mlx4_buf commit 04a94babd68952a4e3cdd54ebf8ce8891f9b0f2e Merge: 765cdb6... 920e526... Author: Linus Torvalds Date: Fri Feb 8 15:33:45 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: (24 commits) [Blackfin] arch: import defines for BF547 -- it is just like the BF548, but no CAN [Blackfin] arch: fix build fails only include header files when enabled [Blackfin] arch: declare default INSTALL_PATH for Blackfin ports [Blackfin] arch: Encourage users to use the spidev character driver: Provide platform support [Blackfin] arch: Enable UART2 and UART3 for bf548 [Blackfin] arch: Enable NET2272 on BF561-EZkit - remove request_mem_region [Blackfin] arch:Fix BUG [#3876] pfbutton test for BTN3 on bf533 don't show complete info [Blackfin] arch: remove duplicated definitions of the line discipline numbers N_* in asm-blackfin/termios.h [Blackfin] arch: fix building with mtd uclinux by putting the mtd_phys option into the function it actually gets used in [Blackfin] arch: simpler header and update dates [Blackfin] arch: move the init sections to the end of memory [Blackfin] arch: change the trace buffer control start/stop logic in the exception handlers [Blackfin] arch: fix typo in printk message [Blackfin] arch: this is an ezkit, not a stamp, so fixup the init function name [Blackfin] arch: add slightly better help text for CPLB_INFO [Blackfin] arch: Fix BUG - Enable ISP1362 driver to work ok with BF561 [Blackfin] arch: Fix header file information [Blackfin] arch: Add Support for ISP1362 [Blackfin] arch: add support for cmdline partitioning to the BF533-STAMP flash map driver and enable it as a module by default [Blackfin] arch: hook up set_irq_wake in Blackfin's irq code ... commit 765cdb6cef63c0b41c3f6c9285769080b3f41bb0 Author: Kay Sievers Date: Fri Feb 8 15:00:49 2008 -0800 DCA: convert struct class_device to struct device. Thanks to Kay for keeping us honest. Signed-off-by: Kay Sievers Signed-off-by: Shannon Nelson Cc: "Williams, Dan J" Acked-by: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11b0cc3a4af65413ca3bb5698769e091486e0b22 Author: Alan Cox Date: Fri Feb 8 15:00:48 2008 -0800 x25_asy: Fix ref count rule violation x25_asy does not take an ldisc reference before calling the flush method. Fix it to use the helper function we provide. Signed-off-by: Alan Cox Cc: Krzysztof Halasa Cc: "David S. Miller" Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4600ecfcf3ad160ac0c6fcff6115f6edb081ccfa Author: Guennadi Liakhovetski Date: Fri Feb 8 15:00:47 2008 -0800 lib/scatterlist.o needed by a module only - link it in unconditionally lib/scatterlist.c is needed by drivers/media/video/videobuf-dma-sg.c, and we would like to be able to use the latter without PCI too, for example, on PXA270 ARM CPU. It is then possible to create a configuration with CONFIG_BLOCK=n, where only module code will need scatterlist.c. Therefore it must be in obj-y. Signed-off-by: Guennadi Liakhovetski Acked-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a984a85050e320993f87ba47a22973f32853206 Author: Adrian Bunk Date: Fri Feb 8 15:00:46 2008 -0800 fix xtensa timerfd breakage In file included from /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/xtensa/kernel/syscall.c:39: include2/asm/unistd.h:681: error: 'sys_timerfd' undeclared here (not in a function) Signed-off-by: Adrian Bunk Cc: Christian Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6784fd5931a58559673f500a333030ceaadb69bb Author: Mathieu Desnoyers Date: Fri Feb 8 15:00:45 2008 -0800 Fix FRV cmpxchg_local Fix the FRV cmpxchg_local by breaking the following header dependency loop : linux/kernel.h -> linux/bitops.h -> asm-frv/bitops.h -> asm-frv/atomic.h -> asm-frv/system.h -> asm-generic/cmpxchg_local.h -> typecheck() defined in linux/kernel.h and linux/kernel.h -> linux/bitops.h -> asm-frv/bitops.h -> asm-frv/atomic.h -> asm-generic/cmpxchg_local.h -> typecheck() defined in linux/kernel.h In order to fix this : - Move the atomic_test_and_ *_mask inlines from asm-frv/atomic.h (why are they there at all anyway ? They are not touching atomic_t variables!) to asm-frv/bitops.h. Also fix a build issue with cmpxchg : it does not cast to (unsigned long *) like other architectures, to deal with it in the cmpxchg_local macro. FRV builds fine with this patch. Thanks to Adrian Bunk for spotting this bug. Signed-off-by: Mathieu Desnoyers Cc: Adrian Bunk Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b55fcb22d445a7460cbbc138ceae096d5617715a Author: Andrew Morton Date: Fri Feb 8 15:00:43 2008 -0800 revert "proc: fix the threaded proc self" Revert commit c6caeb7c4544608e8ae62731334661fc396c7f85 ("proc: fix the threaded /proc/self"), since Eric says "The patch really is wrong. There is at least one corner case in procps that cares." Cc: Eric W. Biederman Cc: Ingo Molnar Cc: "Guillaume Chazarain" Cc: "Pavel Emelyanov" Cc: "Rafael J. Wysocki" Cc: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5128bdc97a1018aacac2550cf73bda61041cc3b8 Author: Roland Dreier Date: Fri Feb 8 14:47:26 2008 -0800 IB/core: Remove unused struct ib_device.flags member Avoid confusion about what it might mean, since it's never initialized. Signed-off-by: Roland Dreier commit e0605d9199b462454f2f2e5ca01810255a6d5cfa Author: Eli Cohen Date: Wed Jan 30 18:30:57 2008 +0200 IB/core: Add IP checksum offload support Add a device capability to show when it can handle checksum offload. Also add a send flag for inserting checksums and a csum_ok field to the completion record. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 7143740d26098aca84ecc7376ccfe2c58fd0412e Author: Eli Cohen Date: Wed Jan 30 18:30:53 2008 +0200 IPoIB: Add send gather support This patch acts as a preparation for using checksum offload for IB devices capable of inserting/verifying checksum in IP packets. The patch does not actaully turn on NETIF_F_SG - we defer that to the patches adding checksum offload capabilities. We only add support for send gathers for datagram mode, since existing HW does not support checksum offload on connected QPs. Signed-off-by: Michael S. Tsirkin Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit eb14032f9eb595621270f3269f40094adb3144e8 Author: Eli Cohen Date: Wed Jan 30 18:30:46 2008 +0200 IPoIB: Add high DMA feature flag All current InfiniBand devices can handle all DMA addresses, and it's hard to imagine anyone would be silly enough to build a new device that couldn't. Therefore, enable the NETIF_F_HIGHDMA feature for IPoIB. This has no effect for no, but is needed when we enable gather/scatter support and checksum stateless offloads. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit ea54b10c7773007e173da31fe7adcc049da33331 Author: Jack Morgenstein Date: Mon Jan 28 10:40:59 2008 +0200 IB/mlx4: Use multiple WQ blocks to post smaller send WQEs ConnectX HCA supports shrinking WQEs, so that a single work request can be made of multiple units of wqe_shift. This way, WRs can differ in size, and do not have to be a power of 2 in size, saving memory and speeding up send WR posting. Unfortunately, if we do this then the wqe_index field in CQEs can't be used to look up the WR ID anymore, so our implementation does this only if selective signaling is off. Further, on 32-bit platforms, we can't use vmap() to make the QP buffer virtually contigious. Thus we have to use constant-sized WRs to make sure a WR is always fully within a single page-sized chunk. Finally, we use WRs with the NOP opcode to avoid wrapping around the queue buffer in the middle of posting a WR, and we set the NoErrorCompletion bit to avoid getting completions with error for NOP WRs. However, NEC is only supported starting with firmware 2.2.232, so we use constant-sized WRs for older firmware. And, since MLX QPs only support SEND, we use constant-sized WRs in this case. When stamping during NOP posting, do stamping following setting of the NOP WQE valid bit. Signed-off-by: Michael S. Tsirkin Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 785285fc8bc7f846ab68a063a8bf5a009d67725d Author: Russ Anderson Date: Tue Feb 5 17:12:32 2008 -0600 [IA64] Fix large MCA bootmem allocation The MCA code allocates bootmem memory for NR_CPUS, regardless of how many cpus the system actually has. This change allocates memory only for cpus that actually exist. On my test system with NR_CPUS = 1024, reserved memory was reduced by 130944k. Before: Memory: 27886976k/28111168k available (8282k code, 242304k reserved, 5928k data, 1792k init) After: Memory: 28017920k/28111168k available (8282k code, 111360k reserved, 5928k data, 1792k init) Signed-off-by: Russ Anderson Signed-off-by: Tony Luck commit 427639354ff346710012b53e1ceed5e3f3200e0c Author: Tony Luck Date: Fri Feb 8 11:53:09 2008 -0800 [IA64] Simplify cpu_idle_wait This is just Venki's patch[*] for x86 ported to ia64. * http://marc.info/?l=linux-kernel&m=120249201318159&w=2 Acked-by: Venkatesh Pallipadi Signed-off-by: Tony Luck commit aa91a2e90044b88228bdb0620e771f2ea7798804 Author: Petr Tesarik Date: Wed Dec 12 15:24:25 2007 +0100 [IA64] Synchronize RBS on PTRACE_ATTACH When attaching to a stopped process, the RSE must be explicitly synced to user-space, so the debugger can read the correct values. Signed-off-by: Petr Tesarik CC: Roland McGrath Signed-off-by: Tony Luck commit 3b2ce0b17824c42bc2e46f7dd903b4acf5e9fff9 Author: Petr Tesarik Date: Wed Dec 12 15:23:34 2007 +0100 [IA64] Synchronize kernel RSE to user-space and back This is base kernel patch for ptrace RSE bug. It's basically a backport from the utrace RSE patch I sent out several weeks ago. please review. when a thread is stopped (ptraced), debugger might change thread's user stack (change memory directly), and we must avoid the RSE stored in kernel to override user stack (user space's RSE is newer than kernel's in the case). To workaround the issue, we copy kernel RSE to user RSE before the task is stopped, so user RSE has updated data. we then copy user RSE to kernel after the task is resummed from traced stop and kernel will use the newer RSE to return to user. Signed-off-by: Shaohua Li Signed-off-by: Petr Tesarik CC: Roland McGrath Signed-off-by: Tony Luck commit 5aa92ffda1b6244b4a248df0b95c07d183ab96d2 Author: Petr Tesarik Date: Wed Dec 12 15:21:16 2007 +0100 [IA64] Rename TIF_PERFMON_WORK back to TIF_NOTIFY_RESUME Since the RSE synchronization will need a TIF_ flag, but all work-to-be-done bits are already used, so we have to multiplex TIF_NOTIFY_RESUME again. Signed-off-by: Shaohua Li Signed-off-by: Petr Tesarik Signed-off-by: Tony Luck commit ad9e39c70f46c5e17b1ed5912e8693454fec1455 Author: Tony Luck Date: Wed Feb 6 13:57:46 2008 -0800 [IA64] Wire up timerfd_{create,settime,gettime} syscalls Add ia64 hooks for the new syscalls that were added in commit 4d672e7ac79b5ec5cdc90e450823441e20464691 Signed-off-by: Tony Luck commit e27a93a944a5ba6a0112750c8243abba86d56e94 Author: Tony Lindgren Date: Tue Dec 18 20:58:32 2007 -0800 ARM: OMAP1: Misc clean-up This patch cleans up omap1 files to sync up with linux-omap tree: - Remove omap-generic MMC config as it should be defined in board-*.c files instead of using board-generic.c - New style I2C board_info from David Brownell - Init section fixes from Dirk Behme Signed-off-by: Tony Lindgren commit 80dbfde54bfc40c1e39ace7dbb371f095e74665f Author: Tony Lindgren Date: Tue Dec 18 21:15:53 2007 -0800 ARM: OMAP1: Update defconfigs for omap1 Update defconfigs for omap1 Signed-off-by: Tony Lindgren commit d7730cc01f703b1e3c43127bd38fb042c0efdb71 Author: Andrzej Zaborowski Date: Thu Dec 7 17:13:51 2006 -0800 ARM: OMAP1: Palm Tungsten E board clean-up Mostly gpio clean-up. Signed-off-by: Andrzej Zaborowski Signed-off-by: Tony Lindgren commit 1ed16a86b47fd7dd9125fc8f6df482cc6edc9b20 Author: Jarkko Nikula Date: Wed Nov 7 06:54:32 2007 +0200 ARM: OMAP1: Use I2C bus registration helper for omap1 This patch starts using introduced I2C bus registration helper by cleaning up registration currently done in various places and by doing necessary board file modifications. Signed-off-by: Jarkko Nikula Acked-by: David Brownell Signed-off-by: Tony Lindgren commit feb72f3b313e1f068b707773e9231af4f87d9580 Author: Vivek Kutal Date: Mon Dec 17 01:56:33 2007 -0800 ARM: OMAP1: Remove omap_sram_idle() This patch removes omap_sram_idle() that is no longer used. The function called in pm_idle is omap_sram_suspend, omap_sram_idle() is not used anywhere in omap1. Signed-off-by: Vivek Kutal Signed-off-by: Tony Lindgren commit 010bb0cf42fe2fa0a00753e0c11a3e8bfefb37a3 Author: Vivek Kutal Date: Tue Dec 11 21:46:31 2007 +0530 ARM: OMAP1: PM fixes for OMAP1 This patch does the following: - Fixes the omap_pm_idle() code so that we enter WFI mode in idle. - /sys/power/sleep_while_idle is created only when 32k timer is used Signed-off-by: Vivek Kutal Signed-off-by: Tony Lindgren commit 087c50302fbd608118e7c0f27a95dc552ad2f53b Author: Carlos Eduardo Aguiar Date: Fri Nov 30 01:52:53 2007 -0400 ARM: OMAP1: Use MMC multislot structures for Siemens SX1 board Use MMC multislot structures for Siemens SX1 board Signed-off-by: Carlos Eduardo Aguiar Signed-off-by: Tony Lindgren commit 138ab9f8321f67c71984ca43222efa71b0a0a0a9 Author: Felipe Balbi Date: Tue Nov 27 00:01:45 2007 -0400 ARM: OMAP1: Make omap1 use MMC multislot structures Make omap1 use new MMC multislot structures. The related MMC patches will be sent separately. Signed-off-by: Felipe Balbi Signed-off-by: Anderson Briglia Signed-off-by: Carlos Eduardo Aguiar Signed-off-by: David Cohen Signed-off-by: Eduardo Valentin Signed-off-by: Tony Lindgren commit 6e2d4107245cc0411959e91d7a1613e15097f117 Author: David Cohen Date: Thu Dec 13 22:27:15 2007 -0400 ARM: OMAP1: Change the comments to C style Change the comments to C style Signed-off-by: David Cohen Signed-off-by: Tony Lindgren commit 78be63252bc9065dd0a12c106135655b7d4db1ec Author: Tony Lindgren Date: Tue Dec 11 13:50:17 2007 -0800 ARM: OMAP1: Make omap1 boards to use omap_nand_platform_data This patch adds omap_nand_platform data based on a patch by Shahrom Sharif-Kashani , and makes omap1 boards to use omap_nand_platform_data instead of nand_platform_data used earlier. Signed-off-by: Tony Lindgren commit 85d05fb3fde692fdaa6b1f84c33fee718abebf0f Author: Jarkko Nikula Date: Wed Nov 7 06:54:31 2007 +0200 ARM: OMAP: Add helper module for board specific I2C bus registration This helper module simplifies I2C bus registration for different OMAP platforms by doing registration in one place only and to allow board specific bus configuration like clock rate and number of busses configured. Helper should cover OMAP processors from first to third generation. This patch just adds the feature and current implementation cleanup and board file modifications will be done in following patches. Signed-off-by: Jarkko Nikula Acked-by: David Brownell Signed-off-by: Tony Lindgren commit ce2df9ca41997f38cdfb9bee0db08763487222ae Author: Syed Mohammed, Khasim Date: Mon Jun 25 22:55:39 2007 -0700 ARM: OMAP: Add dmtimer support for OMAP3 Add DM timer support for OMAP3. Fixed source clocks for 3430 by Paul Walmsley . Signed-off-by: Syed Mohammed Khasim Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 471b3aa70c2ba00e1a8c8399f848cbc04fd0beae Author: Syed Mohammed, Khasim Date: Thu Jun 21 21:48:07 2007 -0700 ARM: OMAP: Pre-3430 clean-up for dmtimer.c Cleanup DM timer list for OMAP2 and OMAP1 to allow adding support for 3430. Signed-off-by: Syed Mohammed Khasim Signed-off-by: Tony Lindgren commit f8151e5c327bfc41f0993a45fb61ea121bebfee4 Author: Anand Gadiyar Date: Sat Dec 1 12:14:11 2007 -0800 ARM: OMAP: Add DMA support for chaining and 3430 Add DMA support for chaining and 3430. Also remove old DEBUG_PRINTS as noted by Russell King. Signed-off-by: Anand Gadiyar Signed-off-by: Tony Lindgren commit 5eb3bb9c0d123ad84ed5127fbc62731896d87181 Author: Kevin Hilman Date: Sat May 5 11:40:29 2007 -0700 ARM: OMAP: Add 24xx GPIO debounce support Add 24xx GPIO debounce support. Also minor formatting clean-up. Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit d11ac9791b87efb24506b6391a965b789385157c Author: Tony Lindgren Date: Sat Jan 12 15:35:04 2008 -0800 ARM: OMAP: Get rid of unnecessary ifdefs in GPIO code Just use cpu_is_omapXXXX() instead. This does not increase object size. Signed-off-by: Tony Lindgren commit 5492fb1a46ada0d1e89eb580c2a56db8924e3141 Author: Syed Mohammed, Khasim Date: Thu Nov 29 16:15:11 2007 -0800 ARM: OMAP: Add 3430 gpio support This patch adds 3430 gpio support. It also contains a fix by Paul Walmsley to use the correct clock names for OMAP3430. Signed-off-by: Syed Mohammed Khasim Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 2c17f61599987ca7c54c2fef57de3bb8c32e3599 Author: Syed Mohammed Khasim Date: Tue Dec 4 15:38:13 2007 -0800 ARM: OMAP: Add 3430 CPU identification macros This patch adds omap3430 CPU identification macros. Silicon revision check macros added by Girish S G . CPU identification macro and silicon revision check macros cleaned up by Paul Walmsley . Signed-off-by: Syed Mohammed Khasim Signed-off-by: Girish S G Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 1cccd2a728673da00a05fe19c5ba4897257d6b8a Author: Tony Lindgren Date: Thu Nov 29 15:38:16 2007 -0800 ARM: OMAP: Request DSP memory for McBSP On OMAP1 some McBSP features depend on DSP. Also export polling functions as suggested by Luis Cargnini. Signed-off-by: Tony Lindgren commit ee44391eae5d1fabd6eacf89b3bb2e3fbc315e7d Author: Byron Bradley Date: Fri Feb 8 18:20:23 2008 +0000 [ARM] Orion: Use the sata_mv driver for the TS-209 SATA The TS-209 has a two port integrated SATA controller. Use the sata_mv driver for this. Signed-off-by: Byron Bradley Signed-off-by: Nicolas Pitre commit 3b277c2965b0c707b76f89368ebe6e6da6605c23 Author: Byron Bradley Date: Fri Feb 8 18:20:01 2008 +0000 [ARM] Orion: Use the sata_mv driver for the Kurobox SATA The Kurobox has a two port integrated SATA controller. Use the sata_mv driver for this. Signed-off-by: Byron Bradley Signed-off-by: Nicolas Pitre commit 920e526f93009a81e09809edb7a755a5b22e907d Author: Mike Frysinger Date: Sat Feb 9 02:07:08 2008 +0800 [Blackfin] arch: import defines for BF547 -- it is just like the BF548, but no CAN Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 0cf975e16927fd70f34cee20d3856246c13bb4c8 Merge: 03054de... bc10ac3... Author: Linus Torvalds Date: Fri Feb 8 10:01:28 2008 -0800 Merge branch 'cris' of git://www.jni.nu/cris * 'cris' of git://www.jni.nu/cris: (158 commits) CRIS v32: Remove hwregs/timer_defs.h, it is now architecture specific. CRIS v32: Change drivers/i2c.c locking. CRIS v32: Rewrite ARTPEC-3 gpio driver to avoid volatiles and general cleanup. CRIS: Add new timerfd syscall entries. MAINTAINERS: Add my information for the CRIS port. CRIS v32: Correct spelling of bandwidth in function name. CRIS v32: Clean up nandflash.c for ARTPEC-3 and ETRAX FS. CRIS v10: Cleanup of drivers/gpio.c CRIS v10: drivers/net/cris/eth_v10.c rename LED defines to CRIS_LED to avoid name clash. CRIS: Make io_pwm_set_period members unsigned in etraxgpio.h CRIS: Move ETRAX_AXISFLASHMAP to common Kconfig file. CRIS: Drop regs parameter from call to profile_tick in kernel/time.c CRIS v32: Fix minor formatting issue in mach-a3/io.c CRIS v32: Initialize GIO even if we're rambooting in kernel/head.S CRIS v32: Remove kernel/arbiter.c, it now exists in machine dependent directory. CRIS v32: Minor changes to avoid errors in asm-cris/arch-v32/hwregs/reg_rdwr.h CRIS v32: arch-v32/hwregs/intr_vect_defs.h moved to machine dependent directory. CRIS v32: Correct offset for TASK_pid in asm-cris/arch-v32/offset.h CRIS v32: Move register map header to machine dependent directory. CRIS v32: Let compiler know that memory is clobbered after a break op. ... commit 67f2d33ec011621d1be6f0b17b8226c0eb3c3746 Author: Mike Frysinger Date: Sat Feb 9 01:49:23 2008 +0800 [Blackfin] arch: fix build fails only include header files when enabled Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 03054de1e0b90b33e9974107d84dabd2509f5898 Merge: b5eb951... 0e53c2b... Author: Linus Torvalds Date: Fri Feb 8 09:42:46 2008 -0800 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: Enhanced partition statistics: documentation update Enhanced partition statistics: remove old partition statistics Enhanced partition statistics: procfs Enhanced partition statistics: sysfs Enhanced partition statistics: aoe fix Enhanced partition statistics: update partition statitics Enhanced partition statistics: core statistics block: fixup rq_init() a bit Manually fixed conflict in drivers/block/aoe/aoecmd.c due to statistics support. commit b5eb9513f7c1bee862ada22bf1489f53752686bd Merge: dde0013... 3072717... Author: Linus Torvalds Date: Fri Feb 8 09:33:02 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm: dlm: add __init and __exit marks to init and exit functions dlm: eliminate astparam type casting dlm: proper types for asts and basts dlm: dlm/user.c input validation fixes dlm: fix dlm_dir_lookup() handling of too long names dlm: fix overflows when copying from ->m_extra to lvb dlm: make find_rsb() fail gracefully when namelen is too large dlm: receive_rcom_lock_args() overflow check dlm: verify that places expecting rcom_lock have packet long enough dlm: validate data in dlm_recover_directory() dlm: missing length check in check_config() dlm: use proper type for ->ls_recover_buf dlm: do not byteswap rcom_config dlm: do not byteswap rcom_lock dlm: dlm_process_incoming_buffer() fixes dlm: use proper C for dlm/requestqueue stuff (and fix alignment bug) commit dde0013782dbd09e1cc68ca03860f3a62b03cb34 Merge: f3aafa6... a99824f... Author: Linus Torvalds Date: Fri Feb 8 09:31:42 2008 -0800 Merge branch 'for-2.6.25' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'for-2.6.25' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] Add arch-specific walk_memory_remove() for 64-bit powerpc [POWERPC] Enable hotplug memory remove for 64-bit powerpc [POWERPC] Add remove_memory() for 64-bit powerpc [POWERPC] Make cell IOMMU fixed mapping printk more useful [POWERPC] Fix potential cell IOMMU bug when switching back to default DMA ops [POWERPC] Don't enable cell IOMMU fixed mapping if there are no dma-ranges [POWERPC] Fix cell IOMMU null pointer explosion on old firmwares [POWERPC] spufs: Fix timing dependent false return from spufs_run_spu [POWERPC] spufs: No need to have a runnable SPU for libassist update [POWERPC] spufs: Update SPU_Status[CISHP] in backing runcntl write [POWERPC] spufs: Fix state_mutex leaks [POWERPC] Disable G5 NAP mode during SMU commands on U3 commit f3aafa6c2535d36542a6dfc8647cd2fdb5999648 Merge: 3668805... 48c946a... Author: Linus Torvalds Date: Fri Feb 8 09:29:39 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64]: Make use of the new fs/compat_binfmt_elf.c [SPARC64]: Make use of compat_sys_ptrace() Manually fixed trivial delete/modift conflict in arch/sparc64/kernel/binfmt_elf32.c commit 3668805a544a6229d6135a4427b8dfe7c343b61f Merge: 7b791d4... dd5a184... Author: Linus Torvalds Date: Fri Feb 8 09:27:06 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (21 commits) [IPSEC] flow: reorder "struct flow_cache_entry" and remove SLAB_HWCACHE_ALIGN [DECNET] ROUTE: remove unecessary alignment [IPSEC]: Add support for aes-ctr. [ISDN]: fix section mismatch warning in enpci_card_msg [TIPC]: declare proto_ops structures as 'const'. [TIPC]: Kill unused static inline (x5) [TC]: oops in em_meta [IPV6] Minor cleanup: remove unused definitions in net/ip6_fib.h [IPV6] Minor clenup: remove two unused definitions in net/ip6_route.h [AF_IUCV]: defensive programming of iucv_callback_txdone [AF_IUCV]: broken send_skb_q results in endless loop [IUCV]: wrong irq-disabling locking at module load time [CAN]: Minor clean-ups [CAN]: Move proto_{,un}register() out of spin-locked region [CAN]: Clean up module auto loading [IPSEC] flow: Remove an unnecessary ____cacheline_aligned [IPV4]: route: fix crash ip_route_input [NETFILTER]: xt_iprange: add missing #include [NETFILTER]: xt_iprange: fix typo in address family [NETFILTER]: nf_conntrack: fix ct_extend ->move operation ... commit 7b791d445500c5674b1ef00fefc0e343ed2f85b7 Merge: 8811930... 2e6c4e5... Author: Linus Torvalds Date: Fri Feb 8 09:25:58 2008 -0800 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: acer-wmi, tc1100-wmi: select ACPI_WMI ACPI: WMI: Improve Kconfig description ACPI: DMI: add Panasonic CF-52 and Thinpad X61 ACPI: thermal: syntax, spelling, kernel-doc intel_menlo: build on X86 only ACPI: build WMI on X86 only ACPI: cpufreq: Print _PPC changes via cpufreq debug layer ACPI: add newline to printk commit 8811930dc74a503415b35c4a79d14fb0b408a361 Author: Jens Axboe Date: Fri Feb 8 08:49:14 2008 -0800 splice: missing user pointer access verification vmsplice_to_user() must always check the user pointer and length with access_ok() before copying. Likewise, for the slow path of copy_from_user_mmap_sem() we need to check that we may read from the user region. Signed-off-by: Jens Axboe Cc: Wojciech Purczynski Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 66191dc622f5ff0a541524c4e96fdacfacfda206 Author: Jan Kara Date: Fri Feb 8 04:22:13 2008 -0800 quota: turn quotas off when remounting read-only Turn off quotas before filesystem is remounted read only. Otherwise quota will try to write to read-only filesystem which does no good... We could also just refuse to remount ro when quota is enabled but turning quota off is consistent with what we do on umount. Signed-off-by: Jan Kara Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28ae094c625a9b719c01cf5ec45b8640e6911f53 Author: Neil Brown Date: Fri Feb 8 04:22:13 2008 -0800 ext3 can fail badly when device stops accepting BIO_RW_BARRIER requests Some devices - notably dm and md - can change their behaviour in response to BIO_RW_BARRIER requests. They might start out accepting such requests but on reconfiguration, they find out that they cannot any more. ext3 (and other filesystems) deal with this by always testing if BIO_RW_BARRIER requests fail with EOPNOTSUPP, and retrying the write requests without the barrier (probably after waiting for any pending writes to complete). However there is a bug in the handling for this for ext3. When ext3 (jbd actually) decides to submit a BIO_RW_BARRIER request, it sets the buffer_ordered flag on the buffer head. If the request completes successfully, the flag STAYS SET. Other code might then write the same buffer_head after the device has been reconfigured to not accept barriers. This write will then fail, but the "other code" is not ready to handle EOPNOTSUPP errors and the error will be treated as fatal. This can be seen without having to reconfigure a device at exactly the wrong time by putting: if (buffer_ordered(bh)) printk("OH DEAR, and ordered buffer\n"); in the while loop in "commit phase 5" of journal_commit_transaction. If it ever prints the "OH DEAR ..." message (as it does sometimes for me), then that request could (in different circumstances) have failed with EOPNOTSUPP, but that isn't tested for. My proposed fix is to clear the buffer_ordered flag after it has been used, as in the following patch. Signed-off-by: Neil Brown Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2dafe1c4d69345539735cca64250f2d4657bd057 Author: Eric Sandeen Date: Fri Feb 8 04:22:12 2008 -0800 reduce large do_mount stack usage with noinlines do_mount() uses a whopping 616 bytes of stack on x86_64 in 2.6.24-mm1, largely thanks to gcc inlining the various helper functions. noinlining these can slim it down a lot; on my box this patch gets it down to 168, which is mostly the struct nameidata nd; left on the stack. These functions are called only as do_mount() helpers; none of them should be in any path that would see a performance benefit from inlining... Signed-off-by: Eric Sandeen Cc: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac2a659968f5318a180213f0409c2ea21f072820 Author: Jeff Dike Date: Fri Feb 8 04:22:11 2008 -0800 uml: fix mm_context memory leak [ Spotted by Miklos ] Fix a memory leak in init_new_context. The struct page ** buffer allocated for install_special_mapping was never recorded, and thus leaked when the mm_struct was freed. Fix it by saving the pointer in mm_context_t and freeing it in arch_exit_mmap. Signed-off-by: Jeff Dike Cc: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5aaf5f7b871abf00fb2525e7ed2d5938a74ce23c Author: Jeff Dike Date: Fri Feb 8 04:22:10 2008 -0800 uml: x86_64 should copy %fs during fork %fs needs to be copied from parent to child during fork. Tidied up some whitespace while I was here. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11a7ac23a2d7464a74ceb7b97dbae4d5a0208576 Author: Jim Meyering Date: Fri Feb 8 04:22:09 2008 -0800 uml: improved error handling while locating temp dir * arch/um/os-Linux/mem.c (make_tempfile): Don't deref NULL upon failed malloc. * arch/um/os-Linux/mem.c (make_tempfile): Handle NULL tempdir. Don't let a long tempdir (e.g., via TMPDIR) provoke heap corruption. [ jdike - formatting cleanups, deleted obsolete comment ] Signed-off-by: Jim Meyering Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5134d8fea06ab51459fd095d091d1e6f73a44553 Author: Jeff Dike Date: Fri Feb 8 04:22:08 2008 -0800 uml: style fixes in arch/um/os-Linux Style changes under arch/um/os-Linux: include trimming CodingStyle fixes some printks needed severity indicators make_tempfile turns out not to be used outside of mem.c, so it is now static. Its declaration in tempfile.h is no longer needed, and tempfile.h itself is no longer needed. create_tmp_file was also made static. checkpatch moans about an EXPORT_SYMBOL in user_syms.c which is part of a macro definition - this is copying a bit of kernel infrastructure into the libc side of UML because the kernel headers can't be included there. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 536788fe2d28e11db6aeda74207d95d750fb761f Author: Jeff Dike Date: Fri Feb 8 04:22:07 2008 -0800 uml: runtime host VMSPLIT detection Calculate TASK_SIZE at run-time by figuring out the host's VMSPLIT - this is needed on i386 if UML is to run on hosts with varying VMSPLITs without recompilation. TASK_SIZE is now defined in terms of a variable, task_size. This gets rid of an include of pgtable.h from processor.h, which can cause include loops. On i386, task_size is calculated early in boot by probing the address space in a binary search to figure out where the boundary between usable and non-usable memory is. This tries to make sure that a page that is considered to be in userspace is, or can be made, read-write. I'm concerned about a system-global VDSO page in kernel memory being hit and considered to be a userspace page. On x86_64, task_size is just the old value of CONFIG_TOP_ADDR. A bunch of config variable are gone now. CONFIG_TOP_ADDR is directly replaced by TASK_SIZE. NEST_LEVEL is gone since the relocation of the stubs makes it irrelevant. All the HOST_VMSPLIT stuff is gone. All references to these in arch/um/Makefile are also gone. I noticed and fixed a missing extern in os.h when adding os_get_task_size. Note: This has been revised to fix the 32-bit UML on 64-bit host bug that Miklos ran into. Signed-off-by: Jeff Dike Cc: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4 Author: Martin Schwidefsky Date: Fri Feb 8 04:22:04 2008 -0800 CONFIG_HIGHPTE vs. sub-page page tables. Background: I've implemented 1K/2K page tables for s390. These sub-page page tables are required to properly support the s390 virtualization instruction with KVM. The SIE instruction requires that the page tables have 256 page table entries (pte) followed by 256 page status table entries (pgste). The pgstes are only required if the process is using the SIE instruction. The pgstes are updated by the hardware and by the hypervisor for a number of reasons, one of them is dirty and reference bit tracking. To avoid wasting memory the standard pte table allocation should return 1K/2K (31/64 bit) and 2K/4K if the process is using SIE. Problem: Page size on s390 is 4K, page table size is 1K or 2K. That means the s390 version for pte_alloc_one cannot return a pointer to a struct page. Trouble is that with the CONFIG_HIGHPTE feature on x86 pte_alloc_one cannot return a pointer to a pte either, since that would require more than 32 bit for the return value of pte_alloc_one (and the pte * would not be accessible since its not kmapped). Solution: The only solution I found to this dilemma is a new typedef: a pgtable_t. For s390 pgtable_t will be a (pte *) - to be introduced with a later patch. For everybody else it will be a (struct page *). The additional problem with the initialization of the ptl lock and the NR_PAGETABLE accounting is solved with a constructor pgtable_page_ctor and a destructor pgtable_page_dtor. The page table allocation and free functions need to call these two whenever a page table page is allocated or freed. pmd_populate will get a pgtable_t instead of a struct page pointer. To get the pgtable_t back from a pmd entry that has been installed with pmd_populate a new function pmd_pgtable is added. It replaces the pmd_page call in free_pte_range and apply_to_pte_range. Signed-off-by: Martin Schwidefsky Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 13214adf738abc92b0a00c0763fd3be79eebaa7c Author: Andy Whitcroft Date: Fri Feb 8 04:22:03 2008 -0800 update checkpatch.pl to version 0.14 This version brings the remainder of the queued fixes. A number of fixes for items missed reported by Andrew Morton and others. Also a handful of new checks and fixes for false positives. Of note: - new warning associated with --file to try and avoid cleanup only patches, - corrected handling of completly empty files, - corrected report handling with multiple files, - handling of possible types in the face of multiple declarations, - detection of unnessary braces on complex if statements (where present), and - all new comment spacing handling. Andi Kleen (1): Introduce a warning when --file mode is used Andy Whitcroft (14): Version: 0.14 clean up some space violations in checkpatch.pl a completly empty file should not provoke a whinge reset report lines buffers between files unary ++/-- may abutt close braces __typeof__ is also unary comments: revamp comment handling add --summary-file option adding filename to summary line trailing backslashes are not trailing statements handle operators passed as parameters such as to ASSERTCMP possible types -- enhance debugging check for boolean operations with constants possible types: handle multiple declarations detect and report if statements where all branches are single statements Arjan van de Ven (1): quiet option should not print the summary on no errors Bartlomiej Zolnierkiewicz (1): warn about using __FUNCTION__ Timur Tabi (1): loosen spacing checks for __asm__ Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24649c00ca334955ac7d8a79f5a7834fc7ea441d Author: Ralf Baechle Date: Fri Feb 8 04:22:02 2008 -0800 MIPS: Mark all but i8259 interrupts as no-probe. Use set_irq_noprobe() to mark all MIPS interrupts as non-probe. Override that default for i8259 interrupts. Signed-off-by: Ralf Baechle Acked-and-tested-by: Rob Landley Cc: Alan Cox Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46f4f8f665080900e865392f4b3593be463bf0d8 Author: Ralf Baechle Date: Fri Feb 8 04:22:01 2008 -0800 IRQ_NOPROBE helper functions Probing non-ISA interrupts using the handle_percpu_irq as their handle_irq method may crash the system because handle_percpu_irq does not check IRQ_WAITING. This for example hits the MIPS Qemu configuration. This patch provides two helper functions set_irq_noprobe and set_irq_probe to set rsp. clear the IRQ_NOPROBE flag. The only current caller is MIPS code but this really belongs into generic code. As an aside, interrupt probing these days has become a mostly obsolete if not dangerous art. I think Linux interrupts should be changed to default to non-probing but that's subject of this patch. Signed-off-by: Ralf Baechle Acked-and-tested-by: Rob Landley Cc: Alan Cox Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 922f9cfa79b52c85b6002d96cb0eefd13437c58c Author: Denis Cheng Date: Fri Feb 8 04:22:00 2008 -0800 fs/char_dev.c: chrdev_open marked static and removed from fs.h There is an outdated comment in serial_core.c also fixed. Signed-off-by: Denis Cheng Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b55ab616fa4b00bdd5c470c70fdf87bab85eec68 Author: Patrick McHardy Date: Fri Feb 8 04:21:59 2008 -0800 preemptible RCU: sparse annotations Signed-off-by: Patrick McHardy Acked-by: Paul E. McKenney Cc: Dipankar Sarma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 535ee2fbf79ab52d26bce3d2e127c9007503581e Author: Jan Kara Date: Fri Feb 8 04:21:59 2008 -0800 buffer_head: fix private_list handling There are two possible races in handling of private_list in buffer cache. 1) When fsync_buffers_list() processes a private_list, it clears b_assoc_mapping and moves buffer to its private list. Now drop_buffers() comes, sees a buffer is on list so it calls __remove_assoc_queue() which complains about b_assoc_mapping being cleared (as it cannot propagate possible IO error). This race has been actually observed in the wild. 2) When fsync_buffers_list() processes a private_list, mark_buffer_dirty_inode() can be called on bh which is already on the private list of fsync_buffers_list(). As buffer is on some list (note that the check is performed without private_lock), it is not readded to the mapping's private_list and after fsync_buffers_list() finishes, we have a dirty buffer which should be on private_list but it isn't. This race has not been reported, probably because most (but not all) callers of mark_buffer_dirty_inode() hold i_mutex and thus are serialized with fsync(). Fix these issues by not clearing b_assoc_map when fsync_buffers_list() moves buffer to a dedicated list and by reinserting buffer in private_list when it is found dirty after we have submitted buffer for IO. We also change the tests whether a buffer is on a private list from !list_empty(&bh->b_assoc_buffers) to bh->b_assoc_map so that they are single word reads and hence lockless checks are safe. Signed-off-by: Jan Kara Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f6f21c81464ce52dbeec921bdc2e8b288c491920 Author: Yinghai Lu Date: Fri Feb 8 04:21:58 2008 -0800 Convert loglevel-related kernel boot parameters to early_param So we can use them for the early console like console=uart8250 or earlycon=uart8250 or early_printk Signed-off-by: Yinghai Lu Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06b2a76d25d3cfbd14680021c1d356c91be6904e Author: Yi Yang Date: Fri Feb 8 04:21:57 2008 -0800 Add new string functions strict_strto* and convert kernel params to use them Currently, for every sysfs node, the callers will be responsible for implementing store operation, so many many callers are doing duplicate things to validate input, they have the same mistakes because they are calling simple_strtol/ul/ll/uul, especially for module params, they are just numeric, but you can echo such values as 0x1234xxx, 07777888 and 1234aaa, for these cases, module params store operation just ignores succesive invalid char and converts prefix part to a numeric although input is acctually invalid. This patch tries to fix the aforementioned issues and implements strict_strtox serial functions, kernel/params.c uses them to strictly validate input, so module params will reject such values as 0x1234xxxx and returns an error: write error: Invalid argument Any modules which export numeric sysfs node can use strict_strtox instead of simple_strtox to reject any invalid input. Here are some test results: Before applying this patch: [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak 4096 [root@yangyi-dev /]# echo 0x1000 > /sys/module/e1000/parameters/copybreak [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak 4096 [root@yangyi-dev /]# echo 0x1000g > /sys/module/e1000/parameters/copybreak [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak 4096 [root@yangyi-dev /]# echo 0x1000gggggggg > /sys/module/e1000/parameters/copybreak [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak 4096 [root@yangyi-dev /]# echo 010000 > /sys/module/e1000/parameters/copybreak [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak 4096 [root@yangyi-dev /]# echo 0100008 > /sys/module/e1000/parameters/copybreak [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak 4096 [root@yangyi-dev /]# echo 010000aaaaa > /sys/module/e1000/parameters/copybreak [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak 4096 [root@yangyi-dev /]# After applying this patch: [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak 4096 [root@yangyi-dev /]# echo 0x1000 > /sys/module/e1000/parameters/copybreak [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak 4096 [root@yangyi-dev /]# echo 0x1000g > /sys/module/e1000/parameters/copybreak -bash: echo: write error: Invalid argument [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak 4096 [root@yangyi-dev /]# echo 0x1000gggggggg > /sys/module/e1000/parameters/copybreak -bash: echo: write error: Invalid argument [root@yangyi-dev /]# echo 010000 > /sys/module/e1000/parameters/copybreak [root@yangyi-dev /]# echo 0100008 > /sys/module/e1000/parameters/copybreak -bash: echo: write error: Invalid argument [root@yangyi-dev /]# echo 010000aaaaa > /sys/module/e1000/parameters/copybreak -bash: echo: write error: Invalid argument [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak 4096 [root@yangyi-dev /]# echo -n 4096 > /sys/module/e1000/parameters/copybreak [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak 4096 [root@yangyi-dev /]# [akpm@linux-foundation.org: fix compiler warnings] [akpm@linux-foundation.org: fix off-by-one found by tiwai@suse.de] Signed-off-by: Yi Yang Cc: Greg KH Cc: "Randy.Dunlap" Cc: Takashi Iwai Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10e6f32bdf02448f787d78647e75cf98a02f19a4 Author: Randy Dunlap Date: Fri Feb 8 04:21:56 2008 -0800 getdelays: fix gcc warnings Fix gcc warnings in getdelays.c: Documentation/accounting/getdelays.c: In function 'task_context_switch_counts': Documentation/accounting/getdelays.c:214: warning: format '%15lu' expects type 'long unsigned int', but argument 4 has type '__u64' Documentation/accounting/getdelays.c:214: warning: format '%15lu' expects type 'long unsigned int', but argument 5 has type '__u64' Documentation/accounting/getdelays.c: In function 'main': Documentation/accounting/getdelays.c:402: warning: format '%d' expects type 'int', but argument 2 has type 'long unsigned int' Documentation/accounting/getdelays.c: In function 'get_family_id': Documentation/accounting/getdelays.c:171: warning: 'id' may be used uninitialized in this function One warning is not a problem and can be dismissed: Documentation/accounting/getdelays.c: In function 'main': Documentation/accounting/getdelays.c:236: warning: 'cmd_type' may be used uninitialized in this function Signed-off-by: Randy Dunlap Acked-by: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fa7303e22c829a3364b5b7227aec9ed2d8623b2c Author: Sam Ravnborg Date: Fri Feb 8 04:21:55 2008 -0800 cpu: fix section mismatch warnings for enable_nonboot_cpus Fix following warning: WARNING: o-x86_64/kernel/built-in.o(.text+0x36d8b): Section mismatch in reference from the function enable_nonboot_cpus() to the function .cpuinit.text:_cpu_up() enable_nonboot_cpus() are used solely from CONFIG_CONFIG_PM_SLEEP_SMP=y and PM_SLEEP_SMP imply HOTPLUG_CPU therefore the reference to _cpu_up() is valid. Annotate enable_nonboot_cpus() with __ref to silence modpost. Signed-off-by: Sam Ravnborg Cc: Gautham R Shenoy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 13d8bcd263cf96c67bd4071ad13cd056dca7b0fb Author: Mike Frysinger Date: Fri Feb 8 04:21:54 2008 -0800 use __u32 in linux/reiserfs_fs.h Since this header is exported to userspace and all the other types in the header have been scrubbed, this brings the last straggler in line. Signed-off-by: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d20894a23708c2af75966534f8e4dedb46d48db2 Author: Andi Kleen Date: Fri Feb 8 04:21:54 2008 -0800 Remove a.out interpreter support in ELF loader Following the deprecation schedule the a.out ELF interpreter support is removed now with this patch. a.out ELF interpreters were an transition feature for moving a.out systems to ELF, but they're unlikely to be still needed. Pure a.out systems will still work of course. This allows to simplify the hairy ELF loader. Signed-off-by: Andi Kleen Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48d13e483c5b450be451f78cc9cb43c0bdd6b7bb Author: Pavel Emelyanov Date: Fri Feb 8 04:21:53 2008 -0800 Don't operate with pid_t in rtmutex tester The proper behavior to store task's pid and get this task later is to get the struct pid pointer and get the task with the pid_task() call. Make it for rt_mutex_waiter->deadlock_task_pid field. Signed-off-by: Pavel Emelyanov Cc: "Eric W. Biederman" Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8dc86af00612e5ccff3384c17575362a3f2a2ca0 Author: Pavel Emelyanov Date: Fri Feb 8 04:21:52 2008 -0800 Use find_task_by_vpid in posix timers All the functions that need to lookup a task by pid in posix timers obtain this pid from a user space, and thus this value refers to a task in the same namespace, as the current task lives in. So the proper behavior is to call find_task_by_vpid() here. Signed-off-by: Pavel Emelyanov Cc: "Eric W. Biederman" Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20a8143eaa3300a58326156eaf43e03db0fd2cb6 Author: Paul Clements Date: Fri Feb 8 04:21:51 2008 -0800 NBD: remove limit on max number of nbd devices Remove the arbitrary 128 device limit for NBD. nbds_max can now be set to any number. In certain scenarios where devices are used sparsely we have run into the 128 device limit. Signed-off-by: Paul Clements Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53a7a1bb438245cd2ef9674b9af3a5201d7d7657 Author: Jiri Slaby Date: Fri Feb 8 04:21:51 2008 -0800 Char: applicom, use pci_match_id Instead of testing hardcoded values, use pci_match_id to reference the pci_device_id table. Sideways, it allows easy new additions to the table. [akpm@linux-foundation.org: remove wrongly-added semicolon] Signed-off-by: Jiri Slaby Cc: WANG Cong Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55b29a728e37ac4b87d09ba8da480f14bdec3b8d Author: Jiri Slaby Date: Fri Feb 8 04:21:50 2008 -0800 Char: applicom, use pci_resource_start Use pci_resource_start instead of accessing pci_dev struct internals. Signed-off-by: Jiri Slaby Cc: WANG Cong Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6da80894cc11b5c0d79130a194789bab043a9b4b Author: Miklos Szeredi Date: Fri Feb 8 04:21:50 2008 -0800 mount options: fix udf Add a .show_options super operation to udf. Signed-off-by: Miklos Szeredi Acked-by: Cyrill Gorcunov Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b76db735407a26c1036fdfef249ddc35eb969bc4 Author: Andrew Morton Date: Fri Feb 8 04:21:49 2008 -0800 mount-options-fix-tmpfs-fix Documentation/SubmitCheckist, please. Cc: Hugh Dickins Cc: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 680d794babebc74484c141448baa9b95b211cf5e Author: akpm@linux-foundation.org Date: Fri Feb 8 04:21:48 2008 -0800 mount options: fix tmpfs Add .show_options super operation to tmpfs. Signed-off-by: Hugh Dickins Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90d09e141bb23bf0df5e31c40fb3175c17e8bda2 Author: Miklos Szeredi Date: Fri Feb 8 04:21:47 2008 -0800 mount options: fix spufs Add a .show_options super operation to spufs. Use generic_show_options() and save the complete option string in spufs_fill_super(). Signed-off-by: Miklos Szeredi Cc: Paul Mackerras Cc: Arnd Bergmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cdf6ccc8b88d667b3d326d3c506bca60b8c09939 Author: Miklos Szeredi Date: Fri Feb 8 04:21:47 2008 -0800 mount options: fix reiserfs Add a .show_options super operation to reiserfs. Use generic_show_options() and save the complete option string in reiserfs_fill_super() and reiserfs_remount(). Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 564cd138cb30658c12e80c33582bf50816ec7a41 Author: Miklos Szeredi Date: Fri Feb 8 04:21:46 2008 -0800 mount options: fix ncpfs Add a .show_options super operation to ncpfs. Small fix: add FS_BINARY_MOUNTDATA to the filesystem type flags, since it can take binary data, as well as text (similarly to NFS). Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d0132eea7a295623e34e26b0977638cc0f62a2c6 Author: Miklos Szeredi Date: Fri Feb 8 04:21:46 2008 -0800 mount options: fix isofs Add a .show_options super operation to isofs. Use generic_show_options() and save the complete option string in isofs_fill_super(). Signed-off-by: Miklos Szeredi Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10f19a86a5e106edb86d354137ba6e7388ecd1ce Author: Miklos Szeredi Date: Fri Feb 8 04:21:45 2008 -0800 mount options: fix hugetlbfs Add a .show_options super operation to hugetlbfs. Use generic_show_options() and save the complete option string in hugetlbfs_fill_super(). Signed-off-by: Miklos Szeredi Cc: Adam Litke Cc: Badari Pulavarty Cc: Ken Chen Cc: William Lee Irwin III Cc: David Gibson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d9c1fd425e6e1f0998218104cc046589e3af3d8 Author: Miklos Szeredi Date: Fri Feb 8 04:21:44 2008 -0800 mount options: fix hpfs Add a .show_options super operation to hpfs. Use generic_show_options() and save the complete option string in hpfs_fill_super() and hpfs_remount_fs(). Also add a small fix: hpfs_remount_fs() should return -EINVAL on error, instead of 1, which is not an error value. Signed-off-by: Miklos Szeredi Cc: Mikulas Patocka Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd2cc4dff3b08ab54c4c177a080046bcc84ac41d Author: Miklos Szeredi Date: Fri Feb 8 04:21:43 2008 -0800 mount options: fix hostfs Add the "host path" option to /proc/mounts for UML hostfs filesystems. The mount source (mnt_devname) should really be used for this, but not easy to change now in a backward compatible way. Signed-off-by: Miklos Szeredi Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1875dbaa58e4894f7d9321d1c280fb23ca9f9e5 Author: Miklos Szeredi Date: Fri Feb 8 04:21:43 2008 -0800 mount options: fix fuse Add blksize= option to /proc/mounts for fuseblk filesystems. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c1fca3b6090f45018b3754eff0276521edb8ac3e Author: Miklos Szeredi Date: Fri Feb 8 04:21:42 2008 -0800 mount options: fix fat Add flush option to /proc/mounts for msdos and vfat filesystems. Signed-off-by: Miklos Szeredi Acked-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35c879dc302cc08cbbf108deb2be1c2859da0d18 Author: Miklos Szeredi Date: Fri Feb 8 04:21:42 2008 -0800 mount options: fix ext2 Add noreservation option to /proc/mounts for ext2 filesystems. Signed-off-by: Miklos Szeredi Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b87a267eb7291d075df76ebabd43c7f961b12f67 Author: Miklos Szeredi Date: Fri Feb 8 04:21:41 2008 -0800 mount options: fix devpts Add a .show_options super operation to devpts. Small cleanup: when parsing the "mode" option, mask with S_IALLUGO instead of ~S_IFMT. Signed-off-by: Miklos Szeredi Acked-by: H. Peter Anvin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e55e212c083f0c51a7d4eccd1746b6dca40ffc41 Author: Miklos Szeredi Date: Fri Feb 8 04:21:40 2008 -0800 mount options: fix capifs Add a .show_options super operation to capifs. Use generic_show_options() and save the complete option string in capifs_remount(). Signed-off-by: Miklos Szeredi Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 552c3c6c565d08857df48e77e8ce2b223517c3ee Author: Miklos Szeredi Date: Fri Feb 8 04:21:38 2008 -0800 mount options: fix befs Add a .show_options super operation to befs. Use generic_show_options() and save the complete option string in befs_fill_super(). Signed-off-by: Miklos Szeredi Cc: Sergey S. Kostyliov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 979db7542d9c73db0d770110edb31c1252ef6c4a Author: Miklos Szeredi Date: Fri Feb 8 04:21:38 2008 -0800 mount options: fix autofs Add a .show_options super operation to autofs. Use generic_show_options() and save the complete option string in autofs_fill_super(). Signed-off-by: Miklos Szeredi Acked-by: H. Peter Anvin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aef97cb9031755422c23cc64f7a089a0fbbcca7a Author: Miklos Szeredi Date: Fri Feb 8 04:21:37 2008 -0800 mount options: fix autofs4 Add uid= and gid= options to /proc/mounts for autofs4 filesystems. Signed-off-by: Miklos Szeredi Acked-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 969729d56ef2c8b709844bc0071805f86dfbd2f9 Author: Miklos Szeredi Date: Fri Feb 8 04:21:37 2008 -0800 mount options: fix afs Add a .show_options super operation to afs. Use generic_show_options() and save the complete option string in afs_get_sb(). Signed-off-by: Miklos Szeredi Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e9b3961b66bb1e93762895d809be074ea109c77c Author: Miklos Szeredi Date: Fri Feb 8 04:21:36 2008 -0800 mount options: fix affs Add a .show_options super operation to affs. Use generic_show_options() and save the complete option string in affs_fill_super() and affs_remount(). Signed-off-by: Miklos Szeredi Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e11400b0cadc97cb1062912c1028e965c93fa9b3 Author: Miklos Szeredi Date: Fri Feb 8 04:21:35 2008 -0800 mount options: fix adfs Add a .show_options super operation to adfs. Signed-off-by: Miklos Szeredi Acked-by: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3b304a23a8f7ae4c40c7b512ee45afae0010a70 Author: Miklos Szeredi Date: Fri Feb 8 04:21:35 2008 -0800 mount options: add generic_show_options() Add a new s_options field to struct super_block. Filesystems can save mount options passed to them in mount or remount. It is automatically freed when the superblock is destroyed. A new helper function, generic_show_options() is introduced, which uses this field to display the mount options in /proc/mounts. Another helper function, save_mount_options() may be used by filesystems to save the options in the super block. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f84e3f521e1449300e0fdc314b7b43b418a66dc3 Author: Miklos Szeredi Date: Fri Feb 8 04:21:34 2008 -0800 mount options: add documentation This series addresses the problem of showing mount options in /proc/mounts. Several filesystems which use mount options, have not implemented a .show_options superblock operation. Several others have implemented this callback, but have not kept it fully up to date with the parsed options. Q: Why do we need correct option showing in /proc/mounts? A: We want /proc/mounts to fully replace /etc/mtab. The reasons for this are: - unprivileged mounters won't be able to update /etc/mtab - /etc/mtab doesn't work with private mount namespaces - /etc/mtab can become out-of-sync with reality Q: Can't this be done, so that filesystems need not bother with implementing a .show_mounts callback, and keeping it up to date? A: Only in some cases. Certain filesystems allow modification of a subset of options in their remount_fs method. It is not possible to take this into account without knowing exactly how the filesystem handles options. For the simple case (no remount or remount resets all options) the patchset introduces two helpers: generic_show_options() save_mount_options() These can also be used to emulate the old /etc/mtab behavior, until proper support is added. Even if this is not 100% correct, it's still better than showing no options at all. The following patches fix up most in-tree filesystems, some have been compile tested only, some have been reviewed and acked by the maintainer. Table displaying status of all in-kernel filesystems: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - legend: none - fs has options, but doesn't define ->show_options() some - fs defines ->show_options(), but some only options are shown good - fs shows all options noopt - fs does not have options patch - a patch will be posted merged - a patch has been merged by subsystem maintainer 9p good adfs patch affs patch afs patch autofs patch autofs4 patch befs patch bfs noopt cifs some coda noopt configfs noopt cramfs noopt debugfs noopt devpts patch ecryptfs good efs noopt ext2 patch ext3 good ext4 merged fat patch freevxfs noopt fuse patch fusectl noopt gfs2 good gfs2meta noopt hfs good hfsplus good hostfs patch hpfs patch hppfs noopt hugetlbfs patch isofs patch jffs2 noopt jfs merged minix noopt msdos ->fat ncpfs patch nfs some nfsd noopt ntfs good ocfs2 good ocfs2/dlmfs noopt openpromfs noopt proc noopt qnx4 noopt ramfs noopt reiserfs patch romfs noopt smbfs good sysfs noopt sysv noopt udf patch ufs good vfat ->fat xfs good mm/shmem.c patch drivers/oprofile/oprofilefs.c noopt drivers/infiniband/hw/ipath/ipath_fs.c noopt drivers/misc/ibmasm/ibmasmfs.c noopt drivers/usb/core (usbfs) merged drivers/usb/gadget (gadgetfs) noopt drivers/isdn/capi/capifs.c patch kernel/cpuset.c noopt fs/binfmt_misc.c noopt net/sunrpc/rpc_pipe.c noopt arch/powerpc/platforms/cell/spufs patch arch/s390/hypfs good ipc/mqueue.c noopt security (securityfs) noopt security/selinux/selinuxfs.c noopt kernel/cgroup.c good security/smack/smackfs.c noopt in -mm: reiser4 some unionfs good - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This patch: Document the rules for handling mount options in the .show_options super operation. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e542059884bb6d651d7ffc64eacedbab2b64078c Author: Mike Frysinger Date: Fri Feb 8 04:21:31 2008 -0800 drop linux/ufs_fs.h from userspace export and relocate it to fs/ufs/ufs_fs.h Per previous discussions about cleaning up ufs_fs.h, people just want this straight up dropped from userspace export. The only remaining consumer (silo) has been fixed a while ago to not rely on this header. This allows use to move it completely from include/linux/ to fs/ufs/ seeing as how the only in-kernel consumer is fs/ufs/. Signed-off-by: Mike Frysinger Cc: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bdc807871d58285737d50dc6163d0feb72cb0dc2 Author: H. Peter Anvin Date: Fri Feb 8 04:21:26 2008 -0800 avoid overflows in kernel/time.c When the conversion factor between jiffies and milli- or microseconds is not a single multiply or divide, as for the case of HZ == 300, we currently do a multiply followed by a divide. The intervening result, however, is subject to overflows, especially since the fraction is not simplified (for HZ == 300, we multiply by 300 and divide by 1000). This is exposed to the user when passing a large timeout to poll(), for example. This patch replaces the multiply-divide with a reciprocal multiplication on 32-bit platforms. When the input is an unsigned long, there is no portable way to do this on 64-bit platforms there is no portable way to do this since it requires a 128-bit intermediate result (which gcc does support on 64-bit platforms but may generate libgcc calls, e.g. on 64-bit s390), but since the output is a 32-bit integer in the cases affected, just simplify the multiply-divide (*3/10 instead of *300/1000). The reciprocal multiply used can have off-by-one errors in the upper half of the valid output range. This could be avoided at the expense of having to deal with a potential 65-bit intermediate result. Since the intent is to avoid overflow problems and most of the other time conversions are only semiexact, the off-by-one errors were considered an acceptable tradeoff. At Ralf Baechle's suggestion, this version uses a Perl script to compute the necessary constants. We already have dependencies on Perl for kernel compiles. This does, however, require the Perl module Math::BigInt, which is included in the standard Perl distribution starting with version 5.8.0. In order to support older versions of Perl, include a table of canned constants in the script itself, and structure the script so that Math::BigInt isn't required if pulling values from said table. Running the script requires that the HZ value is available from the Makefile. Thus, this patch also adds the Kconfig variable CONFIG_HZ to the architectures which didn't already have it (alpha, cris, frv, h8300, m32r, m68k, m68knommu, sparc, v850, and xtensa.) It does *not* touch the sh or sh64 architectures, since Paul Mundt has dealt with those separately in the sh tree. Signed-off-by: H. Peter Anvin Cc: Ralf Baechle , Cc: Sam Ravnborg , Cc: Paul Mundt , Cc: Richard Henderson , Cc: Michael Starvik , Cc: David Howells , Cc: Yoshinori Sato , Cc: Hirokazu Takata , Cc: Geert Uytterhoeven , Cc: Roman Zippel , Cc: William L. Irwin , Cc: Chris Zankel , Cc: H. Peter Anvin , Cc: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ef3d2fd17c377ef64a2aa19677d17576606c3b4 Author: Joe Perches Date: Fri Feb 8 04:21:25 2008 -0800 printk_ratelimit() functions should use CONFIG_PRINTK Makes an embedded image a bit smaller. Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36e789144267105e0b3f2b9bca7db3184fce50dc Author: Christoph Hellwig Date: Fri Feb 8 04:21:24 2008 -0800 kill do_generic_mapping_read do_generic_mapping_read was used by gfs2 for internals reads, but this use of the interface was rather suboptimal (as was the whole interface) and has been replaced by an internal helper now. This patch kills do_generic_mapping_read and surrounding damage in preparation of additional cleanups for the buffered read path. Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7437a51b30743ff1488981a393fc9e67894bf757 Author: Mike Frysinger Date: Fri Feb 8 04:21:24 2008 -0800 Remove __STRICT_ANSI__ from linux/types.h All of the asm-*/types.h headers have been updated to no longer check __STRICT_ANSI__ for the 64bit types, so this brings linux/types.h in line. Signed-off-by: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d59d0b1b88c5b0f9cec219d236758d8882a59d6b Author: Andi Kleen Date: Fri Feb 8 04:21:23 2008 -0800 BKL-Removal: convert pipe to use unlocked_ioctl too No BKL needed in pipe_ioctl Signed-off-by: Andi Kleen Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de5c9edee7a3cfdc6dd1a31c4794dc41ef3c70f9 Author: David Brownell Date: Fri Feb 8 04:21:22 2008 -0800 PWM LED driver This is a LED driver using the PWM on newer SOCs from Atmel; brightness is controlled by changing the PWM duty cycle. So for example if you've set up two leds labeled "pwm0" and "pwm1": echo 0 > /sys/class/leds/pwm2/brightness # off (0%) echo 80 > /sys/class/leds/pwm2/brightness echo 255 > /sys/class/leds/pwm2/brightness # on (100%) Note that "brightness" here isn't linear; maybe that should change. Going from 4 to 8 probably doubles perceived brightness, while 244 to 248 is imperceptible. This is mostly intended to be a simple example of PWM, although it's realistic since LCD backlights are often driven with PWM to conserve battery power (and offer brightness options). Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen Cc: Richard Purdie Cc: Andrew Victor Cc: Nicolas Ferre Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a1e8eb1f0b76b5e72a2343ad881c81b08dd6410 Author: David Brownell Date: Fri Feb 8 04:21:21 2008 -0800 Basic PWM driver for AVR32 and AT91 PWM device setup, and a simple PWM driver exposing a programming interface giving access to each channel's full capabilities. Note that this doesn't support starting several channels in synch. [hskinnemoen@atmel.com: allocate platform device dynamically] [hskinnemoen@atmel.com: Kconfig fix] Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen Cc: Andrew Victor Cc: Nicolas Ferre Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c8cece84c9f36410de5164735e909603426e4d5f Author: Jan Engelhardt Date: Fri Feb 8 04:21:20 2008 -0800 OSS: constify function pointer tables Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03a44825be987d720df854f63b2f7bd30e46bdde Author: Jan Engelhardt Date: Fri Feb 8 04:21:19 2008 -0800 procfs: constify function pointer tables Signed-off-by: Jan Engelhardt Acked-by: Geert Uytterhoeven Acked-by: Mike Frysinger Acked-By: David Howells Acked-by: Bryan Wu Acked-by: Jesper Nilsson Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec26e11740cdff8c3c8330ea235478704ffb4a71 Author: Jan Engelhardt Date: Fri Feb 8 04:21:18 2008 -0800 reiserfs: constify function pointer tables Signed-off-by: Jan Engelhardt Acked-by: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b7880e7bb30e641037550888b5c22d94c77f254 Author: Jan Kara Date: Fri Feb 8 04:21:09 2008 -0800 isofs: implement dmode option Implement dmode option for iso9660 filesystem to allow setting of access rights for directories on the filesystem. Signed-off-by: Jan Kara Cc: "Ilya N. Golubev" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d141c3ff6d74cc30cdbf26155842756ac16cf7f Author: Li Zefan Date: Fri Feb 8 04:21:09 2008 -0800 workqueue: make delayed_work_timer_fn() static delayed_work_timer_fn() is a timer function, make it static. Signed-off-by: Li Zefan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae161068756c203ccbeeb9178f4d4f6665d294cf Author: Haavard Skinnemoen Date: Fri Feb 8 04:21:08 2008 -0800 atmel_serial: show tty name in /proc/interrupts When possible, pass the tty name to request_irq() so that the user can easily distinguish the different serial ports in /proc/interrupts. Signed-off-by: Haavard Skinnemoen Cc: Andrew Victor Tested-by: Marc Pignat Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c811ab8c2daf6bc2b5761937929a62fa84b18b32 Author: Haavard Skinnemoen Date: Fri Feb 8 04:21:08 2008 -0800 atmel_serial: use container_of instead of direct cast As pointed out by David Brownell, we really ought to be using container_of when converting from "struct uart_port *" to "struct atmel_uart_port *". Signed-off-by: Haavard Skinnemoen Cc: Andrew Victor Tested-by: Marc Pignat Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6433471d33c09d69d029b1c4b7bdd1612c492587 Author: Haavard Skinnemoen Date: Fri Feb 8 04:21:07 2008 -0800 atmel_serial: fix broken RX buffer allocation Introduced by atmel_serial-split-the-interrupt-handler.patch. Thanks to michael for spotting it. Signed-off-by: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a66706158d6bc4d9eb29c37852001f78f4c8989c Author: Chip Coldwell Date: Fri Feb 8 04:21:06 2008 -0800 atmel_serial: add DMA support This patch is based on the DMA-patch by Chip Coldwell for the AT91/AT32 serial USARTS, with some tweaks to make it apply neatly on top of the other patches in this series. The RX and TX code has been moved to a tasklet and reworked a bit. Instead of depending on the ENDRX and TIMEOUT bits in CSR, we simply grab as much data as we can from the DMA buffers. I think this closes a race where the ENDRX bit is set after we read CSR but before we read RPR, although I haven't confirmed this. Similarly, the two TX handlers (ENDTX and TXBUFE) have been combined into one. Since the current code only uses a single TX buffer, there's no point in handling those interrupts separately. This also fixes a DMA sync bug in the original patch. [linux@bohmer.net: rebased onto irq-splitup patch] [hskinnemoen@atmel.com: moved to tasklet, fixed dma bug, misc cleanups] [hskinnemoen@atmel.com: atmel_serial dma: Misc fixes and cleanups] Signed-off-by: Remy Bohmer Signed-off-by: Haavard Skinnemoen Cc: Andrew Victor Tested-by: Marc Pignat Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ecc26bd2789ddb253f61e182a61c776663fe44c Author: Remy Bohmer Date: Fri Feb 8 04:21:05 2008 -0800 atmel_serial: split the interrupt handler Split up the interrupt handler of the serial port into a interrupt top-half and a tasklet. The goal is to get the interrupt top-half as short as possible to minimize latencies on interrupts. But the old code also does some calls in the interrupt handler that are not allowed on preempt-RT in IRQF_NODELAY context. This handler is executed in this context because of the interrupt sharing with the timer interrupt. The timer interrupt on Preempt-RT runs in IRQF_NODELAY context. The tasklet takes care of handling control status changes, pushing incoming characters to the tty layer, handling break and other errors. It also handles pushing TX data into the data register. Reading the complete receive queue is still done in the top-half because we never want to miss any incoming character. [hskinnemoen@atmel.com: misc cleanups and simplifications] Signed-off-by: Remy Bohmer Signed-off-by: Haavard Skinnemoen Cc: Andrew Victor Tested-by: Marc Pignat Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dfa7f343e526f3595d8f1d99807d141ae0c08601 Author: Haavard Skinnemoen Date: Fri Feb 8 04:21:04 2008 -0800 atmel_serial: fix bugs in probe() error path and remove() When an error happens in probe(), the clocks should be disabled, but only if the port isn't already used as a console. In remove(), the port struct shouldn't be freed because it's defined statically. Signed-off-by: Haavard Skinnemoen Cc: Andrew Victor Tested-by: Marc Pignat Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c0fd82f9375b41f880dc9d7fe32920f33dc945b Author: Haavard Skinnemoen Date: Fri Feb 8 04:21:03 2008 -0800 atmel_serial: use existing console options only if BRG is running If BRGR is zero, the baud rate generator isn't running, so the boot loader can't have initialized the port. Signed-off-by: Haavard Skinnemoen Acked-by: Andrew Victor Tested-by: Marc Pignat Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 829dd8112274d46c5ed82d46be506762e2c8fcd8 Author: Haavard Skinnemoen Date: Fri Feb 8 04:21:02 2008 -0800 atmel_serial: use cpu_relax() when busy-waiting Replace two instances of barrier() with cpu_relax() since that's the right thing to do when busy-waiting. This does not actually change anything since cpu_relax() is defined as barrier() on both ARM and AVR32. Signed-off-by: Haavard Skinnemoen Acked-by: Andrew Victor Tested-by: Marc Pignat Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b843aa216c4da250c6732cd76430d73a6589beb5 Author: Remy Bohmer Date: Fri Feb 8 04:21:01 2008 -0800 atmel_serial: clean up the code Clean up the atmel_serial driver to conform the coding rules. It contains no functional change. Signed-off-by: Remy Bohmer Signed-off-by: Haavard Skinnemoen Acked-by: Andrew Victor Tested-by: Marc Pignat Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1cfac48ba4c7481bb749e0f4f37c85cb871b2d1 Author: Haavard Skinnemoen Date: Fri Feb 8 04:21:00 2008 -0800 MAINTAINERS: add Haavard as maintainer of the atmel_serial driver The following patchset cleans up the atmel_serial driver a bit, moves a significant portion of the interrupt handler into a tasklet, and adds DMA support. This is the result of a combined effort by Chip Coldwell, Remy Bohmer and me. The patches should apply cleanly onto Linus' latest git tree, and I've also tested it on -mm (with a couple of avr32 fixes applied to make the rest of the tree compile.) With DMA, I see transfer rates around 92 kbps when transferring a big file using ZModem (both directions are roughly the same.) I've also tested the same thing with a bunch of debug options enabled. The transfer rate is slightly lower, but no errors are reported. Note that break and error handling doesn't work too well with DMA enabled. This is a common problem with all the efforts I've seen adding DMA support to this driver (including my own). The PDC error handling also accesses icount without locking. I'm tempted to just ignore the problem for now and hopefully come up with a solution later. This patch: The atmel_serial driver never had a MAINTAINERS entry, although Andrew Victor has effectively been acting as a maintainer since he got the driver merged into mainline in the first place. I'll keep Cc'ing Andrew on all patches, but I'm going to take the main responsibility for getting things moving upstream from now on. Signed-off-by: Haavard Skinnemoen Acked-by: Andrew Victor Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4bd7d59451960d4e1d994c01581b31b08fe3720 Author: Wim Van Sebroeck Date: Fri Feb 8 04:20:58 2008 -0800 SMBIOS/DMI: add type 41 = Onboard Devices Extended Information From version 2.6 of the SMBIOS standard, type 10 (On Board Devices Information) becomes obsolete. The reason for this is that no further fields can be added to this structure without adversely affecting existing software's ability to properly parse the data. Therefore type 41 (Onboard Devices Extended Information) was added. The structure is as follows: struct smbios_type_41 { u8 type; u8 length; u16 handle; u8 reference_designation_string; u8 device_type; /* same device type as in type 10 */ u8 device_type_instance; u16 segment_group_number; u8 bus_number; u8 device_function_number; }; For more info: http://www.dmtf.org/standards/smbios Signed-off-by: Wim Van Sebroeck Cc: Jean Delvare Cc: Len Brown Cc: Jeff Garzik Cc: Tejun Heo Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 13050d89019a4127178c0945733fb23649f9f3fe Author: Stephan Boettcher Date: Fri Feb 8 04:20:56 2008 -0800 parport: fix ieee1284_epp_read_addr We bought cheap notebooks to control our custom data acquisition system, which requires EPP mode (read/write, data/addr). The bios does not offer EPP mode, and indeed hardware EPP mode appears not to work, although the parport driver tries to use it. EPPSWE mode does work for data r/w and addr write, but addr read requires this patch. (stephan)rshgse3: lspci 00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub (rev 03) 00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (rev 03) 00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (rev 03) 00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02) 00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02) 00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02) 00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02) 00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 02) 00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 02) 00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 02) 00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 02) 00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02) 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2) 00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02) 00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 02) 00:1f.2 SATA controller: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller AHCI (rev 02) 00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02) 02:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8055 PCI-E Gigabit Ethernet Controller (rev 12) 05:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02) 08:03.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev b3) 08:03.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller (rev 08) 08:03.2 Generic system peripheral [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 17) (stephan)rshgse3: grep . /proc/sys/dev/parport/parport0/* /proc/sys/dev/parport/parport0/base-addr:888 1912 /proc/sys/dev/parport/parport0/dma:-1 /proc/sys/dev/parport/parport0/irq:7 /proc/sys/dev/parport/parport0/modes:PCSPP,TRISTATE,EPP /proc/sys/dev/parport/parport0/spintime:500 Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a36219ac93b3fd029f5e800642226c57796c152f Author: Adrian Bunk Date: Fri Feb 8 04:20:55 2008 -0800 The scheduled 'time' option removal The scheduled removal of the 'time' option. Signed-off-by: Adrian Bunk Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3287629eff75c7323e875b942be82f7ac6ca18da Author: Arjan van de Ven Date: Fri Feb 8 04:20:55 2008 -0800 remove the unused exports of sys_open/sys_read These exports (which aren't used and which are in fact dangerous to use because they pretty much form a security hole to use) have been marked _UNUSED since 2.6.24 with removal in 2.6.25. This patch is their final departure from the Linux kernel tree. Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c2fdda0dfbe85ad5d68d4799ff7c5af89db8ac19 Author: Andy Whitcroft Date: Fri Feb 8 04:20:54 2008 -0800 update checkpatch.pl to version 0.13 This version brings a large number of fixes which have built up over the Christmas period. Mostly these are fixes for false positives, both through improvments to unary checks and possible type detection. It also brings new checks for while location and CVS keywords. Of note: - a number of fixes to unary detection - detection of a number of new forms of types to improve type matching - better inline handling - recognision of '%' as an operator Andy Whitcroft (28): Version: 0.13 unary detection: maintain bracket state across lines move to pre-sanitising the entire file the text of a #error statement should be treated like it is in quotes line sanitisation needs to target double backslash correctly tighten comment guestimation for lines starting ' * ' debug: add a debug framework prevent unclosed single quotes from spreading add % as an operator the text of a #warning statement should be treated like it is in quotes possible matching applies in typedefs single statement block checks must not trigger when two or more statements possible types: local variables may also be const treat inline as a type attribute to even when out of place possible types: sparse annotations are valid indicators possible types: beef up the possible type testing check for hanging while statements on the wrong line utf8 checks need to occur against the raw lines function brace checks should use any whitespece matches comments should take up space in the line when sanitised remove debugging from if assignment checks possible types -- ensure we detect all pointer casts fix tests for function spacing in the presence of #define clean up the UTF-8 error message to be clearer test-lib: invert the status report, output success counts detect and report CVS keywords tests: break out tests Add $Id$ to the CVS keyword checks Benny Halevy (1): checkpatch.pl: recognize the #elif preprocessor directive Geert Uytterhoeven (1): print the filenames of patches where available Mauro Carvalho Chehab (1): Fix missing \n in checkpatch.pl Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69759454873fd90130007bdb60948a79e880cd82 Author: Andrew Morton Date: Fri Feb 8 04:20:53 2008 -0800 fs/afs/security.c: fix uninitialized var warning fs/afs/security.c: In function 'afs_permission': fs/afs/security.c:290: warning: 'access' may be used uninitialized in this function Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8aa84ab99b1e47973f0b82258f0eab945d0b114d Author: Andrew Morton Date: Fri Feb 8 04:20:52 2008 -0800 fs/hfsplus/unicode.c: fix uninitialized var warning fs/hfsplus/unicode.c: In function 'hfsplus_hash_dentry': fs/hfsplus/unicode.c:328: warning: 'dsize' may be used uninitialized in this function Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 800fdfb90ab4a172a46e45b7cc5e1670a54f44bc Author: Jan Kara Date: Fri Feb 8 04:20:51 2008 -0800 udf: change maintainer I've tried to contact Ben Fennema a few times but without success. Since I'm currently probably closest to being an UDF maintainer, I guess it's fine to also change the entry in MAINTAINERS. Signed-off-by: Jan Kara Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 05343c4f2ee1a4f81f287d95b28c80ee565817c4 Author: Jan Kara Date: Fri Feb 8 04:20:51 2008 -0800 udf: fix adding entry to a directory When adding directory entry to a directory, we have to properly increase length of the last extent. Handle this similarly as extending regular files - make extents always have size multiple of block size (it will be truncated down to proper size in udf_clear_inode()). Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af793295bf9ee92660f5e77d337b0493cea3f9b9 Author: Jan Kara Date: Fri Feb 8 04:20:50 2008 -0800 udf: cleanup directory offset handling Position in directory returned by readdir is offset of directory entry divided by four (don't ask me why). Make this conversion only when reading f_pos from userspace / writing it there and internally work in bytes. It makes things more easily readable and also fixes a bug (we forgot to divide length of the entry by 4 when advancing f_pos in udf_add_entry()). Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 32a8f24dd75c2be34606e77414afba7bc6b5b366 Author: Mike Galbraith Date: Fri Feb 8 04:20:49 2008 -0800 udf: avoid unnecessary synchronous writes Fix udf_clear_inode() to request asynchronous writeout in icache reclaim path. Signed-off-by: Mike Galbraith Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f3fbd08976f1d2562d6174d5fe4c85d12bb7d54 Author: Marcin Slusarz Date: Fri Feb 8 04:20:49 2008 -0800 udf: fix signedness issue sparse generated: fs/udf/namei.c:896:15: originally declared here fs/udf/namei.c:1147:41: warning: incorrect type in argument 3 (different signedness) fs/udf/namei.c:1147:41: expected int *offset fs/udf/namei.c:1147:41: got unsigned int * fs/udf/namei.c:1152:78: warning: incorrect type in argument 3 (different signedness) fs/udf/namei.c:1152:78: expected int *offset fs/udf/namei.c:1152:78: got unsigned int * Signed-off-by: Marcin Slusarz Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ed161718a8f763130e6e349f2bbb1b764e6c5b3 Author: Marcin Slusarz Date: Fri Feb 8 04:20:48 2008 -0800 udf: fix 3 signedness & 1 unitialized variable warnings sparse generated: fs/udf/inode.c:324:41: warning: incorrect type in argument 4 (different signedness) fs/udf/inode.c:324:41: expected long * fs/udf/inode.c:324:41: got unsigned long * inode_getblk always set 4th argument to uint32_t value 3rd parameter of map_bh is sector_t (which is unsigned long or u64) so convert phys value to sector_t fs/udf/inode.c:1818:47: warning: incorrect type in argument 3 (different signedness) fs/udf/inode.c:1818:47: expected int * fs/udf/inode.c:1818:47: got unsigned int * fs/udf/inode.c:1826:46: warning: incorrect type in argument 3 (different signedness) fs/udf/inode.c:1826:46: expected int * fs/udf/inode.c:1826:46: got unsigned int * udf_get_filelongad and udf_get_shortad are called always for uint32_t values (struct extent_position->offset), so it's safe to convert offset parameter to uint32_t gcc warned: fs/udf/inode.c: In function 'udf_get_block': fs/udf/inode.c:299: warning: 'phys' may be used uninitialized in this function initialize it to 0 (if someday someone will break inode_getblk we will catch it immediately) Signed-off-by: Marcin Slusarz Cc: Ben Fennema Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 934c5e6019758305b9cb1eb977c5eac997cd0180 Author: Marcin Slusarz Date: Fri Feb 8 04:20:47 2008 -0800 udf: remove wrong prototype of udf_readdir sparse generated: fs/udf/dir.c:78:5: warning: symbol 'udf_readdir' was not declared. Should it be static? there are 2 different prototypes of udf_readdir - remove them and move code around to make it still compile Signed-off-by: Marcin Slusarz Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a9ca663578321695658675103c35452d8ce91d85 Author: Adrian Bunk Date: Fri Feb 8 04:20:47 2008 -0800 kill UDFFS_{DATE,VERSION} Printing date and version of a driver makes sense if there's a maintainer who's maintaining and using these, but printing ancient version information only confuses users. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28f7c4d413b9e6326f8d0aef31cd5ba8500b20dd Author: Marcin Slusarz Date: Fri Feb 8 04:20:46 2008 -0800 udf: improve readability of udf_load_partition Signed-off-by: Marcin Slusarz Acked-by: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 756fa92f4d725698ffa4ac1faeb8f4e8cdb6cd95 Author: Marcin Slusarz Date: Fri Feb 8 04:20:46 2008 -0800 udf: fix udf_debug macro udf_debug should be enclosed with do { } while (0) to be safely used in code like below: if (something) udf_debug(); else anything; (Otherwise compiler will not compile it with: "error: expected expression before 'else'") Signed-off-by: Marcin Slusarz Cc: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48d6d8ff7dca804536298e517298182c4a51c421 Author: Marcin Slusarz Date: Fri Feb 8 04:20:44 2008 -0800 udf: cache struct udf_inode_info cache UDF_I(struct inode *) return values when there are at least 2 uses in one function Signed-off-by: Marcin Slusarz Acked-by: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c0b344385fa05f6bea462e707fcba89f9e2776c2 Author: Marcin Slusarz Date: Fri Feb 8 04:20:42 2008 -0800 udf: remove UDF_I_* macros and open code them Signed-off-by: Marcin Slusarz Acked-by: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e0f001736651f6f859aeca95f895c829d223cdb Author: Marcin Slusarz Date: Fri Feb 8 04:20:41 2008 -0800 udf: convert byte order of constant instead of variable convert byte order of constant instead of variable, which can be done at compile time (vs run time) Signed-off-by: Marcin Slusarz Acked-by: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4daa1b87992ff210c19a6347cabde22335667004 Author: Marcin Slusarz Date: Fri Feb 8 04:20:41 2008 -0800 udf: replace loops coded with goto to real loops Signed-off-by: Marcin Slusarz Acked-by: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 742ba02a51c8d0bf5446b154531179760c1ed0a2 Author: Marcin Slusarz Date: Fri Feb 8 04:20:40 2008 -0800 udf: create common function for changing free space counter Signed-off-by: Marcin Slusarz Acked-by: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3f2587bb22bbcd679e9cf034fb4a29bb48b051b3 Author: Marcin Slusarz Date: Fri Feb 8 04:20:39 2008 -0800 udf: create common function for tag checksumming Signed-off-by: Marcin Slusarz Acked-by: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b11111aba6c80cc2969fd1806d2a869bfc9f357 Author: Marcin Slusarz Date: Fri Feb 8 04:20:36 2008 -0800 udf: fix coding style fix coding style errors found by checkpatch: - assignments in if conditions - braces {} around single statement blocks - no spaces after commas - printks without KERN_* - lines longer than 80 characters - spaces between "type *" and variable name before: 192 errors, 561 warnings, 8987 lines checked after: 1 errors, 38 warnings, 9468 lines checked Signed-off-by: Marcin Slusarz Cc: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd45a420f93d18c91115f3f0568dd6a2555aa15a Author: Marcin Slusarz Date: Fri Feb 8 04:20:35 2008 -0800 udf: fix sparse warnings (shadowing & mismatch between declaration and definition) fix sparse warnings: fs/udf/super.c:1431:24: warning: symbol 'bh' shadows an earlier one fs/udf/super.c:1347:21: originally declared here fs/udf/super.c:472:6: warning: symbol 'udf_write_super' was not declared. Should it be static? Signed-off-by: Marcin Slusarz Cc: Ben Fennema Cc: Jan Kara Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 883cb9d1842a37c6eed77f2c64792d35048c1e8d Author: Marcin Slusarz Date: Fri Feb 8 04:20:34 2008 -0800 udf: move calculating of nr_groups into helper function Signed-off-by: Marcin Slusarz Cc: Ben Fennema Acked-by: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66e1da3f47d5aaa278d116e72d2f8e8f204cdca3 Author: Marcin Slusarz Date: Fri Feb 8 04:20:33 2008 -0800 udf: convert macros related to bitmaps to functions convert UDF_SB_ALLOC_BITMAP macro to udf_sb_alloc_bitmap function convert UDF_SB_FREE_BITMAP macro to udf_sb_free_bitmap function Signed-off-by: Marcin Slusarz Cc: Ben Fennema Acked-by: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit deae6cfcdc206f68e89346295909a2629f0e0606 Author: Marcin Slusarz Date: Fri Feb 8 04:20:33 2008 -0800 udf: check if udf_load_logicalvol failed udf_load_logicalvol may fail eg in out of memory conditions - check it and propagate error further Signed-off-by: Marcin Slusarz Cc: Ben Fennema Acked-by: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dc5d39be6dfb54a50c8ee1f6154b10181c974db1 Author: Marcin Slusarz Date: Fri Feb 8 04:20:32 2008 -0800 udf: convert UDF_SB_ALLOC_PARTMAPS macro to udf_sb_alloc_partition_maps function - convert UDF_SB_ALLOC_PARTMAPS macro to udf_sb_alloc_partition_maps function - convert kmalloc + memset to kcalloc - check if kcalloc failed (partially) Signed-off-by: Marcin Slusarz Cc: Ben Fennema Cc: Jan Kara Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c79e987d629cb0f8f7e2983725f4434a2dec66b Author: Marcin Slusarz Date: Fri Feb 8 04:20:30 2008 -0800 udf: remove some ugly macros remove macros: - UDF_SB_PARTMAPS - UDF_SB_PARTTYPE - UDF_SB_PARTROOT - UDF_SB_PARTLEN - UDF_SB_PARTVSN - UDF_SB_PARTNUM - UDF_SB_TYPESPAR - UDF_SB_TYPEVIRT - UDF_SB_PARTFUNC - UDF_SB_PARTFLAGS - UDF_SB_VOLIDENT - UDF_SB_NUMPARTS - UDF_SB_PARTITION - UDF_SB_SESSION - UDF_SB_ANCHOR - UDF_SB_LASTBLOCK - UDF_SB_LVIDBH - UDF_SB_LVID - UDF_SB_UMASK - UDF_SB_GID - UDF_SB_UID - UDF_SB_RECORDTIME - UDF_SB_SERIALNUM - UDF_SB_UDFREV - UDF_SB_FLAGS - UDF_SB_VAT - UDF_UPDATE_UDFREV - UDF_SB_FREE and open code them convert UDF_SB_LVIDIU macro to udf_sb_lvidiu function rename some struct udf_sb_info fields: - s_volident to s_volume_ident - s_lastblock to s_last_block - s_lvidbh to s_lvid_bh - s_recordtime to s_record_time - s_serialnum to s_serial_number; - s_vat to s_vat_inode; Signed-off-by: Marcin Slusarz Cc: Ben Fennema Cc: Jan Kara Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a71fc5de56338076fe99f24f50bccfebabefe18 Author: Marcin Slusarz Date: Fri Feb 8 04:20:28 2008 -0800 udf: fix coding style of super.c fix coding style errors found by checkpatch: - assignments in if conditions - braces {} around single statement blocks - no spaces after commas - printks without KERN_* - lines longer than 80 characters before: total: 50 errors, 207 warnings, 1835 lines checked after: total: 0 errors, 164 warnings, 1872 lines checked all 164 warnings left are lines longer than 80 characters; this file has too much indentation with really long expressions to break all those lines now; will fix later Signed-off-by: Marcin Slusarz Cc: Ben Fennema Acked-by: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74bedc4d56211b30686c6f2f574bf6c6a9654887 Author: Christoph Hellwig Date: Fri Feb 8 04:20:28 2008 -0800 libfs: rename simple_attr_close to simple_attr_release simple_attr_close implementes ->release so it should be named accordingly. Signed-off-by: Christoph Hellwig Cc: Cc: Arnd Bergmann Cc: Greg KH Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9261303ab7589cda6a3b95f9f80c9063538dc335 Author: Christoph Hellwig Date: Fri Feb 8 04:20:27 2008 -0800 libfs: make simple attributes interruptible Use mutex_lock_interruptible in simple_attr_read/write. Signed-off-by: Christoph Hellwig Cc: Cc: Arnd Bergmann Cc: Greg KH Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b88b0998e35d239e74446cc30f354bdab86df89 Author: Christoph Hellwig Date: Fri Feb 8 04:20:26 2008 -0800 libfs: allow error return from simple attributes Sometimes simple attributes might need to return an error, e.g. for acquiring a mutex interruptibly. In fact we have that situation in spufs already which is the original user of the simple attributes. This patch merged the temporarily forked attributes in spufs back into the main ones and allows to return errors. [akpm@linux-foundation.org: build fix] Signed-off-by: Christoph Hellwig Cc: Cc: Arnd Bergmann Cc: Greg KH Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit efae09f3e99fcc1bdead7bc23a508b3bade3f82f Author: Jesper Juhl Date: Fri Feb 8 04:20:25 2008 -0800 Nuke duplicate header from sysctl.c Don't include linux/security.h twice in kernel/sysctl.c Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f8db694e46ac30c171eb3537aba677a5671cda02 Author: Jesper Juhl Date: Fri Feb 8 04:20:24 2008 -0800 Nuke a duplicate include from profile.c Remove duplicate inclusion of linux/profile.h from kernel/profile.c Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2dc9c913154b64efa8346e81cf298012f090c1b1 Author: Jesper Juhl Date: Fri Feb 8 04:20:24 2008 -0800 Nuke duplicate include from printk.c Remove the duplicate inclusion of linux/jiffies.h from kernel/printk.c Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18914b1884ebdbcd4d4454100502a23d1d2dba43 Author: Mike Galbraith Date: Fri Feb 8 04:20:23 2008 -0800 write_inode_now(): avoid unnecessary synchronous write We shouldn't use WB_SYNC_ALL if the caller is asking for asynchronous treatment. Signed-off-by: Mike Galbraith Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit abe8be3abe4c2043bd766f32d7eba62c12dbb0b3 Author: Andi Kleen Date: Fri Feb 8 04:20:23 2008 -0800 Allow executables larger than 2GB This allows us to use executables >2GB. Based on a patch by Dave Anderson Signed-off-by: Andi Kleen Cc: Dave Anderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 531d7d4256f3726b93f7a91f97132a944ab28148 Author: Mike Frysinger Date: Fri Feb 8 04:20:22 2008 -0800 asm-*/posix_types.h: scrub __GLIBC__ Some arches (like alpha and ia64) already have a clean posix_types.h header. This brings all the others in line by removing all references to __GLIBC__ (and some undocumented __USE_ALL). Signed-off-by: Mike Frysinger Acked-by: Ingo Molnar Cc: Ulrich Drepper Cc: Roland McGrath Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90b315af12b427eeb09b2812343fb4ef9d01cf17 Author: Evgeniy Dushistov Date: Fri Feb 8 04:20:16 2008 -0800 ufs: fix symlink creation on ufs2 If we create symlink on UFS2 filesystem under Linux, it looks wrong under other OSes, because of max symlink length field was not initialized properly, and data blocks were not used to save short symlink names. [akpm@linux-foundation.org: add missing fs32_to_cpu()] Signed-off-by: Evgeniy Dushistov Cc: Steven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 91dbbe4896f374462c5912fbb3ec0dbab4814783 Author: Christoph Hellwig Date: Fri Feb 8 04:20:16 2008 -0800 ext2: remove unused ext2_put_inode prototype Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c2ec66828fd253802abb912668f4bf9597e3c898 Author: Rusty Russell Date: Fri Feb 8 04:20:15 2008 -0800 aio: negative offset should return -EINVAL An AIO read or write should return -EINVAL if the offset is negative. This check matches the one in pread and pwrite. This was found by the libaio test suite. Signed-off-by: Rusty Russell Acked-by: Zach Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7adfa2ff3efa02a7a9f2632d2d2662d3e5eb5304 Author: Rusty Russell Date: Fri Feb 8 04:20:14 2008 -0800 aio: partial write should not return error code When an AIO write gets an error after writing some data (eg. ENOSPC), it should return the amount written already, not the error. Just like write() is supposed to. This was found by the libaio test suite. Signed-off-by: Rusty Russell Acked-By: Zach Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 25478445c4a39318acbe08ba8df7945766cbb5b5 Author: Alexey Dobriyan Date: Fri Feb 8 04:20:14 2008 -0800 Fix container_of() usage Using "attr" twice is not OK, because it effectively prohibits such container_of() on variables not named "attr". Signed-off-by: Alexey Dobriyan Acked-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 50e8a2890ed0eeb7a11ae0c39144fcdd1cad1cf8 Author: Marcin Slusarz Date: Fri Feb 8 04:20:13 2008 -0800 ext3: replace all adds to little endians variables with le*_add_cpu 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); sparse didn't generate any new warning with this patch Signed-off-by: Marcin Slusarz Cc: Mark Fasheh Cc: David Chinner Cc: Timothy Shimmin Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b5f6883683c91ad7e1af32b7ceeb604d68e2865 Author: Marcin Slusarz Date: Fri Feb 8 04:20:12 2008 -0800 byteorder: move le32_add_cpu & friends from OCFS2 to core This patchset moves le*_add_cpu and be*_add_cpu functions from OCFS2 to core header (1st), converts ext3 filesystem to this API (2nd) and replaces XFS different named functions with new ones (3rd). There are many places where these functions will be useful. Just look at: grep -r 'cpu_to_[ble12346]*([ble12346]*_to_cpu.*[-+]' linux-src/ Patch for ext3 is an example how conversions will probably look like. This patch: - move inline functions which add native byte order variable to little/big endian variable to core header * le16_add_cpu(__le16 *var, u16 val) * le32_add_cpu(__le32 *var, u32 val) * le64_add_cpu(__le64 *var, u64 val) * be32_add_cpu(__be32 *var, u32 val) - add for completeness: * be16_add_cpu(__be16 *var, u16 val) * be64_add_cpu(__be64 *var, u64 val) Signed-off-by: Marcin Slusarz Acked-by: Mark Fasheh Cc: David Chinner Cc: Timothy Shimmin Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2004dc8eec1b4f0692b3be87ea80c70faa44d619 Author: Jan Kara Date: Fri Feb 8 04:20:11 2008 -0800 Use pgoff_t instead of unsigned long Convert variables containing page indexes to pgoff_t. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 476aed3870b26735c4fcfdaa95420fa9e1de5119 Author: Andrew Morton Date: Fri Feb 8 04:20:10 2008 -0800 aoe: statically initialise devlist_lock I guess aoedev_init() can go away now. Cc: Greg KH Cc: "Ed L. Cashin" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 52e112b3ab6b2b35a144565c8ea3bdda1e2845f2 Author: Ed L. Cashin Date: Fri Feb 8 04:20:09 2008 -0800 aoe: update copyright date Update the year in the copyright notices. Signed-off-by: Ed L. Cashin Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 578c4aa0b455a1850208ccc67ca1ca23697e72f5 Author: Ed L. Cashin Date: Fri Feb 8 04:20:09 2008 -0800 aoe: make error messages more specific Andrew Morton pointed out that the "too many targets" message in patch 2 could be printed for failing GFP_ATOMIC allocations. This patch makes the messages more specific. Signed-off-by: Ed L. Cashin Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d75981a8094e9f84fae65a6a83b361e3893b971 Author: Ed L. Cashin Date: Fri Feb 8 04:20:08 2008 -0800 aoe: the aoeminor doesn't need a long format The aoedev aoeminor member doesn't need a long format. Signed-off-by: Ed L. Cashin Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7df620d852642d424afc9777fe57880e02c92832 Author: Ed L. Cashin Date: Fri Feb 8 04:20:07 2008 -0800 aoe: add module parameter for users who need more outstanding I/O An AoE target provides an estimate of the number of outstanding commands that the AoE initiator can send before getting a response. The aoe_maxout parameter provides a way to set an even lower limit. It will not allow a user to use more outstanding commands than the target permits. If a user discovers a problem with a large setting, this parameter provides a way for us to work with them to debug the problem. We expect to improve the dynamic window sizing algorithm and drop this parameter. For the time being, it is a debugging aid. Signed-off-by: Ed L. Cashin Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b9699bbd24e82d2ec3bb5a43100099a936ded04 Author: Ed L. Cashin Date: Fri Feb 8 04:20:06 2008 -0800 aoe: only install new AoE device once An aoe driver user who had about 70 AoE targets found that he was hitting a BUG in sysfs_create_file because the aoe driver was trying to tell the kernel about an AoE device more than once. Each AoE device was reachable by several local network interfaces, and multiple ATA device indentify responses were returning from that single device. This patch eliminates a race condition so that aoe always informs the block layer of a new AoE device once in the presence of multiple incoming ATA device identify responses. Signed-off-by: Ed L. Cashin Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9bb237b6a670fa7a6af3adc65231b1f6fda44510 Author: Ed L. Cashin Date: Fri Feb 8 04:20:05 2008 -0800 aoe: dynamically allocate a capped number of skbs when necessary What this Patch Does Even before this recent series of 12 patches to 2.6.22-rc4, the aoe driver was reusing a small set of skbs that were allocated once and were only used for outbound AoE commands. The network layer cannot be allowed to put_page on the data that is still associated with a bio we haven't returned to the block layer, so the aoe driver (even before the patch under discussion) is still the owner of skbs that have been handed to the network layer for transmission. We need to keep track of these skbs so that we can free them, but by tracking them, we can also easily re-use them. The new patch was a response to the behavior of certain network drivers. We cannot reuse an skb that the network driver still has in its transmit ring. Network drivers can defer transmit ring cleanup and then use the state in the skb to determine how many data segments to clean up in its transmit ring. The tg3 driver is one driver that behaves in this way. When the network driver defers cleanup of its transmit ring, the aoe driver can find itself in a situation where it would like to send an AoE command, and the AoE target is ready for more work, but the network driver still has all of the pre-allocated skbs. In that case, the new patch just calls alloc_skb, as you'd expect. We don't want to get carried away, though. We try not to do excessive allocation in the write path, so we cap the number of skbs we dynamically allocate. Probably calling it a "dynamic pool" is misleading. We were already trying to use a small fixed-size set of pre-allocated skbs before this patch, and this patch just provides a little headroom (with a ceiling, though) to accomodate network drivers that hang onto skbs, by allocating when needed. The d->skbpool_hd list of allocated skbs is necessary so that we can free them later. We didn't notice the need for this headroom until AoE targets got fast enough. Alternatives If the network layer never did a put_page on the pages in the bio's we get from the block layer, then it would be possible for us to hand skbs to the network layer and forget about them, allowing the network layer to free skbs itself (and thereby calling our own skb->destructor callback function if we needed that). In that case we could get rid of the pre-allocated skbs and also the d->skbpool_hd, instead just calling alloc_skb every time we wanted to transmit a packet. The slab allocator would effectively maintain the list of skbs. Besides a loss of CPU cache locality, the main concern with that approach the danger that it would increase the likelihood of deadlock when VM is trying to free pages by writing dirty data from the page cache through the aoe driver out to persistent storage on an AoE device. Right now we have a situation where we have pre-allocation that corresponds to how much we use, which seems ideal. Of course, there's still the separate issue of receiving the packets that tell us that a write has successfully completed on the AoE target. When memory is low and VM is using AoE to flush dirty data to free up pages, it would be perfect if there were a way for us to register a fast callback that could recognize write command completion responses. But I don't think the current problems with the receive side of the situation are a justification for exacerbating the problem on the transmit side. Signed-off-by: Ed L. Cashin Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 262bf54144ebcb78cd0d057d2705dc5fb7bba7ac Author: Ed L. Cashin Date: Fri Feb 8 04:20:03 2008 -0800 aoe: user can ask driver to forget previously detected devices When an AoE device is detected, the kernel is informed, and a new block device is created. If the device is unused, the block device corresponding to remote device that is no longer available may be removed from the system by telling the aoe driver to "flush" its list of devices. Without this patch, software like GPFS and LVM may attempt to read from AoE devices that were discovered earlier but are no longer present, blocking until the I/O attempt times out. Signed-off-by: Ed L. Cashin Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf446f0dbafb5428a551da1c0df8f56316831df8 Author: Ed L. Cashin Date: Fri Feb 8 04:20:03 2008 -0800 aoe: eliminate goto and improve readability Adam Richter suggested eliminating this goto. Signed-off-by: Ed L. Cashin Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 468fc53050a81d73893ce619a62914799e8d86bb Author: Ed L. Cashin Date: Fri Feb 8 04:20:02 2008 -0800 aoe: clean up udev configuration example This patch adds a known default location for the udev configuration file and uses the more recent "==" syntax for SUBSYSTEM and KERNEL. Signed-off-by: Ed L. Cashin Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1eb0da4cea28ae8f1bbe61822a2cc04e6d074e03 Author: Ed L. Cashin Date: Fri Feb 8 04:20:01 2008 -0800 aoe: mac_addr: avoid 64-bit arch compiler warnings By returning unsigned long long, mac_addr does not generate compiler warnings on 64-bit architectures. Signed-off-by: Ed L. Cashin Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68e0d42f39d85b334d3867a4e5fc2e0e775c1a6c Author: Ed L. Cashin Date: Fri Feb 8 04:20:00 2008 -0800 aoe: handle multiple network paths to AoE device A remote AoE device is something can process ATA commands and is identified by an AoE shelf number and an AoE slot number. Such a device might have more than one network interface, and it might be reachable by more than one local network interface. This patch tracks the available network paths available to each AoE device, allowing them to be used more efficiently. Andrew Morton asked about the call to msleep_interruptible in the revalidate function. Yes, if a signal is pending, then msleep_interruptible will not return 0. That means we will not loop but will call aoenet_xmit with a NULL skb, which is a noop. If the system is too low on memory or the aoe driver is too low on frames, then the user can hit control-C to interrupt the attempt to do a revalidate. I have added a comment to the code summarizing that. Andrew Morton asked whether the allocation performed inside addtgt could use a more relaxed allocation like GFP_KERNEL, but addtgt is called when the aoedev lock has been locked with spin_lock_irqsave. It would be nice to allocate the memory under fewer restrictions, but targets are only added when the device is being discovered, and if the target can't be added right now, we can try again in a minute when then next AoE config query broadcast goes out. Andrew Morton pointed out that the "too many targets" message could be printed for failing GFP_ATOMIC allocations. The last patch in this series makes the messages more specific. Signed-off-by: Ed L. Cashin Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8911ef4dc97f77797f297318010a7424300d2d50 Author: Ed L. Cashin Date: Fri Feb 8 04:19:58 2008 -0800 aoe: bring driver version number to 47 Signed-off-by: Ed L. Cashin Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b21985c91ffb3062bfbd3f2bfbeceb5333afaac Author: Jan Beulich Date: Fri Feb 8 04:19:57 2008 -0800 constify tables in kernel/sysctl_check.c Remains the question whether it is intended that many, perhaps even large, tables are compiled in without ever having a chance to get used, i.e. whether there shouldn't #ifdef CONFIG_xxx get added. [akpm@linux-foundation.org: fix cut-n-paste error] Signed-off-by: Jan Beulich Acked-by: "Eric W. Biederman" Cc: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit edde08f2a8f13a648ab6d26f33e88d0c6146f3d1 Author: Harvey Harrison Date: Fri Feb 8 04:19:57 2008 -0800 misc: removal of final callers using fastcall Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 144b2a91468bdc0d4fa64b220c152fb58b8ffe05 Author: Harvey Harrison Date: Fri Feb 8 04:19:56 2008 -0800 asm-generic: remove fastcall Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec7015840ad7a8cdc87f52367ffe9c0b0401d919 Author: Harvey Harrison Date: Fri Feb 8 04:19:55 2008 -0800 Remove fastcall from linux/include [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9f741cb8fecef923cce1dff820ac6aa78c12d136 Author: Harvey Harrison Date: Fri Feb 8 04:19:55 2008 -0800 lib: remove fastcall from lib/* [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ad5b3a505e68cfdc342933d6e0fc0eaa5e0a4f7 Author: Harvey Harrison Date: Fri Feb 8 04:19:53 2008 -0800 kernel: remove fastcall in kernel/* [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Harvey Harrison Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc9b52cd8f5f459b88adcf67c47668425ae31a78 Author: Harvey Harrison Date: Fri Feb 8 04:19:52 2008 -0800 fs: remove fastcall, it is always empty [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 75acb9cd2ef0bbb463098fdd40cbcdda79d45fa3 Author: Nick Piggin Date: Fri Feb 8 04:19:50 2008 -0800 rd: support XIP Support direct_access XIP method with brd. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9db5579be4bb5320c3248f6acf807aedf05ae143 Author: Nick Piggin Date: Fri Feb 8 04:19:49 2008 -0800 rewrite rd This is a rewrite of the ramdisk block device driver. The old one is really difficult because it effectively implements a block device which serves data out of its own buffer cache. It relies on the dirty bit being set, to pin its backing store in cache, however there are non trivial paths which can clear the dirty bit (eg. try_to_free_buffers()), which had recently lead to data corruption. And in general it is completely wrong for a block device driver to do this. The new one is more like a regular block device driver. It has no idea about vm/vfs stuff. It's backing store is similar to the buffer cache (a simple radix-tree of pages), but it doesn't know anything about page cache (the pages in the radix tree are not pagecache pages). There is one slight downside -- direct block device access and filesystem metadata access goes through an extra copy and gets stored in RAM twice. However, this downside is only slight, because the real buffercache of the device is now reclaimable (because we're not playing crazy games with it), so under memory intensive situations, footprint should effectively be the same -- maybe even a slight advantage to the new driver because it can also reclaim buffer heads. The fact that it now goes through all the regular vm/fs paths makes it much more useful for testing, too. text data bss dec hex filename 2837 849 384 4070 fe6 drivers/block/rd.o 3528 371 12 3911 f47 drivers/block/brd.o Text is larger, but data and bss are smaller, making total size smaller. A few other nice things about it: - Similar structure and layout to the new loop device handlinag. - Dynamic ramdisk creation. - Runtime flexible buffer head size (because it is no longer part of the ramdisk code). - Boot / load time flexible ramdisk size, which could easily be extended to a per-ramdisk runtime changeable size (eg. with an ioctl). - Can use highmem for the backing store. [akpm@linux-foundation.org: fix build] [byron.bbradley@gmail.com: make rd_size non-static] Signed-off-by: Nick Piggin Signed-off-by: Byron Bradley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit daeb51e62cacde31c8245866e1096ff79a0c83fe Author: David Howells Date: Fri Feb 8 04:19:48 2008 -0800 mn10300: add platform MTD support for the ASB2303 board Add platform MTD support for the ASB2303 board. Signed-off-by: David Howells Acked-by: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b920de1b77b72ca9432ac3f97edb26541e65e5dd Author: David Howells Date: Fri Feb 8 04:19:31 2008 -0800 mn10300: add the MN10300/AM33 architecture to the kernel Add architecture support for the MN10300/AM33 CPUs produced by MEI to the kernel. This patch also adds board support for the ASB2303 with the ASB2308 daughter board, and the ASB2305. The only processor supported is the MN103E010, which is an AM33v2 core plus on-chip devices. [akpm@linux-foundation.org: nuke cvs control strings] Signed-off-by: Masakazu Urade Signed-off-by: Koichi Yasutake Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef3d534754f31fed9c3b976fee1ece1b3bc38282 Author: David Howells Date: Fri Feb 8 04:19:30 2008 -0800 mn10300: allocate serial port UART IDs for on-chip serial ports Allocate serial port UART type IDs for the MN10300 on-chip serial ports. Signed-off-by: David Howells Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62fb44b9622e4c0e00f31fb27620d97a00ae3dc6 Author: David Howells Date: Fri Feb 8 04:19:30 2008 -0800 usb: net2280 can't have a function called show_registers() net2280 can't have a function called show_registers() because this can produce a namespace clash with an arch function of the same name. All this driver's functions and variables should really be prefixed with "net2280_" to avoid such a problem in future. Signed-off-by: David Howells Cc: Greg KH Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1eb114112381eb66ebacdace1b6e70d30d603f9c Author: David Howells Date: Fri Feb 8 04:19:29 2008 -0800 aout: remove unnecessary inclusions of {asm, linux}/a.out.h Remove now unnecessary inclusions of {asm,linux}/a.out.h. [akpm@linux-foundation.org: fix alpha build] Signed-off-by: David Howells Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7fa3031500ec9b0a7460c8c23751799006ffee74 Author: David Howells Date: Fri Feb 8 04:19:28 2008 -0800 aout: suppress A.OUT library support if !CONFIG_ARCH_SUPPORTS_AOUT Suppress A.OUT library support if CONFIG_ARCH_SUPPORTS_AOUT is not set. Not all architectures support the A.OUT binfmt, so the ELF binfmt should not be permitted to go looking for A.OUT libraries to load in such a case. Not only that, but under such conditions A.OUT core dumps are not produced either. To make this work, this patch also does the following: (1) Makes the existence of the contents of linux/a.out.h contingent on CONFIG_ARCH_SUPPORTS_AOUT. (2) Renames dump_thread() to aout_dump_thread() as it's only called by A.OUT core dumping code. (3) Moves aout_dump_thread() into asm/a.out-core.h and makes it inline. This is then included only where needed. This means that this bit of arch code will be stored in the appropriate A.OUT binfmt module rather than the core kernel. (4) Drops A.OUT support for Blackfin (according to Mike Frysinger it's not needed) and FRV. This patch depends on the previous patch to move STACK_TOP[_MAX] out of asm/a.out.h and into asm/processor.h as they're required whether or not A.OUT format is available. [jdike@addtoit.com: uml: re-remove accidentally restored code] Signed-off-by: David Howells Cc: Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b0b933c08bd5fd053bbba8ba6387f543be03d49f Author: David Howells Date: Fri Feb 8 04:19:27 2008 -0800 aout: mark arches that support A.OUT format Mark arches that support A.OUT format by including the following in their master Kconfig files: config ARCH_SUPPORTS_AOUT def_bool y This should also be set if the arch provides compatibility A.OUT support for an older arch, for instance x86_64 for i386 or sparc64 for sparc. I've guessed at which arches don't, based on comments in the code, however I'm sure that some of the ones I've marked as 'yes' actually should be 'no'. Signed-off-by: David Howells Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 922a70d327bd4b11342c2afd08e20d35f52064c3 Author: David Howells Date: Fri Feb 8 04:19:26 2008 -0800 aout: move STACK_TOP[_MAX] to asm/processor.h Move STACK_TOP[_MAX] out of asm/a.out.h and into asm/processor.h as they're required whether or not A.OUT format is available. Signed-off-by: David Howells Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3eb056764dd806bbe84eb604e45e7470feeaafd8 Author: Li Zefan Date: Fri Feb 8 04:19:25 2008 -0800 time: fix typo in comments Fix typo in comments. BTW: I have to fix coding style in arch/ia64/kernel/time.c also, otherwise checkpatch.pl will be complaining. Signed-off-by: Li Zefan Cc: Thomas Gleixner Cc: Ingo Molnar Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf4fc6cb76e50b01666e28a9f4b2e6fbcbb96d5f Author: Li Zefan Date: Fri Feb 8 04:19:24 2008 -0800 timekeeping: rename timekeeping_is_continuous to timekeeping_valid_for_hres Function timekeeping_is_continuous() no longer checks flag CLOCK_IS_CONTINUOUS, and it checks CLOCK_SOURCE_VALID_FOR_HRES now. So rename the function accordingly. Signed-off-by: Li Zefan Cc: Thomas Gleixner Cc: Ingo Molnar Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b858e6ff9a38b987a83d22e6f2a2f621c80608d Author: Li Zefan Date: Fri Feb 8 04:19:24 2008 -0800 clockevent: simplify list operations list_for_each_safe() suffices here. Signed-off-by: Li Zefan Cc: Thomas Gleixner Cc: Ingo Molnar Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 818c357802e2791880057fe752dc9ce9e210f772 Author: Li Zefan Date: Fri Feb 8 04:19:23 2008 -0800 clocksource: remove redundant code Flag CLOCK_SOURCE_WATCHDOG is cleared twice. Note clocksource_change_rating() won't do anyting with the cs flag. Signed-off-by: Li Zefan Cc: Thomas Gleixner Cc: Ingo Molnar Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 146a505d498c36de98ec161d791dd50beca7f9a3 Author: Pavel Emelyanov Date: Fri Feb 8 04:19:22 2008 -0800 Get rid of the kill_pgrp_info() function There's only one caller left - the kill_pgrp one - so merge these two functions and forget the kill_pgrp_info one. Signed-off-by: Pavel Emelyanov Reviewed-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d5df763b81946a405837b80874516dfc2a8f7ebf Author: Pavel Emelyanov Date: Fri Feb 8 04:19:22 2008 -0800 Clean up the kill_something_info This is the first step (of two) in removing the kill_pgrp_info. All the users of this function are in kernel/signal.c, but all they need is to call __kill_pgrp_info() with the tasklist_lock read-locked. Fortunately, one of its users is the kill_something_info(), which already needs this lock in one of its branches, so clean these branches up and call the __kill_pgrp_info() directly. Based on Oleg's view of how this function should look. Signed-off-by: Oleg Nesterov Signed-off-by: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 56496c1d83dfae0c74e2f43adb45d2d95e16c0d5 Author: Pavel Emelyanov Date: Fri Feb 8 04:19:21 2008 -0800 Pidns: fix badly converted mqueues pid handling When sending the pid namespaces patches I wrongly converted the tsk->tgid into task_pid_vnr(tsk) in mqueue-s (the git id of this patch is b488893a390edfe027bae7a46e9af8083e740668). The proper behavior is to get the task_tgid_vnr(tsk). This seem to be the only mistake of that kind. Signed-off-by: Pavel Emelyanov Cc: "Eric W. Biederman" Cc: Oleg Nesterov Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c5f3e7b43300508fe3947ff3cfff0f86043bb57 Author: Pavel Emelyanov Date: Fri Feb 8 04:19:20 2008 -0800 Pidns: make full use of xxx_vnr() calls Some time ago the xxx_vnr() calls (e.g. pid_vnr or find_task_by_vpid) were _all_ converted to operate on the current pid namespace. After this each call like xxx_nr_ns(foo, current->nsproxy->pid_ns) is nothing but a xxx_vnr(foo) one. Switch all the xxx_nr_ns() callers to use the xxx_vnr() calls where appropriate. Signed-off-by: Pavel Emelyanov Reviewed-by: Oleg Nesterov Cc: "Eric W. Biederman" Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fea9d175545b38cb3e84569400419eb81bc90fa3 Author: Oleg Nesterov Date: Fri Feb 8 04:19:19 2008 -0800 ITIMER_REAL: convert to use struct pid signal_struct->tsk points to the ->group_leader and thus we have the nasty code in de_thread() which has to change it and restart ->real_timer if the leader is changed. Use "struct pid *leader_pid" instead. This also allows us to kill now unneeded send_group_sig_info(). Signed-off-by: Oleg Nesterov Acked-by: "Eric W. Biederman" Cc: Davide Libenzi Cc: Pavel Emelyanov Acked-by: Roland McGrath Acked-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46f382d2b69d2221086b823f0dbc8f32c027cac2 Author: Oleg Nesterov Date: Fri Feb 8 04:19:19 2008 -0800 uglify while_each_pid_task() to make sure we don't count the execing pricess twice There is a window when de_thread() switches the leader and drops tasklist_lock. In that window do_each_pid_task(PIDTYPE_PID) finds both new and old leaders. The problem is pretty much theoretical and probably can be ignored. Currently the only users of do_each_pid_task(PIDTYPE_PID) are send_sigio/send_sigurg, so they can send the signal to the same process twice. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Cc: Davide Libenzi Cc: Pavel Emelyanov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d36174bc2bce0372693a9cfbdef8b2689c9982cb Author: Oleg Nesterov Date: Fri Feb 8 04:19:18 2008 -0800 uglify kill_pid_info() to fix kill() vs exec() race kill_pid_info()->pid_task() could be the old leader of the execing process. In that case it is possible that the leader will be released before we take siglock. This means that kill_pid_info() (and thus sys_kill()) can return a false -ESRCH. Change the code to retry when lock_task_sighand() fails. The endless loop is not possible, __exit_signal() both clears ->sighand and does detach_pid(). Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Cc: Davide Libenzi Cc: Pavel Emelyanov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f374ada53bd1ca7c16d7607369fccc6769704956 Author: Eric W. Biederman Date: Fri Feb 8 04:19:17 2008 -0800 pid: fix solaris_procids Use task_pgrp_vnr not task_pgrp_nr so we return the process id the processes pid namespace and not in the initial pid namespace. Signed-off-by: Eric W. Biederman Cc: Pavel Emelyanov Cc: Oleg Nesterov Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69440e76f6121fe7a5193a82f45ccec08e4bb24b Author: Eric W. Biederman Date: Fri Feb 8 04:19:16 2008 -0800 pid: fix mips irix emulation pid usage [m.kozlowski@tuxland.pl: fix unbalanced parenthesis in irix_BSDsetpgrp()] Signed-off-by: Eric W. Biederman Cc: Pavel Emelyanov Cc: Oleg Nesterov Cc: Ralf Baechle Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac9a8e3f0f43d20fc316162e8e5f9186d295ff49 Author: Oleg Nesterov Date: Fri Feb 8 04:19:15 2008 -0800 sys_getsid: don't use ->nsproxy directly With the new semantics of find_vpid() we don't need to play with ->nsproxy explicitely, _vxx() do the right things. Also s/tasklist/rcu/. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 44c4e1b2581f7273ab14ef30b6430618801c57b1 Author: Eric W. Biederman Date: Fri Feb 8 04:19:15 2008 -0800 pid: Extend/Fix pid_vnr pid_vnr returns the user space pid with respect to the pid namespace the struct pid was allocated in. What we want before we return a pid to user space is the user space pid with respect to the pid namespace of current. pid_vnr is a very nice optimization but because it isn't quite what we want it is easy to use pid_vnr at times when we aren't certain the struct pid was allocated in our pid namespace. Currently this describes at least tiocgpgrp and tiocgsid in ttyio.c the parent process reported in the core dumps and the parent process in get_signal_to_deliver. So unless the performance impact is huge having an interface that does what we want instead of always what we want should be much more reliable and much less error prone. Signed-off-by: Eric W. Biederman Cc: Oleg Nesterov Acked-by: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 161550d74c07303ffa6187ba776f62df5a906a21 Author: Eric W. Biederman Date: Fri Feb 8 04:19:14 2008 -0800 pid: sys_wait... fixes This modifies do_wait and eligible child to take a pair of enum pid_type and struct pid *pid to precisely specify what set of processes are eligible to be waited for, instead of the raw pid_t value from sys_wait4. This fixes a bug in sys_waitid where you could not wait for children in just process group 1. This fixes a pid namespace crossing case in eligible_child. Allowing us to wait for a processes in our current process group even if our current process group == 0. This allows the no child with this pid case to be optimized. This allows us to optimize the pid membership test in eligible child to be optimized. This even closes a theoretical pid wraparound race where in a threaded parent if two threads are waiting for the same child and one thread picks up the child and the pid numbers wrap around and generate another child with that same pid before the other thread is scheduled (teribly insanely unlikely) we could end up waiting on the second child with the same pid# and not discover that the specific child we were waiting for has exited. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Eric W. Biederman Cc: Oleg Nesterov Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5dee1707dfbfc55eb7569b9ae5abaf932bd4c377 Author: Oleg Nesterov Date: Fri Feb 8 04:19:13 2008 -0800 move the related code from exit_notify() to exit_signals() The previous bugfix was not optimal, we shouldn't care about group stop when we are the only thread or the group stop is in progress. In that case nothing special is needed, just set PF_EXITING and return. Also, take the related "TIF_SIGPENDING re-targeting" code from exit_notify(). So, from the performance POV the only difference is that we don't trust !signal_pending() until we take ->siglock. But this in fact fixes another ___pure___ theoretical minor race. __group_complete_signal() finds the task without PF_EXITING and chooses it as the target for signal_wake_up(). But nothing prevents this task from exiting in between without noticing the pending signal and thus unpredictably delaying the actual delivery. Signed-off-by: Oleg Nesterov Cc: Davide Libenzi Cc: Ingo Molnar Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6806aac6d282d58b97763f5e17e2787e62c3b440 Author: Oleg Nesterov Date: Fri Feb 8 04:19:12 2008 -0800 sys_setsid: remove now unneeded session != 1 check Eric's "fix clone(CLONE_NEWPID)" eliminated the last reason for this hack. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d12619b5ff5664623524aef796514d1946ea3b4a Author: Oleg Nesterov Date: Fri Feb 8 04:19:12 2008 -0800 fix group stop with exit race do_signal_stop() counts all sub-thread and sets ->group_stop_count accordingly. Every thread should decrement ->group_stop_count and stop, the last one should notify the parent. However a sub-thread can exit before it notices the signal_pending(), or it may be somewhere in do_exit() already. In that case the group stop never finishes properly. Note: this is a minimal fix, we can add some optimizations later. Say we can return quickly if thread_group_empty(). Also, we can move some signal related code from exit_notify() to exit_signals(). Signed-off-by: Oleg Nesterov Acked-by: Davide Libenzi Cc: Ingo Molnar Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 430c623121ea88ca80595c99fdc63b7f8a803ae5 Author: Oleg Nesterov Date: Fri Feb 8 04:19:11 2008 -0800 start the global /sbin/init with 0,0 special pids As Eric pointed out, there is no problem with init starting with sid == pgid == 0, and this was historical linux behavior changed in 2.6.18. Remove kernel_init()->__set_special_pids(), this is unneeded and complicates the rules for sys_setsid(). This change and the previous change in daemonize() mean that /sbin/init does not need the special "session != 1" hack in sys_setsid() any longer. We can't remove this check yet, we should cleanup copy_process(CLONE_NEWPID) first, so update the comment only. Signed-off-by: Oleg Nesterov Acked-by: "Eric W. Biederman" Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 297bd42b15daed02453ff59ce6d31216a58b0398 Author: Oleg Nesterov Date: Fri Feb 8 04:19:10 2008 -0800 move daemonized kernel threads into the swapper's session Daemonized kernel threads run in the init's session. This doesn't match the behaviour of kthread_create()'ed threads, and this is one of the 2 reasons why we need a special hack in sys_setsid(). Now that set_special_pids() was changed to use struct pid, not pid_t, we can use init_struct_pid and set 0,0 special pids. Signed-off-by: Oleg Nesterov Acked-by: "Eric W. Biederman" Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8520d7c7f8611216e3b270becec95bb35b6899d4 Author: Oleg Nesterov Date: Fri Feb 8 04:19:09 2008 -0800 teach set_special_pids() to use struct pid Change set_special_pids() to work with struct pid, not pid_t from global name space. This again speedups and imho cleanups the code, also a preparation for the next patch. Signed-off-by: Oleg Nesterov Acked-by: "Eric W. Biederman" Acked-by: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4cc0a9c876d4d4eadaef97a2bff4a199946d202 Author: Oleg Nesterov Date: Fri Feb 8 04:19:09 2008 -0800 fix setsid() for sub-namespace /sbin/init sys_setsid() still deals with pid_t's from the global namespace. This means that the "session > 1" check can't help for sub-namespace init, setsid() can't succeed because copy_process(CLONE_NEWPID) populates PIDTYPE_PGID/SID links. Remove the usage of task_struct->pid and convert the code to use "struct pid". This also simplifies and speedups the code, saves one find_pid(). Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Acked-by: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e021306cff4277764a42065214fc73f2d26be4b Author: Oleg Nesterov Date: Fri Feb 8 04:19:08 2008 -0800 sys_setpgid(): simplify pid/ns interaction sys_setpgid() does unneeded conversions from pid_t to "struct pid" and vice versa. Use "struct pid" more consistently. Saves one find_vpid() and eliminates the explicit usage of ->nsproxy->pid_ns. Imho, cleanups the code. Also use the same_thread_group() helper. Signed-off-by: Oleg Nesterov Acked-by: Pavel Emelyanov Acked-by: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c543f1ee08ea6c2176dbdc47df0d0f6357c88713 Author: Oleg Nesterov Date: Fri Feb 8 04:19:07 2008 -0800 wait_task_zombie: remove ->exit_state/exit_signal checks for WNOWAIT The first "p->exit_state != EXIT_ZOMBIE" check doesn't make too much sense. The exit_state was EXIT_ZOMBIE when the function was called, and another thread can change it to EXIT_DEAD right after the check. The second condition is not possible, detached non-traced threads were already filtered out by eligible_child(), we didn't drop tasklist since then. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a515e4a62dbf7e4c213740268a5267faa69e5b2 Author: Oleg Nesterov Date: Fri Feb 8 04:19:07 2008 -0800 wait_task_continued/zombie: don't use task_pid_nr_ns() lockless Surprise, the other two wait_task_*() functions also abuse the task_pid_nr_ns() function, and may cause read-after-free or report nr == 0 in wait_task_continued(). wait_task_zombie() doesn't have this problem, but it is still better to cache pid_t rather than call task_pid_nr_ns() three times on the saved pid_namespace. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2cc3eb133baa2e9dc8efd40f417106b2ee520f3 Author: Oleg Nesterov Date: Fri Feb 8 04:19:06 2008 -0800 do_wait: fix security checks Imho, the current usage of security_task_wait() is not logical. Suppose we have the single child p, and security_task_wait(p) return -EANY. In that case waitpid(-1) returns this error. Why? Isn't it better to return ECHLD? We don't really have reapable children. Now suppose that child was stolen by gdb. In that case we find this child on ->ptrace_children and set flag = 1, but we don't check that the child was denied. So, do_wait(..., WNOHANG) returns 0, this doesn't match the behaviour above. Without WNOHANG do_wait() blocks only to return the error later, when the child will be untraced. Inho, really strange. I think eligible_child() should return the error only if the child's pid was requested explicitly, otherwise we should silently ignore the tasks which were nacked by security_task_wait(). Signed-off-by: Oleg Nesterov Cc: Roland McGrath Cc: Chris Wright Cc: Eric Paris Cc: James Morris Cc: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96fabbf55ae79826f2e8a86f4066d7e8834315ae Author: Oleg Nesterov Date: Fri Feb 8 04:19:04 2008 -0800 do_wait: cleanup delay_group_leader() usage eligible_child() == 2 means delay_group_leader(). With the previous patch this only matters for EXIT_ZOMBIE task, we can move that special check to the only place it is really needed. Also, with this patch we don't skip security_task_wait() for the group leaders in a non-empty thread group. I don't really understand the exact semantics of security_task_wait(), but imho this change is a bugfix. Also rearrange the code a bit to kill an ugly "check_continued" backdoor. Signed-off-by: Oleg Nesterov Cc: Eric Paris Cc: James Morris Cc: Roland McGrath Cc: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1bad95c3bee183719e15eebffef66afc3fb3f8b0 Author: Oleg Nesterov Date: Fri Feb 8 04:19:03 2008 -0800 wait_task_stopped(): remove unneeded delay_group_leader check wait_task_stopped() doesn't need the "delay_group_leader" parameter. If the child is not traced it must be a group leader. With or without subthreads ->group_stop_count == 0 when the whole task is stopped. Signed-off-by: Oleg Nesterov Cc: Mika Penttila Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20686a309aa98c518adbbd9b57cdbb1804143deb Author: Oleg Nesterov Date: Fri Feb 8 04:19:03 2008 -0800 ptrace_stop: fix racy nonstop_code setting If the tracer is gone and we are not going to stop, ptrace_stop() sets ->exit_code = nostop_code. However, the tracer could actually clear the exit code before detaching. In that case get_signal_to_deliver() "resends" the signal which was cancelled by the debugger. For example, it is possible that a quick PTRACE_ATTACH + PTRACE_DETACH can leave the tracee in STOPPED state. Change the behaviour of ptrace_stop(). If the caller is ptrace notify(), we should always clear ->exit_code. If the caller is get_signal_to_deliver(), we should not touch it at all. To do so, change the nonstop_code parameter to "bool clear_code" and change the callers accordingly. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9cbab8100538efdd93aeae6fc37787d986f2f558 Author: Oleg Nesterov Date: Fri Feb 8 04:19:02 2008 -0800 do_wait: factor out "retval != 0" checks Every branch if the main "if" statement does the same code at the end. Move it down. Also, fix the indentation. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee7c82da830ea860b1f9274f1f0cdf99f206e7c2 Author: Oleg Nesterov Date: Fri Feb 8 04:19:01 2008 -0800 wait_task_stopped: simplify and fix races with SIGCONT/SIGKILL/untrace wait_task_stopped() has multiple races with SIGCONT/SIGKILL. tasklist_lock does not pin the child in TASK_TRACED/TASK_STOPPED stated, almost all info reported (including exit_code) may be wrong. In fact, the code under write_lock_irq(tasklist_lock) is not safe. The child may be PTRACE_DETACH'ed at this time by another subthread, in that case it is possible we are no longer its ->parent. Change wait_task_stopped() to take ->siglock before inspecting the task. This guarantees that the child can't resume and (for example) clear its ->exit_code, so we don't need to use xchg(&p->exit_code) and re-check. The only exception is ptrace_stop() which changes ->state and ->exit_code without ->siglock held during abort. But this can only happen if both the tracer and the tracee are dying (coredump is in progress), we don't care. With this patch wait_task_stopped() doesn't move the child to the end of the ->parent list on success. This optimization could be restored, but in that case we have to take write_lock(tasklist) and do some nasty checks. Also change the do_wait() since we don't return EAGAIN any longer. [akpm@linux-foundation.org: fix up after Willy renamed everything] Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6405f7f4675884b671bee66678e1c2859bdb0e56 Author: Oleg Nesterov Date: Fri Feb 8 04:19:00 2008 -0800 ptrace_stop: fix the race with ptrace detach+attach If the tracer went away (may_ptrace_stop() failed), ptrace_stop() drops tasklist and then changes the ->state from TASK_TRACED to TASK_RUNNING. This can fool another tracer which attaches to us in between. Change the ->state under tasklist_lock to ensure that ptrace_check_attach() can't wrongly succeed. Also, remove the unnecessary mb(). Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c0c0b649d67aa775aa9851de61aade17504be70c Author: Oleg Nesterov Date: Fri Feb 8 04:19:00 2008 -0800 ptrace_check_attach: remove unneeded ->signal != NULL check It is not possible to see the PT_PTRACED task without ->signal/sighand under tasklist_lock, release_task() does ptrace_unlink() first. If the task was already released before, ptrace_attach() can't succeed and set PT_PTRACED. Remove this check. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34a1738f7da0b3d28d4b066d03a78f46b8cab68f Author: Oleg Nesterov Date: Fri Feb 8 04:18:59 2008 -0800 kill my_ptrace_child() Now that my_ptrace_child() is trivial we can use the "p->ptrace & PT_PTRACED" inline and simplify the corresponding logic in do_wait: we can't find the child in TASK_TRACED state without PT_PTRACED flag set, ptrace_untrace() either sets TASK_STOPPED or wakes up the tracee. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b39c7bfbd1436836c0fb34c5b437fda1a7a3dd4 Author: Oleg Nesterov Date: Fri Feb 8 04:18:58 2008 -0800 kill PT_ATTACHED Since the patch "Fix ptrace_attach()/ptrace_traceme()/de_thread() race" commit f5b40e363ad6041a96e3da32281d8faa191597b9 we set PT_ATTACHED and change child->parent "atomically" wrt task_list lock. This means we can remove the checks like "PT_ATTACHED && ->parent != ptracer" which were needed to catch the "ptrace attach is in progress" case. We can also remove the flag itself since nobody else uses it. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01b8b07a5d77d22e609267dcae74d15e3e9c5f13 Author: Pierre Peiffer Date: Fri Feb 8 04:18:57 2008 -0800 IPC: consolidate sem_exit_ns(), msg_exit_ns() and shm_exit_ns() sem_exit_ns(), msg_exit_ns() and shm_exit_ns() are all called when an ipc_namespace is released to free all ipcs of each type. But in fact, they do the same thing: they loop around all ipcs to free them individually by calling a specific routine. This patch proposes to consolidate this by introducing a common function, free_ipcs(), that do the job. The specific routine to call on each individual ipcs is passed as parameter. For this, these ipc-specific 'free' routines are reworked to take a generic 'struct ipc_perm' as parameter. Signed-off-by: Pierre Peiffer Cc: Cedric Le Goater Cc: Pavel Emelyanov Cc: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed2ddbf88c0ddeeae4c78bb306a116dfd867c55c Author: Pierre Peiffer Date: Fri Feb 8 04:18:57 2008 -0800 IPC: make struct ipc_ids static in ipc_namespace Each ipc_namespace contains a table of 3 pointers to struct ipc_ids (3 for msg, sem and shm, structure used to store all ipcs) These 'struct ipc_ids' are dynamically allocated for each icp_namespace as the ipc_namespace itself (for the init namespace, they are initialized with pointers to static variables instead) It is so for historical reason: in fact, before the use of idr to store the ipcs, the ipcs were stored in tables of variable length, depending of the maximum number of ipc allowed. Now, these 'struct ipc_ids' have a fixed size. As they are allocated in any cases for each new ipc_namespace, there is no gain of memory in having them allocated separately of the struct ipc_namespace. This patch proposes to make this table static in the struct ipc_namespace. Thus, we can allocate all in once and get rid of all the code needed to allocate and free these ipc_ids separately. Signed-off-by: Pierre Peiffer Acked-by: Cedric Le Goater Cc: Pavel Emelyanov Cc: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b9fcb0ec60584d639ad105c42b75a3447071e47 Author: Pierre Peiffer Date: Fri Feb 8 04:18:56 2008 -0800 IPC/semaphores: consolidate SEM_STAT and IPC_STAT commands These commands (SEM_STAT and IPC_STAT) are rather doing the same things (only the meaning of the id given as input and the return value differ). However, for the semaphores, they are handled in two different places (two different functions). This patch consolidates this for clarification by handling these both commands in the same place in semctl_nolock(). It also removes one unused parameter for this function. Signed-off-by: Pierre Peiffer Cc: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2d75cddc83a349ef5633f609b9734b6b957f90f Author: Pavel Emelyanov Date: Fri Feb 8 04:18:54 2008 -0800 ipc: uninline some code from util.h ipc_lock_check_down(), ipc_lock_check() and ipcget() seem too large to be inline. Besides, they give no optimization being inline as they perform calls inside in any case. Moving them into ipc/util.c saves 500 bytes of vmlinux and shortens IPC internal API. $ ./scripts/bloat-o-meter vmlinux-orig vmlinux add/remove: 3/2 grow/shrink: 0/10 up/down: 490/-989 (-499) function old new delta ipcget - 392 +392 ipc_lock_check_down - 49 +49 ipc_lock_check - 49 +49 sys_semget 119 105 -14 sys_shmget 108 86 -22 sys_msgget 100 78 -22 do_msgsnd 665 631 -34 do_msgrcv 680 644 -36 do_shmat 771 733 -38 sys_msgctl 1302 1229 -73 ipcget_new 80 - -80 sys_semtimedop 1534 1452 -82 sys_semctl 2034 1922 -112 sys_shmctl 1919 1765 -154 ipcget_public 322 - -322 The ipcget() growth is the result of gcc inlining of currently static ipcget_new/_public. Signed-off-by: Pavel Emelyanov Cc: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a46c9994242978ab001299cc9c906b9a3eedadcc Author: Alan Cox Date: Fri Feb 8 04:18:53 2008 -0800 serial_core: bring mostly into line with coding style Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4c502a709e53e02ae5249a5f2f2b8292abc0386 Author: Alan Cox Date: Fri Feb 8 04:18:53 2008 -0800 8250: enable rate reporting via termios Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f803cd08f4cfa40e3aa31ffc39777700c018e09 Author: Alan Cox Date: Fri Feb 8 04:18:52 2008 -0800 serial8250: coding style Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5756ee99967d65fa8e14873d55cdf150659097ee Author: Alan Cox Date: Fri Feb 8 04:18:51 2008 -0800 8250_pci: coding style Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b0fd36ddc5826cbf20c8766d9262bc2efd3a51c Author: Alan Cox Date: Fri Feb 8 04:18:51 2008 -0800 8250_hub6: codding style Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0fe1c1371342869f4693ad42929c1388842b0f3e Author: Alan Cox Date: Fri Feb 8 04:18:50 2008 -0800 8250_hp300: coding style Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b4a483be544569cd61156be86c0becf21a02e8b Author: Alan Cox Date: Fri Feb 8 04:18:50 2008 -0800 8250_gsc: coding style Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce2e204f0c55567baa0323df8d327989d7113c66 Author: Alan Cox Date: Fri Feb 8 04:18:49 2008 -0800 8250_early: coding style Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 355d95a1c8aab5c0d54178c1b2269e7425c746ee Author: Alan Cox Date: Fri Feb 8 04:18:48 2008 -0800 tty_ioctl: drag screaming into compliance with the coding style Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37bdfb074ec035880ed140f6281badf92b655a72 Author: Alan Cox Date: Fri Feb 8 04:18:47 2008 -0800 tty_io: drag screaming into coding style compliance Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66c6ceae39534c029c3434489c036f5ae2c6a593 Author: Alan Cox Date: Fri Feb 8 04:18:46 2008 -0800 tty_audit: fix checkpatch complaint Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4129a6454dd925560bf3f46a12eb9f01cf8d5e7e Author: Alan Cox Date: Fri Feb 8 04:18:45 2008 -0800 rocket: don't let random users reset the controller Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6df3526b6649e57a414ba6b4179655341affcf46 Author: Alan Cox Date: Fri Feb 8 04:18:45 2008 -0800 rocket: first pass at termios reporting Also removes a cflag comparison that caused some mode changes to get wrongly ignored Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4edf1827ea19e65ca27ed197384d63f4d1dc8836 Author: Alan Cox Date: Fri Feb 8 04:18:44 2008 -0800 n_tty: clean up old code to follow coding style and (mostly) checkpatch Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db1acaa632870ec87b65e062bc72ca375837a1f6 Author: Alan Cox Date: Fri Feb 8 04:18:43 2008 -0800 moxa: first pass at termios reporting Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 92dfc9dc7ba63134f721b6e745dbdcfc13ea341b Author: Andrew Morton Date: Fri Feb 8 04:18:43 2008 -0800 fix "modules: make module_address_lookup() safe" Get the constness right, avoid nasty cast. Cc: Ingo Molnar Cc: Kyle McMartin Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d7623943c905efae327933bc5ee0b2f78e15f56 Author: Christoph Lameter Date: Fri Feb 8 04:18:42 2008 -0800 modules: include sections.h to avoid defining linker variables explicitly module.c should not define linker variables on its own. We have an include file for that. Signed-off-by: Christoph Lameter Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 88173507e4fc1e7ecd111b0565e8cba0cb7dae6d Author: Christoph Lameter Date: Fri Feb 8 04:18:41 2008 -0800 Modules: handle symbols that have a zero value The module subsystem cannot handle symbols that are zero. If symbols are present that have a zero value then the module resolver prints out a message that these symbols are unresolved. [akinobu.mita@gmail.com: fix __find_symbl() error checks] Cc: Mathieu Desnoyers Cc: Kay Sievers Cc: Rusty Russell Cc: Andi Kleen Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 596f56018df3ed7de20f6038f72177b3674ebbd4 Author: Heiko Carstens Date: Fri Feb 8 04:18:40 2008 -0800 tty: s390 support for termios2. Backend for s390. Acked-by: Alan Cox Cc: Martin Schwidefsky Signed-off-by: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa7738a5f503abea5445cdd8cc2d501502c748ae Author: Heiko Carstens Date: Fri Feb 8 04:18:39 2008 -0800 tty: let architectures override the user/kernel macros. Give architectures that support the new termios2 the possibilty to overide the user_termios_to_kernel_termios and kernel_termios_to_user_termios macros. As soon as all architectures that use the generic variant have been converted the ifdefs can go away again. Architectures in question are avr32, frv, powerpc and s390. Cc: Alan Cox Cc: Paul Mackerras Cc: David Howells Cc: Haavard Skinnemoen Cc: Martin Schwidefsky Signed-off-by: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d94afc6ccf6690b30ae112ec8101b3f10d50114e Author: mark gross Date: Fri Feb 8 04:18:39 2008 -0800 intel-iommu: fault_reason index cleanup Fix an off by one bug in the fault reason string reporting function, and clean up some of the code around this buglet. [akpm@linux-foundation.org: cleanup] Signed-off-by: mark gross Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f8bab73515ca5b392680bb033dceeb37b8463e95 Author: mark gross Date: Fri Feb 8 04:18:38 2008 -0800 intel-iommu: PMEN support Add support for protected memory enable bits by clearing them if they are set at startup time. Some future boot loaders or firmware could have this bit set after it loads the kernel, and it needs to be cleared if DMA's are going to happen effectively. Signed-off-by: mark gross Acked-by: Muli Ben-Yehuda Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d3a4e3666325a9709cc8ea2e88151394e8f20fc Author: Alexey Dobriyan Date: Fri Feb 8 04:18:37 2008 -0800 proc: fix ->open'less usage due to ->proc_fops flip Typical PDE creation code looks like: pde = create_proc_entry("foo", 0, NULL); if (pde) pde->proc_fops = &foo_proc_fops; Notice that PDE is first created, only then ->proc_fops is set up to final value. This is a problem because right after creation a) PDE is fully visible in /proc , and b) ->proc_fops are proc_file_operations which do not have ->open callback. So, it's possible to ->read without ->open (see one class of oopses below). The fix is new API called proc_create() which makes sure ->proc_fops are set up before gluing PDE to main tree. Typical new code looks like: pde = proc_create("foo", 0, NULL, &foo_proc_fops); if (!pde) return -ENOMEM; Fix most networking users for a start. In the long run, create_proc_entry() for regular files will go. BUG: unable to handle kernel NULL pointer dereference at virtual address 00000024 printing eip: c1188c1b *pdpt = 000000002929e001 *pde = 0000000000000000 Oops: 0002 [#1] PREEMPT SMP DEBUG_PAGEALLOC last sysfs file: /sys/block/sda/sda1/dev Modules linked in: foo af_packet ipv6 cpufreq_ondemand loop serio_raw psmouse k8temp hwmon sr_mod cdrom Pid: 24679, comm: cat Not tainted (2.6.24-rc3-mm1 #2) EIP: 0060:[] EFLAGS: 00210002 CPU: 0 EIP is at mutex_lock_nested+0x75/0x25d EAX: 000006fe EBX: fffffffb ECX: 00001000 EDX: e9340570 ESI: 00000020 EDI: 00200246 EBP: e9340570 ESP: e8ea1ef8 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 Process cat (pid: 24679, ti=E8EA1000 task=E9340570 task.ti=E8EA1000) Stack: 00000000 c106f7ce e8ee05b4 00000000 00000001 458003d0 f6fb6f20 fffffffb 00000000 c106f7aa 00001000 c106f7ce 08ae9000 f6db53f0 00000020 00200246 00000000 00000002 00000000 00200246 00200246 e8ee05a0 fffffffb e8ee0550 Call Trace: [] seq_read+0x24/0x28a [] seq_read+0x0/0x28a [] seq_read+0x24/0x28a [] seq_read+0x0/0x28a [] proc_reg_read+0x60/0x73 [] proc_reg_read+0x0/0x73 [] vfs_read+0x6c/0x8b [] sys_read+0x3c/0x63 [] sysenter_past_esp+0x5f/0xa5 [] destroy_inode+0x24/0x33 ======================= INFO: lockdep is turned off. Code: 75 21 68 e1 1a 19 c1 68 87 00 00 00 68 b8 e8 1f c1 68 25 73 1f c1 e8 84 06 e9 ff e8 52 b8 e7 ff 83 c4 10 9c 5f fa e8 28 89 ea ff fe 4e 04 79 0a f3 90 80 7e 04 00 7e f8 eb f0 39 76 34 74 33 EIP: [] mutex_lock_nested+0x75/0x25d SS:ESP 0068:e8ea1ef8 [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Alexey Dobriyan Cc: "Eric W. Biederman" Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c6caeb7c4544608e8ae62731334661fc396c7f85 Author: Eric W. Biederman Date: Fri Feb 8 04:18:35 2008 -0800 proc: fix the threaded /proc/self Long ago when the CLONE_THREAD support first went it someone thought it would be wise to point /proc/self at /proc/ instead of /proc/. Given that /proc/ can return information about a very different task (if enough things have been unshared) then our current process /proc/ seems blatantly wrong. So far I have yet to think up an example where the current behavior would be advantageous, and I can see several places where it is seriously non-intuitive. We may be stuck with the current broken behavior for backwards compatibility reasons but lets try fixing our ancient bug for the 2.6.25 time frame and see if anyone screams. Signed-off-by: Eric W. Biederman Acked-by: Ingo Molnar Cc: "Guillaume Chazarain" Cc: "Pavel Emelyanov" Cc: "Rafael J. Wysocki" Cc: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 488e5bc4560d0b510c1ddc451c51a6cc14e3a930 Author: Eric W. Biederman Date: Fri Feb 8 04:18:34 2008 -0800 proc: proper pidns handling for /proc/self Currently if you access a /proc that is not mounted with your processes current pid namespace /proc/self will point at a completely random task. This patch fixes /proc/self to point to the current process if it is available in the particular mount of /proc or to return -ENOENT if the current process is not visible. Signed-off-by: Eric W. Biederman Cc: Pavel Emelyanov Cc: Alexey Dobriyan Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df5f8314ca30d6a76735748e5ba4ca9809c0f434 Author: Eric W. Biederman Date: Fri Feb 8 04:18:33 2008 -0800 proc: seqfile convert proc_pid_status to properly handle pid namespaces Currently we possibly lookup the pid in the wrong pid namespace. So seq_file convert proc_pid_status which ensures the proper pid namespaces is passed in. [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: build fix] [akpm@linux-foundation.org: another build fix] [akpm@linux-foundation.org: s390 build fix] [akpm@linux-foundation.org: fix task_name() output] [akpm@linux-foundation.org: fix nommu build] Signed-off-by: Eric W. Biederman Cc: Andrew Morgan Cc: Serge Hallyn Cc: Cedric Le Goater Cc: Pavel Emelyanov Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: Paul Menage Cc: Paul Jackson Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a56d3fc74c0178c5f41c48315604d62cff4e746d Author: Eric W. Biederman Date: Fri Feb 8 04:18:32 2008 -0800 seqfile convert proc_pid_statm This conversion is just for code cleanliness, uniformity, and general safety. Signed-off-by: Eric W. Biederman Cc: Oleg Nesterov Cc: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee992744ea53db0a90c986fd0a70fbbf91e7f8bd Author: Eric W. Biederman Date: Fri Feb 8 04:18:31 2008 -0800 proc: rewrite do_task_stat to correctly handle pid namespaces. Currently (as pointed out by Oleg) do_task_stat has a race when calling task_pid_nr_ns with the task exiting. In addition do_task_stat is not currently displaying information in the context of the pid namespace that mounted the /proc filesystem. So "cut -d' ' -f 1 /proc//stat" may not equal . This patch fixes the problem by converting to a single_open seq_file show method. Getting the pid namespace from the filesystem superblock instead of current, and simply using the the struct pid from the inode instead of attempting to get that same pid from the task. Signed-off-by: Eric W. Biederman Cc: Oleg Nesterov Cc: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be614086a4aff163d5aa0dc160638d1193b59cde Author: Eric W. Biederman Date: Fri Feb 8 04:18:30 2008 -0800 proc: implement proc_single_file_operations Currently many /proc/pid files use a crufty precursor to the current seq_file api, and they don't have direct access to the pid_namespace or the pid of for which they are displaying data. So implement proc_single_file_operations to make the seq_file routines easy to use, and to give access to the full state of the pid of we are displaying data for. Signed-off-by: Eric W. Biederman Cc: Oleg Nesterov Cc: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 94413d8807a3c511a3675be4ce27a4d16d6408ee Author: Zhang Rui Date: Fri Feb 8 04:18:29 2008 -0800 proc: detect duplicate names on registration Print a warning if PDE is registered with a name which already exists in target directory. Bug report and a simple fix can be found here: http://bugzilla.kernel.org/show_bug.cgi?id=8798 [\n fixlet and no undescriptive variable usage --adobriyan] [akpm@linux-foundation.org: make printk comprehensible] Signed-off-by: Zhang Rui Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd2cbe48883a01f710c2a639877e3b3e4eba6e59 Author: Alexey Dobriyan Date: Fri Feb 8 04:18:28 2008 -0800 proc: remove useless check on symlink removal proc symlinks always have valid ->data containing destination of symlink. No need to check it on removal -- proc_symlink() already done it. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 76df0c25d0c34eba9fbb8a44106ed096553ba0e8 Author: Alexey Dobriyan Date: Fri Feb 8 04:18:27 2008 -0800 proc: simplify function prototypes Move code around so as to reduce the number of forward-declarations. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4237e0d3de38da640d7c977d68f5f7f1d207a631 Author: Alexey Dobriyan Date: Fri Feb 8 04:18:27 2008 -0800 proc: less LOCK operations during lookup Pseudo-code for lookup effectively is: LOCK kernel LOCK proc_subdir_lock find PDE UNLOCK proc_subdir_lock get inode LOCK proc_subdir_lock goto unlock UNLOCK proc_subdir_lock UNLOCK kernel We can get rid of LOCK/UNLOCK pair after getting inode simply by jumping to unlock_kernel() directly. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b3fe63b19e00f3b2a14a09c979e84163029e390 Author: Alexey Dobriyan Date: Fri Feb 8 04:18:26 2008 -0800 proc: remove MODULE_LICENSE proc is not modular, so MODULE_LICENSE just expands to empty space. proc without doubts remains GPLed. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cbdc73873229754ab3e673ea8c82eaf9ae3c646f Author: Pavel Emelyanov Date: Fri Feb 8 04:18:25 2008 -0800 namespaces: mark NET_NS with "depends on NAMESPACES" There's already an option controlling the net namespaces cloning code, so make it work the same way as all the other namespaces' options. Signed-off-by: Pavel Emelyanov Cc: "David S. Miller" Acked-by: Serge Hallyn Cc: Cedric Le Goater Cc: "Eric W. Biederman" Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74bd59bb39eb08b4379e2590c5f160748d83f812 Author: Pavel Emelyanov Date: Fri Feb 8 04:18:24 2008 -0800 namespaces: cleanup the code managed with PID_NS option Just like with the user namespaces, move the namespace management code into the separate .c file and mark the (already existing) PID_NS option as "depend on NAMESPACES" [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Pavel Emelyanov Acked-by: Serge Hallyn Cc: Cedric Le Goater Cc: "Eric W. Biederman" Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aee16ce73c71a241190cef3aaa265f6a3ab8e035 Author: Pavel Emelyanov Date: Fri Feb 8 04:18:23 2008 -0800 namespaces: cleanup the code managed with the USER_NS option Make the user_namespace.o compilation depend on this option and move the init_user_ns into user.c file to make the kernel compile and work without the namespaces support. This make the user namespace code be organized similar to other namespaces'. Also mask the USER_NS option as "depend on NAMESPACES". [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Pavel Emelyanov Acked-by: Serge Hallyn Cc: Cedric Le Goater Cc: "Eric W. Biederman" Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae5e1b22f17983da929a0d0178896269e19da186 Author: Pavel Emelyanov Date: Fri Feb 8 04:18:22 2008 -0800 namespaces: move the IPC namespace under IPC_NS option Currently the IPC namespace management code is spread over the ipc/*.c files. I moved this code into ipc/namespace.c file which is compiled out when needed. The linux/ipc_namespace.h file is used to store the prototypes of the functions in namespace.c and the stubs for NAMESPACES=n case. This is done so, because the stub for copy_ipc_namespace requires the knowledge of the CLONE_NEWIPC flag, which is in sched.h. But the linux/ipc.h file itself in included into many many .c files via the sys.h->sem.h sequence so adding the sched.h into it will make all these .c depend on sched.h which is not that good. On the other hand the knowledge about the namespaces stuff is required in 4 .c files only. Besides, this patch compiles out some auxiliary functions from ipc/sem.c, msg.c and shm.c files. It turned out that moving these functions into namespaces.c is not that easy because they use many other calls and macros from the original file. Moving them would make this patch complicated. On the other hand all these functions can be consolidated, so I will send a separate patch doing this a bit later. Signed-off-by: Pavel Emelyanov Acked-by: Serge Hallyn Cc: Cedric Le Goater Cc: "Eric W. Biederman" Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58bfdd6deeec02b73691ea2c951a3c5d743bca63 Author: Pavel Emelyanov Date: Fri Feb 8 04:18:21 2008 -0800 namespaces: move the UTS namespace under UTS_NS option Currently all the namespace management code is in the kernel/utsname.c file, so just compile it out and make stubs in the appropriate header. The init namespace itself is in init/version.c and is in the kernel all the time. Signed-off-by: Pavel Emelyanov Acked-by: Serge Hallyn Cc: Cedric Le Goater Cc: "Eric W. Biederman" Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c5289a69491f2b597e22d0456b46cc043deedbd8 Author: Pavel Emelyanov Date: Fri Feb 8 04:18:19 2008 -0800 namespaces: add the NAMESPACES config option The option is selectable if EMBEDDED is chosen only. When the EMBEDDED is off namespaces will be on. Signed-off-by: Pavel Emelyanov Acked-by: Serge Hallyn Cc: Cedric Le Goater Cc: "Eric W. Biederman" Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3d0c6aa1bb342b9b2c7b123b52ac2f48a4d4d0a Author: Nishanth Aravamudan Date: Fri Feb 8 04:18:18 2008 -0800 hugetlb: add locking for overcommit sysctl When I replaced hugetlb_dynamic_pool with nr_overcommit_hugepages I used proc_doulongvec_minmax() directly. However, hugetlb.c's locking rules require that all counter modifications occur under the hugetlb_lock. Add a callback into the hugetlb code similar to the one for nr_hugepages. Grab the lock around the manipulation of nr_overcommit_hugepages in proc_doulongvec_minmax(). Signed-off-by: Nishanth Aravamudan Acked-by: Adam Litke Cc: David Gibson Cc: William Lee Irwin III Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac74c00e499ed276a965e5b5600667d5dc04a84a Author: Ulisses Furquim Date: Fri Feb 8 04:18:16 2008 -0800 inotify: fix check for one-shot watches before destroying them As the IN_ONESHOT bit is never set when an event is sent we must check it in the watch's mask and not in the event's mask. Signed-off-by: Ulisses Furquim Reported-by: "Clem Taylor" Tested-by: "Clem Taylor" Cc: Amy Griffis Cc: Robert Love Cc: John McCutchan Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c42da46f3b0ff85ac4f61beaa0633bbb480c49e Author: Lennert Buytenhek Date: Thu Feb 7 21:55:45 2008 +0100 [ARM] Orion: free up kernel virtual address space Move Orion virtual mappings higher up in the address space, to free up more kernel virtual address space. Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit 7f74c2c7f760fdd44116e3dd90a5aeeb9d9333c7 Author: Lennert Buytenhek Date: Thu Feb 7 21:55:17 2008 +0100 [ARM] Orion: distinguish between physical and virtual addresses Hack up the Orion port to distinguish between virtual and physical addresses of register windows. This will allow moving virtual mappings higher up in the address space, to free up more kernel virtual address space. Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit 27cd3ad2313e5aca5304a6f32060a90367edbf51 Author: Lennert Buytenhek Date: Thu Feb 7 21:54:18 2008 +0100 [ARM] Orion: kill orion_early_putstr() Kill orion_early_putstr(), as it isn't used anywhere. Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit 3c96e5a440d45c3d858082e531ded24d5cc06f68 Author: Nicolas Pitre Date: Thu Feb 7 14:25:08 2008 -0500 [ARM] Orion: update defconfig Signed-off-by: Nicolas Pitre commit f244baa3cafb4a49934d1fd944e29885a0fdbc3e Author: Saeed Bishara Date: Tue Jan 29 11:33:32 2008 -1100 [ARM] Orion: Use the sata_mv driver for the integrated SATA controller This patch adds instantiation for the sata_mv driver, enabling the integrated SATA controller. Signed-off-by: Saeed Bishara Signed-off-by: Nicolas Pitre commit bc10ac3f2fe44e65f787d6197fd5d17304bf7d83 Author: Jesper Nilsson Date: Fri Feb 8 17:51:15 2008 +0100 CRIS v32: Remove hwregs/timer_defs.h, it is now architecture specific. - File is moved to arch-v32/mach-fs/hwregs/timer_defs.h commit 69b06c15e7e24d2b17ec8f89a7f3ae9fa55f5667 Author: Jesper Nilsson Date: Fri Feb 8 17:00:25 2008 +0100 CRIS v32: Change drivers/i2c.c locking. - Change spin_lock + local_irq_save into spin_lock_irqsave - Change spin_unlock + local_irq_restore into spin_unlock_irqrestore - Return ENOTTY if ioctl is not recognized as a cris ioctl. - Make init functions static. commit a34d24425e9c133e875a26c0bbc91783cf485b93 Author: Jesper Nilsson Date: Fri Feb 8 16:28:36 2008 +0100 CRIS v32: Rewrite ARTPEC-3 gpio driver to avoid volatiles and general cleanup. Changes as suggested by Andrew Morton, plus general cleanup to ease later consolidation of driver into machine common driver. - Correct parameter type of gpio_write to const char __user * - Remove volatile from the arrays of machine dependent registers, use readl and writel to access them instead. - Remove useless casts of void. - Use spin_lock_irqsave for locking. - Break gpio_write into smaller sub-functions. - Remove useless breaks after returns. - Don't perform any change in IO_CFG_WRITE_MODE if values are invalid. (previously values were set and then set to zero) - Change cast for copy_to_user to (void __user *) - Make file_operations gpio_fops static and const. - Make setget_output static. (However, it's still inline since the CRIS architecture is still not SMP, which makes the function small enough to inline) commit 0e53c2be0495afa97c6b0d06397adcbff9c65347 Author: Jerome Marchand Date: Fri Feb 8 11:10:56 2008 +0100 Enhanced partition statistics: documentation update Update the documentation to reflect the change in userspace interface. Signed-off-by: Jerome Marchand Signed-off-by: Jens Axboe commit c3c930d93365c495fbc1df28649da7cd4b97f4af Author: Jerome Marchand Date: Fri Feb 8 12:06:21 2008 +0100 Enhanced partition statistics: remove old partition statistics Removes the now unused old partition statistic code. Signed-off-by: Jerome Marchand Signed-off-by: Jens Axboe commit 28f39d553ee242000e62f6c589ee3dc6de3f9aaa Author: Jerome Marchand Date: Fri Feb 8 11:04:56 2008 +0100 Enhanced partition statistics: procfs Reports enhanced partition statistics in /proc/diskstats. Signed-off-by: Jerome Marchand commit 34e8beac92c27d292938065f8375842d2840767c Author: Jerome Marchand Date: Fri Feb 8 11:04:55 2008 +0100 Enhanced partition statistics: sysfs Reports enhanced partition statistics in sysfs. Signed-off-by: Jerome Marchand commit a890d62b9e8743341f62548104d1ac29fa8a5a88 Author: Jerome Marchand Date: Fri Feb 8 11:04:53 2008 +0100 Enhanced partition statistics: aoe fix Updates the enhanced partition statistics in ATA over Ethernet driver (not tested). Signed-off-by: Jerome Marchand commit 6f2576af5ba5913538fda7dfb7c6a17771025477 Author: Jerome Marchand Date: Fri Feb 8 11:04:35 2008 +0100 Enhanced partition statistics: update partition statitics Updates the enhanced partition statistics in generic block layer besides the disk statistics. Signed-off-by: Jerome Marchand Signed-off-by: Jens Axboe commit ea5c48ab2a76559d4af39e1f7de137c0851ac0a5 Author: Jerome Marchand Date: Fri Feb 8 11:04:09 2008 +0100 Enhanced partition statistics: core statistics This patch contain the core infrastructure of enhanced partition statistics. It adds to struct hd_struct the same stats data as struct gendisk and define basics function to manipulate them. Signed-off-by: Jerome Marchand Signed-off-by: Jens Axboe commit 63a7138671c50a6f2c27bbd1a308dc75967062a3 Author: Jens Axboe Date: Fri Feb 8 12:41:03 2008 +0100 block: fixup rq_init() a bit Rearrange fields in cache order and initialize some fields that we didn't previously init. Remove init of ->completion_data, it's part of a union with ->hash. Luckily clearing the rb node is the same as setting it to null! Signed-off-by: Jens Axboe commit 7800029df321b033ef27122fbb599ee0a839eb53 Author: Jesper Nilsson Date: Fri Feb 8 11:54:30 2008 +0100 CRIS: Add new timerfd syscall entries. commit 0b07aa6d383e1bb0024b17dec9251deec9ddbc31 Author: Jesper Nilsson Date: Fri Jan 25 13:22:29 2008 +0100 MAINTAINERS: Add my information for the CRIS port. commit eb090473a71ecd35987542fb733a14cc2023777f Author: Jesper Nilsson Date: Fri Feb 8 10:44:05 2008 +0100 CRIS v32: Correct spelling of bandwidth in function name. commit 9f68ff9ee9ecae38a3b0bb3b9c4799cded19b27c Author: Jesper Nilsson Date: Fri Feb 8 10:24:41 2008 +0100 CRIS v32: Clean up nandflash.c for ARTPEC-3 and ETRAX FS. Clean up issues noticed by Andrew Morton: - Use a combined struct for allocating the mtd_info and nand_chip structs instead of using anonymous memory as the example in Documentation/DocBook/mtdnand.tmpl - Use kzalloc instead of using kmalloc/memset(0) - Make crisv32_device_ready static. commit ad433f2368c37a64d119a997a0530cc28b9a5566 Author: Jesper Nilsson Date: Wed Feb 6 14:52:40 2008 +0100 CRIS v10: Cleanup of drivers/gpio.c - Change parameters of gpio_write (const char * buf -> const char __user *buf) - Don't initialize static variables to zero. - Remove useless casts from void. - Change name of interrupt routine (gpio_pa_interrupt -> gpio_interrupt) - Use kzmalloc instead of allocating memory and zeroing it manually. - Correct casts for copy_to_user and copy_from_user to (void __user *) - Make file_operations gpio_fops static. - Make ioif_watcher static, not used outside this file. commit 5efa1d1c940f07e79469e20db2b7a73c44180e82 Author: Jesper Nilsson Date: Wed Feb 6 13:35:07 2008 +0100 CRIS v10: drivers/net/cris/eth_v10.c rename LED defines to CRIS_LED to avoid name clash. commit a63461e9ea35e55058e0a07e2030de13584e9ca2 Author: Jesper Nilsson Date: Wed Feb 6 13:33:32 2008 +0100 CRIS: Make io_pwm_set_period members unsigned in etraxgpio.h commit 79e04fdbb3423f6faa0d93e5ec41c2c2741d4052 Author: Jesper Nilsson Date: Wed Feb 6 13:21:28 2008 +0100 CRIS: Move ETRAX_AXISFLASHMAP to common Kconfig file. commit c261038108b814a1ea1e85daeaa950cbd35a7db7 Author: Jesper Nilsson Date: Thu Jan 31 17:56:24 2008 +0100 CRIS: Drop regs parameter from call to profile_tick in kernel/time.c commit ac17e82a87f4d914cf9f61526b57e21b4a944e09 Author: Jesper Nilsson Date: Tue Jan 29 18:54:55 2008 +0100 CRIS v32: Fix minor formatting issue in mach-a3/io.c commit f8e47cb0585c2506888b415354de27bff77be276 Author: Jesper Nilsson Date: Tue Jan 29 18:54:05 2008 +0100 CRIS v32: Initialize GIO even if we're rambooting in kernel/head.S commit a87434b04f6dbca547bf1b9856769290841b1b4c Author: Jesper Nilsson Date: Tue Jan 29 18:52:42 2008 +0100 CRIS v32: Remove kernel/arbiter.c, it now exists in machine dependent directory. commit 1791f539cd441c3f7926f2c449487af2b95466a1 Author: Jesper Nilsson Date: Tue Jan 29 10:43:05 2008 +0100 CRIS v32: Minor changes to avoid errors in asm-cris/arch-v32/hwregs/reg_rdwr.h - Add ifdef around macros to read and write hardware registers - Add parens around REG_READ expression to avoid possible precedence errors. - Remove useless CVS id tag. commit b8ed6b4d833360fa7ba8635ad0c8d8bba5386e0e Author: Jesper Nilsson Date: Tue Jan 29 10:37:33 2008 +0100 CRIS v32: arch-v32/hwregs/intr_vect_defs.h moved to machine dependent directory. commit fb5c6e115594bef1c7ab6c55b46fd1450a03507b Author: Jesper Nilsson Date: Mon Jan 28 18:15:11 2008 +0100 CRIS v32: Correct offset for TASK_pid in asm-cris/arch-v32/offset.h commit 78dbb60643f44498996a83554eda5c3ed4ad6a79 Author: Jesper Nilsson Date: Mon Jan 28 18:13:50 2008 +0100 CRIS v32: Move register map header to machine dependent directory. This file is machine dependent, and needs to be in asm-cris/arch-v32/mach-fs/hwregs/reg_map.h instead. commit 57e6f9646ccf52d14c57bf4886fc0edb5a47d82b Author: Jesper Nilsson Date: Mon Jan 28 18:11:29 2008 +0100 CRIS v32: Let compiler know that memory is clobbered after a break op. commit 12e1b1e7909484cfa538159adf87227ad23d8d94 Author: Jesper Nilsson Date: Mon Jan 28 18:08:44 2008 +0100 CRIS v32: Remove SMP stub from asm-cris/arch-v32/system.h CRIS v32 is not SMP. commit de1c1419f9eb8f9d719aaaa3e3f3073069ecd657 Author: Jesper Nilsson Date: Mon Jan 28 18:07:58 2008 +0100 CRIS v32: Completely rework spinlocks for ETRAX FS and ARTPEC-3 commit 4258fb19320ae083064aef21b042a02a509119b9 Author: Jesper Nilsson Date: Mon Jan 28 18:06:43 2008 +0100 CRIS v32: Change name for simulator config in asm-cris/arch-v32/processor.h commit 230d69cf2ba6505fccdb7216da9eedc924c00d19 Author: Jesper Nilsson Date: Mon Jan 28 18:06:11 2008 +0100 CRIS v32: Add prototype for crisv32_pinmux_dealloc_fixed in asm-cris/arch-v32/pinmux.h Deallocation was not possible before, but is now. commit e919a1201c285f27764a5ee5ee06535a61c31d22 Author: Jesper Nilsson Date: Mon Jan 28 18:04:46 2008 +0100 CRIS v32: Change name for simulator config in asm-cris/arch-v32/page.h Also, fix a typo. commit d9ebcacee94ba818a65fcefdae5f1cbad2ac7ad0 Author: Jesper Nilsson Date: Mon Jan 28 18:03:26 2008 +0100 CRIS v32: Remove juliette.h, it is not supported for CRIS v32. commit 6c6dc56c1e980dd3b63c9e7b5209167f9afcafcc Author: Jesper Nilsson Date: Mon Jan 28 17:56:56 2008 +0100 CRIS v32: Add support for ETRAX FS and ARTPEC-3 for arch-v32/hwregs/eth_defs.h - A couple of fields have changed name: reg_eth_rw_ga_lo.table -> tbl reg_eth_rw_ga_hi.table -> tbl reg_eth_rw_gen_ctrl.flow_ctrl_dis -> flow_ctrl - Add some new register fields. reg_eth_rw_gen_ctrl.gtxclk_out reg_eth_rw_gen_ctrl.phyrst_n reg_eth_rw_tr_ctrl.carrier_ext - max_size in reg_eth_rw_rec_ctrl had the wrong size. - Registers reg_eth_rw_mgm_ctrl and reg_eth_r_stat was reworked completely. commit 8d073287442fd8f56baadd4a17853931b8330e47 Author: Jesper Nilsson Date: Mon Jan 28 17:42:17 2008 +0100 CRIS v32: Rename variable used in macro for arch-v32/hwregs/dma.h The old name "r" would quite often produce warnings when other variables with the same name was shadowed. Rename it __x to make it more unlikely to happen. commit 3fb18a3387ee5da0fb579db6e5707e4813e725cf Author: Jesper Nilsson Date: Mon Jan 28 16:55:21 2008 +0100 CRIS v32: Remove useless CVS id tag from arch-v32/hwregs/Makefile commit 94ebe164159a620fe2457548554fc9b56501f256 Author: Jesper Nilsson Date: Mon Jan 28 16:54:51 2008 +0100 CRIS v32: Add defines for udelay and ndelay in arch-v32/delay.h Both of these are implemented using cris_delay10ns(). commit 209e9c43ade3938feab8abcc7978c0e17c79cdc3 Author: Jesper Nilsson Date: Mon Jan 28 16:53:19 2008 +0100 CRIS v32: Adjust arch-v32/atomic.h for new spinlock/rwlock infrastructure commit e52c2c72ddfa7460f0a959e26f84d74180ca0a1b Author: Jesper Nilsson Date: Mon Jan 28 16:51:31 2008 +0100 CRIS v32: Add missing header to include/asm-cris/arch-v32/Kbuild commit 581b4fdc1550956f7609faa8ca31c8a9a6b82878 Author: Jesper Nilsson Date: Mon Jan 28 16:50:32 2008 +0100 CRIS: Break long comment line in include/asm-cris/arch-v10/page.h commit 0d9f2e6f8603a770e5af013d6e87526dc2a0dbf5 Author: Jesper Nilsson Date: Mon Jan 28 16:49:39 2008 +0100 CRIS: Rename LED macros to CRIS_LED to avoid name clash in io.h This is done to avoid collision with linux/leds.h commit a1a7dc1d068425c0c453c7c602cc97a4254e0bba Author: Jesper Nilsson Date: Thu Jan 31 17:40:37 2008 +0100 CRIS: Add missing headers to include/asm-cris Kbuild files. commit daa00b9caf1b6b022ff8aada7502b5ccc34becf4 Author: Jesper Nilsson Date: Mon Jan 28 16:40:21 2008 +0100 CRIS: Add sched_clock to kernel/time.c Also, clean up some whitespace errors. commit 60dead5a8c909a650ade5f92f2649db292486af1 Author: Jesper Nilsson Date: Mon Jan 28 16:39:00 2008 +0100 CRIS: Register cpus in kernel/setup.c Also, fix some white space errors, and constify cpuinfo_op. commit 3ae8d8baab1dd571b934001c595d5ab81214304f Author: Jesper Nilsson Date: Mon Jan 28 16:34:30 2008 +0100 CRIS: Remove include of linux/init.h, not needed anymore. commit 6e0b688034aa211bf24600c66aace52991d83249 Author: Jesper Nilsson Date: Mon Jan 28 16:33:21 2008 +0100 CRIS: Remove CONFIG_NO_IOMEM from ARTPEC-3 default config. commit 1b7e7da364123e45acb5f697fc0422bafcda13ff Author: Jesper Nilsson Date: Mon Jan 28 16:30:35 2008 +0100 CRIS: Remove useless CVS log from kernel/ptrace.c Also, fix some whitespace errors. commit f32bb79c9773cce660f629343b4736af8e24186b Author: Jesper Nilsson Date: Mon Jan 28 16:29:21 2008 +0100 CRIS: Remove useless CVS id and log from kernel/process.c commit 08cfeacb6bcb37c5cf1a9bc0c930243634631f09 Author: Jesper Nilsson Date: Mon Jan 28 16:28:10 2008 +0100 CRIS: Add configuration possibility for using kmalloc for modules. Using kmalloc instead of vmalloc solves the stability problems experienced by some 100 LX products. commit b4945a90d00f9ada1fd76fd7bd591e9ae54ca8b4 Author: Jesper Nilsson Date: Mon Jan 28 16:25:13 2008 +0100 CRIS: Remove CONFIG_NO_IOMEM from default configs. commit baa69b121a32f2b8ee388b651030f7f3c16df463 Author: Jesper Nilsson Date: Wed Jan 30 12:57:31 2008 +0100 CRIS v32: Fix startup oops and replace hardcoded pagesize in vmlinux.lds.S - Move alignment of init data to page size outside define CONFIG_BLK_DEV_INITRD This avoids oops due to memory on the same page as init data being freed. - Change hardcoded page size to use macro from asm/page.h - Add reserved memory via CONFIG_ETRAX_VMEM_SIZE. - Use available defines for TEXT_TEXT and INITCALLS. - Cleanup whitespace. commit 52d82ef12a172124ee4aab06656c877868efc407 Author: Jesper Nilsson Date: Fri Jan 25 18:08:07 2008 +0100 CRIS v32: Avoid work when switching between tasks with shared memory descriptors in mm/tlb.c There is no need to do all this work if they share memory descriptors. Also, fix some minor whitespace and long lines. commit 3d44305abe1fe75793a4b42de51d8a0be9bedc3f Author: Jesper Nilsson Date: Fri Jan 25 18:05:12 2008 +0100 CRIS v32: Add workaround for MMU hardware bug for ETRAX FS in mm/mmu.S commit 108ecfbc3110574fe929e9dd1f622580f95359c0 Author: Jesper Nilsson Date: Fri Jan 25 18:03:00 2008 +0100 CRIS v32: Fix bug in internal memory allocator mm/intmem.c - Fix bug where allocated memory didn't account for alignment. - Add support for ARTPEC-3 - Add module_init for crisv32_intmem_init. commit 0836c6d26f3512db5fa9698376846c5cec4fae13 Author: Jesper Nilsson Date: Fri Jan 25 18:00:48 2008 +0100 CRIS v32: Change name of simulator config to CONFIG_ETRAX_VCS_SIM in mm/init.c - Remove unneded code for ETRAX FS and ARTPEC-3 commit ea0af95b1c7e17541365b555a43f5e8d51ef3dff Author: Jesper Nilsson Date: Fri Jan 25 17:57:28 2008 +0100 CRIS v32: Change lib/spinlock.S to use byte operations instead of dwords. commit ea402db97f8f9e2cfe646faf1c9d473d9f9044d1 Author: Jesper Nilsson Date: Fri Jan 25 17:55:31 2008 +0100 CRIS v32: Move hw_settings.S to machine specific directories for ETRAX FS and ARTPEC-3 commit 41f9412b206985a36145b423f58bf8b46085358e Author: Jesper Nilsson Date: Fri Jan 25 17:54:14 2008 +0100 CRIS v32: Update lib/checksum.S and lib/checksumcopy.S - Slight tweaks, use $acr + addoq to propagate carry across the loop boundary. - Better use of latency cycles. - Remove duplicate folding of carry, it is not needed. commit 7674464cb31ff652d2eda69783ef61640eae4c3c Author: Jesper Nilsson Date: Fri Jan 25 17:32:01 2008 +0100 CRIS v32: Add lib/delay to build. commit 48c87a4483d9146d9f23198163d6ee621535702d Author: Jesper Nilsson Date: Fri Jan 25 17:31:38 2008 +0100 CRIS v32: Add precise delay loops for ETRAX FS and ARTPEC-3. Implements cris_delay10ns. commit a474de0a02ee9093af96414a30f69d433201d002 Author: Jesper Nilsson Date: Fri Jan 25 17:28:10 2008 +0100 CRIS v32: Update vcs_hook.c for ETRAX FS. - Clean up some formatting and whitespace. commit 09160d7cc39ab1015d23428f3995cd49eacfaebf Author: Jesper Nilsson Date: Fri Jan 25 16:43:53 2008 +0100 CRIS v32: Move vcs_hook to machine specific directory. These files are different for ETRAX FS and ARTPEC-3. commit 538380da1a41c981c640bd22a091fdfc32d1e81e Author: Jesper Nilsson Date: Fri Jan 25 16:15:44 2008 +0100 CRIS v32: Update kernel/smp.c for CRIS v32. - Change include paths to machine specific headers (asm/arch/hwregs -> hwregs) - Add cpu_possible_map as cpumask_t and export it. - Drop struct pt_regs parameter from crisv32_ipi_interrupt. - timer -> timer0 commit 574852a2a5cb603708133ade9896c9bc77a68c46 Author: Jesper Nilsson Date: Fri Jan 25 16:10:02 2008 +0100 CRIS v32: Update signal handling in kernel/signal.c - do_signal now returns void, and does not have the previous signal set as a parameter. - Remove sys_rt_sigsuspend, we can use the common one instead. - Change sys_sigsuspend to be more like x86, don't call do_signal here. - handle_signal, setup_frame and setup_rt_frame now return -EFAULT if we've delivered a segfault, which is used by callers to perform necessary cleanup. - Break long lines, correct whitespace and formatting errors. commit 14e61bebb45acabcba2c3b7c4ff529fd646bd3f6 Author: Jesper Nilsson Date: Fri Jan 25 16:05:55 2008 +0100 CRIS v32: Update boot/rescue/rescue.ld - Update to work for ETRAX FS and ARTPEC-3 commit 45a4127c10abff5edce4448c7bc951d0a112e67a Author: Jesper Nilsson Date: Fri Jan 25 15:42:41 2008 +0100 CRIS v10: Update drivers/gpio.c, fix locking and general improvements. - Change all spin_lock/local_irq_save to spin_lock_irqsave. - Change multiple returns in functions where we have a lock to goto out. - Correct number of arguments to gpio_poll_timer_interrupt, gpio_pa_interrupt. - Break out gpio_write logic to smaller functions to make it readable. - In setget_input and setget_output, avoid extra if-indent level. - Change name LED_* -> CRIS_LED_* to avoid name clash. - Don't use braces around single statement ifs. - Fix whitespace errors. - Remove useless CVS id and log. commit 46aac058fe525a2a659e3363fa9bcd7d6bbf2d73 Author: Jesper Nilsson Date: Fri Jan 25 13:50:27 2008 +0100 CRIS: Add support for ETRAX FS and ARTPEC-3 to etraxgpio.h The CRIS v32 architectures have more gpio ports and built in PWM. commit f2bbc96a40988f0bb2e67ef21579116870b53c14 Author: Jesper Nilsson Date: Thu Jan 24 14:37:10 2008 +0100 CRIS v32: Change names of config variable and register field for data available. - CONFIG_ETRAXFS_SIM -> CONFIG_ETRAX_VCS_SIM - ser_intr_mask.data_avail -> ser_intr_mask.dav commit f64dd2191d9b64358c0f357b0f28e149ce7f3d83 Author: Jesper Nilsson Date: Thu Jan 24 14:34:37 2008 +0100 CRIS v32: Change debug and formatting in kernel/fasttimer.c - Don't use SANITYCHECK(x) as a macro, test FAST_TIMER_SANITY_CHECKS with ifdef. This makes it possible for automatic indent etc to work. - Correct some whitespace errors. - Don't initialize static variable. commit 43e6bd6aa8fa8ba5e72e1bcd9062cc3627f4a6c1 Author: Jesper Nilsson Date: Thu Jan 24 14:31:55 2008 +0100 CRIS v32: Update kernel/crisksyms.c - Include pinmux.h from machine specific directory. - Add some more symbols: crisv32_pinmux_alloc, crisv32_pinmux_dealloc_fixed, crisv32_io_get_name and crisv32_io_get commit cbca6634888ec9fcde203e6f12f6c5e716f1f90b Author: Jesper Nilsson Date: Thu Jan 24 14:30:01 2008 +0100 CRIS v32: Remove config ifdef around init function for drivers/sync_serial.c The init function should be defined always. commit 5adb5c873f8324e5dfdbabc7d68fda3972de7386 Author: Jesper Nilsson Date: Thu Jan 24 14:25:18 2008 +0100 CRIS v32: Remove drivers/gpio.c, now exists as machine specific file. commit 7edf744053873e390d7d05ab0136c5162cf89c27 Author: Jesper Nilsson Date: Thu Jan 24 14:24:09 2008 +0100 CRIS v32: Update driver for RTC chip pcf8563. - Moved all calls to register_chrdev to a function called by module_init. - Added mutex locking. - Added better error handling at start up. - Added BIN_TO_BCD of the month value before it is saved to the RTC. - Corrected the month value returned by pcf8563_readreg. - Cache the voltage low value at driver init so the battery status information does not get 'accidentally' cleared when setting the RTC time. - Removed obsolete CONFIG_ETRAX_RTC_READONLY - Voltage low ioctl():s RTC_VLOW_RD -> RTC_VL_READ, RTC_VLOW_SET -> RTC_VL_CLR commit d8ac17a0eeab6580cced355de85ac90227096bb9 Author: Jesper Nilsson Date: Thu Jan 24 14:17:47 2008 +0100 CRIS v32: Remove drivers/nandflash.h, now exists as machine specific file. commit 2c30da717586a137b90c245820657a0d0a3a0a67 Author: Jesper Nilsson Date: Thu Jan 24 14:14:09 2008 +0100 CRIS v32: ETRAX FS Change name of LED macros in drivers/mach-fs/gpio.c to avoid collision. commit cacc0cc83fcc3bc0bc37a11ba9e7624c3aed6e08 Author: Jesper Nilsson Date: Thu Jan 24 14:13:12 2008 +0100 CRIS v32: Change name of LED macros in drivers/mach-a3/gpio.c to avoid collision. commit 935a847b98899943ef86628aba54e4837c6c7ff6 Author: Jesper Nilsson Date: Thu Jan 24 14:12:10 2008 +0100 CRIS v32: Change include path for hwregs in drivers/iop_fw_load.c Also, remove useless CVS id tag. commit 635c45c195d95d9e65587b3cd18af9df4d102f52 Author: Jesper Nilsson Date: Thu Jan 24 14:10:27 2008 +0100 CRIS v32: Rewrite of stream co-processor driver for ETRAX FS and ARTPEC-3 - Workaround for cachebug (Guinness TR 106). - Add ARTPEC-3 support. commit a77dba6a4dd0e18ae57018a99e4068c34125632c Author: Jesper Nilsson Date: Thu Jan 24 13:07:34 2008 +0100 CRIS v32: Replace build flags in boot/rescue/Makefile - Change AFLAGS to asflags-y, LDFLAGS to ldflags-y and EXTRA_CFLAGS to ccflags-y. We only need the flags in this Makefile. commit 111e3b1abaccb39a5fdc5eb79c51988862beb26d Author: Jesper Nilsson Date: Wed Jan 30 12:55:56 2008 +0100 CRIS v32: Replace build flags in boot/compressed/Makefile - Change AFLAGS to asflags-y, LDFLAGS to ldflags-y and KBUILD_CFLAGS to ccflags-y. We only need the flags in this Makefile. commit 8f2972529f354fec0fa1341d08074d328f748d8c Author: Jesper Nilsson Date: Wed Jan 23 17:36:40 2008 +0100 CRIS v10: Change name of low voltage read and set macros. commit a9d13fad8c72215f8a6c95af81c354547cf4bd64 Author: Jesper Nilsson Date: Wed Jan 23 11:11:34 2008 +0100 CRIS v32: Remove useless CVS id tag from boot/compressed/README commit 3c1d9303a9676fd4f9062f2347f1a6241eb6314b Author: Jesper Nilsson Date: Mon Jan 21 17:01:31 2008 +0100 CRIS: Fix bugs in return value of atomic_inc_return and atomic_dec_return. Increment and decrement before assigning to return value. commit b43890af886b14d3052d8b7f9e0b2f8d261dcd7d Author: Jesper Nilsson Date: Mon Jan 21 16:38:41 2008 +0100 CRIS: Allow arch dependent delay to override common version. commit 151f6398301c30670456efd0c4801aa721d557b9 Author: Jesper Nilsson Date: Mon Jan 21 15:51:13 2008 +0100 CRIS: Include arch dependent bug.h. commit 620cf2e44206bde8a7777e29658b3752675c066b Author: Jesper Nilsson Date: Mon Jan 21 15:49:43 2008 +0100 CRIS: Correct pfn_pte to make it possible to ioremap uncached addresses. commit 058f5fdfd9953e7f856285b72f1c652683d5d19b Author: Jesper Nilsson Date: Mon Jan 21 15:38:22 2008 +0100 CRIS: Correct comment in io.h to describe reality of I/O space. The old comment stated that it was "junk needed for the arch-independent code but which we never use in the CRIS port", but this is no longer true. commit 78759757dff4ba9a2564daad1fc8e7f051080cd1 Author: Jesper Nilsson Date: Mon Jan 21 15:15:09 2008 +0100 CRIS: Update cpu_possible_map and raw_smp_processor_id in smp.h header. - Change name of __smp_processor_id to raw_smp_processor_id. - cpu_possible_map is no longer a define for phys_cpu_present_map, it is now a cpumask_t. commit 9bf79539ed0866f1f67d09e807e745eae9588adb Author: Jesper Nilsson Date: Mon Jan 21 14:11:22 2008 +0100 CRIS v10: Remove duplicated folding of carry from lib/checksum.S, it is not needed. Also, remove useless CVS id tag. commit ab59284eaeb9560926ef5f0a233d91ecb4e64e1a Author: Jesper Nilsson Date: Mon Jan 21 14:10:33 2008 +0100 CRIS v10: Remove duplicated folding of carry from lib/checksumcopy.S, it is not needed. Also, remove useless CVS id tag. commit 2afab729f599af4aa7a6e737b20bc43a4fdff69e Author: Jesper Nilsson Date: Mon Jan 21 14:06:32 2008 +0100 CRIS v10: Clear TIF_SYSCALL_TRACE flag in ptrace_disable in kernel/ptrace.c commit b1220e2e7f03a0e86078c82819e802c25047638d Author: Jesper Nilsson Date: Tue Jan 29 11:27:19 2008 +0100 CRIS v10: Update kernel/io_interface_mux.c Fixed a bug where two interfaces using pins in the same pin group could not be allocated at the same time even if there where no pin collisions. Change all restore and returns into goto exit pattern. Also, remove useless CVS id and correct chapter reference for ETRAX100LX Designer's Reference in comment. commit 5f526d1467383fbd7d64b4f7de85b2889838e454 Author: Jesper Nilsson Date: Mon Jan 21 11:52:52 2008 +0100 CRIS v10: Setup serial port 2 to avoid accidental TXD pulse on startup. If serial port 2 is used, select it in R_GEN_CONFIG. If serial port 2 is used, setup the control registers for the port. This is done to avoid a pulse on the TXD line during start up, which could disturb some units. Also, remove useless CVS id and log. commit c974a9e5a3c52f1c61501b22a0b0a278250a6bd1 Author: Jesper Nilsson Date: Mon Jan 21 11:44:11 2008 +0100 CRIS v10: Add synchronous serial port driver for CRIS v10. commit 4f073eff3fb738dce5ad0d8a3d126e5c09cbfba7 Author: Jesper Nilsson Date: Mon Jan 21 11:28:16 2008 +0100 CRIS v10: Don't call get_mmu_context when switching between tasks with shared memory descriptors Also, cleanup formatting and fix whitespace errors. commit 40316c1fadfcd7856e43029fdbac5df6a1d57063 Author: Jesper Nilsson Date: Mon Jan 21 11:14:59 2008 +0100 CRIS v10: Fix bug where error returns didn't restore irqs in mm/fault.c Don't return when we're inside local_irq_disable(), use goto exit instead. Also, cleanup some whitespace errors. commit 5712e4dfc65220aa0693e8903345743f80b38230 Author: Jesper Nilsson Date: Mon Jan 21 11:11:25 2008 +0100 CRIS v10: Remove useless CVS id tag from lib/old_checksum.c commit f12bb5c04aa9bb8c6eede48915c528665058001f Author: Jesper Nilsson Date: Mon Jan 21 11:10:54 2008 +0100 CRIS v10: Remove useless CVS id and log from lib/dram_init.S commit da4d091348eadcf2868733c6373a1906df8fd837 Author: Jesper Nilsson Date: Mon Jan 21 11:09:56 2008 +0100 CRIS v10: Remove useless CVS id from kernel/shadows.c commit b2d08142584835a006c0c70f8aee8f9cfe486de4 Author: Jesper Nilsson Date: Mon Jan 21 11:07:49 2008 +0100 CRIS v10: Reformat drivers/makefile using tabs. commit c3d6ddddb01e239c7176a561c499999636ab4f61 Author: Jesper Nilsson Date: Mon Jan 21 11:05:40 2008 +0100 CRIS: Move common Kconfig variable ETRAX_RTC to arch independet Kconfig. commit 5062969d77fed23b8ffc1a4124e96e991adaf52c Author: Jesper Nilsson Date: Mon Jan 21 11:01:33 2008 +0100 CRIS: Remove NO_IOMEM config, we have IO memory. commit 10f9f9c8570f3656243d2585cbd818ac16dff4f3 Author: Jesper Nilsson Date: Fri Jan 18 15:23:48 2008 +0100 CRIS v10: Remove CVS id from kernel/process.c commit c8acccc959663f1434093c275c455f92a5964974 Author: Jesper Nilsson Date: Fri Jan 18 15:23:21 2008 +0100 CRIS v10: Remove CVS log and id from kernel/kgdb.c commit 8d67bca55c6f28d4a26129918c4bd96876b50225 Author: Jesper Nilsson Date: Fri Jan 18 15:22:30 2008 +0100 CRIS v10: Cleanup kernel/irq.c - Remove useless CVS id tag. - Remove no longer needed extern declarations for kgdb. commit 4200c35d20f20948e2276553c64d0db3a5398a0c Author: Jesper Nilsson Date: Fri Jan 18 14:31:19 2008 +0100 CRIS v10: Cleanup kernel/fasttimer.c - Change C99 comment style to C89. - Remove superfluous SANITYCHECK macro, test FAST_TIMER_SANITY_CHECKS instead. commit 72af70cfecbcd4198ebe8ff7634d31ed4b4675e0 Author: Jesper Nilsson Date: Fri Jan 18 13:50:31 2008 +0100 CRIS v10: Cleanup kernel/entry.S CVS log and id. commit 028a731f98e685088fd2a8a0734db83197a39c0b Author: Jesper Nilsson Date: Fri Jan 18 13:49:31 2008 +0100 CRIS v10: Remove CVS id tag from kernel/dma.c commit 99bb22bd284bcc6aa5efe2728f4ecafa5146e4f8 Author: Jesper Nilsson Date: Fri Jan 18 13:48:02 2008 +0100 CRIS v10: Break long lines in boot/rescue/head.S commit 7cda01268559b788b695caee66511ae8d2f0bdf9 Author: Jesper Nilsson Date: Fri Jan 18 13:47:09 2008 +0100 CRIS v10: Remove CVS tag from boot/compressed/misc.c commit 18b0f3461664f4f8348832d33b481252cf2904f9 Author: Jesper Nilsson Date: Fri Jan 18 13:44:13 2008 +0100 CRIS v10: Update and fix bug in kernel/debugport. - Move local_irq_save to after possible return in console_write_direct. - Remove old raw_printk hack, not needed anymore. - Add watchdog handling. - Make serial_driver use depend on CONFIG_ETRAX_SERIAL. - Remove useless CVS log. commit d8468472e4206a6b3e777d29ee64eb91d2671415 Author: Jesper Nilsson Date: Thu Jan 17 16:01:45 2008 +0100 CRIS v10: Cleanup rtc.h - Change RTC_VLOW_RD -> RTC_VL_READ, RTC_VLOW_SET -> RTC_VL_CLR - Whitespace and formatting. commit 34a8e501fe83f3b572eee56a6fca5111ab8cdf65 Author: Jesper Nilsson Date: Thu Jan 17 15:17:07 2008 +0100 CRIS v10: Update driver for pcf8563 - Use mutex instead of spinlock, fixes kernel bugzilla report 8339. - Make sure that pcf8563_init can be called multiple times but only setup once. - Change RTC_VLOW_RD -> RTC_VL_READ, RTC_VLOW_SET -> RTC_VL_CLR - Cache the voltage low value at driver init so the battery status information does not get 'accidentally' cleared when setting the RTC time. - Add weekday handling. - Correct leapyear handling to include 100 and 400 year exceptions. - Correct whitespace and formatting errors. - Remove useless CVS id tag. commit e5d5cf2442038b8ad3e0f90b00e5acdd18d5fa98 Author: Jesper Nilsson Date: Thu Jan 17 14:50:47 2008 +0100 CRIS v10: Fix bugs in i2c_init and i2c_readreg - Set the variable first to zero after first setup, so we can stop multiple calls to i2c_init from trying to setup i2c. - The last byte read by the master in an i2c transfer needs to be NACKed, not ACKed. - Also, remove useless CVS log and CVS id tags. commit 3d6c03fc223e6ed3b7cb4cf850a7da4a376d02d3 Author: Jesper Nilsson Date: Thu Jan 17 14:44:00 2008 +0100 CRIS v10: Cleanup drivers/eeprom.c to avoid import conflicts. - Remove useless CVS log and CVS id tags. - Whitespace fix and remove C++ comment. commit d207cf5bb91351e58b55d02f54a0218a0d8e3736 Author: Jesper Nilsson Date: Thu Jan 17 11:33:45 2008 +0100 CRIS v10: Correct and cleanup boot/rescue/testrescue.S - Correct include path for sv_addr_ag.h, should be asm/arch/ - Fix some whitespace errors. - Remove useless CVS id tag. commit ef8028a7ab1014b174c1ff9f565e387bd2a9a436 Author: Jesper Nilsson Date: Thu Jan 17 11:30:21 2008 +0100 CRIS v10: Correct and cleanup boot/rescue/kimagerescue.S - Correct include path for sv_addr_ag.h, should be included from asm/arch/ - Remove useless CVS id tag. - Correct whitespace errors and some formatting. commit 546cc14862c8712341823c9235268062bac87b74 Author: Jesper Nilsson Date: Thu Jan 17 11:22:41 2008 +0100 CRIS v10: Change boot/rescue/Makefile to use ccflags-y, asflags-y and ldflags-y. Replace EXTRA_CFLAGS with ccflags-y. Change ASFLAGS and LDFLAGS into asflags-y and ldflags-y, we only need these flags in this makefile. commit 3c9547a504a96a6a3585573dc172ab4070c18679 Author: Jesper Nilsson Date: Thu Jan 17 11:13:21 2008 +0100 CRIS v10: Update boot/compressed/Makefile to use ccflags-y and ldflags-y Replace use of EXTRA_CFLAGS with ccflags-y and LDFLAGS with ldflags-y, (we only need to change linker flags for this makefile) commit 0dfb8c35703709ca5e8f58e019d72383110999a7 Author: Jesper Nilsson Date: Thu Jan 17 10:42:58 2008 +0100 CRIS: Add architecture dependent bug.h for CRIS v10 and CRIS v32 commit fbdb5f865b570e34d6e0d17f327f8d9bc2c4ccc6 Author: Jesper Nilsson Date: Tue Dec 4 17:25:45 2007 +0100 CRIS v32: Update and improve kernel/time.c - Shorten include paths to machine dependent header files. - Register name for first timer is now regi_timer0. - Remove raw_printk hack, use oops_in_progress instead. - Add handling of CPU frequency scaling for CRIS. - Remove regs parameter to timer_interrupt, get them from get_irq_regs instead. - Whitespace and formatting changes. commit bd1c8c54b9a0a60fde31322bcae9d308ba069f12 Author: Jesper Nilsson Date: Mon Dec 3 11:37:14 2007 +0100 CRIS v10: New default config. commit d8ca6b1593382e51f4c245de9040c795be3a0281 Author: Jesper Nilsson Date: Mon Dec 3 11:16:25 2007 +0100 CRIS v32: Minor fixes for io.h - Shorten include paths for machine dependent header files. - Add volatile to hardeware register pointers. - Add spinlocks around critical region. - Expand macros for handling of leds. commit 9ce1ea751f7256b2248321c2427612a295f15137 Author: Jesper Nilsson Date: Mon Dec 3 11:12:10 2007 +0100 CRIS v32: Update and improve kernel/traps.c - Remove watchdog handling, handled elsewhere. - Shorten include paths to machine dependent header files. - Remove raw_printk hack, we now use oops_in_progress instead. - Add handling of BUG for exception handlers (break 14). - Formatting and whitespace changes. commit 8cca29b7137a08f25b05e1cddf7dbc8fe8dfad05 Author: Jesper Nilsson Date: Mon Dec 3 10:54:15 2007 +0100 CRIS v32: Minor updates to kernel/process.c - Shorten include paths for machine dependent header files. - Remove unused extern declaration of etrax_gpio_wake_up_check. - Register name for first timer is now regi_timer0. commit 693d9847b210f3812bed975d1c8edae90b8f8e1c Author: Jesper Nilsson Date: Fri Nov 30 18:09:54 2007 +0100 CRIS v32: Update and simplify kernel/irq.c. - First timer register has changed name to timer0. - Build IRQs with only IRQ number, mask bit will be calculated instead. - Add more IRQs, up to 64 supported. - Use arrays to hold which IRQs triggered instead of trying to do magic with two 32 bit values now that more than 32 IRQs are supported. commit 96e476697d7ed025bfa1af4073e825901b5c6b1a Author: Jesper Nilsson Date: Fri Nov 30 17:54:12 2007 +0100 CRIS v32: Update kernel/head.S - Shorten include paths for machine specific header files. - Add magic for booting NAND flash. - Change CONFIG_ETRAXFS_SIM to CONFIG_ETRAX_VCS_SIM. - Use assembler macros for initializing hardware (clocks) - Add stubs for SMP slave CPUs. - Search for cramfs or jffs2 if no romfs found. - Initialize l2cache. commit ec87ee20c28708bbd22f71f429d2e21c965c44e4 Author: Jesper Nilsson Date: Fri Nov 30 17:46:11 2007 +0100 CRIS v32: Update and improve fasttimer.c - Change include path to machine dependent header files. - Remove __INLINE__, it expands to inline anyway. - Don't initialize static variables. - Change timers to use fasttimer_t instead of timevals. - Change name of timeval_cmp to fasttime_cmp to highlight this. - Register name for first timer is regi_timer0, not regi_timer. - Whitespace and formatting changes. - Don't return if we're blocking interrupts, goto done and restore interrupts. - Disable interrupts while walking the fasttimer list, only restore while doing the callback. - Remove #ifdef DECLARE_WAITQUEUE, this code won't be used in another OS. - Remove CVS log. commit e867cefbaaac23644414cfe562b4fee7dc604f2e Author: Jesper Nilsson Date: Fri Nov 30 17:28:05 2007 +0100 CRIS v32: Include path fix for timex.h - Shorten include path for machine dependent header files. - Correct some formatting issues. commit 822641026238421a70ad20af513758ef927527e5 Author: Jesper Nilsson Date: Fri Nov 30 17:26:23 2007 +0100 CRIS v32: Update debugport. - Shorten include paths to machine dependent headers. - Add support for fifth serial port. - Remove CONFIG_ETRAXFS_SIM and CONFIG_ETRAX_DEBUG_PORT_NULL, no longer used. - Remove raw_printk and stupid_debug hack, no longer needed. - Remove dummy console stuff, no longer needed. - Correct some register type names. - Correct some whitespace errors and formatting. commit 3f50c0673cf5edd2c6bb76243410c3cd59b3b62d Author: Jesper Nilsson Date: Fri Nov 30 17:20:00 2007 +0100 CRIS v32: Update boot/rescue/head.S code. - Add ifdef for ETRAX_AXISFLASHMAP to avoid compiling file unless it is set. - Use assembler macros for setting up clocks. - Don't copy image, just jump to it (only works for NOR flash) commit a5d204bf368ed9f326d0ce46b47523a786203acb Author: Jesper Nilsson Date: Fri Nov 30 17:16:09 2007 +0100 CRIS v32: Update boot/compressed/misc.c - Shorten include paths to machine specific headers. - Remove fill_inbuf, not defined here. - Return __dest as value from memcpy. - Enable serial port hardware transmitter and receiver in serial_setup. - Correct baudrate divisor calculation, changed from 4800 to 115200. - Add support for Artpec-3 specific serial port setup. - Initialize pinmux for the correct serial port. commit 247c3c959f5d5a7edd1d5561ffe29906129dab0b Author: Jesper Nilsson Date: Fri Nov 30 16:40:26 2007 +0100 CRIS v32: Update compressed head.S - Fixes for NAND and NOR flash booting. - Use assembler macros for common tasks (clocks, general io etc) - Use (EtraxFS or Artpec-3) machine specific include for dram and hardware init. commit 5d23ff25b2d406b7fc1eb771d5dc4f1add0f2530 Author: Jesper Nilsson Date: Fri Nov 30 16:30:58 2007 +0100 CRIS v32: Remove common gpio and nandflash, add mach-fs and mach-a3 as subdirs. Also add board_mmcspi to build if ETRAX_SPI_MMC_BOARD is set. (Generic MMC SPI implementation) commit dbf9f14476dc88887b6e8f29eea97162ce4d8cbd Author: Jesper Nilsson Date: Fri Nov 30 16:28:26 2007 +0100 CRIS v32: Update boot rescue Kbuild makefile. - Remove old specific targets, use more generic ones instead. - Use if_changed to avoid creating new images when no change. - Use EXTRA_CFLAGS instead of CFLAGS. commit 28bf739b127c0f0e893baf4efd97d218247d5d71 Author: Jesper Nilsson Date: Wed Jan 30 12:52:51 2008 +0100 CRIS v32: Update boot compressed Kbuild makefile. - Remove old specific targets, use more generic ones instead. - Use if_changed to avoid creating new images when no change. - Use KBUILD_CFLAGS instead of CFLAGS. commit 3d6f7871ada50e607fe1dae64d2d726a6764451a Author: Jesper Nilsson Date: Fri Nov 30 16:24:07 2007 +0100 CRIS v32: Update boot Kbuild makefile. - Remove old specific targets, use more generic ones instead. - Use if_changed to avoid creating new images when no change. commit 1e4cc2c8c7cb54ce0e5a7002c68aca9e89607117 Author: Jesper Nilsson Date: Fri Nov 30 16:22:50 2007 +0100 CRIS v32: Update traps.c - Remove raw_prink hack, use oops_in_progress instead. - When ETRAX_WATCHDOG_NICE_DOGGY is set, loop in trap after oops dump instead of rebooting. - Break long lines to less than 80 chars. - Fix whitespace errors. - Remove unnecessary comments. commit 32872b203b542f0696b6af4db992a3c320de57e1 Author: Jesper Nilsson Date: Fri Nov 30 16:17:21 2007 +0100 CRIS v10: Update and improve axisflashmap.c - Add config to use mtd0 as whole flash device. - Fix whitespace errors. - Remove braces around single statement ifs. - Break long lines. - Remove unnecessary CVS log. commit 8c11bffae7d234928fd3ee5b4419e9d1b6f7f55a Author: Jesper Nilsson Date: Fri Nov 30 16:13:29 2007 +0100 CRIS v10: Update rescue head.s - Correct whitespace problems. - Add ifdef for ETRAX_AXISFLASHMAP to avoid compile error when not set. commit 63e6b9a0b876a287782a706351e0868789673f90 Author: Jesper Nilsson Date: Fri Nov 30 16:11:38 2007 +0100 CRIS v10: Update rescue Kbuild makefile. - Remove old specific targets, use more generic ones instead. - Use if_changed to avoid creating new images when no change. Removes a lot of cruft. - Use EXTRA_CFLAGS instead of CFLAGS. commit 1333a694836cb7e561b1b70d60ccceb8fabeead2 Author: Jesper Nilsson Date: Fri Nov 30 16:10:30 2007 +0100 CRIS v10: Update boot/compressed Kbuild makefile. - Remove old specific targets, use more generic ones instead. - Use if_changed to avoid creating new images when no change. - Use EXTRA_CFLAGS instead of CFLAGS. commit 87f5a7f7033ce4bbad082983332bbce43e849c84 Author: Jesper Nilsson Date: Fri Nov 30 16:08:34 2007 +0100 CRIS v10: Update boot Kbuild makefile. - Remove old specific targets, use more generic ones instead. commit 2c2314bf6b1e72c2de6703a62f51f453576cd132 Author: Jesper Nilsson Date: Fri Nov 30 16:07:06 2007 +0100 CRIS: Update main Kbuild makefile. - Remove old and non-generic targets, use generic ones instead. - Add sub-arch as mach-fs or mach-a3 for EtraxFS and Artpec-3 respectively. - Add links to sub-arch directories, and erase before trying to create them. - Include from sub-arch specific include directory "mach". - Add files to be cleaned in CLEAN_FILES instead of as archclean target. commit 5fc1f3122fda1a15df0e4f83d85f4d2991bf0edd Author: Jesper Nilsson Date: Fri Nov 30 16:01:53 2007 +0100 CRIS v32: Update and improve axisflashmap - Use default partition table when no partition is found (for initial tests) - Add config ETRAX_AXISFLASHMAP_MTD0WHOLE to allow whole flash as mtd0. - Add config for VCS simulator connection. commit 201ca54aa039eb1e5143a98311e7ea25afc57ebb Author: Jesper Nilsson Date: Fri Nov 30 15:54:01 2007 +0100 CRIS v32: New version of I2C driver. - Add i2c_write and i2c_read as functions. - Use spinlocks for critical regions. - Add config item to set I2C data and clock port. - Put unneeded testcode inside #if 0. - Remove CVS id tag. commit 0f229504f804da9c601aeb4690995904d9553b79 Author: Jesper Nilsson Date: Fri Nov 30 15:47:34 2007 +0100 CRIS v32: Fixup kernel Makefile. - Remove CRISv32 common arbiter, dma, io and pinmux files, they are now defined in machine dependent directories. - Add cache and cacheflush files for working around cache problems in CRISv32 chips. commit ffc8b00d580e26bfde0d57cd41f1f76cf63b1eb3 Author: Jesper Nilsson Date: Fri Nov 30 15:44:07 2007 +0100 CRIS v32: Update entry.S to working order. - Remove oldset parameter. - Utilise delay-slot for parameter moving. - Add kernel_execve as break 13. - Add new kernel syscalls. commit e8a8abf20e217465c00fa14fd27321401898654c Author: Jesper Nilsson Date: Fri Nov 30 15:40:21 2007 +0100 CRIS: Remove define ARCH_HAS_DMA_DECLARE_COHERENT_MEMORY commit 54ab4d7208a9e67920a499cfc3cce8554b7a2c11 Author: Jesper Nilsson Date: Fri Nov 30 14:14:54 2007 +0100 CRIS v32: Whitespace and formatting changes for kernel/ptrace.c commit 1ddba0257e0c8fb6cdfa913efd3a433d0e4a762a Author: Jesper Nilsson Date: Fri Nov 30 14:11:29 2007 +0100 CRIS: Minor generic kernel/traps.c changes. - Collect extern declarations at top of file. - Change raw_printk to printk, use oops_in_progress instead. - Fix formatting and whitespace. - Allow the watchdog to be disabled during oops. commit 3e1fdc4eacfcfb68372301572a28c7370d861795 Author: Jesper Nilsson Date: Fri Nov 30 13:59:57 2007 +0100 CRIS: Minor fixes to mm/fault.c - Only disallow oops if we're in_interrupt context (was in_atomic before) - Use the generic oops_in_progress instead of the raw_printk hack. - Fix whitespace/formatting. - Remove CVS log entries. commit 75e52b279cf018453687a2c7bc99328462438525 Author: Jesper Nilsson Date: Fri Nov 30 10:12:31 2007 +0100 CRIS v32: Add headers for EtraxFS and Artpec-3 chips. commit 738af38bbc8bb4a5b081935c47744fdb7bf0f70b Author: Jesper Nilsson Date: Fri Nov 30 10:11:43 2007 +0100 CRIS v32: Add prototypes for cache flushing We need these to work around some cache bugs in CRISv32 chips. commit 642d4ea0656f30257a1dcab65133a2f6aabffca5 Author: Jesper Nilsson Date: Thu Nov 29 18:19:42 2007 +0100 CRIS: Remove unnecessary CVS log from cris/mm/init.c commit 1e5915b173c4a729a818dbef020e166ceeaa321b Author: Jesper Nilsson Date: Tue Jan 15 11:59:12 2008 +0100 CRIS v32: Update asm-cris/arch-v32/irq.h for ETRAX FS and ARTPEC-3 - Correct include to use <> - Rework calculation of number of IRQs and exceptions we have. - Remove useless "mask" argument to BUILD_IRQ macro commit 0c2efc4848984ed38753d48990f0f0c72af56ba9 Author: Jesper Nilsson Date: Thu Nov 29 17:58:06 2007 +0100 CRIS: Merge axisflashmap.h with Axis internal changes. - Add partition table struct to be used to parse partition table in flash. - Add JFFS2 as a type, and add readoly flag. - Improve some comments. - Lindent has been run, fixing whitespace and formatting issues. commit e908dfc3c08d684b115f6fbd3740c6b77e0ddaf8 Author: Jesper Nilsson Date: Thu Nov 29 17:30:24 2007 +0100 CRIS v32: Update synchronous serial driver. Now uses a DMA descriptor ring, which should avoid any unnecessary pauses in the streams. commit ca91d5b098700570f308dea0b228829fd4c37f14 Author: Jesper Nilsson Date: Thu Nov 29 17:26:24 2007 +0100 CRIS v32: Add SECOND_WORD_SYNC, used in sync_serial. commit f74c31d50c3c568abf315f9b8b206a4ec7b9c9f6 Author: Jesper Nilsson Date: Thu Nov 29 17:24:10 2007 +0100 CRIS v32: Add L2 cache initialization code. commit 58d083192825c5fbd46fa0b1ff4d1ecc9118b692 Author: Jesper Nilsson Date: Thu Nov 29 17:21:59 2007 +0100 CRIS v32: Add hardware dependent include files and defconfigs for ETRAX FS and ARTPEC-3 chips. The header files describe the hardware registers available in both these chips, note that most of this documentation is automatically generated from the hardware implementation. commit 035e111f9a9b29843bc899f03d56f19d94bebb53 Author: Jesper Nilsson Date: Thu Nov 29 17:11:23 2007 +0100 CRIS v32: Add new machine dependent files for Etrax-FS and Artpec-3. The two chips are somewhat different, and needs different handling. Adds handing of the dma, dram initialization, hardware settings, io, memory arbiter and pinmux Also moves the dma, dram initialization and io from CRIS v32 common files. commit 6107c61fd3e6b47106b078db1726ad814564efef Author: Jesper Nilsson Date: Thu Nov 29 17:05:58 2007 +0100 CRIS v32: Add new driver files for Etrax-FS Adds gpio and nandflash handling for Etrax-FS commit 18a1e013cdd94d1ade2c07acdbac61d533c7fc60 Author: Jesper Nilsson Date: Thu Nov 29 17:03:41 2007 +0100 CRIS v32: Add new driver files for Artpec-3. Adds gpio and nandflash handling for Artpec-3. commit 923dd2a46349bb1bb94aa894b7ff61093618d68a Author: Jesper Nilsson Date: Wed Dec 5 18:10:36 2007 +0100 CRIS: Rearrange Kconfigs for v10 and v32 to allow compilation without warnings. - Remove some unneeded configs and add some new ones. - Merge common config items to common file instead of duplicating them. - Pull in standard Kconfig.preempt. - Remove some unneeded Kconfigs for subsystems not (yet) available on CRIS (md, scsi, ieee1394, i2o, isdn, telephony, media, pcmcia, pci) - Rename CRISv32 config items which had different types from CRISv10. (ETRAX_LED2G, ETRAX_LED2R, ETRAX_LED3G, ETRAX_LED3R, ETRAX_I2C_DATA_PORT, ETRAX_I2C_CLK_PORT) commit a99824f327c748b2753f4fa570eb1fefcd6a9c4d Author: Badari Pulavarty Date: Tue Feb 5 00:10:18 2008 -0800 [POWERPC] Add arch-specific walk_memory_remove() for 64-bit powerpc walk_memory_resource() verifies if there are holes in a given memory range, by checking against /proc/iomem. On x86/ia64 system memory is represented in /proc/iomem. On powerpc, we don't show system memory as IO resource in /proc/iomem - instead it's maintained in /proc/device-tree. This provides a way for an architecture to provide its own walk_memory_resource() function. On powerpc, the memory region is small (16MB), contiguous and non-overlapping. So extra checking against the device-tree is not needed. Signed-off-by: Badari Pulavarty Acked-by: KAMEZAWA Hiroyuki Cc: Dave Hansen Cc: Benjamin Herrenschmidt Cc: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 1482471d19e77d794012dbacaa65c44ceaae37bb Author: Badari Pulavarty Date: Tue Feb 5 00:10:17 2008 -0800 [POWERPC] Enable hotplug memory remove for 64-bit powerpc Enable hotplug memory remove for ppc64. Signed-off-by: Badari Pulavarty Cc: Dave Hansen Cc: KAMEZAWA Hiroyuki Cc: Benjamin Herrenschmidt Cc: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit aa620abe756207222d234f785d41435fac486e06 Author: Badari Pulavarty Date: Tue Feb 5 00:10:16 2008 -0800 [POWERPC] Add remove_memory() for 64-bit powerpc Supply remove_memory() function for 64-bit powerpc. This is still not quite complete as it needs to do some more arch-specific stuff, which will be added in a later patch. Signed-off-by: Badari Pulavarty Cc: Yasunori Goto Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 44621be4b563fbce32007ebfac91dfe8f5692743 Author: Michael Ellerman Date: Fri Feb 8 16:37:04 2008 +1100 [POWERPC] Make cell IOMMU fixed mapping printk more useful Currently the cell IOMMU fixed mapping just printks that it's been setup, which is not particularly useful. Much more interesting is the address ranges for the different windows. This adds one line to dmesg on a blade. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 4a8df1507eaeefc9739e3762db606caa08edba98 Author: Michael Ellerman Date: Fri Feb 8 16:37:04 2008 +1100 [POWERPC] Fix potential cell IOMMU bug when switching back to default DMA ops If we get a 64-bit dma mask we switch to the fixed ops and call cell_dma_dev_setup(). If the driver then switches back to a 32-bit dma mask for any reason we don't call cell_dma_dev_setup() again, which has the potential to leave bogus data in dev->archdata.dma_data. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 0e0b47abb71a2c4aed5895c01f41827dbd8a981c Author: Michael Ellerman Date: Fri Feb 8 16:37:03 2008 +1100 [POWERPC] Don't enable cell IOMMU fixed mapping if there are no dma-ranges In order for the cell IOMMU fixed mapping to work we need "dma-ranges" properties in the device tree. If there are none then there's no point enabling the fixed mapping support. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit ccd05d086f82dba2ab117dcaf4a38cbb2863a439 Author: Michael Ellerman Date: Fri Feb 8 16:37:02 2008 +1100 [POWERPC] Fix cell IOMMU null pointer explosion on old firmwares The cell IOMMU fixed mapping support has a null pointer bug if you run it on older firmwares that don't contain the "dma-ranges" properties. Fix it and convert to using of_get_next_parent() while we're there. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 85687ff2b4eab47f4d637a0d3a482bb955d3cbd4 Author: Luke Browning Date: Fri Feb 8 15:50:41 2008 +1100 [POWERPC] spufs: Fix timing dependent false return from spufs_run_spu Stop bits are only valid when the running bit is not set. Status bits carry over from one invocation of spufs_run_spu() to another, so the RUNNING bit gets added to the previous state of the register which may have been a remote library call. In this case, it looks like another library routine should be invoked, but the spe is actually running. This fixes a problem with a testcase that exercises the scheduler. Signed-off-by: Luke Browning Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit e66686b414f10f1ef2cd0aa77a03a67e17304773 Author: Luke Browning Date: Fri Feb 8 15:50:41 2008 +1100 [POWERPC] spufs: No need to have a runnable SPU for libassist update We don't need to update the libassist statistic with the context in a runnable state, so do it after spu_disable_spu(). Signed-off-by: Luke Browning Signed-off-by: Jeremy Kerr Acked-by: Christoph Hellwig Signed-off-by: Paul Mackerras commit 732377c5f5335e227171c76532613f45b4067f25 Author: Masato Noguchi Date: Fri Feb 8 15:50:41 2008 +1100 [POWERPC] spufs: Update SPU_Status[CISHP] in backing runcntl write Currently, the kernel may fail to restart a SPE context which has stopped and been swapped out. This changes spu_backing_runcntl_write to emulate the real SPU_Status register exactly. When the SPU Run Control register is written with SPU_RunCntl[Run] set to '1', the physical SPU automatically sets SPU_Status[R] and clears SPU_Status[CISHP]. Signed-off-by: Masato Noguchi Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit eebead5b8ff89340dc18ceec996157d0eb7d0287 Author: Christoph Hellwig Date: Fri Feb 8 15:50:41 2008 +1100 [POWERPC] spufs: Fix state_mutex leaks Fix various state_mutex leaks. The worst one was introduced by the interrutible state_mutex conversion but there've been a few before too. Notably spufs_wait now returns without the state_mutex held when returning an error, which actually cleans up some code. Signed-off-by: Christoph Hellwig Signed-off-by: Luke Browning Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 592a607bbc053bc6f614a0e619326009f4b3829e Author: Benjamin Herrenschmidt Date: Thu Feb 7 14:29:43 2008 +1100 [POWERPC] Disable G5 NAP mode during SMU commands on U3 It appears that with the U3 northbridge, if the processor is in NAP mode the whole time while waiting for an SMU command to complete, then the SMU will fail. It could be related to the weird backward mechanism the SMU uses to get to system memory via i2c to the northbridge that doesn't operate properly when the said bridge is in napping along with the CPU. That is on U3 at least, U4 doesn't seem to be affected. This didn't show before NO_HZ as the timer wakeup was enough to make it work it seems, but that is no longer the case. This fixes it by disabling NAP mode on those machines while an SMU command is in flight. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 48c946a482661d8466cd24bae5df749147ff1b1d Author: David S. Miller Date: Fri Feb 8 00:08:10 2008 -0800 [SPARC64]: Make use of the new fs/compat_binfmt_elf.c Signed-off-by: David S. Miller commit 882c49164d72c45f37d7fa1bb3de7c31cf1a5fab Author: Frank Seidel Date: Mon Feb 4 19:25:42 2008 +0100 mmc: extend ricoh_mmc to support Ricoh RL5c476 This patch adds support for the Ricoh RL5c476 chip: with this the mmc adapter that needs this disabler (R5C843) can also be handled correctly when it sits on a RL5c476. Signed-off-by: Frank Seidel Signed-off-by: Pierre Ossman commit 6e996ee8e730a50eef51cdb072b166fe8f80831e Author: David Brownell Date: Mon Feb 4 18:12:48 2008 +0100 at91_mci: use generic GPIO calls Update the AT91 MMC driver to use the generic GPIO calls instead of the AT91-specific calls; and to request (and release) those GPIO signals. That required updating the probe() fault cleanup codepaths. Now there is a single sequence for freeing resources, in reverse order of their allocation. Also that code uses use dev_*() for messaging, and has less abuse of KERN_ERR. Likewise with updating remove() cleanup. This had to free the GPIOs, and while adding that code I noticed and fixed two other problems: it was poking at a workqueue owned by the mmc core; and in one (rare) case would try freeing an IRQ that it didn't allocate. Signed-off-by: David Brownell Signed-off-by: Nicolas Ferre Signed-off-by: Pierre Ossman commit 541ceb5b8b4a90f7862ef24e4058fce520247827 Author: Feng Tang Date: Mon Jan 7 14:29:02 2008 +0800 sdhci: add num index for multi controllers case Some devices have several controllers; need add the index info to device slot name host->slot_desc[] Signed-off-by: Feng Tang Signed-off-by: Pierre Ossman commit 11b295c8b2934e1a9275961418e2c4f46ee674ac Author: Pierre Ossman Date: Wed Jan 23 23:21:21 2008 +0100 MAINTAINERS: remove non-existant URLs Remove references to web pages that are no longer up and running. Signed-off-by: Pierre Ossman commit 34671dc2e60ff83fcb0e76fecaaa02e36ee6ec09 Author: Pierre Ossman Date: Sat Jan 5 23:18:58 2008 +0100 mmc: remove sdhci and mmc_spi experimental markers Both of these drivers work well (although some hardware still has its problems) and are not in the "alpha" quality that EXPERIMENTAL suggests. Signed-off-by: Pierre Ossman commit 1f090bf5245115e404103d35e7f5597bfe653aac Author: Philip Langdale Date: Sat Dec 29 00:11:42 2007 -0800 mmc: Handle suspend/resume in Ricoh MMC disabler As pci config space is reinitialised on a suspend/resume cycle, the disabler needs to work its magic at resume time. For symmetry this change also explicitly enables the controller at suspend time but it's not strictly necessary. Signed-off-by: Philipl Langdale Signed-off-by: Pierre Ossman commit dd5a1843d566911dbb077c4022c4936697495af6 Author: Eric Dumazet Date: Thu Feb 7 23:30:42 2008 -0800 [IPSEC] flow: reorder "struct flow_cache_entry" and remove SLAB_HWCACHE_ALIGN 1) We can shrink sizeof(struct flow_cache_entry) by 8 bytes on 64bit arches. 2) No need to align these structures to hardware cache lines, this only waste ram for very litle gain. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit fca09fb732b2cc310110b2fcbf3449df043a96d0 Author: Eric Dumazet Date: Thu Feb 7 23:29:57 2008 -0800 [DECNET] ROUTE: remove unecessary alignment Same alignment requirement was removed on IP route cache in the past. This alignment actually has bad effect on 32 bit arches, uniprocessor, since sizeof(dn_rt_hash_bucket) is forced to 8 bytes instead of 4. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 405137d16fbe4c80b9e06e61af05856027745d23 Author: Joy Latten Date: Thu Feb 7 23:11:56 2008 -0800 [IPSEC]: Add support for aes-ctr. The below patch allows IPsec to use CTR mode with AES encryption algorithm. Tested this using setkey in ipsec-tools. Signed-off-by: Joy Latten Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 2ba85f3a58441dda35c62f0bc24e0dc3de432a88 Author: David S. Miller Date: Thu Feb 7 22:46:09 2008 -0800 [SPARC64]: Make use of compat_sys_ptrace() Signed-off-by: David S. Miller commit 2e6c4e5101633a54aeee1f2e83020ee77fcb70d2 Merge: 446b1df... 4a507d9... Author: Len Brown Date: Fri Feb 8 01:22:26 2008 -0500 Merge branches 'release', 'dmi' and 'misc' into release commit 4a507d93fac78ecd37d18343c57c564f6a126f01 Author: Len Brown Date: Fri Feb 8 00:37:16 2008 -0500 acer-wmi, tc1100-wmi: select ACPI_WMI It is safe for these Kconfig entries to use select because they select ACPI_WMI, which already has its dependencies satisfied. This makes Kconfig more user friendly, since the user selects the driver they want and the dependency is met for them. Otherwise, the user would have to find and enable ACPI_WMI to make enabling these drivers possible. Signed-off-by: Len Brown commit 20b4514799ebcfb04b45537e90e421cb73fd0cc9 Author: Carlos Corbacho Date: Fri Feb 8 00:36:49 2008 -0500 ACPI: WMI: Improve Kconfig description As Pavel Machek has pointed out, the Kconfig entry for WMI is pretty non-descriptive. Rewrite it so that it explains what ACPI-WMI is, and why anyone would want to enable it. Many thanks to Ray Lee for ideas on this. Signed-off-by: Carlos Corbacho CC: Pavel Machek CC: Ray Lee Signed-off-by: Len Brown commit 446b1dfc4cd1c2bbc7eb22d5fec38e23a577492c Author: Len Brown Date: Thu Feb 7 16:23:00 2008 -0500 ACPI: DMI: add Panasonic CF-52 and Thinpad X61 Add Lenovo X61 Add Panasonic Toughbook CF-52 Signed-off-by: Len Brown commit 543a956140e1f57331c0e528d2367106057aeca0 Author: Len Brown Date: Thu Feb 7 16:55:08 2008 -0500 ACPI: thermal: syntax, spelling, kernel-doc Reviewed-by: Randy Dunlap Signed-off-by: Len Brown commit a4ffc0a0b240a29cbe489f6db9dae112a49ef1c1 Merge: d7511ec... af195ac... Author: Linus Torvalds Date: Thu Feb 7 19:30:50 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm * git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm: (44 commits) dm raid1: report fault status dm raid1: handle read failures dm raid1: fix EIO after log failure dm raid1: handle recovery failures dm raid1: handle write failures dm snapshot: combine consecutive exceptions in memory dm: stripe enhanced status return dm: stripe trigger event on failure dm log: auto load modules dm: move deferred bio flushing to workqueue dm crypt: use async crypto dm crypt: prepare async callback fn dm crypt: add completion for async dm crypt: add async request mempool dm crypt: extract scatterlist processing dm crypt: tidy io ref counting dm crypt: introduce crypt_write_io_loop dm crypt: abstract crypt_write_done dm crypt: store sector mapping in dm_crypt_io dm crypt: move queue functions ... commit d7511ec8115487ccea2ce93bf58d5e5cd2c1c0a3 Merge: 0b61a2b... e84542f... Author: Linus Torvalds Date: Thu Feb 7 19:15:38 2008 -0800 Merge branch 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6 * 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6: (59 commits) hwmon: (lm80) Add individual alarm files hwmon: (lm80) De-macro the sysfs callbacks hwmon: (lm80) Various cleanups hwmon: (w83627hf) Refactor beep enable handling hwmon: (w83627hf) Add individual alarm and beep files hwmon: (w83627hf) Enable VBAT monitoring hwmon: (w83627ehf) The W83627DHG has 8 VID pins hwmon: (asb100) Add individual alarm files hwmon: (asb100) De-macro the sysfs callbacks hwmon: (asb100) Various cleanups hwmon: VRM is not written to registers hwmon: (dme1737) fix Super-IO device ID override hwmon: (dme1737) fix divide-by-0 hwmon: (abituguru3) Add AUX4 fan input for Abit IP35 Pro hwmon: Add support for Texas Instruments/Burr-Brown ADS7828 hwmon: (adm9240) Add individual alarm files hwmon: (lm77) Add individual alarm files hwmon: Discard useless I2C driver IDs hwmon: (lm85) Make the pwmN_enable files writable hwmon: (lm85) Return standard values in pwmN_enable ... commit 0b61a2ba5dfd1620731e717d686e6ade657fd975 Merge: a13ff0b... de2eeea... Author: Linus Torvalds Date: Thu Feb 7 19:12:12 2008 -0800 Merge branch 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6 * 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6: (62 commits) [XFS] add __init/__exit mark to specific init/cleanup functions [XFS] Fix oops in xfs_file_readdir() [XFS] kill xfs_root [XFS] keep i_nlink updated and use proper accessors [XFS] stop updating inode->i_blocks [XFS] Make xfs_ail_check check less by default [XFS] Move AIL pushing into it's own thread [XFS] use generic_permission [XFS] stop re-checking permissions in xfs_swapext [XFS] clean up xfs_swapext [XFS] remove permission check from xfs_change_file_space [XFS] prevent panic during log recovery due to bogus op_hdr length [XFS] Cleanup various fid related bits: [XFS] Fix xfs_lowbit64 [XFS] Remove CFORK macros and use code directly in IFORK and DFORK macros. [XFS] kill superflous buffer locking (2nd attempt) [XFS] Use kernel-supplied "roundup_pow_of_two" for simplicity [XFS] Remove the BPCSHIFT and NB* based macros from XFS. [XFS] Remove bogus assert [XFS] optimize XFS_IS_REALTIME_INODE w/o realtime config ... commit a13ff0bb3feda8b1fcffc69951320277ed7c4101 Author: Nick Piggin Date: Thu Feb 7 18:46:06 2008 -0800 Convert SG from nopage to fault. Signed-off-by: Nick Piggin Cc: Douglas Gilbert Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c00f08d705e149fbfaf7a252b4d4fbb7affdcc96 Merge: c8b6de1... 3adbefe... Author: Linus Torvalds Date: Thu Feb 7 18:22:29 2008 -0800 Merge branch 'slub-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/christoph/vm * 'slub-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/christoph/vm: SLUB: fix checkpatch warnings Use non atomic unlock SLUB: Support for performance statistics SLUB: Alternate fast paths using cmpxchg_local SLUB: Use unique end pointer for each slab page. SLUB: Deal with annoying gcc warning on kfree() commit 054b0e2b2d5ed460784e8dfbf30ff4768dbf4376 Author: Sam Ravnborg Date: Thu Feb 7 18:20:29 2008 -0800 [ISDN]: fix section mismatch warning in enpci_card_msg Fix following warnings: WARNING: drivers/isdn/hisax/built-in.o(.text+0x3cf50): Section mismatch in reference from the function enpci_card_msg() to the function .devinit.text:Amd7930_init() WARNING: drivers/isdn/hisax/built-in.o(.text+0x3cf85): Section mismatch in reference from the function enpci_card_msg() to the function .devinit.text:Amd7930_init() enpci_card_msg() can be called outside __devinit context referenced function should not be annotated __devinit. Remove annotation of Amd7930_init to fix this. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit bca65eae394e95c125837b6eb3a8246c40777608 Author: Florian Westphal Date: Thu Feb 7 18:18:01 2008 -0800 [TIPC]: declare proto_ops structures as 'const'. Signed-off-by: Florian Westphal Signed-off-by: David S. Miller commit 86121fe5b4f170829429433cd99ec7f884c8ae75 Author: Ilpo Järvinen Date: Thu Feb 7 18:17:13 2008 -0800 [TIPC]: Kill unused static inline (x5) All these static inlines are unused: in_own_zone 1 (net/tipc/addr.h) msg_dataoctet 1 (net/tipc/msg.h) msg_direct 1 (include/net/tipc/tipc_msg.h) msg_options 1 (include/net/tipc/tipc_msg.h) tipc_nmap_get 1 (net/tipc/bcast.h) Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 04f217aca4d803fe72c2c54fe460d68f5233ce52 Author: Stephen Hemminger Date: Thu Feb 7 18:13:00 2008 -0800 [TC]: oops in em_meta If userspace passes a unknown match index into em_meta, then em_meta_change will return an error and the data for the match will not be set. This then causes an null pointer dereference when the cleanup is done in the error path via tcf_em_tree_destroy. Since the tree structure comes kzalloc, it is initialized to NULL. Discovered when testing a new version of tc command against an accidental older kernel. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 4e881a217bd1403960eb8f32297ba9d226c6d5ae Author: Rami Rosen Date: Thu Feb 7 18:11:49 2008 -0800 [IPV6] Minor cleanup: remove unused definitions in net/ip6_fib.h This patch removes some unused definitions and one method typedef declaration (f_pnode) in include/net/ip6_fib.h, as they are not used in the kernel. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit af195ac82e38ba802fd86b5a014ed05ef6dd88bb Author: Jonathan Brassow Date: Fri Feb 8 02:11:39 2008 +0000 dm raid1: report fault status This patch adds extra information to the mirror status output, so that it can be determined which device(s) have failed. For each mirror device, a character is printed indicating the most severe error encountered. The characters are: * A => Alive - No failures * D => Dead - A write failure occurred leaving mirror out-of-sync * S => Sync - A sychronization failure occurred, mirror out-of-sync * R => Read - A read failure occurred, mirror data unaffected This allows userspace to properly reconfigure the mirror set. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit 06386bbfd2441416875d0403d405c56822f6ebac Author: Jonathan Brassow Date: Fri Feb 8 02:11:37 2008 +0000 dm raid1: handle read failures This patch gives the ability to respond-to/record device failures that happen during read operations. It also adds the ability to read from mirror devices that are not the primary if they are in-sync. There are essentially two read paths in mirroring; the direct path and the queued path. When a read request is mapped, if the region is 'in-sync' the direct path is taken; otherwise the queued path is taken. If the direct path is taken, we must record bio information so that if the read fails we can retry it. We then discover the status of a direct read through mirror_end_io. If the read has failed, we will mark the device from which the read was attempted as failed (so we don't try to read from it again), restore the bio and try again. If the queued path is taken, we discover the results of the read from 'read_callback'. If the device failed, we will mark the device as failed and attempt the read again if there is another device where this region is known to be 'in-sync'. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit b80aa7a0c268d3ae0c472f648af1e3e4a359765c Author: Jonathan Brassow Date: Fri Feb 8 02:11:35 2008 +0000 dm raid1: fix EIO after log failure This patch adds the ability to requeue write I/O to core device-mapper when there is a log device failure. If a write to the log produces and error, the pending writes are put on the "failures" list. Since the log is marked as failed, they will stay on the failures list until a suspend happens. Suspends come in two phases, presuspend and postsuspend. We must make sure that all the writes on the failures list are requeued in the presuspend phase (a requirement of dm core). This means that recovery must be complete (because writes may be delayed behind it) and the failures list must be requeued before we return from presuspend. The mechanisms to ensure recovery is complete (or stopped) was already in place, but needed to be moved from postsuspend to presuspend. We rely on 'flush_workqueue' to ensure that the mirror thread is complete and therefore, has requeued all writes in the failures list. Because we are using flush_workqueue, we must ensure that no additional 'queue_work' calls will produce additional I/O that we need to requeue (because once we return from presuspend, we are unable to do anything about it). 'queue_work' is called in response to the following functions: - complete_resync_work = NA, recovery is stopped - rh_dec (mirror_end_io) = NA, only calls 'queue_work' if it is ready to recover the region (recovery is stopped) or it needs to clear the region in the log* **this doesn't get called while suspending** - rh_recovery_end = NA, recovery is stopped - rh_recovery_start = NA, recovery is stopped - write_callback = 1) Writes w/o failures simply call bio_endio -> mirror_end_io -> rh_dec (see rh_dec above) 2) Writes with failures are put on the failures list and queue_work is called** ** write_callbacks don't happen during suspend ** - do_failures = NA, 'queue_work' not called if suspending - add_mirror (initialization) = NA, only done on mirror creation - queue_bio = NA, 1) delayed I/O scheduled before flush_workqueue is called. 2) No more I/Os are being issued. 3) Re-attempted READs can still be handled. (Write completions are handled through rh_dec/ write_callback - mention above - and do not use queue_bio.) Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit 8f0205b798f926e2745de5fdebf0a8605c621de6 Author: Jonathan Brassow Date: Fri Feb 8 02:11:32 2008 +0000 dm raid1: handle recovery failures This patch adds the calls to 'fail_mirror' if an error occurs during mirror recovery (aka resynchronization). 'fail_mirror' is responsible for recording the type of error by mirror device and ensuring an event gets raised for the purpose of notifying userspace. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit 72f4b314100bae85c75d8e4c6fec621ab44e777d Author: Jonathan Brassow Date: Fri Feb 8 02:11:29 2008 +0000 dm raid1: handle write failures This patch gives mirror the ability to handle device failures during normal write operations. The 'write_callback' function is called when a write completes. If all the writes failed or succeeded, we report failure or success respectively. If some of the writes failed, we call fail_mirror; which increments the error count for the device, notes the type of error encountered (DM_RAID1_WRITE_ERROR), and selects a new primary (if necessary). Note that the primary device can never change while the mirror is not in-sync (IOW, while recovery is happening.) This means that the scenario where a failed write changes the primary and gives recovery_complete a chance to misread the primary never happens. The fact that the primary can change has necessitated the change to the default_mirror field. We need to protect against reading garbage while the primary changes. We then add the bio to a new list in the mirror set, 'failures'. For every bio in the 'failures' list, we call a new function, '__bio_mark_nosync', where we mark the region 'not-in-sync' in the log and properly set the region state as, RH_NOSYNC. Userspace must also be notified of the failure. This is done by 'raising an event' (dm_table_event()). If fail_mirror is called in process context the event can be raised right away. If in interrupt context, the event is deferred to the kmirrord thread - which raises the event if 'event_waiting' is set. Backwards compatibility is maintained by ignoring errors if the DM_FEATURES_HANDLE_ERRORS flag is not present. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit d74f81f8adc504a23be3babf347b9f69e9389924 Author: Milan Broz Date: Fri Feb 8 02:11:27 2008 +0000 dm snapshot: combine consecutive exceptions in memory Provided sector_t is 64 bits, reduce the in-memory footprint of the snapshot exception table by the simple method of using unused bits of the chunk number to combine consecutive entries. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 4f7f5c675fd6bacaae3c67be44de872dcff0e3b7 Author: Brian Wood Date: Fri Feb 8 02:11:24 2008 +0000 dm: stripe enhanced status return This patch adds additional information to the status line. It is added at the end of the returned text so it will not interfere with existing implementations using this data. The addition of this information will allow for a common return interface to match that returned with the dm-raid1.c status line (with Jonathan Brassow's patches). Here is a sample of what is returned with a mirror "status" call: isw_eeaaabgfg_mirror: 0 488390920 mirror 2 8:16 8:32 3727/3727 1 AA 1 core Here's what's returned with this patch for a stripe "status" call: isw_dheeijjdej_stripe: 0 976783872 striped 2 8:16 8:32 1 AA Signed-off-by: Brian Wood Signed-off-by: Alasdair G Kergon commit a25eb9446ad50027bc2082386e5358bedad087ed Author: Brian Wood Date: Fri Feb 8 02:11:22 2008 +0000 dm: stripe trigger event on failure This patch adds the stripe_end_io function to process errors that might occur after an IO operation. As part of this there are a number of enhancements made to record and trigger events: - New atomic variable in struct stripe to record the number of errors each stripe volume device has experienced (could be used later with uevents to report back directly to userspace) - New workqueue/work struct setup to process the trigger_event function - New end_io function. It is here that testing for BIO error conditions take place. It determines the exact stripe that cause the error, records this in the new atomic variable, and calls the queue_work() function - New trigger_event function to process failure events. This calls dm_table_event() Signed-off-by: Brian Wood Signed-off-by: Alasdair G Kergon commit fb8b284806124bef250196007d7373ea3fe26194 Author: Jonathan Brassow Date: Fri Feb 8 02:11:19 2008 +0000 dm log: auto load modules If the log type is not recognised, attempt to load the module 'dm-log-.ko'. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit 304f3f6a58301316da612d7bf21d9abe1369d456 Author: Milan Broz Date: Fri Feb 8 02:11:17 2008 +0000 dm: move deferred bio flushing to workqueue Add a single-thread workqueue for each mapped device and move flushing of the lists of pushback and deferred bios to this new workqueue. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 3a7f6c990ad04e6f576a159876c602d14d6f7fef Author: Milan Broz Date: Fri Feb 8 02:11:14 2008 +0000 dm crypt: use async crypto dm-crypt: Use crypto ablkcipher interface Move encrypt/decrypt core to async crypto call. Signed-off-by: Herbert Xu Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 95497a960015c89c7c585d5fb953bc2816dba1e5 Author: Milan Broz Date: Fri Feb 8 02:11:12 2008 +0000 dm crypt: prepare async callback fn dm-crypt: Use crypto ablkcipher interface Prepare callback function for async crypto operation. Signed-off-by: Herbert Xu Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 43d6903482eec168b727bc4bf76a9f415257d862 Author: Milan Broz Date: Fri Feb 8 02:11:09 2008 +0000 dm crypt: add completion for async dm-crypt: Use crypto ablkcipher interface Prepare completion for async crypto request. Signed-off-by: Herbert Xu Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit ddd42edfd8ec44595b1501318512bc29a36f015f Author: Milan Broz Date: Fri Feb 8 02:11:07 2008 +0000 dm crypt: add async request mempool dm-crypt: Use crypto ablkcipher interface Introduce mempool for async crypto requests. cc->req is used mainly during synchronous operations (to prevent allocation and deallocation of the same object). Signed-off-by: Herbert Xu Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 01482b7671d014aa44f2efbc1153f4e3f48d7fb3 Author: Milan Broz Date: Fri Feb 8 02:11:04 2008 +0000 dm crypt: extract scatterlist processing dm-crypt: Use crypto ablkcipher interface Move scatterlists to separate dm_crypt_struct and pick out block processing from crypt_convert. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 899c95d36c896f9fb7bc5f4f03b4abd86bda292c Author: Milan Broz Date: Fri Feb 8 02:11:02 2008 +0000 dm crypt: tidy io ref counting Make io reference counting more obvious. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 84131db689ab86409315c15a3ea5daf732cb04e1 Author: Milan Broz Date: Fri Feb 8 02:10:59 2008 +0000 dm crypt: introduce crypt_write_io_loop Introduce crypt_write_io_loop(). Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit dec1cedf9d4eabe43f3c7d6af095eff40c139a89 Author: Milan Broz Date: Fri Feb 8 02:10:57 2008 +0000 dm crypt: abstract crypt_write_done Process write request in separate function and queue final bio through io workqueue. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 0c395b0f8dd7aee394df95b46963fc0f3401cf90 Author: Milan Broz Date: Fri Feb 8 02:10:54 2008 +0000 dm crypt: store sector mapping in dm_crypt_io Add sector into dm_crypt_io instead of using local variable. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 395b167ca0c559aa975d8bbc46a3d10edd6e17d0 Author: Alasdair G Kergon Date: Fri Feb 8 02:10:52 2008 +0000 dm crypt: move queue functions Reorder kcryptd functions for clarity. Signed-off-by: Alasdair G Kergon commit 4e4eef64e246694a6302c3ee95ac9b60c40f877e Author: Milan Broz Date: Fri Feb 8 02:10:49 2008 +0000 dm crypt: adjust io processing functions Rename functions to follow calling convention. Prepare write io error processing function skeleton. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit ee7a491e62214bfd56c97c1fef3672c09e2a700d Author: Milan Broz Date: Fri Feb 8 02:10:46 2008 +0000 dm crypt: tidy crypt_endio Simplify crypt_endio function. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 5742fd77757894ebb5e441afbdac1fb666e782f7 Author: Milan Broz Date: Fri Feb 8 02:10:43 2008 +0000 dm crypt: move error setting outside crypt_dec_pending Move error code setting outside of crypt_dec_pending function. Use -EIO if crypt_convert_scatterlist() fails. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit fcd369daa36d547607dbedd0b41099d6dfc1d1c7 Author: Milan Broz Date: Fri Feb 8 02:10:41 2008 +0000 dm crypt: remove unnecessary crypt_context write parm Remove write attribute from convert_context and use bio flag instead. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 53017030e2548dffbe481fb4ab6b587abbee6f8b Author: Milan Broz Date: Fri Feb 8 02:10:38 2008 +0000 dm crypt: move convert_context inside dm_crypt_io Move convert_context inside dm_crypt_io. Signed-off-by: Herbert Xu Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 009cd09042fbd095e708b412ad7870fb421fa2f0 Author: Alasdair G Kergon Date: Fri Feb 8 02:10:35 2008 +0000 dm mpath: add missing static A static declaration missing. Signed-off-by: Alasdair G Kergon commit 0149e57fedcaca8905b6cca091fcb0915ff3e27d Author: Alasdair G Kergon Date: Fri Feb 8 02:10:32 2008 +0000 dm: targets no longer experimental Drop the EXPERIMENTAL tag from well-established device-mapper targets, so the newer ones stand out better. Signed-off-by: Alasdair G Kergon commit 46125c1c90882e17f856f1ba30440efea9135e80 Author: Milan Broz Date: Fri Feb 8 02:10:30 2008 +0000 dm: refactor dm_suspend completion wait Move completion wait to separate function Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 94d6351e147231b2c5a9512d69693ee8ac0c204d Author: Milan Broz Date: Fri Feb 8 02:10:27 2008 +0000 dm: split dm_suspend io_lock hold into two Change io_locking to allow processing flush in separate thread. Because we have DMF_BLOCK_IO already set, any possible new ios are queued in dm_requests now. In the case of interrupting previous wait there can be more ios queued (we unlocked io_lock for a while) but this is safe. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 73d410c0137f63c6597e9763c81e5f4d015e9940 Author: Milan Broz Date: Fri Feb 8 02:10:25 2008 +0000 dm: tidy dm_suspend Tidy dm_suspend function - change return value logic in dm_suspend - use atomic_read only once. - move DMF_BLOCK_IO clearing into one place Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 6d6f10df890df8be69edd4db32dc8ce09f311bb8 Author: Milan Broz Date: Fri Feb 8 02:10:22 2008 +0000 dm: refactor deferred bio_list processing Refactor deferred bio_list processing. - use separate _merge_pushback_list function - move deferred bio list pick up to flush function - use bio_list_pop instead of bio_list_get - simplify noflush flag use No real functional change in this patch. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit bba536a3d5809c88313849fb49d24d9e0f57e0bf Author: Rami Rosen Date: Thu Feb 7 18:10:19 2008 -0800 [IPV6] Minor clenup: remove two unused definitions in net/ip6_route.h Remove IP6_RT_PRIO_FW and IP6_RT_FLOW_MASK definitions in include/net/ip6_route.h, as they are not used in the kernel. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 6ed7ade89657e71da3afa7cb13ad25570a95dd9d Author: Milan Broz Date: Fri Feb 8 02:10:19 2008 +0000 dm: tidy alloc_dev labels Tidy labels in alloc_dev to make later patches more clear. No functional change in this patch. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit a26ffd4aa99d6ace82852930edf09e450cc7dc8d Author: Andrew Morton Date: Fri Feb 8 02:10:16 2008 +0000 dm ioctl: use uninitialized_var drivers/md/dm-ioctl.c:1405: warning: 'param' may be used uninitialized in this function Signed-off-by: Andrew Morton Signed-off-by: Alasdair G Kergon commit 69a2ce72a4efe0653479a5d69fc86b5726e83219 Author: Andrew Morton Date: Fri Feb 8 02:10:14 2008 +0000 dm: table use uninitialized_var drivers/md/dm-table.c: In function 'dm_get_device': drivers/md/dm-table.c:478: warning: 'dev' may be used uninitialized in this function Signed-off-by: Andrew Morton Signed-off-by: Alasdair G Kergon commit e48b9db251122b88783844b1d2d69c6780f898ff Author: Andrew Morton Date: Fri Feb 8 02:10:11 2008 +0000 dm snapshot: use uninitialized_var drivers/md/dm-exception-store.c: In function 'persistent_read_metadata': drivers/md/dm-exception-store.c:452: warning: 'new_snapshot' may be used uninitialized in this function Signed-off-by: Andrew Morton Signed-off-by: Alasdair G Kergon commit e61290a4a23c3f85f883f0c8cc7c967501f82a57 Author: Daniel Walker Date: Fri Feb 8 02:10:08 2008 +0000 dm: convert suspend_lock semaphore to mutex Replace semaphore with mutex. Signed-off-by: Daniel Walker Signed-off-by: Alasdair G Kergon commit 8defd83084c3ce46d314c038f7c0f0ed7156d6f8 Author: Robert P. J. Day Date: Fri Feb 8 02:10:06 2008 +0000 dm snapshot: use rounddown_pow_of_two Since the source file already includes the log2.h header file, it seems pointless to re-invent the necessary routine. Signed-off-by: Robert P. J. Day Signed-off-by: Alasdair G Kergon commit 82d601dc076deb5f348cc3a70f57248bc976ae0c Author: Jun'ichi Nomura Date: Fri Feb 8 02:10:04 2008 +0000 dm: table remove unused total "total = 0" does nothing. Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon commit 4f41b09f86e0e3b48194b2ad0356391bf6d47e40 Author: Vasily Averin Date: Fri Feb 8 02:10:01 2008 +0000 dm: table remove unused variable Save some bytes. Signed-off-by: Vasily Averin Signed-off-by: Alasdair G Kergon commit afb24528f9012e5c6361ca9a9128c7c089c1cc7c Author: Paul Jimenez Date: Fri Feb 8 02:09:59 2008 +0000 dm: table use list_for_each This patch is some minor janitorish cleanup, using some macros from linux/list.h (already #included via dm.h) to improve readability. Signed-off-by: Paul Jimenez Signed-off-by: Alasdair G Kergon commit 76c072b48e39e9291fbf02d6c912cf27d65e093d Author: Milan Broz Date: Fri Feb 8 02:09:56 2008 +0000 dm ioctl: move compat code Move compat_ioctl handling into dm-ioctl.c. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 27238b2bea89b1808b570bece6777ab2abc52fe2 Author: Alasdair G Kergon Date: Fri Feb 8 02:09:53 2008 +0000 dm ioctl: remove lock_kernel Remove lock_kernel() from the device-mapper ioctls - there should be sufficient internal locking already where required. Also remove some superfluous casts. Signed-off-by: Alasdair G Kergon commit b9249e556877643b940e4543824a3de5c85bce49 Author: Alasdair G Kergon Date: Fri Feb 8 02:09:51 2008 +0000 dm: mark function lists static Add a couple of statics. Signed-off-by: Alasdair G Kergon commit 7e5c1e830b2310359a4cfbbf89895dde4abd996a Author: Milan Broz Date: Fri Feb 8 02:09:49 2008 +0000 dm: add missing memory barrier to dm_suspend Add memory barrier to fix atomic_read of pending value. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit f2a77991a918218be4a3ac78250e7eba2282be59 Author: Ursula Braun Date: Thu Feb 7 18:07:44 2008 -0800 [AF_IUCV]: defensive programming of iucv_callback_txdone The loop in iucv_callback_txdone presumes existence of an entry with msg->tag in the send_skb_q list. In error cases this assumption might be wrong and might cause an endless loop. Loop is rewritten to guarantee loop end in case of missing msg->tag entry in send_skb_q. Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit d44447229e35115675d166b51a52e512c281475c Author: Ursula Braun Date: Thu Feb 7 18:07:19 2008 -0800 [AF_IUCV]: broken send_skb_q results in endless loop A race has been detected in iucv_callback_txdone(). skb_unlink has to be done inside the locked area. In addition checkings for successful allocations are inserted. Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 435bc9dfc6927eed9465e297d7aca1217aa61956 Author: Ursula Braun Date: Thu Feb 7 18:06:52 2008 -0800 [IUCV]: wrong irq-disabling locking at module load time Linux may hang when running af_iucv socket programs concurrently with a load of module netiucv. iucv_register() tries to take the iucv_table_lock with spin_lock_irq. This conflicts with iucv_connect() which has a need for an smp_call_function while holding the iucv_table_lock. Solution: use bh-disabling locking in iucv_register() Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit a219994bf5cca1208fb741b20ea9eb78e1711f81 Author: Urs Thuermann Date: Thu Feb 7 18:05:04 2008 -0800 [CAN]: Minor clean-ups Remove unneeded variable. Rename local variable error to err like in all other places. Some white-space changes. Signed-off-by: Urs Thuermann Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit a2fea5f19f970b45e854c22cab25250a79613643 Author: Urs Thuermann Date: Thu Feb 7 18:04:45 2008 -0800 [CAN]: Move proto_{,un}register() out of spin-locked region The implementation of proto_register() has changed so that it can now sleep. The call to proto_register() must be moved out of the spin-locked region. Signed-off-by: Urs Thuermann Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 5423dd67bd0108a180784c6f307646622e804c9b Author: Urs Thuermann Date: Thu Feb 7 18:04:21 2008 -0800 [CAN]: Clean up module auto loading Remove local char array to construct module name. Don't call request_module() when CONFIG_KMOD is not set. Signed-off-by: Urs Thuermann Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 5f58a5c8725b48f3e32851f9748527c8d1ff71b2 Author: Eric Dumazet Date: Thu Feb 7 18:03:18 2008 -0800 [IPSEC] flow: Remove an unnecessary ____cacheline_aligned We use a percpu variable named flow_hash_info, which holds 12 bytes. It is currently marked as ____cacheline_aligned, which makes linker skip space to properly align this variable. Before : c065cc90 D per_cpu__softnet_data c065cd00 d per_cpu__flow_tables c065cd80 d per_cpu__flow_hash_info c065ce00 d per_cpu__flow_flush_tasklets c065ce14 d per_cpu__rt_cache_stat This alignement is quite unproductive, and removing it reduces the size of percpu data (by 240 bytes on my x86 machine), and improves performance (flow_tables & flow_hash_info can share a single cache line) After patch : c065cc04 D per_cpu__softnet_data c065cc4c d per_cpu__flow_tables c065cc50 d per_cpu__flow_hash_info c065cc5c d per_cpu__flow_flush_tasklets c065cc70 d per_cpu__rt_cache_stat Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 4136cd523eb0c0bd53173e16fd7406d31d05824f Author: Patrick McHardy Date: Thu Feb 7 17:58:20 2008 -0800 [IPV4]: route: fix crash ip_route_input ip_route_me_harder() may call ip_route_input() with skbs that don't have skb->dev set for skbs rerouted in LOCAL_OUT and TCP resets generated by the REJECT target, resulting in a crash when dereferencing skb->dev->nd_net. Since ip_route_input() has an input device argument, it seems correct to use that one anyway. Bug introduced in b5921910a1 (Routing cache virtualization). Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5da621f1c514b8a39c6f7112becb97262ae76900 Author: Jan Engelhardt Date: Thu Feb 7 17:57:11 2008 -0800 [NETFILTER]: xt_iprange: add missing #include Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d9d17578d9f11cdbe41e4559e8f264ec757ddce8 Author: Patrick McHardy Date: Thu Feb 7 17:56:49 2008 -0800 [NETFILTER]: xt_iprange: fix typo in address family The family for iprange_mt4 should be AF_INET, not AF_INET6. Noticed by Jiri Moravec . Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 86577c661bc01d5c4e477d74567df4470d6c5138 Author: Patrick McHardy Date: Thu Feb 7 17:56:34 2008 -0800 [NETFILTER]: nf_conntrack: fix ct_extend ->move operation The ->move operation has two bugs: - It is called with the same extension as source and destination, so it doesn't update the new extension. - The address of the old extension is calculated incorrectly, instead of (void *)ct->ext + ct->ext->offset[i] it uses ct->ext + ct->ext->offset[i]. Fixes a crash on x86_64 reported by Chuck Ebbert and Thomas Woerner . Tested-by: Thomas Woerner Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b2155e7f70b3f058efe94c0c459db023b05057bd Author: Jozsef Kadlecsik Date: Thu Feb 7 17:54:56 2008 -0800 [NETFILTER]: nf_conntrack: TCP conntrack reopening fix TCP connection tracking in netfilter did not handle TCP reopening properly: active close was taken into account for one side only and not for any side, which is fixed now. The patch includes more comments to explain the logic how the different cases are handled. The bug was discovered by Jeff Chua. Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3adbefee6fd58a061b2bf1df4f3769701860fc62 Author: Ingo Molnar Date: Tue Feb 5 17:57:39 2008 -0800 SLUB: fix checkpatch warnings fix checkpatch --file mm/slub.c errors and warnings. $ q-code-quality-compare errors lines of code errors/KLOC mm/slub.c [before] 22 4204 5.2 mm/slub.c [after] 0 4210 0 no code changed: text data bss dec hex filename 22195 8634 136 30965 78f5 slub.o.before 22195 8634 136 30965 78f5 slub.o.after md5: 93cdfbec2d6450622163c590e1064358 slub.o.before.asm 93cdfbec2d6450622163c590e1064358 slub.o.after.asm [clameter: rediffed against Pekka's cleanup patch, omitted moves of the name of a function to the start of line] Signed-off-by: Ingo Molnar Signed-off-by: Christoph Lameter commit a76d354629ea46c449705970a2c0b9e9090d6f03 Author: Nick Piggin Date: Mon Jan 7 23:20:27 2008 -0800 Use non atomic unlock Slub can use the non-atomic version to unlock because other flags will not get modified with the lock held. Signed-off-by: Nick Piggin Acked-by: Christoph Lameter Signed-off-by: Andrew Morton commit 8ff12cfc009a2a38d87fa7058226fe197bb2696f Author: Christoph Lameter Date: Thu Feb 7 17:47:41 2008 -0800 SLUB: Support for performance statistics The statistics provided here allow the monitoring of allocator behavior but at the cost of some (minimal) loss of performance. Counters are placed in SLUB's per cpu data structure. The per cpu structure may be extended by the statistics to grow larger than one cacheline which will increase the cache footprint of SLUB. There is a compile option to enable/disable the inclusion of the runtime statistics and its off by default. The slabinfo tool is enhanced to support these statistics via two options: -D Switches the line of information displayed for a slab from size mode to activity mode. -A Sorts the slabs displayed by activity. This allows the display of the slabs most important to the performance of a certain load. -r Report option will report detailed statistics on Example (tbench load): slabinfo -AD ->Shows the most active slabs Name Objects Alloc Free %Fast skbuff_fclone_cache 33 111953835 111953835 99 99 :0000192 2666 5283688 5281047 99 99 :0001024 849 5247230 5246389 83 83 vm_area_struct 1349 119642 118355 91 22 :0004096 15 66753 66751 98 98 :0000064 2067 25297 23383 98 78 dentry 10259 28635 18464 91 45 :0000080 11004 18950 8089 98 98 :0000096 1703 12358 10784 99 98 :0000128 762 10582 9875 94 18 :0000512 184 9807 9647 95 81 :0002048 479 9669 9195 83 65 anon_vma 777 9461 9002 99 71 kmalloc-8 6492 9981 5624 99 97 :0000768 258 7174 6931 58 15 So the skbuff_fclone_cache is of highest importance for the tbench load. Pretty high load on the 192 sized slab. Look for the aliases slabinfo -a | grep 000192 :0000192 <- xfs_btree_cur filp kmalloc-192 uid_cache tw_sock_TCP request_sock_TCPv6 tw_sock_TCPv6 skbuff_head_cache xfs_ili Likely skbuff_head_cache. Looking into the statistics of the skbuff_fclone_cache is possible through slabinfo skbuff_fclone_cache ->-r option implied if cache name is mentioned .... Usual output ... Slab Perf Counter Alloc Free %Al %Fr -------------------------------------------------- Fastpath 111953360 111946981 99 99 Slowpath 1044 7423 0 0 Page Alloc 272 264 0 0 Add partial 25 325 0 0 Remove partial 86 264 0 0 RemoteObj/SlabFrozen 350 4832 0 0 Total 111954404 111954404 Flushes 49 Refill 0 Deactivate Full=325(92%) Empty=0(0%) ToHead=24(6%) ToTail=1(0%) Looks good because the fastpath is overwhelmingly taken. skbuff_head_cache: Slab Perf Counter Alloc Free %Al %Fr -------------------------------------------------- Fastpath 5297262 5259882 99 99 Slowpath 4477 39586 0 0 Page Alloc 937 824 0 0 Add partial 0 2515 0 0 Remove partial 1691 824 0 0 RemoteObj/SlabFrozen 2621 9684 0 0 Total 5301739 5299468 Deactivate Full=2620(100%) Empty=0(0%) ToHead=0(0%) ToTail=0(0%) Descriptions of the output: Total: The total number of allocation and frees that occurred for a slab Fastpath: The number of allocations/frees that used the fastpath. Slowpath: Other allocations Page Alloc: Number of calls to the page allocator as a result of slowpath processing Add Partial: Number of slabs added to the partial list through free or alloc (occurs during cpuslab flushes) Remove Partial: Number of slabs removed from the partial list as a result of allocations retrieving a partial slab or by a free freeing the last object of a slab. RemoteObj/Froz: How many times were remotely freed object encountered when a slab was about to be deactivated. Frozen: How many times was free able to skip list processing because the slab was in use as the cpuslab of another processor. Flushes: Number of times the cpuslab was flushed on request (kmem_cache_shrink, may result from races in __slab_alloc) Refill: Number of times we were able to refill the cpuslab from remotely freed objects for the same slab. Deactivate: Statistics how slabs were deactivated. Shows how they were put onto the partial list. In general fastpath is very good. Slowpath without partial list processing is also desirable. Any touching of partial list uses node specific locks which may potentially cause list lock contention. Signed-off-by: Christoph Lameter commit 1f84260c8ce3b1ce26d4c1d6dedc2f33a3a29c0c Author: Christoph Lameter Date: Mon Jan 7 23:20:30 2008 -0800 SLUB: Alternate fast paths using cmpxchg_local Provide an alternate implementation of the SLUB fast paths for alloc and free using cmpxchg_local. The cmpxchg_local fast path is selected for arches that have CONFIG_FAST_CMPXCHG_LOCAL set. An arch should only set CONFIG_FAST_CMPXCHG_LOCAL if the cmpxchg_local is faster than an interrupt enable/disable sequence. This is known to be true for both x86 platforms so set FAST_CMPXCHG_LOCAL for both arches. Currently another requirement for the fastpath is that the kernel is compiled without preemption. The restriction will go away with the introduction of a new per cpu allocator and new per cpu operations. The advantages of a cmpxchg_local based fast path are: 1. Potentially lower cycle count (30%-60% faster) 2. There is no need to disable and enable interrupts on the fast path. Currently interrupts have to be disabled and enabled on every slab operation. This is likely avoiding a significant percentage of interrupt off / on sequences in the kernel. 3. The disposal of freed slabs can occur with interrupts enabled. The alternate path is realized using #ifdef's. Several attempts to do the same with macros and inline functions resulted in a mess (in particular due to the strange way that local_interrupt_save() handles its argument and due to the need to define macros/functions that sometimes disable interrupts and sometimes do something else). [clameter: Stripped preempt bits and disabled fastpath if preempt is enabled] Signed-off-by: Christoph Lameter Reviewed-by: Pekka Enberg Cc: Signed-off-by: Andrew Morton commit 683d0baad3d6e18134927f8c28ee804dbe10fe71 Author: Christoph Lameter Date: Mon Jan 7 23:20:29 2008 -0800 SLUB: Use unique end pointer for each slab page. We use a NULL pointer on freelists to signal that there are no more objects. However the NULL pointers of all slabs match in contrast to the pointers to the real objects which are in different ranges for different slab pages. Change the end pointer to be a pointer to the first object and set bit 0. Every slab will then have a different end pointer. This is necessary to ensure that end markers can be matched to the source slab during cmpxchg_local. Bring back the use of the mapping field by SLUB since we would otherwise have to call a relatively expensive function page_address() in __slab_alloc(). Use of the mapping field allows avoiding a call to page_address() in various other functions as well. There is no need to change the page_mapping() function since bit 0 is set on the mapping as also for anonymous pages. page_mapping(slab_page) will therefore still return NULL although the mapping field is overloaded. Signed-off-by: Christoph Lameter Cc: Pekka Enberg Signed-off-by: Andrew Morton commit 5bb983b0cce9b7b281af15730f7019116dd42568 Author: Christoph Lameter Date: Thu Feb 7 17:47:41 2008 -0800 SLUB: Deal with annoying gcc warning on kfree() gcc 4.2 spits out an annoying warning if one casts a const void * pointer to a void * pointer. No warning is generated if the conversion is done through an assignment. Signed-off-by: Christoph Lameter commit e84542f5db655d1ce7b4890832f0e5d19aae965d Author: Jean Delvare Date: Sat Jan 5 15:40:38 2008 +0100 hwmon: (lm80) Add individual alarm files The new libsensors needs these individual alarm files. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit f8181762a04a3ff7878d3ec5c013bce9c771d4f7 Author: Jean Delvare Date: Sat Jan 5 15:37:05 2008 +0100 hwmon: (lm80) De-macro the sysfs callbacks Use standard dynamic sysfs callbacks instead of macro-generated functions. This makes the code more readable, and the binary smaller (by about 34%). As a side note, another benefit of this type of cleanup is that they shrink the build time. For example, this cleanup saves about 29% of the lm80 driver build time. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 6cc37ee536bb90c428c8a7cde91f33ffe1fd27bd Author: Jean Delvare Date: Sat Jan 5 15:35:09 2008 +0100 hwmon: (lm80) Various cleanups * Drop trailing whitespace * Fold a long line * Rename new_client to client * Drop redundant initializations to 0 * Drop bogus comment Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 1c1381076f8c6cf0a2c9918194e3fa6369cdf06a Author: Jean Delvare Date: Thu Jan 3 23:04:55 2008 +0100 hwmon: (w83627hf) Refactor beep enable handling We can handle the beep enable bit as any other beep mask bit for slightly smaller code. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit e3604c626cdcddf37bf5c9663ae75b79dad40000 Author: Jean Delvare Date: Thu Jan 3 23:00:30 2008 +0100 hwmon: (w83627hf) Add individual alarm and beep files The new libsensors needs these individual alarm and beep files. The code was copied from the w83781d driver. I've tested the alarm files on a W83627THF. I couldn't test the beep files as the system in question doesn't have a speaker. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit ef878b11ba245d14b7db7816217a825d6a894182 Author: Jean Delvare Date: Thu Jan 3 22:54:13 2008 +0100 hwmon: (w83627hf) Enable VBAT monitoring If VBAT monitoring is disabled, enable it. Bug reported on the lm-sensors trac system: http://lm-sensors.org/ticket/2282 This is the exact same patch that was applied to the w83627ehf driver 6 months ago. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit cbe311f2a40b8430d8e01b97c11e9e95d888430b Author: Jean Delvare Date: Thu Jan 3 21:22:44 2008 +0100 hwmon: (w83627ehf) The W83627DHG has 8 VID pins While the W83627EHF/EHG has only 6 VID pins, the W83627DHG has 8 VID pins, to support VRD 11.0. Add support for this. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 636866b9f0a72583d2361a897668eb19ff37ded6 Author: Jean Delvare Date: Thu Jan 3 23:24:24 2008 +0100 hwmon: (asb100) Add individual alarm files The new libsensors needs these individual alarm files. I did not create alarm files for in5 and in6 as these alarms are documented as not working. Signed-off-by: Jean Delvare Acked-by: Hans de Goede Signed-off-by: Mark M. Hoffman commit fad33c5fdae73a75af2f8ecf69147011bd57e28c Author: Jean Delvare Date: Thu Jan 3 23:21:07 2008 +0100 hwmon: (asb100) De-macro the sysfs callbacks Use standard dynamic sysfs callbacks instead of macro-generated wrappers. This makes the code more readable, and the binary smaller (by about 12%). Signed-off-by: Jean Delvare Acked-by: Hans de Goede Signed-off-by: Mark M. Hoffman commit af221931519571028c98cf7c7030dd973a524011 Author: Jean Delvare Date: Thu Jan 3 23:15:49 2008 +0100 hwmon: (asb100) Various cleanups * Drop history, it's incomplete and doesn't belong there * Drop unused version number * Drop trailing spaces * Coding style fixes * Fold long lines * Rename new_client to client * Drop redundant initializations to 0 Signed-off-by: Jean Delvare Acked-by: Hans de Goede Signed-off-by: Mark M. Hoffman commit 8f74efe81d122c071410fd74f42879ef81439fa4 Author: Jean Delvare Date: Sat Dec 1 11:25:33 2007 +0100 hwmon: VRM is not written to registers What was true of reading the VRM value is also true of writing it: not being a register value, it doesn't need hardware access, so we don't need a reference to the i2c client. This allows for a minor code cleanup. As gcc appears to be smart enough to simplify the generated code by itself, this cleanup only affects the source code, the generated binaries are unchanged. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 345a22245451c0fd2c44b2afb5dfb75628b487fa Author: Juerg Haefliger Date: Sat Jan 26 08:54:24 2008 -0800 hwmon: (dme1737) fix Super-IO device ID override The dme1737 has a second place where the Super-IO device ID is checked. This has been missed by Jean's initial patch that adds support for user-controlled Super-IO device ID override. This patch fixes this issue. Signed-off-by: Juerg Haefliger Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit ff8421f733c91a70d8edadf9ce2842fca66172fa Author: Juerg Haefliger Date: Sun Jan 27 16:39:46 2008 -0800 hwmon: (dme1737) fix divide-by-0 This patch fixes a possible divide-by-0 and a minor bug in the FAN_FROM_REG macro (in TPC mode). Signed-off-by: Juerg Haefliger Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit cb96b8ca11644ee1223e0fb3f1f629ead15203cb Author: Sergey Vlasov Date: Tue Jan 15 21:57:44 2008 +0300 hwmon: (abituguru3) Add AUX4 fan input for Abit IP35 Pro Abit IP35 Pro has 6 fan connectors (CPU, SYS and AUX1-4), but the entry for AUX4 was missing from the table. Signed-off-by: Sergey Vlasov Acked-by: Hans de Goede Signed-off-by: Mark M. Hoffman commit 5812f9283e621370a2d65282b7bcc942bf2c3f1c Author: Steve Hardy Date: Tue Jan 22 23:00:02 2008 +0000 hwmon: Add support for Texas Instruments/Burr-Brown ADS7828 Signed-off-by: Steve Hardy Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 360f9452def0be1d6e29cee07a0f0640cd1d7b22 Author: Jean Delvare Date: Sun Jan 6 15:49:19 2008 +0100 hwmon: (adm9240) Add individual alarm files The new libsensors needs these individual alarm files. Signed-off-by: Jean Delvare Tested-by: Grant Coady Signed-off-by: Mark M. Hoffman commit 1f52af0f6940dd4ab96edb9bbc56012ecc6c67e0 Author: Jean Delvare Date: Thu Jan 3 23:35:33 2008 +0100 hwmon: (lm77) Add individual alarm files The new libsensors needs this. As the old library never had support for the lm77 driver, I even dropped the legacy "alarms" file. Signed-off-by: Jean Delvare Acked-by: Hans de Goede Signed-off-by: Mark M. Hoffman commit 7b501b1f53605bec17454dd8bbdbbf3f57a7cf32 Author: Jean Delvare Date: Thu Jan 3 19:44:09 2008 +0100 hwmon: Discard useless I2C driver IDs Many I2C hwmon drivers define a driver ID but no other code references these, meaning that they are useless. Discard them, along with a few IDs which are defined but never used at all. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 455f791ea3e33a274c098b4a8c2e35d4d1a6d518 Author: Jean Delvare Date: Mon Dec 3 23:28:42 2007 +0100 hwmon: (lm85) Make the pwmN_enable files writable Make the pwmN_enable files writable. This makes it possible to use standard fan speed control tools (pwmconfig, fancontrol) with the lm85 driver. I left the non-standard pwmN_auto_channels files in place, as they give additional control for the automatic mode, and some users might be used to them by now. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 4b4df95dccdd2c6a573c9dedefb747ed663c074d Author: Jean Delvare Date: Mon Dec 3 23:23:21 2007 +0100 hwmon: (lm85) Return standard values in pwmN_enable The values returned by the lm85 driver in pwmN_enable sysfs files do not match the standard. Fix that. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 050ab8789869eabb6b2e066aca0d13d86013c315 Author: Jean Delvare Date: Sun Dec 2 23:42:24 2007 +0100 hwmon: (adm1031) Add individual alarm and fault files The new libsensors needs these. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit c801082d7d41928b2348507ecdc841d5ebad3490 Author: Jean Delvare Date: Sun Dec 2 23:39:38 2007 +0100 hwmon: (adm1031) Get rid of macro-generated wrappers Use the standard dynamic sysfs callbacks instead of macro-generated wrappers. It makes the code more simple and the binary smaller (-8% on my system.) Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 6d6006b8db5ead05053ccfbc45ab7e5c600a81b1 Author: Jean Delvare Date: Sun Dec 2 23:33:57 2007 +0100 hwmon: (adm1031) Various cleanups * Rename new_client to client * Drop redundant initializations to 0 * Drop trailing space * Other whitespace cleanups * Split/fold a few long lines * Constify static data * Optimizations in set_fan_div() Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 38a1f0e9aed014be66c474ecd9fe8513646de833 Author: Jean Delvare Date: Sun Dec 2 23:32:42 2007 +0100 hwmon: (adm1031) Fix register overwrite in set_fan_div() Don't rely on the register cache when setting a new fan clock divider. For one thing, the cache might not have been initialized at all if the driver has just been loaded. For another, the cached values may be old and you never know what can happen in the driver's back. Also invalidate the cache instead of trying to adjust the measured fan speed: the whole point of changing the clock divider is to get a better reading. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit d5b0b5d62823f08ab4988e1b179fd5a9bddced31 Author: Jean Delvare Date: Fri Dec 14 14:41:53 2007 +0100 hwmon: (it87) Delete pwmN_freq files on driver removal In commit f8d0c19a93cea3a26a90f2462295e1e01a4cd250 I forgot to delete the pwmN_freq files on driver removal, here's the fix. Signed-off-by: Jean Delvare Acked-by: Riku Voipio Signed-off-by: Mark M. Hoffman commit 293c09971631d22f8e91402f58955ccaada9dbde Author: Jean Delvare Date: Fri Nov 30 23:52:44 2007 +0100 hwmon: (w83781d) Misc cleanups * Drop unused defines * Drop unused driver ID * Remove trailing whitespace Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 05663368d2138c14fa1b9aa8eeca4ca9a33d7c77 Author: Jean Delvare Date: Fri Nov 30 23:51:24 2007 +0100 hwmon: (w83781d) Drop W83627HF support The W83627HF hardware monitoring features are supported by the w83627hf driver for several years now. Support by the w83781d has been advertised as deprecated 6 months ago, it's about time to see it go. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 5b34dbcd88251508d02e48ad9b0f9b8232a13ee0 Author: Jean Delvare Date: Thu Nov 29 23:47:54 2007 +0100 hwmon: (adm1026) Don't create files for missing inputs On the ADM1026, pins 27 and 28 can be used for two different functions: either temp3, or in8+in9. We should only create the sysfs files for the function that is configured, otherwise it is confusing for the user. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit f67fdabfb94b0bb96623a4b48d22be5329a06277 Author: Jean Delvare Date: Sat Dec 1 11:24:17 2007 +0100 hwmon: (adm1026) More cleanups (updated) Various cleanups: * Drop an unused define. * Drop unused struct member "type". * Drop one useless instruction. * Drop redundant initializations to 0. * Rename new_client to client. * Drop a useless cast. * Minor code cleanup. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit cb01a2312f56c93d2740e827718966b92b7cbb91 Author: Jean Delvare Date: Thu Nov 29 23:46:42 2007 +0100 hwmon: (adm1026) Whitespace cleanups Whitespace cleanups only: * Trim trailing whitespace. * Use tabs for indentation and alignment. * Add missing space after commas. * Remove extra spaces. No functional change, binary is identical before and after this patch. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit a9273cb8eea503f6b8e28bd5f613962ecba278c5 Author: Jean Delvare Date: Thu Nov 29 23:45:22 2007 +0100 hwmon: (adm1026) Add individual alarm files The new libsensors needs these. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 0124dd78e28eec6c030f8d02929e81f05e1ce4e6 Author: Jean Delvare Date: Sun Nov 25 16:16:41 2007 +0100 hwmon: (it87) Add individual alarm files The new libsensors needs this. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit f1d8e33263abb6a3a2265ba59344c7eb002b2389 Author: Jean Delvare Date: Sun Nov 25 16:14:44 2007 +0100 hwmon: (it87) Discard a dead e-mail address Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit fe03f28cf35bf8dd0d3cba5e0c00a22530b73bfb Author: Darrick J. Wong Date: Wed Dec 19 14:11:25 2007 -0800 hwmon: (adt7470) Support per-sensor alarm files Remove the old alarms hack and replace it with per-sensor alarm files. Signed-off-by: Darrick J. Wong Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 7845cd791d87b9d5e6171452143dbef15aba00dc Author: Hans de Goede Date: Thu Dec 20 16:42:59 2007 +0100 hwmon: (fschmd) Read voltage scaling factors from BIOS DMI This patch adds support to the fschmd driver for reading the voltage scaling factors from BIOS DMI tables, as specified in the Siemens datasheet. Signed-off-by: Hans de Goede Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 67b671bceb4a8340a30929e9642620d99ed5ad76 Author: Jean Delvare Date: Thu Dec 6 23:13:42 2007 +0100 hwmon: Let the user override the detected Super-I/O device ID While it is possible to force SMBus-based hardware monitoring chip drivers to drive a not officially supported device, we do not have this possibility for Super-I/O-based drivers. That's unfortunate because sometimes newer chips are fully compatible and just forcing the driver to load would work. Instead of that we have to tell the users to recompile the kernel driver, which isn't an easy task for everyone. So, I propose that we add a module parameter to all Super-I/O based hardware monitoring drivers, letting advanced users force the driver to load on their machine. The user has to provide the device ID of a supposedly compatible device. This requires looking at the source code or a datasheet, so I am confident that users can't randomly force a driver without knowing what they are doing. Thus this should be relatively safe. As you can see from the code, the implementation is pretty simple and unintrusive. Signed-off-by: Jean Delvare Acked-by: Hans de Goede Signed-off-by: Mark M. Hoffman commit b20ff13a6ad64f07ce78c75e6a335c185270d73c Author: Joe Perches Date: Mon Nov 19 17:48:07 2007 -0800 hwmon: (vt8231) Add missing "space" Signed-off-by: Joe Perches Signed-off-by: Mark M. Hoffman commit ec1d86c457c0d1a530914290d0bbd3ecce022272 Author: Jean Delvare Date: Sun Nov 18 23:46:10 2007 +0100 hwmon: Update the lm-sensors website address It's about time to reflect the move of the lm-sensors project to lm-sensors.org. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit e86a776093cffef993841ab7dbb4b1611ebf9686 Author: Jean Delvare Date: Sun Nov 4 23:45:41 2007 +0100 hwmon: (gl520sm) Add individual alarm and beep files libsensors 3.0 needs these. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 86d47f127d740b891da29daff5799d91b6bd2e17 Author: Jean Delvare Date: Sun Nov 4 23:45:14 2007 +0100 hwmon: (gl520sm) De-macro the sysfs callbacks Use standard dynamic sysfs callbacks instead of macro-generated wrappers. This makes the code more readable, and the binary smaller (by about 11%). Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 8b4b0ab41bb0a5e72b6fceb9a7aff303c88960b4 Author: Jean Delvare Date: Sun Nov 4 23:44:52 2007 +0100 hwmon: (gl520sm) Put register addresses in arrays This allows for some code refactoring, making the binary slightly smaller. This is also required to use dynamic sysfs callbacks for voltage and temperature files. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit f28dc2f78bbcbf07b8a084fcd89cf6b4256f0664 Author: Jean Delvare Date: Sun Nov 4 23:44:23 2007 +0100 hwmon: (gl520sm) Various cleanups * Drop trailing spaces * Drop unused driver ID * Drop stray backslashes in macros * Rename new_client to client * Drop redundant initializations to 0 Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit e0ae87a49cf3e721313bf8942299f3f140c6963c Author: Jean Delvare Date: Sun Nov 25 21:58:21 2007 +0100 hwmon: (lm90) Use generic i2c reads during detection As indirectly reported by Olof Johansson, the lm90 driver uses a custom i2c read function even during detection, at which point we don't know yet what device we're talking with. It would make more sense to only use the generic i2c read function at this point, so that we don't log irrelevant errors on misdetection. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 72240307e988627df46553846936aa89a0f6a283 Author: Jean Delvare Date: Tue Oct 23 14:02:24 2007 +0200 hwmon: (gl518sm) Fix the reported fan speed The fan speeds reported by the gl518sm driver are twice as much as they should. It's currently reporting the number of pulses per minute, not rotations per minute, while typical fans emit two pulses per rotation. This explains why all reports with this driver had very high speed values (between 9000 to 12000 RPM). Odd that nobody ever actually complained about this bug. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 21df67b191fd612fa28aedd39ec1414d8effc454 Author: Jean Delvare Date: Mon Oct 22 17:47:58 2007 +0200 hwmon: (gl518sm) Report error on invalid fan div value If the user attempts to write a fan clock divider not supported by the chip, an error should be returned. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit da6848da293b88e5ac46f5ecc6ae41122d5f680b Author: Jean Delvare Date: Mon Oct 22 17:47:16 2007 +0200 hwmon: (gl518sm) Add individual alarm and beep files The new libsensors needs these. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 28292e79dcecac3688530a7f78d1930b78fac96b Author: Jean Delvare Date: Mon Oct 22 17:46:42 2007 +0200 hwmon: (gl518sm) Refactor fan functions This makes the code more readable and the binary smaller (by 5% or so). Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 5314f5c1abf03a56c6607ddef96b7a5607bee2f8 Author: Jean Delvare Date: Mon Oct 22 17:46:17 2007 +0200 hwmon: (gl518sm) Don't create sysfs files for missing features The early revisions of the GL518SM do not report voltage values for the first 3 voltage channels. We should not create sysfs attributes for these missing features. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit a5955ed27497385cc491ecbe40af45951e830881 Author: Jean Delvare Date: Mon Oct 22 17:45:08 2007 +0200 hwmon: (gl518sm) Various cleanups * Drop history, it doesn't belong there * Drop unused struct member * Drop bogus struct member comment * Drop unused driver ID * Rename new_client to client * Drop redundant initializations to 0 * Drop useless cast * Drop trailing space * Fix comment * Drop duplicate comment Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 7dcf9a31ef50367e474e5e320e8ec5e0a8b9d2f0 Author: Jean Delvare Date: Sat Nov 24 17:45:09 2007 -0500 hwmon: (fschmd) Discard non-ASCII characters Somehow non-ASCII characters managed to sneak into the fschmd driver. Kick them out. Signed-off-by: Jean Delvare Cc: Hans de Goede Signed-off-by: Mark M. Hoffman commit 4e9527998f8673b1e3bb6f9645b9700e7973581e Author: Jean Delvare Date: Wed Oct 10 21:14:11 2007 +0200 hwmon: (adm1025) Various cleanups * Whitespace cleanups * Constify scaling constants * Fold long lines * Drop redundant initializations to 0 * Rename new_client to just client * Use sysfs_create_group() * Drop a useless comment Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit bb081300326335594c273107fcd4e5bdad765ae7 Author: Jean Delvare Date: Wed Oct 10 21:11:52 2007 +0200 hwmon: (adm1025) Add individual alarm files The future libsensors needs these individual alarm and fault files. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit d8543e7f30fe9306c8d5a16086bf75f71ab79acf Author: Jean Delvare Date: Wed Oct 10 21:11:01 2007 +0200 hwmon: (adm1025) Use dynamic sysfs callbacks This lets us get rid of macro-generated functions and shrinks the driver size by about 30%. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit c7fa373796ea685874ca9525eeb3d0d0951e511b Author: Jean Delvare Date: Tue Oct 9 15:22:22 2007 +0200 hwmon: (lm87) Add support for the Analog Devices ADM1024 It happens that the Analog Devices ADM1024 is fully compatible with the National Semiconductor LM87, so support for the former can easily be added to the lm87 driver. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 85f03bccd6e0e2ac6ccf017d4bcd5d74bb87a671 Author: Kevin Lo Date: Fri Nov 23 09:31:52 2007 +0800 hwmon: Add support for Winbond W83L786NG/NR Signed-off-by: Kevin Lo Signed-off-by: Mark M. Hoffman commit ce9c2f449b9e6b68d3a71ba146d64c44c8945d8d Author: Robert P. J. Day Date: Tue Nov 6 03:21:42 2007 -0500 hwmon: (adt7470) Replace power-of-two test Since already supplies a power-of-two test, there's no point in having this source file redefine it again. Signed-off-by: Robert P. J. Day Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 5aebefb08682ebd67ea0b902950d00169e1451cb Author: Nicolas Kaiser Date: Wed Nov 7 13:28:59 2007 +0100 hwmon: (w83793) remove duplicated defines Remove duplicated defines. Signed-off-by: Nicolas Kaiser Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 6722feada7f6213ba06d510ef853e57ddcd59dae Author: Jean Delvare Date: Sun Oct 7 12:25:46 2007 +0200 hwmon: (lm78/w83781d) Probe fewer I2C addresses We've never seen any device supported by the lm78 or w83781d driver at addresses 0x20-0x27, so let's stop probing these addresses. Extra probes cost time, and have potential for confusing or misdetecting other I2C devices. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 7fce084a0b3e2bb8caef919f8f36065953655bb5 Author: Jean Delvare Date: Sat Nov 3 17:29:20 2007 +0100 dmi: Let drivers walk the DMI table Let drivers walk the DMI table for their own needs. Some drivers need data stored in OEM-specific DMI records for proper operation. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit c8b6de16d9434405e5832b8772e4f986ddd5118e Merge: a6a852e... 8e31e60... Author: Linus Torvalds Date: Thu Feb 7 17:30:44 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (48 commits) [SCSI] aacraid: do not set valid bit in sense information [SCSI] ses: add new Enclosure ULD [SCSI] enclosure: add support for enclosure services [SCSI] sr: fix test unit ready responses [SCSI] u14-34f: fix data direction bug [SCSI] aacraid: pci_set_dma_max_seg_size opened up for late model controllers [SCSI] fix BUG when sum(scatterlist) > bufflen [SCSI] arcmsr: updates (1.20.00.15) [SCSI] advansys: make 3 functions static [SCSI] Small cleanups for scsi_host.h [SCSI] dc395x: fix uninitialized var warning [SCSI] NCR53C9x: remove driver [SCSI] remove m68k NCR53C9x based drivers [SCSI] dec_esp: Remove driver [SCSI] kernel-doc: fix scsi docbook [SCSI] update my email address [SCSI] add protocol definitions [SCSI] sd: handle bad lba in sense information [SCSI] qla2xxx: Update version number to 8.02.00-k8. [SCSI] qla2xxx: Correct issue where incorrect init-fw mailbox command was used on non-NPIV capable ISPs. ... commit a6a852e93705121e2b90bd41ad50e85a508699aa Merge: 099dc4f... 3211e4e... Author: Linus Torvalds Date: Thu Feb 7 17:29:02 2008 -0800 Merge git://git.linux-nfs.org/pub/linux/nfs-2.6 * git://git.linux-nfs.org/pub/linux/nfs-2.6: SUNRPC xptrdma: simplify build configuration NFS: Fix a potential file corruption issue when writing commit 099dc4fb62653f6019d78db55fba7a18ef02d65b Author: David Sterba Date: Thu Feb 7 10:57:12 2008 +0100 ipwireless: driver for PC Card 3G/UMTS modem The device is manufactured by IPWireless. In some countries (for example Czech Republic, T-Mobile ISP) this card is shipped for service called UMTS 4G. It's a piece of PCMCIA "4G" UMTS PPP networking hardware that presents itself as a serial character device (i.e. looks like usual modem to userspace, accepts AT commands, etc). Rewieved-by: Jiri Slaby Signed-off-by: Ben Martel Signed-off-by: Stephen Blackheath Signed-off-by: David Sterba Signed-off-by: Jiri Kosina Signed-off-by: Linus Torvalds commit 3211e4eb5834924dd5beac8956c0bc0bfb755c37 Author: James Lentini Date: Mon Jan 28 12:09:28 2008 -0500 SUNRPC xptrdma: simplify build configuration Trond and Bruce, This is a patch for 2.6.25. This is the same version that was sent out on December 12 for review (no comments to date). To simplify the RPC/RDMA client and server build configuration, make SUNRPC_XPRT_RDMA a hidden config option that continues to depend on SUNRPC and INFINIBAND. The value of SUNRPC_XPRT_RDMA will be: - N if either SUNRPC or INFINIBAND are N - M if both SUNRPC and INFINIBAND are on (M or Y) and at least one is M - Y if both SUNRPC and INFINIBAND are Y In 2.6.25, all of the RPC/RDMA related files are grouped in net/sunrpc/xprtrdma and the net/sunrpc/xprtrdma/Makefile builds both the client and server RPC/RDMA support using this config option. Signed-off-by: James Lentini Signed-off-by: Trond Myklebust commit 8e31e607ea050c0df1483d8b6cdd5b1395c03cbe Author: Salyzyn, Mark Date: Wed Feb 6 13:54:12 2008 -0800 [SCSI] aacraid: do not set valid bit in sense information Luben Tuikov [mailto:ltuikov@yahoo.com] sez: > Just as in your case and Tony's case, which I presume > uses the same RAID firmware vendor, it would've > probably been better if the RAID firmware vendor > fixed the firmware to not set the VALID bit if the > INFORMATION field is not valid. Point taken regarding the aacraid driver. Dropped the VALID bit, and then did some cleanup/simplification of the set_sense procedure and the associated parameters. Mike did some preliminary tests when the VALID bit was dropped before the 'Re: [PATCH] [SCSI] sd: make error handling more robust' patches came on the scene. The change in the SCSI subsystem does make this enclosed aacraid patch unnecessary, so this aacraid patch is merely post battle ground cleanup. If the simplification is an issue, repugnant, too much for a back-port to the stable trees or clouds the point, this patch could be happily distilled down to: diff -ru a/drivers/scsi/aacraid/aachba.c b/drivers/scsi/aacraid/aachba.c --- a/drivers/scsi/aacraid/aachba.c 2008-02-06 16:26:45.834938955 -0500 +++ b/drivers/scsi/aacraid/aachba.c 2008-02-06 16:32:01.109035329 -0500 @@ -865,7 +865,7 @@ u32 residue) { - sense_buf[0] = 0xF0; /* Sense data valid, err code 70h (current error) */ + sense_buf[0] = 0x70; /* Sense data invalid, err code 70h (current error) */ sense_buf[1] = 0; /* Segment number, always zero */ if (incorrect_length) { Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 5d47a35600270e7115061cb1320ee60ae9bcb6b8 Author: Trond Myklebust Date: Thu Feb 7 17:24:07 2008 -0500 NFS: Fix a potential file corruption issue when writing If the inode is flagged as having an invalid mapping, then we can't rely on the PageUptodate() flag. Ensure that we don't use the "anti-fragmentation" write optimisation in nfs_updatepage(), since that will cause NFS to write out areas of the page that are no longer guaranteed to be up to date. A potential corruption could occur in the following scenario: client 1 client 2 =============== =============== fd=open("f",O_CREAT|O_WRONLY,0644); write(fd,"fubar\n",6); // cache last page close(fd); fd=open("f",O_WRONLY|O_APPEND); write(fd,"foo\n",4); close(fd); fd=open("f",O_WRONLY|O_APPEND); write(fd,"bar\n",4); close(fd); ----- The bug may lead to the file "f" reading 'fubar\n\0\0\0\nbar\n' because client 2 does not update the cached page after re-opening the file for write. Instead it keeps it marked as PageUptodate() until someone calls invaldate_inode_pages2() (typically by calling read()). Signed-off-by: Trond Myklebust commit 9927c68864e9c39cc317b4f559309ba29e642168 Author: James Bottomley Date: Sun Feb 3 15:48:56 2008 -0600 [SCSI] ses: add new Enclosure ULD This adds support to SCSI for enclosure services devices. It also makes use of the enclosure services added in an earlier patch to display the enclosure topology in sysfs. At the moment, the enclosures are SAS specific, but if anyone actually has a non-SAS enclosure that follows the SES-2 standard, we can add that as well. On my Vitesse based system, the enclosures show up like this: sparkweed:~# ls -l /sys/class/enclosure/0\:0\:1\:0/ total 0 -r--r--r-- 1 root root 4096 2008-02-03 15:44 components lrwxrwxrwx 1 root root 0 2008-02-03 15:44 device -> ../../../devices/pci0000:01/0000:01:02.0/host0/port-0:0/expander-0:0/port-0:0:12/end_device-0:0:12/target0:0:1/0:0:1:0 drwxr-xr-x 2 root root 0 2008-02-03 15:44 SLOT 000 drwxr-xr-x 2 root root 0 2008-02-03 15:44 SLOT 001 drwxr-xr-x 2 root root 0 2008-02-03 15:44 SLOT 002 drwxr-xr-x 2 root root 0 2008-02-03 15:44 SLOT 003 drwxr-xr-x 2 root root 0 2008-02-03 15:44 SLOT 004 drwxr-xr-x 2 root root 0 2008-02-03 15:44 SLOT 005 lrwxrwxrwx 1 root root 0 2008-02-03 15:44 subsystem -> ../../enclosure --w------- 1 root root 4096 2008-02-03 15:44 uevent And the individual occupied slots like this: sparkweed:~# ls -l /sys/class/enclosure/0\:0\:1\:0/SLOT\ 001/ total 0 -rw-r--r-- 1 root root 4096 2008-02-03 15:45 active lrwxrwxrwx 1 root root 0 2008-02-03 15:45 device -> ../../../../devices/pci0000:01/0000:01:02.0/host0/port-0:0/expander-0:0/port-0:0:11/end_device-0:0:11/target0:0:0/0:0:0:0 -rw-r--r-- 1 root root 4096 2008-02-03 15:45 fault -rw-r--r-- 1 root root 4096 2008-02-03 15:45 locate -rw-r--r-- 1 root root 4096 2008-02-03 15:45 status lrwxrwxrwx 1 root root 0 2008-02-03 15:45 subsystem -> ../../../enclosure_component -r--r--r-- 1 root root 4096 2008-02-03 15:45 type --w------- 1 root root 4096 2008-02-03 15:45 uevent You can flash the various blinky lights by echoing to the fault and locate files. >From the device's point of view, you can see it has an enclosure like this: sparkweed:~# ls /sys/class/scsi_disk/0\:0\:0\:0/device/ block:sda generic queue_depth state bsg:0:0:0:0 iocounterbits queue_type subsystem bus iodone_cnt rescan timeout delete ioerr_cnt rev type device_blocked iorequest_cnt scsi_device:0:0:0:0 uevent driver modalias scsi_disk:0:0:0:0 vendor enclosure_component:SLOT 001 model scsi_generic:sg0 evt_media_change power scsi_level Note the enclosure_component:SLOT 001 which shows where in the enclosure this device fits. The astute will notice that I'm using SCSI VPD Inquiries to identify the devices. This, unfortunately, won't work for SATA devices unless we do some really nasty hacking about on the SAT because the only think that knows the SAS addresses for SATA devices is libsas, not libata where the SAT resides. Signed-off-by: James Bottomley commit d569d5bb3fd96d2907acaddd7c4ea5cb07d02ab8 Author: James Bottomley Date: Sun Feb 3 15:40:56 2008 -0600 [SCSI] enclosure: add support for enclosure services The enclosure misc device is really just a library providing sysfs support for physical enclosure devices and their components. Signed-off-by: James Bottomley commit 38582a62ecd337de4212004c7d4844899dc57890 Author: James Bottomley Date: Wed Feb 6 13:01:58 2008 -0600 [SCSI] sr: fix test unit ready responses Commit 210ba1d1724f5c4ed87a2ab1a21ca861a915f734 updated sr.c to use the scsi_test_unit_ready() function. Unfortunately, this has the wrong characteristic of eating NOT_READY returns which sr.c relies on for tray status. Fix by rolling an internal sr_test_unit_ready() that doesn't do this. Tested-by: Daniel Drake Signed-off-by: James Bottomley commit d6a451dd4d7ec805f9a21bb1994ce8ceaecc8fe6 Author: Roel Kluin <12o3l@tiscali.nl> Date: Wed Feb 6 19:21:07 2008 +0100 [SCSI] u14-34f: fix data direction bug Direction of data transfer 'DMA_FROM_DEVICE' was tested twice. DTD_OUT means transfer from host to device. This should occur when the direction of data transfer (sc_data_direction) is 'DMA_TO_DEVICE'. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: James Bottomley commit 62e9f5c4671a3026639b01ec84a3063f03bead4c Author: Salyzyn, Mark Date: Wed Feb 6 09:00:46 2008 -0800 [SCSI] aacraid: pci_set_dma_max_seg_size opened up for late model controllers This patch ensures that the modern adapters get a maximum sg segment size on par with the maximum transfer size. Added some localized janitor fixes to the discussion patch I used with Fujita. FUJITA Tomonori [mailto:fujita.tomonori@lab.ntt.co.jp] sez: > I think that setting the proper maximum segment size for the late > model cards (as you did above) makes sense. Signed-off-by: Mark Salyzyn Cc: FUJITA Tomonori Signed-off-by: James Bottomley commit 4d2de3a50ce19af2008a90636436a1bf5b3b697b Author: Tony Battersby Date: Tue Feb 5 10:36:10 2008 -0500 [SCSI] fix BUG when sum(scatterlist) > bufflen When sending a SCSI command to a tape drive via the SCSI Generic (sg) driver, if the command has a data transfer length more than scatter_elem_sz (32 KB default) and not a multiple of 512, then I either hit BUG_ON(!valid_dma_direction(direction)) in dma_unmap_sg() or else the command never completes (depending on the LLDD). When constructing scatterlists, the sg driver rounds up the scatterlist element sizes to be a multiple of 512. This can result in sum(scatterlist lengths) > bufflen. In this case, scsi_req_map_sg() incorrectly sets bio->bi_size to sum(scatterlist lengths) rather than to bufflen. When the command completes, req_bio_endio() detects that bio->bi_size != 0, and so it doesn't call bio_endio(). This causes the command to be resubmitted, resulting in BUG_ON or the command never completing. This patch makes scsi_req_map_sg() set bio->bi_size to bufflen rather than to sum(scatterlist lengths), which fixes the problem. Signed-off-by: Tony Battersby Acked-by: Mike Christie Signed-off-by: James Bottomley commit 76d78300a6eb8b7f08e47703b7e68a659ffc2053 Author: Nick Cheng Date: Mon Feb 4 23:53:24 2008 -0800 [SCSI] arcmsr: updates (1.20.00.15) - add arcmsr_enable_eoi_mode()and readl(reg->iop2drv_doorbell_reg) in arcmsr_handle_hbb_isr() on adapter Type B in case of the doorbell interrupt clearance is cached - add conditional declaration for arcmsr_pci_error_detected() and arcmsr_pci_slot_reset - check if the sg list member number exceeds arcmsr default limit in arcmsr_build_ccb() - change the returned value type of arcmsr_build_ccb()from "void" to "int" returns FAILED in arcmsr_queue_command() - modify arcmsr_drain_donequeue() to ignore unknown command and let kernel process command timeout. This could handle IO request violating maximum segments, i.e. Linux XFS over DM-CRYPT. Thanks to Milan Broz's comments - fix the release of dma memory for type B in arcmsr_free_ccb_pool() - fix the arcmsr_polling_hbb_ccbdone() Signed-off-by: Nick Cheng Cc: Milan Broz Cc: Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 63adcc5862cf95f29c8c07d59458f102700da100 Author: Adrian Bunk Date: Mon Feb 4 23:53:19 2008 -0800 [SCSI] advansys: make 3 functions static Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit d850bd34f5b2a52ccec90188ad86165f940693e9 Author: Pavel Machek Date: Mon Feb 4 23:53:24 2008 -0800 [SCSI] Small cleanups for scsi_host.h Small cleanups in scsi_host.h. Few #defines make me wonder if their description is still up to date..? Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 8144f2137b7c69055597bb644a3cb6d08ee0de77 Author: Andrew Morton Date: Mon Feb 4 23:53:26 2008 -0800 [SCSI] dc395x: fix uninitialized var warning drivers/scsi/dc395x.c: In function 'dc395x_init_one': drivers/scsi/dc395x.c:4270: warning: 'ptr' may be used uninitialized in this function Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit a2c6ef71364e3c7e7509d1bf0e61e8b853744190 Author: James Bottomley Date: Thu Jan 3 12:29:03 2008 -0600 [SCSI] NCR53C9x: remove driver Acked-by: Boaz Harrosh Signed-off-by: James Bottomley commit 642978beb48331db1bafde0262eee33f658cfc39 Author: James Bottomley Date: Thu Jan 3 12:27:16 2008 -0600 [SCSI] remove m68k NCR53C9x based drivers These drivers depend on the deprecated NCR53C9X core and need to be converted to the esp_scsi core. Acked-by: Boaz Harrosh Cc: Linux/m68k Signed-off-by: James Bottomley commit da19d2f53269210adfa9aa5a163a9fad8dc63d27 Author: James Bottomley Date: Thu Jan 3 12:21:38 2008 -0600 [SCSI] dec_esp: Remove driver This driver depends on the deprecated NCR53C9X core and needs to be converted to the esp_scsi core. Acked-by: Boaz Harrosh Cc: "Maciej W. Rozycki" Signed-off-by: James Bottomley commit 14f501a4b73c826574cf385f7872762ebcfac899 Author: Randy Dunlap Date: Sun Feb 3 15:06:36 2008 -0800 [SCSI] kernel-doc: fix scsi docbook Add missing function parameter descriptions. Make function short description fit on one line as required. Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley commit 99cb813794edc930549059ba68093161a07eabee Author: James Bottomley Date: Sun Feb 3 16:00:12 2008 -0600 [SCSI] update my email address This updates steeleye -> hansenpartnership in the documentation since some email has been going astray because of this. Signed-off-by: James Bottomley commit 89dddbce9c6ec7663af81a74be6a6aa720301994 Author: James Bottomley Date: Sun Feb 3 15:32:59 2008 -0600 [SCSI] add protocol definitions A lot of SCSI command replies have a protocol ID field. Add definitions for the interpretation of that from SPC-3. Signed-off-by: James Bottomley commit 366c246de9cec909c5eba4f784c92d1e75b4dc38 Author: James Bottomley Date: Sat Feb 2 16:06:23 2008 -0600 [SCSI] sd: handle bad lba in sense information Some devices report medium error locations incorrectly. Add guards to make sure the reported bad lba is actually in the request that caused it. Additionally remove the large case statment for sector sizes and replace it with the proper u64 divisions. Tested-by: Mike Snitzer Cc: Stable Tree Cc: Tony Battersby Signed-off-by: James Bottomley commit d7402cd91022fc32522397d3930a3e6587de7c55 Author: Andrew Vasquez Date: Thu Jan 31 12:33:54 2008 -0800 [SCSI] qla2xxx: Update version number to 8.02.00-k8. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit e6e074f175879b1c1d700056aa0c32abefb92c1a Author: Andrew Vasquez Date: Thu Jan 31 12:33:53 2008 -0800 [SCSI] qla2xxx: Correct issue where incorrect init-fw mailbox command was used on non-NPIV capable ISPs. BIT_2 of the firmware attributes is only valid on FW-interface-2 type HBAs. Code in commit c48339decceec8e011498b0fc4c7c7d8b2ea06c1 would cause the incorrect initialize-firmware mailbox command to be issued for non-NPIV capable ISPs. Correct this by reverting to previously used (and correct) pre-condition 'if' check. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit da4541b63bbe9a945d7bbc1105f2deacc42ef195 Author: Seokmann Ju Date: Thu Jan 31 12:33:52 2008 -0800 [SCSI] qla2xxx: Access the proper 'physical' port in FC-transport callbacks. For following fc_host specific attributes, vports rely on the pport. So, this patch changed way to access the data for those attributes so that they can access pport's. - get_host_speed (speed) - get_host_port_state (port_state) - get_host_port_type (port_type) - get_fc_host_stats Also, added PORT_SPEED_8GB case in the speed attribute for 8Gb HBAs. Signed-Off-by: Seokmann Ju Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 99363ef81cc7d0bab275304b8d34cf71d189cdcc Author: Seokmann Ju Date: Thu Jan 31 12:33:51 2008 -0800 [SCSI] qla2xxx: Correct issue where vport-state was not updated during an ISP_ABORT_NEEDED requst. While running IO simultaneously through physical port and virtual port, if user changes Data Rate (from scli utility), IO through virtual port fails. It failed because the vport had not received the ISP_ABORT_NEEDED notification. Signed-Off-by: Seokmann Ju Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 963b0fdd3a4aa68e6e65e0967ec0adcca0736fde Author: Andrew Vasquez Date: Thu Jan 31 12:33:50 2008 -0800 [SCSI] qla2xxx: Move RISC-interrupt-register modifications to qla2x00_request_irqs(). There's no functional change involved with this update, instead it simply migrates the "set cleared interrupt state" codes to a more approprate method, qla2x00_request_irqs(), and cleans-up the driver's probe() logic. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 3db0652ef986f3bc3d779c4f986330ee3fdd50cc Author: Andrew Vasquez Date: Thu Jan 31 12:33:49 2008 -0800 [SCSI] qla2xxx: Consolidate RISC-parity enablement codes. Collapse duplicate codes called during probe() and RISC-reset into qla2x00_setup_chip(). Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit e87110852d0bd331d50c3de686a7fc9626579d60 Author: Andrew Vasquez Date: Thu Jan 31 12:33:48 2008 -0800 [SCSI] qla2xxx: Cleanse memory allocation logic during probe. - Drop loop-till-allocated structure of code within qla2x00_mem_alloc(). - Properly unwind deallcations of memory during failures. - Drop qla2x00_allocate_sp_pool() and qla2x00_free_sp_pool() functions as their implementations can easily be collapsed into the callers. - Defer DMA pool allocation of SFP data until requested. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 0afb467b4757adb9c6e3817f2e752d658a494352 Author: Andrew Vasquez Date: Thu Jan 31 12:33:47 2008 -0800 [SCSI] qla2xxx: Clear EFT buffer before firmware reinitialization. To insure that there is no stale data present during EFT re-registration. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit df4bf0bb5b077545031e8ad5ef3cc0dd8a5fbe05 Author: Andrew Vasquez Date: Thu Jan 31 12:33:46 2008 -0800 [SCSI] qla2xxx: Cleanup any outstanding SRB resources during shutdown. Refactor SRB-failure completion codes in the process. Also, signal the DPC routine to complete sooner as backend processing at shutdown-time is superflous. [jejb: resolve conflicts with pci_enable_device_bars removal] Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 61623fc34f9db7f01b672d2fa443d3d492049bbe Author: Andrew Vasquez Date: Thu Jan 31 12:33:45 2008 -0800 [SCSI] qla2xxx: Add MODULE_FIRMWARE hint for ISP25XX firmware. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 948882f6b72a95dd76c6c567a45dfe91b7d04c15 Author: Andrew Vasquez Date: Thu Jan 31 12:33:44 2008 -0800 [SCSI] qla2xxx: Correct resource_size_t usages. Hmm, it looks like the conversion to resource_size_t usage (3776541d8a46347a4924353a192c6ce4a3d04e2e) requires some additional fixups to cleanup the structure-pointer castings used during IO mapped accesses to the chip. There's only a small number of locations, where the driver uses IO mapped accesses to the hardware, the patch below should take care of it without introducing to many structural changes to code flow. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 4c851879312702456c7fbd594f19a7a9d991c252 Author: Mike Christie Date: Thu Jan 31 13:36:54 2008 -0600 [SCSI] iscsi: bump version to 2.0-868 Set iscsi version to 2.0-868 Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 8b1d03434ee44b08c57f50403eaeab099facebf5 Author: Mike Christie Date: Thu Jan 31 13:36:53 2008 -0600 [SCSI] libiscsi: fix session age rollover and remove cid encoding The session age mask is only 4 bits, but session->age is 32. When it gets larger then 15 and we try to or the bits some bits get dropped and the check for session age in iscsi_verify_itt is useless. The ISCSI_CID_MASK related bits are also useless since cid is always one. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 322d739da83bbff0309c202181f79c08d9534880 Author: Mike Christie Date: Thu Jan 31 13:36:52 2008 -0600 [SCSI] iscsi: fix up iscsi printk prefix Some iscsi class messages have the dev_printk prefix and some libiscsi and iscsi_tcp messages have "iscsi" or the module name as a prefix which is normally pretty useless when trying to figure out which session or connection the message is attached to. This patch adds iscsi lib and class dev_printks so all messages have a common prefix that can be used to figure out which object printed it. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit c238c3bba9b422a9b453c75e157b416204f22a71 Author: Mike Christie Date: Thu Jan 31 13:36:51 2008 -0600 [SCSI] iscsi class: fix iscsi conn attr counter There are 13 iscsi conn attrs, but since the IF/OF markers were not being used we did not notice that we forgot to increment the ISCSI_CONN_ATTRS counter. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit ad294e9cd11d029fc0d09ab129fba5bea46de0dc Author: Mike Christie Date: Thu Jan 31 13:36:50 2008 -0600 [SCSI] libiscsi: fix setting of nop timer If we rollover then we could get a next_timeout of zero, so we need to set the new timer to that value. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 921601b7031f8a2c71f49f1b965ee00ebbca6886 Author: Mike Christie Date: Thu Jan 31 13:36:49 2008 -0600 [SCSI] qla4xxx: add async scan support qla4xxx has the old school startup/probe where it finds presetup sessions in its flash and then attempts to log into them before returning from the probe. This however, makes it very simple to add a iscsi class scan finished helper which the driver can use. In future patches Dave or I will rip apart the driver to make it more like qla2xxx, but for now this is a very simple two line patch which fixes the problem of trying to figure out when the initial sessions are done being scanned. Signed-off-by: Mike Christie Cc: David Somayajulu Signed-off-by: James Bottomley commit 8aae18adb240a9eb1999b8245c56522cbefc9047 Author: Mike Christie Date: Thu Jan 31 13:36:48 2008 -0600 [SCSI] iscsi class: add async scan helper In qla4xxx's probe it will call the iscsi session setup functions for session that got setup on the initial start. This then makes it easy for the iscsi class to export a helper which indicates when those scans are done. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 568d303b5b3f0f6432ae8f56ecdb0beb2341288e Author: Mike Christie Date: Thu Jan 31 13:36:47 2008 -0600 [SCSI] qla4xxx: fix recovery timer and session unblock race If qla4xxx is resetting up a session and the recovery timer fires we do not want to just set it to dead, because the dpc thread could have just set it to online and is in the middle of resetting it up. Signed-off-by: Mike Christie Cc: David Somayajulu Signed-off-by: James Bottomley commit bd976f62cd6c6dda1ce57bf3e84447e94844868a Author: Mike Christie Date: Thu Jan 31 13:36:46 2008 -0600 [SCSI] iscsi class: add session scanning This just adds iscsi session scanning which works like fc rport scanning. The future patches will hook the drivers into Mathew Wilcox's async scanning infrastructure, so userspace does not have to special case iscsi and so userspace does not have to make a extra special case for hardware iscsi root scanning. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 7fb1921b07a83f71a77f806a2a7d2dd721ea641b Author: Mike Christie Date: Thu Jan 31 13:36:45 2008 -0600 [SCSI] qla4xxx: use iscsi class session state check ready This has qla4xxx use the iscsi class's check ready function in the queue command function, so all iscsi drivers return the same error value for common problems. Signed-off-by: Mike Christie Cc: David Somayajulu Signed-off-by: James Bottomley commit b635930de91be0a217292e3fe381af273e5ffaf7 Author: Mike Christie Date: Thu Jan 31 13:36:44 2008 -0600 [SCSI] qla4xxx: directly call iscsi recovery functions Qla4xxx can just call the iscsi recovery functions directly. There is no need for userspace to do this for qla4xxx, because we do not use the mutex to iterate over devices anymore and iscsi_block /unblock_session can be called from interrupt context or the dpc thread. And having userspace do this just creates uneeded headaches for qla4xxx root situations where the session may experience problems. For example during the kernel shutdown the scsi layer wants to send sync caches, but at this time userspace is not up (iscsid is not running), so we cannot recover from the problem. Signed-off-by: Mike Christie Cc: David Somayajulu Signed-off-by: James Bottomley commit 6eabafbe6616266e8de61980a7dac5ecc1ba1113 Author: Mike Christie Date: Thu Jan 31 13:36:43 2008 -0600 [SCSI] iscsi class, libiscsi: add iscsi sysfs session state file This adds a iscsi session state file which exports the session state for both software and hardware iscsi. It also hooks libiscsi in. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 84ac86ca8c6787f9efff28bc04b1b65fe0a5c310 Author: Boaz Harrosh Date: Sun Sep 9 21:31:21 2007 +0300 [SCSI] arm: convert to accessors and !use_sg cleanup - convert to accessors and !use_sg cleanup Signed-off-by: Boaz Harrosh Tested-by: Russell King Signed-off-by: James Bottomley commit c9e86b8b1da8aea2cad6d3a825791c25ea67624d Author: James Bottomley Date: Thu Jan 3 12:17:50 2008 -0600 [SCSI] mca_53c9x: remove driver This driver depends on the deprecated NCR53C9X core and needs to be converted to the esp_scsi core. Acked-by: Boaz Harrosh Signed-off-by: James Bottomley commit 3dfcb701e1ff7aa21d6623e46b6ec3f7d0d306e1 Author: Tony Battersby Date: Tue Nov 6 16:07:04 2007 -0500 [SCSI] sym53c8xx: fix resid calculation This patch fixes the calculation of the data transfer residual for the case of a command that is supposed to transfer an odd number of bytes on a wide bus but transfers nothing instead. Signed-off-by: Tony Battersby Cc: Matthew Wilcox Signed-off-by: James Bottomley commit 51883b5e60796cce556370dbc368fd22c60c0e3e Author: Aegis Lin Date: Fri Feb 1 17:35:13 2008 +0100 [SCSI] ps3rom: sector size should be 512 bytes It should be desired that 64 KiB is available for ATAPI transferrring. (Historically) in SCSI/block layer sector size is defined as 512 during sector-byte calculation. Originally in ps3rom.c CD_FRAMESIZE (2048) was used, which limited /sys/block/sr0/queue/max_sectors_kb to 16 KiB (32 sectors). Signed-off-by: Aegis Lin Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit 0bb67f181834044db6e9b15c7d5cc3cce0489bfd Author: Thomas Bogendoerfer Date: Fri Feb 1 00:13:34 2008 +0100 [SCSI] sun3x_esp: convert to esp_scsi Converted sun3x_esp driver to use esp_scsi.c Signed-off-by: Thomas Bogendoerfer Signed-off-by: James Bottomley commit f8d9d654fcc7dd87f5d0b222e233eaab15d650c4 Author: Adrian Bunk Date: Tue Jan 29 00:11:27 2008 +0200 [SCSI] libiscsi: make __iscsi_complete_pdu() static __iscsi_complete_pdu() can now become static. Signed-off-by: Adrian Bunk Acked-by: Mike Christie Signed-off-by: James Bottomley commit 5234e25c35a708708559727b1e3e04de3a538828 Author: Salyzyn, Mark Date: Mon Jan 28 12:16:52 2008 -0800 [SCSI] aacraid: fib context lock for management ioctls (take 2) The first patch (a119ee8ee3045bf559d4cf02d72b112f3de2a15b) was a bit too aggressive and nested the locks (!) unit testing was in error. This patch was reverted by 203a512f0976e8ba85df36d76b40af6c80239121. This new patch should fix the locks correctly. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit ad7a2926b9e53cfb3020d15bdfacacc54e2b63da Author: Steve French Date: Thu Feb 7 23:25:02 2008 +0000 [CIFS] reduce checkpatch warnings Signed-off-by: Steve French commit 151db1fc23800875c7ac353b106b7dab77061275 Author: Tony Breeds Date: Fri Feb 8 09:24:52 2008 +1100 Fix compilation of powerpc asm-offsets.c with old gcc Commit ad7f71674ad7c3c4467e48f6ab9e85516dae2720 ("[POWERPC] Use a sensible default for clock_getres() in the VDSO") corrected the clock resolution reported by the VDSO clock_getres() but introduced another problem in that older versions of gcc (gcc-4.0 and earlier) fail to compile the new code in arch/powerpc/kernel/asm-offsets.c. This fixes it by introducing a new MONOTONIC_RES_NSEC define in the generic code which is equivalent to KTIME_MONOTONIC_RES but is just an integer constant, not a ktime union. Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras Signed-off-by: Linus Torvalds commit 145e9230760e4db27cf5f00fd04b005c79ca1c12 Author: Geert Uytterhoeven Date: Thu Feb 7 23:10:28 2008 +0100 m68k: correct setting of struct user.u_ar0 Commit 6e16d89bcd668a95eb22add24c02d80890232b66 ("Sanitize the type of struct user.u_ar0") forgot to change the m68k setting code, causing the following compiler warning: arch/m68k/kernel/process.c:338: warning: assignment makes integer from pointer without a cast Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit df922075f2a55b1ae71a6fe589c1cc1b91381f4f Merge: 6e5565f... ef1fc2f... Author: Linus Torvalds Date: Thu Feb 7 13:21:02 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6: BKL-removal: Implement a compat_ioctl handler for JFS BKL-removal: Use unlocked_ioctl for jfs commit 9f2eef25e044603527e121066284d22f51d853cc Author: Len Brown Date: Thu Feb 7 16:19:56 2008 -0500 intel_menlo: build on X86 only Signed-off-by: Len Brown commit 9c2f7de8c0f979fc6354bf0d22c0cdcc29722bf6 Author: Len Brown Date: Thu Feb 7 16:18:24 2008 -0500 ACPI: build WMI on X86 only Signed-off-by: Len Brown commit 6e5565f949af1322f8f3d3f43d044645ae448499 Merge: e5a9e8e... 03366e7... Author: Linus Torvalds Date: Thu Feb 7 12:57:44 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (34 commits) Input: i8042 - non-x86 build fix Input: pxa27x_keypad - also enable on PXA3xx Input: pxa27x_keypad - add debounce_interval to the keypad platform data Input: pxa27x_keypad - use device resources for I/O memory mapping and IRQ Input: pxa27x_keypad - enable rotary encoders and direct keys Input: pxa27x_keypad - introduce pxa27x_keypad_config() Input: pxa27x_keypad - introduce driver structure and use KEY() to define matrix keys Input: pxa27x_keypad - remove pin configuration from the driver Input: pxa27x_keypad - rename the driver (was pxa27x_keyboard) Input: constify function pointer tables (seq_operations) Input: i8042 - add Fujitsu-Siemens Amilo Pro 2010 to nomux list Input: i8042 - enable DMI quirks on x86-64 Input: i8042 - add Dritek quirk for Acer Aspire 9110 Input: add input event to APM event bridge Input: mousedev - use BIT_MASK instead of BIT Input: remove duplicate includes Input: remove cdev from input_dev structure Input: remove duplicated headers in drivers/char/keyboard.c Input: i8042 - add Dritek keyboard extension quirk Input: add Tosa keyboard driver ... commit e5a9e8e6890d9b9c7a0f25b03ffdaf28614a9a4c Merge: bfa271d... d24fbcd... Author: Linus Torvalds Date: Thu Feb 7 12:46:35 2008 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: ocfs2: Negotiate locking protocol versions. commit bfa271d026fef5d8db9a95342c38eab6f7b287a2 Merge: 123f794... 969affd... Author: Linus Torvalds Date: Thu Feb 7 12:45:28 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6: sysfs: remove BUG_ON() from sysfs_remove_group() Driver core: Revert "Fix Firmware class name collision" Block: Fix whole_disk attribute bug commit 919158d17b42683a5c7368e1e77661c65a20a48a Author: Thomas Renninger Date: Wed Oct 31 15:41:42 2007 +0100 ACPI: cpufreq: Print _PPC changes via cpufreq debug layer enabled with CPU_FREQ_DEBUG Signed-off-by: Thomas Renninger Signed-off-by: Len Brown commit ef1fc2f01e02951a0d8520ec3aa0b38606d74b55 Author: Andi Kleen Date: Sun Jan 27 17:02:02 2008 -0600 BKL-removal: Implement a compat_ioctl handler for JFS The ioctls were already compatible except for the actual values so this was fairly easy to do. Signed-off-by: Andi Kleen Signed-off-by: Dave Kleikamp commit b0b23e0ade6aa265d7278e06d50bc10ec81dd174 Author: Len Brown Date: Thu Feb 7 14:42:25 2008 -0500 ACPI: add newline to printk Signed-off-by: Len Brown commit 123f794fa7d592644881a20801638d88521d0b06 Author: Jesse Barnes Date: Thu Feb 7 11:15:20 2008 -0800 i915: Fix GR register array size off-by-one bug Make sure we have enough room for all the GR registers or we'll end up clobbering the AR index register (which should actually be harmless unless the BIOS is making an assumption about it). Noticed-by: Jens Axboe Signed-off-by: Jesse Barnes Signed-off-by: Linus Torvalds commit baab81fa518ecfac597402b462631f5593926623 Author: Andi Kleen Date: Sun Jan 27 16:58:51 2008 -0600 BKL-removal: Use unlocked_ioctl for jfs Convert jfs_ioctl over to not use the BKL. The only potential race I could see was with two ioctls in parallel changing the flags and losing the updates. Use the i_mutex to protect against this. Signed-off-by: Andi Kleen Signed-off-by: Dave Kleikamp commit 969affd276dec81a35a5ad10d4e05e62e93b380b Author: Greg Kroah-Hartman Date: Thu Feb 7 11:58:54 2008 -0500 sysfs: remove BUG_ON() from sysfs_remove_group() It's possible that the caller of sysfs_remove_group messed up and passed in an attribute group that was not really registered to this kobject. But don't panic for such a foolish error, spit out a warning about what happened, and continue on our way safely. Cc: Roland Dreier Cc: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 7d640c4a5b36c4733460065db1554da924044511 Author: Michael E Brown Date: Tue Jan 29 15:35:01 2008 -0600 Driver core: Revert "Fix Firmware class name collision" This reverts commit 109f0e93b6b728f03c1eb4af02bc25d71b646c59. The original patch breaks BIOS updates on all Dell machines. The path to the firmware file for the dell_rbu driver changes, which breaks all of the userspace tools which rely on it. Note that this patch re-introduces a problem with i2c name collision that was previously fixed by this patch. Signed-off-by: Michael E Brown Signed-off-by: Greg Kroah-Hartman commit f4a00a2c06bc7802f52969cbdd19f4c680a7cd20 Author: Greg Kroah-Hartman Date: Wed Feb 6 23:33:39 2008 -0800 Block: Fix whole_disk attribute bug The "whole_disk" attribute was not properly converted in the block device conversion earlier, and if the file is read, bad things can happen. This patch fixes this, making the attribute an empty one, preserving the original functionality. Many thanks to David Miller for finding this, and pointing me in the proper place within the block code to look. Acked-by: David S. Miller Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 0afc2edfada50980bec999f94dcea26ebad3dda6 Merge: a8e98d6... d256eb8... Author: Linus Torvalds Date: Thu Feb 7 10:21:26 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC32]: Use regsets in arch_ptrace(). [SPARC64]: Use regsets in arch_ptrace(). [SPARC32]: Use regsets for ELF core dumping. [SPARC64]: Use regsets for ELF core dumping. [SPARC64]: Remove unintentional ptrace debugging messages. [SPARC]: Move over to arch_ptrace(). [SPARC]: Remove PTRACE_SUN* handling. [SPARC]: Kill DEBUG_PTRACE code. [SPARC32]: Add user regset support. [SPARC64]: Add user regsets. [SPARC64]: Fix booting on non-zero cpu. commit a8e98d6d51a3eb7bb061b1625193a129c8bd094f Merge: f0f1b33... f9f7dd2... Author: Linus Torvalds Date: Thu Feb 7 10:20:31 2008 -0800 Merge git://git.infradead.org/mtd-2.6 * git://git.infradead.org/mtd-2.6: (120 commits) [MTD] Fix mtdoops.c compilation [MTD] [NOR] fix startup lock when using multiple nor flash chips [MTD] [DOC200x] eccbuf is statically defined and always evaluate to true [MTD] Fix maps/physmap.c compilation with CONFIG_PM [MTD] onenand: Add panic_write function to the onenand driver [MTD] mtdoops: Use the panic_write function when present [MTD] Add mtd panic_write function pointer [MTD] [NAND] Freescale enhanced Local Bus Controller FCM NAND support. [MTD] physmap.c: Add support for multiple resources [MTD] [NAND] Fix misparenthesization introduced by commit 78b65179... [MTD] [NAND] Fix Blackfin NFC ECC calculating bug with page size 512 bytes [MTD] [NAND] Remove wrong operation in PM function of the BF54x NFC driver [MTD] [NAND] Remove unused variable in plat_nand_remove [MTD] Unlocking all Intel flash that is locked on power up. [MTD] [NAND] at91_nand: Make mtdparts option can override board info [MTD] mtdoops: Various minor cleanups [MTD] mtdoops: Ensure sequential write to the buffer [MTD] mtdoops: Perform write operations in a workqueue [MTD] mtdoops: Add further error return code checking [MTD] [NOR] Test devtype, not definition in flash_probe(), drivers/mtd/devices/lart.c ... commit f0f1b3364ae7f48084bdf2837fb979ff59622523 Merge: 4383f18... b714315... Author: Linus Torvalds Date: Thu Feb 7 09:45:58 2008 -0800 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (112 commits) ACPI: fix build warning Revert "cpuidle: build fix for non-x86" ACPI: update intrd DSDT override console messages ACPI: update DSDT override documentation ACPI: Add "acpi_no_initrd_override" kernel parameter ACPI: its a directory not a folder.... ACPI: misc cleanups ACPI: add missing prink prefix strings ACPI: cleanup acpi.h ACPICA: fix CONFIG_ACPI_DEBUG_FUNC_TRACE build ACPI: video: Ignore ACPI video devices that aren't present in hardware ACPI: video: reset brightness on resume ACPI: video: call ACPI notifier chain for ACPI video notifications ACPI: create notifier chain to get hotkey events to graphics driver ACPI: video: delete unused display switch on hotkey event code ACPI: video: create "brightness_switch_enabled" modparam cpuidle: Add a poll_idle method ACPI: cpuidle: Support C1 idle time accounting ACPI: enable MWAIT for C1 idle ACPI: idle: Fix acpi_safe_halt usages and interrupt enabling/disabling ... commit 4383f18b7f94a4d668c5eec68645c75d44556235 Merge: 3d50337... ec072b0... Author: Linus Torvalds Date: Thu Feb 7 09:45:37 2008 -0800 Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight * 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight: backlight: Add OMAP1 PWL backlight driver backlight: Avoid unecessary driver callbacks commit 3d50337f62a61027f40ad4ceddefa3c91e5d479e Merge: 5b808a5... d39a7a6... Author: Linus Torvalds Date: Thu Feb 7 09:45:14 2008 -0800 Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds * 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds: leds: Add HP Jornada 6xx driver leds: Remove the now uneeded ixp4xx driver leds: Add power LED to the wrap driver leds: Fix led-gpio active_low default brightness leds: hw acceleration for Clevo mail LED driver leds: Add support for hardware accelerated LED flashing leds: Standardise LED naming scheme leds: Add clevo notebook LED driver commit 5b808a593588b2e6235c59fcd278791c53667787 Author: Geert Uytterhoeven Date: Thu Feb 7 09:10:37 2008 +0100 m68k: kill page walker compile warning The recently introduced page walker (walk_page_range()) calls pgd_offset with a const struct mm_struct pointer, causing the following compile warning on m68k: mm/pagewalk.c:111: warning: passing argument 1 of 'pgd_offset' discards qualifiers from pointer target type Make the `mm' parameter of the inline function pgd_offset() const to shut it up. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit d31d29540915f21d3f2bcfdd6d135fde328038a0 Merge: 7a8c6ad... 3d5e2c1... Author: Linus Torvalds Date: Thu Feb 7 09:07:16 2008 -0800 Merge branch 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (22 commits) drm: add initial r500 drm support radeon: setup the ring buffer fetcher to be less agressive. drm: fixup some of the ioctl function exit paths drm: the drm really should call pci_set_master.. i915: Add chipset id for Intel Integrated Graphics Device drm: cleanup DRM_DEBUG() parameters drm/i915: add support for E7221 chipset drm: don't cast a pointer to pointer of list_head mga_dma: return 'err' not just zero from mga_do_cleanup_dma() drm: add _DRM_DRIVER flag, and re-order unload. drm: enable udev node creation drm: Make DRM_IOCTL_GET_CLIENT return EINVAL when it can't find client #idx. drm: move drm_mem_init to proper place in startup sequence drm: call driver load function after initialising AGP drm: Fix ioc32 compat layer drm: fd.o bug #11895: Only add the AGP base to map offset if the caller didn't. i915: add suspend/resume support drm: update DRM sysfs support drm: Initialize the AGP structure's base address at init rather than enable. drm: move two function extern into the correct block ... commit 7a8c6ad918e9c598bf3b799f1a0d5ee4dee59ca3 Merge: 3796958... e19717f... Author: Linus Torvalds Date: Thu Feb 7 09:03:00 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] Add missing printk levels to e_powersaver [CPUFREQ] Fix sparse warning in powernow-k8 [CPUFREQ] Support Model D parts and newer in e_powersaver [CPUFREQ] Powernow-k8: Update to support the latest Turion processors [CPUFREQ] fix configuration help message [CPUFREQ] powernow-k8 print pstate instead of fid/did for family 10h [CPUFREQ] Eliminate cpufreq_userspace scaling_setspeed deadlock [CPUFREQ] gx-suspmod.c: use boot_cpu_data instead of current_cpu_data [CPUFREQ] fix incorrect comment on show_available_freqs() in freq_table.c [CPUFREQ] drivers/cpufreq: Add missing "space" [CPUFREQ] arch/x86: Add missing "space" [CPUFREQ] Remove pointless Kconfig dependancy commit 37969581301e50872a1ae84dc73962b5f7ee6b76 Merge: 80ff8a8... 24f1a84... Author: Linus Torvalds Date: Thu Feb 7 09:02:26 2008 -0800 Merge branch 'for-2.6.25' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'for-2.6.25' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (69 commits) [POWERPC] Add SPE registers to core dumps [POWERPC] Use regset code for compat PTRACE_*REGS* calls [POWERPC] Use generic compat_sys_ptrace [POWERPC] Use generic compat_ptrace_request [POWERPC] Use generic ptrace peekdata/pokedata [POWERPC] Use regset code for PTRACE_*REGS* requests [POWERPC] Switch to generic compat_binfmt_elf code [POWERPC] Switch to using user_regset-based core dumps [POWERPC] Add user_regset compat support [POWERPC] Add user_regset_view definitions [POWERPC] Use user_regset accessors for GPRs [POWERPC] ptrace accessors for special regs MSR and TRAP [POWERPC] Use user_regset accessors for SPE regs [POWERPC] Use user_regset accessors for altivec regs [POWERPC] Use user_regset accessors for FP regs [POWERPC] mpc52xx: fix compile error introduce when rebasing patch [POWERPC] 4xx: PCIe indirect DCR spinlock fix. [POWERPC] Add missing native dcr dcr_ind_lock spinlock [POWERPC] 4xx: Fix offset value on Warp board [POWERPC] 4xx: Add 440EPx Sequoia ehci dts entry ... commit 80ff8a805113850a3ffafcc8e6eaa1fdd51b02f3 Author: Jiri Slaby Date: Thu Feb 7 00:16:51 2008 -0800 Char: mxser, add support for CP-114UL Add new card (0x1393:0x1143) support added in 1.11 original driver, also allow rate change in set_serial_info ioctl (as per 1.11 too). Signed-off-by: Jiri Slaby Reviewed-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c45607ad3eb7397bc2433f3c36a4ed8b315889e Author: Jiri Slaby Date: Thu Feb 7 00:16:46 2008 -0800 Char: mxser, remove it (Old) mxser is obsoleted by mxser_new and scheduled for removal on Dec 2007. Remove it by renaming mxser_new to mxser. Signed-off-by: Jiri Slaby Reviewed-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f122bfb5a43c6b57733eb7a76ad4ed392be6a910 Author: Jiri Slaby Date: Thu Feb 7 00:16:45 2008 -0800 Char: mxser, ioctl cleanup - remove dead MOXA_GET_CONF (always returned -ENXIO) - remove useless MOXA_GET_CUMAJOR (unused) - use get/put_user instead of copy_from/to_user for simple types - cleanup TIOCMIWAIT -- return -ERESTARTSYS on signal, move condition into separate function Signed-off-by: Jiri Slaby Cc: Alan Cox Reviewed-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f83bb2d40a879c21c5085ee8cfc426f9936901ee Author: Jiri Slaby Date: Thu Feb 7 00:16:44 2008 -0800 Char: mxser, simplify mxser_get_serial_info Initialize temp structure directly with proper values without first zeroing it and setting later as suggested by Jan. Signed-off-by: Jiri Slaby Cc: Jan Engelhardt Reviewed-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ecd233bb6efa9745dffc6134ceab8aba1aa030b Author: Jiri Slaby Date: Thu Feb 7 00:16:43 2008 -0800 Char: mxser, reorder mxser_cardinfo fields Reorder fields to save some memory and code on 64bit due to alignment as suggested by Jan. Signed-off-by: Jiri Slaby Cc: Jan Engelhardt Reviewed-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c3667d5c321ac2211d04a746f91a48d339a0e0a1 Author: Jiri Slaby Date: Thu Feb 7 00:16:43 2008 -0800 Char: mxser, 0 to NULL in pointer Don't test a pointer against 0. Use NULL instead. Signed-off-by: Jiri Slaby Reviewed-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7f549fa14ed7e3d72927e89dec721eeff4a0159 Author: Jiri Slaby Date: Thu Feb 7 00:16:42 2008 -0800 Char: mxser, remove special baudrate processing Let the special baudrate processing on the tty layer. Also remove set/get_special_rate ioctls introduced in commit f64c84a1668930d1ca2b7dbaa92146c2139cb508, since it is no longer needed. Signed-off-by: Jiri Slaby Reviewed-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f29e37c076cd08004e31297d205d54ac38cf7a20 Author: Alan Cox Date: Thu Feb 7 00:16:41 2008 -0800 mxser/mxser_new: first pass over termios reporting for the mxser cards Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b98e70de7836cf0ea49b6714b2455381865b1260 Author: Jiri Slaby Date: Thu Feb 7 00:16:41 2008 -0800 Char: riscom8, remove wakeup and hangup bottomhalves Both of them may be called directly from the code, don't add special code and variables and schedule a work for them. Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3099bbc59435928fbd1f4ebd835f825bca755bbb Author: Jiri Slaby Date: Thu Feb 7 00:16:40 2008 -0800 Char: serial167, remove bottomhalf - Cy_EVENT_OPEN_WAKEUP is simple wake_up - Cy_EVENT_HANGUP is wake_up + tty_hangup, which schedules its own work - Cy_EVENT_WRITE_WAKEUP is tty_wakeup which may be called directly too Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ccfea3c98a10b9d4d49b899616a06594ec976d7d Author: Jiri Slaby Date: Thu Feb 7 00:16:39 2008 -0800 Char: stallion, remove bottomhalf - tty_hangup schedules a bottomhalf itself, tty_wakeup doesn't need it - call the CD code (part of work handler previously) directly from the code (it wakes somebody up or calls tty_hangup at worse) Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d0d4e1c098754bfbb2aeb94333756d63d255688e Author: Jiri Slaby Date: Thu Feb 7 00:16:39 2008 -0800 Char: specialix, remove bottomhalves - tqueue is used only for tty_wakeup, call it directly from the code - tqueue_hangup for tty_hangup, it schedules its own work, use it directly too Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cfccaeea62f020242e59a992e1f1a60fe7e5694e Author: Jiri Slaby Date: Thu Feb 7 00:16:38 2008 -0800 Char: istallion, remove hangup bottomhalf tty_hangup schedules a work for hangup itself, no need to do it in the driver. Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2e7a4b66d762cad383c5469c1e8b6076792ab6a Author: Jiri Slaby Date: Thu Feb 7 00:16:37 2008 -0800 Char: esp, remove hangup and wakeup bottomhalves There is no need to schedule a bottomhalf for either of them. One is fast and the another schedules a bottomhalf itself. Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1386a820b32285583414a8db3a99305e7ebe8377 Author: Jiri Slaby Date: Thu Feb 7 00:16:36 2008 -0800 Char: riscom8, change rc_init_drivers prototype Let compiler decide if the rc_init_drivers function will be inlined and mark it as __init, because it's called only from __init function. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 319fe7c347ad2bdd99ea9b62c65ca81584ed2e1c Author: Jiri Slaby Date: Thu Feb 7 00:16:36 2008 -0800 Char: stallion, fix compiler warnings Don't emit warnings on 64 bit platforms from min(). sizeof() on those is not uint, neither 2 pointers difference, cast it to uint by min_t in both cases. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f31e6835054f577d4d3193aed1f464b149483377 Author: Jiri Slaby Date: Thu Feb 7 00:16:35 2008 -0800 Char: mxser_new, ioaddresses are ulong To not pass ulong address as int parameter, switch it to ulong. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1237a2ef31cf60e01bbecbe198d8c002bbb710db Author: Jiri Slaby Date: Thu Feb 7 00:16:34 2008 -0800 Char: char/serial, remove SERIAL_TYPE_NORMAL redefines Signed-off-by: Jiri Slaby Cc: Alan Cox Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f6de0c9864c10d17f2473940c5f81718a5064bd8 Author: Jiri Slaby Date: Thu Feb 7 00:16:33 2008 -0800 Char: rocket, remove useless macros Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68562b79217ce04a30aaf781de1e6dfa84e73fbe Author: Jiri Slaby Date: Thu Feb 7 00:16:33 2008 -0800 Char: rocket, printk cleanup - add KERN_ level to each print - change some levels appropriately - add \n at the ends where missing - change two complex printks into dev_info, where the original info is printed automatically Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48a67f5da1e605c0ec0534cb003ca0cd114f3d1b Author: Jiri Slaby Date: Thu Feb 7 00:16:32 2008 -0800 Char: rocket, switch long delay to sleep Don't busy wait for whole 1s when registering some rocket modems. Sleep instead since we are not in atomic. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48103c527b2fcf5ead13ef14b34eb8893eaec06a Author: Frank Sorenson Date: Thu Feb 7 00:16:31 2008 -0800 i8k: Inspiron E1705 fix Needs the following in order to work correctly on my Inspiron E1705: Add DMI Product name to i8k for Dell MP061 hardware (Inspiron 9400/E1705) Signed-off-by: Frank Sorenson Cc: Bradley Smith Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 300ec130493a67efb291ba20b48b664b2352277d Author: Bradley Smith Date: Thu Feb 7 00:16:30 2008 -0800 I8K: add i8k driver to the x86_64 Kconfig Adds i8k driver to the x86_64 Kconfig. Signed-off-by: Bradley Smith Cc: Frank Sorenson Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe04f22fd2bc84dfcc0ef1c7acb863bd98b9ac93 Author: Bradley Smith Date: Thu Feb 7 00:16:27 2008 -0800 I8K: allow i8k driver to be built on x86_64 systems Adds #if clause and additional inline assembly so that the driver builds on x86_64 systems. Signed-off-by: Bradley Smith Cc: Frank Sorenson Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a7744f9823b9ddf14c47c475e81c1326b1a2787 Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:26 2008 -0800 Add cmpxchg_local to xtensa Use the architecture specific __cmpxchg_u32 for 32 bits cmpxchg)_local. Else, use the new generic cmpxchg_local (disables interrupt). Signed-off-by: Mathieu Desnoyers Cc: Chris Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b62f13439147210d5ad4bc40acee32b94c59f06d Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:26 2008 -0800 Add cmpxchg_local to v850 Use the new generic cmpxchg_local (disables interrupt). Also use the generic cmpxchg as fallback if SMP is not set. Signed-off-by: Mathieu Desnoyers Cc: Miles Bader Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 80af4eeb726f038eddc32826e4238feba5b1dfb4 Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:25 2008 -0800 Add cmpxchg_local to sparc64 Use cmpxchg_u32 and cmpxchg_u64 for cmpxchg_local and cmpxchg64_local. For other type sizes, use the new generic cmpxchg_local (disables interrupt). Change: Since the header depends on local_irqsave/local_irqrestore, it must be included after their declaration. Actually, being below the #include should be enough, and on sparc64 it is included at the beginning of system.h. So it makes sense to move it up for sparc64. Signed-off-by: Mathieu Desnoyers Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 405321d3ab2b41960e2874f2f74609daffbc7a4c Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:24 2008 -0800 Add cmpxchg_local to sparc, move __cmpxchg to system.h Move cmpxchg and add cmpxchg_local to system.h. Use the new generic cmpxchg_local (disables interrupt). Signed-off-by: Mathieu Desnoyers Cc: William Lee Irwin III Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe4130131ef9e55763fd634a02b1db9290dbbe5a Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:24 2008 -0800 Add cmpxchg_local to s390 Use the standard __cmpxchg for every type that can be updated atomically. Use the new generic cmpxchg_local (disables interrupt) for other types. Signed-off-by: Mathieu Desnoyers Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 85fdbe1b4b33b797321bfadf706b355e7cca6165 Author: Gunnar Larisch Date: Thu Feb 7 00:16:22 2008 -0800 Add cmpxchg_local to ppc Add a local processor version of cmpxchg for ppc. Implements __cmpxchg_u32_local and uses it for 32 bits cmpxchg_local. It uses the non NMI safe cmpxchg_local_generic for 1, 2 and 8 bytes cmpxchg_local. Signed-off-by: Gunnar Larisch Signed-off-by: Mathieu Desnoyers Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df80c8c5679c4e6c72e694525d76a9f26d5f33dc Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:21 2008 -0800 Add cmpxchg_local to parisc Use the new generic cmpxchg_local (disables interrupt). Also use the generic cmpxchg as fallback if SMP is not set. Signed-off-by: Mathieu Desnoyers Cc: Kyle McMartin Cc: Grant Grundler Cc: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 027bcc27d3d1a218dbf4477964a18fed78983357 Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:20 2008 -0800 Add cmpxchg_local to m68knommu Use the new generic cmpxchg_local (disables interrupt). Also use the generic cmpxchg as fallback if SMP is not set. Signed-off-by: Mathieu Desnoyers Cc: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5da751035c5c8f5b30978e97fd4b3c75f453b04e Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:20 2008 -0800 Add cmpxchg_local to m86k Use the new generic cmpxchg_local (disables interrupt). Also use the generic cmpxchg as fallback if SMP is not set. Signed-off-by: Mathieu Desnoyers Cc: Roman Zippel Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7fa2ac3728ce828070fa3d5846c08157fe5ef431 Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:19 2008 -0800 local_t m32r use architecture specific cmpxchg_local On m32r, use the new cmpxchg_local as primitive for the local_cmpxchg operation. Signed-off-by: Mathieu Desnoyers Acked-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df0f65f02a55888feae52a7e7d59d29f5edd400d Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:18 2008 -0800 m32r: build fix of arch/m32r/kernel/smpboot.c This patch is for Mathieu Desnoyers's include/asm-m32r/local.h. Applying the new include/asm-m32r/local.h, inclusion of linux/sched.h is needed to fix a build error of arch/m32r/kernel/smpboot.c. <-- snip --> ... CC arch/m32r/kernel/smpboot.o /project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c: In function 'do_boot_cpu': /project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:279: error: implicit declaration of function 'fork_idle' /project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:279: warning: assignment makes pointer from integer without a cast /project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:283: error: dereferencing pointer to incomplete type /project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:289: error: dereferencing pointer to incomplete type /project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:290: error: implicit declaration of function 'task_thread_info' /project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:290: error: invalid type argument of '->' /project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c: In function 'start_secondary': /project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:429: error: implicit declaration of function 'cpu_init' make[2]: *** [arch/m32r/kernel/smpboot.o] Error 1 <-- snip --> Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f94d1d3a1df125461a16b2888eca46d64f113e3a Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:18 2008 -0800 Fix m32r __xchg the #endif /* CONFIG_SMP */ should cover the default condition, or it may cause bad parameter to be silently missed. To make it work correctly, we have to remove the ifdef CONFIG SMP surrounding __xchg_called_with_bad_pointer declaration. Thanks to Adrian Bunk for detecting this. Signed-off-by: Mathieu Desnoyers Acked-by: Hirokazu Takata Cc: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b631c2de63b4475351258197409983c8189ed04 Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:17 2008 -0800 New cmpxchg_local (optimized for UP case) for m32r Add __xchg_local, xchg_local (define), __cmpxchg_local_u32, __cmpxchg_local, cmpxchg_local(macro). cmpxchg_local and cmpxchg64_local will use the architecture specific __cmpxchg_local_u32 for 32 bits arguments, and use the generic __cmpxchg_local_generic for 8, 16 and 64 bits arguments. Signed-off-by: Mathieu Desnoyers Acked-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b78fff6e736cae55dc3fb5570c7ef4037eca9b7 Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:16 2008 -0800 Add cmpxchg_local, cmpxchg64 and cmpxchg64_local to ia64 Add the primitives cmpxchg_local, cmpxchg64 and cmpxchg64_local to ia64. They use cmpxchg_acq as underlying macro, just like the already existing ia64 cmpxchg(). Changelog: ia64 cmpxchg_local coding style fix Quoting Keith Owens: As a matter of coding style, I prefer #define cmpxchg_local cmpxchg #define cmpxchg64_local cmpxchg64 Which makes it absolutely clear that they are the same code. With your patch, humans have to do a string compare of two defines to see if they are the same. Note cmpxchg is *not* a performance win vs interrupt disable / enable on IA64. Signed-off-by: Mathieu Desnoyers Acked-by: Christoph Lameter Cc: "Luck, Tony" Cc: Keith Owens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aebb77aef4b50a157bf0185de31d1aede3ca2312 Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:15 2008 -0800 Add cmpxchg_local to h8300 Use the new generic cmpxchg_local (disables interrupt). Also use the generic cmpxchg as fallback if SMP is not set. Signed-off-by: Mathieu Desnoyers Cc: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 14e0cb3c60b89c4a2512852ffc18601c72314a0f Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:14 2008 -0800 Add cmpxchg_local to frv Use the new generic cmpxchg_local (disables interrupt) for 8, 16 and 64 bits arguments. Use the 32 bits cmpxchg available on the architecture for 32 bits arguments. Signed-off-by: Mathieu Desnoyers Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7732ba3abc5a53e7e1d93afd5a5a6ccf74f2ce53 Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:14 2008 -0800 Add cmpxchg_local to cris Use the new generic cmpxchg_local (disables interrupt). Also use the generic cmpxchg as fallback if SMP is not set. Signed-off-by: Mathieu Desnoyers Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10b8827068377a11ed0e396248f7d02751fe5f17 Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:13 2008 -0800 Add cmpxchg_local to blackfin, replace __cmpxchg by generic cmpxchg Use the new generic cmpxchg_local (disables interrupt). Also use the generic cmpxchg as fallback if SMP is not set since nobody seems to know why __cmpxchg has been implemented in assembly in the first place thather than in plain C. Signed-off-by: Mathieu Desnoyers Cc: Bryan Wu Cc: Michael Frysinger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e86c11d3eb4662000f3ced7344352b2ca319d03 Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:12 2008 -0800 Add cmpxchg_local to avr32 Use the new generic cmpxchg_local (disables interrupt) for 8, 16 and 64 bits cmpxchg_local. Use the __cmpxchg_u32 primitive for 32 bits cmpxchg_local. Note that cmpxchg only uses the __cmpxchg_u32 or __cmpxchg_u64 and will cause a linker error if called with 8 or 16 bits argument. Signed-off-by: Mathieu Desnoyers Acked-by: Haavard Skinnemoen Cc: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 176393d4232a89aaf8745b0726f4d212a20103f1 Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:11 2008 -0800 Add cmpxchg_local to arm Use the new generic cmpxchg_local (disables interrupt). Also use the generic cmpxchg as fallback if SMP is not set. Signed-off-by: Mathieu Desnoyers Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 32f49eab5e893007c0064f465c857ac7c4d40b77 Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:10 2008 -0800 Add cmpxchg64 and cmpxchg64_local to x86_64 Make sure that at least cmpxchg64_local is available on all architectures to use for unsigned long long values. Signed-off-by: Mathieu Desnoyers Cc: Andi Kleen Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f9c4650bcfb4b21126525f73f10d635284e16056 Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:10 2008 -0800 Add cmpxchg64 and cmpxchg64_local to powerpc Make sure that at least cmpxchg64_local is available on all architectures to use for unsigned long long values. Signed-off-by: Mathieu Desnoyers Acked-by: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b96a56d395a4dcf4c05c48d8f4e74b1f8bd073d Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:09 2008 -0800 Add cmpxchg64 and cmpxchg64_local to mips Make sure that at least cmpxchg64_local is available on all architectures to use for unsigned long long values. Signed-off-by: Mathieu Desnoyers Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a259b2428b10c19b94e346bc69d5b3bf9bff488e Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:08 2008 -0800 Add cmpxchg64 and cmpxchg64_local to alpha Make sure that at least cmpxchg64_local is available on all architectures to use for unsigned long long values. Signed-off-by: Mathieu Desnoyers Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 068fbad288a2c18b75b0425fb56d241f018a1cb5 Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:07 2008 -0800 Add cmpxchg_local to asm-generic for per cpu atomic operations Emulates the cmpxchg_local by disabling interrupts around variable modification. This is not reentrant wrt NMIs and MCEs. It is only protected against normal interrupts, but this is enough for architectures without such interrupt sources or if used in a context where the data is not shared with such handlers. It can be used as a fallback for architectures lacking a real cmpxchg instruction. For architectures that have a real cmpxchg but does not have NMIs or MCE, testing which of the generic vs architecture specific cmpxchg is the fastest should be done. asm-generic/cmpxchg.h defines a cmpxchg that uses cmpxchg_local. It is meant to be used as a cmpxchg fallback for architectures that do not support SMP. * Patch series comments Using cmpxchg_local shows a performance improvements of the fast path goes from a 66% speedup on a Pentium 4 to a 14% speedup on AMD64. In detail: Tested-by: Mathieu Desnoyers Measurements on a Pentium4, 3GHz, Hyperthread. SLUB Performance testing ======================== 1. Kmalloc: Repeatedly allocate then free test * slub HEAD, test 1 kmalloc(8) = 201 cycles kfree = 351 cycles kmalloc(16) = 198 cycles kfree = 359 cycles kmalloc(32) = 200 cycles kfree = 381 cycles kmalloc(64) = 224 cycles kfree = 394 cycles kmalloc(128) = 285 cycles kfree = 424 cycles kmalloc(256) = 411 cycles kfree = 546 cycles kmalloc(512) = 480 cycles kfree = 619 cycles kmalloc(1024) = 623 cycles kfree = 750 cycles kmalloc(2048) = 686 cycles kfree = 811 cycles kmalloc(4096) = 482 cycles kfree = 538 cycles kmalloc(8192) = 680 cycles kfree = 734 cycles kmalloc(16384) = 713 cycles kfree = 843 cycles * Slub HEAD, test 2 kmalloc(8) = 190 cycles kfree = 351 cycles kmalloc(16) = 195 cycles kfree = 360 cycles kmalloc(32) = 201 cycles kfree = 370 cycles kmalloc(64) = 245 cycles kfree = 389 cycles kmalloc(128) = 283 cycles kfree = 413 cycles kmalloc(256) = 409 cycles kfree = 547 cycles kmalloc(512) = 476 cycles kfree = 616 cycles kmalloc(1024) = 628 cycles kfree = 753 cycles kmalloc(2048) = 684 cycles kfree = 811 cycles kmalloc(4096) = 480 cycles kfree = 539 cycles kmalloc(8192) = 661 cycles kfree = 746 cycles kmalloc(16384) = 741 cycles kfree = 856 cycles * cmpxchg_local Slub test kmalloc(8) = 83 cycles kfree = 363 cycles kmalloc(16) = 85 cycles kfree = 372 cycles kmalloc(32) = 92 cycles kfree = 377 cycles kmalloc(64) = 115 cycles kfree = 397 cycles kmalloc(128) = 179 cycles kfree = 438 cycles kmalloc(256) = 314 cycles kfree = 564 cycles kmalloc(512) = 398 cycles kfree = 615 cycles kmalloc(1024) = 573 cycles kfree = 745 cycles kmalloc(2048) = 629 cycles kfree = 816 cycles kmalloc(4096) = 473 cycles kfree = 548 cycles kmalloc(8192) = 659 cycles kfree = 745 cycles kmalloc(16384) = 724 cycles kfree = 843 cycles 2. Kmalloc: alloc/free test * slub HEAD, test 1 kmalloc(8)/kfree = 322 cycles kmalloc(16)/kfree = 318 cycles kmalloc(32)/kfree = 318 cycles kmalloc(64)/kfree = 325 cycles kmalloc(128)/kfree = 318 cycles kmalloc(256)/kfree = 328 cycles kmalloc(512)/kfree = 328 cycles kmalloc(1024)/kfree = 328 cycles kmalloc(2048)/kfree = 328 cycles kmalloc(4096)/kfree = 678 cycles kmalloc(8192)/kfree = 1013 cycles kmalloc(16384)/kfree = 1157 cycles * Slub HEAD, test 2 kmalloc(8)/kfree = 323 cycles kmalloc(16)/kfree = 318 cycles kmalloc(32)/kfree = 318 cycles kmalloc(64)/kfree = 318 cycles kmalloc(128)/kfree = 318 cycles kmalloc(256)/kfree = 328 cycles kmalloc(512)/kfree = 328 cycles kmalloc(1024)/kfree = 328 cycles kmalloc(2048)/kfree = 328 cycles kmalloc(4096)/kfree = 648 cycles kmalloc(8192)/kfree = 1009 cycles kmalloc(16384)/kfree = 1105 cycles * cmpxchg_local Slub test kmalloc(8)/kfree = 112 cycles kmalloc(16)/kfree = 103 cycles kmalloc(32)/kfree = 103 cycles kmalloc(64)/kfree = 103 cycles kmalloc(128)/kfree = 112 cycles kmalloc(256)/kfree = 111 cycles kmalloc(512)/kfree = 111 cycles kmalloc(1024)/kfree = 111 cycles kmalloc(2048)/kfree = 121 cycles kmalloc(4096)/kfree = 650 cycles kmalloc(8192)/kfree = 1042 cycles kmalloc(16384)/kfree = 1149 cycles Tested-by: Mathieu Desnoyers Measurements on a AMD64 2.0 GHz dual-core In this test, we seem to remove 10 cycles from the kmalloc fast path. On small allocations, it gives a 14% performance increase. kfree fast path also seems to have a 10 cycles improvement. 1. Kmalloc: Repeatedly allocate then free test * cmpxchg_local slub kmalloc(8) = 63 cycles kfree = 126 cycles kmalloc(16) = 66 cycles kfree = 129 cycles kmalloc(32) = 76 cycles kfree = 138 cycles kmalloc(64) = 100 cycles kfree = 288 cycles kmalloc(128) = 128 cycles kfree = 309 cycles kmalloc(256) = 170 cycles kfree = 315 cycles kmalloc(512) = 221 cycles kfree = 357 cycles kmalloc(1024) = 324 cycles kfree = 393 cycles kmalloc(2048) = 354 cycles kfree = 440 cycles kmalloc(4096) = 394 cycles kfree = 330 cycles kmalloc(8192) = 523 cycles kfree = 481 cycles kmalloc(16384) = 643 cycles kfree = 649 cycles * Base kmalloc(8) = 74 cycles kfree = 113 cycles kmalloc(16) = 76 cycles kfree = 116 cycles kmalloc(32) = 85 cycles kfree = 133 cycles kmalloc(64) = 111 cycles kfree = 279 cycles kmalloc(128) = 138 cycles kfree = 294 cycles kmalloc(256) = 181 cycles kfree = 304 cycles kmalloc(512) = 237 cycles kfree = 327 cycles kmalloc(1024) = 340 cycles kfree = 379 cycles kmalloc(2048) = 378 cycles kfree = 433 cycles kmalloc(4096) = 399 cycles kfree = 329 cycles kmalloc(8192) = 528 cycles kfree = 624 cycles kmalloc(16384) = 651 cycles kfree = 737 cycles 2. Kmalloc: alloc/free test * cmpxchg_local slub kmalloc(8)/kfree = 96 cycles kmalloc(16)/kfree = 97 cycles kmalloc(32)/kfree = 97 cycles kmalloc(64)/kfree = 97 cycles kmalloc(128)/kfree = 97 cycles kmalloc(256)/kfree = 105 cycles kmalloc(512)/kfree = 108 cycles kmalloc(1024)/kfree = 105 cycles kmalloc(2048)/kfree = 107 cycles kmalloc(4096)/kfree = 390 cycles kmalloc(8192)/kfree = 626 cycles kmalloc(16384)/kfree = 662 cycles * Base kmalloc(8)/kfree = 116 cycles kmalloc(16)/kfree = 116 cycles kmalloc(32)/kfree = 116 cycles kmalloc(64)/kfree = 116 cycles kmalloc(128)/kfree = 116 cycles kmalloc(256)/kfree = 126 cycles kmalloc(512)/kfree = 126 cycles kmalloc(1024)/kfree = 126 cycles kmalloc(2048)/kfree = 126 cycles kmalloc(4096)/kfree = 384 cycles kmalloc(8192)/kfree = 749 cycles kmalloc(16384)/kfree = 786 cycles Tested-by: Christoph Lameter I can confirm Mathieus' measurement now: Athlon64: regular NUMA/discontig 1. Kmalloc: Repeatedly allocate then free test 10000 times kmalloc(8) -> 79 cycles kfree -> 92 cycles 10000 times kmalloc(16) -> 79 cycles kfree -> 93 cycles 10000 times kmalloc(32) -> 88 cycles kfree -> 95 cycles 10000 times kmalloc(64) -> 124 cycles kfree -> 132 cycles 10000 times kmalloc(128) -> 157 cycles kfree -> 247 cycles 10000 times kmalloc(256) -> 200 cycles kfree -> 257 cycles 10000 times kmalloc(512) -> 250 cycles kfree -> 277 cycles 10000 times kmalloc(1024) -> 337 cycles kfree -> 314 cycles 10000 times kmalloc(2048) -> 365 cycles kfree -> 330 cycles 10000 times kmalloc(4096) -> 352 cycles kfree -> 240 cycles 10000 times kmalloc(8192) -> 456 cycles kfree -> 340 cycles 10000 times kmalloc(16384) -> 646 cycles kfree -> 471 cycles 2. Kmalloc: alloc/free test 10000 times kmalloc(8)/kfree -> 124 cycles 10000 times kmalloc(16)/kfree -> 124 cycles 10000 times kmalloc(32)/kfree -> 124 cycles 10000 times kmalloc(64)/kfree -> 124 cycles 10000 times kmalloc(128)/kfree -> 124 cycles 10000 times kmalloc(256)/kfree -> 132 cycles 10000 times kmalloc(512)/kfree -> 132 cycles 10000 times kmalloc(1024)/kfree -> 132 cycles 10000 times kmalloc(2048)/kfree -> 132 cycles 10000 times kmalloc(4096)/kfree -> 319 cycles 10000 times kmalloc(8192)/kfree -> 486 cycles 10000 times kmalloc(16384)/kfree -> 539 cycles cmpxchg_local NUMA/discontig 1. Kmalloc: Repeatedly allocate then free test 10000 times kmalloc(8) -> 55 cycles kfree -> 90 cycles 10000 times kmalloc(16) -> 55 cycles kfree -> 92 cycles 10000 times kmalloc(32) -> 70 cycles kfree -> 91 cycles 10000 times kmalloc(64) -> 100 cycles kfree -> 141 cycles 10000 times kmalloc(128) -> 128 cycles kfree -> 233 cycles 10000 times kmalloc(256) -> 172 cycles kfree -> 251 cycles 10000 times kmalloc(512) -> 225 cycles kfree -> 275 cycles 10000 times kmalloc(1024) -> 325 cycles kfree -> 311 cycles 10000 times kmalloc(2048) -> 346 cycles kfree -> 330 cycles 10000 times kmalloc(4096) -> 351 cycles kfree -> 238 cycles 10000 times kmalloc(8192) -> 450 cycles kfree -> 342 cycles 10000 times kmalloc(16384) -> 630 cycles kfree -> 546 cycles 2. Kmalloc: alloc/free test 10000 times kmalloc(8)/kfree -> 81 cycles 10000 times kmalloc(16)/kfree -> 81 cycles 10000 times kmalloc(32)/kfree -> 81 cycles 10000 times kmalloc(64)/kfree -> 81 cycles 10000 times kmalloc(128)/kfree -> 81 cycles 10000 times kmalloc(256)/kfree -> 91 cycles 10000 times kmalloc(512)/kfree -> 90 cycles 10000 times kmalloc(1024)/kfree -> 91 cycles 10000 times kmalloc(2048)/kfree -> 90 cycles 10000 times kmalloc(4096)/kfree -> 318 cycles 10000 times kmalloc(8192)/kfree -> 483 cycles 10000 times kmalloc(16384)/kfree -> 536 cycles Changelog: - Ran though checkpatch. Signed-off-by: Mathieu Desnoyers Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e16d89bcd668a95eb22add24c02d80890232b66 Author: H. Peter Anvin Date: Thu Feb 7 00:15:57 2008 -0800 Sanitize the type of struct user.u_ar0 struct user.u_ar0 is defined to contain a pointer offset on all architectures in which it is defined (all architectures which define an a.out format except SPARC.) However, it has a pointer type in the headers, which is pointless -- is not exported to userspace, and it just makes the code messy. Redefine the field as "unsigned long" (which is the same size as a pointer on all Linux architectures) and change the setting code to user offsetof() instead of hand-coded arithmetic. Cc: Linux Arch Mailing List Cc: Bryan Wu Cc: Roman Zippel Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Russell King Cc: Lennert Buytenhek Cc: Håvard Skinnemoen Cc: Mikael Starvik Cc: Yoshinori Sato Cc: Tony Luck Cc: Hirokazu Takata Cc: Ralf Baechle Cc: Paul Mackerras Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: Paul Mundt Signed-off-by: H. Peter Anvin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed7b1889da256977574663689b598d88950bbd23 Author: Kirill A. Shutemov Date: Thu Feb 7 00:15:56 2008 -0800 Unexport asm/page.h Do not export asm/page.h during make headers_install. This removes PAGE_SIZE from userspace headers. Signed-off-by: Kirill A. Shutemov Reviewed-by: David Woodhouse Cc: David Howells Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: Thomas Gleixner Cc: Ingo Molnar Cc: H. Peter Anvin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6cc931b9b5ec652c90b928f3ec2163f261552c91 Author: Kirill A. Shutemov Date: Thu Feb 7 00:15:55 2008 -0800 Unexport asm/elf.h Do not export asm/elf.h during make headers_install. Signed-off-by: Kirill A. Shutemov Reviewed-by: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 516c25a86f6bdad77ded01a43c52c5569c8d690c Author: Kirill A. Shutemov Date: Thu Feb 7 00:15:54 2008 -0800 Cleanup asm/{elf,page,user}.h: #ifdef __KERNEL__ is no longer needed asm/elf.h, asm/page.h and asm/user.h don't export to userspace now, so we can drop #ifdef __KERNEL__ for them. [k.shutemov@gmail.com: remove #ifdef __KERNEL_] Signed-off-by: Kirill A. Shutemov Reviewed-by: David Woodhouse Cc: Signed-off-by: Kirill A. Shutemov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c1445db9f72db0537c43a2eab6e1b0f6741162f5 Author: Kirill A. Shutemov Date: Thu Feb 7 00:15:53 2008 -0800 Unexport asm/user.h and linux/user.h Do not export asm/user.h and linux/user.h during make headers_install. Signed-off-by: Kirill A. Shutemov Reviewed-by: David Woodhouse Cc: Thomas Gleixner Cc: Ingo Molnar Acked-by: H. Peter Anvin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 12debc4248a4a7f1873e47cda2cdd7faca80b099 Author: David Howells Date: Thu Feb 7 00:15:52 2008 -0800 iget: remove iget() and the read_inode() super op as being obsolete Remove the old iget() call and the read_inode() superblock operation it uses as these are really obsolete, and the use of read_inode() does not produce proper error handling (no distinction between ENOMEM and EIO when marking an inode bad). Furthermore, this removes the temptation to use iget() to find an inode by number in a filesystem from code outside that filesystem. iget_locked() should be used instead. A new function is added in an earlier patch (iget_failed) that is to be called to mark an inode as bad, unlock it and release it should the get routine fail. Mark iget() and read_inode() as being obsolete and remove references to them from the documentation. Typically a filesystem will be modified such that the read_inode function becomes an internal iget function, for example the following: void thingyfs_read_inode(struct inode *inode) { ... } would be changed into something like: struct inode *thingyfs_iget(struct super_block *sp, unsigned long ino) { struct inode *inode; int ret; inode = iget_locked(sb, ino); if (!inode) return ERR_PTR(-ENOMEM); if (!(inode->i_state & I_NEW)) return inode; ... unlock_new_inode(inode); return inode; error: iget_failed(inode); return ERR_PTR(ret); } and then thingyfs_iget() would be called rather than iget(), for example: ret = -EINVAL; inode = iget(sb, ino); if (!inode || is_bad_inode(inode)) goto error; becomes: inode = thingyfs_iget(sb, ino); if (IS_ERR(inode)) { ret = PTR_ERR(inode); goto error; } Note that is_bad_inode() does not need to be called. The error returned by thingyfs_iget() should render it unnecessary. Signed-off-by: David Howells Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 755aedc15900ff7d83dd046f632af9a680b0c28f Author: David Howells Date: Thu Feb 7 00:15:51 2008 -0800 iget: stop HPPFS from using iget() and read_inode() Stop the HPPFS filesystem from using iget() and read_inode(). Provide an hppfs_iget(), and call that instead of iget(). hppfs_iget() then uses iget_locked() directly and returns a proper error code instead of an inode in the event of an error. hppfs_fill_sb_common() returns any error incurred when getting the root inode instead of EINVAL. Note that the contents of hppfs_kern.c need to be examined: (*) The HPPFS inode retains a pointer to the proc dentry it is shadowing, but whilst it does appear to retain a reference to it, it doesn't appear to destroy the reference if the inode goes away. (*) hppfs_iget() should perhaps subsume init_inode() and hppfs_read_inode(). (*) It would appear that all hppfs inodes are the same inode because iget() was being called with inode number 0, which forms the lookup key. Signed-off-by: David Howells Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a370e5de9e5a48eb4b268e9f5e2286b82f44012 Author: David Howells Date: Thu Feb 7 00:15:50 2008 -0800 iget: stop HOSTFS from using iget() and read_inode() Stop the HOSTFS filesystem from using iget() and read_inode(). Provide hostfs_iget(), and call that instead of iget(). hostfs_iget() then uses iget_locked() directly and returns a proper error code instead of an inode in the event of an error. hostfs_fill_sb_common() returns any error incurred when getting the root inode instead of EINVAL. Note that the contents of hostfs_kern.c need to be examined: (*) hostfs_iget() should perhaps subsume init_inode() and hostfs_read_inode(). (*) It would appear that all hostfs inodes are the same inode because iget() was being called with inode number 0 - which forms the lookup key. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: David Howells Cc: Jeff Dike Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b88a27edcd3e96f826c291f8e34fdbb0a90bc9ca Author: David Howells Date: Thu Feb 7 00:15:49 2008 -0800 iget: stop OPENPROMFS from using iget() and read_inode() Stop the OPENPROMFS filesystem from using iget() and read_inode(). Replace openpromfs_read_inode() with openpromfs_iget(), and call that instead of iget(). openpromfs_iget() then uses iget_locked() directly and returns a proper error code instead of an inode in the event of an error. openpromfs_fill_super() returns any error incurred when getting the root inode instead of ENOMEM (not that it currently incurs any other error). Signed-off-by: David Howells Cc: "David S. Miller" Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b55c460da6df4e8dfc6f68c00fafe7337b54e2f8 Author: David Howells Date: Thu Feb 7 00:15:48 2008 -0800 iget: stop UFS from using iget() and read_inode() Stop the UFS filesystem from using iget() and read_inode(). Replace ufs_read_inode() with ufs_iget(), and call that instead of iget(). ufs_iget() then uses iget_locked() directly and returns a proper error code instead of an inode in the event of an error. ufs_fill_super() returns any error incurred when getting the root inode instead of EINVAL. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: David Howells Cc: Evgeniy Dushistov Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b8e1343f67460554ca5321956c440cc064e9889b Author: David Howells Date: Thu Feb 7 00:15:47 2008 -0800 iget: stop the SYSV filesystem from using iget() and read_inode() Stop the SYSV filesystem from using iget() and read_inode(). Replace sysv_read_inode() with sysv_iget(), and call that instead of iget(). sysv_iget() then uses iget_locked() directly and returns a proper error code instead of an inode in the event of an error. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: David Howells Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 78cc9120003d7847ef1abebb771a708c7ae51ffd Author: David Howells Date: Thu Feb 7 00:15:46 2008 -0800 iget: stop ROMFS from using iget() and read_inode() Stop the ROMFS filesystem from using iget() and read_inode(). Replace romfs_read_inode() with romfs_iget(), and call that instead of iget(). romfs_iget() then uses iget_locked() directly and returns a proper error code instead of an inode in the event of an error. romfs_fill_super() returns any error incurred when getting the root inode instead of EINVAL. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: David Howells Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b7e5bcbd9e03f7236d2869f4261059074ea50a2 Author: David Howells Date: Thu Feb 7 00:15:45 2008 -0800 iget: stop QNX4 from using iget() and read_inode() Stop the QNX4 filesystem from using iget() and read_inode(). Replace qnx4_read_inode() with qnx4_iget(), and call that instead of iget(). qnx4_iget() then uses iget_locked() directly and returns a proper error code instead of an inode in the event of an error. qnx4_fill_super() returns any error incurred when getting the root inode instead of EINVAL. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: David Howells Cc: Anders Larsen Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1d4aebbfa91c55a6b0c629a9ccf6369be0c6e95 Author: David Howells Date: Thu Feb 7 00:15:45 2008 -0800 iget: stop PROCFS from using iget() and read_inode() Stop the PROCFS filesystem from using iget() and read_inode(). Merge procfs_read_inode() into procfs_get_inode(), and have that call iget_locked() instead of iget(). [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: David Howells Cc: "Eric W. Biederman" Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a90a088021f8f1e9a9cd83f06ac90e1f3aada4d4 Author: David Howells Date: Thu Feb 7 00:15:44 2008 -0800 iget: stop the MINIX filesystem from using iget() and read_inode() Stop the MINIX filesystem from using iget() and read_inode(). Replace minix_read_inode() with minix_iget(), and call that instead of iget(). minix_iget() then uses iget_locked() directly and returns a proper error code instead of an inode in the event of an error. minix_fill_super() returns any error incurred when getting the root inode instead of EINVAL. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: David Howells Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eab1df71a0ef6d333b9b826deaa0d0eb4b4f69dc Author: David Howells Date: Thu Feb 7 00:15:43 2008 -0800 iget: stop JFS from using iget() and read_inode() Stop the JFS filesystem from using iget() and read_inode(). Replace jfs_read_inode() with jfs_iget(), and call that instead of iget(). jfs_iget() then uses iget_locked() directly and returns a proper error code instead of an inode in the event of an error. jfs_fill_super() returns any error incurred when getting the root inode instead of EINVAL. Signed-off-by: David Howells Acked-by: Dave Kleikamp Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5451f79f5f817880958ed063864ad268d94ccd1f Author: David Howells Date: Thu Feb 7 00:15:42 2008 -0800 iget: stop JFFS2 from using iget() and read_inode() Stop the JFFS2 filesystem from using iget() and read_inode(). Replace jffs2_read_inode() with jffs2_iget(), and call that instead of iget(). jffs2_iget() then uses iget_locked() directly and returns a proper error code instead of an inode in the event of an error. jffs2_do_fill_super() returns any error incurred when getting the root inode instead of EINVAL. Signed-off-by: David Howells Cc: David Woodhouse Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4386c83bf849c56b1f49951595aeb7c9a719d21 Author: David Howells Date: Thu Feb 7 00:15:41 2008 -0800 iget: stop ISOFS from using read_inode() Stop the ISOFS filesystem from using read_inode(). Make isofs_read_inode() return an error code, and make isofs_iget() pass it on. Signed-off-by: David Howells Cc: Jan Kara Acked-by: Christoph Hellwig Cc: "Dave Young" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 635253915b3297435e178371407d568522aae3d4 Author: David Howells Date: Thu Feb 7 00:15:40 2008 -0800 iget: stop HFSPLUS from using iget() and read_inode() Stop the HFSPLUS filesystem from using iget() and read_inode(). Replace hfsplus_read_inode() with hfsplus_iget(), and call that instead of iget(). hfsplus_iget() then uses iget_locked() directly and returns a proper error code instead of an inode in the event of an error. hfsplus_fill_super() returns any error incurred when getting the root inode. Signed-off-by: David Howells Cc: Roman Zippel Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fa300b1914f892196acb385677047bc978466de7 Author: David Howells Date: Thu Feb 7 00:15:40 2008 -0800 iget: stop FUSE from using iget() and read_inode() Stop the FUSE filesystem from using read_inode(), which it doesn't use anyway. Signed-off-by: David Howells Cc: Miklos Szeredi Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d0b079483dd4cf6373f0ff234d5fdaef80c9588f Author: David Howells Date: Thu Feb 7 00:15:39 2008 -0800 iget: stop FreeVXFS from using iget() and read_inode() Stop the FreeVXFS filesystem from using iget() and read_inode(). Replace vxfs_read_inode() with vxfs_iget(), and call that instead of iget(). vxfs_iget() then uses iget_locked() directly and returns a proper error code instead of an inode in the event of an error. vxfs_fill_super() returns any error incurred when getting the root inode instead of EINVAL. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: David Howells Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17f95a7b4416a2c61e35f51b29eaaf1818fb5d7d Author: David Howells Date: Thu Feb 7 00:15:38 2008 -0800 iget: stop FAT from using iget() and read_inode() Stop the FAT filesystem from using iget() and read_inode(). Replace the call to iget() with a call to ilookup(). Signed-off-by: David Howells Cc: OGAWA Hirofumi Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d1fe1ee02b9ac2660995b10e35dd41448fef011 Author: David Howells Date: Thu Feb 7 00:15:37 2008 -0800 iget: stop EXT4 from using iget() and read_inode() Stop the EXT4 filesystem from using iget() and read_inode(). Replace ext4_read_inode() with ext4_iget(), and call that instead of iget(). ext4_iget() then uses iget_locked() directly and returns a proper error code instead of an inode in the event of an error. ext4_fill_super() returns any error incurred when getting the root inode instead of EINVAL. Signed-off-by: David Howells Acked-by: "Theodore Ts'o" Acked-by: Jan Kara Cc: Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 473043dcee1874aab99f66b0362b344618eb3790 Author: David Howells Date: Thu Feb 7 00:15:36 2008 -0800 iget: stop EXT3 from using iget() and read_inode() Stop the EXT3 filesystem from using iget() and read_inode(). Replace ext3_read_inode() with ext3_iget(), and call that instead of iget(). ext3_iget() then uses iget_locked() directly and returns a proper error code instead of an inode in the event of an error. ext3_fill_super() returns any error incurred when getting the root inode instead of EINVAL. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: David Howells Acked-by: "Theodore Ts'o" Acked-by: Jan Kara Cc: Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 52fcf7032935b33158e3998ed399cac97447ab8d Author: David Howells Date: Thu Feb 7 00:15:35 2008 -0800 iget: stop EXT2 from using iget() and read_inode() Stop the EXT2 filesystem from using iget() and read_inode(). Replace ext2_read_inode() with ext2_iget(), and call that instead of iget(). ext2_iget() then uses iget_locked() directly and returns a proper error code instead of an inode in the event of an error. ext2_fill_super() returns any error incurred when getting the root inode instead of EINVAL. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: David Howells Acked-by: "Theodore Ts'o" Cc: Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 298384cd7929a3a14d7b116095973f0d02f5d09e Author: David Howells Date: Thu Feb 7 00:15:34 2008 -0800 iget: stop EFS from using iget() and read_inode() Stop the EFS filesystem from using iget() and read_inode(). Replace efs_read_inode() with efs_iget(), and call that instead of iget(). efs_iget() then uses iget_locked() directly and returns a proper error code instead of an inode in the event of an error. efs_fill_super() returns any error incurred when getting the root inode instead of EACCES. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: David Howells Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce634ab28e7dbcc13ebe6e7bc5bc7de4f8def4c8 Author: David Howells Date: Thu Feb 7 00:15:33 2008 -0800 iget: stop CIFS from using iget() and read_inode() Stop the CIFS filesystem from using iget() and read_inode(). Replace cifs_read_inode() with cifs_iget(), and call that instead of iget(). cifs_iget() then uses iget_locked() directly and returns a proper error code instead of an inode in the event of an error. cifs_read_super() now returns any error incurred when getting the root inode instead of ENOMEM. cifs_iget() needs examining. The comment "can not call macro FreeXid here since in a void func" is no longer true. Signed-off-by: David Howells Cc: Steven French Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e33ab086ae227a34e34b17e86dbb9d2dbaebb489 Author: David Howells Date: Thu Feb 7 00:15:32 2008 -0800 iget: stop BFS from using iget() and read_inode() Stop the BFS filesystem from using iget() and read_inode(). Replace bfs_read_inode() with bfs_iget(), and call that instead of iget(). bfs_iget() then uses iget_locked() directly and returns a proper error code instead of an inode in the event of an error. bfs_fill_super() returns any error incurred when getting the root inode instead of EINVAL. [kamalesh@linux.vnet.ibm.com: build fix] Signed-off-by: David Howells Acked-by: Christoph Hellwig Signed-off-by: Kamalesh Babulal Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96eb5419412fbc7f39fa45d987034c5d0e6e1202 Author: David Howells Date: Thu Feb 7 00:15:31 2008 -0800 iget: stop BEFS from using iget() and read_inode() Stop the BEFS filesystem from using iget() and read_inode(). Replace befs_read_inode() with befs_iget(), and call that instead of iget(). befs_iget() then uses iget_locked() directly and returns a proper error code instead of an inode in the event of an error. befs_fill_super() returns any error incurred when getting the root inode instead of EINVAL. Signed-off-by: David Howells Acked-by: Will Dyson Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62328a02399ea7f1b26b06d757abe67b9cf48193 Author: David Howells Date: Thu Feb 7 00:15:30 2008 -0800 iget: stop autofs from using iget() and read_inode() Stop the autofs filesystem from using iget() and read_inode(). Replace autofs_read_inode() with autofs_iget(), and call that instead of iget(). autofs_iget() then uses iget_locked() directly and returns a proper error code instead of an inode in the event of an error. Signed-off-by: David Howells Cc: Ian Kent Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 210f855963ba5edc4c7150754a79709a7c8a0d3c Author: David Howells Date: Thu Feb 7 00:15:29 2008 -0800 iget: stop AFFS from using iget() and read_inode() Stop the AFFS filesystem from using iget() and read_inode(). Replace affs_read_inode() with affs_iget(), and call that instead of iget(). affs_iget() then uses iget_locked() directly and returns a proper error code instead of an inode in the event of an error. affs_fill_super() returns any error incurred when getting the root inode instead of EINVAL. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: David Howells Cc: Roman Zippel Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69840b0d065a031a2e5b3fcc3f30560229e312da Author: David Howells Date: Thu Feb 7 00:15:29 2008 -0800 iget: use iget_failed() in GFS2 Use iget_failed() in GFS2 to kill a failed inode. Signed-off-by: David Howells Cc: Steven Whitehouse Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa7fa240c7d4ed28ee2d1afacd97be2d76e3cb49 Author: David Howells Date: Thu Feb 7 00:15:28 2008 -0800 iget: use iget_failed() in AFS Use iget_failed() in AFS to kill a failed inode. Signed-off-by: David Howells Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b46980feed937868d3333514028bfbe9a651e4ca Author: David Howells Date: Thu Feb 7 00:15:27 2008 -0800 iget: introduce a function to register iget failure Introduce a function to register failure in an inode construction path. This includes marking the inode under construction as bad, unlocking it and releasing it. Signed-off-by: David Howells Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e231c2ee64eb1c5cd3c63c31da9dac7d888dcf7f Author: David Howells Date: Thu Feb 7 00:15:26 2008 -0800 Convert ERR_PTR(PTR_ERR(p)) instances to ERR_CAST(p) Convert instances of ERR_PTR(PTR_ERR(p)) to ERR_CAST(p) using: perl -spi -e 's/ERR_PTR[(]PTR_ERR[(](.*)[)][)]/ERR_CAST(\1)/' `grep -rl 'ERR_PTR[(]*PTR_ERR' fs crypto net security` Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1bc8e95445224276d7896b8b08cbb0b28a0ca80 Author: David Howells Date: Thu Feb 7 00:15:26 2008 -0800 Add an ERR_CAST() function to complement ERR_PTR and co. Add an ERR_CAST() function to complement ERR_PTR and co. for the purposes of casting an error entyped as one pointer type to an error of another pointer type whilst making it explicit as to what is going on. This provides a replacement for the ERR_PTR(PTR_ERR(p)) construct. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae5e29798afa2b11a01fcb4fab8b58fee47fe155 Author: Matthias Kaehlcke Date: Thu Feb 7 00:15:25 2008 -0800 MBCS: convert dmareadlock to mutex MBCS: Convert the semaphore dmareadlock to the mutex API Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46bca69682731104b42f99da763b9a08a0574291 Author: Matthias Kaehlcke Date: Thu Feb 7 00:15:24 2008 -0800 MBCS: convert dmawritelock to mutex MBCS: Convert the semaphore dmawritelock to the mutex API Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a40ba8495798fa7eae6fa12b16a0d06d906ba47f Author: Matthias Kaehlcke Date: Thu Feb 7 00:15:24 2008 -0800 MBCS: convert algolock to mutex MBCS: Convert the semaphore algolock to the mutex API Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 92df5c3e38c0a0a66a456926039548275dfb3328 Author: Ken'ichi Ohmichi Date: Thu Feb 7 00:15:23 2008 -0800 vmcoreinfo: fix the configuration dependencies This patch fixes the configuration dependencies in the vmcoreinfo data. i386's "node_data" is defined in arch/x86/mm/discontig_32.c, and x86_64's one is defined in arch/x86/mm/numa_64.c. They depend on CONFIG_NUMA: arch/x86/mm/Makefile_32:7 obj-$(CONFIG_NUMA) += discontig_32.o arch/x86/mm/Makefile_64:7 obj-$(CONFIG_NUMA) += numa_64.o ia64's "pgdat_list" is defined in arch/ia64/mm/discontig.c, and it depends on CONFIG_DISCONTIGMEM and CONFIG_SPARSEMEM: arch/ia64/mm/Makefile:9-10 obj-$(CONFIG_DISCONTIGMEM) += discontig.o obj-$(CONFIG_SPARSEMEM) += discontig.o ia64's "node_memblk" is defined in arch/ia64/mm/numa.c, and it depends on CONFIG_NUMA: arch/ia64/mm/Makefile:8 obj-$(CONFIG_NUMA) += numa.o Signed-off-by: Ken'ichi Ohmichi Acked-by: Simon Horman Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bba1f603b88f30945ae4c5eccf2a6f5a12b877c5 Author: Ken'ichi Ohmichi Date: Thu Feb 7 00:15:22 2008 -0800 vmcoreinfo: add "VMCOREINFO_" to all the call for vmcoreinfo_append_str() For readability, all the calls to vmcoreinfo_append_str() are changed to macros having a prefix "VMCOREINFO_". This discussion is the following: http://www.ussg.iu.edu/hypermail/linux/kernel/0709.3/0584.html Signed-off-by: Ken'ichi Ohmichi Acked-by: Simon Horman Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e4f2955433231b4b02dc4a9eb5d4d403a8680e1 Author: Ken'ichi Ohmichi Date: Thu Feb 7 00:15:22 2008 -0800 vmcoreinfo: use the existing offsetof() for VMCOREINFO_OFFSET() It is better that the existing offsetof() is used for VMCOREINFO_OFFSET(). This discussion is the following: http://www.ussg.iu.edu/hypermail/linux/kernel/0709.3/0584.html Signed-off-by: Ken'ichi Ohmichi Acked-by: Simon Horman Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c76f860c44357f560a763d2894e95464cab7b159 Author: Ken'ichi Ohmichi Date: Thu Feb 7 00:15:20 2008 -0800 vmcoreinfo: rename vmcoreinfo's macros returning the size This patchset is for the vmcoreinfo data. The vmcoreinfo data has the minimum debugging information only for dump filtering. makedumpfile (dump filtering command) gets it to distinguish unnecessary pages, and makedumpfile creates a small dumpfile. This patch: VMCOREINFO_SIZE() should be renamed VMCOREINFO_STRUCT_SIZE() since it's always returning the size of the struct with a given name. This change would allow VMCOREINFO_TYPEDEF_SIZE() to simply become VMCOREINFO_SIZE() since it need not be used exclusively for typedefs. This discussion is the following: http://www.ussg.iu.edu/hypermail/linux/kernel/0709.3/0582.html Signed-off-by: Ken'ichi Ohmichi Acked-by: David Rientjes Acked-by: Simon Horman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18a01a3beb9f25a70a51e12e3c1c3d273da10eca Author: Bernhard Walle Date: Thu Feb 7 00:15:19 2008 -0800 Use BOOTMEM_EXCLUSIVE for kdump Use the BOOTMEM_EXCLUSIVE, introduced in the previous patch, to avoid conflicts while reserving the memory for the kdump capture kernel (crashkernel=). Signed-off-by: Bernhard Walle Cc: Cc: "Eric W. Biederman" Cc: Vivek Goyal Acked-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 72a7fe3967dbf86cb34e24fbf1d957fe24d2f246 Author: Bernhard Walle Date: Thu Feb 7 00:15:17 2008 -0800 Introduce flags for reserve_bootmem() This patchset adds a flags variable to reserve_bootmem() and uses the BOOTMEM_EXCLUSIVE flag in crashkernel reservation code to detect collisions between crashkernel area and already used memory. This patch: Change the reserve_bootmem() function to accept a new flag BOOTMEM_EXCLUSIVE. If that flag is set, the function returns with -EBUSY if the memory already has been reserved in the past. This is to avoid conflicts. Because that code runs before SMP initialisation, there's no race condition inside reserve_bootmem_core(). [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: fix powerpc build] Signed-off-by: Bernhard Walle Cc: Cc: "Eric W. Biederman" Cc: Vivek Goyal Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 25fad945a7f7ff2cf06e437381c6a1121784dbd9 Author: Randy Dunlap Date: Thu Feb 7 00:15:16 2008 -0800 fs menu: small reorg - move minixfs and ROMfs to the Miscellaneous filesystems menu - move DNOTIFY config symbol so that it is adjacent to INOTIFY instead of being split by the QUOTA config options - add some 'endif' annotations - remove some whitespace (extra blank lines) Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e6ee512f5a77553a6fe08cad68b75d5fdfd2ffb8 Author: Maciej W. Rozycki Date: Thu Feb 7 00:15:15 2008 -0800 dz.c: Resource management This is a set of changes to implement proper resource management in the driver, including iomem space reservation and operating on physical addresses ioremap()ped appropriately using accessory functions rather than unportable direct assignments. Some adjustments to code are made to reflect the architecture of the interface, which is a centrally controlled multiport (or, as referred to from DEC documentation, a serial line multiplexer, going up to 8 lines originally) rather than a bundle of separate ports. Types are changed, where applicable, to specify the width of hardware registers explicitly. The interrupt handler is now managed in the ->startup() and ->shutdown() calls for consistency with other drivers and also in preparation to handle the handover from the initial firmware-based console gracefully. Signed-off-by: Maciej W. Rozycki Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5519caad5c1828b2ab6d14bd9e7a8e047db12e3 Author: Maciej W. Rozycki Date: Thu Feb 7 00:15:15 2008 -0800 dz.c: Use a helper to cast from "struct uart_port *" Replace all casts from "struct uart_port *" to "struct dz_port *" with a construct based on container_of(). This makes the conversion work irrespective of where the former struct is located within the latter. By popular request I have implemented it as an inline function rather than a macro this time. Signed-off-by: Maciej W. Rozycki Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff11d0780376a3821d790a6ceb8b297d976b14fe Author: Maciej W. Rozycki Date: Thu Feb 7 00:15:14 2008 -0800 dz: clean up and improve the setup of termios settings A set of changes to the way termios settings are propagated to the serial port hardware. The DZ11 only supports a selection of fixed baud settings, so some requests may not be fulfilled. Keep the old setting in such a case and failing that resort to 9600bps. Also add a missing update of the transmit timeout. And remove the explicit encoding of the line selected from writes to the Line Parameters Register as it has been preencoded by the ->set_termios() call already. Finally, remove a duplicate macro for the Receiver Enable bit. Signed-off-by: Maciej W. Rozycki Cc: Ralf Baechle Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 789c7048bfaa4901860b4c86606c2651fc2298f4 Author: Maciej W. Rozycki Date: Thu Feb 7 00:15:13 2008 -0800 MAINTAINERS: add self for the dz serial driver Now that I have got the necessary piece of hardware (thanks, Thiemo!), I may well offer myself as the maintainer for the dz serial driver. I hope nobody objects. Signed-off-by: Maciej W. Rozycki Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54c0f37e9a200d74ec43cffa6526d9ad17a388a7 Author: Maciej W. Rozycki Date: Thu Feb 7 00:15:12 2008 -0800 dz: handle special conditions on reception correctly Handle the read and ignore status masks correctly. Handle the BREAK condition as expected: a framing error with a null character is a BREAK, any other framing error is a framing error indeed. Signed-off-by: Maciej W. Rozycki Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 43d46ab1cdeb12b8d072cfdf84956073a1fa8866 Author: Maciej W. Rozycki Date: Thu Feb 7 00:15:11 2008 -0800 dz: fix locking issues The ->start_tx(), ->stop_tx() and ->stop_rx() backends are called with the port's lock already taken. Remove locking from within them and wrap around calls as necessary. Signed-off-by: Maciej W. Rozycki Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d83c067ebd11d375b34c53192c10826947e8568 Author: Maciej W. Rozycki Date: Thu Feb 7 00:15:10 2008 -0800 dz: rename the serial console structure Rename the serial console structure so that `modpost' does not complain about a reference to an "init" section -- "_console" is magic. Signed-off-by: Maciej W. Rozycki Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7287d765d5f2e946fdffbcba36088c44ebb35912 Author: Maciej W. Rozycki Date: Thu Feb 7 00:15:09 2008 -0800 dz: update kconfig description Reformat the Kconfig entries and update descriptions for accuracy. Select the driver by default for configurations of interest. For the curious: 32BIT means only 32-bit DECstations support the device, not that the driver is not 64-bit clean; I have not checked that either though. Signed-off-by: Maciej W. Rozycki Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87cff7fb0be9045241eba948502c95c17bb5b944 Author: Maciej W. Rozycki Date: Thu Feb 7 00:15:09 2008 -0800 dz: add and reorder inclusions, remove unneeded ones Sort the header inclusions, add a few that are needed but pulled indirectly only and remove ones that are not really used. Signed-off-by: Maciej W. Rozycki Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ba137e23e8d8f5cb15778b44be281c5687afc49 Author: Maciej W. Rozycki Date: Thu Feb 7 00:15:08 2008 -0800 dz: don't panic() when request_irq() fails Well, panic() is a little bit undue if request_irq() fails; there is probably no need to justify it any further. Handle the case gracefully, by unregistering the driver. Signed-off-by: Maciej W. Rozycki Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dbab81281d3227af3d8a04aa748c5f41befa5d43 Author: Maciej W. Rozycki Date: Thu Feb 7 00:15:07 2008 -0800 dz: always check if it is safe to console_putchar() Polled transmission is tricky enough with the DZ11 design. While "loop" is set to a high value, conceptually you are not allowed to transmit without checking whether the device offers the right transmission line (yes, it is the device that selects the line -- the driver has no control over it other than disabling the transmitter offered if it is the wrong one), so the loop has to be run at least once. Well, the '1977 or PDP11 view of how serial lines should be handled... Except that the serial interface used to be quite an impressive board back then rather than chip. Signed-off-by: Maciej W. Rozycki Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d4dd1467f2053b31e2fbb58763ff9d1e0399af45 Author: Maciej W. Rozycki Date: Thu Feb 7 00:15:06 2008 -0800 dz.h: remove useless unused module junk Remove unused module function prototypes that would not even build if enabled. Signed-off-by: Maciej W. Rozycki Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 870897a5ab60a6afeba0a7eff42d21faf79edf33 Author: Jason Uhlenkott Date: Thu Feb 7 00:15:05 2008 -0800 drivers/edac/i3000: document type promotion By popular request, add a comment documenting the implicit type promotion here. Signed-off-by: Jason Uhlenkott Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ed31e0fa0e595a8840dbb6c60a7207b5bd90333 Author: Hitoshi Mitake Date: Thu Feb 7 00:15:02 2008 -0800 drivers/edac: i3000: missing init code There is a missing sequence of initialization code during startup. Signed-off-by: Hitoshi Mitake Signed-off-by: Jason Uhlenkott Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd4755c2a9e691ada331084a76ac4458c4ff2749 Author: Doug Thompson Date: Thu Feb 7 00:15:02 2008 -0800 drivers/edac: mpc85xx: add static scope Made a previous global variable, static in scope Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5c0454c865487822d030a820062c6c8f1565c5c Author: Jason Uhlenkott Date: Thu Feb 7 00:15:01 2008 -0800 drivers/edac: i3000: 64bit build Modified to run on x86_64 as well as x86 i3000_edac builds (and runs) fine on x86_64. Signed-off-by: Jason Uhlenkott Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b09ff9d787911b0b46a4d286e68f1f84e8b0b94 Author: Bryan Boatright Date: Thu Feb 7 00:14:58 2008 -0800 drivers/edac: pci: broken parity regression Using the EDAC code in kernel.org kernel version 2.6.23.8 I am seeing the following problem: In the kernel there is a pci device attribute located in sysfs that is checked by the EDAC PCI scanning code. If that attribute is set, PCI parity/error scannining is skipped for that device. The attribute is: broken_parity_status as is located in /sys/devices/pci/0000:XX:YY.Z directorys for PCI devices. I don't think this check was actually implemented. I have a misbehaved card that reports a parity error every 1000 ms: Nov 25 07:28:43 beta kernel: EDAC PCI: Master Data Parity Error on 0000:05:01.0 Nov 25 07:28:44 beta kernel: EDAC PCI: Master Data Parity Error on 0000:05:01.0 Nov 25 07:28:45 beta kernel: EDAC PCI: Master Data Parity Error on 0000:05:01.0 Setting that card's broken_parity_status bit did not mask the error: echo "1" > /sys/bus/pci/devices/0000:05:01.0/broken_parity_status I looked through the EDAC code and did not readily see any reference to broken_parity_status at all (which makes sense based on the behavior I am seeing). I applied the following patch as a proof-of-concept and now EDAC's PCI parity error reporting behaves as documented: bryan Good regression find, bryan. It used to work. sigh. I added more logic to your patch, for more coverage of the error. Doug T Signed-off-by: Bryan Boatright Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4f4aeeabc061826376c9a72b4714d062664999ea Author: Dave Jiang Date: Thu Feb 7 00:14:56 2008 -0800 drivers-edac: add marvell mv64x60 driver Marvell mv64x60 SoC support for EDAC. Used on PPC and MIPS platforms. Development and testing done on PPC Motorola prpmc2800 ATCA board. [akpm@linux-foundation.org: make mv64x60_ctl_name static] Signed-off-by: Dave Jiang Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a9a753d53204bf0f42841f65679c7e1711833bcf Author: Dave Jiang Date: Thu Feb 7 00:14:55 2008 -0800 drivers-edac: add freescale mpc85xx driver EDAC chip driver support for Freescale MPC85xx platforms. PPC based. Signed-off-by: Dave Jiang Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d2b165eca960ae12767a6334c51416dca45756c Author: Jason Uhlenkott Date: Thu Feb 7 00:14:54 2008 -0800 drivers-edac: i3000 replace macros with functions Replace function-like macros with functions. Signed-off-by: Jason Uhlenkott Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce783d70b95416725e262866f5b11436f35f68a9 Author: Jason Uhlenkott Date: Thu Feb 7 00:14:53 2008 -0800 drivers-edac: i3000 code tidying Style cleanup, mostly just 80-column fixes. Signed-off-by: Jason Uhlenkott Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48764e4143c06672fc072eb482fdc4c75ee0f968 Author: Benjamin Herrenschmidt Date: Thu Feb 7 00:14:53 2008 -0800 drivers-edac: add Cell MC driver Adds driver for the Cell memory controller when used without a Hypervisor such as on the IBM Cell blades. There might still be some improvements to do to this such as finding if it's possible to properly obtain more details about the address of the error but it's good enough already to report CE counts which is our main priority at the moment. Signed-off-by: Benjamin Herrenschmidt Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d5f726cbf1b736338bbcd83ebc6ad758079261f Author: Benjamin Herrenschmidt Date: Thu Feb 7 00:14:52 2008 -0800 drivers-edac: add Cell XDR memory types Add the definitions for the Rambus XDR memory type used by the Cell processor. It's a pre-requisite for the followup Cell EDAC patch. Signed-off-by: Benjamin Herrenschmidt Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c2ae24cfd1969a28e76641807026a3bbc11c5f31 Author: Anton Blanchard Date: Thu Feb 7 00:14:51 2008 -0800 drivers-edac: use round_jiffies_relative When rounding a relative timeout we need to use round_jiffies_relative(). Signed-off-by: Anton Blanchard Acked-by: Arjan van de Ven Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 56e61a9c5fe7b799504b125c278b56cc2c42670f Author: Doug Thompson Date: Thu Feb 7 00:14:51 2008 -0800 drivers-edac: turn on edac device error logging ENABLE the 'logging' of CE and UE events for the EDAC_DEVICE class of error harvester in EDAC Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fa9ff4b185b8f7f124c1c6686f02e690f0625287 Author: Samuel Ortiz Date: Thu Feb 7 00:14:49 2008 -0800 ASIC3 driver This is a patch for the Compaq ASIC3 multi function chip, found in many PDAs (iPAQs, HTCs...). It is a simplified version of Paul Sokolovsky's first proposal [1]. With this code, it is basically a GPIO and IRQ expander. My plan is to add more features once this patch gets reviewed and accepted. [1] http://lkml.org/lkml/2007/5/1/46 Signed-off-by: Samuel Ortiz Cc: Paul Sokolovsky Cc: Ben Dooks Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f5aa26c75b7722e80c0c5c5bb833d41865d7019 Author: Paul Jackson Date: Thu Feb 7 00:14:48 2008 -0800 cpusets: update_cpumask documentation fix Update cpuset documentation to match the October 2007 "Fix cpusets update_cpumask" changes that now apply changes to a cpusets 'cpus' allowed mask immediately to the cpus_allowed of the tasks in that cpuset. Signed-off-by: Paul Jackson Acked-by: Cliff Wickman Cc: David Rientjes Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73507f335f406ff31ceb97b39fa76eaee00f4f26 Author: Pavel Emelyanov Date: Thu Feb 7 00:14:47 2008 -0800 Handle pid namespaces in cgroups code There's one place that works with task pids - its the "tasks" file in cgroups. The read/write handlers assume, that the pid values go to/come from the user space and thus it is a virtual pid, i.e. the pid as it is seen from inside a namespace. Tune the code accordingly. Signed-off-by: Pavel Emelyanov Cc: "Eric W. Biederman" Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b450129554213a4d4c5932f8a293646c029e1b0a Author: Paul Jackson Date: Thu Feb 7 00:14:47 2008 -0800 hotplug cpu move tasks in empty cpusets - refinements - Narrow the scope of callback_mutex in scan_for_empty_cpusets(). - Avoid rewriting the cpus, mems of cpusets except when it is likely that we'll be changing them. - Have remove_tasks_in_empty_cpuset() also check for empty mems. Signed-off-by: Paul Jackson Acked-by: Cliff Wickman Cc: David Rientjes Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c8d9c90c7ece28259436476a016cdecd25dccf2c Author: Paul Jackson Date: Thu Feb 7 00:14:46 2008 -0800 hotplug cpu: move tasks in empty cpusets to parent various other fixes Various minor formatting and comment tweaks to Cliff Wickman's [PATCH_3_of_3]_cpusets__update_cpumask_revision.patch I had had "iff", meaning "if and only if" in a comment. However, except for ancient mathematicians, the abbreviation "iff" was a tad too cryptic. Cliff changed it to "if", presumably figuring that the "iff" was a typo. However, it was the "only if" half of the conjunction that was most interesting. Reword to emphasis the "only if" aspect. The locking comment for remove_tasks_in_empty_cpuset() was wrong; it said callback_mutex had to be held on entry. The opposite is true. Several mentions of attach_task() in comments needed to be changed to cgroup_attach_task(). A comment about notify_on_release was no longer relevant, as the line of code it had commented, namely: set_bit(CS_RELEASED_RESOURCE, &parent->flags); is no longer present in that place in the cpuset.c code. Similarly a comment about notify_on_release before the scan_for_empty_cpusets() routine was no longer relevant. Removed extra parentheses and unnecessary return statement. Renamed attach_task() to cpuset_attach() in various comments. Removed comment about not needing memory migration, as it seems the migration is done anyway, via the cpuset_attach() callback from cgroup_attach_task(). Signed-off-by: Paul Jackson Acked-by: Cliff Wickman Cc: David Rientjes Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2df167a300d7b3ab9949bbb02a8f604afd809b92 Author: Paul Menage Date: Thu Feb 7 00:14:45 2008 -0800 cgroups: update comments in cpuset.c Some of the comments in kernel/cpuset.c were stale following the transition to control groups; this patch updates them to more closely match reality. Signed-off-by: Paul Menage Acked-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58f4790b73639d1fa808439fac7f761a4c46e11f Author: Cliff Wickman Date: Thu Feb 7 00:14:44 2008 -0800 cpusets: update_cpumask revision Use the new function cgroup_scan_tasks() to step through all tasks in a cpuset. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Cliff Wickman Cc: Paul Menage Cc: Paul Jackson Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 956db3ca0606e78456786ef19fd4dc7a5151a6e1 Author: Cliff Wickman Date: Thu Feb 7 00:14:43 2008 -0800 hotplug cpu: move tasks in empty cpusets to parent This patch corrects a situation that occurs when one disables all the cpus in a cpuset. Currently, the disabled (cpu-less) cpuset inherits the cpus of its parent, which is incorrect because it may then overlap its cpu-exclusive sibling. Tasks of an empty cpuset should be moved to the cpuset which is the parent of their current cpuset. Or if the parent cpuset has no cpus, to its parent, etc. And the empty cpuset should be released (if it is flagged notify_on_release). Depends on the cgroup_scan_tasks() function (proposed by David Rientjes) to iterate through all tasks in the cpu-less cpuset. We are deliberately avoiding a walk of the tasklist. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Cliff Wickman Cc: Paul Menage Cc: Paul Jackson Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31a7df01fd0cd786f60873a921aecafac148c290 Author: Cliff Wickman Date: Thu Feb 7 00:14:42 2008 -0800 cgroups: mechanism to process each task in a cgroup Provide cgroup_scan_tasks(), which iterates through every task in a cgroup, calling a test function and a process function for each. And call the process function without holding the css_set_lock lock. The idea is David Rientjes', predicting that such a function will make it much easier in the future to extend things that require access to each task in a cgroup without holding the lock, [akpm@linux-foundation.org: cleanup] [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Cliff Wickman Cc: Paul Menage Cc: Paul Jackson Acked-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dfc05c259e424e4160c66eab728f55cc4b53fd75 Author: KAMEZAWA Hiroyuki Date: Thu Feb 7 00:14:41 2008 -0800 update Documentation/controller/memory.txt Documentation updates for memory controller. Signed-off-by: KAMEZAWA Hiroyuki Reviewed-by: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c541e14bfa553133c3473a6ed3e4c0583ea2285 Author: Balbir Singh Date: Thu Feb 7 00:14:41 2008 -0800 Memory controller remove control_type feature Based on the discussion at http://lkml.org/lkml/2007/12/20/383, it was felt that control_type might not be a good thing to implement right away. We can add this flexibility at a later point when required. Signed-off-by: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 072c56c13e1302fcdc39961dc64e76485731ad67 Author: KAMEZAWA Hiroyuki Date: Thu Feb 7 00:14:39 2008 -0800 per-zone and reclaim enhancements for memory controller: per-zone-lock for cgroup Now, lru is per-zone. Then, lru_lock can be (should be) per-zone, too. This patch implementes per-zone lru lock. lru_lock is placed into mem_cgroup_per_zone struct. lock can be accessed by mz = mem_cgroup_zoneinfo(mem_cgroup, node, zone); &mz->lru_lock or mz = page_cgroup_zoneinfo(page_cgroup); &mz->lru_lock Signed-off-by: KAMEZAWA hiroyuki Cc: "Eric W. Biederman" Cc: Balbir Singh Cc: David Rientjes Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Nick Piggin Cc: Paul Menage Cc: Pavel Emelianov Cc: Peter Zijlstra Cc: Vaidyanathan Srinivasan Cc: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ecaab2bd221251a3fd148abb08e8b877f1e93c8 Author: KAMEZAWA Hiroyuki Date: Thu Feb 7 00:14:38 2008 -0800 per-zone and reclaim enhancements for memory controller: per zone lru for cgroup This patch implements per-zone lru for memory cgroup. This patch makes use of mem_cgroup_per_zone struct for per zone lru. LRU can be accessed by mz = mem_cgroup_zoneinfo(mem_cgroup, node, zone); &mz->active_list &mz->inactive_list or mz = page_cgroup_zoneinfo(page_cgroup); &mz->active_list &mz->inactive_list Signed-off-by: KAMEZAWA Hiroyuki Cc: "Eric W. Biederman" Cc: Balbir Singh Cc: David Rientjes Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Nick Piggin Cc: Paul Menage Cc: Pavel Emelianov Cc: Peter Zijlstra Cc: Vaidyanathan Srinivasan Cc: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1cfb419b394ba82745c54ff05436d598ecc2dbd5 Author: KAMEZAWA Hiroyuki Date: Thu Feb 7 00:14:37 2008 -0800 per-zone and reclaim enhancements for memory controller: modifies vmscan.c for isolate globa/cgroup lru activity When using memory controller, there are 2 levels of memory reclaim. 1. zone memory reclaim because of system/zone memory shortage. 2. memory cgroup memory reclaim because of hitting limit. These two can be distinguished by sc->mem_cgroup parameter. (scan_global_lru() macro) This patch tries to make memory cgroup reclaim routine avoid affecting system/zone memory reclaim. This patch inserts if (scan_global_lru()) and hook to memory_cgroup reclaim support functions. This patch can be a help for isolating system lru activity and group lru activity and shows what additional functions are necessary. * mem_cgroup_calc_mapped_ratio() ... calculate mapped ratio for cgroup. * mem_cgroup_reclaim_imbalance() ... calculate active/inactive balance in cgroup. * mem_cgroup_calc_reclaim_active() ... calculate the number of active pages to be scanned in this priority in mem_cgroup. * mem_cgroup_calc_reclaim_inactive() ... calculate the number of inactive pages to be scanned in this priority in mem_cgroup. * mem_cgroup_all_unreclaimable() .. checks cgroup's page is all unreclaimable or not. * mem_cgroup_get_reclaim_priority() ... * mem_cgroup_note_reclaim_priority() ... record reclaim priority (temporal) * mem_cgroup_remember_reclaim_priority() .... record reclaim priority as zone->prev_priority. This value is used for calc reclaim_mapped. [akpm@linux-foundation.org: fix unused var warning] Signed-off-by: KAMEZAWA Hiroyuki Cc: "Eric W. Biederman" Cc: Balbir Singh Cc: David Rientjes Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Nick Piggin Cc: Paul Menage Cc: Pavel Emelianov Cc: Peter Zijlstra Cc: Vaidyanathan Srinivasan Cc: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc38108e1ba7f3b9e12b82d0236fa3730c2e0439 Author: KAMEZAWA Hiroyuki Date: Thu Feb 7 00:14:35 2008 -0800 per-zone and reclaim enhancements for memory controller: calculate the number of pages to be scanned per cgroup Define function for calculating the number of scan target on each Zone/LRU. Signed-off-by: KAMEZAWA Hiroyuki Cc: "Eric W. Biederman" Cc: Balbir Singh Cc: David Rientjes Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Nick Piggin Cc: Paul Menage Cc: Pavel Emelianov Cc: Peter Zijlstra Cc: Vaidyanathan Srinivasan Cc: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c48a1d040a9a9eaa4acdd7d4cb3885e04bf8413 Author: KAMEZAWA Hiroyuki Date: Thu Feb 7 00:14:34 2008 -0800 per-zone and reclaim enhancements for memory controller: remember reclaim priority in memory cgroup Functions to remember reclaim priority per cgroup (as zone->prev_priority) [akpm@linux-foundation.org: build fixes] [akpm@linux-foundation.org: more build fixes] Signed-off-by: KAMEZAWA Hiroyuki Cc: "Eric W. Biederman" Cc: Balbir Singh Cc: David Rientjes Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Nick Piggin Cc: Paul Menage Cc: Pavel Emelianov Cc: Peter Zijlstra Cc: Vaidyanathan Srinivasan Cc: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5932f3671bb2dd873c5ac443cbf5dc2cd167ae94 Author: KAMEZAWA Hiroyuki Date: Thu Feb 7 00:14:33 2008 -0800 per-zone and reclaim enhancements for memory controller: calculate active/inactive imbalance per cgroup Signed-off-by: KAMEZAWA Hiroyuki Cc: "Eric W. Biederman" Cc: Balbir Singh Cc: David Rientjes Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Nick Piggin Cc: Paul Menage Cc: Pavel Emelianov Cc: Peter Zijlstra Cc: Vaidyanathan Srinivasan Cc: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58ae83db2a40dea15d4277d499a11dadc823c388 Author: KAMEZAWA Hiroyuki Date: Thu Feb 7 00:14:32 2008 -0800 per-zone and reclaim enhancements for memory controller: calculate mapper_ratio per cgroup Define function for calculating mapped_ratio in memory cgroup. Signed-off-by: KAMEZAWA Hiroyuki Cc: "Eric W. Biederman" Cc: Balbir Singh Cc: David Rientjes Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Nick Piggin Cc: Paul Menage Cc: Pavel Emelianov Cc: Peter Zijlstra Cc: Vaidyanathan Srinivasan Cc: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d12e2d8ddbe653d80ea4f71578481c1bc933025 Author: KAMEZAWA Hiroyuki Date: Thu Feb 7 00:14:31 2008 -0800 per-zone and reclaim enhancements for memory controller: per-zone active inactive counter This patch adds per-zone status in memory cgroup. These values are often read (as per-zone value) by page reclaiming. In current design, per-zone stat is just a unsigned long value and not an atomic value because they are modified only under lru_lock. (So, atomic_ops is not necessary.) This patch adds ACTIVE and INACTIVE per-zone status values. For handling per-zone status, this patch adds struct mem_cgroup_per_zone { ... } and some helper functions. This will be useful to add per-zone objects in mem_cgroup. This patch turns memory controller's early_init to be 0 for calling kmalloc() in initialization. Acked-by: Balbir Singh Signed-off-by: KAMEZAWA Hiroyuki Cc: "Eric W. Biederman" Cc: David Rientjes Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Nick Piggin Cc: Paul Menage Cc: Pavel Emelianov Cc: Peter Zijlstra Cc: Vaidyanathan Srinivasan Cc: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c0149530d0bb356c933a09f3c8103ea02f452d8a Author: KAMEZAWA Hiroyuki Date: Thu Feb 7 00:14:30 2008 -0800 per-zone and reclaim enhancements for memory controller: nid/zid helper function for cgroup Add macro to get node_id and zone_id of page_cgroup. Will be used in per-zone-xxx patches and others. Signed-off-by: KAMEZAWA Hiroyuki Cc: "Eric W. Biederman" Cc: Balbir Singh Cc: David Rientjes Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Nick Piggin Cc: Paul Menage Cc: Pavel Emelianov Cc: Peter Zijlstra Cc: Vaidyanathan Srinivasan Cc: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 91a45470f7ddc322073752e711a2e8dcbc339e6f Author: KAMEZAWA Hiroyuki Date: Thu Feb 7 00:14:29 2008 -0800 per-zone and reclaim enhancements for memory controller: add scan_global_lru macro This is used to detect which scan_control scans global lru or mem_cgroup lru. And compiled to be static value (1) when memory controller is not configured. This may make the meaning obvious. Acked-by: Balbir Singh Signed-off-by: KAMEZAWA Hiroyuki Cc: "Eric W. Biederman" Cc: David Rientjes Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Nick Piggin Cc: Paul Menage Cc: Pavel Emelianov Cc: Peter Zijlstra Cc: Vaidyanathan Srinivasan Cc: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df878fb04dea044378274d40d063279a9cb787fb Author: KAMEZAWA Hiroyuki Date: Thu Feb 7 00:14:28 2008 -0800 memory cgroup enhancements: implicit force_empty() at rmdir Add pre_destroy handler for mem_cgroup and try to make mem_cgroup empty at rmdir(). Signed-off-by: KAMEZAWA Hiroyuki Cc: "Eric W. Biederman" Cc: Balbir Singh Cc: David Rientjes Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Nick Piggin Cc: Paul Menage Cc: Pavel Emelianov Cc: Peter Zijlstra Cc: Vaidyanathan Srinivasan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4fca88c87b7969c698912e2de9b1b31088c777cb Author: KAMEZAWA Hiroyuki Date: Thu Feb 7 00:14:27 2008 -0800 memory cgroup enhancements: add- pre_destroy() handler Add a handler "pre_destroy" to cgroup_subsys. It is called before cgroup_rmdir() checks all subsys's refcnt. I think this is useful for subsys which have some extra refs even if there are no tasks in cgroup. By adding pre_destroy(), the kernel keeps the rule "destroy() against subsystem is called only when refcnt=0." and allows css ref to be used by other objects than tasks. Signed-off-by: KAMEZAWA Hiroyuki Cc: "Eric W. Biederman" Cc: Balbir Singh Cc: David Rientjes Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Nick Piggin Cc: Paul Menage Cc: Pavel Emelianov Cc: Peter Zijlstra Cc: Vaidyanathan Srinivasan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2ceb9b7ddedbb2e8e590bc6ce33c854043016f9 Author: KAMEZAWA Hiroyuki Date: Thu Feb 7 00:14:25 2008 -0800 memory cgroup enhancements: add memory.stat file Show accounted information of memory cgroup by memory.stat file [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: fix printk warning] Signed-off-by: YAMAMOTO Takashi Signed-off-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Pavel Emelianov Cc: Paul Menage Cc: Peter Zijlstra Cc: "Eric W. Biederman" Cc: Nick Piggin Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: David Rientjes Cc: Vaidyanathan Srinivasan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d52aa412d43827033a8e2ce4415ef6e8f8d53635 Author: KAMEZAWA Hiroyuki Date: Thu Feb 7 00:14:24 2008 -0800 memory cgroup enhancements: add status accounting function for memory cgroup Add statistics account infrastructure for memory controller. All account information is stored per-cpu and caller will not have to take lock or use atomic ops. This will be used by memory.stat file later. CACHE includes swapcache now. I'd like to divide it to PAGECACHE and SWAPCACHE later. This patch adds 3 functions for accounting. * __mem_cgroup_stat_add() ... for usual routine. * __mem_cgroup_stat_add_safe ... for calling under irq_disabled section. * mem_cgroup_read_stat() ... for reading stat value. * renamed PAGECACHE to CACHE (because it may include swapcache *now*) [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: fix smp_processor_id-in-preemptible] [akpm@linux-foundation.org: uninline things] [akpm@linux-foundation.org: remove dead code] Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: YAMAMOTO Takashi Cc: Balbir Singh Cc: Pavel Emelianov Cc: Paul Menage Cc: Peter Zijlstra Cc: "Eric W. Biederman" Cc: Nick Piggin Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: David Rientjes Cc: Vaidyanathan Srinivasan Cc: Kirill Korotaev Cc: Nick Piggin Cc: Paul Menage Cc: Pavel Emelianov Cc: Peter Zijlstra Cc: Vaidyanathan Srinivasan Cc: YAMAMOTO Takashi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3564c7c45156b358efe921ab2e4e516dad92c94c Author: KAMEZAWA Hiroyuki Date: Thu Feb 7 00:14:23 2008 -0800 memory cgroup enhancements: remember "a page is on active list of cgroup or not" Remember page_cgroup is on active_list or not in page_cgroup->flags. Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: YAMAMOTO Takashi Cc: Balbir Singh Cc: Pavel Emelianov Cc: Paul Menage Cc: Peter Zijlstra Cc: "Eric W. Biederman" Cc: Nick Piggin Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: David Rientjes Cc: Vaidyanathan Srinivasan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 82369553d6d3bc67c54129a02e0bc0b5b88f3045 Author: Hugh Dickins Date: Thu Feb 7 00:14:22 2008 -0800 memcgroup: fix hang with shmem/tmpfs The memcgroup regime relies upon a cgroup reclaiming pages from itself within add_to_page_cache: which may involve some waiting. Whereas shmem and tmpfs rely upon using add_to_page_cache while holding a spinlock: when it cannot wait. The consequence is that when a cgroup reaches its limit, shmem_getpage just hangs - unless there is outside memory pressure too, neither kswapd nor radix_tree_preload get it out of the retry loop. In most cases we can mem_cgroup_cache_charge the page waitably first, to attach the page_cgroup in advance, so add_to_page_cache will do no more than increment a count; then mem_cgroup_uncharge_page after (in both success and failure cases) to balance the books again. And where there used to be a congestion_wait for kswapd (recently made redundant by radix_tree_preload), use mem_cgroup_cache_charge with NULL page to go through a cycle of allocation and freeing, without accounting to any particular page, and without updating the statistics vector. This brings the cgroup below its limit so the next try usually succeeds. Signed-off-by: Hugh Dickins Cc: Balbir Singh Cc: KAMEZAWA Hiroyuki Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3be91277e754c7db04eae145ba622b3a3e3ad96d Author: Hugh Dickins Date: Thu Feb 7 00:14:19 2008 -0800 memcgroup: tidy up mem_cgroup_charge_common Tidy up mem_cgroup_charge_common before extending it. Adjust some comments, but mainly clean up its loop: I've an aversion to loops full of continues, then a break or a goto at the bottom. And the is_atomic test should be on the __GFP_WAIT bit, not GFP_ATOMIC bits. Signed-off-by: Hugh Dickins Cc: Balbir Singh Cc: KAMEZAWA Hiroyuki Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac44d354d5c9ced49b1165d6496f134501134219 Author: Balbir Singh Date: Thu Feb 7 00:14:18 2008 -0800 Memory controller use rcu_read_lock() in mem_cgroup_cache_charge() Hugh Dickins noticed that we were using rcu_dereference() without rcu_read_lock() in the cache charging routine. The patch below fixes this problem Signed-off-by: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 217bc3194d57150549e9234e6ddfee30de28cc78 Author: KAMEZAWA Hiroyuki Date: Thu Feb 7 00:14:17 2008 -0800 memory cgroup enhancements: remember "a page is charged as page cache" Add a flag to page_cgroup to remember "this page is charged as cache." cache here includes page caches and swap cache. This is useful for implementing precise accounting in memory cgroup. TODO: distinguish page-cache and swap-cache Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: YAMAMOTO Takashi Cc: Balbir Singh Cc: Pavel Emelianov Cc: Paul Menage Cc: Peter Zijlstra Cc: "Eric W. Biederman" Cc: Nick Piggin Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: David Rientjes Cc: Vaidyanathan Srinivasan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc8475822f8a4b17e9b76e7fadb6b9a341860422 Author: KAMEZAWA Hiroyuki Date: Thu Feb 7 00:14:16 2008 -0800 memory cgroup enhancements: force_empty interface for dropping all account in empty cgroup This patch adds an interface "memory.force_empty". Any write to this file will drop all charges in this cgroup if there is no task under. %echo 1 > /....../memory.force_empty will drop all charges of memory cgroup if cgroup's tasks is empty. This is useful to invoke rmdir() against memory cgroup successfully. Tested and worked well on x86_64/fake-NUMA system. Signed-off-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Pavel Emelianov Cc: Paul Menage Cc: Peter Zijlstra Cc: "Eric W. Biederman" Cc: Nick Piggin Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: David Rientjes Cc: Vaidyanathan Srinivasan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 417eead30434b4bd09a54455e839cf9a62c05460 Author: KAMEZAWA Hiroyuki Date: Thu Feb 7 00:14:14 2008 -0800 memory cgroup enhancements: fix zone handling in try_to_free_mem_cgroup_page Because NODE_DATA(node)->node_zonelists[] is guaranteed to contain all necessary zones, it is not necessary to use for_each_online_node. And this for_each_online_node() makes reclaim routine start always from node 0. This is not good. This patch makes reclaim start from caller's node and just use usual (default) zonelist order. [akpm@linux-foundation.org: fix warning] Signed-off-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Pavel Emelianov Cc: Paul Menage Cc: Peter Zijlstra Cc: "Eric W. Biederman" Cc: Nick Piggin Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: David Rientjes Cc: Vaidyanathan Srinivasan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fa1de9008c9bcce8ab5122529dd19b24c273eba2 Author: Hugh Dickins Date: Thu Feb 7 00:14:13 2008 -0800 memcgroup: revert swap_state mods If we're charging rss and we're charging cache, it seems obvious that we should be charging swapcache - as has been done. But in practice that doesn't work out so well: both swapin readahead and swapoff leave the majority of pages charged to the wrong cgroup (the cgroup that happened to read them in, rather than the cgroup to which they belong). (Which is why unuse_pte's GFP_KERNEL while holding pte lock never showed up as a problem: no allocation was ever done there, every page read being already charged to the cgroup which initiated the swapoff.) It all works rather better if we leave the charging to do_swap_page and unuse_pte, and do nothing for swapcache itself: revert mm/swap_state.c to what it was before the memory-controller patches. This also speeds up significantly a contained process working at its limit: because it no longer needs to keep waiting for swap writeback to complete. Is it unfair that swap pages become uncharged once they're unmapped, even though they're still clearly private to particular cgroups? For a short while, yes; but PageReclaim arranges for those pages to go to the end of the inactive list and be reclaimed soon if necessary. shmem/tmpfs pages are a distinct case: their charging also benefits from this change, but their second life on the lists as swapcache pages may prove more unfair - that I need to check next. Signed-off-by: Hugh Dickins Cc: Pavel Emelianov Acked-by: Balbir Singh Cc: Paul Menage Cc: Peter Zijlstra Cc: "Eric W. Biederman" Cc: Nick Piggin Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: David Rientjes Cc: Vaidyanathan Srinivasan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 436c6541b13a73790646eb11429bdc8ee50eec41 Author: Hugh Dickins Date: Thu Feb 7 00:14:12 2008 -0800 memcgroup: fix zone isolation OOM mem_cgroup_charge_common shows a tendency to OOM without good reason, when a memhog goes well beyond its rss limit but with plenty of swap available. Seen on x86 but not on PowerPC; seen when the next patch omits swapcache from memcgroup, but we presume it can happen without. mem_cgroup_isolate_pages is not quite satisfying reclaim's criteria for OOM avoidance. Already it has to scan beyond the nr_to_scan limit when it finds a !LRU page or an active page when handling inactive or an inactive page when handling active. It needs to do exactly the same when it finds a page from the wrong zone (the x86 tests had two zones, the PowerPC tests had only one). Don't increment scan and then decrement it in these cases, just move the incrementation down. Fix recent off-by-one when checking against nr_to_scan. Cut out "Check if the meta page went away from under us", presumably left over from early debugging: no amount of such checks could save us if this list really were being updated without locking. This change does make the unlimited scan while holding two spinlocks even worse - bad for latency and bad for containment; but that's a separate issue which is better left to be fixed a little later. Signed-off-by: Hugh Dickins Cc: Pavel Emelianov Acked-by: Balbir Singh Cc: Paul Menage Cc: Peter Zijlstra Cc: "Eric W. Biederman" Cc: Nick Piggin Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: David Rientjes Cc: Vaidyanathan Srinivasan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff7283fa3a66823933991ad55a558a3a01d5ab27 Author: KAMEZAWA Hiroyuki Date: Thu Feb 7 00:14:11 2008 -0800 bugfix for memory cgroup controller: avoid !PageLRU page in mem_cgroup_isolate_pages This patch makes mem_cgroup_isolate_pages() to be - ignore !PageLRU pages. - fixes the bug that isolation makes no progress if page_zone(page) != zone page once find. (just increment scan in this case.) kswapd and memory migration removes a page from list when it handles a page for reclaiming/migration. Because __isolate_lru_page() doesn't moves page !PageLRU pages, it will be safe to avoid touching !PageLRU() page and its page_cgroup. Signed-off-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Pavel Emelianov Cc: Paul Menage Cc: Peter Zijlstra Cc: "Eric W. Biederman" Cc: Nick Piggin Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: David Rientjes Cc: Vaidyanathan Srinivasan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae41be374293e70e1ed441d986afcc6e744ef9d9 Author: KAMEZAWA Hiroyuki Date: Thu Feb 7 00:14:10 2008 -0800 bugfix for memory cgroup controller: migration under memory controller fix While using memory control cgroup, page-migration under it works as following. == 1. uncharge all refs at try to unmap. 2. charge regs again remove_migration_ptes() == This is simple but has following problems. == The page is uncharged and charged back again if *mapped*. - This means that cgroup before migration can be different from one after migration - If page is not mapped but charged as page cache, charge is just ignored (because not mapped, it will not be uncharged before migration) This is memory leak. == This patch tries to keep memory cgroup at page migration by increasing one refcnt during it. 3 functions are added. mem_cgroup_prepare_migration() --- increase refcnt of page->page_cgroup mem_cgroup_end_migration() --- decrease refcnt of page->page_cgroup mem_cgroup_page_migration() --- copy page->page_cgroup from old page to new page. During migration - old page is under PG_locked. - new page is under PG_locked, too. - both old page and new page is not on LRU. These 3 facts guarantee that page_cgroup() migration has no race. Tested and worked well in x86_64/fake-NUMA box. Signed-off-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Pavel Emelianov Cc: Paul Menage Cc: Peter Zijlstra Cc: "Eric W. Biederman" Cc: Nick Piggin Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: David Rientjes Cc: Vaidyanathan Srinivasan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9175e0311ec9e6d1bf1f6dfecf9268baf08765e6 Author: KAMEZAWA Hiroyuki Date: Thu Feb 7 00:14:08 2008 -0800 bugfix for memory controller: add helper function for assigning cgroup to page This patch adds following functions. - clear_page_cgroup(page, pc) - page_cgroup_assign_new_page_group(page, pc) Mainly for cleanup. A manner "check page->cgroup again after lock_page_cgroup()" is implemented in straight way. A comment in mem_cgroup_uncharge() will be removed by force-empty patch Signed-off-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Pavel Emelianov Cc: Paul Menage Cc: Peter Zijlstra Cc: "Eric W. Biederman" Cc: Nick Piggin Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: David Rientjes Cc: Vaidyanathan Srinivasan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f1a9ee758de7de1e040de849fdef46e6802ea117 Author: Rik van Riel Date: Thu Feb 7 00:14:08 2008 -0800 kswapd should only wait on IO if there is IO The current kswapd (and try_to_free_pages) code has an oddity where the code will wait on IO, even if there is no IO in flight. This problem is notable especially when the system scans through many unfreeable pages, causing unnecessary stalls in the VM. Additionally, tasks without __GFP_FS or __GFP_IO in the direct reclaim path will sleep if a significant number of pages are encountered that should be written out. This gives kswapd a chance to write out those pages, while the direct reclaim task sleeps. Signed-off-by: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fef1bdd68c81b71882ccb6f47c70980a03182063 Author: David Rientjes Date: Thu Feb 7 00:14:07 2008 -0800 oom: add sysctl to enable task memory dump Adds a new sysctl, 'oom_dump_tasks', that enables the kernel to produce a dump of all system tasks (excluding kernel threads) when performing an OOM-killing. Information includes pid, uid, tgid, vm size, rss, cpu, oom_adj score, and name. This is helpful for determining why there was an OOM condition and which rogue task caused it. It is configurable so that large systems, such as those with several thousand tasks, do not incur a performance penalty associated with dumping data they may not desire. If an OOM was triggered as a result of a memory controller, the tasklist shall be filtered to exclude tasks that are not a member of the same cgroup. Cc: Andrea Arcangeli Cc: Christoph Lameter Cc: Balbir Singh Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c4a22148909e4c003562ea7ffe0a06e26919e3c Author: David Rientjes Date: Thu Feb 7 00:14:06 2008 -0800 memcontrol: move oom task exclusion to tasklist scan Creates a helper function to return non-zero if a task is a member of a memory controller: int task_in_mem_cgroup(const struct task_struct *task, const struct mem_cgroup *mem); When the OOM killer is constrained by the memory controller, the exclusion of tasks that are not a member of that controller was previously misplaced and appeared in the badness scoring function. It should be excluded during the tasklist scan in select_bad_process() instead. [akpm@linux-foundation.org: build fix] Cc: Christoph Lameter Cc: Balbir Singh Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c6bc8dd5a0932f2c0b30a5f0a124464b7f614d0 Author: Badari Pulavarty Date: Thu Feb 7 00:14:05 2008 -0800 mem-controller gfp-mask fix Need to strip __GFP_HIGHMEM flag while passing to mem_container_cache_charge(). Signed-off-by: Badari Pulavarty Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35c754d79f4da80d5e8972f6403dd26f7962fd88 Author: Balbir Singh Date: Thu Feb 7 00:14:05 2008 -0800 memory controller BUG_ON() Move mem_controller_cache_charge() above radix_tree_preload(). radix_tree_preload() disables preemption, even though the gfp_mask passed contains __GFP_WAIT, we cannot really do __GFP_WAIT allocations, thus we hit a BUG_ON() in kmem_cache_alloc(). This patch moves mem_controller_cache_charge() to above radix_tree_preload() for cache charging. Signed-off-by: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 044d66c1d2b1c5aa50b4d6d68c21c6c93dd678da Author: Hugh Dickins Date: Thu Feb 7 00:14:04 2008 -0800 memcgroup: reinstate swapoff mod This patch reinstates the "swapoff: scan ptes preemptibly" mod we started with: in due course it should be rendered down into the earlier patches, leaving us with a more straightforward mem_cgroup_charge mod to unuse_pte, allocating with GFP_KERNEL while holding no spinlock and no atomic kmap. Signed-off-by: Hugh Dickins Cc: Pavel Emelianov Acked-by: Balbir Singh Cc: Paul Menage Cc: Peter Zijlstra Cc: "Eric W. Biederman" Cc: Nick Piggin Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: David Rientjes Cc: Vaidyanathan Srinivasan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3062fc67dad01b1d2a15d58c709eff946389eca4 Author: David Rientjes Date: Thu Feb 7 00:14:03 2008 -0800 memcontrol: move mm_cgroup to header file Inline functions must preceed their use, so mm_cgroup() should be defined in linux/memcontrol.h. include/linux/memcontrol.h:48: warning: 'mm_cgroup' declared inline after being called include/linux/memcontrol.h:48: warning: previous declaration of 'mm_cgroup' was here [akpm@linux-foundation.org: build fix] [akpm@linux-foundation.org: nuther build fix] Cc: Balbir Singh Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e1a1cd590e3fcb0d2e230128daf2337ea55387dc Author: Balbir Singh Date: Thu Feb 7 00:14:02 2008 -0800 Memory controller: make charging gfp mask aware Nick Piggin pointed out that swap cache and page cache addition routines could be called from non GFP_KERNEL contexts. This patch makes the charging routine aware of the gfp context. Charging might fail if the cgroup is over it's limit, in which case a suitable error is returned. This patch was tested on a Powerpc box. I am still looking at being able to test the path, through which allocations happen in non GFP_KERNEL contexts. [kamezawa.hiroyu@jp.fujitsu.com: problem with ZONE_MOVABLE] Signed-off-by: Balbir Singh Cc: Pavel Emelianov Cc: Paul Menage Cc: Peter Zijlstra Cc: "Eric W. Biederman" Cc: Nick Piggin Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: David Rientjes Cc: Vaidyanathan Srinivasan Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bed7161a519a2faef53e1bce1b47595e297c1d14 Author: Balbir Singh Date: Thu Feb 7 00:14:01 2008 -0800 Memory controller: make page_referenced() cgroup aware Make page_referenced() cgroup aware. Without this patch, page_referenced() can cause a page to be skipped while reclaiming pages. This patch ensures that other cgroups do not hold pages in a particular cgroup hostage. It is required to ensure that shared pages are freed from a cgroup when they are not actively referenced from the cgroup that brought them in Signed-off-by: Balbir Singh Cc: Pavel Emelianov Cc: Paul Menage Cc: Peter Zijlstra Cc: "Eric W. Biederman" Cc: Nick Piggin Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: David Rientjes Cc: Vaidyanathan Srinivasan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8697d33194faae6fdd6b2e799f6308aa00cfdf67 Author: Balbir Singh Date: Thu Feb 7 00:13:59 2008 -0800 Memory controller: add switch to control what type of pages to limit Choose if we want cached pages to be accounted or not. By default both are accounted for. A new set of tunables are added. echo -n 1 > mem_control_type switches the accounting to account for only mapped pages echo -n 3 > mem_control_type switches the behaviour back [bunk@kernel.org: mm/memcontrol.c: clenups] [akpm@linux-foundation.org: fix sparc32 build] Signed-off-by: Balbir Singh Cc: Pavel Emelianov Cc: Paul Menage Cc: Peter Zijlstra Cc: "Eric W. Biederman" Cc: Nick Piggin Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: David Rientjes Cc: Vaidyanathan Srinivasan Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c7ba5c9e8176704bfac0729875fa62798037584d Author: Pavel Emelianov Date: Thu Feb 7 00:13:58 2008 -0800 Memory controller: OOM handling Out of memory handling for cgroups over their limit. A task from the cgroup over limit is chosen using the existing OOM logic and killed. TODO: 1. As discussed in the OLS BOF session, consider implementing a user space policy for OOM handling. [akpm@linux-foundation.org: fix build due to oom-killer changes] Signed-off-by: Pavel Emelianov Signed-off-by: Balbir Singh Cc: Paul Menage Cc: Peter Zijlstra Cc: "Eric W. Biederman" Cc: Nick Piggin Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: David Rientjes Cc: Vaidyanathan Srinivasan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0eea10301708c64a6b793894c156e21ddd15eb64 Author: Balbir Singh Date: Thu Feb 7 00:13:57 2008 -0800 Memory controller improve user interface Change the interface to use bytes instead of pages. Page sizes can vary across platforms and configurations. A new strategy routine has been added to the resource counters infrastructure to format the data as desired. Suggested by David Rientjes, Andrew Morton and Herbert Poetzl Tested on a UML setup with the config for memory control enabled. [kamezawa.hiroyu@jp.fujitsu.com: possible race fix in res_counter] Signed-off-by: Balbir Singh Signed-off-by: Pavel Emelianov Cc: Paul Menage Cc: Peter Zijlstra Cc: "Eric W. Biederman" Cc: Nick Piggin Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: David Rientjes Cc: Vaidyanathan Srinivasan Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66e1707bc34609f626e2e7b4fe7e454c9748bad5 Author: Balbir Singh Date: Thu Feb 7 00:13:56 2008 -0800 Memory controller: add per cgroup LRU and reclaim Add the page_cgroup to the per cgroup LRU. The reclaim algorithm has been modified to make the isolate_lru_pages() as a pluggable component. The scan_control data structure now accepts the cgroup on behalf of which reclaims are carried out. try_to_free_pages() has been extended to become cgroup aware. [akpm@linux-foundation.org: fix warning] [Lee.Schermerhorn@hp.com: initialize all scan_control's isolate_pages member] [bunk@kernel.org: make do_try_to_free_pages() static] [hugh@veritas.com: memcgroup: fix try_to_free order] [kamezawa.hiroyu@jp.fujitsu.com: this unlock_page_cgroup() is unnecessary] Signed-off-by: Pavel Emelianov Signed-off-by: Balbir Singh Cc: Paul Menage Cc: Peter Zijlstra Cc: "Eric W. Biederman" Cc: Nick Piggin Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: David Rientjes Cc: Vaidyanathan Srinivasan Signed-off-by: Lee Schermerhorn Signed-off-by: Hugh Dickins Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 67e465a77ba658635309ee00b367bec6555ea544 Author: Balbir Singh Date: Thu Feb 7 00:13:54 2008 -0800 Memory controller: task migration Allow tasks to migrate from one cgroup to the other. We migrate mm_struct's mem_cgroup only when the thread group id migrates. Signed-off-by: Balbir Singh Cc: Pavel Emelianov Cc: Paul Menage Cc: Peter Zijlstra Cc: "Eric W. Biederman" Cc: Nick Piggin Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: David Rientjes Cc: Vaidyanathan Srinivasan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a9f3ccd24741b50200c3f33d62534c7271f3dfc Author: Balbir Singh Date: Thu Feb 7 00:13:53 2008 -0800 Memory controller: memory accounting Add the accounting hooks. The accounting is carried out for RSS and Page Cache (unmapped) pages. There is now a common limit and accounting for both. The RSS accounting is accounted at page_add_*_rmap() and page_remove_rmap() time. Page cache is accounted at add_to_page_cache(), __delete_from_page_cache(). Swap cache is also accounted for. Each page's page_cgroup is protected with the last bit of the page_cgroup pointer, this makes handling of race conditions involving simultaneous mappings of a page easier. A reference count is kept in the page_cgroup to deal with cases where a page might be unmapped from the RSS of all tasks, but still lives in the page cache. Credits go to Vaidyanathan Srinivasan for helping with reference counting work of the page cgroup. Almost all of the page cache accounting code has help from Vaidyanathan Srinivasan. [hugh@veritas.com: fix swapoff breakage] [akpm@linux-foundation.org: fix locking] Signed-off-by: Vaidyanathan Srinivasan Signed-off-by: Balbir Singh Cc: Pavel Emelianov Cc: Paul Menage Cc: Peter Zijlstra Cc: "Eric W. Biederman" Cc: Nick Piggin Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: David Rientjes Cc: Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 78fb74669e80883323391090e4d26d17fe29488f Author: Pavel Emelianov Date: Thu Feb 7 00:13:51 2008 -0800 Memory controller: accounting setup Basic setup routines, the mm_struct has a pointer to the cgroup that it belongs to and the the page has a page_cgroup associated with it. Signed-off-by: Pavel Emelianov Signed-off-by: Balbir Singh Cc: Paul Menage Cc: Peter Zijlstra Cc: "Eric W. Biederman" Cc: Nick Piggin Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8cdea7c05454260c0d4d83503949c358eb131d17 Author: Balbir Singh Date: Thu Feb 7 00:13:50 2008 -0800 Memory controller: cgroups setup Setup the memory cgroup and add basic hooks and controls to integrate and work with the cgroup. Signed-off-by: Balbir Singh Cc: Pavel Emelianov Cc: Paul Menage Cc: Peter Zijlstra Cc: "Eric W. Biederman" Cc: Nick Piggin Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: David Rientjes Cc: Vaidyanathan Srinivasan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e552b6617067ab785256dcec5ca29eeea981aacb Author: Pavel Emelianov Date: Thu Feb 7 00:13:49 2008 -0800 Memory controller: resource counters With fixes from David Rientjes Introduce generic structures and routines for resource accounting. Each resource accounting cgroup is supposed to aggregate it, cgroup_subsystem_state and its resource-specific members within. Signed-off-by: Pavel Emelianov Signed-off-by: Balbir Singh Cc: Paul Menage Cc: Peter Zijlstra Cc: "Eric W. Biederman" Cc: Nick Piggin Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: Vaidyanathan Srinivasan Signed-off-by: David Rientjes Cc: Pavel Emelianov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 59bd26582de660d4c9c26125747f1b4a5eb40d1e Author: Hugh Dickins Date: Thu Feb 7 00:13:48 2008 -0800 memcgroup: temporarily revert swapoff mod This patch precisely reverts the "swapoff: scan ptes preemptibly" patch just presented. It's a temporary measure to allow existing memory controller patches to apply without rejects: in due course they should be rendered down into one sensible patch, and this reversion disappear. Signed-off-by: Hugh Dickins Cc: Balbir Singh Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b6df3aa457690100f9827548943101447766572 Author: Balbir Singh Date: Thu Feb 7 00:13:46 2008 -0800 Memory controller: add document Signed-off-by: Balbir Singh Cc: Pavel Emelianov Cc: Paul Menage Cc: Peter Zijlstra Cc: "Eric W. Biederman" Cc: Nick Piggin Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: David Rientjes Cc: Vaidyanathan Srinivasan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e9685a03c8c3162cfa9ff02d254ea5c848f9facb Author: Adrian Bunk Date: Thu Feb 7 00:13:46 2008 -0800 kernel/cgroup.c: make 2 functions static cgroup_is_releasable() and notify_on_release() should be static, not global inline. Signed-off-by: Adrian Bunk Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8dc4f3e17dd5f7e59ce568155ccd8974af879315 Author: Paul Menage Date: Thu Feb 7 00:13:45 2008 -0800 cgroups: move cgroups destroy() callbacks to cgroup_diput() Move the calls to the cgroup subsystem destroy() methods from cgroup_rmdir() to cgroup_diput(). This allows control file reads and writes to access their subsystem state without having to be concerned with locking against cgroup destruction - the control file dentry will keep the cgroup and its subsystem state objects alive until the file is closed. The documentation is updated to reflect the changed semantics of destroy(); additionally the locking comments for destroy() and some other methods were clarified and decrustified. Signed-off-by: Paul Menage Cc: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 622d42cac9ed42098aa50c53994f625abfa3d473 Author: Paul Jackson Date: Thu Feb 7 00:13:44 2008 -0800 cgroup simplify space stripping Simplify the space stripping code in cgroup file write. [akpm@linux-foundation.org: s/BUG_ON/BUILD_BUG_ON/] Signed-off-by: Paul Jackson Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e18f6318e5dab189efd4cb0bbfcbd923cc373e3c Author: Paul Jackson Date: Thu Feb 7 00:13:44 2008 -0800 cgroup brace coding style fix Coding style fix - one line conditionals don't get braces. Signed-off-by: Paul Jackson Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3cdeed2986b09fcc77b4812ca10dbc057e4e5f8c Author: Adrian Bunk Date: Thu Feb 7 00:13:43 2008 -0800 kernel/cgroup.c: remove dead code This patch removes dead code spotted by the Coverity checker (look at the "(nbytes >= PATH_MAX)" check). Signed-off-by: Adrian Bunk Cc: Paul Jackson Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f1466ff0a6e81653e9bb0d9247495bf4e9db7e2 Author: Randy Dunlap Date: Thu Feb 7 00:13:42 2008 -0800 email-clients.txt: sylpheed is OK at IMAP This comment is not helpful (no reason given) and is incorrect. Just stick to facts that are useful regarding working on Linux. (akpm: I've used sylpheed+imap for years) Signed-off-by: Randy Dunlap Acked-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77cc23b8c7f2f5ea0270bf4be31438aa38316e16 Author: Randy Dunlap Date: Thu Feb 7 00:13:42 2008 -0800 kernel-doc: warn on badly formatted short description Make kernel-doc warn when a function/struct/union/typedef does not contain a properly formatted short description, such as: * scsi_devinfo: set up the dynamic device list or * scsi_devinfo - This warning is only generated when verbose (-v) mode is used. Also explain the -v command line option in the -h output. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 792aa2f2cc4924024e28c9ddf1456434992f9c41 Author: Randy Dunlap Date: Thu Feb 7 00:13:41 2008 -0800 kernel-doc: prevent duplicate description: output Prevent duplicate output of a Description: section when there is a "blank" ("*") line between the initial function name/description line and the "Description:" header. Test case: drivers/scsi/scsi_devinfo.c::scsi_init_devinfo(). Rob Landley hit this while he was producing SCSI kernel-doc. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ab32df72bfa7bee9126cc5b1abc037aef124f15 Author: J. Bruce Fields Date: Thu Feb 7 00:13:40 2008 -0800 REPORTING-BUGS: cc the mailing list too People should also cc relevant mailing lists when reporting bugs. Signed-off-by: J. Bruce Fields Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b8eae7248dad42091204f83ed3448e661456af1 Author: J. Bruce Fields Date: Thu Feb 7 00:13:37 2008 -0800 Documentation: create new scheduler/ subdirectory The top-level Documentation/ directory is unmanageably large, so we should take any obvious opportunities to move stuff into subdirectories. These sched-*.txt files seem an obvious easy case. Signed-off-by: J. Bruce Fields Cc: Ingo Molnar Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d3cf91d0e201962a6367191e5926f5b0920b0339 Author: J. Bruce Fields Date: Thu Feb 7 00:13:35 2008 -0800 Documentation: move sharedsubtrees.txt to filesystems/ This documentation is also vfs-related. Signed-off-by: J. Bruce Fields Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e9b1a4d160f68397d29183ce76af1cc774508aba Author: J. Bruce Fields Date: Thu Feb 7 00:13:35 2008 -0800 Documentation: move dnotify.txt to filesystems/ I'm inclined to think dnotify belongs in filesystems/. Signed-off-by: J. Bruce Fields Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a6b88ca3d9a301b496d6bfc18bc40c78fbb3669 Author: Adrian Bunk Date: Thu Feb 7 00:13:33 2008 -0800 move edac.txt two levels up There's no reason for edac.txt for being at this unusual place. Signed-off-by: Adrian Bunk Acked-by: Alan Cox Cc: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 41eaa2dcb98977b3824b8a4c12b5030af7bb0b29 Author: Rob Landley Date: Thu Feb 7 00:13:32 2008 -0800 Add chapter IDs to z8530book.tmpl Add chapter IDs to z8530book.tmpl Signed-off-by: Rob Landley Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dde4feb978ac896b21833e5e2c797d02316a2529 Author: Rob Landley Date: Thu Feb 7 00:13:32 2008 -0800 Add table IDs to videobook.tmpl Add table IDs to videobook.tmpl Signed-off-by: Rob Landley Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3018d151b691ab03d5117f89bc1a918c799dedf8 Author: Rob Landley Date: Thu Feb 7 00:13:31 2008 -0800 Add section IDs to rapidio.tmpl Add section IDs to rapidio.tmpl Signed-off-by: Rob Landley Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9de476bfd55cde0249c0157b93cd7181a63174e1 Author: Rob Landley Date: Thu Feb 7 00:13:31 2008 -0800 Add missing IDs to procfs-guide.tmpl Add missing IDs to procfs-guide.tmpl Signed-off-by: Rob Landley Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 70d6d9db78c6c8078526298cdf13e6851696b790 Author: Rob Landley Date: Thu Feb 7 00:13:30 2008 -0800 Add section IDs to mtdnand.tmpl Add section IDs to mtdnand.tmpl Signed-off-by: Rob Landley Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90ad38b7570fdbf209b8d0422eeac076838b94dc Author: Rob Landley Date: Thu Feb 7 00:13:29 2008 -0800 Add missing section ID to lsm.tmpl Add missing section ID to lsm.tmpl Signed-off-by: Rob Landley Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa9128f303ddf4fddbeec199163825b67135edf6 Author: Rob Landley Date: Thu Feb 7 00:13:28 2008 -0800 Add missing section IDs to genericirq.tmpl Add missing section IDs to genericirq.tmpl Signed-off-by: Rob Landley Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3dddbfc30106280d98a5752b6c622f65e5eb3663 Author: Alan Cox Date: Thu Feb 7 00:13:28 2008 -0800 tty: Kill TTY_FLIPBUF_SIZE This legacy define from the old buffer code is now only used in a single power pc driver than doesn't compile anyway. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f8a4c3b5250496f072d9098a641fd5642146d999 Author: Dave Miller Date: Thu Feb 7 00:13:27 2008 -0800 tty: fix tty network driver interactions with TCGET/TCSET calls (x86 fix) And to go with it Dave's type checking x86 termios headers. I've updated these as the original sent by Dave had some wrong types in it. Signed-off-by: Alan Cox Cc: "David S. Miller" Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 94b3e03c875f25c19ede9600c66d74a30b81957d Author: Randy Dunlap Date: Thu Feb 7 00:13:26 2008 -0800 kernel-doc: fix for vunmap function prototype Fix kernel-doc function prototype parsing which was exposed by vunmap() by allowing more than one '*' before the function name. Error(linux-2.6.24-mm1//mm/vmalloc.c:438): cannot understand prototype: 'struct page **vunmap(const void *addr) ' Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa81a7c7120ad9a4f8b677b7c204bb12b2b0e145 Author: Erez Zadok Date: Thu Feb 7 00:13:25 2008 -0800 VFS: factor out three helpers for FIBMAP/FIONBIO/FIOASYNC file ioctls Factor out file-specific ioctl code into smaller helper functions, away from file_ioctl(). This helps code readability and also reduces indentation inside case statements. Signed-off-by: Erez Zadok Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit deb21db7788b97a2bccdefe605433ef97f482689 Author: Erez Zadok Date: Thu Feb 7 00:13:25 2008 -0800 VFS: swap do_ioctl and vfs_ioctl names Rename old vfs_ioctl to do_ioctl, because the comment above it clearly indicates that it is an internal function not to be exported to modules; therefore it should have a more traditional do_XXX name. The new do_ioctl is exported in fs.h but not to modules. Rename the old do_ioctl to vfs_ioctl because the names vfs_XXX should preferably be reserved to callable VFS functions which modules may call, as many other vfs_XXX functions already do. Export the new vfs_ioctl to GPL modules so others can use it (including Unionfs and eCryptfs). Add DocBook for new vfs_ioctl. [akpm@linux-foundation.org: fix build] Signed-off-by: Erez Zadok Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9845ff1df5ba007b576c26c4f1e7ca43b7c7e87 Author: Erez Zadok Date: Thu Feb 7 00:13:23 2008 -0800 VFS: apply coding standards to fs/ioctl.c Signed-off-by: Erez Zadok Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4aa323bd839604dd83aec56ed3a88df352c3339d Author: Philipp Zabel Date: Thu Feb 7 00:13:22 2008 -0800 DS1WM: decouple host IRQ and INTR active state settings The DS1WM driver incorrectly infers the IAS bit (1-wire interrupt active high) from IRQ settings. There are devices that have IAS=0 but still need the IRQ to trigger on a rising edge. With this patch, machines with DS1WM that need IAS=1 have to set .active_high=1 in the ds1wm_platform_data. Signed-off-by: Philipp Zabel Acked-by: Evgeniy Polyakov Acked-by: Matt Reimer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eccba068915feece2868c502787037e244db3376 Author: Pavel Emelyanov Date: Thu Feb 7 00:13:21 2008 -0800 gfs2: make gfs2_glock.gl_owner_pid be a struct pid * The gl_owner_pid field is used to get the lock owning task by its pid, so make it in a proper manner, i.e. by using the struct pid pointer and pid_task() function. The pid_task() becomes exported for the gfs2 module. Signed-off-by: Pavel Emelyanov Cc: "Eric W. Biederman" Acked-by: Steven Whitehouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4cbc76eadf56399cd11fb736b33c53aec9caab8c Author: Thadeu Lima de Souza Cascardo Date: Thu Feb 7 00:13:20 2008 -0800 power_supply: remove capacity_level from list of sysfs attributes This commit: commit 8efe444038a205e79b38b7ad03878824901849a8 Author: Andres Salomon Date: Wed Dec 12 14:12:56 2007 -0500 power: remove POWER_SUPPLY_PROP_CAPACITY_LEVEL Removed CAPACITY_LEVEL from every other code, leaving the array with sysfs attributes with one more entry than the number of enums in power_supply.h. This leads to some attributes containing the value of the attribute right after it. For example, temp_ambient would have the value of time_to_empty_now. In my case, I had time_to_full_avg have the value which should be in model_name, when the former was usually empty. Cc: Andres Salomon Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1e058da50f7938e9c9e963e978b0730bba4ad32 Author: Pavel Emelyanov Date: Thu Feb 7 00:13:19 2008 -0800 gfs2: make gfs2_holder.gh_owner_pid be a struct pid * The gl_owner_pid field is used to get the holder task by its pid and check whether the current is a holder, so make it in a proper manner, i.e. via the struct pid * manipulations. Signed-off-by: Pavel Emelyanov Cc: "Eric W. Biederman" Acked-by: Steven Whitehouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d256eb8db60e36fc5dd0a27ce8a64f65df31f7b5 Author: David S. Miller Date: Thu Feb 7 05:06:51 2008 -0800 [SPARC32]: Use regsets in arch_ptrace(). Signed-off-by: David S. Miller commit 9473272af395e1f76cf917ddd20abd2326fc58f1 Author: David S. Miller Date: Thu Feb 7 05:06:12 2008 -0800 [SPARC64]: Use regsets in arch_ptrace(). Signed-off-by: David S. Miller commit 5a4924d7be5df430132e109d3d2f26be610b4707 Author: David S. Miller Date: Thu Feb 7 04:36:02 2008 -0800 [SPARC32]: Use regsets for ELF core dumping. Signed-off-by: David S. Miller commit 3389742f3c346d9ef5fb46e7baa04972bdd6d151 Author: David S. Miller Date: Thu Feb 7 04:19:34 2008 -0800 [SPARC64]: Use regsets for ELF core dumping. Signed-off-by: David S. Miller commit e72d71c405ef581595ec64091be9f2fda0a726a9 Author: David S. Miller Date: Thu Feb 7 03:30:21 2008 -0800 [SPARC64]: Remove unintentional ptrace debugging messages. Signed-off-by: David S. Miller commit 9775369ec06bad8edb2fbd8c77316f49b439c225 Author: David S. Miller Date: Thu Feb 7 03:00:17 2008 -0800 [SPARC]: Move over to arch_ptrace(). Signed-off-by: David S. Miller commit 190aa9f60f9575d1b7382cd1ee33e2589208c514 Author: David S. Miller Date: Wed Feb 6 22:08:18 2008 -0800 [SPARC]: Remove PTRACE_SUN* handling. Supporting SunOS ptrace() is pretty pointless and these kinds of quirks keep us from being able to share more code with other platforms. Signed-off-by: David S. Miller commit 38282764e3e76aa02c071af4673e6b6320e426ad Author: David S. Miller Date: Wed Feb 6 22:01:01 2008 -0800 [SPARC]: Kill DEBUG_PTRACE code. It has long exceeded it's usefulness. Signed-off-by: David S. Miller commit 8e3fe806e50d48d875bb56793ca3f984cba6c0db Author: David S. Miller Date: Wed Feb 6 21:00:44 2008 -0800 [SPARC32]: Add user regset support. It is missing lazy FPU handling for the current task, but that can be added later. Signed-off-by: David S. Miller commit d09c2a23ee4220a6341166a7dab5601258fef91f Author: David S. Miller Date: Wed Feb 6 23:02:08 2008 -0800 [SPARC64]: Add user regsets. Signed-off-by: David S. Miller commit ce22e1d39429c7de9f054ce8d03278dd2010b642 Author: David S. Miller Date: Thu Feb 7 02:14:48 2008 -0800 [SPARC64]: Fix booting on non-zero cpu. The early per-cpu handling needs a slight tweak to work when booting on a non-zero cpu. We got away with this for a long time, but can't any longer as now even printk() calls functions (cpu_clock() for example) that thus make early references to per-cpu variables. Signed-off-by: David S. Miller commit f9f7dd222364a6428d2ad99a515935dd1dd89d18 Author: David Woodhouse Date: Thu Feb 7 10:50:57 2008 +0000 [MTD] Fix mtdoops.c compilation drivers/mtd/mtdoops.c: In function ‘mtdoops_console_sync’: drivers/mtd/mtdoops.c:329: error: implicit declaration of function ‘in_interrupt’ Signed-off-by: David Woodhouse commit 484b8e64c848185af0d3671fafba4dd66ca412d2 Author: Rizzo Davide Date: Mon Feb 4 23:44:48 2008 -0800 [MTD] [NOR] fix startup lock when using multiple nor flash chips Taken from http://bugzilla.kernel.org/show_bug.cgi?id=9829 I found and solved the problem, at line 115 of drivers/mtd/chips/gen_probe.c (kernel 2.6.24): mapsize value must be calculated in bytes, not in long. Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 53fb84a0695ffeeeadf8ae92db28cbccf5325531 Author: Samuel Tardieu Date: Mon Feb 4 23:44:47 2008 -0800 [MTD] [DOC200x] eccbuf is statically defined and always evaluate to true Signed-off-by: Samuel Tardieu Acked-by: Joern Engel Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit d5476689afd48e71395602698409e9f48cbba413 Author: akpm@linux-foundation.org Date: Sun Feb 3 12:56:03 2008 -0800 [MTD] Fix maps/physmap.c compilation with CONFIG_PM Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 6c77fd649fab4bea1b44cb534381a22e37650bc3 Author: Richard Purdie Date: Wed Feb 6 10:18:22 2008 +0000 [MTD] onenand: Add panic_write function to the onenand driver Implement the panic_write function for the onenand driver. This waits for any active command to complete/timeout, performs the write, waits for it to complete and then returns. Signed-off-by: Richard Purdie Signed-off-by: David Woodhouse commit 621e4f8e9b208245d1f64eac7e6782b7aa506c21 Author: Richard Purdie Date: Wed Feb 6 10:17:50 2008 +0000 [MTD] mtdoops: Use the panic_write function when present When the MTD provides a panic_write function, use it. Signed-off-by: Richard Purdie Signed-off-by: David Woodhouse commit 388bbb09b991c792310af2f6b49f6c55edb3dff0 Author: Richard Purdie Date: Wed Feb 6 10:17:15 2008 +0000 [MTD] Add mtd panic_write function pointer MTDs are well suited for logging critical data and the mtdoops driver allows kernel panics/oops to be written to flash in a blackbox flight recorder fashion allowing better debugging and analysis of crashes. Any kernel oops in user context can be easily handled since the kernel continues as normal and any queued mtd writes are scheduled. Any kernel oops in interrupt context results in a panic and the delayed writes will not be scheduled however. The existing mtd->write function cannot be called in interrupt context so these messages can never be written to flash. This patch adds a panic_write function pointer that drivers can optionally implement which can be called in interrupt context. It is only intended to be called when its known the kernel is about to panic and we need to write to succeed. Since the kernel is not going to be running for much longer, this function can break locks and delay to ensure the write succeeds (but not sleep). Signed-off-by: Richard Purdie Signed-off-by: David Woodhouse commit 76b104671632c225ad594a50f9e26ada67bc0a74 Author: Scott Wood Date: Wed Feb 6 15:36:21 2008 -0600 [MTD] [NAND] Freescale enhanced Local Bus Controller FCM NAND support. Signed-off-by: Nick Spence Signed-off-by: Scott Wood Signed-off-by: David Woodhouse commit d39a7a63eb3971b1b3cc5c181ed526bf437b1c72 Author: Kristoffer Ericson Date: Thu Feb 7 10:10:28 2008 +0000 leds: Add HP Jornada 6xx driver Add support for the LEDs on the HP Jornada 620/660/680/690 devices. Signed-off-by: Kristoffer Ericson Signed-off-by: Richard Purdie commit 8fe217e7b6d4f186e269fda8aba73a213fad0fa0 Author: Rod Whitby Date: Thu Feb 7 10:02:39 2008 +0000 leds: Remove the now uneeded ixp4xx driver All boards using the IXP4XX-GPIO-LED driver have been updated to use the generic leds-gpio driver instead. Signed-off-by: Rod Whitby Signed-off-by: Richard Purdie commit f5506a2f71ad75d680c81090117ff2f89602f9b9 Author: Michael Loeffler Date: Sun Jan 13 23:20:52 2008 +0000 leds: Add power LED to the wrap driver The 3rd LED on this board is something like a power-led, it is on all the time. With this change to the leds-wrap driver it is possible to use this LED too. Signed-off-by: Michael Loeffler Signed-off-by: Richard Purdie commit 2b7f1b8c8f4a8991dfeefc31844e15c642b6de2a Author: Raphael Assenat Date: Sun Jan 13 22:55:18 2008 +0000 leds: Fix led-gpio active_low default brightness When gpio_direction_output() is called, led_dat->active_low is used as default value. This means that the led will always be off by default. cdev.brightness should really have been set to LED_OFF unconditionally to reflect this behavior. Signed-off-by: Raphael Assenat Signed-off-by: Richard Purdie commit 92e015cb31c0a312bf2e0e5b96aef76a8c57e645 Author: Márton Németh Date: Wed Oct 31 15:09:05 2007 +0100 leds: hw acceleration for Clevo mail LED driver Add support for hardware accelerated LED blinking for the mail LED commonly found on Clevo notebooks. Signed-off-by: Márton Németh Signed-off-by: Richard Purdie commit 4c79141d28bc290ae307e3f81f5bc909c26faf6e Author: Márton Németh Date: Wed Oct 31 15:07:12 2007 +0100 leds: Add support for hardware accelerated LED flashing Extends the leds subsystem with a blink_set() callback function which can be optionally implemented by a LED driver. If implemented, the driver can use the hardware acceleration for blinking a LED. Signed-off-by: Márton Németh Signed-off-by: Richard Purdie commit 6c152beefbf90579d21afc4f7e075b1f801f9a75 Author: Richard Purdie Date: Wed Oct 31 15:00:07 2007 +0100 leds: Standardise LED naming scheme As discussed on LKML some notion of 'function' is needed in LED naming. This patch adds this to the documentation and standardises existing LED drivers. Signed-off-by: Richard Purdie commit 24f1a849614ba1805e26a05da7cc8c6bd67490ea Author: Roland McGrath Date: Wed Jan 2 17:05:48 2008 -0800 [POWERPC] Add SPE registers to core dumps This makes the SPE register data appear in ELF core dumps, using the new n_type value NT_PPC_SPE (0x101). This new note type is not used by any consumers of core files yet, but support can be added. I don't even have any hardware with SPE capabilities, so I've never seen such a note. But this demonstrates how simple it is to export register information in core dumps when the user_regset style is used for the low-level code. Signed-off-by: Roland McGrath Signed-off-by: Paul Mackerras commit 0deef2c7ab9dcf82f6ad26fc2fca358cd56c9cb9 Author: Roland McGrath Date: Thu Dec 20 03:59:04 2007 -0800 [POWERPC] Use regset code for compat PTRACE_*REGS* calls This cleans up the 32-bit ptrace syscall support to use user_regset calls to get at the register data for PTRACE_*REGS* calls. Signed-off-by: Roland McGrath Signed-off-by: Paul Mackerras commit 81e695c026eeda9a97e412fa4f458e5cab2f6c85 Author: Roland McGrath Date: Thu Dec 20 03:58:55 2007 -0800 [POWERPC] Use generic compat_sys_ptrace This replaces powerpc's compat_sys_ptrace with a compat_arch_ptrace and enables the new generic definition of compat_sys_ptrace instead. Signed-off-by: Roland McGrath Signed-off-by: Paul Mackerras commit 1d48d71c06172c0853e04c334456e64cc006e208 Author: Roland McGrath Date: Thu Dec 20 03:58:49 2007 -0800 [POWERPC] Use generic compat_ptrace_request This removes some duplicated code by calling the new generic compat_ptrace_request from powerpc's compat_sys_ptrace. Signed-off-by: Roland McGrath Signed-off-by: Paul Mackerras commit c034243504b8396c4293abdc63aa3fc336a7d870 Author: Roland McGrath Date: Thu Dec 20 03:58:40 2007 -0800 [POWERPC] Use generic ptrace peekdata/pokedata Now that ptrace_request handles these, we can drop some more boilerplate. Signed-off-by: Roland McGrath Signed-off-by: Paul Mackerras commit c391cd0093a2c86a6d1bc256198caad29fff0f60 Author: Roland McGrath Date: Thu Dec 20 03:58:36 2007 -0800 [POWERPC] Use regset code for PTRACE_*REGS* requests This replaces all the code for powerpc PTRACE_*REGS* requests with simple calls to copy_regset_from_user and copy_regset_to_user. All the ptrace formats are either the whole corresponding user_regset format (core dump format) or a leading subset of it, so we can get rid of all the remaining embedded knowledge of both those layouts and of the internal data structures they correspond to. Only the user_regset accessors need to implement that. Signed-off-by: Roland McGrath Signed-off-by: Paul Mackerras commit 01e31dbabc020bf82e7e5359c031a550daafb8ff Author: Roland McGrath Date: Wed Jan 2 17:03:11 2008 -0800 [POWERPC] Switch to generic compat_binfmt_elf code This switches the CONFIG_PPC64 support for 32-bit ELF to use the generic fs/compat_binfmt_elf.c implementation instead of our own binfmt_elf32.c. Since so much is the same between 32/64, there is only one macro we have to define to make the generic support work out of the box. Signed-off-by: Roland McGrath Signed-off-by: Paul Mackerras commit 819703872d5955b2e764c3fd9243ba9fa1a6875a Author: Roland McGrath Date: Thu Dec 20 03:58:12 2007 -0800 [POWERPC] Switch to using user_regset-based core dumps This switches powerpc to using the user_regset-based code for ELF core dumps. The core dumps come out exactly the same either way, except that the NT_PPC_VMX note is now omitted for any thread that never touched its Altivec registers (thread_struct.vr_used). Signed-off-by: Roland McGrath Signed-off-by: Paul Mackerras commit fa8f5cb0c980e9fe3e04bc937fbd13417b52c046 Author: Roland McGrath Date: Thu Dec 20 03:58:08 2007 -0800 [POWERPC] Add user_regset compat support This extends task_user_regset_view CONFIG_PPC64 with support for the 32-bit view of register state, compatible with what a CONFIG_PPC32 kernel provides. This will enable generic machine-independent code to access user-mode threads' registers for debugging and dumping. Signed-off-by: Roland McGrath Signed-off-by: Paul Mackerras commit 80fdf4709497a276a826c9d8426ef1effc8f8e33 Author: Roland McGrath Date: Thu Dec 20 03:58:00 2007 -0800 [POWERPC] Add user_regset_view definitions This provides the task_user_regset_view entry point and support for all the native-mode (64 on CONFIG_PPC64, 32 on CONFIG_PPC32) thread register state. This will enable generic machine-independent code to access user-mode threads' registers for debugging and dumping. Signed-off-by: Roland McGrath Signed-off-by: Paul Mackerras commit 44dd3f50d3848e332b49e83a142b39b960ec962e Author: Roland McGrath Date: Thu Dec 20 03:57:55 2007 -0800 [POWERPC] Use user_regset accessors for GPRs This implements user_regset-style accessors for the powerpc general registers. In the future these functions will be the only place that needs to understand the user_regset layout (core dump format) and how it maps to the internal representation of user thread state. Signed-off-by: Roland McGrath Signed-off-by: Paul Mackerras commit 26f7713020129e556e494fd36b2db1e651e33ba3 Author: Roland McGrath Date: Thu Dec 20 03:57:51 2007 -0800 [POWERPC] ptrace accessors for special regs MSR and TRAP This isolates the ptrace code for the special-case registers msr and trap from the ptrace-layout dispatch code. This should inline away completely. It cleanly separates the low-level machine magic that has to be done for deep reasons, from the superficial details of the ptrace interface. Signed-off-by: Roland McGrath Signed-off-by: Paul Mackerras commit a4e4b175b6028ebfb2217e0ca1fa0487dc73ccc4 Author: Roland McGrath Date: Thu Dec 20 03:57:48 2007 -0800 [POWERPC] Use user_regset accessors for SPE regs This implements user_regset-style accessors for the powerpc SPE data, and rewrites the existing ptrace code in terms of those calls. Signed-off-by: Roland McGrath Signed-off-by: Paul Mackerras commit 3caf06c6e0656b25f694e3d414191cedcecf76ce Author: Roland McGrath Date: Thu Dec 20 03:57:39 2007 -0800 [POWERPC] Use user_regset accessors for altivec regs This implements user_regset-style accessors for the powerpc Altivec data, and rewrites the existing ptrace code in terms of those calls. Signed-off-by: Roland McGrath Signed-off-by: Paul Mackerras commit f65255e8d51ecbc6c9eef20d39e0377d19b658ca Author: Roland McGrath Date: Thu Dec 20 03:57:34 2007 -0800 [POWERPC] Use user_regset accessors for FP regs This implements user_regset-style accessors for the powerpc FPU data, and rewrites the existing ptrace code in terms of those calls. Signed-off-by: Roland McGrath Signed-off-by: Paul Mackerras commit ec072b0f8bc8e885a8572418ad4b6802c027ca01 Author: Andrzej Zaborowski Date: Sun Jan 13 23:15:43 2008 +0000 backlight: Add OMAP1 PWL backlight driver This adds the OMAP1 PWL-based LCD backlight driver. It's been in the OMAP tree for some time. Note that OMAP2 can do similar things with the generic timers which have PWM outputs. Such timers are more generic than the PWL found on OMAP1 chips, but have a different EMI profile because they aren't driven by a pseudorandom number generator. [akpm@linux-foundation.org: cleanups] Signed-off-by: David Brownell Signed-off-by: Andrzej Zaborowski Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit 515524537999c1f107a0a7c7f74c034979c2c86d Author: Helge Deller Date: Sun Jan 13 23:01:13 2008 +0000 backlight: Avoid unecessary driver callbacks Avoid driver callbacks when the brightness hasn't changed since they're not necessary. Signed-off-by: Helge Deller Signed-off-by: Richard Purdie commit 5ab3e84f66321579ca36b63a13bf78decba65121 Merge: 52b8048... 256ae6a... Author: Paul Mackerras Date: Thu Feb 7 20:27:36 2008 +1100 Merge branch 'for-2.6.25' of master.kernel.org:/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx commit b7143156c9ceee1a072c57aac8729d2dec5b3bf1 Author: Len Brown Date: Thu Feb 7 04:24:01 2008 -0500 ACPI: fix build warning drivers/acpi/system.c:360: warning: ignoring return value of ‘sysfs_create_group’, declared with attribute warn_unused_result Signed-off-by: Len Brown commit cec035de8265b18252742ef359b12e9694641112 Author: Márton Németh Date: Wed Oct 31 11:46:41 2007 +0100 leds: Add clevo notebook LED driver The driver supports the mail LED commonly found on different Clevo notebooks. The driver access the LED through the i8042 hardware which is handled by the input subsystem. Signed-off-by: Márton Németh Signed-off-by: Richard Purdie commit 9b7131542178f5f948e4bb6bea6e1c545e697b06 Author: Len Brown Date: Thu Feb 7 04:16:34 2008 -0500 Revert "cpuidle: build fix for non-x86" This reverts commit f757397097d0713c949af76dccabb65a2785782e. which ironically broke the ia64 build commit 81e242d0efafb319938d511b115088a5c4523c91 Merge: a733a5d... 04d9488... Author: Len Brown Date: Thu Feb 7 04:01:53 2008 -0500 Merge branches 'release' and 'dsdt-override' into release commit 04d94886b47b5133915021dcfb1108a8576f6ea7 Author: Len Brown Date: Wed Feb 6 19:49:54 2008 -0500 ACPI: update intrd DSDT override console messages also, address some checkpatch.pl violations Signed-off-by: Len Brown commit d89e9d6b4930c6505ac3ed35f57ab7f4311d6cf6 Author: Len Brown Date: Wed Feb 6 19:28:02 2008 -0500 ACPI: update DSDT override documentation Signed-off-by: Len Brown commit 9cbc7960288d28aec95257af59854e1d14ba23b8 Author: Éric Piel Date: Tue Feb 5 00:04:58 2008 +0100 ACPI: Add "acpi_no_initrd_override" kernel parameter The acpi_no_initrd_override parameter permits to disable the load of an ACPI table from the initramfs. Signed-off-by: Eric Piel Signed-off-by: Len Brown commit a733a5da97b238e3e3167d3d0aee8fe1e8d04e97 Merge: 299cfe3... 299cfe3... 9e52797... Author: Len Brown Date: Thu Feb 7 03:38:22 2008 -0500 Merge branches 'release' and 'fluff' into release Conflicts: drivers/acpi/scan.c include/linux/acpi.h Signed-off-by: Len Brown commit 9e52797131e83688f66fbca6d4cd25b83f33c48f Author: Alan Cox Date: Thu Jan 3 16:31:42 2008 +0000 ACPI: its a directory not a folder.... The kernel help consistently uses 'directory' Signed-off-by: Alan Cox Signed-off-by: Len Brown commit e5685b9d35c2cc0a98425b05df30cb837dd1e632 Author: Adrian Bunk Date: Wed Oct 24 18:24:42 2007 +0200 ACPI: misc cleanups This patch contains the following possible cleanups: - make the following needlessly global code static: - drivers/acpi/bay.c:dev_attr_eject - drivers/acpi/bay.c:dev_attr_present - drivers/acpi/dock.c:dev_attr_docked - drivers/acpi/dock.c:dev_attr_flags - drivers/acpi/dock.c:dev_attr_uid - drivers/acpi/dock.c:dev_attr_undock - drivers/acpi/pci_bind.c:acpi_pci_unbind() - drivers/acpi/pci_link.c:acpi_link_lock - drivers/acpi/sbs.c:acpi_sbs_callback() - drivers/acpi/sbshc.c:acpi_smbus_transaction() - drivers/acpi/sleep/main.c:acpi_sleep_prepare() - #if 0 the following unused global functions: - drivers/acpi/numa.c:acpi_unmap_pxm_to_node() - remove the following unused EXPORT_SYMBOL's: - acpi_register_gsi - acpi_unregister_gsi - acpi_strict - acpi_bus_receive_event - register_acpi_bus_type - unregister_acpi_bus_type - acpi_os_printf - acpi_os_sleep - acpi_os_stall - acpi_os_read_pci_configuration - acpi_os_create_semaphore - acpi_os_delete_semaphore - acpi_os_wait_semaphore - acpi_os_signal_semaphore - acpi_os_signal - acpi_pci_irq_enable - acpi_get_pxm Signed-off-by: Adrian Bunk Acked-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 87ecd5cddaa37f057d8d8c2813e1b748b1804423 Author: Len Brown Date: Tue Jan 1 14:00:00 2008 -0500 ACPI: add missing prink prefix strings Signed-off-by: Len Brown commit ee1ce6fcb383ba1da9d16e1ba902f592211aa508 Author: Jean Delvare Date: Thu Dec 6 22:00:36 2007 -0500 ACPI: cleanup acpi.h Two cleanups to : * Stop defining acpi_mp_config, it isn't used anywhere. * Discard nested "#ifdef CONFIG_ACPI", they are useless and error-prone. Signed-off-by: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 4e83dd95b343a4ecfdb236aa046a5366a29e6f1e Author: Len Brown Date: Fri Nov 23 18:33:11 2007 -0500 ACPICA: fix CONFIG_ACPI_DEBUG_FUNC_TRACE build 798d91039849486c7a4f1a458a5680cb55a65408 (ACPI: create CONFIG_ACPI_DEBUG_FUNC_TRACE) failed to associate the new tracing config option with the tracing code. Signed-off-by: Len Brown commit 299cfe38081bea6dcd8b882375f6f65a980bccf9 Merge: 8976b6f... 443dea7... Author: Len Brown Date: Thu Feb 7 03:31:17 2008 -0500 Merge branches 'release' and 'hwmon-conflicts' into release commit 8976b6fd7a0060f72e20d5cec833c03d50874cd1 Merge: 52b097f... 3391a76... Author: Len Brown Date: Thu Feb 7 03:30:48 2008 -0500 Merge branches 'release' and 'throttling-domains' into release commit 52b097fff89b14c0b8b7a7deef1d274889b1886d Merge: 0601955... 0601955... 3fa2cdc... Author: Len Brown Date: Thu Feb 7 03:25:48 2008 -0500 Merge branches 'release' and 'video' into release Conflicts: include/acpi/acpi_bus.h Signed-off-by: Len Brown commit 3fa2cdcc45a0176de15cac9dbf4ed2834ebf8932 Author: Matthew Garrett Date: Thu Feb 7 01:44:06 2008 +0000 ACPI: video: Ignore ACPI video devices that aren't present in hardware Vendors often ship machines with a choice of integrated or discrete graphics, and use the same DSDT for both. As a result, the ACPI video module will locate devices that may not exist on this specific platform. Attempt to determine whether the device exists or not, and abort the device creation if it do not exist. Signed-off-by: Matthew Garrett Signed-off-by: Len Brown commit 863c1490e512db40dab61e44b694a493a9e68b3f Author: Matthew Garrett Date: Mon Feb 4 23:31:24 2008 -0800 ACPI: video: reset brightness on resume Some machines seem to need the backlight brightness to be reset on resume. Add support for doing so to the video module. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Matthew Garrett Cc: Zhang Rui Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 7761f638f6e0f276fe8612ba306d09c40d1b553c Author: Zhang Rui Date: Fri Jan 25 14:48:12 2008 +0800 ACPI: video: call ACPI notifier chain for ACPI video notifications Call notifier chain for display/brightness switch events. The kernel mode graphics driver is interested in this. Sign-off-by: Zhang Rui Signed-off-by: Len Brown commit 9ee85241fdaab358dff1d8647f20a478cfa512a1 Author: Zhang Rui Date: Fri Jan 25 14:48:06 2008 +0800 ACPI: create notifier chain to get hotkey events to graphics driver Kernel mode graphics drivers need this ACPI notifier chaine so that they can get notified upon hotkey events. Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit ba5e1223422368fd2f4dbb0745f5fbb5fe9a65f1 Author: Zhang Rui Date: Fri Jan 25 14:47:57 2008 +0800 ACPI: video: delete unused display switch on hotkey event code Display switching via ACPI control methods are not known to work on any platforms. Further, the X community wants to control the display switching all by themselves without BIOS/AML involvement. Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 8a681a4dee07ea09aedaadc6a2da28d2131dc414 Author: Zhang Rui Date: Fri Jan 25 14:47:49 2008 +0800 ACPI: video: create "brightness_switch_enabled" modparam Introduce new module parameter for brightness control. "brightness_switch_enabled" is set by default which means nothing changes upon brightness switch events. When "brightness_switch_enabled" is cleared via "echo 0 > /sys/module/video/parameters/brightness_switch_enabled", ACPI will not try to change the brightness level any more. Either X will take charge of this or users can change the brightness level by poking /sys/class/backlight/acpi_videoX/... Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 060195500e0347a6ba8ea89739a9898961eb6f2b Merge: 26b6f22... dd8cd77... Author: Len Brown Date: Thu Feb 7 03:19:43 2008 -0500 Merge branches 'release' and 'wmi-2.6.25' into release commit 26b6f2236615649a0ae6a0de2e9e71a2f9ffeba7 Merge: e5e54bc... e5e54bc... 3c60284... Author: Len Brown Date: Thu Feb 7 03:18:04 2008 -0500 Merge branches 'release' and 'menlo' into release Conflicts: drivers/acpi/video.c Signed-off-by: Len Brown commit e5e54bc86a1fed9849b22fd736c30b23c4719046 Merge: 70ec75c... 5229e87... Author: Len Brown Date: Thu Feb 7 03:13:36 2008 -0500 Merge branches 'release' and 'stats' into release commit 70ec75c5b8e0bda7a16fb387f91e08545f379a0e Merge: 4f4ae0d... 2fdf074... 23b168d... Author: Len Brown Date: Thu Feb 7 03:13:13 2008 -0500 Merge branches 'release', 'misc' and 'misc-2.6.25' into release commit 4f4ae0d42680889c62db4e1f3e6b4aa7787a7257 Merge: d870ec7... 623b78c... Author: Len Brown Date: Thu Feb 7 03:12:17 2008 -0500 Merge branches 'release' and 'ppc-workaround' into release commit d870ec7281d8429ab17d2e0324f4d8ca3f3de62d Merge: 7924e4f... 02f8a85... Author: Len Brown Date: Thu Feb 7 03:11:56 2008 -0500 Merge branches 'release' and 'hp-cid' into release commit 7924e4f6519dd5b349ed146fe9fe35206730be67 Merge: 5531d28... 17bc54e... Author: Len Brown Date: Thu Feb 7 03:11:47 2008 -0500 Merge branches 'release' and 'gpe-ack' into release commit 5531d28504461c4e96c6fbd80655a2bfd6481583 Merge: acf6386... a64217b... Author: Len Brown Date: Thu Feb 7 03:11:31 2008 -0500 Merge branches 'release' and 'dmi' into release commit acf63867ae06ef95eea7bf445ded2f05528a81b1 Merge: c64768a... f757397... 9a0b841... Author: Len Brown Date: Thu Feb 7 03:11:05 2008 -0500 Merge branches 'release', 'cpuidle-2.6.25' and 'idle' into release commit c64768a7d671bcde80bca2aed93f9e07edc069c3 Merge: 8f85901... a7f9b1f... b4d2730... 37748eb... ed9cbcd... 856608e... cfaf374... 223630f... 38531e6... b3b233c... 239665a... 0119509... 975c302... 0879802... Author: Len Brown Date: Thu Feb 7 03:09:43 2008 -0500 Merge branches 'release', 'bugzilla-6217', 'bugzilla-6629', 'bugzilla-6933', 'bugzilla-7186', 'bugzilla-8269', 'bugzilla-8570', 'bugzilla-9139', 'bugzilla-9277', 'bugzilla-9341', 'bugzilla-9444', 'bugzilla-9614', 'bugzilla-9643' and 'bugzilla-9644' into release commit 8f859016ea49cd8d7c743533bd1ab3db9a813ffa Merge: dd07a8d... 17196d6... Author: Len Brown Date: Thu Feb 7 03:07:55 2008 -0500 Merge branches 'release' and 'autoload' into release commit dd07a8db7283f52f347aee468007556944b5b393 Merge: 877c357... 31e0729... fccd5d0... 547266e... Author: Len Brown Date: Thu Feb 7 03:07:35 2008 -0500 Merge branches 'release', 'asus', 'sony-laptop' and 'thinkpad' into release commit 877c357e7511395bc923ec9efc2e8b021a17ed79 Merge: 488b5ec... ad3399c... 7c2670b... Author: Len Brown Date: Thu Feb 7 03:07:03 2008 -0500 Merge branches 'release', 'acpi_pm_device_sleep_state' and 'battery' into release commit de2eeea609b55e8c3994133a565b39edeaaaaf69 Author: Lachlan McIlroy Date: Wed Feb 6 13:37:56 2008 +1100 [XFS] add __init/__exit mark to specific init/cleanup functions SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:30459a Signed-off-by: Lachlan McIlroy Signed-off-by: Denis Cheng commit 450790a2c51e6d9d47ed30dbdcf486656b8e186f Author: David Chinner Date: Wed Feb 6 13:37:40 2008 +1100 [XFS] Fix oops in xfs_file_readdir() When xfs_file_readdir() exactly fills a buffer, it can move it's index past the end of the buffer and dereference it even though the result of the dereference is never used. On some platforms this causes an oops. SGI-PV: 976923 SGI-Modid: xfs-linux-melb:xfs-kern:30458a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit cbc89dcfd24fd161f7a8e262266177db160a58fb Author: Christoph Hellwig Date: Tue Feb 5 12:14:01 2008 +1100 [XFS] kill xfs_root The only caller (xfs_fs_fill_super) can simplify call igrab on the root inode. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:30393a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 4188c78d951d8a44630f4c33bc0f5b63374572a4 Author: Christoph Hellwig Date: Tue Feb 5 12:13:53 2008 +1100 [XFS] keep i_nlink updated and use proper accessors To get the read-only bind mounts in -mm to work correctly with XFS we need to call the drop_nlink and inc_nlink helpers to monitor the link count. Add calls to these to xfs_bumplink and xfs_droplink and stop copying over di_nlink to i_nlink in xfs_validate_fields and vn_revalidate. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:30392a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 222096ae7f7616caa9e4150948096160cc8a8141 Author: Christoph Hellwig Date: Tue Feb 5 12:13:46 2008 +1100 [XFS] stop updating inode->i_blocks The VFS doesn't use i_blocks, it's only used by generic_fillattr and the generic quota code which XFS doesn't use. In XFS there is one use to check whether we have an inline or out of line sumlink, but we can replace that with a check of the XFS_IFINLINE inode flag. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:30391a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit de08dbc1977419efa47eb71f10d96a98eb5bb111 Author: David Chinner Date: Tue Feb 5 12:13:38 2008 +1100 [XFS] Make xfs_ail_check check less by default Checking the entire AIL on every insert and remove is prohibitively expensive - the sustained sequntial create rate on a single disk drops from about 1800/s to 60/s because of this checking resulting in the xfslogd becoming cpu bound. By default on debug builds, only check the next and previous entries in the list to ensure they are ordered correctly. If you really want, define XFS_TRANS_DEBUG to use the old behaviour. SGI-PV: 972759 SGI-Modid: xfs-linux-melb:xfs-kern:30372a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 249a8c1124653fa90f3a3afff869095a31bc229f Author: David Chinner Date: Tue Feb 5 12:13:32 2008 +1100 [XFS] Move AIL pushing into it's own thread When many hundreds to thousands of threads all try to do simultaneous transactions and the log is in a tail-pushing situation (i.e. full), we can get multiple threads walking the AIL list and contending on the AIL lock. The AIL push is, in effect, a simple I/O dispatch algorithm complicated by the ordering constraints placed on it by the transaction subsystem. It really does not need multiple threads to push on it - even when only a single CPU is pushing the AIL, it can push the I/O out far faster that pretty much any disk subsystem can handle. So, to avoid contention problems stemming from multiple list walkers, move the list walk off into another thread and simply provide a "target" to push to. When a thread requires a push, it sets the target and wakes the push thread, then goes to sleep waiting for the required amount of space to become available in the log. This mechanism should also be a lot fairer under heavy load as the waiters will queue in arrival order, rather than queuing in "who completed a push first" order. Also, by moving the pushing to a separate thread we can do more effectively overload detection and prevention as we can keep context from loop iteration to loop iteration. That is, we can push only part of the list each loop and not have to loop back to the start of the list every time we run. This should also help by reducing the number of items we try to lock and/or push items that we cannot move. Note that this patch is not intended to solve the inefficiencies in the AIL structure and the associated issues with extremely large list contents. That needs to be addresses separately; parallel access would cause problems to any new structure as well, so I'm only aiming to isolate the structure from unbounded parallelism here. SGI-PV: 972759 SGI-Modid: xfs-linux-melb:xfs-kern:30371a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 4576758db5817a91b8974c696247d459dc653db2 Author: Christoph Hellwig Date: Tue Feb 5 12:13:24 2008 +1100 [XFS] use generic_permission Now that all direct caller of xfs_iaccess are gone we can kill xfs_iaccess and xfs_access and just use generic_permission with a check_acl callback. This is required for the per-mount read-only patchset in -mm to work properly with XFS. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:30370a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit f6aa7f2184330262e1cb5f7802536e5346bd46a3 Author: Christoph Hellwig Date: Tue Feb 5 12:13:15 2008 +1100 [XFS] stop re-checking permissions in xfs_swapext xfs_swapext should simplify check if we have a writeable file descriptor instead of re-checking the permissions using xfs_iaccess. Add an additional check to refuse O_APPEND file descriptors because swapext is not an append-only write operation. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:30369a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 35fec8df65217546f6d9d508b203c1d135a67fbc Author: Christoph Hellwig Date: Tue Feb 5 12:13:07 2008 +1100 [XFS] clean up xfs_swapext - stop using vnodes - use proper multiple label goto unwinding - give the struct file * variables saner names SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:30366a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 199037c598daf5f3602dace68c331665a4f4f0c1 Author: Christoph Hellwig Date: Tue Feb 5 12:12:58 2008 +1100 [XFS] remove permission check from xfs_change_file_space Both callers of xfs_change_file_space alreaedy do the file->f_mode & FMODE_WRITE check to ensure we have a file descriptor that has been opened for write mode, so there is no need to re-check that with xfs_iaccess. Especially as the later might wrongly deny it for corner cases like file descriptor passing through unix domain sockets. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:30365a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 9742bb93da27737fe490eab2af9fba1efa243dcb Author: Lachlan McIlroy Date: Thu Jan 10 16:43:36 2008 +1100 [XFS] prevent panic during log recovery due to bogus op_hdr length A problem was reported where a system panicked in log recovery due to a corrupt log record. The cause of the corruption is not known but this change will at least prevent a crash for this specific scenario. Log recovery definitely needs some more work in this area. SGI-PV: 974151 SGI-Modid: xfs-linux-melb:xfs-kern:30318a Signed-off-by: Lachlan McIlroy Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig commit 9a0b841586c3c6c846effdbe75885c2ebc0031b0 Author: venkatesh.pallipadi@intel.com Date: Thu Jan 31 17:35:06 2008 -0800 cpuidle: Add a poll_idle method Add a default poll idle state with 0 latency. Provides an option to users to use poll_idle by using 0 as the latency requirement. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit f71354bc3a96c657a70e36dcf980cbad6c9fc63f Author: Christoph Hellwig Date: Tue Dec 18 16:26:55 2007 +1100 [XFS] Cleanup various fid related bits: - merge xfs_fid2 into it's only caller xfs_dm_inode_to_fh. - remove xfs_vget and opencode it in the two callers, simplifying both of them by avoiding the awkward calling convetion. - assign directly to the dm_fid_t members in various places in the dmapi code instead of casting them to xfs_fid_t first (which is identical to dm_fid_t) SGI-PV: 974747 SGI-Modid: xfs-linux-melb:xfs-kern:30258a Signed-off-by: Christoph Hellwig Signed-off-by: Vlad Apostolov Signed-off-by: Lachlan McIlroy commit edd319dc527733e61eec5bdc9ce20c94634b6482 Author: David Chinner Date: Fri Dec 7 14:08:48 2007 +1100 [XFS] Fix xfs_lowbit64 xfs_lowbit64 was broken on 32 bit platforms in a recent cleanup of the xfs bitops. Fix it back up again. SGI-PV: 974005 SGI-Modid: xfs-linux-melb:xfs-kern:30202a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 45ba598e56fa9f77801e06432b50580d97994fa4 Author: Christoph Hellwig Date: Fri Dec 7 14:07:20 2007 +1100 [XFS] Remove CFORK macros and use code directly in IFORK and DFORK macros. Currently XFS_IFORK_* and XFS_DFORK* are implemented by means of XFS_CFORK* macros. But given that XFS_IFORK_* operates on an xfs_inode that embedds and xfs_icdinode_core and XFS_DFORK_* operates on an xfs_dinode that embedds a xfs_dinode_core one will have to do endian swapping while the other doesn't. Instead of having the current mess with the CFORK macros that have byteswapping and non-byteswapping version (which are inconsistantly named while we're at it) just define each family of the macros to stand by itself and simplify the whole matter. A few direct references to the CFORK variants were cleaned up to use IFORK or DFORK to make this possible. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:30163a Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin Signed-off-by: Lachlan McIlroy commit a9759f2de38a3443d5107bddde03b4f3f550060e Author: Christoph Hellwig Date: Fri Dec 7 14:07:08 2007 +1100 [XFS] kill superflous buffer locking (2nd attempt) There is no need to lock any page in xfs_buf.c because we operate on our own address_space and all locking is covered by the buffer semaphore. If we ever switch back to main blockdeive address_space as suggested e.g. for fsblock with a similar scheme the locking will have to be totally revised anyway because the current scheme is neither correct nor coherent with itself. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:30156a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 40ebd81d1a7635cf92a59c387a599fce4863206b Author: Robert P. J. Day Date: Fri Nov 23 16:30:51 2007 +1100 [XFS] Use kernel-supplied "roundup_pow_of_two" for simplicity SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:30098a Signed-off-by: Robert P. J. Day Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit e6a4b37f38dca6e86b2648d172946700ee921e12 Author: Tim Shimmin Date: Fri Nov 23 16:30:42 2007 +1100 [XFS] Remove the BPCSHIFT and NB* based macros from XFS. The BPCSHIFT based macros, btoc*, ctob*, offtoc* and ctooff are either not used or don't need to be used. The NDPP, NDPP, NBBY macros don't need to be used but instead are replaced directly by PAGE_SIZE and PAGE_CACHE_SIZE where appropriate. Initial patch and motivation from Nicolas Kaiser. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:30096a Signed-off-by: Tim Shimmin Signed-off-by: Lachlan McIlroy commit f7b7c3673e6e225de337abe00e14dc048e44782b Author: Niv Sardi Date: Tue Nov 27 17:01:13 2007 +1100 [XFS] Remove bogus assert This assert is bogus. We can have a forced shutdown occur between the check for the XLOG_FORCED_SHUTDOWN and the ASSERT. Also, the logging system shouldn't care about the state of XFS_FORCED_SHUTDOWN, it should only check XLOG_FORCED_SHUTDOWN. The logging system has it's own forced shutdown flag so, for the case of a forced shutdown that's not due to a logging error, we can flush the log. SGI-PV: 972985 SGI-Modid: xfs-linux-melb:xfs-kern:30029a Signed-off-by: Niv Sardi Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 71ddabb94a623d1e16e7e66898bf439ff78ecc41 Author: Eric Sandeen Date: Fri Nov 23 16:29:42 2007 +1100 [XFS] optimize XFS_IS_REALTIME_INODE w/o realtime config Use XFS_IS_REALTIME_INODE in more places, and #define it to 0 if CONFIG_XFS_RT is off. This should be safe because mount checks in xfs_rtmount_init: so if we get mounted w/o CONFIG_XFS_RT, no realtime inodes should be encountered after that. Defining XFS_IS_REALTIME_INODE to 0 saves a bit of stack space, presumeably gcc can optimize around the various "if (0)" type checks: xfs_alloc_file_space -8 xfs_bmap_adjacent -16 xfs_bmapi -8 xfs_bmap_rtalloc -16 xfs_bunmapi -28 xfs_free_file_space -64 xfs_imap +8 <-- ? hmm. xfs_iomap_write_direct -12 xfs_qm_dqusage_adjust -4 xfs_qm_vop_chown_reserve -4 SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:30014a Signed-off-by: Eric Sandeen Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit a67d7c5f5d25d0b13a4dfb182697135b014fa478 Author: David Chinner Date: Fri Nov 23 16:29:32 2007 +1100 [XFS] Move platform specific mount option parse out of core XFS code Mount option parsing is platform specific. Move it out of core code into the platform specific superblock operation file. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:30012a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 3ed6526441053d79b85d206b14d75125e6f51cc2 Author: David Chinner Date: Fri Nov 23 16:29:25 2007 +1100 [XFS] Implement fallocate. Implement the new generic callout for file preallocation. Atomically change the file size if requested. SGI-PV: 972756 SGI-Modid: xfs-linux-melb:xfs-kern:30009a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 5d51eff4538bdfeb9b7a2ec030ee3b0980b067d2 Author: David Chinner Date: Fri Nov 23 16:29:18 2007 +1100 [XFS] Fix inode allocation latency The log force added in xfs_iget_core() has been a performance issue since it was introduced for tight loops that allocate then unlink a single file. under heavy writeback, this can introduce unnecessary latency due tothe log I/o getting stuck behind bulk data writes. Fix this latency problem by avoinding the need for the log force by moving the place we mark linux inode dirty to the transaction commit rather than on transaction completion. This also closes a potential hole in the sync code where a linux inode is not dirty between the time it is modified and the time the log buffer has been written to disk. SGI-PV: 972753 SGI-Modid: xfs-linux-melb:xfs-kern:30007a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit e4143a1cf5973e3443c0650fc4c35292d3b7baa8 Author: David Chinner Date: Fri Nov 23 16:29:11 2007 +1100 [XFS] Fix transaction overrun during writeback. Prevent transaction overrun in xfs_iomap_write_allocate() if we race with a truncate that overlaps the delalloc range we were planning to allocate. If we race, we may allocate into a hole and that requires block allocation. At this point in time we don't have a reservation for block allocation (apart from metadata blocks) and so allocating into a hole rather than a delalloc region results in overflowing the transaction block reservation. Fix it by only allowing a single extent to be allocated at a time. SGI-PV: 972757 SGI-Modid: xfs-linux-melb:xfs-kern:30005a Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 786f486f8154b94b36182d2b53df3bf2b40d85e7 Author: David Chinner Date: Fri Nov 23 16:28:24 2007 +1100 [XFS] Show all mount args in /proc/mounts There are several mount options that don't show up in /proc/mounts. Add them in and clean up the showargs code at the same time. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:30004a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 8ae2c0f64a81a93d2c394eacee29d6ced53b54f9 Author: David Chinner Date: Fri Nov 23 16:28:17 2007 +1100 [XFS] Fix sparse warning in xlog_recover_do_efd_trans. Sparse trips over the locking order in xlog_recover_do_efd_trans() when xfs_trans_delete_ail() drops the ail lock. Because the unlock is conditional, we need to either annotate with a "fake unlock" or change the structure of the code so sparse thinks the function always unlocks. Reordering the code makes it simpler, so do that. SGI-PV: 972755 SGI-Modid: xfs-linux-melb:xfs-kern:30003a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit a8272ce0c1d49aa3bec57682678f0bdfe28ed4ca Author: David Chinner Date: Fri Nov 23 16:28:09 2007 +1100 [XFS] Fix up sparse warnings. These are mostly locking annotations, marking things static, casts where needed and declaring stuff in header files. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:30002a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit a69b176df246d59626e6a9c640b44c0921fa4566 Author: David Chinner Date: Fri Nov 23 16:27:59 2007 +1100 [XFS] Use the generic bitops rather than implementing them ourselves. Patch inspired by Andi Kleen. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:30000a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy commit 9b12e18cdc1553de62d931e73443c806347cd974 Author: venkatesh.pallipadi@intel.com Date: Thu Jan 31 17:35:05 2008 -0800 ACPI: cpuidle: Support C1 idle time accounting Show C1 idle time in /sysfs cpuidle interface. C1 idle time may not be entirely accurate in all cases. It includes the time spent in the interrupt handler after wakeup with "hlt" based C1. But, it will be accurate with "mwait" based C1. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit c319b58b13bb22f9a2478825b06c641c825f51ec Author: Vlad Apostolov Date: Fri Nov 23 16:27:51 2007 +1100 [XFS] Make xfs_bulkstat() to report unlinked but referenced inodes We need xfs_bulkstat() to report inode stat for inodes with link count zero but reference count non zero. The fix here: http://oss.sgi.com/archives/xfs/2007-09/msg00266.html changed this behavior and made xfs_bulkstat() to filter all unlinked inodes including those that are not destroyed yet but held by reference. The attached patch returns back to the original behavior by marking the on-disk inode buffer "dirty" when di_mode is cleared (at that time both inode link and reference counter are zero). SGI-PV: 972004 SGI-Modid: xfs-linux-melb:xfs-kern:29914a Signed-off-by: Vlad Apostolov Signed-off-by: David Chinner Signed-off-by: Lachlan McIlroy commit 98ce2b5b1bd6db9f8d510b4333757fa6b1efe131 Author: Lachlan McIlroy Date: Fri Nov 23 16:27:32 2007 +1100 [XFS] 971186 Undo mod xfs-linux-melb:xfs-kern:29845a due to a regression SGI-PV: 971596 SGI-Modid: xfs-linux-melb:xfs-kern:29902a Signed-off-by: Lachlan McIlroy commit bc58f9bb6be02a80b5f1f757b656c9affc07154f Author: Eric Sandeen Date: Fri Oct 12 11:13:22 2007 +1000 [XFS] fix 32-bit compat ioctls for GETXFLAGS, SETXFLAGS, GETVERSION XFS_IOC_GETVERSION, XFS_IOC_GETXFLAGS and XFS_IOC_SETXFLAGS all take a "long" which changes size between 32 and 64 bit platforms. So, the ioctl cmds that come in from a 32-bit app aren't as expected, for example on GETXFLAGS, unknown cmd fd(3) cmd(80046601){t:'f';sz:4} due to the size mismatch. So, use instead the 32-bit version of the commands for compat ioctls, and other than that it doesn't take any more manipulation. Also, for both native and compat versions, just define them to the values as defined in fs.h SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:29849a Signed-off-by: Eric Sandeen Signed-off-by: Lachlan McIlroy Signed-off-by: Tim Shimmin commit d4f3cc016fd6b392d483adc586b6dfaabad081af Author: Eric Sandeen Date: Fri Oct 12 11:13:08 2007 +1000 [XFS] lose xfs_hex_dump in favor of print_hex_dump No need for xfs to have its own hex dumping routine now that the kernel has one. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:29847a Signed-off-by: Eric Sandeen Signed-off-by: Lachlan McIlroy Signed-off-by: Tim Shimmin commit 91906a882a4c9541317bc4f4c7fa5d8b784ba198 Author: Christoph Hellwig Date: Fri Oct 12 11:12:54 2007 +1000 [XFS] kill XFS_INOBT_IS_FREE_DISK This macro is unused an all other acros in this family operate on native types, so we most likely won't grow a user either. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:29846a Signed-off-by: Lachlan McIlroy Signed-off-by: Tim Shimmin commit bc71bec91f9875ef825d12104acf3bf4ca215fa4 Author: venkatesh.pallipadi@intel.com Date: Thu Jan 31 17:35:04 2008 -0800 ACPI: enable MWAIT for C1 idle Add MWAIT idle for C1 state instead of halt, on platforms that support C1 state with MWAIT. Renames cx->space_id to something more appropriate. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit c40ea74101ab75a8f320d057e7cf4b772b090110 Author: Christoph Hellwig Date: Fri Oct 12 11:12:39 2007 +1000 [XFS] kill superflous buffer locking There is no need to lock any page in xfs_buf.c because we operate on our own address_space and all locking is covered by the buffer semaphore. If we ever switch back to main blockdeive address_space as suggested e.g. for fsblock with a similar scheme the locking will have to be totally revised anyway because the current scheme is neither correct nor coherent with itself. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:29845a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Tim Shimmin commit 0771fb4515229821b7d74865b87a430de9fc1113 Author: Eric Sandeen Date: Fri Oct 12 11:03:40 2007 +1000 [XFS] Refactor xfs_mountfs Refactoring xfs_mountfs() to call sub-functions for logical chunks can help save a bit of stack, and can make it easier to read this long function. The mount path is one of the longest common callchains, easily getting to within a few bytes of the end of a 4k stack when over lvm, quotas are enabled, and quotacheck must be done. With this change on top of the other stack-related changes I've sent, I can get xfs to survive a normal xfsqa run on 4k stacks over lvm. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:29834a Signed-off-by: Eric Sandeen Signed-off-by: Donald Douwsma Signed-off-by: Tim Shimmin commit b53e675dc868c4844ecbcce9149cf68e4299231d Author: Christoph Hellwig Date: Fri Oct 12 10:59:34 2007 +1000 [XFS] xlog_rec_header/xlog_rec_ext_header endianess annotations Mostly trivial conversion with one exceptions: h_num_logops was kept in native endian previously and only converted to big endian in xlog_sync, but we always keep it big endian now. With todays cpus fast byteswap instructions that's not an issue but the new variant keeps the code clean and maintainable. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:29821a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Tim Shimmin commit 67fcb7bfb69eb1072c7e2dd6b46fa34db11dd587 Author: Christoph Hellwig Date: Fri Oct 12 10:58:59 2007 +1000 [XFS] clean up some xfs_log_priv.h macros - the various assign lsn macros are replaced by a single inline, xlog_assign_lsn, which is equivalent to ASSIGN_ANY_LSN_HOST except for a more sane calling convention. ASSIGN_LSN_DISK is replaced by xlog_assign_lsn and a manual bytespap, and ASSIGN_LSN by the same, except we pass the cycle and block arguments explicitly instead of a log paramter. The latter two variants only had 2, respectively one user anyway. - the GET_CYCLE is replaced by a xlog_get_cycle inline with exactly the same calling conventions. - GET_CLIENT_ID is replaced by xlog_get_client_id which leaves away the unused arch argument. Instead of conditional defintions depending on host endianess we now do an unconditional swap and shift then, which generates equal code. - the unused XLOG_SET macro is removed. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:29820a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Tim Shimmin commit 2e906655baf1c6f6fccd212fc9e6499dc6928b80 Author: venkatesh.pallipadi@intel.com Date: Thu Jan 31 17:35:03 2008 -0800 ACPI: idle: Fix acpi_safe_halt usages and interrupt enabling/disabling acpi_safe_halt() needs interrupts to be disabled for atomic need_resched check and safe halt. Otherwise we may miss an interrupt and go into halt. acpi_safe_halt() also does not enable interrupts on all return paths. So the callers should handle enable and disable interrupts around it. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit 03bea6fe6c38c502c815432999eacfa2eccb0a12 Author: Christoph Hellwig Date: Fri Oct 12 10:58:05 2007 +1000 [XFS] clean up some xfs_log_priv.h macros - the various assign lsn macros are replaced by a single inline, xlog_assign_lsn, which is equivalent to ASSIGN_ANY_LSN_HOST except for a more sane calling convention. ASSIGN_LSN_DISK is replaced by xlog_assign_lsn and a manual bytespap, and ASSIGN_LSN by the same, except we pass the cycle and block arguments explicitly instead of a log paramter. The latter two variants only had 2, respectively one user anyway. - the GET_CYCLE is replaced by a xlog_get_cycle inline with exactly the same calling conventions. - GET_CLIENT_ID is replaced by xlog_get_client_id which leaves away the unused arch argument. Instead of conditional defintions depending on host endianess we now do an unconditional swap and shift then, which generates equal code. - the unused XLOG_SET macro is removed. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:29819a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Tim Shimmin commit 9909c4aa1a3e5b1f23cbc1bc2f0db025a7f75f85 Author: Christoph Hellwig Date: Thu Oct 11 18:11:14 2007 +1000 [XFS] kill xfs_freeze. No need to have a wrapper just two call two more functions. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:29816a Signed-off-by: Christoph Hellwig Signed-off-by: Donald Douwsma Signed-off-by: Tim Shimmin commit 23b168d425ca0ca25257ff8205a39f1c2d1b0f27 Author: Pavel Machek Date: Tue Feb 5 19:27:12 2008 +0100 PM: documentation cleanups Signed-off-by: Pavel Machek Acked-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 547266e46cc0b35ce51bd1f37f261d831927431f Author: Roel Kluin <12o3l@tiscali.nl> Date: Tue Feb 5 00:24:56 2008 +0100 ACPI: thinkpad-acpi: second TP_EC_FAN_FULLSPEED should be TP_EC_FAN_AUTO fix bug in safety net for TPEC fan control mode eaa7571b2d1a08873e4bdd8e6db3431df61cd9ad Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Acked-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 16e6da4fc329e16e359a523c622befa984febb99 Author: Mike Frysinger Date: Thu Feb 7 14:15:37 2008 +0800 [Blackfin] arch: declare default INSTALL_PATH for Blackfin ports Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 6e668936db12550ab5a6a758f236140101e5a644 Author: Michael Hennerich Date: Sat Feb 9 01:54:09 2008 +0800 [Blackfin] arch: Encourage users to use the spidev character driver: Provide platform support - Enable kernel generic spidev driver for blackfin SPI ADC - spi_adc driver, document and test sample not synced Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 443dea72d5f428170de6d6e3c4c1a1e2b7632b65 Author: Thomas Renninger Date: Mon Feb 4 23:31:23 2008 -0800 ACPI: Export acpi_check_resource_conflict Export acpi_check_resource_conflict(), sometimes drivers already have a struct resource at hand so no need to use the wrappers to build a new one. Signed-off-by: Jean Delvare Cc: "Mark M. Hoffman" Cc: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit df92e695998e1bc6e426a840eb86d6d1ee87e2a5 Author: Thomas Renninger Date: Mon Feb 4 23:31:22 2008 -0800 ACPI: track opregion names to avoid driver resource conflicts. Small ACPICA extension to be able to store the name of operation regions in osl.c later In ACPI, AML can define accesses to IO ports and System Memory by Operation Regions. Those are not registered as done by PNPACPI using resource templates (and _CRS/_SRS methods). The IO ports and System Memory regions may get accessed by arbitrary AML code. When native drivers are accessing the same resources bad things can happen (e.g. a critical shutdown temperature of 3000 C every 2 months or so). It is not really possible to register the operation regions via request_resource, as they often overlap with pnp or other resources (e.g. statically setup IO resources below 0x100). This approach stores all Operation Region declarations (IO and System Memory only) at ACPI table parse time. It offers a similar functionality like request_region and let drivers which are known to possibly use the same IO ports and Memory which are also often used by ACPI (hwmon and i2c) check for ACPI interference. A boot parameter acpi_enforce_resources=strict/lax/no is provided, which is default set to lax: - strict: let conflicting drivers fail to load with an error message - lax: let conflicting driver work normal with a warning message - no: no functional change at all Depending on the feedback and the kind of interferences we see, this should be set to strict at later time. Goal of this patch set is: - Identify ACPI interferences in bug reports (very hard to reproduce and to identify) - Find BIOSes for that an ACPI driver should exist for specific HW instead of a native one. - stability in general Provide acpi_check_{mem_}region. Drivers can additionally check against possible ACPI interference by also invoking this shortly before they call request_region. If -EBUSY is returned, the driver must not load. Use acpi_enforce_resources=strict/lax/no options to: - strict: let conflicting drivers fail to load with an error message - lax: let conflicting driver work normal with a warning message - no: no functional change at all Cc: "Mark M. Hoffman" Cc: Jean Delvare Cc: Len Brown Cc: Bjorn Helgaas Signed-off-by: Thomas Renninger Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 10090be25c159c02208b7abf89ae90f8105a2423 Author: Christoph Hellwig Date: Thu Oct 11 18:11:03 2007 +1000 [XFS] cleanup vnode useage in xfs_iget.c Get rid of vnode useage in xfs_iget.c and pass Linux inode / xfs_inode where apropinquate. And kill some useless helpers while we're at it. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:29808a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Tim Shimmin commit 6e7f75eafbc9b0eb575097f52ba6ed27154cea1b Author: Christoph Hellwig Date: Thu Oct 11 18:09:50 2007 +1000 [XFS] cleanup vnode useage in xfs_ioctl.c xfs_ioctl.c passes around vnode pointers quite a lot, but all places already have the Linux inode which is identical to the vnode these days. Clean the code up to always use the Linux inode. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:29807a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Tim Shimmin commit 4ca488eb45692520f745f96abc00ea4e268a87d4 Author: Christoph Hellwig Date: Thu Oct 11 18:09:40 2007 +1000 [XFS] Kill off xfs_statvfs. We were already filling the Linux struct statfs anyway, and doing this trivial task directly in xfs_fs_statfs makes the code quite a bit cleaner. While I was at it I also moved copying attributes that don't change over the lifetime of the filesystem outside the superblock lock. xfs_fs_fill_super used to get the magic number and blocksize through xfs_statvfs, but assigning them directly is a lot cleaner and will save some stack space during mount. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:29802a Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 1a3b77ae60f19fa85f4cdc34b6c09efb1a18372c Author: Matthias Kaehlcke Date: Mon Feb 4 23:31:20 2008 -0800 ACPI: acpi_pci_irq_find_prt_entry(): use list_for_each_entry() instead of list_for_each() Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit e76d5f7e831a3f33dd6fa8eb94533b0b4cb22b6f Author: Miguel Botón Date: Mon Feb 4 23:31:19 2008 -0800 ACPI: remove duplicated warning message Remove duplicated warning message in acpi_power_transition() ACPI: Transitioning device [%s] to D%d\n This warning message is printed by acpi_bus_set_power() so we don't need to print it again. Signed-off-by: Miguel Botón Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit c43f408795c3210c9f5c925e4a49dbb93d41bb57 Author: Christoph Hellwig Date: Thu Oct 11 17:46:39 2007 +1000 [XFS] simplify xfs_vn_getattr Just fill in struct kstat directly from the xfs_inode instead of doing a detour through a bhv_vattr_t and xfs_getattr. SGI-PV: 970980 SGI-Modid: xfs-linux-melb:xfs-kern:29770a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Tim Shimmin commit 613d70436c1aeda6843ca8b70c7fab6d0484a591 Author: Christoph Hellwig Date: Thu Oct 11 17:44:08 2007 +1000 [XFS] kill xfs_iocore_t xfs_iocore_t is a structure embedded in xfs_inode. Except for one field it just duplicates fields already in xfs_inode, and there is nothing this abstraction buys us on XFS/Linux. This patch removes it and shrinks source and binary size of xfs aswell as shrinking the size of xfs_inode by 60/44 bytes in debug/non-debug builds. SGI-PV: 970852 SGI-Modid: xfs-linux-melb:xfs-kern:29754a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Tim Shimmin commit 007c61c68640ea17c036785b698d05da67b4365e Author: Eric Sandeen Date: Thu Oct 11 17:43:56 2007 +1000 [XFS] Remove spin.h remove spinlock init abstraction macro in spin.h, remove the callers, and remove the file. Move no-op spinlock_destroy to xfs_linux.h Cleanup spinlock locals in xfs_mount.c SGI-PV: 970382 SGI-Modid: xfs-linux-melb:xfs-kern:29751a Signed-off-by: Eric Sandeen Signed-off-by: Donald Douwsma Signed-off-by: Lachlan McIlroy Signed-off-by: Tim Shimmin commit 36e41eebdafc8b5fabdf66f59d0d43b0b60f0fdb Author: Eric Sandeen Date: Thu Oct 11 17:43:43 2007 +1000 [XFS] Cleanup lock goop. Switch last couple lock_t's to spinlock_t's. Remove now-unused spinlock-related macros & types. SGI-PV: 970382 SGI-Modid: xfs-linux-melb:xfs-kern:29748a Signed-off-by: Eric Sandeen Signed-off-by: Donald Douwsma Signed-off-by: Tim Shimmin commit 3a0e487034107c0859b8a0d71d14b5c8988d356b Author: Eric Sandeen Date: Thu Oct 11 17:43:32 2007 +1000 [XFS] ktrace kt_lock is unused, remove it. SGI-PV: 970382 SGI-Modid: xfs-linux-melb:xfs-kern:29747a Signed-off-by: Eric Sandeen Signed-off-by: Donald Douwsma Signed-off-by: Tim Shimmin commit 3685c2a1d773781608c9e281a6ff6b4c8ea8f6f9 Author: Eric Sandeen Date: Thu Oct 11 17:42:32 2007 +1000 [XFS] Unwrap XFS_SB_LOCK. Un-obfuscate XFS_SB_LOCK, remove XFS_SB_LOCK->mutex_lock->spin_lock macros, call spin_lock directly, remove extraneous cookie holdover from old xfs code, and change lock type to spinlock_t. SGI-PV: 970382 SGI-Modid: xfs-linux-melb:xfs-kern:29746a Signed-off-by: Eric Sandeen Signed-off-by: Donald Douwsma Signed-off-by: Tim Shimmin commit ba74d0cba51dcaa99e4dc2e4fb62e6e13abbf703 Author: Eric Sandeen Date: Thu Oct 11 17:42:10 2007 +1000 [XFS] Unwrap mru_lock. Un-obfuscate mru_lock, remove mutex_lock->spin_lock macros, call spin_lock directly, remove extraneous cookie holdover from old xfs code. SGI-PV: 970382 SGI-Modid: xfs-linux-melb:xfs-kern:29745a Signed-off-by: Eric Sandeen Signed-off-by: Donald Douwsma Signed-off-by: Tim Shimmin commit 703e1f0fd2edc2978bde3b4536e78b577318c090 Author: Eric Sandeen Date: Thu Oct 11 17:41:21 2007 +1000 [XFS] Unwrap xfs_dabuf_global_lock Un-obfuscate dabuf_global_lock, remove mutex_lock->spin_lock macros, call spin_lock directly, remove extraneous cookie holdover from old xfs code, and change lock type to spinlock_t. SGI-PV: 970382 SGI-Modid: xfs-linux-melb:xfs-kern:29744a Signed-off-by: Eric Sandeen Signed-off-by: Donald Douwsma Signed-off-by: Tim Shimmin commit 64137e56d76a5c05aa4411e2f5d7121593dd9478 Author: Eric Sandeen Date: Thu Oct 11 17:38:28 2007 +1000 [XFS] Unwrap pagb_lock. Un-obfuscate pagb_lock, remove mutex_lock->spin_lock macros, call spin_lock directly, remove extraneous cookie holdover from old xfs code, and change lock type to spinlock_t. SGI-PV: 970382 SGI-Modid: xfs-linux-melb:xfs-kern:29743a Signed-off-by: Eric Sandeen Signed-off-by: Donald Douwsma Signed-off-by: Tim Shimmin commit 31e0729a85c1e8ffaf4d14b4c201c28b5d1c9585 Author: Luca Tettamanti Date: Mon Feb 4 23:31:18 2008 -0800 asus_acpi: add support for F3Sa Add support for ASUS F3Sa notebook. Features: - LCD on/off - Brightness - Wifi kill - Bluetooth kill Signed-off-by: Luca Tettamanti Cc: Corentin Chary Cc: Karol Kozimor Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 869b906078720b68711569b68de0acca6b73b675 Author: Eric Sandeen Date: Thu Oct 11 17:38:18 2007 +1000 [XFS] Unwrap XFS_DQ_PINUNLOCK. Un-obfuscate DQ_PINLOCK, remove DQ_PINLOCK->mutex_lock->spin_lock macros, call spin_lock directly, remove extraneous cookie holdover from old xfs code, and change lock type to spinlock_t. SGI-PV: 970382 SGI-Modid: xfs-linux-melb:xfs-kern:29742a Signed-off-by: Eric Sandeen Signed-off-by: Donald Douwsma Signed-off-by: Tim Shimmin commit c8b5ea289fed15a7d7a4d6e911987ff16499aed7 Author: Eric Sandeen Date: Thu Oct 11 17:37:31 2007 +1000 [XFS] Unwrap GRANT_LOCK. Un-obfuscate GRANT_LOCK, remove GRANT_LOCK->mutex_lock->spin_lock macros, call spin_lock directly, remove extraneous cookie holdover from old xfs code, and change lock type to spinlock_t. SGI-PV: 970382 SGI-Modid: xfs-linux-melb:xfs-kern:29741a Signed-off-by: Eric Sandeen Signed-off-by: Donald Douwsma Signed-off-by: Tim Shimmin commit b22cd72c95df0414e0502a0999624d460ba66126 Author: Eric Sandeen Date: Thu Oct 11 17:37:10 2007 +1000 [XFS] Unwrap LOG_LOCK. Un-obfuscate LOG_LOCK, remove LOG_LOCK->mutex_lock->spin_lock macros, call spin_lock directly, remove extraneous cookie holdover from old xfs code, and change lock type to spinlock_t. SGI-PV: 970382 SGI-Modid: xfs-linux-melb:xfs-kern:29740a Signed-off-by: Eric Sandeen Signed-off-by: Donald Douwsma Signed-off-by: Tim Shimmin commit 287f3dad14828275d2517c8696ad118c82b9243f Author: Donald Douwsma Date: Thu Oct 11 17:36:05 2007 +1000 [XFS] Unwrap AIL_LOCK SGI-PV: 970382 SGI-Modid: xfs-linux-melb:xfs-kern:29739a Signed-off-by: Donald Douwsma Signed-off-by: Eric Sandeen Signed-off-by: Tim Shimmin commit 541d7d3c4b31e2b0ac846fe6d2eb5cdbe1353095 Author: Lachlan McIlroy Date: Thu Oct 11 17:34:33 2007 +1000 [XFS] kill unnessecary ioops indirection Currently there is an indirection called ioops in the XFS data I/O path. Various functions are called by functions pointers, but there is no coherence in what this is for, and of course for XFS itself it's entirely unused. This patch removes it instead and significantly reduces source and binary size of XFS while making maintaince easier. SGI-PV: 970841 SGI-Modid: xfs-linux-melb:xfs-kern:29737a Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 21a62542b6d7f726d6c1d2cfbfa084f721ba4a26 Author: Christoph Hellwig Date: Wed Sep 19 15:27:49 2007 +1000 [XFS] simplify vn_revalidate No need to allocate a bhv_vattr_t on stack and call xfs_getattr to update a few fields in the Linux inode from the XFS inode, just do it directly. And yes, this function is in dire need of a better name and prototype, I'll do in a separate patch, though. SGI-PV: 970705 SGI-Modid: xfs-linux-melb:xfs-kern:29713a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Tim Shimmin commit 15947f2d4f747897f31cfaa36e98a93f80ca3d3f Author: Lachlan McIlroy Date: Mon Sep 17 13:11:58 2007 +1000 [XFS] more vnode/inode tracing fixes SGI-PV: 970335 SGI-Modid: xfs-linux-melb:xfs-kern:29697a Signed-off-by: Lachlan McIlroy Signed-off-by: Eric Sandeen Signed-off-by: Tim Shimmin commit 7642861b7eeaddfc82d762b3342044c809c3f77e Author: Christoph Hellwig Date: Fri Sep 14 15:23:31 2007 +1000 [XFS] kill BMAPI_UNWRITTEN There is no reason to go through xfs_iomap for the BMAPI_UNWRITTEN because it has nothing in common with the other cases. Instead check for the shutdown filesystem in xfs_end_bio_unwritten and perform a direct call to xfs_iomap_write_unwritten (which should be renamed to something more sensible one day) SGI-PV: 970241 SGI-Modid: xfs-linux-melb:xfs-kern:29681a Signed-off-by: Christoph Hellwig Signed-off-by: Donald Douwsma Signed-off-by: Tim Shimmin commit 6214ed4461f1ad8aeec41857c73d58afb31be335 Author: Christoph Hellwig Date: Fri Sep 14 15:23:17 2007 +1000 [XFS] kill BMAPI_DEVICE There is no reason to go into the iomap machinery just to get the right block device for an inode. Instead look at the realtime flag in the inode and grab the right device from the mount structure. I created a new helper, xfs_find_bdev_for_inode instead of opencoding it because I plan to use it in other places in the future. SGI-PV: 970240 SGI-Modid: xfs-linux-melb:xfs-kern:29680a Signed-off-by: Christoph Hellwig Signed-off-by: Donald Douwsma Signed-off-by: Tim Shimmin commit cf441eeb79c32471379f0a4d97feaef691432a03 Author: Lachlan McIlroy Date: Thu Feb 7 16:42:19 2008 +1100 [XFS] clean up vnode/inode tracing Simplify vnode tracing calls by embedding function name & return addr in the calling macro. Also do a lot of vnode->inode renaming for consistency, while we're at it. SGI-PV: 970335 SGI-Modid: xfs-linux-melb:xfs-kern:29650a Signed-off-by: Eric Sandeen Signed-off-by: Lachlan McIlroy Signed-off-by: Tim Shimmin commit e1af14e4b3d5f2a348987e3069ec835b782782b0 Author: Roel Kluin <12o3l@tiscali.nl> Date: Sat Feb 2 21:07:38 2008 +0100 asus-laptop: add parentheses '!' has a higher priority than '&': bitanding has no effect. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Len Brown commit 30727174b6273c67fa96fb818fe5bdde1ad70e5c Author: Denis Cheng Date: Sat Feb 2 01:53:46 2008 +0800 dlm: add __init and __exit marks to init and exit functions it moves 365 bytes from .text to .init.text, and 30 bytes from .text to .exit.text, saves memory. Signed-off-by: Denis Cheng Signed-off-by: David Teigland commit 44866d39282d0782b15fa4cb62aad937bf0a0897 Author: Lachlan McIlroy Date: Fri Sep 14 15:21:08 2007 +1000 [XFS] remove dead SYNC_BDFLUSH case in xfs_sync_inodes A large part of xfs_sync_inodes is conditional on the SYNC_BDFLUSH which is never passed to it. This patch removes it and adds an assert that triggers in case some new code tries to pass SYNC_BDFLUSH to it. SGI-PV: 970242 SGI-Modid: xfs-linux-melb:xfs-kern:29630a Signed-off-by: Lachlan McIlroy Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit f8d1c94b346b62747322728e00e11f552cd90902 Author: Corentin CHARY Date: Wed Jan 16 16:56:42 2008 +0100 asus-laptop new write_acpi_int Just a little modification of write_acpi_int Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 52b804829ca4cf3d1d9849232dadf67269cd89f4 Author: Grant Likely Date: Wed Feb 6 22:29:25 2008 -0700 [POWERPC] mpc52xx: fix compile error introduce when rebasing patch When rebasing one of the mpc5200 psc UART patches I made a mistake and damaged the patch. This patch fixes the compile failure introduced in commit 25ae3a0739c69425a911925b43213895a9802b98 Signed-off-by: Grant Likely commit d292c0cc489fa642799494bddbd7c94d11f7bbc1 Author: David Teigland Date: Wed Feb 6 23:27:04 2008 -0600 dlm: eliminate astparam type casting Put lkb_astparam in a union with a dlm_user_args pointer to eliminate a lot of type casting. Signed-off-by: David Teigland commit b57aacfa7a95328f469d0360e49289b023c47e9e Author: Roland Dreier Date: Wed Feb 6 21:17:59 2008 -0800 mlx4_core: Clean up struct mlx4_buf Now that struct mlx4_buf.u is a struct instead of a union because of the vmap() changes, there's no point in having a struct at all. So move .direct and .page_list directly into struct mlx4_buf and get rid of a bunch of unnecessary ".u"s. Signed-off-by: Roland Dreier commit 313abe55a87bc10e55d00f337d609e17ad5f8c9a Author: Jack Morgenstein Date: Mon Jan 28 10:40:51 2008 +0200 mlx4_core: For 64-bit systems, vmap() kernel queue buffers Since kernel virtual memory is not a problem on 64-bit systems, there is no reason to use our own 2-layer page mapping scheme for large kernel queue buffers on such systems. Instead, map the page list to a single virtually contiguous buffer with vmap(), so that can we access buffer memory via direct indexing. Signed-off-by: Michael S. Tsirkin Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 3d5e2c13b13468f5eb2ac9323690af7e17f195fe Author: Dave Airlie Date: Thu Feb 7 15:01:05 2008 +1000 drm: add initial r500 drm support This adds CP support for the r500 series of chips, and allows accel 2D support on these chips with a new radeon driver. Signed-off-by: Dave Airlie commit 576cc458a64673ecf3fa7f1bab751e52fd939071 Author: Roland Scheidegger Date: Thu Feb 7 14:59:24 2008 +1000 radeon: setup the ring buffer fetcher to be less agressive. Signed-off-by: Dave Airlie commit 9d5b3ffc42f7820e8ee07705496955e4c2c38dd9 Author: Dave Airlie Date: Thu Feb 7 14:51:32 2008 +1000 drm: fixup some of the ioctl function exit paths Signed-off-by: Dave Airlie commit 19a8f59ab8ceee751ea720085098355d53f727d6 Author: Dave Airlie Date: Thu Feb 7 14:48:32 2008 +1000 drm: the drm really should call pci_set_master.. perhaps bonghits could turn on my bus-mastering because the drm certainly never bothered doing it before. Signed-off-by: Dave Airlie commit 5f5f9d4c7bf96c044fb98c7c107172a730b2a247 Author: Zhenyu Wang Date: Thu Jan 24 16:46:36 2008 +1000 i915: Add chipset id for Intel Integrated Graphics Device This adds new chipset id in drm. Signed-off-by: Zhenyu Wang Signed-off-by: Dave Airlie commit 3e684eae586a9b210a4517da5637a255b1ff5a92 Author: Márton Németh Date: Thu Jan 24 15:58:57 2008 +1000 drm: cleanup DRM_DEBUG() parameters As DRM_DEBUG macro already prints out the __FUNCTION__ string (see drivers/char/drm/drmP.h), it is not worth doing this again. At some other places the ending "\n" was added. airlied:- I cleaned up a few that this patch missed also Signed-off-by: Dave Airlie commit 4d1f78880e9631fb08052dcc8e3341eecea537e0 Author: Carlos Martín Date: Wed Jan 23 16:41:17 2008 +1000 drm/i915: add support for E7221 chipset E7221 chipset is a server version of the i915. Signed-off-by: Dave Airlie commit d5b0d1b5bda979b077cf011e79fc19677663afc4 Author: Li Zefan Date: Mon Dec 17 09:47:19 2007 +1000 drm: don't cast a pointer to pointer of list_head The casting is safe only when the list_head member is the first member of the structure. Signed-off-by: Li Zefan Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit a96ca105a68bc66c564accdfeb81c36e1d5d46b3 Author: Jesper Juhl Date: Mon Dec 17 09:47:17 2007 +1000 mga_dma: return 'err' not just zero from mga_do_cleanup_dma() While reading some code I stumbled across the use of 'err' in drivers/char/drm/mga_dma.c::mga_do_cleanup_dma() and I think there's a small problem. The variable is only used inside #if __OS_HAS_AGP which is fine, but all that ever happens is an assignment to the variable - it is never actually used for anything. The variable is nicely initialized to zero which is also what the return statement at the end of function returns (always at the moment). It looks to me like that function should be returning 'err' instead of always just returning 0. Here's a patch to do that. Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit e3236a1173222ca209d20bb29f6c1cd3499aa845 Author: Dave Airlie Date: Mon Dec 17 09:41:56 2007 +1000 drm: add _DRM_DRIVER flag, and re-order unload. Allow drivers to addmaps that won't be removed by lastclose or unload. The unload needs to be re-ordered to avoid removing the hashs before the driver has removed the final maps. Signed-off-by: Dave Airlie commit 77e27e9fe5bd399c9f56b941b212a58338e94463 Author: Dave Airlie Date: Thu Nov 29 09:48:20 2007 +1000 drm: enable udev node creation Signed-off-by: Dave Airlie commit b018fcdaa5e8b4eabb8cffda687d00004a3c4785 Author: Eric Anholt Date: Thu Nov 22 18:46:54 2007 +1000 drm: Make DRM_IOCTL_GET_CLIENT return EINVAL when it can't find client #idx. Fixes the getclient test and dritest -c. Signed-off-by: Dave Airlie commit 3260f9fdfee9d5b4135f40943dc0bd0733b7394e Author: Dave Airlie Date: Thu Nov 22 18:43:46 2007 +1000 drm: move drm_mem_init to proper place in startup sequence For TTM this needs to be called later. Signed-off-by: Dave Airlie commit 2716a02f607c964ccaa6fa7266abd3acd73d9033 Author: Dave Airlie Date: Thu Nov 22 18:23:13 2007 +1000 drm: call driver load function after initialising AGP needed to intel chipset flushing Signed-off-by: Dave Airlie commit 7ffa05e0518ebc055ef8f68d7d53e5f7d2ba3428 Author: Ian Romanick Date: Thu Nov 22 17:02:08 2007 +1000 drm: Fix ioc32 compat layer Previously any ioctls that weren't explicitly listed in the compat ioctl table would fail with ENOTTY. If the incoming ioctl number is outside the range of the table, assume that it Just Works, and pass it off to drm_ioctl. This make the fence related ioctls work on 64-bit PowerPC. Signed-off-by: Dave Airlie commit 47a184a80800dd69abd1206eea1b961070ce2ca3 Author: Eric Anholt Date: Thu Nov 22 16:55:15 2007 +1000 drm: fd.o bug #11895: Only add the AGP base to map offset if the caller didn't. The i830 and newer intel 2D code adds the AGP base to map offsets already, because it wasn't doing the AGP enable which used to set dev->agp->base. Credit goes to Zhenyu for finding the issue. Signed-off-by: Dave Airlie commit ba8bbcf6ff4650712f64c0ef61139c73898e2165 Author: Jesse Barnes Date: Thu Nov 22 14:14:14 2007 +1000 i915: add suspend/resume support Add suspend/resume support to the i915 driver. Moves some of the initialization into the driver load routine, and fixes up places where we assumed no dev_private existed in some of the cleanup paths. This allows us to suspend/resume properly even if X isn't running. Signed-off-by: Dave Airlie commit e8b962b6df50b74afed14af7f7a7d569b3ba70ac Author: Jesse Barnes Date: Thu Nov 22 14:02:38 2007 +1000 drm: update DRM sysfs support Make DRM devices use real Linux devices instead of class devices, which are going away. While we're at it, clean up some of the interfaces to take struct drm_device * or struct device * and use the global drm_class where needed instead of passing it around. Signed-off-by: Dave Airlie commit 8b40958032fd236194de57d29be9cf2c1f2643ee Author: Eric Anholt Date: Thu Nov 22 16:40:37 2007 +1000 drm: Initialize the AGP structure's base address at init rather than enable. Not all drivers call enable (intel), but they would still like to use this member in driver code. Signed-off-by: Dave Airlie commit ded23359ccb884605336ac2193608a7af9a3b117 Author: Dave Airlie Date: Mon Nov 5 13:07:28 2007 +1000 drm: move two function extern into the correct block commit bc5f4523f772cc7629c5c5a46cf4f2a07a5500b8 Author: Dave Airlie Date: Mon Nov 5 12:50:58 2007 +1000 drm: run cleanfile across drm tree Signed-off-by: Dave Airlie commit 8562b3f25d6e23c9d9e48a32672944d1e8a2aa97 Author: Dave Airlie Date: Mon Nov 5 12:37:41 2007 +1000 drm: some minor cleanups and changes to make memory manager merging easier. Signed-off-by: Dave Airlie commit 1c69fc2a9012e160c8d459f63df74a6b01db8322 Author: Roland Dreier Date: Wed Feb 6 21:07:54 2008 -0800 IB/mlx4: Consolidate code to get an entry from a struct mlx4_buf We use struct mlx4_buf for kernel QP, CQ and SRQ buffers, and the code to look up an entry is duplicated in get_cqe_from_buf() and the QP and SRQ versions of get_wqe(). Factor this out into mlx4_buf_offset(). This will also make it easier to switch over to using vmap() for buffers. Signed-off-by: Roland Dreier commit e19717fe2bb3624d8242f66d3825881d11a847dd Author: Dave Jones Date: Wed Feb 6 22:00:31 2008 -0500 [CPUFREQ] Add missing printk levels to e_powersaver Signed-off-by: Dave Jones commit 89c04849e71a7f8893474e5415cfd8bcb1b65d94 Author: Dave Jones Date: Wed Feb 6 21:55:26 2008 -0500 [CPUFREQ] Fix sparse warning in powernow-k8 arch/x86/kernel/cpu/cpufreq/powernow-k8.c:1238:9: warning: symbol '__ptr' shadows an earlier one arch/x86/kernel/cpu/cpufreq/powernow-k8.c:1238:9: originally declared here Signed-off-by: Dave Jones commit 535ae38c9f4025faadedd17fac5f11e79e1cfdb2 Author: Jesse Ahrens Date: Thu Jan 17 15:25:08 2008 -0600 [CPUFREQ] Support Model D parts and newer in e_powersaver Patch by VIA that updates e_powersaver.c to work with our model D parts and newer. From: Jesse Ahrens Signed-off-by: Dave Jones commit 6c9cda78b4f1fb89b0b6b8c03ce55dbdf0b1bdef Author: Mark Langsdorf Date: Fri Dec 14 13:00:23 2007 -0600 [CPUFREQ] Powernow-k8: Update to support the latest Turion processors The latest series of Turion X2 processors have a new XFAM model. Add support for them to powernow-k8.h. Signed-off-by: Mark Langsdorf Signed-off-by: Dave Jones commit 232e8884cb62f865d69383e42ef333215da504d4 Author: Stefano Brivio Date: Thu Nov 29 19:37:41 2007 +0100 [CPUFREQ] fix configuration help message cpufreq support can't be built as a module. Fix the related configuration help message. Signed-off-by: Stefano Brivio Signed-off-by: Dave Jones commit 4ae5c49ffe93a36e8f6140db069b4126289020c1 Author: Yinghai Lu Date: Tue Nov 20 19:38:27 2007 -0800 [CPUFREQ] powernow-k8 print pstate instead of fid/did for family 10h powernow-k8: Found 1 Quad-Core AMD Opteron(tm) Processor 8354 processors (4 cpu cores) (version 2.20.00) powernow-k8: 0 : fid 0x0 did 0x0 (2200 MHz) powernow-k8: 1 : fid 0x0 did 0x0 (2000 MHz) powernow-k8: 2 : fid 0x0 did 0x0 (1700 MHz) powernow-k8: 3 : fid 0x0 did 0x0 (1400 MHz) powernow-k8: 4 : fid 0x0 did 0x0 (1100 MHz) actually index for CPU_HW_PSTATE is pstate instead of fid/vid So print it out as pstate. powernow-k8: Found 1 Quad-Core AMD Opteron(tm) Processor 8354 processors (4 cpu cores) (version 2.20.00) powernow-k8: 0 : pstate 0 (2200 MHz) powernow-k8: 1 : pstate 1 (2000 MHz) powernow-k8: 2 : pstate 2 (1700 MHz) powernow-k8: 3 : pstate 3 (1400 MHz) powernow-k8: 4 : pstate 4 (1100 MHz) Signed-off-by: Yinghai Lu Cc: "Langsdorf, Mark" Cc: "Herrmann3, Andreas" Signed-off-by: Dave Jones commit 9e76988e9390a4ff4d171f690586d0c58186b47e Author: Venki Pallipadi Date: Fri Oct 26 10:18:21 2007 -0700 [CPUFREQ] Eliminate cpufreq_userspace scaling_setspeed deadlock Eliminate cpufreq_userspace scaling_setspeed deadlock. Luming Yu recently uncovered yet another cpufreq related deadlock. One thread that continuously switches the governors and the other thread that repeatedly cats the contents of cpufreq directory causes both these threads to go into a deadlock. Detailed examination of the deadlock showed the exact flow before the deadlock as: Thread 1 Thread 2 ________ ________ cats files under /sys/devices/.../cpufreq/ Set governor to userspace Adds a new sysfs entry for scaling_setspeed cats files under /sys/devices/.../cpufreq/ Set governor to performance Holds cpufreq_rw_sem in write mode Sends a STOP notify to userspace governor cat /sys/devices/.../cpufreq/scaling_setspeed Gets a handle on the above sysfs entry with sysfs_get_active Blocks while trying to get cpufreq_rw_sem in read mode Remove a sysfs entry for scaling_setspeed Blocks on sysfs_deactivate while waiting for earlier get_active (on other thread) to drain At this point both threads go into deadlock and any other thread that tries to do anything with sysfs cpufreq will also block. There seems to be no easy way to avoid this deadlock as long as cpufreq_userspace adds/removes the sysfs entry under same kobject as cpufreq. Below patch moves scaling_setspeed to cpufreq.c, keeping it always and calling back the governor on read/write. This is the cleanest fix I could think of, even though adding two callbacks in governor structure just for this seems unnecessary. Note that the change makes scaling_setspeed under /sys/.../cpufreq permanent and returns when governor is not userspace. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit b25e75899e449456409cfa1a3b042257c03d4355 Author: Dave Young Date: Wed Nov 21 14:52:15 2007 -0800 [CPUFREQ] gx-suspmod.c: use boot_cpu_data instead of current_cpu_data In preemptible kernel will report BUG: using smp_processor_id() in preemptible, so use boot_cpu_data instead of current_cpu_data. discussion in : http://lkml.org/lkml/2007/7/25/32 Signed-off-by: Dave Young CC: Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit e32d22f77666312648735f7cda0a114a8242b9d8 Author: Fenghua Yu Date: Wed Nov 21 14:52:15 2007 -0800 [CPUFREQ] fix incorrect comment on show_available_freqs() in freq_table.c In freq_table.c, show_available_freqs()'s comment is oberviously wrong. Change the comment to a new one to avoid confusion. Signed-off-by: Fenghua Yu Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit a4a9df5825bf8fc69618807436bf927aeb1e1c27 Author: Joe Perches Date: Mon Nov 19 17:48:06 2007 -0800 [CPUFREQ] drivers/cpufreq: Add missing "space" Signed-off-by: Joe Perches Signed-off-by: Dave Jones commit cdbec9a0ad35f9ace53b063c8ccf4e2db823e674 Author: Joe Perches Date: Mon Nov 19 17:48:01 2007 -0800 [CPUFREQ] arch/x86: Add missing "space" Signed-off-by: Joe Perches Signed-off-by: Dave Jones commit 290647b46e4d8c9bd9e89daa19b29ff71e14e4af Author: Dave Jones Date: Mon Nov 19 22:21:13 2007 -0500 [CPUFREQ] Remove pointless Kconfig dependancy X86_ELAN already depends on X86_32 Signed-off-by: Dave Jones commit 5229e87d59cef33539322948bd8e3b5a537f7c97 Author: Len Brown Date: Wed Feb 6 01:26:55 2008 -0500 ACPI: create /sys/firmware/acpi/interrupts See Documentation/ABI/testing/sysfs-firmware-acpi Based-on-original-patch-by: Luming Yu Acked-by: Greg Kroah-Hartman Signed-off-by: Len Brown commit 6ed31e92e94830c138fbd470486383380710069a Author: Éric Piel Date: Tue Feb 5 00:04:50 2008 +0100 ACPI: Taint kernel on ACPI table override (format corrected) When an ACPI table is overridden (for now this can happen only for DSDT) display a big warning and taint the kernel with flag A. Signed-off-by: Eric Piel Signed-off-by: Len Brown commit 71fc47a9adf8ee89e5c96a47222915c5485ac437 Author: Markus Gaugusch Date: Tue Feb 5 00:04:06 2008 +0100 ACPI: basic initramfs DSDT override support The basics of DSDT from initramfs. In case this option is selected, populate_rootfs() is called a bit earlier to have the initramfs content available during ACPI initialization. This is a very similar path to the one available at http://gaugusch.at/kernel.shtml but with some update in the documentation, default set to No and the change of populate_rootfs() the "Jeff Mahony way" (which avoids reading the initramfs twice). Signed-off-by: Thomas Renninger Signed-off-by: Eric Piel Signed-off-by: Len Brown commit 256ae6a720618cbbfacc5e62ea1fe7c129d1b644 Merge: e8318d9... ef66a9d... Author: Josh Boyer Date: Wed Feb 6 21:06:45 2008 -0600 Merge branch 'virtex-for-2.6.25' of git://git.secretlab.ca/git/linux-2.6-virtex into for-2.6.25 commit e8318d98e95ddd3969c0701b5d15ec961ce786b2 Author: Valentine Barshak Date: Wed Feb 6 05:36:49 2008 +1100 [POWERPC] 4xx: PCIe indirect DCR spinlock fix. Since we have mfdcri() and mtdcri() as macros, we can't use constructions, such as "mtdcri(base, reg, mfdcri(base, reg) | val)". In this case the mfdcri() stuff is not evaluated first. It's evaluated inside the mtdcri() macro and we have the dcr_ind_lock spinlock acquired twice. To avoid this error, I've added __mfdcri()/__mtdcri() inline functions that take the lock after register name fix-up. Signed-off-by: Valentine Barshak Acked-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer commit 853265e588153dca22c82b84df39bbb40abd7ad0 Author: Valentine Barshak Date: Tue Feb 5 01:57:55 2008 +1100 [POWERPC] Add missing native dcr dcr_ind_lock spinlock The include/asm-powerpc/dcr-native.h declares extern spinlock_t dcr_ind_lock; but it's actually isn't defined. This patch adds a missing dcr_ind_lock. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit c41f4af8fef6ef5bec7c9d2335ba19636058d2a7 Author: Sean MacLennan Date: Sat Jan 26 16:39:39 2008 +1100 [POWERPC] 4xx: Fix offset value on Warp board While merging, I found a small bug that I forgot to send. I add an offset to a value twice. Signed-off-by: Sean MacLennan Signed-off-by: Josh Boyer commit 3c0c6cb5eb2931712d5d750bf27d27d37a44d75e Author: Valentine Barshak Date: Tue Sep 25 05:29:52 2007 +1000 [POWERPC] 4xx: Add 440EPx Sequoia ehci dts entry Adds USB EHCI entry to PowerPC 440EPx Sequoia DTS. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit 41abd68e6fbc1fc57353327bebe2e0126d712607 Author: Valentine Barshak Date: Tue Sep 25 05:27:56 2007 +1000 [POWERPC] 4xx: Add USB ehci-ppc-of dts bindings. Adds EHCI OF bindings to documentation. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit fde9d16faee27907852b59e7c0cd0741975c37eb Author: Josh Boyer Date: Wed Feb 6 07:04:58 2008 -0600 [POWERPC] 4xx: Fix Walnut build The addition of of_rtc for the Walnut board was only half complete. Select OF_RTC in the Kconfig and include the appropriate header to make it compile. Signed-off-by: Josh Boyer commit 5f9646c3d9f92a93b96c40e65c3d268baada842f Author: Vlad Yasevich Date: Tue Feb 5 14:23:44 2008 -0500 [SCTP]: Make sure the chunk is off the transmitted list prior to freeing. In a few instances, we need to remove the chunk from the transmitted list prior to freeing it. This is because the free code doesn't do that any more and so we need to do it manually. Signed-off-by: Vlad Yasevich commit a869981423b96045c49420a6884c72528836cea8 Author: Wei Yongjun Date: Tue Feb 5 23:35:04 2008 +0900 [SCTP]: Fix kernel panic while received ASCONF chunk with bad serial number While recevied ASCONF chunk with serial number less then needed, kernel will treat this chunk as a retransmitted ASCONF chunk and find cached ASCONF-ACK chunk used sctp_assoc_lookup_asconf_ack(). But this function will always return NO-NULL. So response with cached ASCONF-ACKs chunk will cause kernel panic. In function sctp_assoc_lookup_asconf_ack(), if the cached ASCONF-ACKs list asconf_ack_list is empty, or if the serial being requested does not exists, the function as it currectly stands returns the actuall list_head asoc->asconf_ack_list, this is not a cache ASCONF-ACK chunk but a bogus pointer. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit b46ae36de451212d253f31112338517753739191 Author: Vlad Yasevich Date: Mon Jan 28 14:25:36 2008 -0500 [SCTP]: Set ports in every address returned by sctp_getladdrs() Thomas Dreibholz has reported that port numbers are not filled in the results of sctp_getladdrs() when the socket was bound to an ephemeral port. This is only true, if the address was not specified either. So, fill in the port number correctly. Signed-off-by: Vlad Yasevich commit c068be5491924c1c1c37dc046f36976c27bc7bb2 Author: Vlad Yasevich Date: Tue Jan 15 11:41:56 2008 -0500 [SCTP]: Correctly reap SSNs when processing FORWARD_TSN chunk When we recieve a FORWARD_TSN chunk, we need to reap all the queued fast-forwarded chunks from the ordering queue However, if we don't have them queued, we need to see if the next expected one is there as well. If it is, start deliver from that point instead of waiting for the next chunk to arrive. Signed-off-by: Vlad Yasevich commit 488b5ec871191359b9b79262a3d48456dae7ea5f Merge: a80a438... 7276744... Author: Linus Torvalds Date: Wed Feb 6 18:06:58 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs: 9p: fix p9_printfcall export 9p: transport API reorganization 9p: add remove function to trans_virtio 9p: Convert semaphore to spinlock for p9_idpool 9p: fix mmap to be read-only 9p: add support for sticky bit 9p: Fix soft lockup in virtio transport 9p: fix bug in attach-per-user 9p: block-based virtio client 9p: create transport rpc cut-thru 9p: fix bug in p9_clone_stat commit 727674435470537a5e75e5f81f96d5d97de57956 Author: Andrew Morton Date: Wed Feb 6 19:25:01 2008 -0600 9p: fix p9_printfcall export ERROR: "p9_printfcall" [net/9p/9pnet_virtio.ko] undefined! Signed-off-by: Andrew Morton Acked-by: Eric Van Hensbergen commit 8a0dc95fd976a052e5e799ef33e6c8e3141b5dff Author: Eric Van Hensbergen Date: Wed Feb 6 19:25:03 2008 -0600 9p: transport API reorganization This merges the mux.c (including the connection interface) with trans_fd in preparation for transport API changes. Ultimately, trans_fd will need to be rewritten to clean it up and simplify the implementation, but this reorganization is viewed as the first step. Signed-off-by: Eric Van Hensbergen commit f39335453fe79f4e12e263e7c6387dc9fb86bfff Author: Eric Van Hensbergen Date: Wed Feb 6 19:25:04 2008 -0600 9p: add remove function to trans_virtio Request from rusty: Just cleaning up patches for 2.6.25 merge, and noticed that net/9p/trans_virtio.c doesn't have a remove function. This will crash when removing the module (console doesn't have one because it can't really be removed). Signed-off-by: Eric Van Hensbergen commit dea7bbb603735ceceb07bb370eca17198faf7c8d Author: Anthony Liguori Date: Wed Feb 6 19:25:04 2008 -0600 9p: Convert semaphore to spinlock for p9_idpool When booting from v9fs, down_interruptible in p9_idpool_get() triggered a BUG as it was being called with IRQs disabled. A spinlock seems like the right thing to be using since the idr functions go out of their way not to sleep. This patch eliminates the BUG by converting the semaphore to a spinlock. Signed-off-by: Anthony Liguori Acked-by: Eric Van Hensbergen commit 14b8869ff4f00f105ea76678997b4d49d27baae3 Author: Eric Van Hensbergen Date: Wed Feb 6 19:25:05 2008 -0600 9p: fix mmap to be read-only v9fs was allowing writable mmap which could lead to kernel BUG() cases. This sets the mmap function to generic_file_readonly_mmap which (correctly) returns an error to applications which open mmap for writing. Signed-off-by: Eric Van Hensbergen commit d199d652c513a010145a5a0d4e64c96361b97bee Author: Anthony Liguori Date: Wed Feb 6 19:25:06 2008 -0600 9p: add support for sticky bit GDM gets unhappy if /var/gdm doesn't have the sticky bit set. This patch adds support for the sticky bit in much the same way setuid/setgid is supported. With this patch, I can launch X from a v9fs rootfs (although I quickly run out of fds in the server once gnome starts up). Signed-off-by: Anthony Liguori Acked-by: Eric Van Hensbergen commit 7c7d90f2dda6daec5a6aaf8f97aacc10ee4deb77 Author: Eric Van Hensbergen Date: Wed Feb 6 19:25:07 2008 -0600 9p: Fix soft lockup in virtio transport This fixes a poorly placed spinlock which could result in a soft lockup condition. Signed-off-by: Eric Van Hensbergen commit c55703d807a8c6c239a5fea7b9cd7da08c27d7a9 Author: Eric Van Hensbergen Date: Wed Feb 6 19:25:08 2008 -0600 9p: fix bug in attach-per-user When a new user attached at a directory other than the root, he would end up in the parent directory of the cwd. This was due to a logic error in the code which attaches the user at the mount point and walks back to the cwd. This patch fixes that. Signed-off-by: Eric Van Hensbergen commit e2735b7720320b68590ca2b32b78ca91213931b2 Author: Eric Van Hensbergen Date: Wed Feb 6 19:25:58 2008 -0600 9p: block-based virtio client This replaces the console-based virto client with a block-based client using a single request queue. Signed-off-by: Eric Van Hensbergen commit 043aba403e9958c6526c9279b63919273cb09c13 Author: Eric Van Hensbergen Date: Wed Feb 6 19:25:09 2008 -0600 9p: create transport rpc cut-thru Add a new transport function which allows a cut-thru directly to the transport instead of processing request through the mux if the cut-thru exists. Signed-off-by: Eric Van Hensbergen commit afcf0c13aeac04a39fa4d1eafdb75604b81af860 Author: Martin Stava Date: Tue Feb 5 09:27:09 2008 -0600 9p: fix bug in p9_clone_stat This patch fixes a bug in the copying of 9P stat information where string references weren't being updated properly. Signed-off-by: Martin Sava Signed-off-by: Eric Van Hensbergen commit a80a438bd08827d0581fca849f3e4e539a22b39c Author: Randy Dunlap Date: Wed Feb 6 16:29:55 2008 -0800 docbook: dmapool: fix fatal changed filename Docbook fatal error, file was moved: docproc: linux-2.6.24-git15/drivers/base/dmapool.c: No such file or directory Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit de0723dcca6e593a12a259798a54eb0e82628fb8 Author: Nathan Fontenot Date: Thu Feb 7 07:37:40 2008 +1100 [POWERPC] Update default irq servers when boot cpu is removed The xics code does update the default server information when the boot cpu is removed. This patch recognizes when the boot cpu is being removed and updates the appropriate information based on the new 'boot cpu'. Failure to update this information can causes us to leave irqs pinned to cpus that are being removed, especially when removing the boot cpu. The cpu is removed from the kernel, but cpu dlpar remove operations fail since we cannot return the cpu to the hypervisor. Signed-off-by: Nathan Fonteno Signed-off-by: Paul Mackerras commit b99e62608b5b9f8066629e7403a5f15401049b98 Author: Nathan Fontenot Date: Thu Feb 7 07:37:35 2008 +1100 [POWERPC] Remove redundant of_get_cpu_node routine It appears that xics.c has its own of_get_cpu_node(). Remove this and use the common one from prom.c. Signed-off-by: Nathan Fontenot Signed-off-by: Paul Mackerras commit c3e8506c54f7263e71289e9e66533236d09f2fb7 Author: Nathan Fontenot Date: Thu Feb 7 07:37:31 2008 +1100 [POWERPC] Split xics_teardown_cpu() This splits off the kexec path bits of the xics_teardown_cpu() routine into its own xics_kexec_teardown_cpu() routine. With the previous combined routine the CPPR for a cpu that is being removed may have its CPPR reset in the plpar_eoi() call (which explicitly sets the CPPR to a non-zero value). Splitting of the kexec bits of the code prevents this from happening in the cpu remove path. Once again, this does not cause the cpu remove from the kernel to fail, but it does cause cpu dlpar operations to not be able to return the cpu to the hypervisor. Signed-off-by: Nathan Fontenot Signed-off-by: Paul Mackerras commit a52572ddcd3d16cc5ccc9679bcbb7256d0ddad84 Author: Nathan Fontenot Date: Thu Feb 7 07:37:26 2008 +1100 [POWERPC] Update irq descriptor affinity The affinity mask in the virq descriptor needs to be set before we reset the affinity for the virq. Without doing this the call to get the new irq server fails and we end up leaving the virq pinned to the cpu we are removing. This does not fail the cpu remove from the kernel, but it does prevent cpu dlpar remove operations from returning the cpu to the hypervisor. Signed-off-by: Nathan Fontenot Signed-off-by: Paul Mackerras commit 25431333813686654907ab987fb5de10c10a16db Author: Grant Likely Date: Thu Feb 7 05:18:34 2008 +1100 [POWERPC] bootwrapper: Build multiple cuImages Currently, the kernel uses CONFIG_DEVICE_TREE to wrap a kernel image with a fdt blob which means for any given configuration only one dts file can be selected and so support for only one board can be built This moves the selection of the default .dts file out of the kernel config and into the bootwrapper makefile. The makefile chooses which images to build based on the kernel config and the dts source file name is taken directly from the image name. For example "cuImage.ebony" will use "ebony.dts" as the device tree source file. In addition, this patch allows a specific image to be requested from the command line by adding "cuImage.%" and "treeImage.%" targets to the list of valid built targets in arch/powerpc/Makefile. This allows the default dts selection to be overridden. Another advantage to this change is it allows a single defconfig to be supplied for all boards using the same chip family and only differing in the device tree. Important note: This patch adds two new zImage targets; zImage.dtb.% and zImage.dtb.initrd.% for zImages with embedded dtb files. Currently there are 5 platforms which require this: ps3, ep405, mpc885ads, ep88xc, adder875-redboot and ep8248e. This patch *changes the zImage filenames* for those platforms. ie. 'zImage.ps3' is now 'zImage.dtb.ps3'. This new zImage.dtb targets were added so that the .dts file could be part of the dependancies list for building them. Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit 1daa6d08d1257aa61f376c3cc4795660877fb9e3 Author: Balbir Singh Date: Fri Feb 1 15:57:31 2008 +1100 [POWERPC] Fake NUMA emulation for PowerPC Here's a dumb simple implementation of fake NUMA nodes for PowerPC. Fake NUMA nodes can be specified using the following command line option numa=fake= node range is of the format ,,... Each of the rangeX parameters is passed using memparse(). I find the patch useful for fake NUMA emulation on my simple PowerPC machine. I've tested it on a numa box with the following arguments numa=fake=512M numa=fake=512M,768M numa=fake=256M,512M mem=512M numa=fake=1G mem=768M numa=fake= without any numa= argument The other side-effect introduced by this patch is that; in the case where we don't have NUMA information, we now set a node online after adding each LMB. This node could very well be node 0, but in the case that we enable fake NUMA nodes, when we cross node boundaries, we need to set the new node online. Signed-off-by: Balbir Singh Signed-off-by: Paul Mackerras commit 7dbb922cea70897dd0e76c6cf8a300b061ca2531 Author: Olof Johansson Date: Thu Jan 31 14:34:47 2008 +1100 [POWERPC] Fix compilation for CONFIG_DEBUGGER=n and CONFIG_KEXEC=y Looks like "[POWERPC] kdump shutdown hook support" broke builds when CONFIG_DEBUGGER=n and CONFIG_KEXEC=y, such as in g5_defconfig: arch/powerpc/kernel/crash.c: In function 'default_machine_crash_shutdown': arch/powerpc/kernel/crash.c:388: error: '__debugger_fault_handler' undeclared (first use in this function) arch/powerpc/kernel/crash.c:388: error: (Each undeclared identifier is reported only once arch/powerpc/kernel/crash.c:388: error: for each function it appears in.) Move the debugger hooks to under CONFIG_DEBUGGER || CONFIG_KEXEC, since that's when the crash code is enabled. (I should have caught this with my build-script pre-merge, my bad. :( ) Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 1f7d4f8395093021ed2262296179cfe71bd5e2ec Merge: b370b08... 25ae3a0... Author: Paul Mackerras Date: Thu Feb 7 11:21:09 2008 +1100 Merge branch 'for-2.6.25' of git://git.secretlab.ca/git/linux-2.6-mpc52xx into for-2.6.25 commit d24fbcda0c4988322949df3d759f1cfb32b32953 Author: Joel Becker Date: Fri Jan 25 17:02:21 2008 -0800 ocfs2: Negotiate locking protocol versions. Currently, when ocfs2 nodes connect via TCP, they advertise their compatibility level. If the versions do not match, two nodes cannot speak to each other and they disconnect. As a result, this provides no forward or backwards compatibility. This patch implements a simple protocol negotiation at the dlm level by introducing a major/minor version number scheme for entities that communicate. Specifically, o2dlm has a major/minor version for interaction with o2dlm on other nodes, and ocfs2 itself has a major/minor version for interacting with the filesystem on other nodes. This will allow rolling upgrades of ocfs2 clusters when changes to the locking or network protocols can be done in a backwards compatible manner. In those cases, only the minor number is changed and the negotatied protocol minor is returned from dlm join. In the far less likely event that a required protocol change makes backwards compatibility impossible, we simply bump the major number. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 3e6bdf473f489664dac4d7511d26c7ac3dfdc748 Merge: 3d4d458... 58d5d0d... Author: Linus Torvalds Date: Wed Feb 6 13:54:09 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 * git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: x86: fix deadlock, make pgd_lock irq-safe virtio: fix trivial build bug x86: fix mttr trimming x86: delay CPA self-test and repeat it x86: fix 64-bit sections generic: add __FINITDATA x86: remove suprious ifdefs from pageattr.c x86: mark the .rodata section also NX x86: fix iret exception recovery on 64-bit cpuidle: dubious one-bit signed bitfield in cpuidle.h x86: fix sparse warnings in powernow-k8.c x86: fix sparse error in traps_32.c x86: trivial sparse/checkpatch in quirks.c x86 ptrace: disallow null cs/ss MAINTAINERS: RDC R-321x SoC maintainer brk randomization: introduce CONFIG_COMPAT_BRK brk: check the lower bound properly x86: remove X2 workaround x86: make spurious fault handler aware of large mappings x86: make traps on entry code be debuggable in user space, 64-bit commit 58d5d0d8dd52cbca988af24b5692a20b00285543 Author: Ingo Molnar Date: Wed Feb 6 22:39:45 2008 +0100 x86: fix deadlock, make pgd_lock irq-safe lockdep just caught this one: ================================= [ INFO: inconsistent lock state ] 2.6.24 #38 --------------------------------- inconsistent {in-softirq-W} -> {softirq-on-W} usage. swapper/1 [HC0[0]:SC0[0]:HE1:SE1] takes: (pgd_lock){-+..}, at: [] mm_init+0x1da/0x250 {in-softirq-W} state was registered at: [] 0xffffffffffffffff irq event stamp: 394559 hardirqs last enabled at (394559): [] get_page_from_freelist+0x30a/0x4c0 hardirqs last disabled at (394558): [] get_page_from_freelist+0x125/0x4c0 softirqs last enabled at (393952): [] __do_softirq+0xce/0xe0 softirqs last disabled at (393945): [] call_softirq+0x1c/0x30 other info that might help us debug this: no locks held by swapper/1. stack backtrace: Pid: 1, comm: swapper Not tainted 2.6.24 #38 Call Trace: [] print_usage_bug+0x18b/0x190 [] mark_lock+0x53d/0x560 [] __lock_acquire+0x3ca/0xed0 [] lock_acquire+0xa8/0xe0 [] ? mm_init+0x1da/0x250 [] _spin_lock+0x30/0x70 [] mm_init+0x1da/0x250 [] mm_alloc+0x39/0x50 [] bprm_mm_init+0x2a/0x1a0 [] do_execve+0x7b/0x220 [] sys_execve+0x46/0x70 [] kernel_execve+0x64/0xd0 [] ? _stext+0x1e/0x20 [] init_post+0x9a/0xf0 [] ? trace_hardirqs_on_thunk+0x35/0x3a [] ? trace_hardirqs_on+0xba/0xd0 [] ? child_rip+0xa/0x12 [] ? restore_args+0x0/0x44 [] ? child_rip+0x0/0x12 turns out that pgd_lock has been used on 64-bit x86 in an irq-unsafe way for almost two years, since commit 8c914cb704a11460e. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a09771bef9a375091f8ae706d992e20970e5d1e7 Author: Ingo Molnar Date: Wed Feb 6 22:39:45 2008 +0100 virtio: fix trivial build bug fix build bug: drivers/virtio/virtio_balloon.c: In function 'fill_balloon': drivers/virtio/virtio_balloon.c:98: error: implicit declaration of function 'msleep' Acked-by: Rusty Russell Signed-off-by: Ingo Molnar commit 20651af9ac60fd6e31360688ad44861a7d05256a Author: Yinghai Lu Date: Wed Feb 6 22:39:45 2008 +0100 x86: fix mttr trimming Pavel Emelyanov reported that his networking card did not work and bisected it down to: " The commit 093af8d7f0ba3c6be1485973508584ef081e9f93 x86_32: trim memory by updating e820 broke my e1000 card: on loading driver says that e1000: probe of 0000:04:03.0 failed with error -5 and the interface doesn't appear. " on a 32-bit kernel, base will overflow when try to do PAGE_SHIFT, and highest_addr will always less 4G. So use pfn instead of address to avoid the overflow when more than 4g RAM is installed on a 32-bit kernel. Many thanks to Pavel Emelyanov for reporting and testing it. Bisected-by: Pavel Emelyanov Signed-off-by: Yinghai Lu Tested-by: Pavel Emelyanov Signed-off-by: Ingo Molnar commit 971a52d66a3e87d4d2f5d3455e62680447cdb8e9 Author: Ingo Molnar Date: Wed Feb 6 22:39:45 2008 +0100 x86: delay CPA self-test and repeat it delay the CPA self-test so that any impact (corruption) of user-space pagetables can be triggered. Repeat the test every 30 seconds. this would have prevented the bug fixed by 8cb2a7c1e95e472b5, at its source. Signed-off-by: Ingo Molnar commit f1fbabb312d657262322f4ce68b30a95f501945c Author: Sam Ravnborg Date: Wed Feb 6 22:39:45 2008 +0100 x86: fix 64-bit sections fix 64-bit section warnings. Signed-off-by: Ingo Molnar commit 9f9975a55dbcd82ff4a222691a6dcd7b3145b9c0 Author: Ingo Molnar Date: Wed Feb 6 22:39:45 2008 +0100 generic: add __FINITDATA Signed-off-by: Ingo Molnar commit cc842b82cc513ebc78bef6eeaacb5f6335851bcb Author: Arjan van de Ven Date: Wed Feb 6 22:39:45 2008 +0100 x86: remove suprious ifdefs from pageattr.c The .rodata section really should just be read only; the config option is there to make breaking up the 2Mb page an option (so people whos machines give more performance for the 2Mb case can opt to do so). But when the page gets split anyway, this is no longer an issue, so clean up the code and remove the ifdefs Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 984bb80d94d891592ab16d4d129b988792752c7b Author: Arjan van de Ven Date: Wed Feb 6 22:39:45 2008 +0100 x86: mark the .rodata section also NX The .rodata section shouldn't just be read-only, but also non-executable. This is free since we've broken up the 2MB page already anyway. also update test_nx to check for this. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit a57dae3aa4d00a000b5bac4238025438204c78b2 Author: Roland McGrath Date: Wed Feb 6 22:39:45 2008 +0100 x86: fix iret exception recovery on 64-bit This change broke recovery of exceptions in iret: commit 72fe4858544292ad64600765cb78bc02298c6b1c Author: Glauber de Oliveira Costa x86: replace privileged instructions with paravirt macros The ENTRY(native_iret) macro adds alignment padding before the iretq instruction, so "iret_label" no longer points exactly at the instruction. It was sloppy to leave the old "iret_label" label behind when replacing its nearby use. Removing it would have revealed the other use of the label later in the file, and upon noticing that use, anyone exercising the minimum of attention to detail expected of anyone touching this subtle code would realize it needed to change as well. Signed-off-by: Roland McGrath Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b5556a67f08559b6c1597f6396c1f9ef460f62b4 Author: Harvey Harrison Date: Wed Feb 6 22:39:44 2008 +0100 cpuidle: dubious one-bit signed bitfield in cpuidle.h fix these sparse warnings: CHECK arch/x86/kernel/acpi/cstate.c include/linux/cpuidle.h:82:17: error: dubious one-bit signed bitfield CHECK arch/x86/kernel/acpi/processor.c include/linux/cpuidle.h:82:17: error: dubious one-bit signed bitfield CHECK arch/x86/kernel/cpu/cpufreq/powernow-k7.c include/linux/cpuidle.h:82:17: error: dubious one-bit signed bitfield CHECK arch/x86/kernel/cpu/cpufreq/powernow-k8.c include/linux/cpuidle.h:82:17: error: dubious one-bit signed bitfield CHECK arch/x86/kernel/cpu/cpufreq/longhaul.c include/linux/cpuidle.h:82:17: error: dubious one-bit signed bitfield CHECK arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c include/linux/cpuidle.h:82:17: error: dubious one-bit signed bitfield Signed-off-by: Harvey Harrison Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit d7ac12fa05ed839d5a426795409fdf1a480e3f7a Author: Harvey Harrison Date: Wed Feb 6 22:39:44 2008 +0100 x86: fix sparse warnings in powernow-k8.c arch/x86/kernel/cpu/cpufreq/powernow-k8.c:830:7: warning: symbol 'hi' shadows an earlier one arch/x86/kernel/cpu/cpufreq/powernow-k8.c:824:6: originally declared here arch/x86/kernel/cpu/cpufreq/powernow-k8.c:830:15: warning: symbol 'lo' shadows an earlier one arch/x86/kernel/cpu/cpufreq/powernow-k8.c:824:14: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit deef79ef351225a9fe02e41a40cb125ed03a3e6b Author: Harvey Harrison Date: Wed Feb 6 22:39:44 2008 +0100 x86: fix sparse error in traps_32.c This was being used to ensure the proper alignment of the FXSAVE/FXRSTOR data. This would create a sparse error in the _correct_ cases, hiding further warnings. Use BUILD_BUG_ON instead. Signed-off-by: Harvey Harrison Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4a5a77d106d6b43183662d4ad37a613bbaa9b829 Author: Harvey Harrison Date: Wed Feb 6 22:39:44 2008 +0100 x86: trivial sparse/checkpatch in quirks.c arch/x86/kernel/quirks.c:384:3: warning: returning void-valued expression arch/x86/kernel/quirks.c:387:3: warning: returning void-valued expression arch/x86/kernel/quirks.c:390:3: warning: returning void-valued expression arch/x86/kernel/quirks.c:393:3: warning: returning void-valued expression Signed-off-by: Harvey Harrison Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c63855d04034c96db791a7217954c93aa66d24cb Author: Roland McGrath Date: Wed Feb 6 22:39:44 2008 +0100 x86 ptrace: disallow null cs/ss In my revamp of the x86 ptrace code for setting register values, I accidentally omitted a check that was there in the old code. Allowing %cs to be 0 causes a bad crash in recovery from iret failure. This patch fixes that regression against 2.6.24, and adds a comment that should help prevent this subtlety from being overlooked again. Signed-off-by: Roland McGrath Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c1f766b5519f9b5a51b0e6884ed9e02bce775ea8 Author: Florian Fainelli Date: Wed Feb 6 22:39:44 2008 +0100 MAINTAINERS: RDC R-321x SoC maintainer Signed-off-by: Florian Fainelli Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 32a932332c8bad842804842eaf9651ad6268e637 Author: Ingo Molnar Date: Wed Feb 6 22:39:44 2008 +0100 brk randomization: introduce CONFIG_COMPAT_BRK based on similar patch from: Pavel Machek Introduce CONFIG_COMPAT_BRK. If disabled then the kernel is free (but not obliged to) randomize the brk area. Heap randomization breaks ancient binaries, so we keep COMPAT_BRK enabled by default. Signed-off-by: Ingo Molnar commit 4cc6028d4040f95cdb590a87db478b42b8be0508 Author: Jiri Kosina Date: Wed Feb 6 22:39:44 2008 +0100 brk: check the lower bound properly There is a check in sys_brk(), that tries to make sure that we do not underflow the area that is dedicated to brk heap. The check is however wrong, as it assumes that brk area starts immediately after the end of the code (+bss), which is wrong for example in environments with randomized brk start. The proper way is to check whether the address is not below the start_brk address. Signed-off-by: Jiri Kosina Signed-off-by: Ingo Molnar commit 2d684cd6d9cf0c6a0e28978362671b6e2d8fb56c Author: Ingo Molnar Date: Wed Feb 6 22:39:44 2008 +0100 x86: remove X2 workaround With the spurious handler fix, the X2 does not lock up anymore. Signed-off-by: Ingo Molnar commit d8b57bb700a73872fd06b891d7c9bc4cea1a6af4 Author: Thomas Gleixner Date: Wed Feb 6 22:39:43 2008 +0100 x86: make spurious fault handler aware of large mappings In very rare cases, on certain CPUs, we could end up in the spurious fault handler and ignore a large pud/pmd mapping. The resulting pte pointer points into the mapped physical space and dereferencing it will fault recursively. Make the code aware of large mappings and do the permission check on the pmd/pud entry, when a large pud/pmd mapping is detected. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 3aa4b37d3e899cfe7a9cbdcda2b277df4c1f210d Author: Roland McGrath Date: Wed Feb 6 22:39:43 2008 +0100 x86: make traps on entry code be debuggable in user space, 64-bit Unify the x86-64 behavior for 32-bit processes that set bogus %cs/%ss values (the only ones that can fault in iret) match what the native i386 behavior is. (do not kill the task via do_exit but generate a SIGSEGV signal) [ tglx@linutronix.de: build fix ] Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar commit 25ae3a0739c69425a911925b43213895a9802b98 Author: John Rigby Date: Tue Jan 29 04:28:56 2008 +1100 [POWERPC] mpc512x: Add MPC512x PSC support to MPC52xx psc driver Add 512x support using the psc_ops framework established with the previous patch. All 512x PSCs share the same interrupt so add IRQF_SHARED to irq flags. Signed-off-by: John Rigby Signed-off-by: Grant Likely commit 599f030cc596cd41a0f966afd4cee2e2fc48ee86 Author: John Rigby Date: Tue Jan 29 04:28:55 2008 +1100 [POWERPC] mpc512x: Factor out 5200 dependencies from 52xx psc driver PSC devices are different between the mpc5200 and the mpc5121 this patch localizes the differences in preparation for adding mpc5121 support to the psc uart driver. Signed-off-by: John Rigby Signed-off-by: Grant Likely commit bd05f91f95b6ca692097f95244bdda25bd929216 Author: John Rigby Date: Tue Jan 29 04:28:54 2008 +1100 [POWERPC] mpc512x: Device tree for MPC5121 ADS Minimal /dts-v1/ device tree for mpc5121 ads. port-number property in uart nodes will go away after the driver learns to use aliases Signed-off-by: John Rigby Signed-off-by: Grant Likely commit e177edcd1505d5ac5f2edcd1f2df76946f4eae5d Author: John Rigby Date: Tue Jan 29 04:28:53 2008 +1100 [POWERPC] mpc512x: Basic platform support 512x is very similar to 83xx and most of this is patterned after code from 83xx. New platform: changed: arch/powerpc/Kconfig arch/powerpc/platforms/Kconfig arch/powerpc/platforms/Kconfig.cputype arch/powerpc/platforms/Makefile new: arch/powerpc/platforms/512x/* include/asm-powerpc/mpc512x.h Signed-off-by: John Rigby Signed-off-by: Grant Likely commit 3d4d4582e5b3f67a68f2cf32fd5b70d8d80f119d Merge: 8f1bfa4... 47437b2... Author: Linus Torvalds Date: Wed Feb 6 11:16:11 2008 -0800 Merge branch 'async-tx-for-linus' of git://lost.foo-projects.org/~dwillia2/git/iop into fix * 'async-tx-for-linus' of git://lost.foo-projects.org/~dwillia2/git/iop: async_tx: allow architecture specific async_tx_find_channel implementations async_tx: replace 'int_en' with operation preparation flags async_tx: kill tx_set_src and tx_set_dest methods async_tx: kill ASYNC_TX_ASSUME_COHERENT iop-adma: use LIST_HEAD instead of LIST_HEAD_INIT async_tx: use LIST_HEAD instead of LIST_HEAD_INIT async_tx: fix compile breakage, mark do_async_xor __always_inline commit 8f1bfa4c5c093e97154be4ec969bdf7190aeff6a Author: Daniel Walker Date: Wed Feb 6 06:50:37 2008 -0800 scsi: megaraid: trivial drop duplicate mutex.h include Signed-off-by: Daniel Walker Signed-off-by: Linus Torvalds commit 8ed5de58cf4c45ff0ca97cb0d48d76f0e42faec6 Merge: 2dd550b... 394c675... Author: Linus Torvalds Date: Wed Feb 6 10:48:34 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6: SELinux: Remove security_get_policycaps() security: allow Kconfig to set default mmap_min_addr protection commit 2dd550b90b03d5f236a18ae491bf6e70798469a8 Merge: 8755e56... bc5468f... Author: Linus Torvalds Date: Wed Feb 6 10:47:46 2008 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: ata_piix.c:piix_init_one() must be __devinit sata_via.c: Remove missleading comment. libata-core: unblacklist HITACHI drives sata_nv: fix ATAPI issues with memory over 4GB (v7) ata: drivers/ata/sata_mv.c needs dmapool.h libata: kill now unused n_iter and fix sata_fsl ahci: fix CAP.NP and PI handling sata_mv: Support SoC controllers Rename: linux/pata_platform.h to linux/ata_platform.h commit 8755e568250ecd3149ecd3495d8070f3a5384f73 Merge: e33f663... 655d2ce... Author: Linus Torvalds Date: Wed Feb 6 10:47:18 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (35 commits) virtio net: fix oops on interface-up Fix PHY Lib support for gianfar and ucc_geth forcedeth: preserve registers forcedeth: phy status fix forcedeth: restart tx/rx ipvs: Make wrr "no available servers" error message rate-limited [PPPOL2TP]: Label unused warning when CONFIG_PROC_FS is not set. [NET_SCHED]: cls_flow: support classification based on VLAN tag [VLAN]: Constify skb argument to vlan_get_tag() [NET_SCHED]: cls_flow: fix key mask validity check [NET_SCHED]: em_meta: fix compile warning b43: Fix DMA for 30/32-bit DMA engines b43: fix build with CONFIG_SSB_PCIHOST=n mac80211: Is not EXPERIMENTAL anymore iwl3945-base.c: fix off-by-one errors b43legacy: fix DMA slot resource leakage b43legacy: drop packets we are not able to encrypt b43legacy: fix suspend/resume b43legacy: fix PIO crash Generic HDLC - use random_ether_addr() ... commit e33f6635da037ed4d2634ee6bdf5c4d601946c18 Merge: 55850f4... 38192d5... Author: Linus Torvalds Date: Wed Feb 6 10:46:58 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64]: Temporarily remove IOMMU merging code. [SPARC64]: Update defconfig. [SPARC]: Add new timerfd syscall entries. commit 55850f47333c6e7d932e6426eaed863b27c9cd7f Author: Anton Vorontsov Date: Wed Feb 6 01:40:23 2008 -0800 fb: fix warning: no return statement in function returning non-void Warning is reproducible with selected FB_CFB_REV_PIXELS_IN_BYTE. CC drivers/video/sysfillrect.o In file included from drivers/video/sysfillrect.c:18: drivers/video/fb_draw.h: In function `fb_rev_pixels_in_long': drivers/video/fb_draw.h:94: warning: no return statement in function returning non-void CC drivers/video/syscopyarea.o In file included from drivers/video/syscopyarea.c:22: drivers/video/fb_draw.h: In function `fb_rev_pixels_in_long': drivers/video/fb_draw.h:94: warning: no return statement in function returning non-void Signed-off-by: Anton Vorontsov Cc: "Antonino A. Daplas" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6659a0f0bb7481d0f94ca3f203a4e1e406a9694d Author: Johann Felix Soden Date: Wed Feb 6 01:40:22 2008 -0800 virtio: add missing #include Include linux/delay.h to fix compiler error: drivers/virtio/virtio_balloon.c: In function 'fill_balloon': drivers/virtio/virtio_balloon.c:98: error: implicit declaration of function 'msleep' Signed-off-by: Johann Felix Soden Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd1939de9061dbc5cac44ffb4425aaf4c9b894f1 Author: Jan Kara Date: Wed Feb 6 01:40:21 2008 -0800 ext3: fix lock inversion in direct IO We cannot start transaction in ext3_direct_IO() and just let it last during the whole write because dio_get_page() acquires mmap_sem which ranks above transaction start (e.g. because we have dependency chain mmap_sem->PageLock->journal_start, or because we update atime while holding mmap_sem) and thus deadlocks could happen. We solve the problem by starting a transaction separately for each ext3_get_block() call. We *could* have a problem that we allocate a block and before its data are written out the machine crashes and thus we expose stale data. But that does not happen because for hole-filling generic code falls back to buffered writes and for file extension, we add inode to orphan list and thus in case of crash, journal replay will truncate inode back to the original size. [akpm@linux-foundation.org: build fix] Signed-off-by: Jan Kara Cc: Cc: Zach Brown Cc: Badari Pulavarty Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d8fd66aaea7fe3e4f1ea044a563f129e3b9f05ff Author: Olaf Hering Date: Wed Feb 6 01:40:19 2008 -0800 jbd.h: hide kernel only code Move a few kernel-only things into __KERNEL__. Signed-off-by: Olaf Hering Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e1d7ae24a23f1f366d6c5408f1ad11db69a748c6 Author: Mariusz Kozlowski Date: Wed Feb 6 01:40:18 2008 -0800 ext3: remove unused code from ext3_find_entry() Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 859cb93679929edb88642414bf37789ea263bc47 Author: Akinobu Mita Date: Wed Feb 6 01:40:17 2008 -0800 ext[234]: cleanup ext[234]_bg_num_gdb() Use ext[234]_bg_has_super() to remove duplicate code. Signed-off-by: Akinobu Mita Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb01bfdac733f1925561eea52c60072f2fbcdc97 Author: Akinobu Mita Date: Wed Feb 6 01:40:16 2008 -0800 ext[234]: remove unused argument for ext[234]_find_goal() The argument chain for ext[234]_find_goal() is not used. This patch removes it and fixes comment as well. Cc: Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 197cd65accc6a274dabcd81f4811ba5d9a4856df Author: Akinobu Mita Date: Wed Feb 6 01:40:16 2008 -0800 ext[234]: use ext[234]_get_group_desc() Use ext[234]_get_group_desc() to get group descriptor from group number. Cc: Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 144704e5227362cbd694b0b3c3aa4ac99a0115c9 Author: Akinobu Mita Date: Wed Feb 6 01:40:15 2008 -0800 ext[234]: fix comment for nonexistent variable The comment in ext[234]_new_blocks() describes about "i". But there is no local variable called "i" in that scope. I guess it has been renamed to group_no. Cc: Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1eca93f9cafdec4a332ace9b0fc0d3886d430c28 Author: Aneesh Kumar K.V Date: Wed Feb 6 01:40:14 2008 -0800 ext3: change the default behaviour on error ext3 file system was by default ignoring errors and continuing. This is not a good default as continuing on error could lead to file system corruption. Change the default to mark the file system readonly. Debian and ubuntu already does this as the default in their fstab. Signed-off-by: Aneesh Kumar K.V Cc: Cc: Eric Sandeen Cc: Jan Kara Cc: Dave Jones Cc: Chuck Ebbert Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit feda58d37ae0efe22e711a74e26fb541d4eb1baa Author: Aneesh Kumar K.V Date: Wed Feb 6 01:40:13 2008 -0800 ext3: return after ext3_error in case of failures This fixes some instances where we were continuing after calling ext3_error. ext3_error calls panic only if errors=panic mount option is set. So we need to make sure we return correctly after ext3_error call Signed-off-by: Aneesh Kumar K.V Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 533083836fd55ca67ce35ab3d914b74ec1a5b9a8 Author: Adrian Bunk Date: Wed Feb 6 01:40:12 2008 -0800 make jbd/journal.c:__journal_abort_hard() static __journal_abort_hard() can now become static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e86e14385d8473a71809ff5c2be4b06867af4b5e Author: Andi Kleen Date: Wed Feb 6 01:40:11 2008 -0800 BKL-removal: remove incorrect comment refering to lock_kernel() from jbd/jbd2 None of the callers of this function does actually take the BKL as far as I can see. So remove the comment refering to the BKL. Signed-off-by: Andi Kleen Cc: Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d71cadd6bc9834710c0b045e3abedd0c56ff1c37 Author: Andi Kleen Date: Wed Feb 6 01:40:11 2008 -0800 BKL-removal: remove incorrect BKL comment in ext2 No BKL used anywhere, so don't mention it. Signed-off-by: Andi Kleen Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 14f9f7b28e9f4c2102337d45f8d324c004a57481 Author: Andi Kleen Date: Wed Feb 6 01:40:10 2008 -0800 BKL-removal: convert ext2 over to use unlocked_ioctl I checked ext2_ioctl and could not find anything in there that would need the BKL. So convert it over to use unlocked_ioctl Signed-off-by: Andi Kleen Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f762e9054ff84aa90f037a49747ac61b36609d81 Author: Aneesh Kumar K.V Date: Wed Feb 6 01:40:09 2008 -0800 ext3: add block bitmap validation When a new block bitmap is read from disk in read_block_bitmap() there are a few bits that should ALWAYS be set. In particular, the blocks given corresponding to block bitmap, inode bitmap and inode tables. Validate the block bitmap against these blocks. Signed-off-by: Aneesh Kumar K.V Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01584fa6456dafbaf5a94ad7fb2aa3e3ecd7a7ba Author: Aneesh Kumar K.V Date: Wed Feb 6 01:40:08 2008 -0800 ext2: add block bitmap validation When a new block bitmap is read from disk in read_block_bitmap() there are a few bits that should ALWAYS be set. In particular, the blocks given corresponding to block bitmap, inode bitmap and inode tables. Validate the block bitmap against these blocks. Signed-off-by: Aneesh Kumar K.V Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 445a1d3e24b806bff01e422f0ddadf68e0eb5d0f Author: Bjorn Helgaas Date: Wed Feb 6 01:40:08 2008 -0800 PNP: disable Supermicro H8DCE motherboard resources that overlap SATA BARs Some Supermicro BIOSes describe a SATA PCI BAR as a motherboard resource. The PNP system driver claims motherboard resources, and this prevents the sata_nv driver from requesting it later. This patch disables the PNP0C01/PNP0C02 resources so they won't be claimed by the PNP system driver, so they'll available for sata_nv. This fixes the bugs below, where sata_nv detects only two out of four SATA drives. The signature includes dmesg lines similar to these: pnp: 00:09: iomem range 0xdfefc000-0xdfefcfff has been reserved pnp: 00:09: iomem range 0xdfefd000-0xdfefd3ff has been reserved pnp: 00:09: iomem range 0xdfefe000-0xdfefe3ff has been reserved PCI: Unable to reserve mem region #6:1000@dfefd000 for device 0000:80:07.0 sata_nv: probe of 0000:80:07.0 failed with error -16 PCI: Unable to reserve mem region #6:1000@dfefe000 for device 0000:80:08.0 sata_nv: probe of 0000:80:08.0 failed with error -16 References: https://bugzilla.redhat.com/show_bug.cgi?id=280641 https://bugzilla.redhat.com/show_bug.cgi?id=313491 http://lkml.org/lkml/2008/1/9/449 http://thread.gmane.org/gmane.linux.acpi.devel/27312 This is post-2.6.24 material. Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d38998ed15b31f524bde9a193d60150af30d916 Author: Rene Herman Date: Wed Feb 6 01:40:05 2008 -0800 PNP: do not test PNP_DRIVER_RES_DO_NOT_CHANGE on suspend/resume The PNP_DRIVER_RES_DO_NOT_CHANGE flag is meant to signify that the PNP core should not change resources for the device -- not that it shouldn't disable/enable the device on suspend/resume. ALSA ISAPnP drivers set PNP_DRIVER_RES_DO_NOT_CHANAGE (0x0001) through setting PNP_DRIVER_RES_DISABLE (0x0003). The latter including the former may in itself be considered rather unexpected but doesn't change that suspend/resume wouldn't seem to have any business testing the flag. As reported by Ondrej Zary for snd-cs4236, ALSA driven ISAPnP cards don't survive swsusp hibernation with the resume skipping setting the resources due to testing the flag -- the same test in the suspend path isn't enough to keep hibernation from disabling the card it seems. These tests were added (in 2005) by Piere Ossman in commit 68094e3251a664ee1389fcf179497237cbf78331, "alsa: Improved PnP suspend support" who doesn't remember why. This deletes them. Signed-off-by: Rene Herman Tested-by: Ondrej Zary Cc: Bjorn Helgaas Cc: Pierre Ossman Cc: Adam Belay Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3bd86e2fdce01d6b49271a553d2a18b3e0510f3 Author: Daniel Walker Date: Wed Feb 6 01:40:04 2008 -0800 isapnp driver semaphore to mutex Changed the isapnp semaphore to a mutex. [akpm@linux-foundation.org: no externs-in-c] [akpm@linux-foundation.org: build fix] Signed-off-by: Daniel Walker Cc: Bjorn Helgaas Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2bb9a6b32f98873adf89a0de04c898681a2c5b8e Author: Thomas Renninger Date: Wed Feb 6 01:40:03 2008 -0800 pnp: declare PNP option parsing functions as __init There are three kind of parse functions provided by PNP acpi/bios: - get current resources - set resources - get possible resources The first two may be needed later at runtime. The possible resource settings should never change dynamically. And even if this would make any sense (I doubt it), the current implementation only parses possible resource settings at early init time: -> declare all the option parsing __init [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Thomas Renninger Acked-By: Rene Herman Cc: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc8259a6666de456460bacdd5637f5e2d71790ea Author: Bjorn Helgaas Date: Wed Feb 6 01:40:02 2008 -0800 simplify pnp_activate_dev() and pnp_disable_dev() return values Make pnp_activate_dev() and pnp_disable_dev() return only 0 (success) or a negative error value, as pci_enable_device() and pci_disable_device() do. Previously they returned: 0: device was already active (or disabled) 1: we just activated (or disabled) device <0: -EBUSY or error from pnp_start_dev() (or pnp_stop_dev()) Now we return only 0 (device is active or disabled) or <0 (error). All in-tree callers either ignore the return values or check only for errors (negative values). Signed-off-by: Bjorn Helgaas Cc: Adam Belay Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ed3003c19a96fe18edf8179c4be6fe14abbebbc Author: NeilBrown Date: Wed Feb 6 01:40:00 2008 -0800 md: fix an occasional deadlock in raid5 raid5's 'make_request' function calls generic_make_request on underlying devices and if we run out of stripe heads, it could end up waiting for one of those requests to complete. This is bad as recursive calls to generic_make_request go on a queue and are not even attempted until make_request completes. So: don't make any generic_make_request calls in raid5 make_request until all waiting has been done. We do this by simply setting STRIPE_HANDLE instead of calling handle_stripe(). If we need more stripe_heads, raid5d will get called to process the pending stripe_heads which will call generic_make_request from a This change by itself causes a performance hit. So add a change so that raid5_activate_delayed is only called at unplug time, never in raid5. This seems to bring back the performance numbers. Calling it in raid5d was sometimes too soon... Neil said: How about we queue it for 2.6.25-rc1 and then about when -rc2 comes out, we queue it for 2.6.24.y? Acked-by: Dan Williams Signed-off-by: Neil Brown Tested-by: dean gaudet Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73c34431c7119d0bc7d3436abfad75fe47b2c51f Author: NeilBrown Date: Wed Feb 6 01:39:59 2008 -0800 md: change ITERATE_RDEV_GENERIC to rdev_for_each_list, and remove ITERATE_RDEV_PENDING. Finish ITERATE_ to for_each conversion. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d089c6af10c2be5988f03667d6d22fe6085fbe5e Author: NeilBrown Date: Wed Feb 6 01:39:59 2008 -0800 md: change ITERATE_RDEV to rdev_for_each As this is more in line with common practice in the kernel. Also swap the args around to be more like list_for_each. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 29ac4aa3fc68a86279aca50f20df4d614de2e204 Author: NeilBrown Date: Wed Feb 6 01:39:58 2008 -0800 md: change INTERATE_MDDEV to for_each_mddev As this is more consistent with kernel style. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20a49ff679fb1caa69c69eb0361bea488e51c9b2 Author: NeilBrown Date: Wed Feb 6 01:39:57 2008 -0800 md: change a few 'int' to 'size_t' in md As suggested by Andrew Morton. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 177a99b23ef9878c0cedcc7273108eba8a6e9472 Author: NeilBrown Date: Wed Feb 6 01:39:56 2008 -0800 md: fix use-after-free bug when dropping an rdev from an md array Due to possible deadlock issues we need to use a schedule work to kobject_del an 'rdev' object from a different thread. A recent change means that kobject_add no longer gets a refernce, and kobject_del doesn't put a reference. Consequently, we need to explicitly hold a reference to ensure that the last reference isn't dropped before the scheduled work get a chance to call kobject_del. Also, rename delayed_delete to md_delayed_delete to that it is more obvious in a stack trace which code is to blame. Cc: Al Viro Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a17184a911195c274104df98a79bec10f57e735d Author: NeilBrown Date: Wed Feb 6 01:39:55 2008 -0800 md: allow an md array to appear with 0 drives if it has external metadata Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ca38805945edf5d1f5444b283eed95bb954772e8 Author: NeilBrown Date: Wed Feb 6 01:39:55 2008 -0800 md: lock address when changing attributes of component devices Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c5d79adba7ced41d7ac097c2ab74759d10522dd5 Author: NeilBrown Date: Wed Feb 6 01:39:54 2008 -0800 md: allow devices to be shared between md arrays Currently, a given device is "claimed" by a particular array so that it cannot be used by other arrays. This is not ideal for DDF and other metadata schemes which have their own partitioning concept. So for externally managed metadata, just claim the device for md in general, require that "offset" and "size" are set properly for each device, and make sure that if a device is included in different arrays then the active sections do not overlap. This involves adding another flag to the rdev which makes it awkward to set "->flags = 0" to clear certain flags. So now clear flags explicitly by name when we want to clear things. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ec4a9398dc05061b6258061676fede733458893 Author: NeilBrown Date: Wed Feb 6 01:39:53 2008 -0800 md: set and test the ->persistent flag for md devices more consistently If you try to start an array for which the number of raid disks is listed as zero, md will currently try to read metadata off any devices that have been given. This was done because the value of raid_disks is used to signal whether array details have been provided by userspace (raid_disks > 0) or must be read from the devices (raid_disks == 0). However for an array without persistent metadata (or with externally managed metadata) this is the wrong thing to do. So we add a test in do_md_run to give an error if raid_disks is zero for non-persistent arrays. This requires that mddev->persistent is set corrently at this point, which it currently isn't for in-kernel autodetected arrays. So set ->persistent for autodetect arrays, and remove the settign in super_*_validate which is now redundant. Also clear ->persistent when stopping an array so it is consistently zero when starting an array. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c620727779f7cc8ea96efb71f0651a26349e59c1 Author: NeilBrown Date: Wed Feb 6 01:39:52 2008 -0800 md: allow a maximum extent to be set for resyncing This allows userspace to control resync/reshape progress and synchronise it with other activities, such as shared access in a SAN, or backing up critical sections during a tricky reshape. Writing a number of sectors (which must be a multiple of the chunk size if such is meaningful) causes a resync to pause when it gets to that point. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c303da6d713b87b7b3f999f5acce8ecc76ff1adb Author: NeilBrown Date: Wed Feb 6 01:39:51 2008 -0800 md: give userspace control over removing failed devices when external metdata in use When a device fails, we must not allow an further writes to the array until the device failure has been recorded in array metadata. When metadata is managed externally, this requires some synchronisation... Allow/require userspace to explicitly remove failed devices from active service in the array by writing 'none' to the 'slot' attribute. If this reduces the number of failed devices to 0, the write block will automatically be lowered. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e691063a61f7f72a7d2882eb744b07a520cde23b Author: NeilBrown Date: Wed Feb 6 01:39:51 2008 -0800 md: support 'external' metadata for md arrays - Add a state flag 'external' to indicate that the metadata is managed externally (by user-space) so important changes need to be left of user-space to handle. Alternates are non-persistant ('none') where there is no stable metadata - after the array is stopped there is no record of it's status - and internal which can be version 0.90 or version 1.x These are selected by writing to the 'metadata' attribute. - move the updating of superblocks (sync_sbs) to after we have checked if there are any superblocks or not. - New array state 'write_pending'. This means that the metadata records the array as 'clean', but a write has been requested, so the metadata has to be updated to record a 'dirty' array before the write can continue. This change is reported to md by writing 'active' to the array_state attribute. - tidy up marking of sb_dirty: - don't set sb_dirty when resync finishes as md_check_recovery calls md_update_sb when the sync thread finishes anyway. - Don't set sb_dirty in multipath_run as the array might not be dirty. - don't mark superblock dirty when switching to 'clean' if there is no internal superblock (if external, userspace can choose to update the superblock whenever it chooses to). Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b47490c9bc73d0b34e4c194db40de183e592e446 Author: NeilBrown Date: Wed Feb 6 01:39:50 2008 -0800 md: Update md bitmap during resync. Currently an md array with a write-intent bitmap does not updated that bitmap to reflect successful partial resync. Rather the entire bitmap is updated when the resync completes. This is because there is no guarentee that resync requests will complete in order, and tracking each request individually is unnecessarily burdensome. However there is value in regularly updating the bitmap, so add code to periodically pause while all pending sync requests complete, then update the bitmap. Doing this only every few seconds (the same as the bitmap update time) does not notciably affect resync performance. [snitzer@gmail.com: export bitmap_cond_end_sync] Signed-off-by: Neil Brown Cc: "Mike Snitzer" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66c811e99322767bad5db4368de93aac604f02a2 Author: H. Peter Anvin Date: Wed Feb 6 01:39:48 2008 -0800 md: raid6: clean up the style of raid6test/test.c Clean up the coding style in raid6test/test.c. Break it apart into subfunctions to make the code more readable. Signed-off-by: H. Peter Anvin Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98ec302be52cc8a9cc0f3072126367273dbaf865 Author: H. Peter Anvin Date: Wed Feb 6 01:39:48 2008 -0800 md: raid6: Fix mktable.c Make both mktables.c and its output CodingStyle compliant. Update the copyright notice. Signed-off-by: H. Peter Anvin Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54212cf4054e7cf44f3ca97c3c5fb942dbfe7013 Author: Oliver Pinter Date: Wed Feb 6 01:39:47 2008 -0800 coding style cleanups for drivers/md/mktables.c Signed-off-by: Oliver Pinter Cc: Neil Brown Cc: "H. Peter Anvin" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 91c4313206e4409871e2ddd13c29508afe1c8834 Author: Thomas Pfaff Date: Wed Feb 6 01:39:45 2008 -0800 fbcon: fix color generation for monochrome framebuffer The current attr_fgcol_ec / attr_bgcol_ec macros do a simple shift of bits to get the color from vc_video_erase_char. For a monochrome display however the attribute does not contain any color, only attribute bits. Furthermore the reverse bit is lost because it is shifted out, the resulting color is always 0. This can bee seen on a monochrome console either directly or by setting it to inverse mode via "setterm -inversescreen on" . Text is written with correct color, fb_fillrects from a bit_clear / bit_clear_margins will get wrong colors. Signed-off-by: Thomas Pfaff Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e8973637bd49de225130f9c04ceb388d48969d98 Author: Ben Dooks Date: Wed Feb 6 01:39:44 2008 -0800 FB/S3C2410: check default_display parameter passed in platform data Ensure that the default display parameter passed in via the device's platform data is valid. It turns out when mach-bast.c was updated, the default_display was set outside of the display array bounds, causing a panic on startup. If the default_display is bigger than num_displays, then generate an error and refuse to initialise the driver. Signed-off-by: Ben Dooks Cc: "Antonino A. Daplas" Cc: Vincent Sanders Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c0d40335353e1c89c9c885e5af4d0be0f1a50483 Author: Ben Dooks Date: Wed Feb 6 01:39:43 2008 -0800 FB/S3C2410: ensure S3C2410 framebuffer clears initial memory to black Change the initial pattern in the s3c2410 framebuffer driver to black. Signed-off-by: Ben Dooks Cc: "Antonino A. Daplas" Cc: Vincent Sanders Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 38a02f560752a8a003baffafac9fde5f7bfdcdf8 Author: Ben Dooks Date: Wed Feb 6 01:39:42 2008 -0800 FB/S3C2410: update debugging in S3C2410 framebuffer driver Update the debugging in the s3c2410 framebuffer driver. Signed-off-by: Ben Dooks Cc: "Antonino A. Daplas" Cc: Vincent Sanders Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f62e770b25bdc24e18c9191fe2ca3e159036bd79 Author: Ben Dooks Date: Wed Feb 6 01:39:41 2008 -0800 FB/S3C2412: add S3C2412 support to S3C2410 fb driver Add support for the S3C2412 to the S3C2410 frame buffer driver by ensuring that any moved registers can be dealt with. Signed-off-by: Ben Dooks Cc: "Antonino A. Daplas" Cc: Vincent Sanders Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 40488db20e3f43e65f10747f9026fba7d59d29a3 Author: Ben Dooks Date: Wed Feb 6 01:39:38 2008 -0800 FB/SM501: ensure console suspended before saving state Move the console suspend to before we save the state of the framebuffer to ensure that it does not try and change the fb state again once we have copied it out. Signed-off-by: Ben Dooks Cc: "Antonino A. Daplas" Cc: Vincent Sanders Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc9c6a175fa8123587668c38959a105e3ccb6bbd Author: Krzysztof Helt Date: Wed Feb 6 01:39:37 2008 -0800 pm2fb: big endian fix Fix garbled letters on big endian machines with acceleration enabled. This makes pm2fb works fine with full acceleration on sparc machine (card known as Sun PGX-32 or TechSource Raptor GFX-8P). Signed-off-by: Krzysztof Helt Cc: Geert Uytterhoeven Cc: "David S. Miller" Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a782eed655de49faa4895ae6143c3891985e4d98 Author: Geoff Levand Date: Wed Feb 6 01:39:36 2008 -0800 ps3fb: fix modedb typos Fix modedb typos Signed-off-by: Geoff Levand Signed-off-by: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a286408c702cad43ae9046f4ed4928495848ea51 Author: Geert Uytterhoeven Date: Wed Feb 6 01:39:35 2008 -0800 ps3fb: cleanup sweep cleanup sweep: - Kill ps3fb_priv.xdr_ea and ps3fb_priv.xdr_size, use info->screen_base and info->fix.smem_len instead. - Kill superfluous assignments to info->fix.smem_start, info->fix.smem_len, and info->screen_base in ps3fb_set_par(). Their values never change. - Add sparse annotations to casts to kill address space warnings Signed-off-by: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3665366b0cbf3af1e0949bb9ada9ce63eaaaac1 Author: Geert Uytterhoeven Date: Wed Feb 6 01:39:35 2008 -0800 ps3fb: round up video modes Round up arbitrary video modes until they fit (if possible) Signed-off-by: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34c422fb2435b1e18b7c36c3310e4f57e21d7ddf Author: Geert Uytterhoeven Date: Wed Feb 6 01:39:34 2008 -0800 ps3fb: reorganize modedb handling Reorganize modedb handling: - Reorder the video modes in ps3fb_modedb, for easier indexing using PS3AV_MODE_* numbers, - Introduce ps3fb_native_vmode(), to convert from native (PS3AV_MODE_*) mode numbers to struct fb_videomode *, - Rename and move ps3fb_default_mode() to ps3fb_vmode(). Signed-off-by: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 633bd111bafa346d0bb5137bd1e71b92cf1ca594 Author: Geert Uytterhoeven Date: Wed Feb 6 01:39:33 2008 -0800 ps3fb: add support for configurable black borders Allow all video modes where the visible resolution plus the black borders matches a native resolution Signed-off-by: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7974f72a21a246051b3dd84d7158974fc4785150 Author: Geert Uytterhoeven Date: Wed Feb 6 01:39:32 2008 -0800 ps3fb: make frame buffer offsets unsigned int Frame buffer offsets don't have to be `unsigned long', `unsigned int' is sufficient Signed-off-by: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9f4f21b453f2f51c9d1f22638eae306c07c95b42 Author: Geert Uytterhoeven Date: Wed Feb 6 01:39:31 2008 -0800 ps3fb: kill ps3fb_res kill ps3fb_res[], as all information it contains can be obtained in some other way. Signed-off-by: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d9a4ba6a28f6cdd291ce2ee85bc91a85ff2c4a38 Author: Geert Uytterhoeven Date: Wed Feb 6 01:39:31 2008 -0800 ps3fb: open-code macros that are used only once Open-code the X_OFF(), Y_OFF(), WIDTH(), HEIGHT(), and VP_OFF() macros, as they're used in one place only Signed-off-by: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bbcfe34078f3a0e690d1b54036dc9e6006129d9f Author: Geert Uytterhoeven Date: Wed Feb 6 01:39:30 2008 -0800 ps3fb: kill PS3FB_FULL_MODE_BIT Kill PS3FB_FULL_MODE_BIT, use PS3AV_MODE_FULL instead Signed-off-by: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 084ffff29844a4bce69999d67809e6c00309ba58 Author: Geert Uytterhoeven Date: Wed Feb 6 01:39:29 2008 -0800 ps3: use symbolic names for video modes Use symbolic names for video modes Signed-off-by: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c4f594a6da410789975dcde16b07b62c62fa564 Author: Geert Uytterhoeven Date: Wed Feb 6 01:39:28 2008 -0800 ps3av: ps3av_get_scanmode() and ps3av_get_refresh_rate() are unused ps3av_get_scanmode() and ps3av_get_refresh_rate() are unused, so remove them Signed-off-by: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a9a84c37d1ee50db8f3752b117caf2b48dcd4f8a Author: David Brownell Date: Wed Feb 6 01:39:26 2008 -0800 atmel_lcdfb: backlight control On the sam9 EK boards, the LCD backlight is hooked up to a PWM output from the LCD controller. It's controlled by "contrast" registers though. This patch lets boards declare that they have that kind of backlight control. The driver can then export this control, letting screenblank and other operations actually take effect ... reducing the typically substantial power drain from the backlight. Note that it's not fully cooked - doesn't force backlight off during system suspend - the "power" and "blank" events may not be done right This should be easily added in the future. [nicolas.ferre@atmel.com: remove unneeded inline and rename functions] Signed-off-by: David Brownell Signed-off-by: Nicolas Ferre Cc: Andrew Victor Cc: Russell King Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1230ee50a9903a987feaad767fb71e2fd173894 Author: Magnus Damm Date: Wed Feb 6 01:39:25 2008 -0800 sm501fb: clear framebuffer memory and palette Avoid displaying garbage on unused framebuffers. For most users a single framebuffer is used together with fbcon. sm501fb supports two framebuffers where one often is assigned to fbcon and the other one is left unused during the boot. The problem here is that framebuffers not in use by fbcon happen to display garbage. This can easily be solved by making sure that framebuffer memory and palette ram are cleared. The problem can be observed by using looking at the panel output (fb1) after booting the kernel with fbcon on crt (fb0). This is the default configuration. It's also possible to watch the garbage on the crt framebuffer by passing "fbcon=map:1" on the kernel cmdline. This will assign fbcon to the panel (fb1) and leave the crt (fb0) unused. Signed-off-by: Magnus Damm Cc: "Antonino A. Daplas" Cc: Paul Mundt Cc: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dfcffa467b4112fa6f1631c9d6bf7759c3bbe75a Author: Magnus Damm Date: Wed Feb 6 01:39:24 2008 -0800 sm501fb: control panel pin usage with platform data flags This patch makes it possible to control panel pins usage with flags passed from the platform data. Without this patch the sm501fb driver always controls the VBIASEN and FPEN pins. The polarity and use of these pins are very platform specific, so this patch introduces the flags SM501FB_FLAG_PANEL_USE_VBIASEN and SM501FB_FLAG_PANEL_USE_FPEN which enable the use of these pins. This patch is needed to support the a Sharp LQ104V1DG21 lcd panel on SuperH platforms such as R2D-1 and R2D-PLUS boards. Letting the sm501fb driver control the FPEN and VBIASEN pins like today just results in lcd panel flicker. Signed-off-by: Magnus Damm Cc: "Antonino A. Daplas" Cc: Paul Mundt Cc: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 625fcaf97340b9409e41fcefbbd18e02e3a9e9dd Author: Julia Lawall Date: Wed Feb 6 01:39:23 2008 -0800 drivers/video: add missing pci_dev_get pci_get_device does a pci_dev_get, so pci_dev_put needs to be called in an error case The problem was fixed using the following semantic patch. (http://www.emn.fr/x-info/coccinelle/) // @exists@ type T1,T2; identifier E; statement S,S1; expression x1,x2,x3; expression test; int ret != 0; @@ struct pci_dev *E; ... ( E = \(pci_get_slot\|pci_get_device\|pci_get_bus_and_slot\)(...); if (E == NULL) S | if ((E = \(pci_get_slot\|pci_get_device\|pci_get_bus_and_slot\)(...)) == NULL) S ) ... when != pci_dev_put(...,(T1)E,...) when != if (E != NULL) { ... pci_dev_put(...,(T1)E,...); ...} when != x1 = (T1)E when != E = x3; when any ( if (E == NULL) S1 | if (test) + { ( + pci_dev_put(E); return; | + pci_dev_put(E); return ret; ) + } | if (test) { ... when != pci_dev_put(...,(T2)E,...) when != if (E != NULL) { ... pci_dev_put(...,(T2)E,...); ...} when != x2 = (T2)E ( + pci_dev_put(E); return; | + pci_dev_put(E); return ret; ) } ) // Signed-off-by: Julia Lawall Cc: "David S. Miller" Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5eb03a4ab239d8769fa13df6c894d618ecae1b50 Author: Randy Dunlap Date: Wed Feb 6 01:39:22 2008 -0800 uvesafb: small cleanups Some cleanups in uvesafb: - The custom module_param() get/set functions don't need to be inlined since it is referred to via a pointer in a struct. - don't end a #define with a ';' - remove one of the single quote marks in "''ypan'" Signed-off-by: Randy Dunlap Cc: "Antonino A. Daplas" Cc: Michal Januszewski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ce85eb8824679cd9e7b3b12202e2bf54f1f3e2c Author: Randy Dunlap Date: Wed Feb 6 01:39:19 2008 -0800 tdfxfb: fix section mismatch warnings tdfxfb_setup() can be __init. This fixes the modpost section mismatch warnings: WARNING: vmlinux.o(.text+0x4cff9b): Section mismatch: reference to .init.data:mode_option (between 'tdfxfb_setup' and 'getclkMHz') WARNING: vmlinux.o(.text+0x4cffa8): Section mismatch: reference to .init.data: (between 'tdfxfb_setup' and 'getclkMHz') [krzysztof.h1@poczta.fm: use __init, not __devinit] Cc: Krzysztof Helt Signed-off-by: Randy Dunlap Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74f482cca5f76643e7f323e66cc38b1a882d5e6f Author: Paul Mundt Date: Wed Feb 6 01:39:18 2008 -0800 fb: nvidiafb: Try harder at initial mode setting. The current nvidiafb_check_var() simply bails out if the selected mode is out of range of the panel dimensions. A good question would be why the bogus mode is being selected in the first place -- the panel dimensions that are read back are certainly bogus, but alas, I have no idea where to even begin looking at the i2c/EDID/DDC mess: nvidiafb: Device ID: 10de0165 nvidiafb: CRTC0 analog not found nvidiafb: CRTC1 analog not found nvidiafb: EDID found from BUS1 nvidiafb: CRTC 0 is currently programmed for DFP nvidiafb: Using DFP on CRTC 0 nvidiafb: Panel size is 1280 x 1024 nvidiafb: Panel is TMDS nvidiafb: unable to setup MTRR nvidiafb: Flat panel dithering disabled nvidiafb: PCI nVidia NV16 framebuffer (64MB @ 0xC0000000) In my .config I presently have: CONFIG_FIRMWARE_EDID=y CONFIG_FB_DDC=y CONFIG_FB_NVIDIA_I2C=y I've not tried fiddling with these options, as I haven't the vaguest idea what I should be looking at. As a workaround, simply groveling for a new mode based on the probed dimensions seems to work ok. While it would be nice to debug this further and sort out why the panel information is bogus, I think it's still worth retrying the mode based on the panel information at hand as a last-ditch effort, rather than simply bailing out completely. Signed-off-by: Paul Mundt Cc: Antonino A. Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e9750272cd49732293b6fe771ae110be8d87273 Author: Andrew Morton Date: Wed Feb 6 01:39:16 2008 -0800 vermilion.c: use ALIGN(), not __ALIGN_MASK() __ALIGN_MASK() is an internal implementation detail of ALIGN(). Let's not needlessly fatten the interface in this driver. [fujita.tomonori@lab.ntt.co.jp: fix it] Cc: Alan Hourihane Cc: "Antonino A. Daplas" Cc: FUJITA Tomonori Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e9045494aa50f34b774a7449dde4128240a7b00 Author: Andrew Morton Date: Wed Feb 6 01:39:15 2008 -0800 neofb: avoid overwriting fb_info fields Fix bug identified by Marcio Buss in http://bugzilla.kernel.org/show_bug.cgi?id=9565 - neofb can overwrite a field in the fb_info struct. This fix will result in truncated device identification strings - perhaps fb_innfo.fix.id can be made larger? Cc: Marcio Buss Cc: "Antonino A. Daplas" Cc: Christian Trefzer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 050da932f857a7c83949147f3d22e7c02f4f3c91 Author: Adrian Bunk Date: Wed Feb 6 01:39:15 2008 -0800 drivers/video/pm3fb.c section fix WARNING: vmlinux.o(.text+0x46e456): Section mismatch: reference to .init.data: (between 'pm3fb_size_memory' and 'update_crtc2') WARNING: vmlinux.o(.text+0x46e45c): Section mismatch: reference to .init.data: (between 'pm3fb_size_memory' and 'update_crtc2') WARNING: vmlinux.o(.text+0x46e49b): Section mismatch: reference to .init.data: (between 'pm3fb_size_memory' and 'update_crtc2') WARNING: vmlinux.o(.text+0x46e4a0): Section mismatch: reference to .init.data: (between 'pm3fb_size_memory' and 'update_crtc2') WARNING: vmlinux.o(.text+0x46e4bc): Section mismatch: reference to .init.data: (between 'pm3fb_size_memory' and 'update_crtc2') WARNING: vmlinux.o(.text+0x46e4c2): Section mismatch: reference to .init.data: (between 'pm3fb_size_memory' and 'update_crtc2') WARNING: vmlinux.o(.text+0x46e5c1): Section mismatch: reference to .init.data: (between 'pm3fb_size_memory' and 'update_crtc2') WARNING: vmlinux.o(.text+0x46e5c7): Section mismatch: reference to .init.data: (between 'pm3fb_size_memory' and 'update_crtc2') Signed-off-by: Adrian Bunk Cc: Krzysztof Helt Cc: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2428e59b5309286842c4bacbe90921b7f67e4ced Author: Marcin Slusarz Date: Wed Feb 6 01:39:14 2008 -0800 fbcon: fix sparse warning about shadowing 'rotate' symbol Signed-off-by: Marcin Slusarz Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2c6cc35c3033ef1ef79565164963687d686f9f05 Author: Marcin Slusarz Date: Wed Feb 6 01:39:13 2008 -0800 fbcon: fix sparse warning about shadowing 'p' symbol Signed-off-by: Marcin Slusarz Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cbfb3e09c5f5cc21994fd06abb5b5839589d5b9a Author: Marcin Slusarz Date: Wed Feb 6 01:39:12 2008 -0800 vgacon: fix sparse warning about shadowing 'i' symbol Signed-off-by: Marcin Slusarz Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 162b3a084904a1d6ef1553782b8573885d5f900b Author: Haavard Skinnemoen Date: Wed Feb 6 01:39:11 2008 -0800 atmel_lcdfb: validate display timings Setting a display timing parameter too high or too low may cause it to wrap around and thus become completely wrong. Validate the timings in atmel_lcdfb_check_var() and saturate to the highest or lowest possible value if necessary. Signed-off-by: Haavard Skinnemoen Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 529e55b6a57bda6df9e45eb268589efc70f63303 Author: Nick Piggin Date: Wed Feb 6 01:39:10 2008 -0800 fb: defio nopage Convert fb defio from nopage to fault. Switch from OOM to SIGBUS if the resource is not available. Signed-off-by: Nick Piggin Cc: "Antonino A. Daplas" Cc: Paul Mundt Cc: Jaya Kumar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c85fd89be565e7b7ff48d66b3544b320c129475 Author: Andre Haupt Date: Wed Feb 6 01:39:10 2008 -0800 fbmon: cleanup trailing whitespaces [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Andre Haupt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb85063ae806e14f653f6e1fa7ffb63c6b9a4f0e Author: Andre Haupt Date: Wed Feb 6 01:39:09 2008 -0800 fbmon: remove unnecessary local variable This fixes a sparse warning about symbol 'i' shadowing an earlier one. Signed-off-by: Andre Haupt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea237a6ae953b19d03f29236f095389d7906a0b4 Author: Julia Lawall Date: Wed Feb 6 01:39:07 2008 -0800 drivers/video: remove unnecessary pci_dev_put pci_get_class implicitly does a pci_dev_put on its second argument, so pci_dev_put is only needed if there is a break out of the loop. The semantic match detecting this problem is as follows: // @@ expression dev; expression E; @@ * pci_dev_put(dev) ... when != dev = E ( * pci_get_device(...,dev) | * pci_get_device_reverse(...,dev) | * pci_get_subsys(...,dev) | * pci_get_class(...,dev) ) // Signed-off-by: Julia Lawall Cc: Thomas Winischhofer Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a1c84f1465a90192f55e21ccc67fd396c596374 Author: Adrian Bunk Date: Wed Feb 6 01:39:06 2008 -0800 video/hpfb.c section fix WARNING: vmlinux.o(.text+0xb851a): Section mismatch: reference to .init.text:hpfb_init_one (between 'hpfb_dio_probe' and 'read_null') hpfb_init_one() must be __devinit since it's called by the __devinit hpfb_dio_probe(). Signed-off-by: Adrian Bunk Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cfe2f714d9ebca9d17f392de1fa656d77aa2d4f1 Author: Adrian Bunk Date: Wed Feb 6 01:39:05 2008 -0800 make video/geode/lxfb_core.c:geode_modedb[] static geode_modedb[] can become static. Signed-off-by: Adrian Bunk Cc: Jordan Crouse Cc: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5e8ff483266e2913bd676d520f46b5675a18e7a Author: Guennadi Liakhovetski Date: Wed Feb 6 01:39:04 2008 -0800 gpio: handle pca953{4,5,6,7,8} too This third part of an extension to support more pca953x chips updates the logic to handle the smaller register widths used by the 4-bit and 8-bit parts, and to use the chip type to determine how many GPIOs it provides. As long as we don't support interrupt and reset capabilities, those size issues are the only software-visible differences between these parts. Signed-off-by: Guennadi Liakhovetski Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3dc3630f687aa4664b663143f69d99d83195c54 Author: Guennadi Liakhovetski Date: Wed Feb 6 01:39:03 2008 -0800 gpio: rename pca953x symbols This second part of an extension to support more pca953x chips renames the C and Kconfig symbols. All affected files were updated by sed, except for a couple of obvious exceptions. It also updates the Kconfig helptext. Signed-off-by: Guennadi Liakhovetski Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1c057e31734426ba385e02291d97bdf06ba0c1d Author: Guennadi Liakhovetski Date: Wed Feb 6 01:39:02 2008 -0800 gpio: rename pca9539 driver First part of an extension to let the pca9539 driver support more chips, starting with pca9534, pca9535, pca9536, pca9537, and pca9538. This renames the files and modifies the Makefile. Signed-off-by: Guennadi Liakhovetski Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ad8dc96e3b2c3e28854e0de4ab49351ed547b30c Author: Ville Syrjala Date: Wed Feb 6 01:39:01 2008 -0800 w1-gpio: add GPIO w1 bus master driver Add a GPIO 1-wire bus master driver. The driver used the GPIO API to control the wire and the GPIO pin can be specified using platform data similar to i2c-gpio. The driver was tested with AT91SAM9260 + DS2401. Signed-off-by: Ville Syrjala Cc: Evgeniy Polyakov Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4cdf854f7d60498bbda436068a118b95059b244b Author: David Brownell Date: Wed Feb 6 01:38:59 2008 -0800 rtc: at91sam9 RTC support (RTT and/or RTC) AT91sam9 RTC support, primarily in the form of an RTT-as-RTC driver that was extracted from 2.6.23-at91 patch and updated: - Relies on now-merged platform updates, which associate the RTT hardware address with each RTT and use the "at91_rtt" name. - RTC framework related fixes and cleanups, notably: * removed now-needless suspend/resume clock offset logic * alarm read/write now respects the "enabled" flag * suspend always disables update irqs * shutdown (and startup) disables all irqs - Misc cleanup: * use dev_*() messaging * add comments * remove globals, * ... etc - Don't force use of RTT0 and GPBR0. Either resource may need to be used for other purposes (like NO_HZ support). - Update "AT91RM9200 RTC" Kconfig to allow it on SAM9RL chips (it has both RTT and RTC). Driver binding uses bus_find_device() to avoid needing any kind of "timer library" code when there's more than one RTT module. (This timer can be used as an RTC, to support NO_HZ operation, or potentially for other stuff. The choice is a per-system policy.) Signed-off-by: David Brownell Cc: Michel Benoit Cc: Nicolas Ferre Cc: Andrew Victor Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f618258ad8af0413f08af60bd0eb050562e700fa Author: David Brownell Date: Wed Feb 6 01:38:57 2008 -0800 rtc: remove more dev->power.power_state usage Remove some more references to dev->power.power_state. That field is overdue for removal, but we can't do that while it's still referenced in the kernel. The only reason to update it was to make the /sys/devices/.../power/state files (now removed) work better. Signed-off-by: David Brownell Cc: Russell King Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8696e70267a6b1c7f1e26b32ce97646334b1613a Author: Mike Frysinger Date: Wed Feb 6 01:38:57 2008 -0800 rtc: cleanup example code No functional changes here, just tighten up style/whitespace. Signed-off-by: Mike Frysinger Cc: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a0ba4e0178f4d87445b5527bfefdd5437b974c6 Author: Mike Frysinger Date: Wed Feb 6 01:38:56 2008 -0800 rtc: update documentation wrt irq_set_freq Document the proper use of the irq_set_freq function. Signed-off-by: Mike Frysinger Cc: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fcd8db002f784706e9aa190d0b6350f868e61c32 Author: frederic Rodo Date: Wed Feb 6 01:38:55 2008 -0800 rtc ds1307: ds_1340 change init For DS140, clear the oscillator fault flag as needed. Signed-off-by: Frederic RODO [ And remove some "sparse" warnings. ] Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 75b6102257874a4ea796af686de2f72cfa0452f9 Author: Magnus Damm Date: Wed Feb 6 01:38:54 2008 -0800 rtc: add support for Epson RTC-9701JE V4 Add support for the Epson RTC-9701JE SPI RTC device. Signed-off-by: Magnus Damm Acked-by: Alessandro Zummo Acked-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2805b9698445e898ca6e5ffdc132e80d94664a0f Author: Magnus Damm Date: Wed Feb 6 01:38:53 2008 -0800 rtc: add support for Epson RTC-9701JE V2 Add support for the Epson RTC-9701JE SPI RTC device. Signed-off-by: Magnus Damm Acked-by: Alessandro Zummo Acked-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 102f4a02de5c7217a04ccbbc24f35224b98bb183 Author: Cyrill Gorcunov Date: Wed Feb 6 01:38:53 2008 -0800 ip27-rtc: convert ioctl to unlocked_ioctl Convert ioctl call to unlocked_ioctl form. It is possible (in that simple way) due to a spinlock protection. Signed-off-by: Cyrill Gorcunov Acked-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d8af78b07976d4d84e0df491abd4e9db848d0ad Author: Bernhard Walle Date: Wed Feb 6 01:38:52 2008 -0800 rtc: add HPET RTC emulation to RTC_DRV_CMOS That patch adds the RTC emulation of the HPET timer to the new RTC_DRV_CMOS. The old drivers/char/rtc.ko driver had that functionality and it's important on new systems. [akpm@linux-foundation.org: unbreak alpha build] Signed-off-by: Bernhard Walle Cc: Alessandro Zummo Cc: David Brownell Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Andi Kleen Cc: john stultz Cc: Robert Picco Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 095b9d546f8fdac335989bd3d60405ff3af40ee9 Author: Mike Frysinger Date: Wed Feb 6 01:38:51 2008 -0800 Blackfin RTC driver: convert sync wait to use the irq write complete notice - thus clearing out the need for spin locks - add a small optimization for reading of the rtc field Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48c1a56b4bf936590ddbee93bf7accf703ec0411 Author: Mike Frysinger Date: Wed Feb 6 01:38:50 2008 -0800 Blackfin RTC driver: shave off another memcpy() by using assignment. Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68db30472df36671cc397654c42802c93ef19f19 Author: Mike Frysinger Date: Wed Feb 6 01:38:49 2008 -0800 Blackfin RTC driver: read_alarm() checks the enabled field, not the pending field. also, dont bother using memcpy since we can just do an assignment of the same structure. Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5438de442230c52d503d17943926520ee9a2eeee Author: Mike Frysinger Date: Wed Feb 6 01:38:49 2008 -0800 Blackfin RTC driver: use dev_dbg() rather than pr_stamp() Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 640611608f80fbc26fd221d9066d1daf50249f22 Author: Mike Frysinger Date: Wed Feb 6 01:38:48 2008 -0800 Blackfin RTC driver: cleanup proc handler (we dont need RTC reg dump now that we have MMR filesystem in sysfs) Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7827d889ab9c7275668f2ce7978b317ca1e11a6 Author: Mike Frysinger Date: Wed Feb 6 01:38:47 2008 -0800 Blackfin RTC driver: we pass in a (struct device*) to the irq handler, not a (struct platform_device*), so fix the irq handler Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c236343eb558e3cf3bbffd0688f5518f8b9028a Author: Mike Frysinger Date: Wed Feb 6 01:38:47 2008 -0800 Blackfin RTC driver: the frequency function is in units of Hz, not units of seconds, so lock our driver down to 1 Hz Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f26795a22b12880bb07be688df72b4266f67be8 Author: Andrew Sharp Date: Wed Feb 6 01:38:46 2008 -0800 Platform real time clock driver for Dallas 1511 chip Add RTC support for DS1511 RTC/WDT chip. Signed-off-by: Andy Sharp Cc: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a0bdfd7a05f5bb0486fbe7146a2cf775957e95e Author: David Brownell Date: Wed Feb 6 01:38:45 2008 -0800 rtc-cmos alarm acts as oneshot Start making the rtc-cmos alarm act more like a oneshot alarm by disabling that alarm after its IRQ fires. (ACPI hooks are also needed.) The Linux RTC framework has previously been a bit vague in this area, but any other behavior is problematic and not very portable. RTCs with full YYYY-MM-DD HH:MM[:SS] alarms won't have a problem here. Only ones with partial match criteria, with the most visible example being the PC RTC, get confused. (Because the criteria will match repeatedly.) Update comments relating to that oneshot behavior and timezone handling. (Timezones are another issue that's mostly visible with rtc-cmos. That's because PCs often dual-boot MS-Windows, which likes its RTC to match local wall-clock time instead of UTC.) Signed-off-by: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 739d340dba45ab786a5553144bbffbee0afe15dd Author: Paul Mundt Date: Wed Feb 6 01:38:44 2008 -0800 rtc: ds1302 rtc support This adds a basic ds1302 RTC driver, which is basically a cleanup and move of the in-tree SH SecureEdge5410 code (which is currently located in arch/sh/board/snapgear/rtc.c) to drivers/rtc. This aims to be a building block that the M32R and CRIS code can be worked on top of, so we can get rid of drivers/char/ds1302.c and arch/cris/arch-v10/drivers/ds1302.c respectively, though more work is needed for this. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Paul Mundt Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e07e232cd96ef0092b2bddc72f9b7caf284633cb Author: David Brownell Date: Wed Feb 6 01:38:43 2008 -0800 rtc-cmos: export nvram in sysfs This makes rtc-cmos export its NVRAM, like several other RTC drivers. It still works within the limits of the current CMOS_READ/CMOS_WRITE calls, which don't understand how to access multiple register banks. The primary impact of that limitation is that Linux can't access the uppermost 128 bytes of NVRAM on many systems. Note that this isn't aiming to be a drop-in replacement for the legacy /dev/nvram support. (Presumably that has real users, and isn't just getting carried forward automatically?) Userspace handles more work: - When userspace code updates NVRAM, that will need to include updating any platform-specific checksums that may apply. - No /proc/driver/nvram file will parse and display NVRAM data according to whichever boot firmware your board expects. Also minor pnp-related updates: update a comment, remove dead code. Signed-off-by: David Brownell Signed-off-by: Alessandro Zummo Cc: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9974b6ea7b85a32f34f824443f47aa501c85ee8f Author: Robert P. J. Day Date: Wed Feb 6 01:38:42 2008 -0800 rtc-s3c: Use is_power_of_2() macro for simplicity. Use is_power_of_2() macro for simplicity. Signed-off-by: Robert P. J. Day Signed-off-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 037e291cc77a4beb0379a8c74e3d82e49a476b84 Author: Jean Delvare Date: Wed Feb 6 01:38:41 2008 -0800 rtc-pcf8583: Don't abuse I2C_M_NOSTART The rtc-pcf8583 driver is using the I2C_M_NOSTART flag but shouldn't. This flag is only meant for broken chips and the PCF8583 RTC chip is not one of these. Signed-off-by: Jean Delvare Signed-off-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 09b6bdb3b6a95fe270107c2831e033f9cb233d2d Author: Alessandro Zummo Date: Wed Feb 6 01:38:40 2008 -0800 Cosmetic fixes to RTC subsystem's Kconfig Add adds a warning if a potentially conflicting RTC option has been selected and makes some other cosmetic fixes to the Kconfig. Signed-off-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d12def1bcb809b6172ee207a24e00a0a4398df1d Author: Miklos Szeredi Date: Wed Feb 6 01:38:39 2008 -0800 fuse: limit queued background requests Libfuse basically creates a new thread for each new request. This is fine for synchronous requests, which are naturally limited. However background requests (especially writepage) can cause a thread creation storm. To avoid this, limit the number of background requests available to userspace. This is done by introducing another queue for background requests, and a counter for the number of "active" requests, which are currently available for userspace. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b57d426445c98789265de6a9338cdb06462d15fb Author: Miklos Szeredi Date: Wed Feb 6 01:38:39 2008 -0800 fuse: save space in struct fuse_req Move the fields 'dentry' and 'vfsmount' into the request specific union, since these are only used for the RELEASE request. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0952b2a4a82b2deb76463dbcf1355b806dc81134 Author: Miklos Szeredi Date: Wed Feb 6 01:38:38 2008 -0800 fuse: fix attribute caching after create Invalidate attributes on create, since st_ctime is updated. Reported by Szabolcs Szakacsits. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af440f52927e4b6941aa94e3cfc698adb0f22663 Author: Eric Sandeen Date: Wed Feb 6 01:38:37 2008 -0800 ecryptfs: check for existing key_tfm at mount time Jeff Moyer pointed out that a mount; umount loop of ecryptfs, with the same cipher & other mount options, created a new ecryptfs_key_tfm_cache item each time, and the cache could grow quite large this way. Looking at this with mhalcrow, we saw that ecryptfs_parse_options() unconditionally called ecryptfs_add_new_key_tfm(), which is what was adding these items. Refactor ecryptfs_get_tfm_and_mutex_for_cipher_name() to create a new helper function, ecryptfs_tfm_exists(), which checks for the cipher on the cached key_tfm_list, and sets a pointer to it if it exists. This can then be called from ecryptfs_parse_options(), and new key_tfm's can be added only when a cached one is not found. With list locking changes suggested by akpm. Signed-off-by: Eric Sandeen Cc: Michael Halcrow Cc: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 19e66a67e9b25874cd5e184e7d381ce1b955df11 Author: Trevor Highland Date: Wed Feb 6 01:38:36 2008 -0800 eCryptfs: change the type of cipher_code from u16 to u8 Only the lower byte of cipher_code is ever used, so it makes sense for its type to be u8. Signed-off-by: Trevor Highland Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 25bd8174036036f427b039e4857feac6c6912a37 Author: Michael Halcrow Date: Wed Feb 6 01:38:35 2008 -0800 eCryptfs: Minor fixes to printk messages The printk statements that result when the user does not have the proper key available could use some refining. Signed-off-by: Mike Halcrow Cc: Mike Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2830bfd6cf66133c86d4a32004fd99c3de7e23bf Author: Eric Sandeen Date: Wed Feb 6 01:38:34 2008 -0800 ecryptfs: remove debug as mount option, and warn if set via modprobe ecryptfs_debug really should not be a mount option; it is not per-mount, but rather sets a global "ecryptfs_verbosity" variable which affects all mounted filesysytems. It's already settable as a module load option, I think we can leave it at that. Also, if set, since secret values come out in debug messages, kick things off with a stern warning. Signed-off-by: Eric Sandeen Acked-by: Mike Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99db6e4a9764887842006a2b1aa804de6171db42 Author: Eric Sandeen Date: Wed Feb 6 01:38:34 2008 -0800 ecryptfs: make show_options reflect actual mount options Change ecryptfs_show_options to reflect the actual mount options in use. Note that this does away with the "dir=" output, which is not a valid mount option and appears to be unused. Mount options such as "ecryptfs_verbose" and "ecryptfs_xattr_metadata" are somewhat indeterminate for a given fs, but in any case the reported mount options can be used in a new mount command to get the same behavior. [akpm@linux-foundation.org: fix printk warning] Signed-off-by: Eric Sandeen Acked-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e3a6f16ba5874b69968cd450334829262513fd1 Author: Trevor Highland Date: Wed Feb 6 01:38:33 2008 -0800 eCryptfs: set inode key only once per crypto operation There is no need to keep re-setting the same key for any given eCryptfs inode. This patch optimizes the use of the crypto API and helps performance a bit. Signed-off-by: Trevor Highland Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc11beffdf80ca31dff21422fa2a5e54d25f1494 Author: Michael Halcrow Date: Wed Feb 6 01:38:32 2008 -0800 eCryptfs: track header bytes rather than extents Remove internal references to header extents; just keep track of header bytes instead. Headers can easily span multiple pages with the recent persistent file changes. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7896b631823c6e8f1a520d89390624a51445840e Author: Adrian Bunk Date: Wed Feb 6 01:38:32 2008 -0800 fs/ecryptfs/: possible cleanups - make the following needlessly global code static: - crypto.c:ecryptfs_lower_offset_for_extent() - crypto.c:key_tfm_list - crypto.c:key_tfm_list_mutex - inode.c:ecryptfs_getxattr() - main.c:ecryptfs_init_persistent_file() - remove the no longer used mmap.c:ecryptfs_lower_page_cache - #if 0 the unused read_write.c:ecryptfs_read() Signed-off-by: Adrian Bunk Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 162c0d91a365d501c6cc65cba451f2d855e8ee81 Author: Andrew Morton Date: Wed Feb 6 01:38:31 2008 -0800 drivers/isdn/hardware/eicon/debug.c: fix uninitialized var warning drivers/isdn/hardware/eicon/debug.c: In function 'SuperTraceASSIGN': drivers/isdn/hardware/eicon/debug.c:1191: warning: 'rx_dma_magic' may be used uninitialized in this function Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3eb1a6f384ef87c48aa3bdd942732890466b040e Author: Roel Kluin <12o3l@tiscali.nl> Date: Wed Feb 6 01:38:30 2008 -0800 drivers/isdn/hardware/eicon/message.c fix 'and' typo in eicons' AddInfo() '!' has a higher priority than '&'. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee51ef0ecbb68fdd7beab8f7b0a20eebe6fd0a62 Author: Tilman Schmidt Date: Wed Feb 6 01:38:30 2008 -0800 ser_gigaset: convert mutex to completion The ser_gigaset ISDN driver was using a mutex in its close() method for waiting for other running ldisc methods to finish. That's what completions are for. Incidentally, this also avoids a spurious "BUG: lock held at task exit time" message when the driver's userspace daemon daemonizes itself. Signed-off-by: Tilman Schmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e468c04894f36045cf93d1384183a461014b6840 Author: Tilman Schmidt Date: Wed Feb 6 01:38:29 2008 -0800 Gigaset: permit module unload Fix the initialization and reference counting of the Gigaset driver modules so that they can be unloaded when they are not actually in use. Signed-off-by: Tilman Schmidt Cc: Hansjoerg Lipp Cc: Greg KH Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d4bee2b9de9e30057a860d2d6794f874caffc5e Author: Tilman Schmidt Date: Wed Feb 6 01:38:28 2008 -0800 gigaset: atomic cleanup Convert atomic_t variables that don't actually use atomic_t functionality to int. Signed-off-by: Tilman Schmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ff0a5296ff4157e7c46861bccc8d61e168c4e2b Author: Tilman Schmidt Date: Wed Feb 6 01:38:27 2008 -0800 usb_gigaset: suspend support Add basic suspend/resume support to the usb_gigaset driver for the Siemens Gigaset M105 USB DECT adapter. Only the USB aspects are handled so far; the ISDN subsystem is not notified in any way, for lack of information about how to do that. The driver does not check for active connections before suspending. They will be dropped when the device loses USB power. Signed-off-by: Tilman Schmidt Cc: Greg KH Cc: Hansjoerg Lipp Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 024fd299ba6e933055fccf1bb1cc2e7bdc58bde6 Author: Tilman Schmidt Date: Wed Feb 6 01:38:26 2008 -0800 bas_gigaset: suspend support Add basic suspend/resume support to the bas_gigaset ISDN driver for the Siemens Gigaset SX255 series of ISDN DECT bases. Only the USB aspects are handled so far; the ISDN subsystem is not notified in any way, for lack of information about how to do that. The driver will refuse to suspend if a connection is active. Signed-off-by: Tilman Schmidt Cc: Greg KH Cc: Hansjoerg Lipp Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c652cbd8ee114307baab072e4e560dce5c5fb12a Author: Tilman Schmidt Date: Wed Feb 6 01:38:24 2008 -0800 gigaset: code cleanups Some cleanups to the bas-gigaset and usb-gigaset USB ISDN drivers: - simplified error handling - improved debug messages - readability improvements - removal of obsolete defines and comments Signed-off-by: Tilman Schmidt Cc: Greg KH Cc: Hansjoerg Lipp Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dbd9823121b4e369bc414be75e12b4f6c84c52c0 Author: Tilman Schmidt Date: Wed Feb 6 01:38:23 2008 -0800 gigaset: clean up urb->status usage Make there only be one reference to urb->status per URB callback, and none outside, in preparation for removal of that field. Signed-off-by: Tilman Schmidt Cc: Greg KH Cc: Hansjoerg Lipp Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f47cd9b553aaada602449204513b5a5b29cba263 Author: Abhishek Sagar Date: Wed Feb 6 01:38:22 2008 -0800 kprobes: kretprobe user entry-handler Provide support to add an optional user defined callback to be run at function entry of a kretprobe'd function. Also modify the kprobe smoke tests to include an entry-handler during the kretprobe sanity test. Signed-off-by: Abhishek Sagar Cc: Prasanna S Panchamukhi Cc: Ananth N Mavinakayanahalli Cc: Anil S Keshavamurthy Acked-by: Jim Keniston Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5beec4aa2ac261b0b4992fb41df40a7ab91e4fad Author: David Brownell Date: Wed Feb 6 01:38:21 2008 -0800 spi: remove more dev->power.power_state usage Remove some more references to dev->power.power_state. That field is overdue for removal, but we can't do that while it's still referenced in the kernel. The only reason to update it was to make the /sys/devices/.../power/state files (now removed) work better. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26fdc1f0df22dd14fd4161ccb2fad94a3a938c48 Author: Mike Frysinger Date: Wed Feb 6 01:38:21 2008 -0800 spi_bfin: headers are not for changelogs Use simpler comment headers, and strip out information that is maintained in GIT history Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 13f3e642b24632d206fe2f6a5ee8b275ea062790 Author: Sonic Zhang Date: Wed Feb 6 01:38:20 2008 -0800 spi_bfin: wait for tx to complete on write paths SPI writes should also not return until the last bit is sent. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4fd432d9c7ac9a14e750d2ab0c91bc151e9af32e Author: Bryan Wu Date: Wed Feb 6 01:38:19 2008 -0800 spi_bfin: wait for tx to complete on full duplex paths Full duplex SPI operation should not read a dummy byte at the first transfer. Bug and fix by Jean-Christian de Rivaz : http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3678 Signed-off-by: Jean-Christian de Rivaz Signed-off-by: Bryan Wu Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e26aa015dd34d5768b80815836ad60e8495e9553 Author: Bryan Wu Date: Wed Feb 6 01:38:18 2008 -0800 spi_bfin: wait for tx to complete on some cs_chg paths PBX 2 SPI devices need the nonstandard "cs change per word" mechanism. This patch is one of three updating this driver to make the last data bits get sent before advancing the transfer ... in this case, before the chipselect gets deactivated. Signed-off-by: Bryan Wu Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aab0d83ee771b19082c3ee24576cf5508d319294 Author: Bryan Wu Date: Wed Feb 6 01:38:17 2008 -0800 spi_bfin: use more useful GPIO labels Use the SPI driver's name when requesting gpio lines. When there are gpio conflicts, this helps to narrow down the problems; "bfin-spi" is not informative. Signed-off-by: Bryan Wu Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d20d0a7c470cda37db6765866df6338f51ead0f Author: Bryan Wu Date: Wed Feb 6 01:38:17 2008 -0800 spi_bfin: remove useless fault path Remove useless return status check in restore_state function. Issue was pointed out by Michael. Cc: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ccc7baed1868efd02dac88b32cba4a837a558536 Author: Girish Date: Wed Feb 6 01:38:16 2008 -0800 spi: omap2_mcspi handles omap3 too This adds driver OMAP SPI specific changes to support OMAP 3430 Signed-off-by: Girish S G Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37e466408796300ec935e15f01b4ca88678b96ef Author: Magnus Damm Date: Wed Feb 6 01:38:15 2008 -0800 spi: SuperH SPI using SCI Add support for SPI over SCI pins. SCI is a very simple serial controller block that can be found on older SuperH processors. In theory it is possible to use the SCI hardware block in syncronous mode, but this version of the driver simply hooks up the bit banging code on the SCI pins. Signed-off-by: Magnus Damm Signed-off-by: David Brownell Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b359fbc4582abf346fa6773b2bc1d63581fda582 Author: David Brownell Date: Wed Feb 6 01:38:13 2008 -0800 spi: s3c drivers shouldn't care about spi_board_info The two S3C SPI master drivers got merged without much review, so I just noticed that they're doing something that the SPI core code is responsible for, rather than any adapter driver: they try to register SPI devices. This removes that support from those drivers so they act normally. Interestingly, none of the current boards are affected. So it's a net code shrink with no loss of functionality. Signed-off-by: David Brownell Cc: Ben Dooks Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8bacb219018a52e6f02a3cff6a7badf102ddfc44 Author: Haavard Skinnemoen Date: Wed Feb 6 01:38:13 2008 -0800 atmel_spi: fix dmachain oops with DEBUG enabled In atmel_spi_next_xfer, xfer can be NULL because the next transfer may already have been submitted to the PDC (using DMA chaining). This can cause an oops, since the debug message assumed it was never null. The fix changes how those debug messages are issued, ensuring that one is issued each time a transfer is started instead of once per call. Also, properly indent the "can this transfer be chained" test so it's not hidden as if it were non-conditional code. Signed-off-by: Haavard Skinnemoen Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 154443c72f47169ebcb3a7befbff0e934c49bff3 Author: Silvester Erdeg Date: Wed Feb 6 01:38:12 2008 -0800 atmel_spi: chain DMA transfers Add support for chained transfers in the atmel_spi driver, letting the DMA controller switch to the next buffer pair without CPU intervention. This reduced I/O latencies by about 2% in one bulk I/O test. It should also help work around several interrelated errata affecting chipselect 0 on at91rm9200 chips. Almost all of the changes are in the reworked atmel_spi_next_xfer() function. That's now called with the driver in one of three states: 1. It isn't transferring anything (in which case the first transfer of the current message is going to be sent) 2. It has finished transfering a non-chainable transfer (in which case it will go to the next transfer in the message) 3. It has finished transfering a chained transfer (in which case the next transfer is already queued) After that it will queue the next transfer if it can be chained. Signed-off-by: Szilveszter Ordog Acked-by: Haavard Skinnemoen Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1eed29df472a33bba013d5a2ea2f9e32f4414397 Author: Haavard Skinnemoen Date: Wed Feb 6 01:38:11 2008 -0800 atmel_spi throughput improvement Don't insert (undesirable) delays between consecutive words (DLYBCT) or when activating chipselects (DLYBS). Removing the between-word delays improves the performance of bulk transfers (such as mtd_dataflash, m25p80, mmc_spi) significantly. In one test, the improvement was a factor of more than eight! (The large DLYBCT value came from the legacy at91 SPI driver, and it's not clear why it used such a huge value.) Signed-off-by: Haavard Skinnemoen Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c72426f0539c1abce17918d1456f7a6a5a11f90 Author: David Brownell Date: Wed Feb 6 01:38:10 2008 -0800 spi core: stop updating dev->power.power_state Don't update dev->power.power_state any more in the SPI core. The only reason to update this scheduled-to-be-removed field was to make the already-removed /sys/devices/.../power/state files work better. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ceadd2a2a9cf2768a9baf808abf1ffeedcc4cc4 Author: Geert Uytterhoeven Date: Wed Feb 6 01:38:09 2008 -0800 Atari floppy: Rename disk_type to atari_disk_type Commit edfaa7c36574f1bf09c65ad602412db9da5f96bf Driver core: convert block from raw kobjects to core devices This moves the block devices to /sys/class/block. It will create a flat list of all block devices, with the disks and partitions in one directory. For compatibility /sys/block is created and contains symlinks to the disks. introduced a global disk_type variable in , causing the following compile error on Atari: drivers/block/ataflop.c:93: error: conflicting types for 'disk_type' include/linux/genhd.h:21: error: previous declaration of 'disk_type' was here Rename the local disk_type variable in drivers/block/ataflop.c to atari_disk_type, to avoid the conflict. Signed-off-by: Geert Uytterhoeven Cc: Kay Sievers Acked-by: Greg Kroah-Hartman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7129b126cc64f530d793bd56eb1709a06ec65a2d Author: David Fries Date: Wed Feb 6 01:38:09 2008 -0800 W1: w1_therm.c standardize units to millidegrees C Standardize the temperature units to millidegrees C for the two sensor conversion routines. Previously the routines were, w1_DS18B20_convert_temp degrees C w1_DS18S20_convert_temp millidegrees C Unfortunately this will break any program using the ds18b20 value as it will now be 1000 times bigger. Fortunately there can't be that many users out there, or some of these bugs will have been fixed by now, such as the negative C error (see previous patch) that makes me think the ds18b20 is the better choice to change because of the current bugs. Signed-off-by: David Fries Cc: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35841f708070bd295a96f6c98e566f8b251c1b48 Author: Borislav Petkov Date: Wed Feb 6 01:38:08 2008 -0800 drivers/cdrom/cdrom.c: simplify logic in cdrom_release() Simplify logic in cdrom_release() without semantic change. Signed-off-by: Borislav Petkov Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18a2354db7d7e43da08c0351263fd5b5fc20a38d Author: Evgeniy Polyakov Date: Wed Feb 6 01:38:07 2008 -0800 w1: remove unused and confusing variable. Remvoe variable which actually is not used (except assigning it a value) and confusing break out of the family checking loop. Found by Harry Mason. Signed-off-by: Evgeniy Polyakov Cc: Harry J Mason Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e1d42c983ff7ba4b55d8635899186ae2ef2578ad Author: Randy Dunlap Date: Wed Feb 6 01:38:06 2008 -0800 tpm: infineon section mismatch Fix section mismatch by making the driver template variable name match one of the whitelisted variable names in modpost. WARNING: vmlinux.o(.data+0x7a9e8): Section mismatch: reference to .init.text:tpm_inf_pnp_probe (between 'tpm_inf_pnp' and 'cn_idx') Signed-off-by: Randy Dunlap Cc: Marcel Selhorst Acked-by: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec03d7073971e20a866448d62c992a168201ac82 Author: Andrew Morton Date: Wed Feb 6 01:38:06 2008 -0800 speed up jiffies conversion functions if HZ==USER_HZ Avoid calling do_div(x, 1) in this case. Cc: David Fries Cc: "H. Peter Anvin" Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ffc787a4492ac627315aaeafdfdc0a5c3028582 Author: David Fries Date: Wed Feb 6 01:38:04 2008 -0800 system timer: fix crash in <100Hz system timer The kernel has a divide by zero crash when trying to run the system timer less than 100Hz. The problem is x/(HZ/USER_HZ) and related. Now x*(USER_HZ/HZ) will be used if HZ Cc: "H. Peter Anvin" Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 82f560874e88bd1fd8c98a6254d65a1dffab3876 Author: Jiri Slaby Date: Wed Feb 6 01:38:03 2008 -0800 phantom: don't grab other devices Specify also sub pci ids to not grab devices with properly set sub ids. This devices has these set (unset) to the same as (plx 9050) ids. Signed-off-by: Jiri Slaby Cc: Andreas Block Cc: Oliver Thimm Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b54aaef7a3a77f208bc14f576010da4fb8dfe29 Author: Joern Engel Date: Wed Feb 6 01:38:02 2008 -0800 Claim maintainership for block2mtd and update email addresses I have been prime author and maintainer of block2mtd from day one, but neither MAINTAINERS nor the module source makes this fact clear. And while I'm at it, update my email addresses tree-wide, as the old address currently bounces and change my name to "joern" as unicode will likely continue to cause trouble until the end of this century. Signed-off-by: Joern Engel Cc: David Woodhouse Cc: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dcc85cb61808098d22792db95f1dfa9c8b3bcf6d Author: Richard Kennedy Date: Wed Feb 6 01:38:01 2008 -0800 Documentation: add hint about call traces & module symbols to BUG-HUNTING Here's a couple of small additions to BUG-HUNTING. 1. point out that you can list code in gdb with only one command (gdb) l *( + offset) 2. give a very brief hint how to decode module symbols in call traces Signed-off-by: Richard Kennedy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 844fcc53962d781aab7c164acbfa46505427375e Author: Karsten Wiese Date: Wed Feb 6 01:37:59 2008 -0800 make sys_poll() wait at least timeout ms schedule_timeout(jiffies) waits for at least jiffies - 1. Add 1 jiffie to the timeout_jiffies calculated in sys_poll() to wait at least timeout_msecs, like poll() manpage says. Signed-off-by: Karsten Wiese Cc: Ingo Molnar Cc: Thomas Gleixner Cc: "H. Peter Anvin" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54d2a37eda3211d3b14c162238e9ccee43e023a9 Author: Joe Peterson Date: Wed Feb 6 01:37:59 2008 -0800 Fix IXANY and restart after signal (e.g. ctrl-C) in n_tty line discipline Fix two N_TTY line discipline issues related to resuming a stopped TTY (typically done with ctrl-S): 1) Fix handling of character that resumes a stopped TTY (with IXANY) With "stty ixany", the TTY line discipline would lose the first character after the stop, so typing, for example, "hi^Sthere" resulted in "hihere" (the 't' would cause the resume after ^S, but it would then be thrown away rather than processed as an input character). This was inconsistent with the behavior of other Unix systems. 2) Fix interrupt signal (e.g. ctrl-C) behavior in stopped TTYs With "stty -ixany" (often the default), interrupt signals were ignored in a stopped TTY until the TTY was resumed with the start char (typically ctrl-Q), which was inconsistent with the behavior of other Unix systems. Signed-off-by: Joe Peterson Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1373bed34e30b8632aaf43aa85d72329c83f7077 Author: Daniel Walker Date: Wed Feb 6 01:37:58 2008 -0800 docs: convert kref semaphore to mutex Just converting this documentation semaphore reference, since we don't want to promote semaphore usage. Signed-off-by: Daniel Walker Acked-by: Corey Minyard Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 13f14b4d8be225cbb11ff2be7c048590a9ccf87b Author: Eric Dumazet Date: Wed Feb 6 01:37:57 2008 -0800 Use ilog2() in fs/namespace.c We can use ilog2() in fs/namespace.c to compute hash_bits and hash_mask at compile time, not runtime. [akpm@linux-foundation.org: clean it all up] Signed-off-by: Eric Dumazet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b41ecbebd4091a15233abab2d771e65fb82cdb20 Author: Andrew Morton Date: Wed Feb 6 01:37:57 2008 -0800 debug_smp_processor_id() fixlets - Account for debug_smp_processor_id()'s own preempt_disable() when displaying the preempt_count(). - 80 cols, not 800. Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1bf47346d75790ebd2563d909d48046961c7ffd5 Author: Eric Dumazet Date: Wed Feb 6 01:37:56 2008 -0800 kernel/sys.c: get rid of expensive divides in groups_sort() groups_sort() can be quite long if user loads a large gid table. This is because GROUP_AT(group_info, some_integer) uses an integer divide. So having to do XXX thousand divides during one syscall can lead to very high latencies. (NGROUPS_MAX=65536) In the past (25 Mar 2006), an analog problem was found in groups_search() (commit d74beb9f33a5f16d2965f11b275e401f225c949d ) and at that time I changed some variables to unsigned int. I believe that a more generic fix is to make sure NGROUPS_PER_BLOCK is unsigned. Signed-off-by: Eric Dumazet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b2fb3c65844452bb9e8b449d50863d1b36c5dc0 Author: Adrian Bunk Date: Wed Feb 6 01:37:55 2008 -0800 idle_regs() must be __cpuinit Fix the following section mismatch with CONFIG_HOTPLUG=n, CONFIG_HOTPLUG_CPU=y: WARNING: vmlinux.o(.text+0x399a6): Section mismatch: reference to .init.text.5:idle_regs (between 'fork_idle' and 'get_task_mm') Signed-off-by: Adrian Bunk Cc: Ingo Molnar Cc: Thomas Gleixner Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c81c32f9616fd6f2795dceae2f70943cb4d8609 Author: Adrian Bunk Date: Wed Feb 6 01:37:51 2008 -0800 calibrate_delay() must be __cpuinit calibrate_delay() must be __cpuinit, not __{dev,}init. I've verified that this is correct for all users. While doing the latter, I also did the following cleanups: - remove pointless additional prototypes in C files - ensure all users #include This fixes the following section mismatches with CONFIG_HOTPLUG=n, CONFIG_HOTPLUG_CPU=y: WARNING: vmlinux.o(.text+0x1128d): Section mismatch: reference to .init.text.1:calibrate_delay (between 'check_cx686_slop' and 'set_cx86_reorder') WARNING: vmlinux.o(.text+0x25102): Section mismatch: reference to .init.text.1:calibrate_delay (between 'smp_callin' and 'cpu_coregroup_map') Signed-off-by: Adrian Bunk Cc: Ivan Kokshaysky Cc: Richard Henderson Cc: "Luck, Tony" Cc: Ralf Baechle Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: "David S. Miller" Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Christian Zankel Cc: Heiko Carstens Cc: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb38a996ebacefe4ce2274de901138505d9cc96b Author: Richard Knutsson Date: Wed Feb 6 01:37:50 2008 -0800 kernel/params.c: remove sparse-warning (different signedness) Fixing: CHECK kernel/params.c kernel/params.c:329:41: warning: incorrect type in argument 8 (different signedness) kernel/params.c:329:41: expected int *num kernel/params.c:329:41: got unsigned int * Signed-off-by: Richard Knutsson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15ae02baf025750cd79ef3929c28f7083a088bd2 Author: Eric Dumazet Date: Wed Feb 6 01:37:49 2008 -0800 lib/extable.c: remove an expensive integer divide in search_extable() Actual code let compiler generates idiv instruction on x86. Using a right shift is OK here and readable as well. Before patch 10: 57 push %edi 11: 56 push %esi 12: 89 d6 mov %edx,%esi 14: 53 push %ebx 15: 89 c3 mov %eax,%ebx 17: eb 22 jmp 3b 19: 89 f0 mov %esi,%eax 1b: ba 02 00 00 00 mov $0x2,%edx 20: 29 d8 sub %ebx,%eax 22: 89 d7 mov %edx,%edi 24: c1 f8 03 sar $0x3,%eax 27: 99 cltd 28: f7 ff idiv %edi 2a: 8d 04 c3 lea (%ebx,%eax,8),%eax 2d: 39 08 cmp %ecx,(%eax) ... After patch 00000010 : 10: 53 push %ebx 11: 89 c3 mov %eax,%ebx 13: eb 18 jmp 2d 15: 89 d0 mov %edx,%eax 17: 29 d8 sub %ebx,%eax 19: c1 f8 04 sar $0x4,%eax 1c: 8d 04 c3 lea (%ebx,%eax,8),%eax 1f: 39 08 cmp %ecx,(%eax) ... Signed-off-by: Eric Dumazet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f63fd7e299ee13da071ecfce2b90b58c5e1562b1 Author: Petr Cvek Date: Wed Feb 6 01:37:48 2008 -0800 parport_pc: detection for SuperIO IT87XX POST Add detection for IT87XX SuperIO chip and disabling its POST feature, which made noise on parallel port's pins. Signed-off-by: Petr Cvek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a9000d037d7dd08ac46168560b3a3d3bb743bfa6 Author: Nick Warne Date: Wed Feb 6 01:37:47 2008 -0800 ik8: add Dell UK 6400 Inspiron model (MM061) Add the Dell UK 6400 Inspiron model (MM061) to allow the i8k module to load correctly without using 'force=1' Signed-off-by: "Nick Warne" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b75cb06f72a8efebc8e1a66af4b8362172a3b661 Author: Thomas Bogendoerfer Date: Wed Feb 6 01:37:46 2008 -0800 partition: use DEFAULT_SGI_PARTITION for SGI_PARTION default Use DEFAULT_SGI_PARTITION for SGI_PARTION default Signed-off-by: Thomas Bogendoerfer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c01106e573e2ce56a7cf4d65937ddf8f7fee1a18 Author: Christian Pellegrin Date: Wed Feb 6 01:37:44 2008 -0800 parport_serial: netmos 9855 fix Fix wrong netmos 9855 serial port configuration. On loading only one serial port was present and it wasn't working. After looking in the data sheet I realized that the base address was wrong. For further reference here is lspci and relevant dmesg output: 02:00.0 Communication controller: NetMos Technology PCI 9855 Multi-I/O Controller (rev 01) (prog-if 02) Subsystem: LSI Logic / Symbios Logic Unknown device 0022 Flags: medium devsel, IRQ 19 I/O ports at df00 [size=8] I/O ports at de00 [size=8] I/O ports at dd00 [size=8] I/O ports at dc00 [size=8] I/O ports at db00 [size=8] I/O ports at da00 [size=16] parport1: PC-style at 0xdd00 [PCSPP,TRISTATE] parport2: PC-style at 0xdf00 [PCSPP,TRISTATE,EPP] 0000:02:00.0: ttyS0 at I/O 0xdb00 (irq = 19) is a 16550A 0000:02:00.0: ttyS1 at I/O 0xda00 (irq = 19) is a 16550A Signed-off-by: Christian Pellegrin Cc: Thomas Richter Cc: Bjorn Helgaas Cc: Martin Schitter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dc999159bbc1c542f310160c56ed8b701a7d6252 Author: Luís P Mendes Date: Wed Feb 6 01:37:43 2008 -0800 parport: add support for the Quatech SPPXP-100 Parallel port PCI ExpressCard Added pci device id for the Quatech SPPXP-100 ExpressCard - 0x278 - to include/linux/pci_id.h Modified drivers/parport/parport_pc.c to support the Quatech SPPXP-100 Parallel port PCI ExpressCard [akpm@linux-foundation.org: build fix] Signed-off-by: Luís P Mendes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8e3eff4668e3a4d6dbe7985a780f91de38a3c71 Author: Nick Piggin Date: Wed Feb 6 01:37:42 2008 -0800 ext2: xip check fix ext2 should not worry about checking sb->s_blocksize for XIP before the sb's blocksize actually gets set. Signed-off-by: Nick Piggin Acked-by: Carsten Otte Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cce992bcee3e1cf917956c2190d86f2e591636a9 Author: Daniel Walker Date: Wed Feb 6 01:37:41 2008 -0800 Amiga serial driver: port_write_mutex fixup The port_write_mutex was converted from a semaphore to a mutex, but there was still this ifdef'd init_MUTEX reference remaining. Signed-off-by: Daniel Walker Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c6080f74c8d83a83a1e36bce803de15c0633898 Author: Daniel Walker Date: Wed Feb 6 01:37:41 2008 -0800 stopmachine: semaphore to mutex [akpm@linux-foundation.org: cleanup] Signed-off-by: Daniel Walker Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcf11cbeccd7d981d68567942ba6ec184890bc29 Author: Denis Cheng Date: Wed Feb 6 01:37:40 2008 -0800 fs/reiserfs/xattr.c: use LIST_HEAD instead of LIST_HEAD_INIT Signed-off-by: Denis Cheng Cc: Chris Mason Cc: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e381d1c46037aa4191c35e7514191bb3de739cbc Author: Denis Cheng Date: Wed Feb 6 01:37:39 2008 -0800 drivers/char/ipmi/ipmi_msghandler.c: use LIST_HEAD instead of LIST_HEAD_INIT Signed-off-by: Denis Cheng Cc: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66656ebb5bf3f94aaeca1fbd369672bba980babf Author: Daniel Walker Date: Wed Feb 6 01:37:39 2008 -0800 docs: kernel-locking: Convert semaphore references I converted some of the document to reflect mutex usage instead of semaphore usage. Since we shouldin't be promoting semaphore usage when it's on it's way out.. Signed-off-by: Daniel Walker Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec5b1157f8e819c72fc93aa6d2d5117c08cdc961 Author: Joe Peterson Date: Wed Feb 6 01:37:38 2008 -0800 tty: enable the echoing of ^C in the N_TTY discipline Turn on INTR/QUIT/SUSP echoing in the N_TTY line discipline (e.g. ctrl-C will appear as "^C" if stty echoctl is set and ctrl-C is set as INTR). Linux seems to be the only unix-like OS (recently I've verified this on Solaris, BSD, and Mac OS X) that does *not* behave this way, and I really miss this as a good visual confirmation of the interrupt of a program in the console or xterm. I remember this fondly from many Unixs I've used over the years as well. Bringing this to Linux also seems like a good way to make it yet more compliant with standard unix-like behavior. [akpm@linux-foundation.org: coding-style fixes] Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a669c2f16d478cb7f4452e5fb8d09320831f4a1 Author: Roland McGrath Date: Wed Feb 6 01:37:37 2008 -0800 Add arch_ptrace_stop This adds support to allow asm/ptrace.h to define two new macros, arch_ptrace_stop_needed and arch_ptrace_stop. These control special machine-specific actions to be done before a ptrace stop. The new code compiles away to nothing when the new macros are not defined. This is the case on all machines to begin with. On ia64, these macros will be defined to solve the long-standing issue of ptrace vs register backing store. Signed-off-by: Roland McGrath Cc: Petr Tesarik Cc: Tony Luck Cc: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 941d2380e979dfefb6c824452e9f42be3ef948ee Author: Jan Kara Date: Wed Feb 6 01:37:36 2008 -0800 quota: improve inode list scanning in add_dquot_ref() We restarted scan of sb->s_inodes list whenever we had to drop inode_lock in add_dquot_ref(). This leads to overall quadratic running time and thus add_dquot_ref() can take several minutes when called on a life filesystem. We fix the problem by using the fact that inode cannot be removed from s_inodes list while we hold a reference to it and thus we can safely restart the scan if we don't drop the reference. Here we use the fact that inodes freshly added to s_inodes list are already guaranteed to have quotas properly initialized and the ordering of inodes on s_inodes list does not change so we cannot skip any inode. Thanks goes to Nick for analyzing the problem and testing the fix. [akpm@linux-foundation.org: iput(NULL) is legal] Signed-off-by: Jan Kara Cc: Nick Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bed9759b2e6bd938097389f6bd2ac8d622fa3884 Author: Denis Cheng Date: Wed Feb 6 01:37:35 2008 -0800 drivers/char: use LIST_HEAD instead of LIST_HEAD_INIT single list_head variable initialized with LIST_HEAD_INIT could almost always can be replaced with LIST_HEAD declaration, this shrinks the code and looks better. Signed-off-by: Denis Cheng Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a18b630d1becdf1a087de644fea080c1977bcf10 Author: Nick Piggin Date: Wed Feb 6 01:37:35 2008 -0800 uio: nopage Convert uio from nopage to fault. Signed-off-by: Nick Piggin Acked-by: Hans J Koch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1e096129bff79ae551592539bef19bfb5c9efa1 Author: Nick Piggin Date: Wed Feb 6 01:37:34 2008 -0800 relay: nopage Convert relay from nopage to fault. Remove redundant vma range checks. Switch from OOM to SIGBUS if the resource is not available. Signed-off-by: Nick Piggin Cc: Tom Zanussi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2df3f65d0b4337cfb5b19eab3ee28b177427c49 Author: Paulo Marques Date: Wed Feb 6 01:37:33 2008 -0800 kallsyms should prefer non weak symbols When resolving symbol names from addresses with aliased symbol names, kallsyms_lookup always returns the first symbol, even if it is a weak symbol. This patch changes this by sorting the symbols with the weak symbols last before feeding them to the kernel. This way the kernel runtime isn't changed at all, only the kallsyms build system is changed. Another side effect is that the symbols get sorted by address, too. So, even if future binutils version have some bug in "nm" that makes it fail to correctly sort symbols by address, the kernel won't be affected by this. Mathieu says: I created a module in LTTng that uses kallsyms to get the symbol corresponding to a specific system call address. Unfortunately, all the unimplemented syscalls were all referring to the (same) weak symbol identifying an unrelated system call rather that sys_ni (or whatever non-weak symbol would be expected). Kallsyms was dumbly returning the first symbol that matched. This patch makes sure kallsyms returns the non-weak symbol when there is one, which seems to be the expected result. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Mathieu Desnoyers Looks-great-to: Rusty Russell Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6752f3f538e9dc0d0e7fdb2080532554a5eb395 Author: Daniel Walker Date: Wed Feb 6 01:37:32 2008 -0800 unix98 allocated_ptys_lock semaphore to mutex Convert the unix98 allocated_ptys_lock to a mutex. Signed-off-by: Daniel Walker Acked-by: Ingo Molnar Cc: "H. Peter Anvin" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4749380ed688884a3bd3328b1bf32529d96aa49b Author: Daniel Walker Date: Wed Feb 6 01:37:32 2008 -0800 drivers/isdn/i4l/isdn_tty.c: remove write_sem I couldn't find any users, so removing it.. Signed-off-by: Daniel Walker Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb31005eaf3ca0705b404a78eb92f714c9449276 Author: Daniel Walker Date: Wed Feb 6 01:37:31 2008 -0800 drivers/char/tty_io.c: remove pty_sem I couldn't find any users, so removing it.. Signed-off-by: Daniel Walker Acked-by: Alan Cox Cc: "H. Peter Anvin" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d156042f9fdffcb0171dc20f0d8b6df3fbf779c4 Author: Daniel Drake Date: Wed Feb 6 01:37:30 2008 -0800 Documentation about unaligned memory access Here's a document I wrote after figuring out what unaligned memory access is all about. I've tried to cover the information I was looking for when trying to learn about this, without producing a hopelessly detailed/complex spew. I hope it is useful to others. Signed-off-by: Daniel Drake Cc: Rob Landley Cc: "Randy.Dunlap" Cc: Alan Cox Cc: Jan Engelhardt Cc: Johannes Berg Cc: Kyle McMartin Cc: Kyle Moffett Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d71bd5993b630a989d15adc2562a9ffe41cd26d Author: Nick Piggin Date: Wed Feb 6 01:37:29 2008 -0800 inotify: remove debug code The inotify debugging code is supposed to verify that the DCACHE_INOTIFY_PARENT_WATCHED scalability optimisation does not result in notifications getting lost nor extra needless locking generated. Unfortunately there are also some races in the debugging code. And it isn't very good at finding problems anyway. So remove it for now. Signed-off-by: Nick Piggin Cc: Robert Love Cc: John McCutchan Cc: Jan Kara Cc: Yan Zheng Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d599e36a9ea85432587f4550acc113cd7549d12a Author: Nick Piggin Date: Wed Feb 6 01:37:28 2008 -0800 inotify: fix race There is a race between setting an inode's children's "parent watched" flag when placing the first watch on a parent, and instantiating new children of that parent: a child could miss having its flags set by set_dentry_child_flags, but then inotify_d_instantiate might still see !inotify_inode_watched. The solution is to set_dentry_child_flags after adding the watch. Locking is taken care of, because both set_dentry_child_flags and inotify_d_instantiate hold dcache_lock and child->d_locks. Signed-off-by: Nick Piggin Cc: Robert Love Cc: John McCutchan Cc: Jan Kara Cc: Yan Zheng Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eea63e0e8a60d00485b47fb6e75d9aa2566b989b Author: Thomas Bogendoerfer Date: Wed Feb 6 01:37:27 2008 -0800 SC26XX: New serial driver for SC2681 uarts New serial driver for SC2681/SC2691 uarts. Older SNI RM400 machines are using these chips for onboard serial ports. Signed-off-by: Thomas Bogendoerfer Cc: Ralf Baechle Cc: Alan Cox Cc: Torben Mathiasen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5d3f30d0a1f94b3a60c34fb2e10d7ffc936804c Author: Thomas Bogendoerfer Date: Wed Feb 6 01:37:26 2008 -0800 char: use SGI_HAS_DS1286 for SGI_DS1286 depends Use SGI_HAS_DS1286 for SGI_DS1286 depends Signed-off-by: Thomas Bogendoerfer Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5057c98a422d009ba644b55448601a3c4e27a50d Author: Thomas Bogendoerfer Date: Wed Feb 6 01:37:26 2008 -0800 serial: use SGI_HAS_ZILOG for IP22_ZILOG depends - Use SGI_HAS_ZILOG for IP22_ZILOG depends - remove IP22 from description, because the driver works on more than IP22 SGI machines Signed-off-by: Thomas Bogendoerfer Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b25b7819e51f388f8c8d7ae4679a658895dc67cc Author: Robert P. J. Day Date: Wed Feb 6 01:37:25 2008 -0800 Remove superfluous checks for CONFIG_BLK_DEV_INITRD from initramfs.c Given that init/Makefile includes initramfs.c in the build only if CONFIG_BLK_DEV_INITRD is defined, there seems to be no point checking for it yet again. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d99c4f6b13b3149bc83703ab1493beaeaaaf8a2d Author: Paul E. McKenney Date: Wed Feb 6 01:37:25 2008 -0800 Remove rcu_assign_pointer() penalty for NULL pointers The rcu_assign_pointer() primitive currently unconditionally executes a memory barrier, even when a NULL pointer is being assigned. This has lead some to avoid using rcu_assign_pointer() for NULL pointers, which loses the self-documenting advantages of rcu_assign_pointer() This patch uses __builtin_const_p() to omit needless memory barriers for NULL-pointer assignments at compile time with no runtime penalty, as discussed in the following thread: http://www.mail-archive.com/netdev@vger.kernel.org/msg54852.html Tested on x86_64 and ppc64, also compiled the four cases (NULL/non-NULL and const/non-const) with gcc version 4.1.2, and hand-checked the assembly output. Signed-off-by: Paul E. McKenney Acked-by: Herbert Xu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba6f867f114760d4e43f0f93abe280ee0a0d696e Author: Qi Yong Date: Wed Feb 6 01:37:23 2008 -0800 kill an unused PTR_ERR in bdev_cache_init() Signed-off-by: Qi Yong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 91f3f1e304f2e9ff2c8b9c76efd4fb8ff93110f7 Author: Matt Mackall Date: Wed Feb 6 01:37:20 2008 -0800 drivers/char/random.c:write_pool() cond_resched() needed Reduce latency for large writes to /dev/[u]random Signed-off-by: Matt Mackall Cc: Sami Farin Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ab24c79af5a05659f68eae3e5f232c9a15359d7 Author: Jeff Dike Date: Wed Feb 6 01:37:19 2008 -0800 Fix __const_udelay declaration and definition mismatches The declaration and implementation of __const_udelay use different names for the parameter on a number of architectures: include/asm-avr32/delay.h:15:extern void __const_udelay(unsigned long usecs); arch/avr32/lib/delay.c:39:inline void __const_udelay(unsigned long xloops) include/asm-sh/delay.h:15:extern void __const_udelay(unsigned long usecs); arch/sh/lib/delay.c:22:inline void __const_udelay(unsigned long xloops) include/asm-m32r/delay.h:15:extern void __const_udelay(unsigned long usecs); arch/m32r/lib/delay.c:58:void __const_udelay(unsigned long xloops) include/asm-x86/delay.h:16:extern void __const_udelay(unsigned long usecs); arch/x86/lib/delay_32.c:82:inline void __const_udelay(unsigned long xloops) arch/x86/lib/delay_64.c:46:inline void __const_udelay(unsigned long xloops) The units of the parameter isn't usecs, so that name is definitely wrong. It's also not exactly loops, so I suppose xloops is an OK name. This patch changes these names from usecs to xloops. Signed-off-by: Jeff Dike Cc: Haavard Skinnemoen Cc: Paul Mundt Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed8485fb340056c4d9062e9d2697c8402dd19eb0 Author: Paul Fulghum Date: Wed Feb 6 01:37:18 2008 -0800 synclink_gt fix missed serial input signal changes Fix missed serial input signal changes caused by rereading the serial status register during interrupt processing. Now processing is performed on original status register value. Signed-off-by: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3dd1247f4dee214a92b42e17818703ea71233288 Author: Robert P. J. Day Date: Wed Feb 6 01:37:17 2008 -0800 synclink: standardize format of linux header file include's with "<>" Use the recommended form of "<>" to include linux header files, and move those includes up to join the rest of the linux includes. Signed-off-by: Robert P. J. Day Acked-by: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9cfe015aa424b3c003baba3841a60dd9b5ad319b Author: Eric Dumazet Date: Wed Feb 6 01:37:16 2008 -0800 get rid of NR_OPEN and introduce a sysctl_nr_open NR_OPEN (historically set to 1024*1024) actually forbids processes to open more than 1024*1024 handles. Unfortunatly some production servers hit the not so 'ridiculously high value' of 1024*1024 file descriptors per process. Changing NR_OPEN is not considered safe because of vmalloc space potential exhaust. This patch introduces a new sysctl (/proc/sys/fs/nr_open) wich defaults to 1024*1024, so that admins can decide to change this limit if their workload needs it. [akpm@linux-foundation.org: export it for sparc64] Signed-off-by: Eric Dumazet Cc: Alan Cox Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: "David S. Miller" Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 774ed22c21ab95d582dfff38560f11cf290baeb4 Author: Richard Knutsson Date: Wed Feb 6 01:37:15 2008 -0800 reiserfs: complement va_start() with va_end(). Complement va_start() with va_end(). Signed-off-by: Richard Knutsson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11025e855235144271a0e447e3650b203f8215f4 Author: Dave Jones Date: Wed Feb 6 01:37:13 2008 -0800 via-rng: enable secondary noise source on CPUs where it is present In the padlock spec: "SRC Bits[9:8] Noise source select (I): These bits control the two noise sources on the processor that input bits to the accumulation buffers. On Nehemiah processors prior to stepping 8, these bits are reserved and undefined. The default RESET state is both bits = 0." Signed-off-by: Dave Jones Tested-by: Udo van den Heuvel Cc: Michael Buesch Cc: folkert van Heusden Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ece95912db94d98e202cbedb8f35206deb29d83d Author: Jan Kara Date: Wed Feb 6 01:37:13 2008 -0800 inotify: send IN_ATTRIB events when link count changes Currently, no notification event has been sent when inode's link count changed. This is inconvenient for the application in some cases: Suppose you have the following directory structure foo/test bar/ and you watch test. If someone does "mv foo/test bar/", you get event IN_MOVE_SELF and you know something has happened with the file "test". However if someone does "ln foo/test bar/test" and "rm foo/test" you get no inotify event for the file "test" (only directories "foo" and "bar" receive events). Furthermore it could be argued that link count belongs to file's metadata and thus IN_ATTRIB should be sent when it changes. The following patch implements sending of IN_ATTRIB inotify events when link count of the inode changes, i.e., when a hardlink to the inode is created or when it is removed. This event is sent in addition to all the events sent so far. In particular, when a last link to a file is removed, IN_ATTRIB event is sent in addition to IN_DELETE_SELF event. Signed-off-by: Jan Kara Acked-by: Morten Welinder Cc: Robert Love Cc: John McCutchan Cc: Steven French Cc: Kamalesh Babulal Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d9851618104a21dbf5ee8260b5f2d4b5229c77e Author: Jiri Slaby Date: Wed Feb 6 01:37:11 2008 -0800 MAINTAINERS, order AUERSWALD alphabetically MAINTAINERS, order AUERSWALD alphabetically Signed-off-by: Jiri Slaby Cc: Wolfgang Muees Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 14b30d628446e5e4e4b313e10a90586fcf7d5638 Author: Robert P. J. Day Date: Wed Feb 6 01:37:10 2008 -0800 hfs: update comment to reflect actual init and exit routines Signed-off-by: Robert P. J. Day Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55581d018ed3493d226e7a4d645d9c8a5af6c36b Author: Eric Sandeen Date: Wed Feb 6 01:37:10 2008 -0800 address hfs on-disk corruption robustness review comments Address Roman's review comments for the previously sent on-disk corruption hfs robustness patch. - use 0 as a failure value, rather than making a new macro HFS_BAD_KEYLEN, and use a switch statement instead of if's. - Add new fail: target to __hfs_brec_find to skip assignments using bad values when exiting with a failure. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Eric Sandeen Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c28cbaed6811260efc0134b984b924cd0ed46f5 Author: Robert P. J. Day Date: Wed Feb 6 01:37:09 2008 -0800 NCPFS: update diagnostic strings to match routine names. Signed-off-by: Robert P. J. Day Cc: Petr Vandrovec Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 797074e44d78835adbde2ca527718b0e50226b95 Author: Akinobu Mita Date: Wed Feb 6 01:37:08 2008 -0800 fs: use list_for_each_entry_reverse and kill sb_entry Use list_for_each_entry_reverse for super_blocks list and remove unused sb_entry macro. Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e8462caa915d4d12846db7aae2557b6db7c054d5 Author: Akinobu Mita Date: Wed Feb 6 01:37:07 2008 -0800 fs: use hlist_unhashed Use hlist_unhashed() instead of opencoded equivalent. Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07a154b2bb9b528a39ddc777399482c1fa27fdb8 Author: Michal Schmidt Date: Wed Feb 6 01:37:07 2008 -0800 proc: loadavg reading race The avenrun[] values are supposed to be protected by xtime_lock. loadavg_read_proc does not use it. Theoretically this may result in an occasional glitch when the value read from /proc/loadavg would be as much as 1<<11 times higher than it should be. Signed-off-by: Michal Schmidt Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a76fe8e50ee93a9d4a1badb1ec995852a6bcaf1 Author: Oleg Nesterov Date: Wed Feb 6 01:37:06 2008 -0800 do_wait: remove one "else if" branch Minor cleanup. We can remove one "else if" branch. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f10db6277dfd6dffb80b2182a256d35adb3134bc Author: Herbert Xu Date: Wed Feb 6 01:37:05 2008 -0800 Avoid divide in IS_ALIGN I was happy to discover the brand new IS_ALIGN macro and quickly used it in my code. To my dismay I found that the generated code used division to perform the test. This patch fixes it by changing the % test to an &. This avoids the division. Signed-off-by: Herbert Xu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b0940003f25dd3d2c54c4879809a432a35197f54 Author: Nick Piggin Date: Wed Feb 6 01:37:04 2008 -0800 vt: bitlock fix vt is missing a memory barrier to close the critical section. Use a real spinlock for this. Signed-off-by: Nick Piggin Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5bd91f18be2fc0dd0384fbfca6d3cdd79a8050dd Author: Richard MUSIL Date: Wed Feb 6 01:37:02 2008 -0800 tpm.c: fix crash during device removal The clean up procedure now uses platform device "release" callback to handle memory clean up. For this purpose "release" function callback was added to struct tpm_vendor_specific, so hw device driver provider can get called when it is safe to remove all allocated resources. This is supposed to fix a bug in device removal, where device while in receive function (waiting on timeout) was prone to segfault, if the tpm_chip struct was unallocated before the timeout expired (in tpm_remove_hardware). Acked-by: Marcel Selhorst Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eed4a2aba7ff6d8c40d3d55b81f80352765ffcee Author: Denys Vlasenko Date: Wed Feb 6 01:37:02 2008 -0800 printk.c: use unsigned ints instead of longs for logbuf index Stop using unsigned _longs_ for printk buffer indexes. Log buffer is way smaller than 2 gigabytes and unsigned ints will work too . Indeed, they do work nicely on all 32-bit platforms where longs and ints are the same. With this patch, we have following size savings on amd64: text data bss dec hex filename 5997 313 17736 24046 5dee 2.6.23.1.t64/kernel/printk.o 5858 313 17700 23871 5d3f 2.6.23.1.printk.t64/kernel/printk.o Signed-off-by: Denys Vlasenko Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3242151906372f30f57feaa43b4cac96a23edb1 Author: Eric Dumazet Date: Wed Feb 6 01:37:01 2008 -0800 PERCPU : __percpu_alloc_mask() can dynamically size percpu_data storage Instead of allocating a fix sized array of NR_CPUS pointers for percpu_data, we can use nr_cpu_ids, which is generally < NR_CPUS. Signed-off-by: Eric Dumazet Cc: Christoph Lameter Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7ca2d41a029577a8cff453d1445951d4f96bfd8 Author: Joern Engel Date: Wed Feb 6 01:36:59 2008 -0800 Document I_SYNC and I_DATASYNC After some archeology (see http://logfs.org/logfs/inode_state_bits) I finally figured out what the three I_DIRTY bits do. Maybe others would prefer less effort to reach this insight. Signed-off-by: Joern Engel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20420bba13bf79c86cab1e5bdfc4c938d9e44bc9 Author: Jiri Olsa Date: Wed Feb 6 01:36:56 2008 -0800 alpha/parisc: remove config variable DEBUG_RWLOCK Remove config variable DEBUG_RWLOCK, since it is not used. Signed-off-by: Jiri Olsa Acked-by: Grant Grundler Acked-by: Kyle McMartin Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0321155926b32cbc46f6603c6cc455e046b4d9b2 Author: Jiri Olsa Date: Wed Feb 6 01:36:55 2008 -0800 fs: remove dead config CONFIG_HAS_COMPAT_EPOLL_EVENT symbol Remove dead config CONFIG_HAS_COMPAT_EPOLL_EVENT symbol. Signed-off-by: Jiri Olsa Cc: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de9330d13eac1f331e63ab1d18c506365b0151f3 Author: Robert P. J. Day Date: Wed Feb 6 01:36:54 2008 -0800 log2.h: Define order_base_2() macro for convenience. Given a number of places in the tree that need to calculate this value explicitly, might as well just create a macro for it. (akpm: must be implemented as a macro for callee typeof() usage) Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 582539e5a0480f1e00e3b9ffbe50bd5b2f59a16f Author: Randy Dunlap Date: Wed Feb 6 01:36:54 2008 -0800 cciss: use upper_32_bits() macro to eliminate warnings Use upper_32_bits(x) macro to handle shifts that may be >= the width of the data type. drivers/block/cciss.c: In function 'do_cciss_request': drivers/block/cciss.c:2655: warning: right shift count >= width of type drivers/block/cciss.c:2656: warning: right shift count >= width of type drivers/block/cciss.c:2657: warning: right shift count >= width of type drivers/block/cciss.c:2658: warning: right shift count >= width of type Signed-off-by: Randy Dunlap Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e2cb1018a8a583b83d56c80f46507da6f3f2b57 Author: Miao Xie Date: Wed Feb 6 01:36:53 2008 -0800 time: fix sysfs_show_{available,current}_clocksources() buffer overflow problem I found that there is a buffer overflow problem in the following code. Version: 2.6.24-rc2, File: kernel/time/clocksource.c:417-432 -------------------------------------------------------------------- static ssize_t sysfs_show_available_clocksources(struct sys_device *dev, char *buf) { struct clocksource *src; char *curr = buf; spin_lock_irq(&clocksource_lock); list_for_each_entry(src, &clocksource_list, list) { curr += sprintf(curr, "%s ", src->name); } spin_unlock_irq(&clocksource_lock); curr += sprintf(curr, "\n"); return curr - buf; } ----------------------------------------------------------------------- sysfs_show_current_clocksources() also has the same problem though in practice the size of current clocksource's name won't exceed PAGE_SIZE. I fix the bug by using snprintf according to the specification of the kernel (Version:2.6.24-rc2,File:Documentation/filesystems/sysfs.txt) Fix sysfs_show_available_clocksources() and sysfs_show_current_clocksources() buffer overflow problem with snprintf(). Signed-off-by: Miao Xie Cc: WANG Cong Cc: Thomas Gleixner Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be6c28e62e3a304b74013afab029af2021e1f50d Author: Roel Kluin <12o3l@tiscali.nl> Date: Wed Feb 6 01:36:51 2008 -0800 sound/oss/trident.c: fix incorrect test in trident_ac97_set() If count reaches zero, the loop ends, but the postfix decrement still subtracts: testing for 'count == 0' will not work. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Reviewed-by: Ray Lee Acked-by: Muli Ben-Yehuda Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 67a3b2b6ce09809b21f60401e81663f2c8131640 Author: Robert P. J. Day Date: Wed Feb 6 01:36:51 2008 -0800 rd: use is_power_of_2() in drivers/block/rd.c. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2118116e5ed2432a054d52f9925dbf92d2cb7279 Author: Adrian Bunk Date: Wed Feb 6 01:36:50 2008 -0800 drivers/misc/lkdtm.c: cleanups - make needlessly global functions static - make lkdtm_module_{init,exit}() as __{init,exit} Signed-off-by: Adrian Bunk Cc: Ankita Garg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26464378c4af9f7461b9d9e359f98dbd34ab3544 Author: Adrian Bunk Date: Wed Feb 6 01:36:49 2008 -0800 proper prototype for vty_init() Add a proper prototype for vty_init() in include/linux/vt_kern.h Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7747cdb2f8302c2e1121f6d604b62a060fb04603 Author: Adrian Bunk Date: Wed Feb 6 01:36:49 2008 -0800 fs/eventfd.c should #include Every file should include the headers containing the prototypes for its global functions (in this case sys_eventfd()). Signed-off-by: Adrian Bunk Cc: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ec37dfd4d282ce132dcb048398800951f6d11ef Author: Adrian Bunk Date: Wed Feb 6 01:36:48 2008 -0800 fs/signalfd.c should #include Every file should include the headers containing the prototypes for its global functions (in this case sys_signalfd()). Signed-off-by: Adrian Bunk Cc: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 12c2ab5e8fdfde67f3f6778a366cbdef06de410d Author: Adrian Bunk Date: Wed Feb 6 01:36:47 2008 -0800 fs/utimes.c should #include Every file should include the headers containing the prototypes for its global functions. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 011e3fcd1e1f14ef54db30b93404ab7caa726477 Author: Adrian Bunk Date: Wed Feb 6 01:36:47 2008 -0800 proper prototype for get_filesystem_list() Ad a proper prototype for migration_init() in include/linux/fs.h Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c166f23cb56a76983ce860739d95c8296e57d6b3 Author: Adrian Bunk Date: Wed Feb 6 01:36:46 2008 -0800 kernel/notifier.c should #include Every file should include the headers containing the prototypes for its global functions (in this case {,un}register_reboot_notifier()). Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bb695170d8dff3f22682b6c19df64dc093f58c0a Author: Adrian Bunk Date: Wed Feb 6 01:36:45 2008 -0800 make srcu_readers_active() static Make the needlessly global srcu_readers_active() static. Signed-off-by: Adrian Bunk Cc: "Paul E. McKenney" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f17d30a803e8434c4ef381bb5cfa1956ff0201f0 Author: Adrian Bunk Date: Wed Feb 6 01:36:44 2008 -0800 kernel/ptrace.c should #include Every file should include the headers containing the prototypes for its global functions (in this case sys_ptrace()). Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1c9eea9e56a7196c6891f6426b799c4598b38e2 Author: Adrian Bunk Date: Wed Feb 6 01:36:44 2008 -0800 proper prototype for signals_init() Add a proper prototype for signals_init() in include/linux/signal.h Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce88cc5ed80de746f5bd2d8242291c87e7b87f63 Author: Jeff Layton Date: Wed Feb 6 01:36:43 2008 -0800 smbfs: fix calculation of kernel_recvmsg size parameter in smb_receive() smb_receive calls kernel_recvmsg with a size that's the minimum of the amount of buffer space in the kvec passed in or req->rq_rlen (which represents the length of the response). This does not take into account any data that was read in a request earlier pass through smb_receive. If the first pass through smb_receive receives some but not all of the response, then the next pass can call kernel_recvmsg with a size field that's too big. kernel_recvmsg can overrun into the next response, throwing off the alignment and making it unrecognizable. This causes messages like this to pop up in the ring buffer: smb_get_length: Invalid NBT packet, code=69 as well as other errors indicating that the response is unrecognizable. Typically this is seen on a smbfs mount under heavy I/O. This patch changes the code to use (req->rq_rlen - req->rq_bytes_recvd) instead instead of just req->rq_rlen, since that should represent the amount of unread data in the response. I think this is correct, but an ACK or NACK from someone more familiar with this code would be appreciated... Signed-off-by: Jeff Layton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 941e492bdb1239d2ca8f5736cdfd3ff83d00cb90 Author: Andrew Morton Date: Wed Feb 6 01:36:42 2008 -0800 read_current_timer() cleanups - All implementations can be __devinit - The function prototypes were in asm/timex.h but they all must be the same, so create a single declaration in linux/timex.h. - uninline the sparc64 version to match the other architectures - Don't bother #defining ARCH_HAS_READ_CURRENT_TIMER to a particular value. [ezk@cs.sunysb.edu: fix build] Cc: "David S. Miller" Cc: Haavard Skinnemoen Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 83bad1d764b836a482b88e0a1f44d7a5c3e1fee0 Author: Adrian Bunk Date: Wed Feb 6 01:36:36 2008 -0800 scheduled OSS driver removal This patch contains the scheduled removal of OSS drivers whose config options have been removed in 2.6.23. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4cf9c342a2887f425780c23ad2be3077949cee2 Author: Vegard Nossum Date: Wed Feb 6 01:36:36 2008 -0800 FAT: Fix printk format strings This makes sure printk format strings contain no more than a single line. Signed-off-by: Vegard Nossum [the message was tweaked.] Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f74596d07957235ad9da5120029348b372224a27 Author: Adrian Bunk Date: Wed Feb 6 01:36:35 2008 -0800 proper show_interrupts() prototype Add a proper prototype for show_interrupts() in include/linux/interrupt.h Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b03cfb25fa944bc106e816146846dcb48b2e907 Author: Andries E. Brouwer Date: Wed Feb 6 01:36:32 2008 -0800 MNT_UNBINDABLE fix Some time ago ( http://lkml.org/lkml/2007/6/19/128 ) I wrote about MNT_UNBINDABLE that it felt like a bug that it is not reset by "mount --make-private". Today I happened to see mount(8) and Documentation/sharedsubtree.txt and both document the version obtained by applying the little patch given in the above (and again below). So, the present kernel code is not according to specs and must be regarded as buggy. Specification in Documentation/sharedsubtree.txt: See state diagram: unbindable should become private upon make-private. Specification in mount(8): ... It's also possible to set up uni-directional propagation (with --make- slave), to make a mount point unavailable for --bind/--rbind (with --make-unbindable), and to undo any of these (with --make-private). Repeat of old fix-shared-subtrees-make-private.patch (due to Dirk Gerrits, René Gabriëls, Peter Kooijmans): Acked-by: Ram Pai Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 870b8f8c43d000bb321b42a12212facc1087a748 Author: Adrian Bunk Date: Wed Feb 6 01:36:30 2008 -0800 remove mm_{ptov,vtop}() This patch removes the unused mm_{ptov,vtop}(). Signed-off-by: Adrian Bunk Acked-by: Greg Ungerer Acked-by: Bryan Wu Cc: Miles Bader Cc: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b892806b09dca77db8ef6acbb6c51271578d34d Author: Adrian Bunk Date: Wed Feb 6 01:36:29 2008 -0800 cleanup after APUS removal After the APUS removal, some code can be removed. Signed-off-by: Adrian Bunk Acked-by: Geert Uytterhoeven Cc: Bartlomiej Zolnierkiewicz Cc: Karsten Keil Cc: James Bottomley Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b524b9adb3f655697fe6df9197b3ed6f14bc1729 Author: Adrian Bunk Date: Wed Feb 6 01:36:28 2008 -0800 make ipc/util.c:sysvipc_find_ipc() static sysvipc_find_ipc() can become static. Signed-off-by: Adrian Bunk Acked-by: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33b5f31bbc4d047d048d8635fccdab38ffe6c287 Author: Randy Dunlap Date: Wed Feb 6 01:36:28 2008 -0800 register_cpu __devinit or __cpuinit Is there some reason why register_cpu() is __devinit instead of __cpuinit ? Make it __cpuinit. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96c5865559cee0f9cbc5173f3c949f6ce3525581 Author: David Woodhouse Date: Wed Feb 6 01:36:27 2008 -0800 Allow auto-destruction of loop devices This allows a flag to be set on loop devices so that when they are closed for the last time, they'll self-destruct. In general, so that we can automatically allocate loop devices (as with losetup -f) and have them disappear when we're done with them. In particular, right now, so that we can stop relying on the hackish special-case in umount(8) which kills off loop devices which were set up by 'mount -oloop'. That means we can stop putting crap in /etc/mtab which doesn't belong there, which means it can be a symlink to /proc/mounts, which means yet another writable file on the root filesystem is eliminated and the 'stateless' folks get happier... and OLPC trac #356 can be closed. The mount(8) side of that is at http://marc.info/?l=util-linux-ng&m=119362955431694&w=2 [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: David Woodhouse Cc: Bernardo Innocenti Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3b81113fb6658629f4ebaabf8dd3067cd341020 Author: Robin Getz Date: Wed Feb 6 01:36:26 2008 -0800 remove support for un-needed _extratext section When passing a zero address to kallsyms_lookup(), the kernel thought it was a valid kernel address, even if it is not. This is because is_ksym_addr() called is_kernel_extratext() and checked against labels that don't exist on many archs (which default as zero). Since PPC was the only kernel which defines _extra_text, (in 2005), and no longer needs it, this patch removes _extra_text support. For some history (provided by Jon): http://ozlabs.org/pipermail/linuxppc-dev/2005-September/019734.html http://ozlabs.org/pipermail/linuxppc-dev/2005-September/019736.html http://ozlabs.org/pipermail/linuxppc-dev/2005-September/019751.html [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Robin Getz Cc: David Woodhouse Cc: Jon Loeliger Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a5dcb51770be3cd0202d6b90a07996fb40130b6 Author: Matthias Kaehlcke Date: Wed Feb 6 01:36:25 2008 -0800 Parallel port: convert port_mutex to the mutex API Parallel port: Convert port_mutex to the mutex API [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f47f0b688bba7642dac4e979896e4692177670b Author: Matt Domsch Date: Wed Feb 6 01:36:24 2008 -0800 dcdbas: add DMI-based module autloading DMI autoload dcdbas on all Dell systems. This looks for BIOS Vendor or System Vendor == Dell, so this should work for systems both Dell-branded and those Dell builds but brands for others. It causes udev to load the dcdbas module at startup, which is used by tools called by HAL for wireless control and backlight control, among other uses. Thanks to Kay Sievers for figuring out how to do this with a single alias. Signed-off-by: Matt Domsch Cc: Kay Sievers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f661197e0a95ec7305e1e790d95b72a74a1c4a0f Author: David Miller Date: Wed Feb 6 01:36:23 2008 -0800 Genericizing iova.[ch] I would like to potentially move the sparc64 IOMMU code over to using the nice new drivers/pci/iova.[ch] code for free area management.. In order to do that we have to detach the IOMMU page size assumptions which only really need to exist in the intel-iommu.[ch] code. This patch attempts to implement that. [akpm@linux-foundation.org: build fix] Signed-off-by: David S. Miller Acked-by: Anil S Keshavamurthy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1ed88b47f5e18c6efb8041275c16eeead5377df Author: Pierre Peiffer Date: Wed Feb 6 01:36:23 2008 -0800 IPC: fix error check in all new xxx_lock() and xxx_exit_ns() functions In the new implementation of the [sem|shm|msg]_lock[_check]() routines, we use the return value of ipc_lock() in container_of() without any check. But ipc_lock may return a errcode. The use of this errcode in container_of() may alter this errcode, and we don't want this. And in xxx_exit_ns, the pointer return by idr_find is of type 'struct kern_ipc_per'... Today, the code will work as is because the member used in these container_of() is the first member of its container (offset == 0), the errcode isn't changed then. But in the general case, we can't count on this assumption and this may lead later to a real bug if we don't correct this. Again, the proposed solution is simple and correct. But, as pointed by Nadia, with this solution, the same check will be done several times (in all sub-callers...), what is not very funny/optimal... Signed-off-by: Pierre Peiffer Cc: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15aafa2f9d8399b22e418c53a87dfc0c43f4030f Author: Jeff Garzik Date: Wed Feb 6 01:36:20 2008 -0800 Remove pointless casts from void pointers Mostly in and around irq handlers. Signed-off-by: Jeff Garzik Cc: Russell King Cc: "Luck Tony" Cc: Roman Zippel Cc: Geert Uytterhoeven Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Acked-by: Dmitry Torokhov Cc: Karsten Keil Acked-by: "John W. Linville" Cc: James Bottomley Cc: David Brownell Cc: "Antonino A. Daplas" Acked-by: Josh Boyer Acked-by: Holger Schurig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcfbf84d4067674b0740a39605f8057622ad5230 Author: Dmitry Antipov Date: Wed Feb 6 01:36:19 2008 -0800 SIGIO-driven I/O with inotify queues Add SIGIO-driven I/O for descriptors returned by inotify_init(). The thing may be enabled by convenient fcntl (fd, F_SETFL, O_ASYNC) call. Signed-off-by: Dmitry Antipov Cc: Robert Love Cc: John McCutchan Cc: Michael Kerrisk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 14e11e106bf90c52c69373ac6abd3a494918808f Author: Aneesh Kumar K.V Date: Wed Feb 6 01:36:17 2008 -0800 ext2: change the default behaviour on error ext2 file system was by default ignoring errors and continuing. This is not a good default as continuing on error could lead to file system corruption. Change the default to mark the file system readonly. Debian and ubuntu already does this as the default in their fstab. Signed-off-by: Aneesh Kumar K.V Cc: Cc: Eric Sandeen Cc: Jan Kara Cc: Dave Jones Cc: Chuck Ebbert Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f0adaecede9ca68d9fcddae5a5a7ed6fc31a5e5 Author: Aneesh Kumar K.V Date: Wed Feb 6 01:36:17 2008 -0800 ext2: return after ext2_error in case of failures This fixes some instances where we were continuing after calling ext2_error. ext2_error call panic only if errors=panic mount option is set. So we need to make sure we return correctly after ext2_error call. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73de76a0a42efa173c29aff32e555ac6de992573 Author: Jeff Garzik Date: Wed Feb 6 01:36:16 2008 -0800 sound/oss/sb_common.c: fix casting warning sound/oss/sb_common.c: In function 'probe_sbmpu': sound/oss/sb_common.c:1231: warning: cast to pointer from integer of different size Signed-off-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ffce7a829d913f40678e0ccf2d87a8c2050261a0 Author: Jeff Garzik Date: Wed Feb 6 01:36:15 2008 -0800 sound/oss/pss: set_io_base() always returns success, mark it void [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 911f21501f50b16ce77f37b01e90b5b73c8c80bf Author: Ralf Baechle Date: Wed Feb 6 01:36:15 2008 -0800 Remove inclusions of Nothing should ever include this file. Signed-off-by: Ralf Baechle Acked-by: "Mike Frysinger" Acked-by: "Bryan Wu" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e701482d1d7b90c358e2bd244bb71623f767120 Author: Matthew Wilcox Date: Wed Feb 6 01:36:14 2008 -0800 hash: add explicit u32 and u64 versions of hash The 32-bit version is more efficient (and apparently gives better hash results than the 64-bit version), so users who are only hashing a 32-bit quantity can now opt to use the 32-bit version explicitly, rather than promoting to a long. Signed-off-by: Matthew Wilcox Cc: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d9ae90ac4bdce769ddb27c2e24c3351a30c3daf8 Author: Oleg Nesterov Date: Wed Feb 6 01:36:13 2008 -0800 use __set_task_state() for TRACED/STOPPED tasks 1. It is much easier to grep for ->state change if __set_task_state() is used instead of the direct assignment. 2. ptrace_stop() and handle_group_stop() use set_task_state() which adds the unneeded mb() (btw even if we use mb() it is still possible that do_wait() sees the new ->state but not ->exit_code, but this is ok). Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06b8e878a9bc9301201cffe186eba99c4185f20a Author: Michael Neuling Date: Wed Feb 6 01:36:12 2008 -0800 taskstats scaled time cleanup This moves the ability to scale cputime into generic code. This allows us to fix the issue in kernel/timer.c (noticed by Balbir) where we could only add an unscaled value to the scaled utime/stime. This adds a cputime_to_scaled function. As before, the POWERPC version does the scaling based on the last SPURR/PURR ratio calculated. The generic and s390 (only other arch to implement asm/cputime.h) versions are both NOPs. Also moves the SPURR and PURR snapshots closer. Signed-off-by: Michael Neuling Cc: Jay Lan Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Heiko Carstens Cc: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d9afa43532adf8a31b93c4c7601fda3f423d8972 Author: Jeff Garzik Date: Wed Feb 6 01:36:11 2008 -0800 riscom8: fix SMP brokenness After analyzing the elements that save_flags/cli/sti/restore_flags were protecting, convert their usages to a global spinlock (the easiest and most obvious next-step). There were some usages of flags being intentionally cached, because the code already knew the state of interrupts. These have been taken into account. This allows us to remove CONFIG_BROKEN_ON_SMP. Completely untested. [akpm@linux-foundation.org: use DEFINE_SPINLOCK] Signed-off-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c17d18e3775485bf1e0ce79575eb637a94494a2 Author: Yan Zheng Date: Wed Feb 6 01:36:09 2008 -0800 A potential bug in inotify_user.c Following comment is at fs/inotify_user.c:287 /* coalescing: drop this event if it is a dupe of the previous */ I think the previous event in the comment should be the last event in the link list. But inotify_dev_get_event return the first event in the list. In addition, it doesn't check whether the list is empty Signed-off-by: Yan Zheng Acked-by: Robert Love Cc: John McCutchan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 19c561a60ffe52df88dd63de0bff480ca094efe4 Author: Jan Engelhardt Date: Wed Feb 6 01:36:08 2008 -0800 fs/fat/: refine chmod checks Prohibit mode changes in non-quiet mode that cannot be stored reliably with the on-disk format. Suppose a vfat filesystem is mounted with umask=0 and [not-quiet]. Then all files will have mode 0777. Trying to change the owner will fail, because fat does not know about owners or groups. chmod 0770, on the other hand, will succeed, even though fat does not know about the permission triplet [user/group/other]. So this patch changes fat's not-quiet behavior so that only UNIX modes are accepted that can be mapped lossless between the fat disk format and the local system. There is only one attribute, and that is the readonly attribute, which is mapped to the UNIX write permission bit(s). chmod 0555 is therefore valid (taking away the +w bits <=> setting the readonly attribute). Since chmod 0775 and chmod 0755 is an ambiguous case as to whether to set or clear the readonly bit, these modes are also denied. In quiet mode, chmod and chown will continue to "succeed" as they did before, meaning that a subsequent stat() will temporarily return the new mode as long as the inode is not reread from disk, and chown will silently do nothing, not even return the new uid/gid in stat(). Signed-off-by: Jan Engelhardt Cc: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20292bc2c3feaee7f2e93911ffcb692732293894 Author: Alan Cox Date: Wed Feb 6 01:36:07 2008 -0800 geode lists are subscriber only This gave me bounces and moans when chasing CS5536 so document it. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eaa0ff15c30dc9799eb4d12660edb73aeb6d32c5 Author: Alexey Dobriyan Date: Wed Feb 6 01:36:06 2008 -0800 fix ! versus & precedence in various places Fix various instances of if (!expr & mask) which should probably have been if (!(expr & mask)) Signed-off-by: Alexey Dobriyan Cc: Jens Axboe Cc: Peter Osterlund Cc: Karsten Keil Cc: Mauro Carvalho Chehab Cc: "Antonino A. Daplas" Cc: Mark Fasheh Cc: "David S. Miller" Cc: Jeff Garzik Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef66a9d222718f080018d07f691faa1f01789e7d Author: Stephen Neuendorffer Date: Wed Feb 6 04:24:10 2008 +1100 [POWERPC] Xilinx: hwicap: update booting-without-of.txt The ICAP device in Xilinx FPGAs differs slightly between different FPGAs. The driver needs an additional attribute in the device tree to distinguish this. Signed-off-by: Stephen Neuendorffer Signed-off-by: Grant Likely commit ef141a0bb0dc6172bb8fe5408cf8adbd5f76ff45 Author: Stephen Neuendorffer Date: Wed Feb 6 04:24:09 2008 +1100 [POWERPC] Xilinx: hwicap driver This includes code for new fifo-based xps_hwicap in addition to the older opb_hwicap, which has a significantly different interface. The common code between the two drivers is largely shared. Significant differences exists between this driver and what is supported in the EDK drivers. In particular, most of the architecture-specific code for reconfiguring individual FPGA resources has been removed. This functionality is likely better provided in a user-space support library. In addition, read and write access is supported. In addition, although the xps_hwicap cores support interrupt-driver mode, this driver only supports polled operation, in order to make the code simpler, and since the interrupt processing overhead is likely to slow down the throughput under Linux. Signed-off-by: Stephen Neuendorffer Signed-off-by: Grant Likely commit 3de66a175d2014246a2e990412e5750922e5c7d8 Author: Grant Likely Date: Wed Feb 6 10:23:41 2008 -0700 [POWERPC] Eliminate broken OF console initialization. Probing of the console at console_initcall time is broken. It tries to call memory allocation routines which aren't initialized yet. Problem solved by removing the early probe entirely. The console init is called again anyway after the uartlite device is initialized and the memory allocation routines can be called safely. Signed-off-by: Grant Likely Acked-by: Peter Korsgaard commit 0e349b0e2d90eb1bb76d16c48d0127feebfeeb89 Author: Stephen Neuendorffer Date: Wed Jan 9 06:35:05 2008 +1100 [POWERPC] Xilinx: Update compatible to use values generated by BSP generator. Mainly, this involves two changes: 1) xilinx->xlnx (recognized standard is to use the stock ticker) 2) In order to have the device tree focus on describing what the hardware is as exactly as possible, the compatible strings contain the full IP name and IP version. Signed-off-by: Stephen Neuendorffer Acked-by: Peter Korsgaard Signed-off-by: Grant Likely commit 911a3175997000c1fcddb2013aaa5fbbee79f0f0 Author: Grant Likely Date: Wed Feb 6 10:23:12 2008 -0700 [POWERPC] Fix incorrectly tagged __devinitdata structures Fix compile errors in the xilinxfb, xsysace and uartlite drivers used by the Xilinx Virtex platform Signed-off-by: Grant Likely Acked-by: Peter Korsgaard commit 47437b2c9a64315efeb3d84e97ffefd6c3c67ef1 Author: Dan Williams Date: Sat Feb 2 19:49:59 2008 -0700 async_tx: allow architecture specific async_tx_find_channel implementations The source and destination addresses are included to allow channel selection based on address alignment. Signed-off-by: Dan Williams Reviewed-by: Haavard Skinnemoen commit d4c56f97ff21df405d0cebe11f49e3c3c79662b5 Author: Dan Williams Date: Sat Feb 2 19:49:58 2008 -0700 async_tx: replace 'int_en' with operation preparation flags Pass a full set of flags to drivers' per-operation 'prep' routines. Currently the only flag passed is DMA_PREP_INTERRUPT. The expectation is that arch-specific async_tx_find_channel() implementations can exploit this capability to find the best channel for an operation. Signed-off-by: Dan Williams Acked-by: Shannon Nelson Reviewed-by: Haavard Skinnemoen commit 0036731c88fdb5bf4f04a796a30b5e445fc57f54 Author: Dan Williams Date: Sat Feb 2 19:49:57 2008 -0700 async_tx: kill tx_set_src and tx_set_dest methods The tx_set_src and tx_set_dest methods were originally implemented to allow an array of addresses to be passed down from async_xor to the dmaengine driver while minimizing stack overhead. Removing these methods allows drivers to have all transaction parameters available at 'prep' time, saves two function pointers in struct dma_async_tx_descriptor, and reduces the number of indirect branches.. A consequence of moving this data to the 'prep' routine is that multi-source routines like async_xor need temporary storage to convert an array of linear addresses into an array of dma addresses. In order to keep the same stack footprint of the previous implementation the input array is reused as storage for the dma addresses. This requires that sizeof(dma_addr_t) be less than or equal to sizeof(void *). As a consequence CONFIG_DMADEVICES now depends on !CONFIG_HIGHMEM64G. It also requires that drivers be able to make descriptor resources available when the 'prep' routine is polled. Signed-off-by: Dan Williams Acked-by: Shannon Nelson commit d909b347591a23c5a2c324fbccd4c9c966f31c67 Author: Dan Williams Date: Sat Feb 2 19:30:14 2008 -0700 async_tx: kill ASYNC_TX_ASSUME_COHERENT Remove the unused ASYNC_TX_ASSUME_COHERENT flag. Async_tx is meant to hide the difference between asynchronous hardware and synchronous software operations, this flag requires clients to understand cache coherency consequences of the async path. Signed-off-by: Dan Williams Reviewed-by: Haavard Skinnemoen commit e73ef9acfd30f36bf7c60237ecffe7bbca8068d6 Author: Denis Cheng Date: Sat Feb 2 19:30:01 2008 -0700 iop-adma: use LIST_HEAD instead of LIST_HEAD_INIT these three list_head are all local variables, but can also use LIST_HEAD. Signed-off-by: Denis Cheng Signed-off-by: Andrew Morton Signed-off-by: Dan Williams commit cf8f68aa76e8e12f9dcbba3ffe61fb9f2a3a0c2b Author: Denis Cheng Date: Sat Feb 2 19:29:58 2008 -0700 async_tx: use LIST_HEAD instead of LIST_HEAD_INIT single list_head variable initialized with LIST_HEAD_INIT could almost always can be replaced with LIST_HEAD declaration, this shrinks the code and looks better. Signed-off-by: Denis Cheng Signed-off-by: Dan Williams commit 1367a3d310afc1ce758c8b94a0dc77834b4494a0 Author: Dan Williams Date: Sat Feb 2 18:46:43 2008 -0700 async_tx: fix compile breakage, mark do_async_xor __always_inline do_async_xor must be compiled away on !HAS_DMA archs. Signed-off-by: Dan Williams Acked-by: Cornelia Huck commit f315ccb3e679f271583f2a4f463ad9b65665b751 Merge: ead03e3... 551e4fb... Author: Steve French Date: Wed Feb 6 16:04:00 2008 +0000 Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6 commit 394c6753978a75cab7558a377f2551a3c1101027 Author: Paul Moore Date: Tue Feb 5 07:31:00 2008 +0800 SELinux: Remove security_get_policycaps() The security_get_policycaps() functions has a couple of bugs in it and it isn't currently used by any in-tree code, so get rid of it and all of it's bugginess. Signed-off-by: Paul Moore Signed-off-by: James Morris commit a5ecbcb8c13ea8a822d243bf782d0dc9525b4f84 Author: Eric Paris Date: Thu Jan 31 15:11:22 2008 -0500 security: allow Kconfig to set default mmap_min_addr protection Since it was decided that low memory protection from userspace couldn't be turned on by default add a Kconfig option to allow users/distros to set a default at compile time. This value is still tunable after boot in /proc/sys/vm/mmap_min_addr Discussion: http://www.mail-archive.com/linux-security-module@vger.kernel.org/msg02543.html Signed-off-by: Eric Paris Signed-off-by: James Morris commit 38192d52f159bc06b7f523800c10b583cdd661d5 Author: David S. Miller Date: Wed Feb 6 03:50:26 2008 -0800 [SPARC64]: Temporarily remove IOMMU merging code. Changeset fde6a3c82d67f592eb587be4d12222b0ae6d4321 ("iommu sg merging: sparc64: make iommu respect the segment size limits") broke sparc64 because whilst it added the segment limiting code to the first pass of SG mapping (in prepare_sg()) it did not add matching code to the second pass handling (in fill_sg()) As a result the two passes disagree where the segment boundaries should be, resulting in OOPSes, DMA corruption, and corrupted superblocks. Signed-off-by: David S. Miller commit b3ff81dd8ae29ec431f6cc91aff601a51ef6fb8c Author: David S. Miller Date: Tue Feb 5 17:41:04 2008 -0800 [SPARC64]: Update defconfig. Signed-off-by: David S. Miller commit 3db1d97a8109db0a6c2b5cfbb7877990e548ee54 Author: David S. Miller Date: Tue Feb 5 17:40:40 2008 -0800 [SPARC]: Add new timerfd syscall entries. Signed-off-by: David S. Miller commit bc5468f52b785ffa1fe0ea289baec2c51384d436 Author: Adrian Bunk Date: Wed Jan 30 22:02:02 2008 +0200 ata_piix.c:piix_init_one() must be __devinit This patch fixes the following section mismatches: <-- snip --> ... WARNING: drivers/ata/built-in.o(.text+0x15072): Section mismatch in reference from the function piix_init_one() to the function .devinit.text:piix_init_sata_map() WARNING: drivers/ata/built-in.o(.text+0x150dd): Section mismatch in reference from the function piix_init_one() to the function .devinit.text:piix_init_pcs() WARNING: drivers/ata/built-in.o(.text+0x150e5): Section mismatch in reference from the function piix_init_one() to the function .devinit.text:piix_init_sidpr() WARNING: drivers/ata/built-in.o(.text+0x15107): Section mismatch in reference from the function piix_init_one() to the function .devinit.text:piix_check_450nx_errata() ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 4f743d1d2224ee646b6b6d1d90f3d9d625dd9ab7 Author: Alejandro Riveira Fernández Date: Mon Feb 4 15:19:52 2008 +0100 sata_via.c: Remove missleading comment. Maybe for the trivial tree... sata_via.c has PATA support since: d73f30e1c9a9af14757fa5bf4014343926047156 sata_via: PATA support AFAICS so the TODO list is no longer true. Signed-off-by: Jeff Garzik commit 223f95f76d6e946de0cb7149d7738e8b73f1e564 Author: David Milburn Date: Mon Feb 4 12:24:21 2008 -0600 libata-core: unblacklist HITACHI drives The HITACHI HDS7250SASUN500G and HITACHI HDS7225SBSUN250 drives do not need to be blacklisted, the NCQ problem has been resolved with the "sata_nv: fix for completion handling" patch. Signed-off-by David Milburn Signed-off-by: Jeff Garzik commit 8959d300a79c1b70526cdf9e00485262cf8d979f Author: Robert Hancock Date: Mon Feb 4 19:39:02 2008 -0600 sata_nv: fix ATAPI issues with memory over 4GB (v7) This fixes some problems with ATAPI devices on nForce4 controllers in ADMA mode on systems with memory located above 4GB. We need to delay setting the 64-bit DMA mask until the PRD table and padding buffer are allocated so that they don't get allocated above 4GB and break legacy mode (which is needed for ATAPI devices). Also, if either port is in ATAPI mode we need to set the DMA mask for the PCI device to 32-bit to ensure that the IOMMU code properly bounces requests above 4GB, as it appears setting the bounce limit does not guarantee that we will not try to map requests above this point. Reported to fix https://bugzilla.redhat.com/show_bug.cgi?id=351451 Signed-off-by: Robert Hancock Signed-off-by: Jeff Garzik commit 8d8b60046d6a2328ca4b9031b4948084f775f607 Author: Andrew Morton Date: Mon Feb 4 23:43:44 2008 -0800 ata: drivers/ata/sata_mv.c needs dmapool.h mips: drivers/ata/sata_mv.c: In function `mv_port_free_dma_mem': drivers/ata/sata_mv.c:1080: error: implicit declaration of function `dma_pool_free' Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 37198e3051b63d3184886e9bb8235e7578e82628 Author: James Bottomley Date: Tue Feb 5 14:06:27 2008 +0900 libata: kill now unused n_iter and fix sata_fsl qc->n_iter was used for libata's own sg walking before sg chaining replaced it. During conversion, the field and its usage in sata_fsl were left behind. Kill the filed and update sata_fsl. tj: This was part of James's libata-use-block-layer-padding patch. Separated out by me. Signed-off-by: James Bottomley Signed-off-by: Tejun Heo Cc: Li Yang Signed-off-by: Jeff Garzik commit 837f5f8fb98d4357d49e9631c9ee2815f3c328ca Author: Tejun Heo Date: Wed Feb 6 15:13:51 2008 +0900 ahci: fix CAP.NP and PI handling AHCI uses CAP.NP to indicate the number of ports and PI to tell which ports are enabled. The only requirement is that the number of ports indicated by CAP.NP should equal or be higher than the number of enabled ports in PI. CAP.NP and PI carry duplicate information and there have been some interesting cases. Some early AHCI controllers didn't set PI at all and just implement from port 0 to CAP.NP. An ICH8 board which wired four out of six available ports had 3 (4 ports) for CAP.NP and 0x33 for PI. While ESB2 has less bits set in PI than the value in CAP.NP. Till now, ahci driver assumed that PI is invalid if it doesn't match CAP.NP exactly. This violates AHCI standard and the driver ends up accessing unmimplemented ports on ESB2. This patch updates CAP.NP and PI handling such that PI can have less number of bits set than indicated in CAP.NP and the highest port is determined as the maximum port of what CAP.NP and PI indicate. Signed-off-by: Tejun Heo Cc: Jan Beulich Signed-off-by: Jeff Garzik commit f351b2d638c3cb0b95adde3549b7bfaf3f991dfa Author: Saeed Bishara Date: Fri Feb 1 18:08:03 2008 -0500 sata_mv: Support SoC controllers Marvell's Orion SoC includes SATA controllers based on Marvell's PCI-to-SATA 88SX controllers. This patch extends the libATA sata_mv driver to support those controllers. [edited to use linux/ata_platform.h -jg] Signed-off-by: Saeed Bishara Signed-off-by: Jeff Garzik commit 0a87e3e92b299e0f1a69b36664ecde2fc296c40a Author: Jeff Garzik Date: Fri Feb 1 18:02:30 2008 -0500 Rename: linux/pata_platform.h to linux/ata_platform.h Signed-off-by: Jeff Garzik commit 655d2ce073f5927194dbc28d2bd3c062a4a3caac Merge: 9c1ca6e... 370076d... Author: David S. Miller Date: Wed Feb 6 03:52:44 2008 -0800 Merge branch 'upstream-davem' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 commit 370076d932ff56a02b9c5328729a69d432cd4b32 Author: Christian Borntraeger Date: Wed Feb 6 08:50:11 2008 +0100 virtio net: fix oops on interface-up I got the following oops during interface ifup. Unfortunately its not easily reproducable so I cant say for sure that my fix fixes this problem, but I am confident and I think its correct anyway: <2>kernel BUG at /space/kvm/drivers/virtio/virtio_ring.c:234! <4>illegal operation: 0001 [#1] PREEMPT SMP <4>Modules linked in: <4>CPU: 0 Not tainted 2.6.24zlive-guest-07293-gf1ca151-dirty #91 <4>Process swapper (pid: 0, task: 0000000000800938, ksp: 000000000084ddb8) <4>Krnl PSW : 0404300180000000 0000000000466374 (vring_disable_cb+0x30/0x34) <4> R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:0 CC:3 PM:0 EA:3 <4>Krnl GPRS: 0000000000000001 0000000000000001 0000000010003800 0000000000466344 <4> 000000000e980900 00000000008848b0 000000000084e748 0000000000000000 <4> 000000000087b300 0000000000001237 0000000000001237 000000000f85bdd8 <4> 000000000e980920 00000000001137c0 0000000000464754 000000000f85bdd8 <4>Krnl Code: 0000000000466368: e3b0b0700004 lg %r11,112(%r11) <4> 000000000046636e: 07fe bcr 15,%r14 <4> 0000000000466370: a7f40001 brc 15,466372 <4> >0000000000466374: a7f4fff6 brc 15,466360 <4> 0000000000466378: eb7ff0500024 stmg %r7,%r15,80(%r15) <4> 000000000046637e: a7f13e00 tmll %r15,15872 <4> 0000000000466382: b90400ef lgr %r14,%r15 <4> 0000000000466386: a7840001 brc 8,466388 <4>Call Trace: <4>([<000201500f85c000>] 0x201500f85c000) <4> [<0000000000466556>] vring_interrupt+0x72/0x88 <4> [<00000000004801a0>] kvm_extint_handler+0x34/0x44 <4> [<000000000010d22c>] do_extint+0xbc/0xf8 <4> [<0000000000113f98>] ext_no_vtime+0x16/0x1a <4> [<000000000010a182>] cpu_idle+0x216/0x238 <4>([<000000000010a162>] cpu_idle+0x1f6/0x238) <4> [<0000000000568656>] rest_init+0xaa/0xb8 <4> [<000000000084ee2c>] start_kernel+0x3fc/0x490 <4> [<0000000000100020>] _stext+0x20/0x80 <4> <4> <0>Kernel panic - not syncing: Fatal exception in interrupt <4> After looking at the code and the dump I think the following scenario happened: Ifup was running on cpu2 and the interrupt arrived on cpu0. Now virtnet_open on cpu 2 managed to execute napi_enable and disable_cb but did not execute rx_schedule. Meanwhile on cpu 0 skb_recv_done was called by vring_interrupt, executed netif_rx_schedule_prep, which succeeded and therefore called disable_cb. This triggered the BUG_ON, as interrupts were already disabled by cpu 2. I think the proper solution is to make the call to disable_cb depend on the atomic update of NAPI_STATE_SCHED by using netif_rx_schedule_prep in the same way as skb_recv_done. Signed-off-by: Christian Borntraeger Acked-by: Rusty Russell Signed-off-by: Jeff Garzik commit 15cf6dde99e40bf571a5ca48376650e163fcd30f Author: Andy Fleming Date: Tue Feb 5 16:35:30 2008 -0600 Fix PHY Lib support for gianfar and ucc_geth The PHY Lib now uses mutexes instead of spin_locks. ucc_geth and gianfar both grab the locks in their mdio_reset functions, so they need to use mutex_(un)lock instead. This was not caught until someone tested it on an SMP system. Signed-off-by: Andy Fleming Signed-off-by: Jeff Garzik commit 4e84f9b10461ad3c869ced4373dd85771dd67d20 Author: Ayaz Abdulla Date: Mon Feb 4 15:14:09 2008 -0500 forcedeth: preserve registers Various registers need to be preserved before resetting the device. Signed-off-by: Ayaz Abdulla Signed-off-by: Jeff Garzik commit eb79842838b6a3860d70be404fbb6e3b8f2a65de Author: Ayaz Abdulla Date: Mon Feb 4 15:14:04 2008 -0500 forcedeth: phy status fix The driver needs to ack only the phy status bits that it is currently handling and preserve the other bits for the other handlers. For example, when reading/writing from the phy, it should not clear the link change interrupt bit. This will cause a missing link change interrupt. Signed-off-by: Ayaz Abdulla Signed-off-by: Jeff Garzik commit b2976d23a15aac11e8e77a496108b9f4040fac4d Author: Ayaz Abdulla Date: Mon Feb 4 15:13:59 2008 -0500 forcedeth: restart tx/rx This patch fixes the issue where the transmitter and receiver must be restarted when applying new changes to certain registers. Signed-off-by: Ayaz Abdulla Signed-off-by: Jeff Garzik commit b370b08274a25cf1e2015fb7ce65c43173c8156f Merge: 75e89b0... 7e25867... Author: Paul Mackerras Date: Wed Feb 6 22:08:37 2008 +1100 Merge branch 'for-2.6.25' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc into for-2.6.25 commit 75e89b02e338d0db27f8e5d66642c7e2ae49c326 Author: Julia Lawall Date: Mon Feb 4 23:35:00 2008 -0800 [POWERPC] arch/powerpc/platforms/82xx: Add missing of_node_put Of_get_parent and of_find_compatible_node do a of_node_get, and thus a corresponding of_code_put is needed in both the error case and the normal return case. The problem was found using the following semantic match. (http://www.emn.fr/x-info/coccinelle/) // @@ type T,T1,T2; identifier E; statement S; expression x1,x2,x3; int ret; @@ T E; ... * E = \(of_get_parent\|of_find_compatible_node\)(...); if (E == NULL) S ... when != of_node_put(...,(T1)E,...) when != if (E != NULL) { ... of_node_put(...,(T1)E,...); ...} when != x1 = (T1)E when != E = x3; when any if (...) { ... when != of_node_put(...,(T2)E,...) when != if (E != NULL) { ... of_node_put(...,(T2)E,...); ...} when != x2 = (T2)E ( * return; | * return ret; ) } // Signed-off-by: Julia Lawall Cc: Stephen Rothwell Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit b1725c9319aae42d7bd1159fc99e033d5a3076f8 Author: Julia Lawall Date: Mon Feb 4 23:34:59 2008 -0800 [POWERPC] arch/powerpc/sysdev: Add missing of_node_put The functions of_find_compatible_node and of_find_node_by_type both call of_node_get on their result. So any error handling code thereafter should call of_node_put(np). This is taken care of in the case where there is a goto out, but not when there is a direct return. The function irq_alloc_host puts np into the returned structure, which is stored in the global variable mpc8xx_pic_host, so the reference count should be set for the lifetime of that variable. The current solution ups the reference count again in the argument to irq_alloc_host so that it can be decremented on the way out. This seems a bit unnecessary, and also doesn't work in the case where irq_alloc_host fails, because then the reference count only goes does by one, whereas it should go down by two. A better solution is to not increment the reference count in the argument to irq_alloc_host and only decrement it on the way out in an error case. The problem was found using the following semantic match. (http://www.emn.fr/x-info/coccinelle/) // @@ type T,T1,T2; identifier E; statement S; expression x1,x2,x3; int ret; @@ T E; ... * E = \(of_get_parent\|of_find_compatible_node\)(...); if (E == NULL) S ... when != of_node_put(...,(T1)E,...) when != if (E != NULL) { ... of_node_put(...,(T1)E,...); ...} when != x1 = (T1)E when != E = x3; when any if (...) { ... when != of_node_put(...,(T2)E,...) when != if (E != NULL) { ... of_node_put(...,(T2)E,...); ...} when != x2 = (T2)E ( * return; | * return ret; ) } // Signed-off-by: Julia Lawall Cc: Stephen Rothwell Cc: Benjamin Herrenschmidt Cc: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 842decbd674106d63a67e07a2f8cec5af70fdb40 Author: Julia Lawall Date: Mon Feb 4 23:34:58 2008 -0800 [POWERPC] arch/powerpc/platforms/pseries: Add missing of_node_put Of_get_parent and of_find_compatible_node do an of_node_get, and thus a corresponding of_code_put is needed in the error case. The problem was found using the following semantic match. (http://www.emn.fr/x-info/coccinelle/) // @@ type T,T1,T2; identifier E; statement S; expression x1,x2,x3; int ret; @@ T E; ... * E = \(of_get_parent\|of_find_compatible_node\)(...); if (E == NULL) S ... when != of_node_put(...,(T1)E,...) when != if (E != NULL) { ... of_node_put(...,(T1)E,...); ...} when != x1 = (T1)E when != E = x3; when any if (...) { ... when != of_node_put(...,(T2)E,...) when != if (E != NULL) { ... of_node_put(...,(T2)E,...); ...} when != x2 = (T2)E ( * return; | * return ret; ) } // Signed-off-by: Julia Lawall Cc: Stephen Rothwell Cc: Benjamin Herrenschmidt Cc: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit e5dae548b0b5397e070de793be925cfc5813ad95 Author: David Teigland Date: Wed Feb 6 00:35:45 2008 -0600 dlm: proper types for asts and basts Use proper types for ast and bast functions, and use consistent type for ast param. Signed-off-by: David Teigland commit 7e25867fe8d705bcf707ef52004b669eb795d06d Author: Kumar Gala Date: Tue Feb 5 23:58:30 2008 -0600 [POWERPC] 85xx: Add second cpu to 8572 dts The 8572 is a dual core processor, not reason not to describe both cores in the device tree. Signed-off-by: Kumar Gala commit d8985fd2b8ef8994399ea33f7e5b24395f5a7cab Author: Anton Vorontsov Date: Mon Feb 4 16:46:17 2008 +0300 [POWERPC] qe_lib: fix few fluffy negligences One is intoduced by me (of_node_put() absence) and another was present already (not checking for NULL). Found by Stephen Rothwell. Signed-off-by: Anton Vorontsov Acked-by: Stephen Rothwell Signed-off-by: Kumar Gala commit 03366e7b9bf1544cb0b98f1a5cd6d340654f486a Merge: c18bab8... e0f2677... Author: Dmitry Torokhov Date: Wed Feb 6 00:54:05 2008 -0500 Merge branch 'pxa-keypad' commit c18bab80d16f04db3e263cc97522d21693cad2ce Author: Andrew Morton Date: Wed Feb 6 00:48:15 2008 -0500 Input: i8042 - non-x86 build fix Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit e1664ee9f3dabda088debec12ef5322d8bd8ba01 Author: Kim Phillips Date: Fri Feb 1 18:10:03 2008 -0600 [POWERPC] 83xx: Update mpc83xx_defconfig Enable math emulation and ucc_geth and some PHYs mpc83xx boards use. Signed-off-by: Kim Phillips Signed-off-by: Kumar Gala commit dc4e4207ed7dc256fed1626fbf087cb199cd1945 Author: Kim Phillips Date: Fri Feb 1 18:09:58 2008 -0600 [POWERPC] FSL: fix mpc83xx_spi device registration calling platform_device_register after platform_device_alloc causes this: kobject (c3841a70): tried to init an initialized object, something is seriously wrong. Call Trace: [c381fe20] [c0007bb8] show_stack+0x3c/0x194 (unreliable) [c381fe50] [c01322a8] kobject_init+0xb8/0xbc [c381fe60] [c01591cc] device_initialize+0x30/0x9c [c381fe80] [c015ee34] platform_device_register+0x1c/0x34 [c381fea0] [c02f1fe0] of_fsl_spi_probe+0x21c/0x22c [c381ff30] [c02f2044] fsl_spi_init+0x54/0x160 [c381ff60] [c02f3924] __machine_initcall_mpc832x_rdb_mpc832x_spi_init+0x120/0x138 [c381ff70] [c02e61b4] kernel_init+0x98/0x284 [c381fff0] [c000f740] kernel_thread+0x44/0x60 fixed by calling platform_device_add (second half of platform_device_register) instead. Signed-off-by: Kim Phillips Signed-off-by: Kumar Gala commit aafa1955501955bf4e53b72fee0be9f35b711b9d Author: Kim Phillips Date: Fri Feb 1 18:09:54 2008 -0600 [POWERPC] 83xx: mpc832x_rdb: fix compiler warning arch/powerpc/platforms/83xx/mpc832x_rdb.c: In function ‘mpc832x_rdb_setup_arch’: arch/powerpc/platforms/83xx/mpc832x_rdb.c:104: warning: ‘np’ is used uninitialized in this function Signed-off-by: Kim Phillips Signed-off-by: Kumar Gala commit 1347a2c1eb61fce8b5085801761c7b63f9e7ba8b Author: Andy Fleming Date: Mon Feb 4 18:28:07 2008 -0600 [POWERPC} Add oprofile support for e300 The e300 c3 and c4 variants support hardware performance monitor counters which are identical to those found in the e500. Signed-off-by: Andy Fleming Signed-off-by: Kumar Gala commit 39aef685af431c032ffd2763ec8782b13c32520c Author: Andy Fleming Date: Mon Feb 4 18:27:55 2008 -0600 [POWERPC] Made FSL Book-E PMC support more generic Some of the more recent e300 cores have the same performance monitor implementation as the e500. e300 isn't book-e, so the name isn't really appropriate. In preparation for e300 support, rename a bunch of fsl_booke things to say fsl_emb (Freescale Embedded Performance Monitors). Signed-off-by: Andy Fleming Signed-off-by: Kumar Gala commit 0367aad1ad5f8085ed15e9e30604f50108a1ea06 Author: Jon Loeliger Date: Sat Feb 2 13:02:51 2008 -0600 [POWERPC] Fix storcenter DTS typos, feedback, IRQs. Cleaned up IRQ layout and removed unsused ISU allocations. Fixed RTC address typo from /dts-v1/ conversion. Incorporated list suggestions to use an "iomega," vendor prefix, and to use a node reference rather than a hard path. Signed-off-by: Jon Loeliger Signed-off-by: Kumar Gala commit 03bbfe8b97eb277f1af27fef5a14224f7878a983 Author: Bryan O'Donoghue Date: Sun Feb 3 23:21:29 2008 +0000 [POWERPC] 8xx: Add clock-frequency to adder875 and mpc885ads dts cpm_uart_core has a dependency on fsl,cpm-brg/clock-frequency, this means that a .dts that uses the cpm uart driver needs to supply a clock-frequency entry for get_brgfreq to return a meaningful number. Signed-off-by: Bryan O'Donoghue Signed-off-by: Kumar Gala commit 5cfade1829440af45cd24ea7483d2e16876fc602 Author: Kim Phillips Date: Thu Jan 31 19:40:05 2008 -0600 [POWERPC] 83xx: Add rtc node to mpc8313erdb dts The 8313 rdb has a ds1339 at address 0x68. Signed-off-by: Kim Phillips Signed-off-by: Kumar Gala commit 551ed332da2f52daf5d01fc76d2a894aba79d316 Author: Scott Wood Date: Wed Feb 6 06:43:26 2008 +1100 [POWERPC] update_mmu_cache: Don't cache-flush non-readable pages Currently, update_mmu_cache will crash if given a no-access PTE. There's no need to synchronize dcache/icache unless it's an exec mapping -- however, due to the existence of older glibc versions that execute out of a read-but-no-exec page, readability is tested instead. This assumes no exec-only mappings; if such mappings become supported, they will need to go through the kmap_atomic() version of dcache/icache synchronization. This fixes a bug reported by some users where the kernel would crash while dumping core on a threaded program. Signed-off-by: Scott Wood Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit f5903ede0015db5b53458092b6ae2af074fa49d4 Author: Michael Ellerman Date: Tue Feb 5 23:01:50 2008 +1100 [POWERPC] Fix legacy serial search for opb bus ports The patch to legacy_serial.c (1a7507c7da2df6856e085e0fbb0c9ea8c12ac4e, Reduce code duplication in legacy_serial, add UART parent types) changed the semantics for opb ports from type = "opb" || compatible = "ibm,opb" to type = "opb" && compatible = "ibm,opb". The result is serial ports on our QS21s (Cell blades) don't get found, and for some reason the machine doesn't boot at all - possibly it's panicking due to lack of a console? The fix is to add two entries to the of_device_id table, one that looks for type = "opb" and the other compatible = "ibm,opb". Signed-off-by: Michael Ellerman Acked-by: Paul Gortmaker Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit ad7f71674ad7c3c4467e48f6ab9e85516dae2720 Author: Tony Breeds Date: Tue Feb 5 16:16:48 2008 +1100 [POWERPC] Use a sensible default for clock_getres() in the VDSO This ensures that the syscall and the (fast) vdso versions of clock_getres() will return the same resolution. Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit c721192778786ef8f16ece363927b8b68864201a Author: Stephen Rothwell Date: Tue Feb 5 14:17:31 2008 +1100 [POWERPC] iSeries: Fix section mismatch in viocd WARNING: drivers/cdrom/viocd.o(.text+0x504): Section mismatch in reference from the function .viocd_probe() to the function .init.text:.find_capability() Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit de7d812d05f3075096a3e37222f4e1876ae25e6c Author: Stephen Rothwell Date: Tue Feb 5 14:15:12 2008 +1100 [POWERPC] iSeries: Fix section mismatch in viodsasd WARNING: vmlinux.o(.text+0x3017c): Section mismatch in reference from the function .vio_create_viodasd() to the function .devinit.text:.vio_register_device_node() Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit c6d01179bfee3048cce98fe303d7265faa3861a7 Author: Stephen Rothwell Date: Tue Feb 5 13:13:15 2008 +1100 [POWERPC] Avoid possible extra of_node_put in axon_msi.c I got this warning from gcc: arch/powerpc/platforms/cell/axon_msi.c:118: warning: 'tmp' may be used uninitialized in this function Which turns out to be a false positive, but pointed out that it was possible for the error path in find_msi_translator() to do an extra of_node_put on a node. This fixes it by localising the ref counting a bit. As a side effect, the warning goes away. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit de4c928b843063b7079c35c950c1d38c559fa0cb Author: Michael Ellerman Date: Fri Jan 25 16:59:14 2008 +1100 [POWERPC] Avoid DMA exception when using axon_msi with IOMMU There's a brown-paper-bag bug in axon_msi, we pass the address of our FIFO directly to the hardware, without DMA mapping it. This leads to DMA exceptions if you enable MSI & the IOMMU. The fix is to correctly DMA map the fifo, dma_alloc_coherent() does what we want - and we need to track the virt & phys addresses. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit e4347dfb580e0172185cb38529266ecf3b4d0baa Author: Michael Ellerman Date: Fri Jan 25 16:59:14 2008 +1100 [POWERPC] Convert axon_msi to an of_platform driver Now that we create of_platform devices earlier on cell, we can make the axon_msi driver an of_platform driver. This makes the code cleaner in several ways, and most importantly means we have a struct device. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit a09ad3c462e802f0a522969ce377820cfad89ee8 Author: Michael Ellerman Date: Fri Jan 25 16:59:13 2008 +1100 [POWERPC] Create and hook up of_platform_device_shutdown Although of_platform_device's can have a shutdown routine, at the moment the bus code doesn't actually call it. So add the required glue to hook the shutdown routine. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit bb125fb0e09c1b1e17d0b616f0e31fea937af9f6 Author: Michael Ellerman Date: Fri Jan 25 16:59:12 2008 +1100 [POWERPC] Search for and publish cell OF platform devices earlier Currently cell publishes OF devices at device_initcall() time, which means the earliest a driver can bind to a device is also device_initcall() time. We have a driver we want to register before other devices, so publish the devices at subsys_initcall() time. This should not cause any behaviour change for existing drivers, as they are still bound at device_initcall() time. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit f4eb010706b6c96c136c7aaa9079159743f33fa8 Author: Michael Ellerman Date: Fri Oct 26 16:54:31 2007 +1000 [POWERPC] Add of_get_next_parent() Iterating through a device node's parents is simple enough, but dealing with the refcounts properly is a little ugly, and replicating that logic is asking for someone to get it wrong or forget it all together, eg: while (dn != NULL) { /* loop body */ tmp = of_get_parent(dn); of_node_put(dn); dn = tmp; } So add of_get_next_parent(), inspired by of_get_next_child(). The contract is that it returns the parent and drops the reference on the current node, this makes the loop look like: while (dn != NULL) { /* loop body */ dn = of_get_next_parent(dn); } Signed-off-by: Michael Ellerman Acked-by: David S. Miller Signed-off-by: Paul Mackerras commit 266fb4af93427923ee76bd9dc73ec352b8d791ab Author: Scott Wood Date: Thu Jan 31 11:36:56 2008 -0600 [POWERPC] 8xx: adder875, ep88xc: fix to match recent 8xx cleanups. asm/commproc.h was renamed to asm/cpm1.h sysdev/commproc.h was renamed to platforms/8xx/mpc8xx.h m8xx_pic_init was renamed to mpc8xx_pics_init Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit b277b02588ec7534a033ff1cb0f947c18a4d3b54 Author: Kim Phillips Date: Thu Jan 31 12:56:58 2008 -0600 [POWERPC] 83xx: Correct 2nd PCI controller interrupt value in mpc834x_mds dts According to the 8349EA ref man, the second PCI PHB IRQ is 67. Thanks to Peter Van Ackeren for finding this. Signed-off-by: Kim Phillips Signed-off-by: Kumar Gala commit 58119068cb27ef7513f80aff44b62a3a8f40ef5f Author: Andre Detsch Date: Fri Jan 11 15:03:26 2008 +1100 [POWERPC] spufs: Fix memory leak on SPU affinity Reference count for the "neighbor" spu context was not being correctly decremented after usage. So, contexts used as reference during SPU affinity setup were not being deallocated, leading to a memory leak. Signed-off-by: Andre Detsch Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 60cf54db47727935af1c439f59c636a96a8cbd4b Author: Jeremy Kerr Date: Fri Jan 11 15:03:26 2008 +1100 [POWERPC] spufs: Fix SPE single-step mode Currently we only catch debug events through the 0x3fff status; spufs_run_spu doesn't handle single-step SPE events. This change adds a handler for conditions where the SPE is stopped due to single-step-mode. Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 038200cfdc6467fa8100c5b9c3b81730f0158370 Author: Christoph Hellwig Date: Fri Jan 11 15:03:26 2008 +1100 [POWERPC] spufs: Add marker-based tracing facility This adds markers two important points in the spufs code and a new module (sputrace.ko) that allows reading these out through a proc file. Long-term I'd rather see something like lttng extended to use the spufs instrumentation, but for now I think this is a good enough quick solution. We'll probably want to add various addition event in addition to that ones I have already. Signed-off-by: Christoph Hellwig Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit b74a7e50cc87dea1b86d35860ace81412cb49886 Author: Kim Phillips Date: Wed Jan 30 12:46:19 2008 -0600 [POWERPC] 83xx: configure USB clock for MPC8315E SCCR USB bits are in a different location on the mpc8315. Signed-off-by: Jerry Huang Signed-off-by: Kim Phillips Signed-off-by: Kumar Gala commit 8353ec7b0d6666c0674ca978379c55234609dae8 Author: Anton Vorontsov Date: Mon Jan 21 23:49:53 2008 +0300 cpmac: convert to new Fixed PHY infrastructure This patch converts cpmac to the new Fixed PHY infrastructure, though it doesn't fix all the problems with that driver. I didn't even bother to test this patch to compile, because cpmac driver is broken in several ways: 1. This driver won't compile by itself because lack of its header describing platform data; 2. It assumes that fixed PHYs should be created by the ethernet driver. It is wrong assumption: fixed PHYs creation is platform code authority, driver must blindly accept bus_id and phy_id platform data variables instead. Also, it seem that that driver doesn't have actual in-tree users, so nothing to fix further. The main purpose of that patch is to get rid of the following Kconfig warning: scripts/kconfig/conf -s arch/powerpc/Kconfig drivers/net/Kconfig:1713:warning: 'select' used by config symbol 'CPMAC' refers to undefined symbol 'FIXED_MII_100_FDX' Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 9c1ca6e68a5d8d58776833b6496c0656a10be50c Author: Sven Wegener Date: Tue Feb 5 20:00:10 2008 -0800 ipvs: Make wrr "no available servers" error message rate-limited No available servers is more an error message than something informational. It should also be rate-limited, else we're going to flood our logs on a busy director, if all real servers are out of order with a weight of zero. Signed-off-by: Sven Wegener Acked-by: Simon Horman Signed-off-by: David S. Miller commit a29961b33b089cf4d252ac125891a2784d20ef2f Merge: 731a060... b79caa6... Author: David S. Miller Date: Tue Feb 5 19:58:05 2008 -0800 Merge branch 'fixes' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 0040d9875dcccfcb2131417b10fbd9841bc5f05b Author: Eric Sandeen Date: Tue Feb 5 22:36:43 2008 -0500 allow in-inode EAs on ext4 root inode The ext3 root inode was treated specially with respect to in-inode extended attributes, for reasons detailed in the removed comment below. The first mkfs-created inodes would not get extra_i_size or the EXT3_STATE_XATTR flag set in ext3_read_inode, which disallowed reading or setting in-inode EAs on the root. However, in ext4, ext4_mark_inode_dirty calls ext4_expand_extra_isize for all inodes; once this is done EAs may be placed in the root ext4 inode body. But for reasons above, it won't be found after a reboot. testcase: setfattr -n user.name -v value mntpt/ setfattr -n user.name2 -v value2 mntpt/ umount mntpt/; remount mntpt/ getfattr -d mntpt/ name2/value2 has gone missing; debugfs shows it in the inode body, but it is not found there by getattr. The following fixes it up; newer mkfs appears to properly zero the inodes, so this workaround isn't needed for ext4. Signed-off-by: Eric Sandeen Signed-off-by: Theodore Ts'o commit 42a10add852e6291a7544afd8a286622a3e6ae76 Author: Aneesh Kumar K.V Date: Sun Feb 10 01:07:28 2008 -0500 ext4: Fix null bh pointer dereference in mballoc Repoted by Adrian Bunk : The Coverity checker spotted the following NULL dereference: static int ext4_mb_mark_diskspace_used { ... if (!bitmap_bh) goto out_err; ... out_err: sb->s_dirt = 1; put_bh(bitmap_bh); ... Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao commit 551e4fb2465b87de9d4aa1669b27d624435443bb Merge: b297d52... dfe7993... Author: Linus Torvalds Date: Tue Feb 5 19:06:25 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (29 commits) ide-tape: bump minor driver version ide-tape: cleanup the remaining codestyle issues ide-tape: fix syntax error in idetape_identify_device() ide-tape: remove leftover OnStream support warning ide-tape: collect module-related macro calls at the end ide-tape: include proper headers ide-tape: remove unused "length" arg from idetape_create_read_buffer_cmd() ide-tape: remove struct idetape_id_gcw ide-tape: cleanup and fix comments ide-tape: shorten some function names ide-tape: remove idetape_increase_max_pipeline_stages() ide-tape: struct idetape_tape_t: shorten member names v2 ide-tape: struct idetape_tape_t: remove unused members ide-tape: remove typedef idetape_chrdev_direction_t ide-tape: simplify code branching in the interrupt handler ide-tape: remove unreachable code chunk ide-tape: remove struct idetape_read_position_result_t ide-tape: refactor the debug logging facility ide: add ide_read_error() inline helper ide: add ide_read_[alt]status() inline helpers ... commit b297d520b9af536d5580ac505dd316be4cf5560c Merge: c773633... e34f44b... Author: Linus Torvalds Date: Tue Feb 5 19:05:48 2008 -0800 Merge branch 'dmapool' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc * 'dmapool' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc: pool: Improve memory usage for devices which can't cross boundaries Change dmapool free block management dmapool: Tidy up includes and add comments dmapool: Validate parameters to dma_pool_create Avoid taking waitqueue lock in dmapool dmapool: Fix style problems Move dmapool.c to mm/ directory commit 7c2670bbb53820d0a4fab8d74593eeccd1eef225 Author: maximilian attems Date: Tue Jan 22 18:46:50 2008 +0100 ACPI: battery: add sysfs serial number egrep serial /proc/acpi/battery/BAT0/info serial number: 32090 serial number can tell you from the imminent danger of beeing set on fire. Signed-off-by: maximilian attems Acked-by: Alexey Starikovskiy Signed-off-by: Len Brown commit dfe799364e7a500389559e1dcd331d995cdc18ea Author: Borislav Petkov Date: Wed Feb 6 02:57:55 2008 +0100 ide-tape: bump minor driver version Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5a04cfa911f9c3c648240bd95002479d83619260 Author: Borislav Petkov Date: Wed Feb 6 02:57:54 2008 +0100 ide-tape: cleanup the remaining codestyle issues ... thus decreasing checkpatch.pl errors to 0. Bart: - remove needless function prototypes while at it - remove needless parentheses while at it - add missing KERN_ level to ide_tape_probe() - other minor fixups Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 24d57f8b2880755b3704c110cd431b4dd6b75580 Author: Borislav Petkov Date: Wed Feb 6 02:57:54 2008 +0100 ide-tape: fix syntax error in idetape_identify_device() Spotted by Sergei Shtylyov. CC: Sergei Shtylyov Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit bf6296b68848219f585c597de422621e236afc3c Author: Borislav Petkov Date: Wed Feb 6 02:57:54 2008 +0100 ide-tape: remove leftover OnStream support warning Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9c14576886bb4e3cfe624c9ec95d980d58a109de Author: Borislav Petkov Date: Wed Feb 6 02:57:54 2008 +0100 ide-tape: collect module-related macro calls at the end Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit c837cfa5b61f0ef92cf2c01f3f48808751f68897 Author: Borislav Petkov Date: Wed Feb 6 02:57:54 2008 +0100 ide-tape: include proper headers Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1f27e38dd312867295670c29a301fce3f5b5d3b3 Author: Borislav Petkov Date: Wed Feb 6 02:57:54 2008 +0100 ide-tape: remove unused "length" arg from idetape_create_read_buffer_cmd() Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 71071b8e60d6dab130e428a016b872e2623eddaa Author: Borislav Petkov Date: Wed Feb 6 02:57:53 2008 +0100 ide-tape: remove struct idetape_id_gcw Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3c98bf347d95cf9c43104db2fda848d0c7decebd Author: Borislav Petkov Date: Wed Feb 6 02:57:53 2008 +0100 ide-tape: cleanup and fix comments Also, remove redundant ones and cleanup whitespace. Bart: - minor fixups Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8d06bfadb44bfec067603fbc8ee2faced3b13ad9 Author: Borislav Petkov Date: Wed Feb 6 02:57:53 2008 +0100 ide-tape: shorten some function names Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 97219851b92fd083539003bca48c379d415566ac Author: Borislav Petkov Date: Wed Feb 6 02:57:52 2008 +0100 ide-tape: remove idetape_increase_max_pipeline_stages() This function was being used only at one place so fold it in there. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 54bb2074ce52fc8fce0d898b3c9921f4a951eb80 Author: Borislav Petkov Date: Wed Feb 6 02:57:52 2008 +0100 ide-tape: struct idetape_tape_t: shorten member names v2 Shorten some member names not too aggressively since this driver might be gone anyway soon. Bart: - minor fixes Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 41f81d545b6b1f585a02d1d8545978714f710e91 Author: Borislav Petkov Date: Wed Feb 6 02:57:52 2008 +0100 ide-tape: struct idetape_tape_t: remove unused members - last_frame_position: only being written to once - firmware_revision, product_id, vendor_id: used once, remove from struct idetape_tape_t and deal with them locally - firmware_revision_num: only written to once - tape_still_time_begin: completely unused - tape_still_time: never written to; remove corresponding code chunk - uncontrolled_last_pipeline_head: only once written to - blocks_in_buffer: only written to Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 54abf37e4236288687ee44fef2060092b42f5cec Author: Borislav Petkov Date: Wed Feb 6 02:57:52 2008 +0100 ide-tape: remove typedef idetape_chrdev_direction_t .. and replace it with plain enums. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit a1efc85f0b4d48627ef0b2aeb766a39fb4a00561 Author: Borislav Petkov Date: Wed Feb 6 02:57:52 2008 +0100 ide-tape: simplify code branching in the interrupt handler ... by adding a new typedef function pointer idetape_io_buf in order to call the proper buffer i/o handler depending on the data direction. Bart: - move idetape_io_buf before idetape_pc_intr() comment Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 37016bab601c2fecfe833d2feda42e6c6f9b08c8 Author: Borislav Petkov Date: Wed Feb 6 02:57:52 2008 +0100 ide-tape: remove unreachable code chunk tape->speed_control is set to 1 in idetape_setup(), but, in calculate_speeds() its value is tested for being 0, 1, or 2. Remove the if-branches where tape->speed_control != 1 since they are never executed. Also, rename calculate_speeds() by adding driver's prefix as is with the other function names. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit a2f5b7f42a73e99518a719189570da43c6b66657 Author: Borislav Petkov Date: Wed Feb 6 02:57:51 2008 +0100 ide-tape: remove struct idetape_read_position_result_t There should be no functional changes resulting from this patch. Bart: - remove needless "!!" Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8004a8c9744842a5a32b71d3a8093c652972bb23 Author: Borislav Petkov Date: Wed Feb 6 02:57:51 2008 +0100 ide-tape: refactor the debug logging facility Teach the debug logging macro to differentiate between log levels based on the type of debug level enabled specifically instead of a threshold-based one. Thus, convert tape->debug_level to a bitmask that is written to over /proc. Also, - cleanup and simplify the debug macro thus removing a lot of code lines, - get rid of unused debug levels, - adjust the loglevel at several places where it was simply missing (e.g. idetape_chrdev_open()) - move the tape ptr initialization up in idetape_chrdev_open() so that we can use it in the debug_log macro earlier in the function. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 64a57fe4393bae920d03c253173f59d8a7ec8e25 Author: Bartlomiej Zolnierkiewicz Date: Wed Feb 6 02:57:51 2008 +0100 ide: add ide_read_error() inline helper Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit c47137a99c597330b69057158b26061a360c0e09 Author: Bartlomiej Zolnierkiewicz Date: Wed Feb 6 02:57:51 2008 +0100 ide: add ide_read_[alt]status() inline helpers Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 29dd59755a849cc6475faa6a75f3b804e23a6fc2 Author: Bartlomiej Zolnierkiewicz Date: Wed Feb 6 02:57:50 2008 +0100 ide: remove ide_setup_ports() ide-cris.c: * Add cris_setup_ports() helper and use it instead of ide_setup_ports() (fixes random value being set in ->io_ports[IDE_IRQ_OFFSET]). buddha.c: * Add buddha_setup_ports() helper and use it instead of ide_setup_ports(). falconide.c: * Add falconide_setup_ports() helper and use it instead of ide_setup_ports(), also fix return value of falconide_init() while at it. gayle.c: * Add gayle_setup_ports() helper and use it instead of ide_setup_ports(). macide.c: * Add macide_setup_ports() helper and use it instead of ide_setup_ports() (fixes incorrect value being set in ->io_ports[IDE_IRQ_OFFSET]). q40ide.c: * Fix q40_ide_setup_ports() comments. ide.c: * Remove no longer needed ide_setup_ports(). Cc: Mikael Starvik Cc: Geert Uytterhoeven Signed-off-by: Bartlomiej Zolnierkiewicz commit f2694b7e3bad75436b47b6840de352f7b7f53feb Author: Bartlomiej Zolnierkiewicz Date: Wed Feb 6 02:57:50 2008 +0100 ide: remove redundant BUG_ON() from [atapi_]reset_pollfunc() Same BUG_ON() is present inside ide_set_handler(). Signed-off-by: Bartlomiej Zolnierkiewicz commit afdd360c95632b0c882790a7b25ff505664adcd0 Author: Bartlomiej Zolnierkiewicz Date: Wed Feb 6 02:57:50 2008 +0100 ide: remove write-only ->sata_misc[] from ide_hwif_t * Remove write-only ->sata_misc[] from ide_hwif_t. * Remove no longer used SATA_{MISC,PHY,IEN}_OFFSET defines. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 34394e45c3387bd66619d9a51b4be507e4222b02 Author: Bartlomiej Zolnierkiewicz Date: Wed Feb 6 02:57:50 2008 +0100 ppc: fix #ifdef-s in mediabay driver (take 2) * Replace incorrect CONFIG_BLK_DEV_IDE #ifdef in check_media_bay() by CONFIG_MAC_FLOPPY one. * Replace incorrect CONFIG_BLK_DEV_IDE #ifdef-s by CONFIG_BLK_DEV_IDE_PMAC ones. * check_media_bay() is used only by drivers/block/swim3.c so make this function available only if CONFIG_MAC_FLOPPY is defined. * check_media_bay_by_base() and media_bay_set_ide_infos() are used only by drivers/ide/ppc/pmac.c so so make these functions available only if CONFIG_MAC_FLOPPY is defined. v2: * Remove ifdefs from function prototypes. (Andrew Morton) Cc: Benjamin Herrenschmidt Cc: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit 594765a7316562cb7442f760a9a2f6e02804b610 Author: Denis Cheng Date: Wed Feb 6 02:57:49 2008 +0100 ide-pci-generic: kill the unused ifdef/endif/MODULE code with module_param macro, the __setup code can be killed now: const __setup("all-generic-ide", ide_generic_all_on); and the module name "generic.ko" is not descriptive to its functionality, can be changed in Makefile, the "ide-pci-generic.ko" is better. the ide-pci-generic.all-generic-ide parameter also documented in Documentation/kernel-parameters.txt Signed-off-by: Denis Cheng Cc: Greg Kroah-Hartman Signed-off-by: Bartlomiej Zolnierkiewicz commit b004223db7249d42db893df916457acecc22759c Author: Andrew Morton Date: Wed Feb 6 02:57:49 2008 +0100 drivers/ide/legacy/hd.c: fix uninitialized var warning drivers/ide/legacy/hd.c: In function 'hd_request': drivers/ide/legacy/hd.c:424: warning: 'stat' may be used uninitialized in this function gcc is being stupid. Signed-off-by: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit 1dcfdf93f66375567ec563de74bbb8c295ac88df Author: Andrew Morton Date: Wed Feb 6 02:57:49 2008 +0100 drivers/ide/ide-acpi.c: fix uninitialized var warning drivers/ide/ide-acpi.c: In function 'ide_acpi_init': drivers/ide/ide-acpi.c:175: warning: 'dev_handle' may be used uninitialized in this function Signed-off-by: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit 7c7e92a9268965e08bba853ecdb94fa55e886741 Author: Anton Salnikov Date: Wed Feb 6 02:57:48 2008 +0100 Palmchip BK3710 IDE driver This is Palmchip BK3710 IDE controller support. The IDE controller logic supports PIO, MultiWord-DMA and Ultra-DMA modes. Supports interface to Compact Flash (CF) configured in True-IDE mode. Bart: - remove dead code - fix ide_hwif_setup_dma() build problem Signed-off-by: Anton Salnikov Reviewed-by: Alan Cox Reviewed-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit b2a53bc636b0e7e9ce4c899ad605432339ef5861 Author: Bartlomiej Zolnierkiewicz Date: Wed Feb 6 02:57:48 2008 +0100 ide-generic: probing bugfix On Tuesday 05 February 2008, Linus Torvalds wrote: > > On Sat, 2 Feb 2008, Bartlomiej Zolnierkiewicz wrote: > > > > * next part of IDE probing code re-organization saga > >   (that would be me) > > This seems to cause very irritating and bogus messages for me: > >       Probing IDE interface ide0... >       Probing IDE interface ide1... >       ide2: I/O resource 0x0-0x7 not free. >       ide2: ports already in use, skipping probe >       ide3: I/O resource 0x0-0x7 not free. >       ide3: ports already in use, skipping probe >       ide4: I/O resource 0x0-0x7 not free. >       ide4: ports already in use, skipping probe >       ide5: I/O resource 0x0-0x7 not free. >       ide5: ports already in use, skipping probe >       ide6: I/O resource 0x0-0x7 not free. >       ide6: ports already in use, skipping probe >       ide7: I/O resource 0x0-0x7 not free. >       ide7: ports already in use, skipping probe >       ide8: I/O resource 0x0-0x7 not free. >       ide8: ports already in use, skipping probe >       ide9: I/O resource 0x0-0x7 not free. >       ide9: ports already in use, skipping probe > > and that's just totally bogus. It shouldn't even request that region, > since it's not been allocated! The commit 139ddfcab50e5eabcc88341c8743a990ac1be6a2 ("ide: move handling of I/O resources out of ide_probe_port()") changed the ordering of hwif->noprobe check vs ide_hwif_request_regions() call (so that we now reserve I/O regions before checking for hwif->noprobe). However ide-generic host driver depended on hwif->noprobe to be set for skipping probing of empty ide_hwifs[] slots. Fix it by passing only indexes of non-empty slots to ide_device_add_all() from ide_generic_init(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 731a0609df9cef35ae861d31004f50a02ebde6c2 Author: Rami Rosen Date: Tue Feb 5 16:30:50 2008 -0800 [PPPOL2TP]: Label unused warning when CONFIG_PROC_FS is not set. When CONFIG_PROC_FS is not set and CONFIG_PPPOL2TP is set, we have the following warning in build: drivers/net/pppol2tp.c: In function 'pppol2tp_init': drivers/net/pppol2tp.c:2472: warning: label 'out_unregister_pppox_proto' defined but not used This patches fixes this warning by adding appropriate #ifdef. Signed-off-by: Rami Rosen Acked-by: James Chapman Signed-off-by: David S. Miller commit 9ec138101f8a79007bc571174976a7814ed616f8 Author: Patrick McHardy Date: Tue Feb 5 16:21:04 2008 -0800 [NET_SCHED]: cls_flow: support classification based on VLAN tag Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 181499356e5a9f0bcbd69adc3c6df450f6e2586d Author: Patrick McHardy Date: Tue Feb 5 16:20:22 2008 -0800 [VLAN]: Constify skb argument to vlan_get_tag() Required by next patch to use it from the flow classifier. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4f25049106e0507ff21a9e1fc0645d849e19faf0 Author: Patrick McHardy Date: Tue Feb 5 16:19:59 2008 -0800 [NET_SCHED]: cls_flow: fix key mask validity check Since we're using fls(), we need to check whether the value is non-zero first. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0ea9d70df8f8be741ee0525490370de06163d2de Author: Patrick McHardy Date: Tue Feb 5 16:19:33 2008 -0800 [NET_SCHED]: em_meta: fix compile warning net/sched/em_meta.c: In function 'meta_int_vlan_tag': net/sched/em_meta.c:179: warning: 'tag' may be used uninitialized in this function Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c773633916c66f8362ca01983d97bd33e35b743f Author: Andrew Morton Date: Tue Feb 5 14:22:58 2008 -0800 deprecate smbfs in favour of cifs smbfs is a bit buggy and has no maintainer. Change it to shout at the user on the first five mount attempts - tell them to switch to CIFS. Come December we'll mark it BROKEN and see what happens. [olecom@flower.upol.cz: documentation update] Cc: Urban Widmark Acked-by: Steven French Signed-off-by: Oleg Verych Cc: Jeff Layton Cc: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9692bd9c140618e3f6a2848900aee96c9cd8a65c Author: Andrew Morton Date: Tue Feb 5 14:22:56 2008 -0800 timerfd: fix remaining architectures Cc: David Howells Cc: Hirokazu Takata Cc: Paul Mundt Cc: Kazumoto Kojima Cc: Richard Curnow Cc: Davide Libenzi Cc: Michael Kerrisk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46a56c5a02430f80ef73357aa1295875c1cef2a7 Author: Haavard Skinnemoen Date: Tue Feb 5 14:22:55 2008 -0800 Fix timerfd breakage on avr32 Hmm. Someone removed the timerfd() syscall... Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8cb2a7c1e95e472b5ad8cbde4d5c7bb65c532603 Author: Hugh Dickins Date: Tue Feb 5 22:26:01 2008 +0000 stop c_p_a corrupting the pds When change_page_attr splits a large page on x86_32 (without PAE), it is currently corrupting every process's page directory: fix that by removing the thinko which passes down a physical instead of a virtual address. Signed-off-by: Hugh Dickins Signed-off-by: Linus Torvalds commit ec6d2d453a932fd50c5fd95d5aac633b4e5f241d Author: Florian Fainelli Date: Wed Dec 12 23:13:15 2007 +0100 r6040: cleanups - use netdev_alloc_skb - remove an useless variable in the IRQ handler - remove an unused private structure member - fix a spelling mistake Signed-off-by: Florian Fainelli Signed-off-by: Francois Romieu commit 106adf3c84d081776a1d1fbb8a047cad12af2bb9 Author: Florian Fainelli Date: Wed Dec 12 23:01:33 2007 +0100 r6040: recover from transmit timeout Signed-off-by: Florian Fainelli Signed-off-by: Francois Romieu commit b4f1255d6839bd970d5ff20a9c3d73f73c9adaa3 Author: Florian Fainelli Date: Wed Dec 12 22:55:34 2007 +0100 r6040: add helpers to allocate and free the Tx/Rx buffers r6040_init_ring_desc moves around but it is kept unchanged. Signed-off-by: Florian Fainelli Signed-off-by: Francois Romieu commit d248fd77902fcf33b0bc49ab521930877d94890f Author: Florian Fainelli Date: Wed Dec 12 22:34:55 2007 +0100 r6040: do not use a private stats structure to store statistics Signed-off-by: Florian Fainelli Signed-off-by: Francois Romieu commit dd8cd7793781c87be47bbfee65efa3fb5110f898 Author: Carlos Corbacho Date: Tue Feb 5 02:17:15 2008 +0000 tc1100-wmi: Add driver for HP Compaq TC1100 Tablets This is based on the 2004 out-of-tree work of Jamey Hicks, to add support via WMI for controlling the jog dial and wireless on these tablets. v1: Original release v2: As per Joshua Wise's comments, change bluetooth to jogdial (an error from the original driver). Signed-off-by: Carlos Corbacho CC: Matthew Garrett CC: Jamey Hicks CC: Joshua Wise Signed-off-by: Len Brown commit 745a5d2126926808295742932d0e36d485efa485 Author: Carlos Corbacho Date: Tue Feb 5 02:17:10 2008 +0000 acer-wmi: Add driver for newer Acer laptops This is a driver for newer Acer (and Wistron) laptops. It adds wireless radio and bluetooth control, and on some laptops, exposes the mail LED and LCD backlight. v1: * Initial release v2: * Replace left over ACPI references with WMI * Add GUID based autoloading (depends on future work to WMI) * Add DMI based autoloading (backup solution until WMI sysfs/ class work is available) * Checkpatch fixes v3: * Add new EC quirks for Aspire 3100 & 5100, and Extensa 5220 v4: * Simplified internal handling of WMID and AMW0 devices * Add autodetection for bluetooth and maximum brightness on AMW0 V2 and WMID laptops. v5: * Add EC quirk for Medion MD 98000 * Add autodetection for AMW0, and mail LED on AMW0 and AMW0 V2. * Improve error handling * Fix AMW0 V2 bluetooth and wireless, by using both WMID and AMW0 methods to ensure that the correct value is always set. v6: * Fix 'use before initialisation' bug with quirks. v7 * Fix bug on AMW0 where acer-wmi would exit if a mail LED was not detected. * Add Acer Aspire 9110 mail LED support * Fix section mismatch warnings Signed-off-by: Carlos Corbacho CC: Matthew Garrett Signed-off-by: Len Brown commit bff431e49ff531a343fbb2b4426e313000844f32 Author: Carlos Corbacho Date: Tue Feb 5 02:17:04 2008 +0000 ACPI: WMI: Add ACPI-WMI mapping driver The following is an implementation of the Windows Management Instrumentation (WMI) ACPI interface mapper (PNP0C14). What it does: Parses the _WDG method and exports functions to process WMI method calls, data block query/ set commands (both based on GUID) and does basic event handling. How: WMI presents an in kernel interface here (essentially, a minimal wrapper around ACPI) (const char *guid assume the 36 character ASCII representation of a GUID - e.g. 67C3371D-95A3-4C37-BB61-DD47B491DAAB) wmi_evaluate_method(const char *guid, u8 instance, u32 method_id, const struct acpi_buffer *in, struct acpi_buffer *out) wmi_query_block(const char *guid, u8 instance, struct acpi_buffer *out) wmi_set_block(const char *guid, u38 instance, const struct acpi_buffer *in) wmi_install_notify_handler(acpi_notify_handler handler); wmi_remove_notify_handler(void); wmi_get_event_data(u32 event, struct acpi_buffer *out) wmi_has_guid(const char guid*) wmi_has_guid() is a helper function to find if a GUID exists or not on the system (a quick and easy way for WMI dependant drivers to see if the the method/ block they want exists, since GUIDs are supposed to be unique). Event handling - allow a WMI based driver to register a notifier handler for each GUID with WMI. When a notification is sent to a GUID in WMI, the handler registered with WMI is then called (it is left to the caller to ask for the WMI event data associated with the GUID, if needed). What it won't do: Unicode - The MS article[1] calls for converting between ASCII and Unicode (or vice versa) if a GUID is marked as "string". This is left up to the calling driver. Handle a MOF[1] - the WMI mapper just exports methods, data and events to userspace. MOF handling is down to userspace. Userspace interface - this will be added later. [1] http://www.microsoft.com/whdc/system/pnppwr/wmi/wmi-acpi.mspx === ChangeLog == v1 (2007-10-02): * Initial release v2 (2007-10-05): * Cleaned up code - split up super "wmi_evaluate_block" -> each external symbol now handles its own ACPI calls, rather than handing off to a "super" method (and in turn, is a lot simpler to read) * Added a find_guid() symbol - return true if a given GUID exists on the system * wmi_* functions now return type acpi_status (since they are just fancy wrappers around acpi_evaluate_object()) * Removed extra debug code v3 (2007-10-27) * More code clean up - now passes checkpatch.pl * Change data block calls - ref MS spec, method ID is not required for them, so drop it from the function parameters. * Const'ify guid in the function call parameters. * Fix _WDG buffer handling - copy the data to our own private structure. * Change WMI from tristate to bool - otherwise the external functions are not exported in linux/acpi.h if you try to build WMI as a module. * Fix more flag comparisons. * Add a maintainers entry - since I wrote this, I should take the blame for it. v4 (2007-10-30) * Add missing brace from after fixing checkpatch errors. * Rewrote event handling - allow external drivers to register with WMI to handle WMI events * Clean up flags and sanitise flag handling v5 (2007-11-03) * Add sysfs interface for userspace. Export events over netlink again. * Remove module left overs, fully convert to built-in driver. * Tweak in-kernel API to use u8 for instance, since this is what the GUID blocks use (so instance cannot be greater than u8). * Export wmi_get_event_data() for in kernel WMI drivers. v6 (2007-11-07) * Split out userspace into a different patch v7 (2007-11-20) * Fix driver to handle multiple PNP0C14 devices - store all GUIDs using the kernel's built in list functions, and just keep adding to the list every time we handle a PNP0C14 devices - GUIDs will always be unique, and WMI callers do not know or care about different devices. * Change WMI event handler registration to use its' own event handling struct; we should not pass an acpi_handle down to any WMI based drivers - they should be able to function with only the calls provided in WMI. * Update my e-mail address v8 (2007-11-28) * Convert back to a module. * Update Kconfig to default to building as a module. * Remove an erroneous printk. * Simply comments for string flag (since we now leave the handling to the caller). v9 (2007-12-07) * Add back missing MODULE_DEVICE_TABLE for autoloading * Checkpatch fixes v10 (2007-12-12) * Workaround broken GUIDs declared expensive without a WCxx method. * Minor cleanups v11 (2007-12-17) * More fixing for broken GUIDs declared expensive without a WCxx method. * Add basic EmbeddedControl region handling. v12 (2007-12-18) * Changed EC region handling code, as per Alexey's comments. v13 (2007-12-27) * Changed event handling so that we can have one event handler registered per GUID, as per Matthew Garrett's suggestion. v14 (2008-01-12) * Remove ACPI debug statements v15 (2008-02-01) * Replace two remaining 'x == NULL' type tests with '!x' v16 (2008-02-05) * Change MAINTAINERS entry, as I am not, and never have been, paid to work on WMI * Remove 'default' line from Kconfig Signed-off-by: Carlos Corbacho CC: Matthew Garrett CC: Alexey Starikovskiy Signed-off-by: Len Brown commit a64217b922e5a06f328e3962ff903ce829aff3d6 Author: Len Brown Date: Mon Feb 4 00:57:33 2008 -0500 ACPI: blacklist update move some OSI(Linux) to "disable" from "unknown" to reduce dmesg lines that we don't really need. update Acer 5315 comment update Dell entries, add R200 entry update Apple entries Signed-off-by: Len Brown commit b79caa68c0d48477453a90d12be34b47cb75f3a8 Author: Michael Buesch Date: Tue Feb 5 12:50:41 2008 +0100 b43: Fix DMA for 30/32-bit DMA engines This checks if the DMA address is bigger than what the controller can manage. It will reallocate the buffers in the GFP_DMA zone in that case. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 532031d7f426eb02f854d13184416cabcb01bdd5 Author: Andrew Morton Date: Mon Feb 4 23:58:42 2008 -0800 b43: fix build with CONFIG_SSB_PCIHOST=n m68k allmodconfig gives drivers/net/wireless/b43/main.c:251: error: implicit declaration of function 'mmiowb' because CONFIG_B43=m, CONFIG_SSB_PCIHOST=n. Might be Kconfig bustage, but this works... Cc: Michael Buesch Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 03ac7a8141e1613add92d42e389a35a126b1caf8 Author: Michael Buesch Date: Mon Feb 4 18:11:41 2008 +0100 mac80211: Is not EXPERIMENTAL anymore Remove the EXPERIMENTAL dependency, as the existing mac80211 features are stable. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 221c80cf03d77490b8e45184a273834d0259b9e0 Author: Adrian Bunk Date: Sat Feb 2 23:19:01 2008 +0200 iwl3945-base.c: fix off-by-one errors This patch fixes two off-by-one errors resulting in array overflows spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: John W. Linville commit 8dd0100ce9511e52614ecd0a6587c13ce5769c8b Author: Stefano Brivio Date: Sat Feb 2 19:16:03 2008 +0100 b43legacy: fix DMA slot resource leakage This fixes four resource leakages. In any error path we must deallocate the DMA frame slots we previously allocated by request_slot(). This is done by storing the ring pointers before doing any ring allocation and restoring the old pointers in case of an error. This patch by Michael Buesch has been ported to b43legacy. Cc: Michael Buesch Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit 9eca9a8e81928685b4de00ecef83a7c13c340fc9 Author: Stefano Brivio Date: Sat Feb 2 19:16:01 2008 +0100 b43legacy: drop packets we are not able to encrypt We must drop any packets we are not able to encrypt. We must not send them unencrypted or with an all-zero-key (which basically is the same as unencrypted, from a security point of view). This might only trigger shortly after resume before mac80211 reassociated and reconfigured the keys. It is safe to drop these packets, as the association they belong to is not guaranteed anymore anyway. This is a security fix in the sense that it prevents information leakage. This patch by Michael Buesch has been ported to b43legacy. Cc: Michael Buesch Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit ada50731c0346bf900dc387edd3a6961297bf2d3 Author: Stefano Brivio Date: Sat Feb 2 19:15:57 2008 +0100 b43legacy: fix suspend/resume This patch makes suspend/resume work with the b43legacy driver. We must not overwrite the MAC addresses in the init function, as this would also overwrite the MAC on resume. With an all-zero MAC the device firmware is not able to ACK any received packets anymore. Fix this by moving the initializion stuff that must be done on init but not on resume to the start function. Also zero out filter_flags to make sure we don't have some flags from a previous instance for a tiny timeframe until mac80211 reconfigures them. This patch by Michael Buesch has been ported to b43legacy. Cc: Michael Buesch Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit 0cd67d48b519c3d8d89d238fab1cf68a5289638a Author: Stefano Brivio Date: Sat Feb 2 19:15:49 2008 +0100 b43legacy: fix PIO crash Fix the crash reported below, which seems to happen on bcm4306 rev. 2 devices only while using PIO: Oops: 0000 [#1] PREEMPT Modules linked in: b43(F) rfkill(F) led_class(F) input_polldev(F) arc4 b43legacy mac80211 cfg80211 i915 drm snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device ohci1394 ieee1394 ssb pcmcia snd_intel8x0m ehci_hcd uhci_hcd evdev Pid: 0, comm: swapper Tainted: GF (2.6.24st3 #2) EIP: 0060:[] EFLAGS: 00010002 CPU: 0 EIP is at b43legacy_pio_handle_txstatus+0xbb/0x210 [b43legacy] EAX: 0000049b EBX: f11f8044 ECX: 00000001 EDX: 00000000 ESI: f1ff8000 EDI: 00000000 EBP: f11f8040 ESP: c04f4ef4 DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068 Process swapper (pid: 0, ti=c04f4000 task=c0488300 task.ti=c04b8000) Stack: f90f2788 c05009f0 c0500900 000010f7 f1053823 c04f4f24 dfb8e800 00000003 f1368000 00000007 00000296 f90f1975 00001000 010c0800 01000000 00000007 f90f6391 f11f8000 00000082 c04f4f4a 00000000 00004fd0 10f70000 8c061000 Call Trace: [] b43legacy_debugfs_log_txstat+0x48/0xb0 [b43legacy] [] b43legacy_handle_hwtxstatus+0x75/0x80 [b43legacy] [] b43legacy_pio_rx+0x201/0x280 [b43legacy] [] b43legacy_interrupt_tasklet+0x2e3/0x870 [b43legacy] [] tasklet_action+0x27/0x60 [] __do_softirq+0x54/0xb0 [] do_softirq+0x7b/0xe0 [] handle_level_irq+0x0/0x110 [] handle_level_irq+0x0/0x110 [] irq_exit+0x38/0x40 [] do_IRQ+0x83/0xd0 [] __update_rq_clock+0x4f/0x180 [] common_interrupt+0x23/0x28 [] wakeup_code+0x7b/0xde [] acpi_processor_idle+0x24a/0x3c9 [] cpu_idle+0x47/0x80 [] start_kernel+0x205/0x290 [] unknown_bootoption+0x0/0x1f0 ======================= Code: 0f 00 00 81 fb ff 00 00 00 0f 87 36 01 00 00 8d 04 db 85 ff 8d 6c c6 40 8d 5d 04 0f 85 ef 00 00 00 fe 4e 0e 0f b7 46 0c 8b 53 04 <8b> 4a 50 29 c8 83 e8 52 66 89 46 0c 8b 54 24 14 80 7a 0b 00 74 EIP: [] b43legacy_pio_handle_txstatus+0xbb/0x210 [b43legacy] SS:ESP 0068:c04f4ef4 Kernel panic - not syncing: Fatal exception in interrupt Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit 47eaa267a5db1729d238f977364e297b8963e115 Author: Krzysztof Halasa Date: Fri Feb 1 22:39:50 2008 +0100 Generic HDLC - use random_ether_addr() Generic HDLC now uses random_ether_addr() for generating MAC addresse for Ethernet-alike interfaces. Signed-off-by: Krzysztof Halasa Signed-off-by: Jeff Garzik commit 40d25142f2ef27084fc317ac8bb5bae460c8ea72 Author: Krzysztof Halasa Date: Fri Feb 1 22:37:12 2008 +0100 Generic HDLC - remove now unneeded hdlc_device_desc Removes now unneeded struct hdlc_device_desc Signed-off-by: Krzysztof Halasa Signed-off-by: Jeff Garzik commit 983e23041b28abb113862b2935a85cfb9aab4f5a Author: Krzysztof Halasa Date: Fri Feb 1 22:34:30 2008 +0100 Generic HDLC - fix kernel panic Fixes kernel panic in Frame Relay mode Signed-off-by: Krzysztof Halasa Signed-off-by: Jeff Garzik commit d2f4fbe2982b3b9e46deea8d7288ea8f8d7b5bc4 Author: Ayyappan Veeraiyan Date: Fri Feb 1 15:59:19 2008 -0800 ixgbe: add real-time traffic counters Just like our other drivers before we can switch ixgbe to provide real-time packet/byte counters to the stack easily. Signed-off-by: Ayyappan Veeraiyan Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 6f11eef7790828c33b4f6fc41aed9815ad047e7c Author: Ayyappan Veeraiyan Date: Fri Feb 1 15:59:14 2008 -0800 ixgbe: fix several counter register errata Several counters behave differently on 82598 causing them to display incorrect values. Adjust the accounting so the reported numbers make sense and do not double count or represent the wrong item. Signed-off-by: Ayyappan Veeraiyan Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit e59bd25d579c143f1b93a33d3243d67abbb15abe Author: Ayyappan Veeraiyan Date: Fri Feb 1 15:59:09 2008 -0800 ixgbe: properly return CHECKSUM_NONE, cleanup csum code We were not returning CHECKSUM_NONE in a lot of cases which is wrong. Move common exit points in this function and error code up before the actual work in this function. Signed-off-by: Ayyappan Veeraiyan Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 5eba3699a3b2e0d7afa0d4594980bafb1e47e2b4 Author: Ayyappan Veeraiyan Date: Fri Feb 1 15:59:04 2008 -0800 ixgbe: Fix FW init/release, make this code a function A gap was left in the FW release/grab code in up/down path. Fix it by making the release/grab code a function and calling it in appropriate locations. Signed-off-by: Ayyappan Veeraiyan Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 9c83b070edd1f76531ba8a7a120e95f786dcbb73 Author: Ayyappan Veeraiyan Date: Fri Feb 1 15:58:59 2008 -0800 ixgbe: Fix pause code for ethtool Signed-off-by: Ayyappan Veeraiyan Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 735441fb1a3b213d8cd12f641f5f1706a356b55c Author: Ayyappan Veeraiyan Date: Fri Feb 1 15:58:54 2008 -0800 ixbge: Make ethtool code account for media types The i82598 can support various media types but this ethtool code only was coded for fiber just yet. Signed-off-by: Ayyappan Veeraiyan Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit e092be60b2292af91c55f085151d58dc8a76820a Author: Ayyappan Veeraiyan Date: Fri Feb 1 15:58:49 2008 -0800 ixbge: remove TX lock and redo TX accounting. This ports Herbert Xu's "maybe_stop_tx" code and removes the tx_lock which is not needed. Signed-off-by: Ayyappan Veeraiyan Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit d4f80882ee7bdc721230b9ac209ddd3a837e4545 Author: Ayyappan Veeraiyan Date: Fri Feb 1 15:58:41 2008 -0800 ixgbe: remove obsolete irq_sem, add driver state checking code After testing we confirmed that the irq_sem can safely be removed from ixgbe. Add strict state checking code to various ethtool parts to properly protect against races between various driver reset paths. Signed-off-by: Ayyappan Veeraiyan Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 06f7525be463ef95bfdba001484bda04d00ec74e Author: Erik Mouw Date: Mon Feb 4 18:56:54 2008 +0100 xircom_cb should return NETDEV_TX_BUSY when no descriptors available Changes in other networking paths uncovered a bug in the xircom_cb driver which made the kernel spew lots of the following error messages: BUG eth1 code -5 qlen 0 It turned out that the driver returned -EIO when there was no descriptor available for sending packets. It should return NETDEV_TX_BUSY instead. This was discussed on the netdev list before, see http://thread.gmane.org/gmane.linux.network/84603 . Signed-off-by: Erik Mouw Signed-off-by: Jeff Garzik commit 6c04a515085e6b94266db3e0e05c2700eeffa469 Author: Leonardo Potenza Date: Mon Feb 4 23:47:16 2008 -0800 drivers/net/tlan.c: compilation warning fix Add a check for the pci_register_driver() return value. Removed unused variable pad_allocated. The aim of this patch is to remove the following warning messages: drivers/net/tlan.c: In function 'tlan_probe': drivers/net/tlan.c:486: warning: ignoring return value of 'pci_register_driver', declared with attribute warn_unused_result Signed-off-by: Leonardo Potenza Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 324ff2c1793b6d3d5c377cf6de2ada9b49af227a Author: Byron Bradley Date: Mon Feb 4 23:47:15 2008 -0800 mv643xx_eth: fix byte order when checksum offload is enabled The Marvell Orion system on chips have an integrated mv643xx MAC. On these little endian ARM devices mv643xx will oops when checksum offload is enabled. Swapping the byte order of the protocol and checksum solves this problem. Signed-off-by: Byron Bradley Cc: Dale Farnsworth Cc: Manish Lachwani Cc: Jeff Garzik Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 39dbd9587bebedbd72be9a8a30a8c4783f3ef7eb Author: Stephen Hemminger Date: Mon Feb 4 19:45:13 2008 -0800 sky2: fix for Yukon FE (regression in 2.6.25) The Yukon FE chip has a ram buffer therefore it needs the alignment restriction and hang check workarounds. Therefore: * Autodetect the prescence/absence of ram buffer * Rename the flag value to reflect this * Use it consistently (ie don't reread register) Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 57f78ab3b0e9338a9241aeff6ee92aecc8f8bcbb Author: Stephen Rothwell Date: Tue Feb 5 14:19:40 2008 +1100 iSeries: fix section mismatch in iseries_veth WARNING: vmlinux.o(.text+0x25dca0): Section mismatch in reference from the function .veth_probe() to the function .init.text:.veth_probe_one() Signed-off-by: Stephen Rothwell Signed-off-by: Jeff Garzik commit 21511abd0a248a3f225d3b611cfabb93124605a7 Merge: 39ce941... e1b0d4b... Author: Linus Torvalds Date: Tue Feb 5 10:24:52 2008 -0800 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] make pfm_get_task work with virtual pids [IA64] honor notify_die() returning NOTIFY_STOP [IA64] remove dead code: __cpu_{down,die} from !HOTPLUG_CPU [IA64] Appoint kvm/ia64 Maintainers [IA64] ia64_set_psr should use srlz.i [IA64] Export three symbols for module use [IA64] mca style cleanup [IA64] sn_hwperf semaphore to mutex [IA64] generalize attribute of fsyscall_gtod_data [IA64] efi.c Add /* never reached */ annotation [IA64] efi.c Spelling/punctuation fixes [IA64] Make efi.c mostly fit in 80 columns [IA64] aliasing-test: fix gcc warnings on non-ia64 [IA64] Slim-down __clear_bit_unlock [IA64] Fix the order of atomic operations in restore_previous_kprobes on ia64 [IA64] constify function pointer tables [IA64] fix userspace compile error in gcc_intrin.h commit 39ce941ec15032c0efc3632b9f00a6b2365e1870 Merge: 3d412f6... c5411db... Author: Linus Torvalds Date: Tue Feb 5 10:11:02 2008 -0800 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [S390] dcss: Initialize workqueue before using it. [S390] Remove BUILD_BUG_ON() in vmem code. [S390] sclp_tty/sclp_vt220: Fix scheduling while atomic [S390] dasd: fix panic caused by alias device offline [S390] dasd: add ifcc handling [S390] latencytop s390 support. [S390] Implement ext2_find_next_bit. [S390] Cleanup & optimize bitops. [S390] Define GENERIC_LOCKBREAK. [S390] console: allow vt220 console to be the only console [S390] Fix couple of section mismatches. [S390] Fix smp_call_function_mask semantics. [S390] Fix linker script. [S390] DEBUG_PAGEALLOC support for s390. [S390] cio: Add shutdown callback for ccwgroup. [S390] cio: Update documentation. [S390] cio: Clean up chsc response code handling. [S390] cio: make sense id procedure work with partial hardware response commit 3d412f60b71e588544e7b75861084f12aa1d7acd Merge: 3098a18... 3113e88... Author: Linus Torvalds Date: Tue Feb 5 10:09:07 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (21 commits) [PKT_SCHED]: vlan tag match [NET]: Add if_addrlabel.h to sanitized headers. [NET] rtnetlink.c: remove no longer used functions [ICMP]: Restore pskb_pull calls in receive function [INET]: Fix accidentally broken inet(6)_hash_connect's port offset calculations. [NET]: Remove further references to net-modules.txt bluetooth rfcomm tty: destroy before tty_close() bluetooth: blacklist another Broadcom BCM2035 device drivers/bluetooth/btsdio.c: fix double-free drivers/bluetooth/bpa10x.c: fix memleak bluetooth: uninlining bluetooth: hidp_process_hid_control remove unnecessary parameter dealing tun: impossible to deassert IFF_ONE_QUEUE or IFF_NO_PI hamradio: fix dmascc section mismatch [SCTP]: Fix kernel panic while received AUTH chunk with BAD shared key identifier [SCTP]: Fix kernel panic while received AUTH chunk while enabled auth [IPV4]: Formatting fix for /proc/net/fib_trie. [IPV6]: Fix sysctl compilation error. [NET_SCHED]: Add #ifdef CONFIG_NET_EMATCH in net/sched/cls_flow.c (latest git broken build) [IPV4]: Fix compile error building without CONFIG_FS_PROC ... commit 3098a1801f8b92575a5cd69c77d9fa94ea504dde Merge: 9914712... 4c62225... Author: Linus Torvalds Date: Tue Feb 5 10:08:47 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64] pci_sun4v.c: Section fixes. commit 9914712e2e0f80ddcc00c928d3f7a5848d925e1e Merge: 488823f... bc89460... Author: Linus Torvalds Date: Tue Feb 5 09:54:10 2008 -0800 Merge branch 'agp-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6 * 'agp-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6: agp: remove flush_agp_mappings calls from new flush handling code intel-agp: introduce IS_I915 and do some cleanups.. [intel_agp] fix name for G35 chipset intel-agp: fixup resource handling in flush code. intel-agp: add new chipset ID agp: remove unnecessary pci_dev_put agp: remove uid comparison as security check fix AGP warning agp/intel: Add chipset flushing support for i8xx chipsets. intel-agp: add chipset flushing support agp: add chipset flushing support to AGP interface commit 488823f114a3cef58e7eb932cac977440a2a59cb Merge: 827b3f6... 3c2d774... Author: Linus Torvalds Date: Tue Feb 5 09:52:46 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: RDMA/nes: Add a driver for NetEffect RNICs IB/mthca: Return proper error codes from mthca_fmr_alloc() IB: Avoid marking __devinitdata as const IB/mlx4: Actually print out the driver version IB/ib_mthca: Pre-link receive WQEs in Tavor mode IB/mthca: Remove checks for srq->first_free < 0 IB/fmr_pool: Allocate page list for pool FMRs only when caching enabled IB/srp: Retry stale connections mlx4_core: Don't read reserved fields in mlx4_QUERY_ADAPTER() IB/mthca: Don't read reserved fields in mthca_QUERY_ADAPTER() IPoIB: Remove a misleading debug print IPoIB: Handle bonding failover race for connected neighbours too IB/mthca: Fix and simplify page size calculation in mthca_reg_phys_mr() IB/ehca: Add PMA support IB/ehca: Update sma_attr also in case of disruptive config change IB/ehca: Prevent sending UD packets to QP0 IB/cm: Add interim support for routed paths mlx4_core: Fix more section mismatches commit 827b3f6abc21246928e38480bb308936701a2ad4 Author: Jeff Dike Date: Mon Feb 4 22:31:29 2008 -0800 uml: make mconsole_stack namespace-aware Also fixed the include syntax while I was there. Signed-off-by: Jeff Dike Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f87ea91d988637b3bbf6aa2d281c6010e7d5f48d Author: Jeff Dike Date: Mon Feb 4 22:31:29 2008 -0800 uml: redo the calculation of NR_syscalls Redo the calculation of NR_syscalls since that disappeared from i386 and use a similar mechanism on x86_64. We now figure out the size of the system call table in arch code and stick that in syscall_table_size. arch/um/kernel/skas/syscall.c defines NR_syscalls in terms of that since its the only thing that needs to know how many system calls there are. The old mechananism that was used on x86_64 is gone. arch/um/include/sysdep-i386/syscalls.h got some formatting since I was looking at it. Signed-off-by: Jeff Dike Cc: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 966f1d8f344bcec3db7d774a4ba3ab0dedfad873 Author: Jeff Dike Date: Mon Feb 4 22:31:28 2008 -0800 uml: defconfig tweaks Tweak the UML defconfig - we probably don't need 256 old-style ptys - this slows down udev noticably enable hostfs disable slab debugging - another noticable performance hit Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2aa9c5db8e1eadf12a6c938dbd3e39ba6b923b8c Author: Daniel Walker Date: Mon Feb 4 22:31:27 2008 -0800 uml: port mutex conversion The port_sem is already used as a mutex since it's using DECLARE_MUTEX(), but the underlying construct is still a semaphore .. This patch switches it over to a struct mutex. Signed-off-by: Daniel Walker Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e98fa28160eabdcda4c4c5bf7af7a3256c10c922 Author: Daniel Walker Date: Mon Feb 4 22:31:27 2008 -0800 uml: mconsole mutex conversion The plug_mem_mutex is already used as a mutex since it's using DECLARE_MUTEX(), but the underlying construct is still a semaphore .. This patch switches it over to a struct mutex. Signed-off-by: Daniel Walker Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01ac835fdd121f36dded404af15225101f6ccee3 Author: Daniel Walker Date: Mon Feb 4 22:31:26 2008 -0800 uml: LDT mutex conversion The ldt.semaphore conforms to the new struct mutex requirments, so I converted it to use the new API and changed the name. Signed-off-by: Daniel Walker Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2278c5ac9d39699bac44250b9c532de0c02cb16a Author: Jeff Dike Date: Mon Feb 4 22:31:25 2008 -0800 uml: use of a public MAC is a warning, not an error Downgrade one of the MAC validity checks. If it's one that could be possibly assigned to a physical NIC, then nothing will break. So, emit a warning in this case, but keep the requested MAC. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc0be0fb3fd4bd2c363ef1b5c968cd6f2ce478cf Author: Karol Swietlicki Date: Mon Feb 4 22:31:25 2008 -0800 uml: fix infinite mconsole loop This patch takes care of a problem with the stopping code. The function inside the while condition returns 0 to signify a problem. A problem could be for example a bad command or a bad version of the mconsole client. A bad command would terminate the stopping loop and resume the kernel. This is a problem. A better solution is to make the loop infinite and don't leave it until we are explicitly told to. Signed-off-by: Karol Swietlicki Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ab26a5276c1b0945c3281a73b3a89d025906c880 Author: Jeff Dike Date: Mon Feb 4 22:31:24 2008 -0800 uml: remove map_cb John Reiser noticed that a physical memory region was being mapped twice. This patch fixes that, and it inlines the responsible function, as that had only one caller. Cc: John Reiser Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 47afa1d5f826606def7c498e93ec79a905042c56 Author: WANG Cong Date: Mon Feb 4 22:31:23 2008 -0800 uml: remove TOPDIR TOPDIR is obsolete, use srctree instead. This patch removes TOPDIR from all UML Makefiles. Cc: Sam Ravnborg Signed-off-by: WANG Cong Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d449c5036778dfa00374c55c9c9f02bd45574c58 Author: Jeff Dike Date: Mon Feb 4 22:31:22 2008 -0800 uml: remove unused fields from mm_context The 3-level page table fixes forgot to remove a couple now-unused fields from struct mm_context. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 576c013df0ac9ad1f217452c14ddde246bb1a70d Author: Jeff Dike Date: Mon Feb 4 22:31:22 2008 -0800 uml: move register initialization Calling init_registers inside the skas3 checking causes mysterious crashes if it doesn't happen because the skas3 checking is bypassed. This patch moves it to os_early_checks. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b54988325c4cbf8bd92c0def53387ab6516d0920 Author: Jeff Dike Date: Mon Feb 4 22:31:21 2008 -0800 uml: add newlines to printks Some printks were missing newlines. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95906b24fbe4d22e5861f67fe1e8274c7ecfeda1 Author: Jeff Dike Date: Mon Feb 4 22:31:20 2008 -0800 uml: style fixes in arch/um/sys-x86_64 Style fixes in arch/um/sys-x86_64: updated copyrights CodingStyle fixes added severities to printks which needed them A bunch of functions in sys-*/ptrace_user.c turn out to be unused, so they and their declarations are gone. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7281ff952c7b3cbefb14847460e5fe73a2d240e4 Author: Jeff Dike Date: Mon Feb 4 22:31:19 2008 -0800 uml: add back CONFIG_HZ avoid-overflows-in-kernel-timec.patch makes CONFIG_HZ necessary for a successful build. UML lacks a definition, so this patch adds one. It also changes the hard-wired definition of HZ to CONFIG_HZ. Note: this patch is a good idea even in the absence of hpa's time fixes. Cc: "H. Peter Anvin" Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 438ee6798cd8bfc44da725fca846367e19d86652 Author: Jeff Dike Date: Mon Feb 4 22:31:19 2008 -0800 uml: DEBUG_SHIRQ fixes A couple more DEBUG_SHIRQ fixes. The previous mconsole blocking fix exposed the lack of O_NONBLOCK on the mconsole socket. Also, winch_interrupt started crashing because it is called at irq free time and it tries to dereference tty->driver_data, which has already been set to NULL. I added some error cleanup in mconsole_init while I was there. Cc: "Karol Swietlicki" Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 83380cc1c9694a05bcdb7c95d293e99d3475d906 Author: Jeff Dike Date: Mon Feb 4 22:31:18 2008 -0800 uml: remove fakehd The fakehd switch lost its implementation at some point. Since no one is screaming for it, we might as well remove it. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf53d85ec20c228e0efdadbdb12c0f92283fcfd0 Author: Jeff Dike Date: Mon Feb 4 22:31:18 2008 -0800 uml: implement O_APPEND The .a flags in openflags never had an implementation. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 80e39311ff3d7d2267ea8d259aab8dc9d5a59d61 Author: Jeff Dike Date: Mon Feb 4 22:31:17 2008 -0800 uml: SMP locking commentary Add some more commentary about various pieces of global data not needing locking. Also got rid of unmap_physmem since that is no longer used. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a24ebf0cb2ca44fdcdb5cae9ed2e778e5170f97 Author: Jeff Dike Date: Mon Feb 4 22:31:16 2008 -0800 uml: remove init_irq_signals init_irq_signals doesn't need to be called from the context of a new process. It initializes handlers, which are useless in process context. With that call gone, init_irq_signals has only one caller, so it can be inlined into init_new_thread_signals. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cfef8f34e7cf57f3d278ceda79c85112dec13dc6 Author: Jeff Dike Date: Mon Feb 4 22:31:16 2008 -0800 uml: signal handling tidying This patch tidies the signal handling code slightly. pending is renamed to signals_pending for symmetry with signals_enabled. remove_sigstack was unused, so can be deleted. The value of change_sig was never used, so it is now void and the return value is not calculated any more. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7b88513c504e49d450b0f89f80ba9d451a3c804 Author: Dominique Quatravaux Date: Mon Feb 4 22:31:15 2008 -0800 uml: fix hostfs tv_usec calculations To convert from tv_nsec to tv_usec, one needs to divide by 1000, not multiply. Signed-off-by: Dominique Quatravaux Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c5d4bb171cab17576779a51d23d313abcb3db102 Author: Jeff Dike Date: Mon Feb 4 22:31:14 2008 -0800 uml: style fixes in arch/um/kernel Joe Perches noticed some printks in smp.c that needed fixing. While I was in there, I did the usual tidying in arch/um/kernel, which should be fairly style-clean at this point: copyright updates emacs formatting comments removal include tidying style fixes Cc: Joe Perches Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e6a2d1f7024f93e4622cd7ba633666a63ccce49e Author: Jeff Dike Date: Mon Feb 4 22:31:13 2008 -0800 uml: clean up sig_handler_common_skas sig_handler_common_skas needs significant modernization, starting with its name and storage class. There is no need to hide the true type of the sigcontext pointer, so the void * dummy parameter can be replaced with a sigcontext *sc. The array of uml_pt_regs structs used in the page fault case are gone, replaced by a local variable. This is also used in the non-segfault case instead of the copy in the task_struct. Since it's local, the special handling of the is_user flag can go away. There hasn't been any special treatment of SIGUSR1 in ages, so the line that enables it can be deleted. The special treatment of SIGSEGV similarly goes away, but to compensate, SA_NODEFER is added to sa_mask when registering a signal handler. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 75ada8ffe08cef9b506a796ba6f9ce2071dcf0d7 Author: Jeff Dike Date: Mon Feb 4 22:31:12 2008 -0800 uml: move sig_handler_common_skas This patch moves sig_handler_common_skas from arch/um/os-Linux/skas/trap.c to its only caller in arch/um/os-Linux/signal.c. trap.c is now empty, so it can be removed. This is code movement only - the significant cleanup needed here is done in the next patch. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e06173bde0ec9830a296720f8cd7cb2f17b76fa4 Author: Jeff Dike Date: Mon Feb 4 22:31:12 2008 -0800 uml: don't allow processes to call into stub Kill a process that tries to branch into a stub and execute a system call. There are no security implications here - a system call in a stub is treated the same as a system call anywhere else. But if a process is trying to branch into a stub, either it is trying something nasty or it has gone haywire, so it's a good idea to get rid of it in either case. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a9b71b6c5473d2c1526deac0a1a207fe476f6088 Author: Jeff Dike Date: Mon Feb 4 22:31:11 2008 -0800 uml: get rid of syscall counters Get rid of some syscall counters which haven't been useful in ages. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00a905e6145ba200308a6a13e00248b85c600bd0 Author: Jeff Dike Date: Mon Feb 4 22:31:10 2008 -0800 uml: don't kill pid 0 A bit of defensive programming - during development, it ocassionally happens that a call to init_new_context is missed, resulting in context holding a host pid of zero. When that address space is torn down, destroy_context does a kill(0), which instantly kills the whole UML without any errors whatsoever. This patch add a check for pids less than 2, to also catch 1 and negative pids. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1aa351a308d2c3ddb92b6cc45083fc54271d0010 Author: Jeff Dike Date: Mon Feb 4 22:31:10 2008 -0800 uml: tidy helper code Style fixes to arch/um/os/helper.c and tidying up the breakpoint fix a bit. helper.c gets all the usual style fixes - updated copyright all printks get severities Also - errval changes to err in helper_child fixed an obsolete comment run_helper was killing a child process which is guaranteed to be dead or dying anyway Removed the nohang and pname arguments from helper_wait and fixed the declaration and callers. nohang was used only in the slirp driver and I don't think it was needed. I think pname was a bit of overkill in putting out an error message when something goes wrong. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fce8c41c9f68b9af36f3076bae8f1d469a6e7aab Author: Jeff Dike Date: Mon Feb 4 22:31:09 2008 -0800 uml: use barrier() instead of mb() signals_enabled and pending have requirements on the order in which they are modified. This used to be done by declaring them volatile and putting an mb() where the ordering requirements were in effect. After getting a better (I hope) understanding of how to do this correctly, the volatile declarations are gone and the mb()'s replaced by barrier()'s. One of the mb()'s was deleted because I see no problematic writes that could be re-ordered past that point. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0983a88b9f0ceffb2116ce92c7b273ce2aec7b93 Author: Jeff Dike Date: Mon Feb 4 22:31:08 2008 -0800 uml: install panic notifier earlier It turns out that if there's a panic early enough, UML will just sit there in the LED-blinking loop because the panic notifier hadn't been installed yet. This patch installs it earlier. It also fixes the problem which exposed the hang, namely that if you give UML a zero-sized initrd, it will ask alloc_bootmem for zero bytes, and that will cause the panic. While I was in initrd.c, I gave it a style makeover. Prompted by checkpatch, I moved a couple extern declarations of uml_exitcode to kern_util.h. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8efa3c9d545ab6adc5c5e001cbd7aee60909b3da Author: Jeff Dike Date: Mon Feb 4 22:31:07 2008 -0800 uml: eliminate setjmp_wrapper setjmp_wrapper existed to provide setjmp to kernel code when UML used libc's setjmp and longjmp. Now that UML has its own implementation, this isn't needed and kernel code can invoke setjmp directly. do_buffer_op is massively cleaned up since it is no longer a callback from setjmp_wrapper and given a va_list from which it must extract its arguments. The actual setjmp is moved from buffer_op to do_op_one_page because the copy operation is inside an atomic section (kmap_atomic to kunmap_atomic) and it shouldn't be longjmp-ed out of. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b4e273fb83bce5dd8e166a4defb16ebdd215abf Author: Jeff Dike Date: Mon Feb 4 22:31:07 2008 -0800 uml: customize tlb.h Customize the hooks in tlb.h to optimize TLB flushing some more. Add start and end fields to tlb_gather_mmu, which are used to limit the address space range scanned when a region is unmapped. The interfaces which just free page tables, without actually changing mappings, don't need to cause a TLB flush. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 909e90d3c410b684e564729145f7c20dad887757 Author: Jeff Dike Date: Mon Feb 4 22:31:06 2008 -0800 uml: 64-bit tlb fixes Some 64-bit tlb fixes - moved pmd_page_vaddr to pgtable.h since it's the same for both 2-level and 3-level page tables fixed a bogus cast on pud_page_vaddr made the address checking in update_*_range more careful Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1adfd6095e1c654dce5a692db5aa5a2b2a8d6b0d Author: Jeff Dike Date: Mon Feb 4 22:31:05 2008 -0800 uml: style fixes in file.c arch/um/os-Linux/file.c needed some style work - updated the copyright cleaned up the includes CodingStyle fixes added some missing CATCH_EINTRs os_set_owner was unused, so it is gone all printks now have severities fcntl(F_GETFL) was being called without checking the return removed an obsolete comment Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf8fde785b872282e7e86d9ea8a9c4e543985bb3 Author: Jeff Dike Date: Mon Feb 4 22:31:04 2008 -0800 uml: miscellaneous code cleanups Code tidying - the pid field of struct irq_fd isn't used, so it is removed os_set_fd_async needed to read flags before changing them, it doesn't need a pid passed in because it can call getpid itself, and a block of unused code needed deleting os_get_exec_close was unused, so it is removed ptrace_child called _exit for historical reasons which are no longer valid, so just calls exit instead Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b5cc6ee6cf9001775c348bac09814a45f1276b7 Author: Karol Swietlicki Date: Mon Feb 4 22:31:04 2008 -0800 uml: fix mconsole stop Bring back the functionality of stopping user mode linux with the help of mconsole. [jdike - the bug being fixed is that the mconsole file descriptor is already set O_NONBLOCK or not, depending on whether we want no blocking (the normal case) or we want blocking (when an mconsole stop is in effect), so the MSG_DONTWAIT is redundant in the normal case, and wrong when we want to block.] Signed-off-by: Karol Swietlicki Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2dc5802a22d68d83ef4c3d616912949a6527bb65 Author: Karol Swietlicki Date: Mon Feb 4 22:31:03 2008 -0800 uml: remove duplicate config symbol and unused file and variables Fix the repetition of the NET symbol. It was once in UML specific options and once in networking. I removed the first occurrence, as it makes more sense to me to keep it only in networking. It also removes a mostly empty file which is not used anymore and some unused variables. Signed-off-by: Karol Swietlicki Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fee64d3c153f1d5c28f91214b4d0db54d3f1fe0a Author: Jeff Dike Date: Mon Feb 4 22:31:02 2008 -0800 uml: syle fixes in arch/um/os-Linux Style fixes in arch/um/os-Linux/irq.c and arch/um/os-Linux/sigio.c: Updated copyrights trimmed includes added severity indicators to printks CodingStyle fixes turned an bunch of panics into printks call some libc functions directly instead of going through the os_* wrappers Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 260c0cb886c304b760835b6033bf876a7701eb91 Author: Jeff Dike Date: Mon Feb 4 22:31:02 2008 -0800 uml: fx command-line CFLAGS and LDFLAGS support UML still needed some work in order to allow CFLAGS to be passed in from the command line. USER_CFLAGS is produced from KBUILD_CFLAGS in part by removing all the -I switches. This is so that kernel headers don't accidentally get pulled into libc files. However, a common use of command-line CFLAGS would be to add -I switches to the build. This patch specifically adds any command-line -I flags back to USER_CFLAGS. I also corrected the spelling of LFLAGS to LDFLAGS. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3963333fe6767f15141ab2dc3b933721c636c212 Author: Jeff Dike Date: Mon Feb 4 22:31:01 2008 -0800 uml: cover stubs with a VMA Give the stubs a VMA. This allows the removal of a truly nasty kludge to make sure that mm->nr_ptes was correct in exit_mmap. The underlying problem was always that the stubs, which have ptes, and thus allocated a page table, weren't covered by a VMA. This patch fixes that by using install_special_mapping in arch_dup_mmap and activate_context to create the VMA. The stubs have to be moved, since shift_arg_pages seems to assume that the stack is the only VMA present at that point during exec, and uses vma_adjust to fiddle its VMA. However, that extends the stub VMA by the amount removed from the stack VMA. To avoid this problem, the stubs were moved to a different fixed location at the start of the address space. The init_stub_pte calls were moved from init_new_context to arch_dup_mmap because I was occasionally seeing arch_dup_mmap not being called, causing exit_mmap to die. Rather than figure out what was really happening, I decided it was cleaner to just move the calls so that there's no doubt that both the pte and VMA creation happen, no matter what. arch_exit_mmap is used to clear the stub ptes at exit time. The STUB_* constants in as-layout.h no longer depend on UM_TASK_SIZE, that that definition is removed, along with the comments complaining about gcc. Because the stubs are no longer at the top of the address space, some care is needed while flushing TLBs. update_pte_range checks for addresses in the stub range and skips them. flush_thread now issues two unmaps, one for the range before STUB_START and one for the range after STUB_END. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42a2b54ce8c7b9d4f418995a7950e7e2e15e52ce Author: Jeff Dike Date: Mon Feb 4 22:31:00 2008 -0800 uml: clean up TASK_SIZE usage Clean up the calculation and use of the usable address space size on the host. task_size is gone, replaced with TASK_SIZE, which is calculated from CONFIG_TOP_ADDR. get_kmem_end and set_task_sizes_skas are also gone. host_task_size, which refers to the entire address space usable by the UML kernel and which may be larger than the address space usable by a UML process, since that has to end on a pgdir boundary, is replaced by CONFIG_TOP_ADDR. STACK_TOP is now TASK_SIZE minus the two stub pages. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b7c000cbc4f1fa7b82efa95b34f00c2adbeaa3fe Author: Joe Perches Date: Mon Feb 4 22:30:59 2008 -0800 uml: add missing space Add missing space between merged string constants. Signed-off-by: Joe Perches Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e6f2ac480ce398ade2fd6b5e02d00d1265f1e0f Author: Jeff Dike Date: Mon Feb 4 22:30:58 2008 -0800 uml: kill processes instead of panicing kernel UML was panicing in the case of failures of libc calls which shouldn't happen. This is an overreaction since a failure from libc doesn't normally mean that kernel data structures are in an unknown state. Instead, the current process should just be killed if there is no way to recover. The case that prompted this was a failure of PTRACE_SETREGS restoring the same state that was read by PTRACE_GETREGS. It appears that when a process tries to load a bogus value into a segment register, it segfaults (as expected) and the value is actually loaded and is seen by PTRACE_GETREGS (not expected). This case is fixed by forcing a fatal SIGSEGV on the process so that it immediately dies. fatal_sigsegv was added for this purpose. It was declared as noreturn, so in order to pursuade gcc that it actually does not return, I added a call to os_dump_core (and declared it noreturn) so that I get a core file if somehow the process survives. All other calls in arch/um/os-Linux/skas/process.c got the same treatment, with failures causing the process to die instead of a kernel panic, with some exceptions. userspace_tramp exits with status 1 if anything goes wrong there. That will cause start_userspace to return an error. copy_context_skas0 and map_stub_pages also now return errors instead of panicing. Callers of thes functions were changed to check for errors and do something appropriate. Usually that's to return an error to their callers. check_skas3_ptrace_faultinfo just exits since that's too early to do anything else. save_registers, restore_registers, and init_registers now return status instead of panicing on failure, with their callers doing something appropriate. There were also duplicate declarations of save_registers and restore_registers in os.h - these are gone. I noticed and fixed up some whitespace damage. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d25f2e1235aab716c9fd6ba36c42503627a3a0e3 Author: Jeff Dike Date: Mon Feb 4 22:30:57 2008 -0800 uml: use ptrace directly in libc code Some register accessor cleanups - userspace() was calling restore_registers and save_registers for no reason, since userspace() is on the libc side of the house, and these add no value over calling ptrace directly init_thread_registers and get_safe_registers were the same thing, so init_thread_registers is gone Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee3d9bd4de1ed93d2a7ee41c331ed30a1c7b8acd Author: Jeff Dike Date: Mon Feb 4 22:30:56 2008 -0800 uml: simplify SIGSEGV handling Simplify the page fault stub by not masking signals while it is running. This allows it to signal that it is done by executing an instruction which will generate a SIGTRAP (int3 on x86) rather than running sigreturn by hand after queueing a blocked SIGUSR1. userspace_tramp now no longer puts anything in the SIGSEGV sa_mask, but it does add SA_NODEFER to sa_flags so that SIGSEGV is still enabled after the signal handler fails to run sigreturn. SIGWINCH is just blocked so that we don't have to deal with it and the signal masks used by wait_stub_done are updated to reflect the smaller number of signals that it has to worry about. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ca77b555c0aafa3070fbb67592abaaa1b8d31913 Author: Jeff Dike Date: Mon Feb 4 22:30:55 2008 -0800 uml: add virt_to_pte Turn um_virt_to_phys into virt_to_pte, cleaning up a horrid interface. It's also made non-static and declared in pgtable.h because it'll be needed when the stubs get a vma. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 655e4ed0c521dcfdbf1c5a79da971560e6733527 Author: Jeff Dike Date: Mon Feb 4 22:30:55 2008 -0800 uml: fix page table data sizes Get the sizes of various pieces of data right when using three-level page tables. pgd and pmd entries remain at 32 bits in a 32-bit compilation because page tables will remain in low memory. So, PGDIR_SHIFT, the PTRS_PER_* values, set_pud, set_pmd are conditional on 64BIT. More use of phys_t is made when there are physical memory addresses floating around. ObCheckpatchViolationJustification - the new typedef is an alternate definition of pmd_t, which I can't really live without. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5a678c80beac4d163babda243a27eeb9c89bd89 Author: Jeff Dike Date: Mon Feb 4 22:30:54 2008 -0800 uml: current.h cleanup Tidy current-related stuff. There was a comment in current.h saying that current_thread was obsolete, so this patch turns all instances of current_thread into current_thread_info(). There's some simplifying of the result in arch/um/sys-i386/signal.c. current.h and thread_info also get style cleanups. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 009ec2a915ba52f6b647c4076f4a2e259cba85aa Author: Jeff Dike Date: Mon Feb 4 22:30:53 2008 -0800 uml: style cleanup Style fixes in elf-i386.h and arch/um/kernel/mem.c. update the copyright get rid of an emacs formatting comment some formatting fixes inclusion trimming whitespace fixes Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8192ab42bf60e1e9b7efa046990e9cc5e4a95cf4 Author: Jeff Dike Date: Mon Feb 4 22:30:53 2008 -0800 uml: header untangling Untangle UML headers somewhat and add some includes where they were needed explicitly, but gotten accidentally via some other header. arch/um/include/um_uaccess.h loses asm/fixmap.h because it uses no fixmap stuff and gains elf.h, because it needs FIXADDR_USER_*, and archsetjmp.h, because it needs jmp_buf. pmd_alloc_one is uninlined because it needs mm_struct, and that's inconvenient to provide in asm-um/pgtable-3level.h. elf_core_copy_fpregs is also uninlined from elf-i386.h and elf-x86_64.h, which duplicated the code anyway, to arch/um/kernel/process.c, so that the reference to current_thread doesn't pull sched.h or anything related into asm/elf.h. arch/um/sys-i386/ldt.c, arch/um/kernel/tlb.c and arch/um/kernel/skas/uaccess.c got sched.h because they dereference task_structs. Its includes of linux and asm headers got turned from "" to <>. arch/um/sys-i386/bug.c gets asm/errno.h because it needs errno constants. asm/elf-i386 gets asm/user.h because it needs user_regs_struct. asm/fixmap.h gets page.h because it needs PAGE_SIZE and PAGE_MASK and system.h for BUG_ON. asm/pgtable doesn't need sched.h. asm/processor-generic.h defined mm_segment_t, but didn't use it. So, that definition is moved to uaccess.h, which defines a bunch of mm_segment_t-related stuff. thread_info.h uses mm_segment_t, and includes uaccess.h, which causes a recursion. So, the definition is placed above the include of thread_info. in uaccess.h. thread_info.h also gets page.h because it needs PAGE_SIZE. ObCheckpatchViolationJustification - I'm not adding a typedef; I'm moving mm_segment_t from one place to another. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9157f90f08f7db3188cd06971f41cb2ba5646e57 Author: Jeff Dike Date: Mon Feb 4 22:30:52 2008 -0800 uml: move um_virt_to_phys This patchset makes UML build and run with three-level page tables on 32-bit hosts. This is an uncommon use case, but the code here needed fixing and cleaning up, so 32-bit three-level pages tables were tested to make sure the changes are good. Patch 1 - code movement Patch 2 - header untangling Patch 3 - style fixups in files affected so far Patch 4 - clean up use of current.h Patch 5 - fix sizes of types that are different between 2 and 3-level page tables - three-level page table support should build at this point Patch 6 - tidy (i.e. eliminate much of) the code that figures out how big the address space is Patch 7 - change um_virt_to_phys into virt_to_pte, clean its interface, and clean its (so far) one caller Patch 8 - the stub pages are covered with a VMA, allowing some nasty code to be thrown out - three-level page tables now work This patch: um_virt_to_phys only has one user, so it can be moved to the same file and made static. Its declarations in pgtable.h and ksyms.c are also gone. current_cmd was another apparent user, but it itself isn't used, so it is deleted. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b8bec829c90d45a2d115a52f3a928ce841afc3d4 Author: Jeff Dike Date: Mon Feb 4 22:30:51 2008 -0800 uml: host TLS diagnostics Add some diagnostics when TLS operations on the host fail. Also spit out more information about the TLS environment on the host at boot time. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b7e967484f4197d799e14b844b78118e93192c6 Author: Karol Swietlicki Date: Mon Feb 4 22:30:50 2008 -0800 uml: convert functions to void This patch changes a few functions into returning void. The return values were not used anyway, so I think it should not be a problem. Also removed a little leftover bit from TT mode. Signed-off-by: Karol Swietlicki Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 291248fd6e371bcbfb8a77689c5d741a1527488f Author: Karol Swietlicki Date: Mon Feb 4 22:30:49 2008 -0800 uml: remove unused variables in the context switcher This patch removes a variable which was not used in two functions. Yet another code cleanup, nothing really significant. Please note that I could not test this on x86_64. I don't have the hardware for it. [ jdike - Bits of tidying around the affected code. Also, it's fine on x86_64 ] Signed-off-by: Karol Swietlicki Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ab8cda4347e2ffed658e522c9398932509c278bd Author: Lucas Woods Date: Mon Feb 4 22:30:49 2008 -0800 arch/um: remove duplicate includes Signed-off-by: Lucas Woods Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8299ca5ce10c9532848bd2e5526ba975f8d80d1d Author: Jeff Dike Date: Mon Feb 4 22:30:48 2008 -0800 uml: reconst a parameter The previous const-ing patch consted a string which shouldn't have been, and I didn't notice the gcc warning. ubd_setup can't take a const char * because its address is assigned to something which expects a char *arg. Many setups modify the string they are given, they can't be const. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 300ecf59c0ca2c09fb7fde7dff986a7306e95361 Author: Jeff Dike Date: Mon Feb 4 22:30:47 2008 -0800 UML - Fix build in 2.6.24-rc2-mm1 The earlier pgtable.h tidying patch made things a bit too tidy. Add back a header which is needed in VMALLOC_START and friend. Also add back a definition of pmd_page_vaddr, which is needed on x86_64. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d83ecf083a2163705f5ebcede4637a955eb7b964 Author: Jeff Dike Date: Mon Feb 4 22:30:47 2008 -0800 uml: tidy pgtable.h Large pieces of include/asm/pgtable.h were unused cruft. This uncovered arch/um/kernel/trap.c needing skas.h in order to get ptrace_faultinfo. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit edea138584d7586a3b93b6d5ab5ec021d18e11e9 Author: Jeff Dike Date: Mon Feb 4 22:30:46 2008 -0800 uml: tidy kern_util.h Tidy kern_util.h. It turns out that most of the function declarations aren't used, so they can go away. os.h no longer includes kern_util.h, so files which got it through os.h now need to include it directly. A number of other files never needed it, so these includes are deleted. The structure which was used to pass signal handlers from the kernel side to the userspace side is gone. Instead, the handlers are declared here, and used directly from libc code. This allows arch/um/os-Linux/trap.c to be deleted, with its remnants being moved to arch/um/os-Linux/skas/trap.c. arch/um/os-Linux/tty.c had its inclusions changed, and it needed some style attention, so it got tidied. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ba7fe03b638a084a4e15e21d2e585ba321ad9c8 Author: Jeff Dike Date: Mon Feb 4 22:30:45 2008 -0800 uml: allow LFLAGS on command line Allow LFLAGS to be given to make and have the expected effect. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e725a9b0f5db0fa511d7667da6c4bfb1a6d3c7e4 Author: Jeff Dike Date: Mon Feb 4 22:30:44 2008 -0800 uml: delete some unused headers Robert Day noticed a few unused headers in UML, so this gets rid of them. Cc: "Robert P. J. Day" Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4bdf8bc4a15d4540d71db9fa01955db5edcf89ec Author: Jeff Dike Date: Mon Feb 4 22:30:44 2008 -0800 uml: borrow const.h techniques Suggested by Geert Uytterhoeven - use const.h to get constants that are usable in both C and assembly. I can't include it directly since this code can't include kernel headers. const.h is also for numeric constants that can be typed by tacking a "UL" or similar on the end. The constants here have to be typed by casting them. So, the relevant parts of const.h are copied here and modified in order to allow the constants to be uncasted in assembly and casted in C. Signed-off-by: Jeff Dike Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee56314b79039b669396ee04aac3e342cd2e5a1f Author: Jeff Dike Date: Mon Feb 4 22:30:43 2008 -0800 uml: clone.c tidying clone.c needed some style attention - updated copyright include trimming coding style Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit acb2cf34cf624b9b3ab20c2c83543146128a4dad Author: Jeff Dike Date: Mon Feb 4 22:30:42 2008 -0800 uml: console driver cleanups Console driver cleanups - Changed an instance of foo = bar + foo to foo += bar Removed checks of tty->stopped - I don't think the low-level driver has any business looking at that Removed an annoying warning Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 054211acad0cb911177507a039d8e7a25bff084d Author: Karol Swietlicki Date: Mon Feb 4 22:30:42 2008 -0800 uml: GPROF needs to depend on FRAME_POINTER This is a short Kconfig fix for a problem in User Mode Linux. Frame pointers are required for gprof support to work. Signed-off-by: Karol Swietlicki Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02bff1f091db446b07a9275cbcd048264dcf2260 Author: Jeff Dike Date: Mon Feb 4 22:30:41 2008 -0800 uml: SMP needs to depend on BROKEN for now SMP still needs to depend on BROKEN for now. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c0a9290ecf0dbb89958cb3a3f78964015a7de402 Author: WANG Cong Date: Mon Feb 4 22:30:41 2008 -0800 uml: const and other tidying This patch also does some improvements for uml code. Improvements include dropping unnecessary cast, killing some unnecessary code and still some constifying for pointers etc.. Signed-off-by: WANG Cong Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9226b8384776798986640ce07764d17ba66aa54f Author: Jeff Dike Date: Mon Feb 4 22:30:40 2008 -0800 uml: further bugs.c tidying bugs.c, for both i386 and x86_64, can undergo further cleaning - The i386 arch_check_bugs only does one thing, so we might as well inline the cmov checking. The i386 includes can be trimmed down a bit. arch_init_thread wasn't used, so it is deleted. The panics in arch_handle_signal are turned into printks because the process is about to get segfaulted anyway, so something is dying no matter what happens here. Also, the return value was always the same, so it contained no information, so it can be void instead. The name is changed to arch_examine_signal because it doesn't handle anything. The caller of arch_handle_signal, relay_signal, does things in a different order. The kernel-mode signal check is now first, which puts everything else together, making things a bit clearer conceptually. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06d9bd3ad6da2422f838fd11d5d5348fa579bdb2 Author: Karol Swietlicki Date: Mon Feb 4 22:30:39 2008 -0800 uml: remove now unused code This patch finishes what the previous one started. The code was not used after my first patch, and now can be removed with ease. [ jdike - also deleted the #if 0 lcall stuff ] Signed-off-by: Karol Swietlicki Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 235a6f06eb5571db600a743cda7c73fd4f74127f Author: Karol Swietlicki Date: Mon Feb 4 22:30:38 2008 -0800 uml: improve detection of host cmov This patch introduces a new way of checking for the cmov instruction. I use signal handling instead of reading /proc/cpuinfo. [ jdike - Fiddled the asm to make it obvious that it didn't mess with any in-use registers and made test_for_host_cmov void ] [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Karol Swietlicki Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ba9d3f91d213f6d07c84230a0b3e2b16a0bb176 Author: Karol Swietlicki Date: Mon Feb 4 22:30:38 2008 -0800 uml: fix URLs in Kconfig and help strings This patch updates links which broke during the transition to the new UML website. Signed-off-by: Karol Swietlicki Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20ede453af796bbaaf46a2bb0ee0bcc90ab505b3 Author: Jeff Dike Date: Mon Feb 4 22:30:37 2008 -0800 uml: document new ubd flag The ubd help message didn't document the 'c' flag. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2cf770758cfd9dceb62afcb86e56e96ff37234a Author: Jeff Dike Date: Mon Feb 4 22:30:37 2008 -0800 uml: get rid of asmlinkage Get rid of asmlinkage and remove some old cruft from asm/linkage.h. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c11274655558e72d8d4a598c0077874c094d97d5 Author: Jeff Dike Date: Mon Feb 4 22:30:36 2008 -0800 uml: implement get_wchan Implement get_wchan - the algorithm is similar to x86. It starts with the stack pointer of the process in question and looks above that for addresses that are kernel text. The second one which isn't in the scheduler is the one that's returned. The first one is ignored because that will be UML's own context switching routine. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9a3072d13e4b8a6549ecc1db6390a55c7ee2ddf Author: WANG Cong Date: Mon Feb 4 22:30:35 2008 -0800 uml: code tidying under arch/um/os-Linux This patch contains varied fixes and improvements for some files under arch/um/os-Linux/, such as a typo fix in a perror message, a missing argument fix for a printf, some constifying for pointers and so on. [ jdike - made sigprocmask failure return -errno instead of -1 ] Signed-off-by: WANG Cong Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d18de45fa921600e1b3770c3a7cb106ab48cd9d Author: Karol Swietlicki Date: Mon Feb 4 22:30:35 2008 -0800 uml: remove xmm checking on x86 This patch removes some code which ran at every boot, but does not seem to do anything anymore. Please test. It works for me but mistakes can happen. Signed-off-by: Karol Swietlicki Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99c9f502cb3498b02b1e5df60c9ea0ee2e535373 Author: Jeff Dike Date: Mon Feb 4 22:30:34 2008 -0800 uml: arch/um/include/init.h needs a definition of __used init.h started breaking now for some reason. It turns out that there wasn't a definition of __used. Fixed this by copying the relevant stuff from compiler.h in the userspace case, and including compiler.h in the kernel case. [xiyou.wangcong@gmail.com: added definition of __section] Signed-off-by: Jeff Dike Cc: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 747646a4d9d9ddfc7952f8c6d25ea1f323e689a0 Author: Jesper Nilsson Date: Mon Feb 4 22:30:33 2008 -0800 cris: remove unused __dummy, CONST_ADDR and ADDR from bitops.h This is very old code, it hasn't changed since 2001 and it is not used anywhere. Noticed by Clemens Koller. Signed-off-by: Jesper Nilsson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d9f4c5cfb6084c16a800e8a2ca9db8d0859611c Author: Julia Lawall Date: Mon Feb 4 22:30:32 2008 -0800 arch/cris: add a missing iounmap An extra error handling label is needed for the case where the ioremap has succeeded. The problem was detected using the following semantic match (http://www.emn.fr/x-info/coccinelle/) // @@ type T,T1,T2; identifier E; statement S; expression x1,x2; constant C; int ret; @@ T E; ... * E = ioremap(...); if (E == NULL) S ... when != iounmap(E) when != if (E != NULL) { ... iounmap(E); ...} when != x1 = (T1)E if (...) { ... when != iounmap(E) when != if (E != NULL) { ... iounmap(E); ...} when != x2 = (T2)E ( * return; | * return C; | * return ret; ) } // Signed-off-by: Julia Lawall Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d33d563b1e2b4748c585e3169f46481e897c829 Author: Jesper Nilsson Date: Mon Feb 4 22:30:31 2008 -0800 CRIS: avoid using arch links in Kconfig Improve including of architecture dependent Kconfig files. - Always include the architecture dependent Kconfig files. - Wrap architecture dependent Kconfig files inside an appropriate "if ETRAX_ARCH_Vxx" block. This makes it possible to run the configuration even without the arch links, which are created later in the build process. Signed-off-by: Jesper Nilsson Acked-by: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e02dbf7249b1eadeb8b225f1af98701cd1320cc Author: Stanislav Brabec Date: Mon Feb 4 22:30:30 2008 -0800 mac68k: remove dead MAC_ADBKEYCODES It seems, that current kernel source code contains no traces of MAC_ADBKEYCODES and no reference to keyboard_sends_linux_keycodes any more. Remove them from configuration files. Signed-off-by: Stanislav Brabec Signed-off-by: Geert Uytterhoeven Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57dfee7c3f1fcac24e986b69bdfdccc8ea025813 Author: Finn Thain Date: Mon Feb 4 22:30:30 2008 -0800 mac68k: add nubus card definitions and a typo fix Add some new card definitions and fix a typo (from Eugen Paiuc). Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00bf59ca9bfe4085e6ee546128a71b82d061ab04 Author: Finn Thain Date: Mon Feb 4 22:30:29 2008 -0800 mac68k: remove dead code Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb4da4cec30309e3b3d584616e32318cc8f6d63c Author: Finn Thain Date: Mon Feb 4 22:30:27 2008 -0800 mac68k: macii adb comment correction Corrects a mistake I made in a comment. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 612e484fdb8802ffee84218cb35f3cff61a9c8c6 Author: Adrian Bunk Date: Mon Feb 4 22:30:27 2008 -0800 m68k: kill arch/m68k/mvme16x/mvme16x_ksyms.c EXPORT_SYMBOL's belong to the actual code. Signed-off-by: Adrian Bunk Signed-off-by: Geert Uytterhoeven Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3b2004a2671455ee7aef1d9aee5a24381999ddb Author: Adrian Bunk Date: Mon Feb 4 22:30:26 2008 -0800 m68k: kill arch/m68k/atari/atari_ksyms.c EXPORT_SYMBOL's belong to the actual code. Signed-off-by: Adrian Bunk Signed-off-by: Geert Uytterhoeven Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b169fa2c942bc2a579da3f33986bd3fc48d9684 Author: Adrian Bunk Date: Mon Feb 4 22:30:25 2008 -0800 m68k: kill arch/m68k/amiga/amiga_ksyms.c EXPORT_SYMBOL's belong to the actual code. Signed-off-by: Adrian Bunk Signed-off-by: Geert Uytterhoeven Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3456fef5d988e9014cd318a3ae7991c9a03c8cf2 Author: Adrian Bunk Date: Mon Feb 4 22:30:25 2008 -0800 m68k: kill arch/m68k/hp300/ksyms.c It was empty. Signed-off-by: Adrian Bunk Signed-off-by: Geert Uytterhoeven Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit deea7775e2ae460aace0bf7b5bb2ff3b412017f1 Author: Adrian Bunk Date: Mon Feb 4 22:30:24 2008 -0800 m68k: kill arch/m68k/mac/mac_ksyms.c EXPORT_SYMBOL's belong to the actual code. Signed-off-by: Adrian Bunk Signed-off-by: Geert Uytterhoeven Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99ffab81071b7088ddebd4be9bbf1ad03c2a9e98 Author: Adrian Bunk Date: Mon Feb 4 22:30:23 2008 -0800 nubus: kill drivers/nubus/nubus_syms.c nubus: kill drivers/nubus/nubus_syms.c EXPORT_SYMBOL's belong to the actual code. Signed-off-by: Adrian Bunk Signed-off-by: Geert Uytterhoeven Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96762379915f0c46bfac566038e66dee3dd0e7b5 Author: Roel Kluin <12o3l@tiscali.nl> Date: Mon Feb 4 22:30:22 2008 -0800 m68k: Balance ioremap and iounmap in m68k/atari/hades-pci.c Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Geert Uytterhoeven Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a8320b04c0762a1c65b5800b84023b454c2da54 Author: Alejandro Martinez Ruiz Date: Mon Feb 4 22:30:19 2008 -0800 dio: ARRAY_SIZE() cleanup [Geert: eliminate NUMNAMES, as suggested by Richard Knutsson ] [akpm@linux-foundation.org: coding-syle fixes] Signed-off-by: Alejandro Martinez Ruiz Signed-off-by: Geert Uytterhoeven Cc: Richard Knutsson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b9e5e119fd9905c2a06f73a96f9c18aa760a8a65 Author: Alejandro Martinez Ruiz Date: Mon Feb 4 22:30:17 2008 -0800 m68k: ARRAY_SIZE() cleanup Signed-off-by: Alejandro Martinez Ruiz Signed-off-by: Geert Uytterhoeven Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f7127db311fe3e0ea6a2a332833f85abab6cb4b Author: Geert Uytterhoeven Date: Mon Feb 4 22:30:17 2008 -0800 m68k: Use cc-cross-prefix The cc-cross-prefix is new and developed on request from Geert Uytterhoeven. With cc-cross-prefix it is now much easier to have a few default cross compile prefixes and defaulting to none - if none of them were present. ARCH maintainers are expected to pick up this feature soon. Signed-off-by: Geert Uytterhoeven Cc: Andreas Schwab Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3506e0c49a5ceba72c0405d1a470184c2d6705f7 Author: Rafael J. Wysocki Date: Mon Feb 4 22:30:15 2008 -0800 b43: avoid unregistering device objects during suspend Modify the b43 driver to avoid deadlocking suspend and resume, which happens as a result of attempting to unregister device objects locked by the PM core during suspend/resume cycles. Also, make it use a suspend-safe method of unregistering device object in the resume error path. Signed-off-by: Rafael J. Wysocki Acked-by: Michael Buesch Cc: Pavel Machek Cc: "John W. Linville" Cc: Alan Stern Cc: Len Brown Cc: Greg KH Cc: Kay Sievers Cc: Richard Purdie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fa23f5cce8cda2095013afc837ccf74b352f9f7b Author: Rafael J. Wysocki Date: Mon Feb 4 22:30:14 2008 -0800 leds: add possibility to remove leds classdevs during suspend/resume Make it possible to unregister a led classdev object in a safe way during a suspend/resume cycle. Signed-off-by: Rafael J. Wysocki Cc: Michael Buesch Cc: Pavel Machek Cc: "John W. Linville" Cc: Alan Stern Cc: Len Brown Cc: Greg KH Cc: Kay Sievers Cc: Richard Purdie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a41e3dc4060cca2599afa14fbd4c745763746ba8 Author: Rafael J. Wysocki Date: Mon Feb 4 22:30:13 2008 -0800 HWRNG: add possibility to remove hwrng devices during suspend/resume Make it possible to unregister a Hardware Random Number Generator device object in a safe way during a suspend/resume cycle. Signed-off-by: Rafael J. Wysocki Acked-by: Michael Buesch Cc: Michael Buesch Cc: Pavel Machek Cc: "John W. Linville" Cc: Alan Stern Cc: Len Brown Cc: Greg KH Cc: Kay Sievers Cc: Richard Purdie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 533354d4ac48b7df99f18f952e5d51c3f59ba56c Author: Rafael J. Wysocki Date: Mon Feb 4 22:30:11 2008 -0800 Misc: Add possibility to remove misc devices during suspend/resume Make it possible to unregister a misc device object in a safe way during a suspend/resume cycle. Signed-off-by: Rafael J. Wysocki Cc: Michael Buesch Cc: Pavel Machek Cc: "John W. Linville" Cc: Alan Stern Cc: Len Brown Cc: Greg KH Cc: Kay Sievers Cc: Richard Purdie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f011e2e2df3393c16b0fdc48e855e909b7e021ee Author: Mark Gross Date: Mon Feb 4 22:30:09 2008 -0800 latency.c: use QoS infrastructure Replace latency.c use with pm_qos_params use. Signed-off-by: mark gross Cc: "John W. Linville" Cc: Len Brown Cc: Jaroslav Kysela Cc: Takashi Iwai Cc: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d82b35186eaa816267f044bd70cc0acb3c7971a3 Author: Mark Gross Date: Mon Feb 4 22:30:08 2008 -0800 pm qos infrastructure and interface The following patch is a generalization of the latency.c implementation done by Arjan last year. It provides infrastructure for more than one parameter, and exposes a user mode interface for processes to register pm_qos expectations of processes. This interface provides a kernel and user mode interface for registering performance expectations by drivers, subsystems and user space applications on one of the parameters. Currently we have {cpu_dma_latency, network_latency, network_throughput} as the initial set of pm_qos parameters. The infrastructure exposes multiple misc device nodes one per implemented parameter. The set of parameters implement is defined by pm_qos_power_init() and pm_qos_params.h. This is done because having the available parameters being runtime configurable or changeable from a driver was seen as too easy to abuse. For each parameter a list of performance requirements is maintained along with an aggregated target value. The aggregated target value is updated with changes to the requirement list or elements of the list. Typically the aggregated target value is simply the max or min of the requirement values held in the parameter list elements. >From kernel mode the use of this interface is simple: pm_qos_add_requirement(param_id, name, target_value): Will insert a named element in the list for that identified PM_QOS parameter with the target value. Upon change to this list the new target is recomputed and any registered notifiers are called only if the target value is now different. pm_qos_update_requirement(param_id, name, new_target_value): Will search the list identified by the param_id for the named list element and then update its target value, calling the notification tree if the aggregated target is changed. with that name is already registered. pm_qos_remove_requirement(param_id, name): Will search the identified list for the named element and remove it, after removal it will update the aggregate target and call the notification tree if the target was changed as a result of removing the named requirement. >From user mode: Only processes can register a pm_qos requirement. To provide for automatic cleanup for process the interface requires the process to register its parameter requirements in the following way: To register the default pm_qos target for the specific parameter, the process must open one of /dev/[cpu_dma_latency, network_latency, network_throughput] As long as the device node is held open that process has a registered requirement on the parameter. The name of the requirement is "process_" derived from the current->pid from within the open system call. To change the requested target value the process needs to write a s32 value to the open device node. This translates to a pm_qos_update_requirement call. To remove the user mode request for a target value simply close the device node. [akpm@linux-foundation.org: fix warnings] [akpm@linux-foundation.org: fix build] [akpm@linux-foundation.org: fix build again] [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: mark gross Cc: "John W. Linville" Cc: Len Brown Cc: Jaroslav Kysela Cc: Takashi Iwai Cc: Arjan van de Ven Cc: Venki Pallipadi Cc: Adam Belay Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ef7229ffa93695e346d510b871452811509ea65 Author: Adrian Bunk Date: Mon Feb 4 22:30:06 2008 -0800 make kernel_shutdown_prepare() static kernel_shutdown_prepare() can now become static. Signed-off-by: Adrian Bunk Acked-by: Pavel Machek Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 47a460d5a307e639d6c9cdf9bb4857e2f5f3cb76 Author: Adrian Bunk Date: Mon Feb 4 22:30:06 2008 -0800 kernel/power/disk.c: make code static resume_file[] and create_image() can become static. Signed-off-by: Adrian Bunk Acked-by: Pavel Machek Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cbed6c6e0f7a52859fd0207ef3ffcf4bfffdbf95 Author: Andrew Morton Date: Mon Feb 4 22:30:05 2008 -0800 alpha: fix warning by fixing flush_tlb_kernel_range() mm/vmalloc.c: In function 'unmap_kernel_range': mm/vmalloc.c:75: warning: unused variable 'start' Macros are so horrid. Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d6f8d52fd0ff5d3660368232f71c3224d7508e1 Author: Nick Piggin Date: Mon Feb 4 22:30:04 2008 -0800 agp: alpha nopage Convert AGP alpha driver from nopage to fault. NULL is NOPAGE_SIGBUS, so we aren't changing behaviour there. Signed-off-by: Nick Piggin Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f78dcfd30955a48a2e738d08e4001ebd0e8402c Author: Samuel Thibault Date: Mon Feb 4 22:30:03 2008 -0800 Alpha doesn't use socketcall Alpha doesn't use socketcall and doesn't provide __NR_socketcall. Signed-off-by: Samuel Thibault Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd2e2633c208e111348c9f84fd7eeb9c844aca02 Author: FUJITA Tomonori Date: Mon Feb 4 22:30:02 2008 -0800 alpha: kill deprecated virt_to_bus pci-noop.c doesn't use DMA mappings. Signed-off-by: FUJITA Tomonori Cc: Jens Axboe Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26a6e661b118b95422ccfcd10c9997db5967df58 Author: Andrew Morton Date: Mon Feb 4 22:30:02 2008 -0800 alpha: atomic_add_return() should return int Prevents stuff like drivers/crypto/hifn_795x.c:2443: warning: format '%d' expects type 'int', but argument 4 has type 'long int' drivers/crypto/hifn_795x.c:2443: warning: format '%d' expects type 'int', but argument 4 has type 'long int' (at least). Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e820ce72d3aaadb8b53455cbdf213d3439f6c280 Author: Lucas Woods Date: Mon Feb 4 22:30:01 2008 -0800 arch/alpha: remove duplicate includes Signed-off-by: Lucas Woods Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 49eaf7d7f0ec493beb724fbb3c60f37d7b92bc86 Author: Adrian Bunk Date: Mon Feb 4 22:30:00 2008 -0800 m68knommu: remove duplicate exports One EXPORT_SYMBOL should be enough for everyone. Signed-off-by: Adrian Bunk Acked-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f905bc447c303fefcb180c7e8b641746ffa6cf87 Author: Paul Mundt Date: Mon Feb 4 22:29:59 2008 -0800 nommu: add new vmalloc_user() and remap_vmalloc_range() interfaces. This builds on top of the earlier vmalloc_32_user() work introduced by b50731732f926d6c49fd0724616a7344c31cd5cf, as we now have places in the nommu allmodconfig that hit up against these missing APIs. As vmalloc_32_user() is already implemented, this is moved over to vmalloc_user() and simply made a wrapper. As all current nommu platforms are 32-bit addressable, there's no special casing we have to do for ZONE_DMA and things of that nature as per GFP_VMALLOC32. remap_vmalloc_range() needs to check VM_USERMAP in order to figure out whether we permit the remap or not, which means that we also have to rework the vmalloc_user() code to grovel for the VMA and set the flag. Signed-off-by: Paul Mundt Acked-by: David McCullough Acked-by: David Howells Acked-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f156ac8c7aeddb2d85294b7a3b849178625e15e2 Author: Jiri Olsa Date: Mon Feb 4 22:29:58 2008 -0800 m68knommu: removing config variable DUMPTOFLASH Removing config variable DUMPTOFLASH, since it is not used Signed-off-by: Jiri Olsa Acked-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c155f3f9c54c602823c3970ec8a465ec3f9c2017 Author: Jiri Olsa Date: Mon Feb 4 22:29:58 2008 -0800 m68knomu: remove dead config symbols from m68knomu code remove dead config symbols from m68knommu code Signed-off-by: Jiri Olsa Acked-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 16791963ff7dd6a108251f5fa4b273cf1ffe531f Author: Greg Ungerer Date: Mon Feb 4 22:29:56 2008 -0800 m68knommu: use ARRAY_SIZE in ColdFire serial driver Use ARRAY_SIZE macroto get maximum ports in ColdFire serial driver. Signed-off-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 540e3102f75dca9c5e614905527599de18294cc8 Author: Pavel Emelyanov Date: Mon Feb 4 22:29:56 2008 -0800 frv: use find_task_by_vpid in cxn_pin_by_pid The function is question gets the pid from sysctl table, so this one is a virtual pid, i.e. the pid of a task as it is seen from inside a namespace. So the find_task_by_vpid() must be used here. Signed-off-by: Pavel Emelyanov Cc: "Eric W. Biederman" Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c5900b2d669c7aac1e5b3e8bb8e331a0e6cff61 Author: Jiri Olsa Date: Mon Feb 4 22:29:55 2008 -0800 frv: remove dead config symbol from FRV code Remove dead config symbol from FRV code. Signed-off-by: Jiri Olsa Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 82b12e232d2a71f566dca48df4ae4548e6d8d53d Author: Robert P. J. Day Date: Mon Feb 4 22:29:54 2008 -0800 FRV: move DMA macros to scatterlist.h for consistency. To be consistent with other architectures, these two DMA macros should be defined in scatterlist.h as opposed to dma-mapping.h Signed-off-by: Robert P. J. Day Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7038220aa511131f348018b85df172a21476fef9 Author: David Howells Date: Mon Feb 4 22:29:53 2008 -0800 FRV: permit the memory to be located elsewhere in NOMMU mode Permit the memory to be located somewhere other than address 0xC0000000 in NOMMU mode. The configuration options are already present, it just requires wiring up in the linker script. Note that only a limited set of locations of runtime addresses are available because of the way the CPU protection registers work. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e114e473771c848c3cfec05f0123e70f1cdbdc99 Author: Casey Schaufler Date: Mon Feb 4 22:29:50 2008 -0800 Smack: Simplified Mandatory Access Control Kernel Smack is the Simplified Mandatory Access Control Kernel. Smack implements mandatory access control (MAC) using labels attached to tasks and data containers, including files, SVIPC, and other tasks. Smack is a kernel based scheme that requires an absolute minimum of application support and a very small amount of configuration data. Smack uses extended attributes and provides a set of general mount options, borrowing technics used elsewhere. Smack uses netlabel for CIPSO labeling. Smack provides a pseudo-filesystem smackfs that is used for manipulation of system Smack attributes. The patch, patches for ls and sshd, a README, a startup script, and x86 binaries for ls and sshd are also available on http://www.schaufler-ca.com Development has been done using Fedora Core 7 in a virtual machine environment and on an old Sony laptop. Smack provides mandatory access controls based on the label attached to a task and the label attached to the object it is attempting to access. Smack labels are deliberately short (1-23 characters) text strings. Single character labels using special characters are reserved for system use. The only operation applied to Smack labels is equality comparison. No wildcards or expressions, regular or otherwise, are used. Smack labels are composed of printable characters and may not include "/". A file always gets the Smack label of the task that created it. Smack defines and uses these labels: "*" - pronounced "star" "_" - pronounced "floor" "^" - pronounced "hat" "?" - pronounced "huh" The access rules enforced by Smack are, in order: 1. Any access requested by a task labeled "*" is denied. 2. A read or execute access requested by a task labeled "^" is permitted. 3. A read or execute access requested on an object labeled "_" is permitted. 4. Any access requested on an object labeled "*" is permitted. 5. Any access requested by a task on an object with the same label is permitted. 6. Any access requested that is explicitly defined in the loaded rule set is permitted. 7. Any other access is denied. Rules may be explicitly defined by writing subject,object,access triples to /smack/load. Smack rule sets can be easily defined that describe Bell&LaPadula sensitivity, Biba integrity, and a variety of interesting configurations. Smack rule sets can be modified on the fly to accommodate changes in the operating environment or even the time of day. Some practical use cases: Hierarchical levels. The less common of the two usual uses for MLS systems is to define hierarchical levels, often unclassified, confidential, secret, and so on. To set up smack to support this, these rules could be defined: C Unclass rx S C rx S Unclass rx TS S rx TS C rx TS Unclass rx A TS process can read S, C, and Unclass data, but cannot write it. An S process can read C and Unclass. Note that specifying that TS can read S and S can read C does not imply TS can read C, it has to be explicitly stated. Non-hierarchical categories. This is the more common of the usual uses for an MLS system. Since the default rule is that a subject cannot access an object with a different label no access rules are required to implement compartmentalization. A case that the Bell & LaPadula policy does not allow is demonstrated with this Smack access rule: A case that Bell&LaPadula does not allow that Smack does: ESPN ABC r ABC ESPN r On my portable video device I have two applications, one that shows ABC programming and the other ESPN programming. ESPN wants to show me sport stories that show up as news, and ABC will only provide minimal information about a sports story if ESPN is covering it. Each side can look at the other's info, neither can change the other. Neither can see what FOX is up to, which is just as well all things considered. Another case that I especially like: SatData Guard w Guard Publish w A program running with the Guard label opens a UDP socket and accepts messages sent by a program running with a SatData label. The Guard program inspects the message to ensure it is wholesome and if it is sends it to a program running with the Publish label. This program then puts the information passed in an appropriate place. Note that the Guard program cannot write to a Publish file system object because file system semanitic require read as well as write. The four cases (categories, levels, mutual read, guardbox) here are all quite real, and problems I've been asked to solve over the years. The first two are easy to do with traditonal MLS systems while the last two you can't without invoking privilege, at least for a while. Signed-off-by: Casey Schaufler Cc: Joshua Brindle Cc: Paul Moore Cc: Stephen Smalley Cc: Chris Wright Cc: James Morris Cc: "Ahmed S. Darwish" Cc: Andrew G. Morgan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eda61d32e8ad1d9102872f9a0abf3344bf9c5e67 Author: Paul Moore Date: Mon Feb 4 22:29:47 2008 -0800 NetLabel: introduce a new kernel configuration API for NetLabel Add a new set of configuration functions to the NetLabel/LSM API so that LSMs can perform their own configuration of the NetLabel subsystem without relying on assistance from userspace. Signed-off-by: Paul Moore Signed-off-by: Casey Schaufler Reviewed-by: James Morris Cc: Chris Wright Cc: Stephen Smalley Cc: Casey Schaufler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97829955ad291acec1d8b94e9911b3ceb1118bb1 Author: Serge E. Hallyn Date: Mon Feb 4 22:29:47 2008 -0800 oom_kill: remove uid==0 checks Root processes are considered more important when out of memory and killing proceses. The check for CAP_SYS_ADMIN was augmented with a check for uid==0 or euid==0. There are several possible ways to look at this: 1. uid comparisons are unnecessary, trust CAP_SYS_ADMIN alone. However CAP_SYS_RESOURCE is the one that really means "give me extra resources" so allow for that as well. 2. Any privileged code should be protected, but uid is not an indication of privilege. So we should check whether any capabilities are raised. 3. uid==0 makes processes on the host as well as in containers more important, so we should keep the existing checks. 4. uid==0 makes processes only on the host more important, even without any capabilities. So we should be keeping the (uid==0||euid==0) check but only when userns==&init_user_ns. I'm following number 1 here. Signed-off-by: Serge Hallyn Cc: Andrew Morgan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b7391de67da515c91f48aa371de77cb6cc5c07e Author: Serge E. Hallyn Date: Mon Feb 4 22:29:45 2008 -0800 capabilities: introduce per-process capability bounding set The capability bounding set is a set beyond which capabilities cannot grow. Currently cap_bset is per-system. It can be manipulated through sysctl, but only init can add capabilities. Root can remove capabilities. By default it includes all caps except CAP_SETPCAP. This patch makes the bounding set per-process when file capabilities are enabled. It is inherited at fork from parent. Noone can add elements, CAP_SETPCAP is required to remove them. One example use of this is to start a safer container. For instance, until device namespaces or per-container device whitelists are introduced, it is best to take CAP_MKNOD away from a container. The bounding set will not affect pP and pE immediately. It will only affect pP' and pE' after subsequent exec()s. It also does not affect pI, and exec() does not constrain pI'. So to really start a shell with no way of regain CAP_MKNOD, you would do prctl(PR_CAPBSET_DROP, CAP_MKNOD); cap_t cap = cap_get_proc(); cap_value_t caparray[1]; caparray[0] = CAP_MKNOD; cap_set_flag(cap, CAP_INHERITABLE, 1, caparray, CAP_DROP); cap_set_proc(cap); cap_free(cap); The following test program will get and set the bounding set (but not pI). For instance ./bset get (lists capabilities in bset) ./bset drop cap_net_raw (starts shell with new bset) (use capset, setuid binary, or binary with file capabilities to try to increase caps) ************************************************************ cap_bound.c ************************************************************ #include #include #include #include #include #include #include #ifndef PR_CAPBSET_READ #define PR_CAPBSET_READ 23 #endif #ifndef PR_CAPBSET_DROP #define PR_CAPBSET_DROP 24 #endif int usage(char *me) { printf("Usage: %s get\n", me); printf(" %s drop \n", me); return 1; } #define numcaps 32 char *captable[numcaps] = { "cap_chown", "cap_dac_override", "cap_dac_read_search", "cap_fowner", "cap_fsetid", "cap_kill", "cap_setgid", "cap_setuid", "cap_setpcap", "cap_linux_immutable", "cap_net_bind_service", "cap_net_broadcast", "cap_net_admin", "cap_net_raw", "cap_ipc_lock", "cap_ipc_owner", "cap_sys_module", "cap_sys_rawio", "cap_sys_chroot", "cap_sys_ptrace", "cap_sys_pacct", "cap_sys_admin", "cap_sys_boot", "cap_sys_nice", "cap_sys_resource", "cap_sys_time", "cap_sys_tty_config", "cap_mknod", "cap_lease", "cap_audit_write", "cap_audit_control", "cap_setfcap" }; int getbcap(void) { int comma=0; unsigned long i; int ret; printf("i know of %d capabilities\n", numcaps); printf("capability bounding set:"); for (i=0; i Signed-off-by: Andrew G. Morgan Cc: Stephen Smalley Cc: James Morris Cc: Chris Wright Cc: Casey Schaufler a Signed-off-by: "Serge E. Hallyn" Tested-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46c383cc4530ccc438cb325e92e11eb21dd3d4fc Author: Andrew Morgan Date: Mon Feb 4 22:29:43 2008 -0800 Remove unnecessary include from include/linux/capability.h KaiGai Kohei observed that this line in the linux header is not needed. Signed-off-by: Andrew G. Morgan Cc: KaiGai Kohei Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e338d263a76af78fe8f38a72131188b58fceb591 Author: Andrew Morgan Date: Mon Feb 4 22:29:42 2008 -0800 Add 64-bit capability support to the kernel The patch supports legacy (32-bit) capability userspace, and where possible translates 32-bit capabilities to/from userspace and the VFS to 64-bit kernel space capabilities. If a capability set cannot be compressed into 32-bits for consumption by user space, the system call fails, with -ERANGE. FWIW libcap-2.00 supports this change (and earlier capability formats) http://www.kernel.org/pub/linux/libs/security/linux-privs/kernel-2.6/ [akpm@linux-foundation.org: coding-syle fixes] [akpm@linux-foundation.org: use get_task_comm()] [ezk@cs.sunysb.edu: build fix] [akpm@linux-foundation.org: do not initialise statics to 0 or NULL] [akpm@linux-foundation.org: unused var] [serue@us.ibm.com: export __cap_ symbols] Signed-off-by: Andrew G. Morgan Cc: Stephen Smalley Acked-by: Serge Hallyn Cc: Chris Wright Cc: James Morris Cc: Casey Schaufler Signed-off-by: Erez Zadok Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f6936f4d29aa14e54a2470b954a2e1f96322988 Author: Andrew Morton Date: Mon Feb 4 22:29:41 2008 -0800 revert "capabilities: clean up file capability reading" Revert b68680e4731abbd78863063aaa0dca2a6d8cc723 to make way for the next patch: "Add 64-bit capability support to the kernel". We want to keep the vfs_cap_data.data[] structure, using two 'data's for 64-bit caps (and later three for 96-bit caps), whereas b68680e4731abbd78863063aaa0dca2a6d8cc723 had gotten rid of the 'data' struct made its members inline. The 64-bit caps patch keeps the stack abuse fix at get_file_caps(), which was the more important part of that patch. [akpm@linux-foundation.org: coding-style fixes] Cc: Stephen Smalley Cc: Serge Hallyn Cc: Chris Wright Cc: James Morris Cc: Casey Schaufler Cc: Andrew Morgan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4bea58053f206be9a89ca35850f9ad295dac2042 Author: David P. Quigley Date: Mon Feb 4 22:29:40 2008 -0800 VFS: Reorder vfs_getxattr to avoid unnecessary calls to the LSM Originally vfs_getxattr would pull the security xattr variable using the inode getxattr handle and then proceed to clobber it with a subsequent call to the LSM. This patch reorders the two operations such that when the xattr requested is in the security namespace it first attempts to grab the value from the LSM directly. If it fails to obtain the value because there is no module present or the module does not support the operation it will fall back to using the inode getxattr operation. In the event that both are inaccessible it returns EOPNOTSUPP. Signed-off-by: David P. Quigley Cc: Stephen Smalley Cc: Chris Wright Acked-by: James Morris Acked-by: Serge Hallyn Cc: Casey Schaufler Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42492594043d621a7910ff5877c3eb9202870b45 Author: David P. Quigley Date: Mon Feb 4 22:29:39 2008 -0800 VFS/Security: Rework inode_getsecurity and callers to return resulting buffer This patch modifies the interface to inode_getsecurity to have the function return a buffer containing the security blob and its length via parameters instead of relying on the calling function to give it an appropriately sized buffer. Security blobs obtained with this function should be freed using the release_secctx LSM hook. This alleviates the problem of the caller having to guess a length and preallocate a buffer for this function allowing it to be used elsewhere for Labeled NFS. The patch also removed the unused err parameter. The conversion is similar to the one performed by Al Viro for the security_getprocattr hook. Signed-off-by: David P. Quigley Cc: Stephen Smalley Cc: Chris Wright Acked-by: James Morris Acked-by: Serge Hallyn Cc: Casey Schaufler Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3729145821e3088a0c3c4183037fde356204bf97 Author: Matt Mackall Date: Mon Feb 4 22:29:38 2008 -0800 slob: correct Kconfig description Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20cecbae44528d347c46e71f40650b75e0dcbc8e Author: Matt Mackall Date: Mon Feb 4 22:29:37 2008 -0800 slob: reduce external fragmentation by using three free lists By putting smaller objects on their own list, we greatly reduce overall external fragmentation and increase repeatability. This reduces total SLOB overhead from > 50% to ~6% on a simple boot test. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 679299b32dbf9bac4bdaedc850fb95d0f81b4963 Author: Matt Mackall Date: Mon Feb 4 22:29:37 2008 -0800 slob: fix free block merging at head of subpage We weren't merging freed blocks at the beginning of the free list. Fixing this showed a 2.5% efficiency improvement in a userspace test harness. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8bc3be2751b4f74ab90a446da1912fd8204d53f7 Author: Fengguang Wu Date: Mon Feb 4 22:29:36 2008 -0800 writeback: speed up writeback of big dirty files After making dirty a 100M file, the normal behavior is to start the writeback for all data after 30s delays. But sometimes the following happens instead: - after 30s: ~4M - after 5s: ~4M - after 5s: all remaining 92M Some analyze shows that the internal io dispatch queues goes like this: s_io s_more_io ------------------------- 1) 100M,1K 0 2) 1K 96M 3) 0 96M 1) initial state with a 100M file and a 1K file 2) 4M written, nr_to_write <= 0, so write more 3) 1K written, nr_to_write > 0, no more writes(BUG) nr_to_write > 0 in (3) fools the upper layer to think that data have all been written out. The big dirty file is actually still sitting in s_more_io. We cannot simply splice s_more_io back to s_io as soon as s_io becomes empty, and let the loop in generic_sync_sb_inodes() continue: this may starve newly expired inodes in s_dirty. It is also not an option to draw inodes from both s_more_io and s_dirty, an let the loop go on: this might lead to live locks, and might also starve other superblocks in sync time(well kupdate may still starve some superblocks, that's another bug). We have to return when a full scan of s_io completes. So nr_to_write > 0 does not necessarily mean that "all data are written". This patch introduces a flag writeback_control.more_io to indicate that more io should be done. With it the big dirty file no longer has to wait for the next kupdate invokation 5s later. In sync_sb_inodes() we only set more_io on super_blocks we actually visited. This avoids the interaction between two pdflush deamons. Also in __sync_single_inode() we don't blindly keep requeuing the io if the filesystem cannot progress. Failing to do so may lead to 100% iowait. Tested-by: Mike Snitzer Signed-off-by: Fengguang Wu Cc: Michael Rubin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a322f8ab66f50b6c0dcdb59abae84fede7a5fded Author: Sam Ravnborg Date: Mon Feb 4 22:29:35 2008 -0800 mm: fix section mismatch warning in sparse.c Fix following warning: WARNING: mm/built-in.o(.text+0x22069): Section mismatch in reference from the function sparse_early_usemap_alloc() to the function .init.text:__alloc_bootmem_node() static sparse_early_usemap_alloc() were used only by sparse_init() and with sparse_init() annotated _init it is safe to annotate sparse_early_usemap_alloc with __init too. Signed-off-by: Sam Ravnborg Cc: Andy Whitcroft Cc: Mel Gorman Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ed361dec36945f3116ee1338638ada9a8920905 Author: Nick Piggin Date: Mon Feb 4 22:29:34 2008 -0800 mm: fix PageUptodate data race After running SetPageUptodate, preceeding stores to the page contents to actually bring it uptodate may not be ordered with the store to set the page uptodate. Therefore, another CPU which checks PageUptodate is true, then reads the page contents can get stale data. Fix this by having an smp_wmb before SetPageUptodate, and smp_rmb after PageUptodate. Many places that test PageUptodate, do so with the page locked, and this would be enough to ensure memory ordering in those places if SetPageUptodate were only called while the page is locked. Unfortunately that is not always the case for some filesystems, but it could be an idea for the future. Also bring the handling of anonymous page uptodateness in line with that of file backed page management, by marking anon pages as uptodate when they _are_ uptodate, rather than when our implementation requires that they be marked as such. Doing allows us to get rid of the smp_wmb's in the page copying functions, which were especially added for anonymous pages for an analogous memory ordering problem. Both file and anonymous pages are handled with the same barriers. FAQ: Q. Why not do this in flush_dcache_page? A. Firstly, flush_dcache_page handles only one side (the smb side) of the ordering protocol; we'd still need smp_rmb somewhere. Secondly, hiding away memory barriers in a completely unrelated function is nasty; at least in the PageUptodate macros, they are located together with (half) the operations involved in the ordering. Thirdly, the smp_wmb is only required when first bringing the page uptodate, wheras flush_dcache_page should be called each time it is written to through the kernel mapping. It is logically the wrong place to put it. Q. Why does this increase my text size / reduce my performance / etc. A. Because it is adding the necessary instructions to eliminate the data-race. Q. Can it be improved? A. Yes, eg. if you were to create a rule that all SetPageUptodate operations run under the page lock, we could avoid the smp_rmb places where PageUptodate is queried under the page lock. Requires audit of all filesystems and at least some would need reworking. That's great you're interested, I'm eagerly awaiting your patches. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62e1c55300f306e06478f460a7eefba085206e0b Author: Shaohua Li Date: Mon Feb 4 22:29:33 2008 -0800 page migraton: handle orphaned pages Orphaned page might have fs-private metadata, the page is truncated. As the page hasn't mapping, page migration refuse to migrate the page. It appears the page is only freed in page reclaim and if zone watermark is low, the page is never freed, as a result migration always fail. I thought we could free the metadata so such page can be freed in migration and make migration more reliable. [akpm@linux-foundation.org: go direct to try_to_free_buffers()] Signed-off-by: Shaohua Li Acked-by: Nick Piggin Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7786fa9ac5366214fb942a9e62c6e46b4272c22c Author: Yasunori Goto Date: Mon Feb 4 22:29:32 2008 -0800 Document lowmem_reserve_ratio Though the lower_zone_protection was changed to lowmem_reserve_ratio, the document has been not changed. The lowmem_reserve_ratio seems quite hard to estimate, but there is no guidance. This patch is to change document for it. Signed-off-by: Yasunori Goto Cc: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5beb1caff4ce063e6e2dc13f23b80eeef4e9782 Author: Masatake YAMATO Date: Mon Feb 4 22:29:31 2008 -0800 check ADVICE of fadvise64_64 even if get_xip_page is given I've written some test programs in ltp project. During writing I met an problem which I cannot solve in user land. So I wrote a patch for linux kernel. Please, include this patch if acceptable. The test program tests the 4th parameter of fadvise64_64: long sys_fadvise64_64(int fd, loff_t offset, loff_t len, int advice); My test case calls fadvise64_64 with invalid advice value and checks errno is set to EINVAL. About the advice parameter man page says: ... Permissible values for advice include: POSIX_FADV_NORMAL ... POSIX_FADV_SEQUENTIAL ... POSIX_FADV_RANDOM ... POSIX_FADV_NOREUSE ... POSIX_FADV_WILLNEED ... POSIX_FADV_DONTNEED ... ERRORS ... EINVAL An invalid value was specified for advice. However, I got a bug report that the system call invocations in my test case returned 0 unexpectedly. I've inspected the kernel code: asmlinkage long sys_fadvise64_64(int fd, loff_t offset, loff_t len, int advice) { struct file *file = fget(fd); struct address_space *mapping; struct backing_dev_info *bdi; loff_t endbyte; /* inclusive */ pgoff_t start_index; pgoff_t end_index; unsigned long nrpages; int ret = 0; if (!file) return -EBADF; if (S_ISFIFO(file->f_path.dentry->d_inode->i_mode)) { ret = -ESPIPE; goto out; } mapping = file->f_mapping; if (!mapping || len < 0) { ret = -EINVAL; goto out; } if (mapping->a_ops->get_xip_page) /* no bad return value, but ignore advice */ goto out; ... out: fput(file); return ret; } I found the advice parameter is just ignored in the case mapping->a_ops->get_xip_page is given. This behavior is different from what is written on the man page. Is this o.k.? get_xip_page is given if CONFIG_EXT2_FS_XIP is true. Anyway I cannot find the easy way to detect get_xip_page field is given or CONFIG_EXT2_FS_XIP is true from the user space. I propose the following patch which checks the advice parameter even if get_xip_page is given. Signed-off-by: Masatake YAMATO Acked-by: Carsten Otte Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e6f3602d2c58815775b2a293cec6650622236169 Author: Larry Woodman Date: Mon Feb 4 22:29:30 2008 -0800 Include count of pagecache pages in show_mem() output The show_mem() output does not include the total number of pagecache pages. This would be helpful when analyzing the debug information in the /var/log/messages file after OOM kills occur. This patch includes the total pagecache pages in that output. Signed-off-by: Larry Woodman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a2b345642f530054a92b8d2b5108436225a8093e Author: Bjorn Steinbrink Date: Mon Feb 4 22:29:28 2008 -0800 Fix dirty page accounting leak with ext3 data=journal In 46d2277c796f9f4937bfa668c40b2e3f43e93dd0 ("Clean up and make try_to_free_buffers() not race with dirty pages"), try_to_free_buffers was changed to bail out if the page was dirty. That in turn caused truncate_complete_page to leak massive amounts of memory, because the dirty bit was only cleared after the call to try_to_free_buffers. So the call to cancel_dirty_page was moved up to have the dirty bit cleared early in 3e67c0987d7567ad666641164a153dca9a43b11d ("truncate: clear page dirtiness before running try_to_free_buffers()"). The problem with that fix is, that the page can be redirtied after cancel_dirty_page was called, eg. like this: truncate_complete_page() cancel_dirty_page() // PG_dirty cleared, decr. dirty pages do_invalidatepage() ext3_invalidatepage() journal_invalidatepage() journal_unmap_buffer() __dispose_buffer() __journal_unfile_buffer() __journal_temp_unlink_buffer() mark_buffer_dirty(); // PG_dirty set, incr. dirty pages And then we end up with dirty pages being wrongly accounted. As a result, in ecdfc9787fe527491baefc22dce8b2dbd5b2908d ("Resurrect 'try_to_free_buffers()' VM hackery") the changes to try_to_free_buffers were reverted, so the original reason for the massive memory leak is gone, and we can also revert the move of the call to cancel_dirty_page from truncate_complete_page and get the accounting right again. I'm not sure if it matters, but opposed to the final check in __remove_from_page_cache, this one also cares about the task io accounting, so maybe we want to use this instead, although it's not quite the clean fix either. Signed-off-by: Björn Steinbrink Tested-by: Krzysztof Piotr Oledzki Cc: Jan Kara Cc: Nick Piggin Cc: Peter Zijlstra Cc: Thomas Osterried Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae1276b9349a2fd9c3afb4651e25a77ac03299d9 Author: Qi Yong Date: Mon Feb 4 22:29:27 2008 -0800 set_page_refcounted() VM_BUG_ON fix The current PageTail semantic is that a PageTail page is first a PageCompound page. So remove the redundant PageCompound test in set_page_refcounted(). Signed-off-by: Qi Yong Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 920c7a5d0c94b8ce740f1d76fa06422f2a95a757 Author: Harvey Harrison Date: Mon Feb 4 22:29:26 2008 -0800 mm: remove fastcall from mm/ fastcall is always defined to be empty, remove it [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e548deb5d1630ca14ba04da04e3b6b3766178c7 Author: Andi Kleen Date: Mon Feb 4 22:29:26 2008 -0800 page allocator: remove unused arguments in zone_init_free_lists() Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d544564f9954860235db97df2e549a66c61f557 Author: Qi Yong Date: Mon Feb 4 22:29:23 2008 -0800 skip writing data pages when inode is under I_SYNC Since I_SYNC was split out from I_LOCK, the concern in commit 4b89eed93e0fa40a63e3d7b1796ec1337ea7a3aa ("Write back inode data pages even when the inode itself is locked") is not longer valid. We should revert to the original behavior: in __writeback_single_inode(), when we find an I_SYNC-ed inode and we're not doing a data-integrity sync, skip writing entirely. Otherwise, we are double calling do_writepages() Signed-off-by: Qi Yong Cc: Peter Zijlstra Cc: Hugh Dickins Cc: Joern Engel Cc: WU Fengguang Cc: Michael Rubin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a9bbdcd29adbb786c53eba1dfc3c2d256020d6b Author: Hugh Dickins Date: Mon Feb 4 22:29:23 2008 -0800 mm: don't waste swap on locked pages try_to_unmap always fails on a page found in a VM_LOCKED vma (unless migrating), and recycles it back to the active list. But if it's an anonymous page, we've already allocated swap to it: just wasting swap. Spot locked pages in page_referenced_one and treat them as referenced. Signed-off-by: Hugh Dickins Tested-by: KAMEZAWA Hiroyuki Cc: Ethan Solomita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9eccf2a816ed0aad82b577de6a40cd098ad41944 Author: Christoph Lameter Date: Mon Feb 4 22:29:22 2008 -0800 vmstat: remove prefetch Remove the prefetch logic in order to avoid touching impossible per cpu areas. Signed-off-by: Christoph Lameter Cc: Mike Travis Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7766755a2f249e7e0dabc5255a0a3d151ff79821 Author: Andrea Arcangeli Date: Mon Feb 4 22:29:21 2008 -0800 Fix /proc dcache deadlock in do_exit This patch fixes a sles9 system hang in start_this_handle from a customer with some heavy workload where all tasks are waiting on kjournald to commit the transaction, but kjournald waits on t_updates to go down to zero (it never does). This was reported as a lowmem shortage deadlock but when checking the debug data I noticed the VM wasn't under pressure at all (well it was really under vm pressure, because lots of tasks hanged in the VM prune_dcache methods trying to flush dirty inodes, but no task was hanging in GFP_NOFS mode, the holder of the journal handle should have if this was a vm issue in the first place). No task was apparently holding the leftover handle in the committing transaction, so I deduced t_updates was stuck to 1 because a journal_stop was never run by some path (this turned out to be correct). With a debug patch adding proper reverse links and stack trace logging in ext3 deployed in production, I found journal_stop is never run because mark_inode_dirty_sync is called inside release_task called by do_exit. (that was quite fun because I would have never thought about this subtleness, I thought a regular path in ext3 had a bug and it forgot to call journal_stop) do_exit->release_task->mark_inode_dirty_sync->schedule() (will never come back to run journal_stop) The reason is that shrink_dcache_parent is racy by design (feature not a bug) and it can do blocking I/O in some case, but the point is that calling shrink_dcache_parent at the last stage of do_exit isn't safe for self-reaping tasks. I guess the memory pressure of the unbalanced highmem system allowed to trigger this more easily. Now mainline doesn't have this line in iput (like sles9 has): if (inode->i_state & I_DIRTY_DELAYED) mark_inode_dirty_sync(inode); so it will probably not crash with ext3, but for example ext2 implements an I/O-blocking ext2_put_inode that will lead to similar screwups with ext2_free_blocks never coming back and it's definitely wrong to call blocking-IO paths inside do_exit. So this should fix a subtle bug in mainline too (not verified in practice though). The equivalent fix for ext3 is also not verified yet to fix the problem in sles9 but I don't have doubt it will (it usually takes days to crash, so it'll take weeks to be sure). An alternate fix would be to offload that work to a kernel thread, but I don't think a reschedule for this is worth it, the vm should be able to collect those entries for the synchronous release_task. Signed-off-by: Andrea Arcangeli Cc: Jan Kara Cc: Ingo Molnar Cc: "Eric W. Biederman" Cc: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 195cf453d2c3d789cbe80e3735755f860c2fb222 Author: Bron Gondwana Date: Mon Feb 4 22:29:20 2008 -0800 mm/page-writeback: highmem_is_dirtyable option Add vm.highmem_is_dirtyable toggle A 32 bit machine with HIGHMEM64 enabled running DCC has an MMAPed file of approximately 2Gb size which contains a hash format that is written randomly by the dbclean process. On 2.6.16 this process took a few minutes. With lowmem only accounting of dirty ratios, this takes about 12 hours of 100% disk IO, all random writes. Include a toggle in /proc/sys/vm/highmem_is_dirtyable which can be set to 1 to add the highmem back to the total available memory count. [akpm@linux-foundation.org: Fix the CONFIG_DETECT_SOFTLOCKUP=y build] Signed-off-by: Bron Gondwana Cc: Ethan Solomita Cc: Peter Zijlstra Cc: WU Fengguang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3dfa5721f12c3d5a441448086bee156887daa961 Author: Christoph Lameter Date: Mon Feb 4 22:29:19 2008 -0800 Page allocator: get rid of the list of cold pages We have repeatedly discussed if the cold pages still have a point. There is one way to join the two lists: Use a single list and put the cold pages at the end and the hot pages at the beginning. That way a single list can serve for both types of allocations. The discussion of the RFC for this and Mel's measurements indicate that there may not be too much of a point left to having separate lists for hot and cold pages (see http://marc.info/?t=119492914200001&r=1&w=2). Signed-off-by: Christoph Lameter Cc: Mel Gorman Cc: Martin Bligh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5dc331852848a38ca00a2817e5b98a1d0561b116 Author: Robert Bragg Date: Mon Feb 4 22:29:18 2008 -0800 mm: don't allow ioremapping of ranges larger than vmalloc space When running with a 16M IOREMAP_MAX_ORDER (on armv7) we found that the vmlist search routine in __get_vm_area_node can mistakenly allow a driver to ioremap a range larger than vmalloc space. If at the time of the ioremap all existing vmlist areas sit below the determined alignment then the search routine continues past all entries and exits the for loop - straight into the found: label - without ever testing for integer wrapping or that the requested size fits. We were seeing a driver successfully ioremap 128M of flash even though there was only 120M of vmalloc space. From that point the system was left with the remainder of the first 16M of space to vmalloc/ioremap within. Signed-off-by: Robert Bragg Acked-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a7f75e25860ac0a7b70cf6e14c37618d2d2bb890 Author: Christoph Lameter Date: Mon Feb 4 22:29:16 2008 -0800 vmstat: small revisions to refresh_cpu_vm_stats() 1. Add comments explaining how the function can be called. 2. Collect global diffs in a local array and only spill them once into the global counters when the zone scan is finished. This means that we only touch each global counter once instead of each time we fold cpu counters into zone counters. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08e7d9b557299ba6ce57165ce8df310780bd681c Author: Martin Schwidefsky Date: Mon Feb 4 22:29:16 2008 -0800 arch_rebalance_pgtables call In order to change the layout of the page tables after an mmap has crossed the adress space limit of the current page table layout a architecture hook in get_unmapped_area is needed. The arguments are the address of the new mapping and the length of it. Cc: Benjamin Herrenschmidt Signed-off-by: Martin Schwidefsky Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e5419734c8719cbc01af959ad9c0844002c0df5 Author: Benjamin Herrenschmidt Date: Mon Feb 4 22:29:14 2008 -0800 add mm argument to pte/pmd/pud/pgd_free (with Martin Schwidefsky ) The pgd/pud/pmd/pte page table allocation functions get a mm_struct pointer as first argument. The free functions do not get the mm_struct argument. This is 1) asymmetrical and 2) to do mm related page table allocations the mm argument is needed on the free function as well. [kamalesh@linux.vnet.ibm.com: i386 fix] [akpm@linux-foundation.org: coding-syle fixes] Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Martin Schwidefsky Cc: Signed-off-by: Kamalesh Babulal Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9f8f2172537de7af0b0fbd33502d18d52b1339bc Author: Christoph Lameter Date: Mon Feb 4 22:29:11 2008 -0800 Page allocator: clean up pcp draining functions - Add comments explaing how drain_pages() works. - Eliminate useless functions - Rename drain_all_local_pages to drain_all_pages(). It does drain all pages not only those of the local processor. - Eliminate useless interrupt off / on sequences. drain_pages() disables interrupts on its own. The execution thread is pinned to processor by the caller. So there is no need to disable interrupts. - Put drain_all_pages() declaration in gfp.h and remove the declarations from suspend.h and from mm/memory_hotplug.c - Make software suspend call drain_all_pages(). The draining of processor local pages is may not the right approach if software suspend wants to support SMP. If they call drain_all_pages then we can make drain_pages() static. [akpm@linux-foundation.org: fix build] Signed-off-by: Christoph Lameter Acked-by: Mel Gorman Cc: "Rafael J. Wysocki" Cc: Daniel Walker Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e2848a0efedef4dad52d1334d37f8719cd6268fd Author: Nick Piggin Date: Mon Feb 4 22:29:10 2008 -0800 radix-tree: avoid atomic allocations for preloaded insertions Most pagecache (and some other) radix tree insertions have the great opportunity to preallocate a few nodes with relaxed gfp flags. But the preallocation is squandered when it comes time to allocate a node, we default to first attempting a GFP_ATOMIC allocation -- that doesn't normally fail, but it can eat into atomic memory reserves that we don't need to be using. Another upshot of this is that it removes the sometimes highly contended zone->lock from underneath tree_lock. Pagecache insertions are always performed with a radix tree preload, and after this change, such a situation will never fall back to kmem_cache_alloc within radix_tree_node_alloc. David Miller reports seeing this allocation fail on a highly threaded sparc64 system: [527319.459981] dd: page allocation failure. order:0, mode:0x20 [527319.460403] Call Trace: [527319.460568] [00000000004b71e0] __slab_alloc+0x1b0/0x6a8 [527319.460636] [00000000004b7bbc] kmem_cache_alloc+0x4c/0xa8 [527319.460698] [000000000055309c] radix_tree_node_alloc+0x20/0x90 [527319.460763] [0000000000553238] radix_tree_insert+0x12c/0x260 [527319.460830] [0000000000495cd0] add_to_page_cache+0x38/0xb0 [527319.460893] [00000000004e4794] mpage_readpages+0x6c/0x134 [527319.460955] [000000000049c7fc] __do_page_cache_readahead+0x170/0x280 [527319.461028] [000000000049cc88] ondemand_readahead+0x208/0x214 [527319.461094] [0000000000496018] do_generic_mapping_read+0xe8/0x428 [527319.461152] [0000000000497948] generic_file_aio_read+0x108/0x170 [527319.461217] [00000000004badac] do_sync_read+0x88/0xd0 [527319.461292] [00000000004bb5cc] vfs_read+0x78/0x10c [527319.461361] [00000000004bb920] sys_read+0x34/0x60 [527319.461424] [0000000000406294] linux_sparc_syscall32+0x3c/0x40 The calltrace is significant: __do_page_cache_readahead allocates a number of pages with GFP_KERNEL, and hence it should have reclaimed sufficient memory to satisfy GFP_ATOMIC allocations. However after the list of pages goes to mpage_readpages, there can be significant intervals (including disk IO) before all the pages are inserted into the radix-tree. So the reserves can easily be depleted at that point. The patch is confirmed to fix the problem. Signed-off-by: Nick Piggin Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e31d9eb5c17ae3b80f9e9403f8a5eaf6dba879c9 Author: Adrian Bunk Date: Mon Feb 4 22:29:09 2008 -0800 make __vmalloc_area_node() static __vmalloc_area_node() can become static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 625d9573d0f905146efd15169a35ea9c5a841198 Author: Balbir Singh Date: Mon Feb 4 22:29:08 2008 -0800 Remove unused code from mm/tiny-shmem.c This code in mm/tiny-shmem.c is under #if 0 - remove it. Signed-off-by: Balbir Singh Acked-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f61eaf9fc58f3b2d9e3ad424496620f3381ccd1e Author: Adrian Bunk Date: Mon Feb 4 22:29:08 2008 -0800 mm/page-writeback.c: make a function static task_dirty_limit() can become static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e88328111aae3ea408f346763ba9f9bad71f876 Author: Matt Mackall Date: Mon Feb 4 22:29:07 2008 -0800 maps4: make page monitoring /proc file optional Make /proc/ page monitoring configurable This puts the following files under an embedded config option: /proc/pid/clear_refs /proc/pid/smaps /proc/pid/pagemap /proc/kpagecount /proc/kpageflags [akpm@linux-foundation.org: Kconfig fix] Signed-off-by: Matt Mackall Cc: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 304daa8132a95e998b6716d4b7bd8bd76aa152b2 Author: Matt Mackall Date: Mon Feb 4 22:29:06 2008 -0800 maps4: add /proc/kpageflags interface This makes a subset of physical page flags available to userspace. Together with /proc/pid/kpagemap, this allows tracking of a wide variety of VM behaviors. Exported flags are decoupled from the kernel's internal flags. This allows us to reorder flag bits, and synthesize any bits that get redefined in terms of other bits. [akpm@linux-foundation.org: remove unneeded access_ok()] [akpm@linux-foundation.org: s/0/NULL/] Signed-off-by: Matt Mackall Cc: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 161f47bf41c5ece90ac53cbb6a4cb9bf74ce0ef6 Author: Matt Mackall Date: Mon Feb 4 22:29:05 2008 -0800 maps4: add /proc/kpagecount interface This makes physical page map counts available to userspace. Together with /proc/pid/pagemap and /proc/pid/clear_refs, this can be used to monitor memory usage on a per-page basis. [akpm@linux-foundation.org: remove unneeded access_ok()] [bunk@stusta.de: make struct proc_kpagemap static] Signed-off-by: Matt Mackall Cc: Jeremy Fitzhardinge Cc: David Rientjes Signed-off-by: Adrian Bunk Cc: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 85863e475e59afb027b0113290e3796ee6020b7d Author: Matt Mackall Date: Mon Feb 4 22:29:04 2008 -0800 maps4: add /proc/pid/pagemap interface This interface provides a mapping for each page in an address space to its physical page frame number, allowing precise determination of what pages are mapped and what pages are shared between processes. New in this version: - headers gone again (as recommended by Dave Hansen and Alan Cox) - 64-bit entries (as per discussion with Andi Kleen) - swap pte information exported (from Dave Hansen) - page walker callback for holes (from Dave Hansen) - direct put_user I/O (as suggested by Rusty Russell) This patch folds in cleanups and swap PTE support from Dave Hansen . Signed-off-by: Matt Mackall Cc: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6198797cc3fd659b2d81cdf6bb6b9bba9cd93e9 Author: Matt Mackall Date: Mon Feb 4 22:29:03 2008 -0800 maps4: regroup task_mmu by interface Reorder source so that all the code and data for each interface is together. Signed-off-by: Matt Mackall Cc: Jeremy Fitzhardinge Cc: David Rientjes Cc: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f248dcb34d7b7ac255db70071a20be9d9c6ad491 Author: Matt Mackall Date: Mon Feb 4 22:29:03 2008 -0800 maps4: move clear_refs code to task_mmu.c This puts all the clear_refs code where it belongs and probably lets things compile on MMU-less systems as well. Signed-off-by: Matt Mackall Cc: Jeremy Fitzhardinge Cc: David Rientjes Cc: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4752c369789250eafcd7813e11c8fb689235b0d2 Author: Matt Mackall Date: Mon Feb 4 22:29:02 2008 -0800 maps4: simplify interdependence of maps and smaps This pulls the shared map display code out of show_map and puts it in show_smap where it belongs. Signed-off-by: Matt Mackall Cc: Jeremy Fitzhardinge Acked-by: David Rientjes Cc: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3ae5acbbb98d95c1300c8ced56d15f97d09c506 Author: Matt Mackall Date: Mon Feb 4 22:29:01 2008 -0800 maps4: use pagewalker in clear_refs and smaps Use the generic pagewalker for smaps and clear_refs Signed-off-by: Matt Mackall Cc: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e6473092bd9116583ce9ab8cf1b6570e1aa6fc83 Author: Matt Mackall Date: Mon Feb 4 22:29:01 2008 -0800 maps4: introduce a generic page walker Introduce a general page table walker Signed-off-by: Matt Mackall Cc: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 698dd4ba6b12e34e1e432c944c01478c0b2cd773 Author: Matt Mackall Date: Mon Feb 4 22:29:00 2008 -0800 maps4: move is_swap_pte Move is_swap_pte helper function to swapops.h for use by pagemap code Signed-off-by: Matt Mackall Cc: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 824552574162ac00ae636fa41386b1072379ea4a Author: Dave Hansen Date: Mon Feb 4 22:28:59 2008 -0800 maps4: rework TASK_SIZE macros The following replaces the earlier patches sent. It should address David Rientjes's comments, and has been compile tested on all the architectures that it touches, save for parisc. For the /proc//pagemap code[1], we need to able to query how much virtual address space a particular task has. The trick is that we do it through /proc and can't use TASK_SIZE since it references "current" on some arches. The process opening the /proc file might be a 32-bit process opening a 64-bit process's pagemap file. x86_64 already has a TASK_SIZE_OF() macro: #define TASK_SIZE_OF(child) ((test_tsk_thread_flag(child, TIF_IA32)) ? IA32_PAGE_OFFSET : TASK_SIZE64) I'd like to have that for other architectures. So, add it for all the architectures that actually use "current" in their TASK_SIZE. For the others, just add a quick #define in sched.h to use plain old TASK_SIZE. 1. http://www.linuxworld.com/news/2007/042407-kernel.html - MIPS portion from Ralf Baechle [akpm@linux-foundation.org: fix mips build] Signed-off-by: Dave Hansen Signed-off-by: Ralf Baechle Signed-off-by: Matt Mackall Acked-by: David Rientjes Cc: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec4dd3eb35759f9fbeb5c1abb01403b2fde64cc9 Author: Fengguang Wu Date: Mon Feb 4 22:28:56 2008 -0800 maps4: add proportional set size accounting in smaps The "proportional set size" (PSS) of a process is the count of pages it has in memory, where each page is divided by the number of processes sharing it. So if a process has 1000 pages all to itself, and 1000 shared with one other process, its PSS will be 1500. - lwn.net: "ELC: How much memory are applications really using?" The PSS proposed by Matt Mackall is a very nice metic for measuring an process's memory footprint. So collect and export it via /proc//smaps. Matt Mackall's pagemap/kpagemap and John Berthels's exmap can also do the job. They are comprehensive tools. But for PSS, let's do it in the simple way. Cc: John Berthels Cc: Bernardo Innocenti Cc: Padraig Brady Cc: Denys Vlasenko Cc: Balbir Singh Signed-off-by: Matt Mackall Signed-off-by: Fengguang Wu Cc: Hugh Dickins Cc: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 61d5048f149572434daee0cce5e1374a8a7cf3e8 Author: Christoph Hellwig Date: Mon Feb 4 22:28:56 2008 -0800 clean up vmtruncate vmtruncate is a twisted maze of gotos, this patch cleans it up to have a proper if else for the two major cases of extending and truncating truncate and thus makes it a lot more readable while keeping exactly the same functinality. Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b1b32f2c6f6bb32535d2da62075b51c980880eb Author: Hugh Dickins Date: Mon Feb 4 22:28:55 2008 -0800 tmpfs: fix shmem_swaplist races Intensive swapoff testing shows shmem_unuse spinning on an entry in shmem_swaplist pointing to itself: how does that come about? Days pass... First guess is this: shmem_delete_inode tests list_empty without taking the global mutex (so the swapping case doesn't slow down the common case); but there's an instant in shmem_unuse_inode's list_move_tail when the list entry may appear empty (a rare case, because it's actually moving the head not the the list member). So there's a danger of leaving the inode on the swaplist when it's freed, then reinitialized to point to itself when reused. Fix that by skipping the list_move_tail when it's a no-op, which happens to plug this. But this same spinning then surfaces on another machine. Ah, I'd never suspected it, but shmem_writepage's swaplist manipulation is unsafe: though we still hold page lock, which would hold off inode deletion if the page were in pagecache, it doesn't hold off once it's in swapcache (free_swap_and_cache doesn't wait on locked pages). Hmm: we could put the the inode on swaplist earlier, but then shmem_unuse_inode could never prune unswapped inodes. Fix this with an igrab before dropping info->lock, as in shmem_unuse_inode; though I am a little uneasy about the iput which has to follow - it works, and I see nothing wrong with it, but it is surprising that shmem inode deletion may now occur below shmem_writepage. Revisit this fix later? And while we're looking at these races: the way shmem_unuse tests swapped without holding info->lock looks unsafe, if we've more than one swap area: a racing shmem_writepage on another page of the same inode could be putting it in swapcache, just as we're deciding to remove the inode from swaplist - there's a danger of going on swap without being listed, so a later swapoff would hang, being unable to locate the entry. Move that test and removal down into shmem_unuse_inode, once info->lock is held. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b409f9fcf04692c0f603d28c73d2e3dfed27bf54 Author: Hugh Dickins Date: Mon Feb 4 22:28:54 2008 -0800 tmpfs: radix_tree_preloading Nick has observed that shmem.c still uses GFP_ATOMIC when adding to page cache or swap cache, without any radix tree preload: so tending to deplete emergency reserves of memory. GFP_ATOMIC remains appropriate in shmem_writepage's add_to_swap_cache: it's being called under memory pressure, so must not wait for more memory to become available. But shmem_unuse_inode now has a window in which it can and should preload with GFP_KERNEL, and say GFP_NOWAIT instead of GFP_ATOMIC in its add_to_page_cache. shmem_getpage is not so straightforward: its filepage/swappage integrity relies upon exchanging between caches under spinlock, and it would need a lot of restructuring to place the preloads correctly. Instead, follow its pattern of retrying on races: use GFP_NOWAIT instead of GFP_ATOMIC in add_to_page_cache, and begin each circuit of the repeat loop with a sleeping radix_tree_preload, followed immediately by radix_tree_preload_end - that won't guarantee success in the next add_to_page_cache, but doesn't need to. And we can then remove that bothersome congestion_wait: when needed, it'll automatically get done in the course of the radix_tree_preload. Signed-off-by: Hugh Dickins Looks-good-to: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e0e26c76a35de8f8bec6b2b917518cfeb52888a Author: Hugh Dickins Date: Mon Feb 4 22:28:53 2008 -0800 tmpfs: open a window in shmem_unuse_inode There are a couple of reasons (patches follow) why it would be good to open a window for sleep in shmem_unuse_inode, between its search for a matching swap entry, and its handling of the entry found. shmem_unuse_inode must then use igrab to hold the inode against deletion in that window, and its corresponding iput might result in deletion: so it had better unlock_page before the iput, and might as well release the page too. Nor is there any need to hold on to shmem_swaplist_mutex once we know we'll leave the loop. So this unwinding moves from try_to_unuse and shmem_unuse into shmem_unuse_inode, in the case when it finds a match. Let try_to_unuse break on error in the shmem_unuse case, as it does in the unuse_mm case: though at this point in the series, no error to break on. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb5f7b9a47963d9238398cd0c2676473e3c6896d Author: Hugh Dickins Date: Mon Feb 4 22:28:52 2008 -0800 tmpfs: make shmem_unuse more preemptible shmem_unuse is at present an unbroken search through every swap vector page of every tmpfs file which might be swapped, all under shmem_swaplist_lock. This dates from long ago, when the caller held mmlist_lock over it all too: long gone, but there's never been much pressure for preemptible swapoff. Make it a little more preemptible, replacing shmem_swaplist_lock by shmem_swaplist_mutex, inserting a cond_resched in the main loop, and a cond_resched_lock (on info->lock) at one convenient point in the shmem_unuse_inode loop, where it has no outstanding kmap_atomic. If we're serious about preemptible swapoff, there's much further to go e.g. I'm stupid to let the kmap_atomics of the decreasingly significant HIGHMEM case dictate preemptiblility for other configs. But as in the earlier patch to make swapoff scan ptes preemptibly, my hidden agenda is really towards making memcgroups work, hardly about preemptibility at all. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0ee5ec520ede1dc8e2194623bcebfd9fab408f2 Author: Hugh Dickins Date: Mon Feb 4 22:28:51 2008 -0800 tmpfs: allocate on read when stacked tmpfs is expected to limit the memory used (unless mounted with nr_blocks=0 or size=0). But if a stacked filesystem such as unionfs gets pages from a sparse tmpfs file by reading holes, and then writes to them, it can easily exceed any such limit at present. So suppress the SGP_READ "don't allocate page" ZERO_PAGE optimization when reading for the kernel (a KERNEL_DS check, ugh, sorry about that). Indeed, pessimistically mark such pages as dirty, so they cannot get reclaimed and unaccounted by mistake. The venerable shmem_recalc_inode code (originally to account for the reclaim of clean pages) suffices to get the accounting right when swappages are dropped in favour of more uptodate filepages. This also fixes the NULL shmem_swp_entry BUG or oops in shmem_writepage, caused by unionfs writing to a very sparse tmpfs file: to minimize memory allocation in swapout, tmpfs requires the swap vector be allocated upfront, which wasn't always happening in this stacked case. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d9fe526a83b84edc9c5ff217a00c896bfc20b2ce Author: Hugh Dickins Date: Mon Feb 4 22:28:51 2008 -0800 tmpfs: allow filepage alongside swappage tmpfs has long allowed for a fresh filepage to be created in pagecache, just before shmem_getpage gets the chance to match it up with the swappage which already belongs to that offset. But unionfs_writepage now does a find_or_create_page, divorced from shmem_getpage, which leaves conflicting filepage and swappage outstanding indefinitely, when unionfs is over tmpfs. Therefore shmem_writepage (where a page is swizzled from file to swap) must now be on the lookout for existing swap, ready to free it in favour of the more uptodate filepage, instead of BUGging on that clash. And when the add_to_page_cache fails in shmem_unuse_inode, it must defer to an uptodate filepage, otherwise swapoff would hang. Whereas when add_to_page_cache fails in shmem_getpage, it should retry in the same way it already does. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73b1262fa43a778b1e154deea632cdef5009d6a1 Author: Hugh Dickins Date: Mon Feb 4 22:28:50 2008 -0800 tmpfs: move swap swizzling into shmem move_to_swap_cache and move_from_swap_cache functions (which swizzle a page between tmpfs page cache and swap cache, to avoid page copying) are only used by shmem.c; and our subsequent fix for unionfs needs different treatments in the two instances of move_from_swap_cache. Move them from swap_state.c into their callsites shmem_writepage, shmem_unuse_inode and shmem_getpage, making add_to_swap_cache externally visible. shmem.c likes to say set_page_dirty where swap_state.c liked to say SetPageDirty: respect that diversity, which __set_page_dirty_no_writeback makes moot (and implies we should lose that "shift page from clean_pages to dirty_pages list" comment: it's on neither). Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f000944d03a5b74ab3c92b2fcdf0e944cc898065 Author: Hugh Dickins Date: Mon Feb 4 22:28:49 2008 -0800 tmpfs: shuffle add_to_swap_caches add_to_swap_cache doesn't amount to much: merge it into its sole caller read_swap_cache_async. But we'll be needing to call __add_to_swap_cache from shmem.c, so promote it to the new add_to_swap_cache. Both were static, so there's no interface confusion to worry about. And lose that inappropriate "Anon pages are already on the LRU" comment in the merging: they're not already on the LRU, as Nick Piggin noticed. Signed-off-by: Hugh Dickins No-problems-with: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bb63be0a091c512fb566ee235eb8320d5831b6e2 Author: Hugh Dickins Date: Mon Feb 4 22:28:49 2008 -0800 tmpfs: move swap_state stats update Both unionfs and memcgroups pose challenges to tmpfs and shmem. To help fix, it's best to move the swap swizzling functions from swap_state.c to shmem.c. As a preliminary to that, move swap stats updating down into __add_to_swap_cache, which will remain internal to swap_state.c. Well, actually, just move down the incrementation of add_total: remove noent_race and exist_race completely, they are relics of my 2.4.11 testing. Alt-SysRq-m users will be thrilled if 2.6.25 is at last free of "race M+N"s. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 818db35992c249dc32c1d86daf7d533fb0952f5d Author: Michael Marineau Date: Mon Feb 4 22:28:48 2008 -0800 tmpfs: fix mounts when size is less than the page size When tmpfs is mounted with a size less than one page, the number of blocks is set to 0 which makes the tmpfs mount unlimited. This can lead to a quick and surprising death if someone typos a tmpfs mount command and writes too much. tmpfs can still be mounted as unlimited if size or nr_blocks is exactly 0, as Documentation/filesystems/tmpfs.txt says. Hugh: do this by rounding size up instead of down in all cases: which slightly expands other odd-sized tmpfs mounts, but in a consistent way. Signed-off-by: Michael Marineau Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b04c6890f0dc7ea6c85b9adebc883c55c667d97 Author: Pavel Emelyanov Date: Mon Feb 4 22:28:47 2008 -0800 shmem: factor out sbi->free_inodes manipulations The shmem_sb_info structure has a number of free_inodes. This value is altered in appropriate places under spinlock and with the sbi->max_inodes != 0 check. Consolidate these manipulations into two helpers. This is minus 42 bytes of shmem.o and minus 4 :) lines of code. [akpm@linux-foundation.org: fix error return values] Signed-off-by: Pavel Emelyanov Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e441889c38fe1b6ef6b963e6993076aa120176c Author: Hugh Dickins Date: Mon Feb 4 22:28:46 2008 -0800 swapoff: scan ptes preemptibly Provided that CONFIG_HIGHPTE is not set, unuse_pte_range can reduce latency in swapoff by scanning the page table preemptibly: so long as unuse_pte is careful to recheck that entry under pte lock. (To tell the truth, this patch was not inspired by any cries for lower latency here: rather, this restructuring permits a future memory controller patch to allocate with GFP_KERNEL in unuse_pte, where before it could not. But it would be wrong to tuck this change away inside a memcgroup patch.) Signed-off-by: Hugh Dickins Acked-by: Balbir Singh Tested-by: Balbir Singh Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8952898b0d25223f38daf46b86156fd1c4d17ad0 Author: Hugh Dickins Date: Mon Feb 4 22:28:45 2008 -0800 swapin: fix valid_swaphandles defect valid_swaphandles is supposed to do a quick pass over the swap map entries neigbouring the entry which swapin_readahead is targetting, to determine for it a range worth reading all together. But since it always starts its search from the beginning of the swap "cluster", a reject (free entry) there immediately curtails the readaround, and every swapin_readahead from that cluster is for just a single page. Instead scan forwards and backwards around the target entry. Use better names for some variables: a swap_info pointer is usually called "si" not "swapdev". And at the end, if only the target page should be read, return count of 0 to disable readaround, to avoid the unnecessarily repeated call to read_swap_cache_async. Signed-off-by: Hugh Dickins Acked-by: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5402b976ae0be96b3a32f3508ab7308c380d6477 Author: Hugh Dickins Date: Mon Feb 4 22:28:44 2008 -0800 shmem_file_write is redundant With the old aops, writing to a tmpfs file had to use its own special method: the generic method would pass in a fresh page to prepare_write when the right page was there in swapcache - which was inefficient to handle, even once we'd concocted the code to handle it. With the new aops, the generic method uses shmem_write_end, which lets shmem_getpage find the right page: so now abandon shmem_file_write in favour of the generic method. Yes, that does do several things that tmpfs hasn't really needed (notably balance_dirty_pages_ratelimited, which ramfs also calls); but more use of common code is preferable. Signed-off-by: Hugh Dickins Cc: Nick Piggin Acked-by: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d3602444e1e3485890eea5f61366e19a287c00c4 Author: Hugh Dickins Date: Mon Feb 4 22:28:44 2008 -0800 shmem_getpage return page locked In the new aops, write_begin is supposed to return the page locked: though I've seen no ill effects, that's been overlooked in the case of shmem_write_begin, and should be fixed. Then shmem_write_end must unlock the page: do so _after_ updating i_size, as we found to be important in other filesystems (though since shmem pages don't go the usual writeback route, they never suffered from that corruption). For shmem_write_begin to return the page locked, we need shmem_getpage to return the page locked in SGP_WRITE case as well as SGP_CACHE case: let's simplify the interface and return it locked even when SGP_READ. Signed-off-by: Hugh Dickins Acked-by: Rik van Riel Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 27d54b398ec0edea0e7417f003171017300e0efc Author: Hugh Dickins Date: Mon Feb 4 22:28:43 2008 -0800 shmem: SGP_QUICK and SGP_FAULT redundant Remove SGP_QUICK from the sgp_type enum: it was for shmem_populate and has no users now. Remove SGP_FAULT from the enum: SGP_CACHE does just as well (and shmem_getpage is about to return with page always locked). Signed-off-by: Hugh Dickins Acked-by: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02098feaa42b2e0087fbbe6c6ab9a23e4653b16a Author: Hugh Dickins Date: Mon Feb 4 22:28:42 2008 -0800 swapin needs gfp_mask for loop on tmpfs Building in a filesystem on a loop device on a tmpfs file can hang when swapping, the loop thread caught in that infamous throttle_vm_writeout. In theory this is a long standing problem, which I've either never seen in practice, or long ago suppressed the recollection, after discounting my load and my tmpfs size as unrealistically high. But now, with the new aops, it has become easy to hang on one machine. Loop used to grab_cache_page before the old prepare_write to tmpfs, which seems to have been enough to free up some memory for any swapin needed; but the new write_begin lets tmpfs find or allocate the page (much nicer, since grab_cache_page missed tmpfs pages in swapcache). When allocating a fresh page, tmpfs respects loop's mapping_gfp_mask, which has __GFP_IO|__GFP_FS stripped off, and throttle_vm_writeout is designed to break out when __GFP_IO or GFP_FS is unset; but when tmfps swaps in, read_swap_cache_async allocates with GFP_HIGHUSER_MOVABLE regardless of the mapping_gfp_mask - hence the hang. So, pass gfp_mask down the line from shmem_getpage to shmem_swapin to swapin_readahead to read_swap_cache_async to add_to_swap_cache. Signed-off-by: Hugh Dickins Acked-by: Rik van Riel Acked-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46017e954826ac59e91df76341a3f76b45467847 Author: Hugh Dickins Date: Mon Feb 4 22:28:41 2008 -0800 swapin_readahead: move and rearrange args swapin_readahead has never sat well in mm/memory.c: move it to mm/swap_state.c beside its kindred read_swap_cache_async. Why were its args in a different order? rearrange them. And since it was always followed by a read_swap_cache_async of the target page, fold that in and return struct page*. Then CONFIG_SWAP=n no longer needs valid_swaphandles and read_swap_cache_async stubs. Signed-off-by: Hugh Dickins Acked-by: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4cc6d07b2f465fbf5efd99bbe772a49c515f3f2 Author: Hugh Dickins Date: Mon Feb 4 22:28:40 2008 -0800 swapin_readahead: excise NUMA bogosity For three years swapin_readahead has been cluttered with fanciful CONFIG_NUMA code, advancing addr, and stepping on to the next vma at the boundary, to line up the mempolicy for each page allocation. It _might_ be a good idea to allocate swap more according to vma layout; but the fact is, that's not how we do it at all, 2.6 even less than 2.4: swap is allocated as needed for pages as they sink to the bottom of the inactive LRUs. Sometimes that may match vma layout, but not so often that it's worth going to these misleading vma->vm_next lengths: rip all that out. Originally I intended to retain the incrementation of addr, but correct its initial value: valid_swaphandles generally supplies an offset below the target addr (this is readaround rather than readahead), but addr has not been adjusted accordingly, so in the interleave case it has usually been allocating the target page from the "wrong" node (though that may not matter very much). But look at the equivalent shmem_swapin code: either by oversight or by design, though it has all the apparatus for choosing a new mempolicy per page, it uses the same idx throughout, choosing the same mempolicy and interleave node for each page of the cluster. Which is actually a much better strategy: each node has its own LRUs and its own kswapd, so if you're betting on any particular relationship between swap and node, the best bet is that nearby swap entries belong to pages from the same node - even when the mempolicy of the target page is to interleave. And examining a map of nodes corresponding to swap entries on a numa=fake system bears this out. (We could later tweak swap allocation to make it even more likely, but this patch is merely about removing cruft.) So, neither adjust nor increment addr in swapin_readahead, and then shmem_swapin can use it too; the pseudo-vma to pass policy need only be set up once per cluster, and so few fields of pvma are used, let's skip the memset - from shmem_alloc_page also. Signed-off-by: Hugh Dickins Acked-by: Rik van Riel Cc: Andi Kleen Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 75897d60a54ccee94253312107f941a83b5077cb Author: Ken Chen Date: Mon Feb 4 22:28:36 2008 -0800 hugetlb: allow sticky directory mount option Allow sticky directory mount option for hugetlbfs. This allows admin to create a shared hugetlbfs mount point for multiple users, while prevent accidental file deletion that users may step on each other. It is similiar to default tmpfs mount option, or typical option used on /tmp. Signed-off-by: Ken Chen Cc: Badari Pulavarty Cc: Adam Litke Cc: David Gibson Cc: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b98938c373117043598002f197200d7ed08acd49 Author: Christoph Lameter Date: Mon Feb 4 22:28:36 2008 -0800 bufferhead: revert constructor removal The constructor for buffer_head slabs was removed recently. We need the constructor back in slab defrag in order to insure that slab objects always have a definite state even before we allocated them. I think we mistakenly merged the removal of the constuctor into a cleanup patch. You (ie: akpm) had a test that showed that the removal of the constructor led to a small regression. The prior state makes things easier for slab defrag. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Christoph Lameter Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aec2c3ed01ed54d0cdf7f6b7c4be217c045ac5ea Author: Christoph Lameter Date: Mon Feb 4 22:28:35 2008 -0800 VM: allow get_page_unless_zero on compound pages Both slab defrag and the large blocksize patches need to ability to take refcounts on compound pages. May be useful in other places as well. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf53d6f8fa467397a16de2a2500312ae26528d34 Author: Christoph Lameter Date: Mon Feb 4 22:28:34 2008 -0800 vmalloc: clean up page array indexing The page array is repeatedly indexed both in vunmap and vmalloc_area_node(). Add a temporary variable to make it easier to read (and easier to patch later). Signed-off-by: Christoph Lameter Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e2779fa281cfda13ac060753d674bbcaa23367e Author: Christoph Lameter Date: Mon Feb 4 22:28:34 2008 -0800 is_vmalloc_addr(): Check if an address is within the vmalloc boundaries Checking if an address is a vmalloc address is done in a couple of places. Define a common version in mm.h and replace the other checks. Again the include structures suck. The definition of VMALLOC_START and VMALLOC_END is not available in vmalloc.h since highmem.c cannot be included there. Signed-off-by: Christoph Lameter Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b7a96114bd5991d355a1f1c1d3d9c0c9d9c1cfc Author: Christoph Lameter Date: Mon Feb 4 22:28:33 2008 -0800 i386: Resolve dependency of asm-i386/pgtable.h on highmem.h pgtable.h does not include highmem.h but uses various constants from highmem.h. We cannot include highmem.h because highmem.h will in turn include many other include files that also depend on pgtable.h So move the definitions from highmem.h into pgtable.h. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Christoph Lameter Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3bdda02aa547a0753b4fdbc105e86ef9046b30b Author: Christoph Lameter Date: Mon Feb 4 22:28:32 2008 -0800 vmalloc: add const to void* parameters Make vmalloc functions work the same way as kfree() and friends that take a const void * argument. [akpm@linux-foundation.org: fix consts, coding-style] Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48667e7a43c1a1e0ba743f93ae946f8cb34ff2f9 Author: Christoph Lameter Date: Mon Feb 4 22:28:31 2008 -0800 Move vmalloc_to_page() to mm/vmalloc. We already have page table manipulation for vmalloc in vmalloc.c. Move the vmalloc_to_page() function there as well. Move the definitions for vmalloc related functions in mm.h to a newly created section. A better place would be vmalloc.h but mm.h is basic and may depend on these functions. An alternative would be to include vmalloc.h in mm.h (like done for vmstat.h). Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eebd2aa355692afaf9906f62118620f1a1c19dbb Author: Christoph Lameter Date: Mon Feb 4 22:28:29 2008 -0800 Pagecache zeroing: zero_user_segment, zero_user_segments and zero_user Simplify page cache zeroing of segments of pages through 3 functions zero_user_segments(page, start1, end1, start2, end2) Zeros two segments of the page. It takes the position where to start and end the zeroing which avoids length calculations and makes code clearer. zero_user_segment(page, start, end) Same for a single segment. zero_user(page, start, length) Length variant for the case where we know the length. We remove the zero_user_page macro. Issues: 1. Its a macro. Inline functions are preferable. 2. The KM_USER0 macro is only defined for HIGHMEM. Having to treat this special case everywhere makes the code needlessly complex. The parameter for zeroing is always KM_USER0 except in one single case that we open code. Avoiding KM_USER0 makes a lot of code not having to be dealing with the special casing for HIGHMEM anymore. Dealing with kmap is only necessary for HIGHMEM configurations. In those configurations we use KM_USER0 like we do for a series of other functions defined in highmem.h. Since KM_USER0 is depends on HIGHMEM the existing zero_user_page function could not be a macro. zero_user_* functions introduced here can be be inline because that constant is not used when these functions are called. Also extract the flushing of the caches to be outside of the kmap. [akpm@linux-foundation.org: fix nfs and ntfs build] [akpm@linux-foundation.org: fix ntfs build some more] Signed-off-by: Christoph Lameter Cc: Steven French Cc: Michael Halcrow Cc: Cc: Steven Whitehouse Cc: Trond Myklebust Cc: "J. Bruce Fields" Cc: Anton Altaparmakov Cc: Mark Fasheh Cc: David Chinner Cc: Michael Halcrow Cc: Steven French Cc: Steven Whitehouse Cc: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b98348bdd08dc4ec11828aa98a78edde15c53cfa Author: David Brownell Date: Mon Feb 4 22:28:28 2008 -0800 gpiolib: avr32 at32ap platform support Teach AVR32 to use the "GPIO Library" when exposing its GPIOs, so that signals on external chips (like GPIO expanders) can easily be used. This mostly reorganizes some existing logic, with two minor changes in behavior: - The PSR registers are used instead of the previous "gpio_mask" values, matching AT91 behavior and removing some duplication between that role and that of "pinmux_mask". - NR_IRQs grew to acommodate a bank of external GPIOs. Eventually this number should probably become a board-specific config option. There's a debugfs dump of status for the built-in GPIOs, showing which pins have deglitching, pullups, or open drain drive enabled, as well as the ID string used when requesting each IRQ. Signed-off-by: David Brownell Acked-by: Haavard Skinnemoen Cc: Jean Delvare Cc: Eric Miao Cc: Sam Ravnborg Cc: Philipp Zabel Cc: Russell King Cc: Ben Gardner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b72540c30c9c8c2c3f17cae29962cfb50fbe166a Author: eric miao Date: Mon Feb 4 22:28:27 2008 -0800 deprecate obsolete pca9539 driver Use drivers/gpio/pca9539.c instead. Signed-off-by: eric miao Acked-by: Ben Gardner Acked-by: Jean Delvare Signed-off-by: David Brownell Cc: Sam Ravnborg Cc: Haavard Skinnemoen Cc: Philipp Zabel Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e60fdcf0c2905d7a8fc4cb2b3711ea5c5acaae1 Author: eric miao Date: Mon Feb 4 22:28:26 2008 -0800 gpiolib: pca9539 i2c gpio expander support This adds a new-style I2C driver with basic support for the sixteen bit PCA9539 GPIO expanders. These chips have multiple registers, push-pull output drivers, and (not supported in this patch) pin change interrupts. Board-specific code must provide "pca9539_platform_data" with each chip's "i2c_board_info". That provides the GPIO numbers to be used by that chip, and callbacks for board-specific setup/teardown logic. Derived from drivers/i2c/chips/pca9539.c (which has no current known users). This is faster and simpler; it uses 16-bit register access, and cache the OUTPUT and DIRECTION registers for fast access Signed-off-by: eric miao Signed-off-by: David Brownell Acked-by: Jean Delvare Cc: Sam Ravnborg Cc: Haavard Skinnemoen Cc: Philipp Zabel Cc: Russell King Cc: Ben Gardner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e58b9e2762a6ef99e20dba47aba21b911658541d Author: David Brownell Date: Mon Feb 4 22:28:25 2008 -0800 mcp23s08 spi gpio expander support Basic driver for 8-bit SPI based MCP23S08 GPIO expander, without support for IRQs or the shared chipselect mechanism. Signed-off-by: David Brownell Cc: Jean Delvare Cc: Eric Miao Cc: Sam Ravnborg Cc: Haavard Skinnemoen Cc: Philipp Zabel Cc: Russell King Cc: Ben Gardner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15fae37d9f5f21571a9618d8353164b6ddfea6f6 Author: David Brownell Date: Mon Feb 4 22:28:24 2008 -0800 gpiolib: pcf857x i2c gpio expander support This is a new-style I2C driver for most common 8 and 16 bit I2C based "quasi-bidirectional" GPIO expanders: pcf8574 or pcf8575, and several compatible models (mostly faster, supporting I2C at up to 1 MHz). The driver exposes the GPIO signals using the platform-neutral GPIO programming interface, so they are easily accessed by other kernel code. The lack of such a flexible kernel API has been a big factor in the proliferation of board-specific drivers for these chips... stuff that rarely makes it upstream since it's so ugly. This driver will let such boards use standard calls. Since it's a new-style driver, these devices must be configured as part of board-specific init. That eliminates the need for error-prone manual configuration of module parameters, and makes compatibility with legacy drivers (pcf8574.c, pc8575.c) for these chips easier (there's a clear either/or disjunction). Signed-off-by: David Brownell Acked-by: Jean Delvare Cc: Eric Miao Cc: Sam Ravnborg Cc: Haavard Skinnemoen Cc: Philipp Zabel Cc: Russell King Cc: Ben Gardner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c44f5f16fee880b294f8068354bfb9dddf1349b Author: Philipp Zabel Date: Mon Feb 4 22:28:22 2008 -0800 gpiolib support for the PXA architecture This adds gpiolib support for the PXA architecture: - move all GPIO API functions from generic.c into gpio.c - convert the gpio_get/set_value macros into inline functions This makes it easier to hook up GPIOs provided by external chips like ASICs and CPLDs. Signed-off-by: Philipp Zabel Signed-off-by: David Brownell Acked-by: Russell King Cc: Jean Delvare Cc: Eric Miao Cc: Sam Ravnborg Cc: Haavard Skinnemoen Cc: Ben Gardner Signed-off-by: Andrew Morton [ Minor ARM fixup from David Brownell folded into this ] Signed-off-by: Linus Torvalds commit 7c2db759ece63fd166cf0849b7b271589fa1b754 Author: David Brownell Date: Mon Feb 4 22:28:21 2008 -0800 gpiolib: update Documentation/gpio.txt Update Documentation/gpio.txt, primarily to include the new "gpiolib" infrastructure. Signed-off-by: David Brownell Cc: Jean Delvare Cc: Eric Miao Cc: Sam Ravnborg Cc: Haavard Skinnemoen Cc: Philipp Zabel Cc: Russell King Cc: Ben Gardner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2876d08d86f22ce1f276fc29f6baec8b53e32c6 Author: David Brownell Date: Mon Feb 4 22:28:20 2008 -0800 gpiolib: add gpio provider infrastructure Provide new implementation infrastructure that platforms may choose to use when implementing the GPIO programming interface. Platforms can update their GPIO support to use this. In many cases the incremental cost to access a non-inlined GPIO should be less than a dozen instructions, with the memory cost being about a page (total) of extra data and code. The upside is: * Providing two features which were "want to have (but OK to defer)" when GPIO interfaces were first discussed in November 2006: - A "struct gpio_chip" to plug in GPIOs that aren't directly supported by SOC platforms, but come from FPGAs or other multifunction devices using conventional device registers (like UCB-1x00 or SM501 GPIOs, and southbridges in PCs with more open specs than usual). - Full support for message-based GPIO expanders, where registers are accessed through sleeping I/O calls. Previous support for these "cansleep" calls was just stubs. (One example: the widely used pcf8574 I2C chips, with 8 GPIOs each.) * Including a non-stub implementation of the gpio_{request,free}() calls, making those calls much more useful. The diagnostic labels are also recorded given DEBUG_FS, so /sys/kernel/debug/gpio can show a snapshot of all GPIOs known to this infrastructure. The driver programming interfaces introduced in 2.6.21 do not change at all; this infrastructure is entirely below those covers. Signed-off-by: David Brownell Cc: Sam Ravnborg Cc: Jean Delvare Cc: Eric Miao Cc: Haavard Skinnemoen Cc: Philipp Zabel Cc: Russell King Cc: Ben Gardner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a9c5fff542544c8595bb12efeb278a96d99386fc Author: David Brownell Date: Mon Feb 4 22:28:17 2008 -0800 gpiolib: add drivers/gpio directory Add an empty drivers/gpio directory for gpiolib infrastructure and GPIO expanders. It will be populated by later patches. This won't be the only place to hold such gpio_chip code. Many external chips add a few GPIOs as secondary functionality (such as MFD drivers) and platform code frequently needs to closely integrate GPIO and IRQ support. This is placed *early* in the build/link sequence since it's common for other drivers to depend on GPIOs to do their work, so they must be initialized early in the device_initcall() sequence. Signed-off-by: David Brownell Acked-by: Jean Delvare Cc: Eric Miao Cc: Sam Ravnborg Cc: Haavard Skinnemoen Cc: Philipp Zabel Cc: Russell King Cc: Ben Gardner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99c84dbdc73d158a1ab955a4a5f74c18074796a3 Author: FUJITA Tomonori Date: Mon Feb 4 22:28:17 2008 -0800 iommu sg merging: call dma_set_seg_boundary in __scsi_alloc_queue() This is a one-line patch to add the following to __scsi_alloc_queue(): dma_set_seg_boundary(dev, shost->dma_boundary); This is the simplest approach but the result looks odd, __scsi_alloc_queue() does: blk_queue_segment_boundary(q, shost->dma_boundary); dma_set_seg_boundary(dev, shost->dma_boundary); blk_queue_max_segment_size(q, dma_get_max_seg_size(dev)); I think that it would be better to set up segment boundary in the same way as we did for the maximum segment size. That is, removing shost->dma_boundary and LLDs call pci_set_dma_seg_boundary (or its friends). Then __scsi_alloc_queue() can set up both limits in the same way: blk_queue_segment_boundary(q, dma_get_seg_boundary(dev)); blk_queue_max_segment_size(q, dma_get_max_seg_size(dev)); killing dma_boundary in scsi_host_template needs a large patch for libata (dma_boundary is used by only libata and sym53c8xx). I'll send a patch to do that if it is acceptable. James and Jeff? Signed-off-by: FUJITA Tomonori Cc: James Bottomley Cc: Jens Axboe Cc: Greg KH Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 681cc5cd3efbeafca6386114070e0bfb5012e249 Author: FUJITA Tomonori Date: Mon Feb 4 22:28:16 2008 -0800 iommu sg merging: swiotlb: respect the segment boundary limits This patch makes swiotlb not allocate a memory area spanning LLD's segment boundary. is_span_boundary() judges whether a memory area spans LLD's segment boundary. If map_single finds such a area, map_single tries to find the next available memory area. Signed-off-by: FUJITA Tomonori Cc: James Bottomley Cc: Jens Axboe Cc: Greg KH Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 59fc67dedb46c29442989e52af39da67aea52512 Author: FUJITA Tomonori Date: Mon Feb 4 22:28:14 2008 -0800 iommu sg merging: PCI: add dma segment boundary support This adds PCI's accessor for segment_boundary_mask in device_dma_parameters. The default segment_boundary is set to 0xffffffff, same to the block layer's default value (and the scsi mid layer uses the same value). Signed-off-by: FUJITA Tomonori Cc: James Bottomley Cc: Jens Axboe Cc: Greg KH Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d22a6966b8029913fac37d078ab2403898d94c63 Author: FUJITA Tomonori Date: Mon Feb 4 22:28:13 2008 -0800 iommu sg merging: add accessors for segment_boundary_mask in device_dma_parameters() This adds new accessors for segment_boundary_mask in device_dma_parameters structure in the same way I did for max_segment_size. So we can easily change where to place struct device_dma_parameters in the future. dma_get_segment boundary returns 0xffffffff if dma_parms in struct device isn't set up properly. 0xffffffff is the default value used in the block layer and the scsi mid layer. Signed-off-by: FUJITA Tomonori Cc: James Bottomley Cc: Jens Axboe Cc: Greg KH Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 67ec11cf968241c9ae907f8817b6ac74d4dd71d7 Author: FUJITA Tomonori Date: Mon Feb 4 22:28:12 2008 -0800 iommu sg: kill __clear_bit_string and find_next_zero_string This kills unused __clear_bit_string and find_next_zero_string (they were used by only gart and calgary IOMMUs). Signed-off-by: FUJITA Tomonori Cc: Jeff Garzik Cc: James Bottomley Cc: Jens Axboe Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Muli Ben-Yehuda Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fde9a1094ddf2892188a8a0eccda527de47cba8e Author: FUJITA Tomonori Date: Mon Feb 4 22:28:11 2008 -0800 iommu sg: x86: convert gart IOMMU to use the IOMMU helper This patch converts gart IOMMU to use the IOMMU helper functions. The IOMMU doesn't allocate a memory area spanning LLD's segment boundary anymore. Signed-off-by: FUJITA Tomonori Cc: Jeff Garzik Cc: James Bottomley Cc: Jens Axboe Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Muli Ben-Yehuda Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b39b077789955c8389488d53d075518fdcd582e Author: FUJITA Tomonori Date: Mon Feb 4 22:28:10 2008 -0800 iommu sg: x86: convert calgary IOMMU to use the IOMMU helper This patch converts calgary IOMMU to use the IOMMU helper functions. The IOMMU doesn't allocate a memory area spanning LLD's segment boundary anymore. Signed-off-by: FUJITA Tomonori Cc: Jeff Garzik Cc: James Bottomley Cc: Jens Axboe Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Muli Ben-Yehuda Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 383af9525bb27f927511874f6306247ec13f1c28 Author: FUJITA Tomonori Date: Mon Feb 4 22:28:09 2008 -0800 iommu sg: powerpc: remove DMA 4GB boundary protection Previously, during initialization of the IOMMU tables, the last entry at each 4GB boundary is marked as used since there are many adapters which cannot handle DMAing across any 4GB boundary. The IOMMU doesn't allocate a memory area spanning LLD's segment boundary anymore. The segment boundary of devices are set to 4GB by default. So we can remove 4GB boundary protection now. Signed-off-by: FUJITA Tomonori Cc: Jeff Garzik Cc: James Bottomley Cc: Jens Axboe Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb3475e9b6bfa666107512fbd6006c26014f04b8 Author: FUJITA Tomonori Date: Mon Feb 4 22:28:08 2008 -0800 iommu sg: powerpc: convert iommu to use the IOMMU helper This patch converts PPC's IOMMU to use the IOMMU helper functions. The IOMMU doesn't allocate a memory area spanning LLD's segment boundary anymore. iseries_hv_alloc and iseries_hv_map don't have proper device struct. 4GB boundary is used for them. Signed-off-by: FUJITA Tomonori Cc: Jeff Garzik Cc: James Bottomley Cc: Jens Axboe Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0291df8cc9dac09c303d21d5bcd2ad73762c836a Author: FUJITA Tomonori Date: Mon Feb 4 22:28:07 2008 -0800 iommu sg: add IOMMU helper functions for the free area management This adds IOMMU helper functions for the free area management. These functions take care of LLD's segment boundary limit for IOMMUs. They would be useful for IOMMUs that use bitmap for the free area management. Signed-off-by: FUJITA Tomonori Cc: Jeff Garzik Cc: James Bottomley Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c95fdc59640824d7e0b017be295fb912ceef4ab Author: FUJITA Tomonori Date: Mon Feb 4 22:28:06 2008 -0800 iommu sg merging: aacraid: use pci_set_dma_max_seg_size This sets the segment size limit properly via pci_set_dma_max_seg_size and remove blk_queue_max_segment_size because scsi-ml calls it. Signed-off-by: FUJITA Tomonori Cc: Jeff Garzik Cc: James Bottomley Acked-by: Jens Axboe Acked-by: "Salyzyn, Mark" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b7d8629f8b4b250fda578e59ecddc77c6bdec2b6 Author: FUJITA Tomonori Date: Mon Feb 4 22:28:05 2008 -0800 iommu sg merging: sata_inic162x: use pci_set_dma_max_seg_size This sets the segment size limit properly via pci_set_dma_max_seg_size and remove blk_queue_max_segment_size because scsi-ml calls it. Signed-off-by: FUJITA Tomonori Cc: Jeff Garzik Cc: James Bottomley Acked-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 860ac568e825b623b0b335ca277dd47d1d7fd5d0 Author: FUJITA Tomonori Date: Mon Feb 4 22:28:05 2008 -0800 iommu sg merging: call blk_queue_segment_boundary in __scsi_alloc_queue request_queue and device struct must have the same value of a segment size limit. This patch adds blk_queue_segment_boundary in __scsi_alloc_queue so LLDs don't need to call both blk_queue_segment_boundary and set_dma_max_seg_size. A LLD can change the default value (64KB) can call device_dma_parameters accessors like pci_set_dma_max_seg_size when allocating scsi_host. Signed-off-by: FUJITA Tomonori Acked-by: Jeff Garzik Cc: James Bottomley Acked-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1b5163206769aa93271bc1029e877ea9f920a5d Author: FUJITA Tomonori Date: Mon Feb 4 22:28:03 2008 -0800 iommu sg merging: parisc: make iommu respect the segment size limits This patch makes iommu respect segment size limits when merging sg lists. Signed-off-by: FUJITA Tomonori Cc: Jeff Garzik Cc: James Bottomley Acked-by: Jens Axboe Cc: Kyle McMartin Acked-by: Grant Grundler Cc: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fde6a3c82d67f592eb587be4d12222b0ae6d4321 Author: FUJITA Tomonori Date: Mon Feb 4 22:28:02 2008 -0800 iommu sg merging: sparc64: make iommu respect the segment size limits This patch makes iommu respect segment size limits when merging sg lists. Signed-off-by: FUJITA Tomonori Cc: Jeff Garzik Cc: James Bottomley Acked-by: Jens Axboe Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c53664dcd5df7349edb56f04c743bf66510a6f1 Author: FUJITA Tomonori Date: Mon Feb 4 22:27:58 2008 -0800 iommu sg merging: alpha: make pci_iommu respect the segment size limits This patch makes pci_iommu respect segment size limits when merging sg lists. Signed-off-by: FUJITA Tomonori Cc: Jeff Garzik Cc: James Bottomley Acked-by: Jens Axboe Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a031bbcb8d7559d61f383880f23dd0e047247410 Author: FUJITA Tomonori Date: Mon Feb 4 22:27:58 2008 -0800 iommu sg merging: IA64: make sba_iommu respect the segment size limits This patch makes sba iommu respect segment size limits when merging sg lists. Signed-off-by: FUJITA Tomonori Cc: Jeff Garzik Cc: James Bottomley Acked-by: Jens Axboe Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 740c3ce66700640a6e6136ff679b067e92125794 Author: FUJITA Tomonori Date: Mon Feb 4 22:27:57 2008 -0800 iommu sg merging: ppc: make iommu respect the segment size limits This patch makes iommu respect segment size limits when merging sg lists. Signed-off-by: FUJITA Tomonori Cc: Jeff Garzik Cc: James Bottomley Acked-by: Jens Axboe Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42d00284e16bf998f8f93ce5d061df81b0ff283e Author: FUJITA Tomonori Date: Mon Feb 4 22:27:56 2008 -0800 iommu sg merging: x86: make pci-gart iommu respect the segment size limits This patch makes pci-gart iommu respect segment size limits when merging sg lists. Signed-off-by: FUJITA Tomonori Cc: Jeff Garzik Cc: James Bottomley Acked-by: Jens Axboe Cc: Dave Airlie Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d57cdfacaa1c207bf4c071f89835e0368766a50 Author: FUJITA Tomonori Date: Mon Feb 4 22:27:55 2008 -0800 iommu sg merging: PCI: add device_dma_parameters support This adds struct device_dma_parameters in struct pci_dev and properly sets up a pointer in struct device. The default max_segment_size is set to 64K, same to the block layer's default value. Signed-off-by: FUJITA Tomonori Mostly-acked-by: Jeff Garzik Cc: James Bottomley Acked-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b7b651055221127304a4e373ee9b762398d54d7 Author: FUJITA Tomonori Date: Mon Feb 4 22:27:55 2008 -0800 iommu sg merging: add device_dma_parameters structure IOMMUs merges scatter/gather segments without considering a low level driver's restrictions. The problem is that IOMMUs can't access to the limitations because they are in request_queue. This patchset introduces a new structure, device_dma_parameters, including dma information. A pointer to device_dma_parameters is added to struct device. The bus specific structures (like pci_dev) includes device_dma_parameters. Low level drivers can use dma_set_max_seg_size to tell IOMMUs about the restrictions. We can move more dma stuff in struct device (like dma_mask) to struct device_dma_parameters later (needs some cleanups before that). This includes patches for all the IOMMUs that could merge sg (x86_64, ppc, IA64, alpha, sparc64, and parisc) though only the ppc patch was tested. The patches for other IOMMUs are only compile tested. This patch: Add a new structure, device_dma_parameters, including dma information. A pointer to device_dma_parameters is added to struct device. - there are only max_segment_size and segment_boundary_mask there but we'll move more dma stuff in struct device (like dma_mask) to struct device_dma_parameters later. segment_boundary_mask is not supported yet. - new accessors for the dma parameters are added. So we can easily change where to place struct device_dma_parameters in the future. - dma_get_max_seg_size returns 64K if dma_parms in struct device isn't set up properly. 64K is the default max_segment_size in the block layer. Signed-off-by: FUJITA Tomonori Acked-by: Jeff Garzik Cc: James Bottomley Acked-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7bbdc3d51cf793dd81c38f794f4cb73df58d1527 Author: Mark A. Greer Date: Mon Feb 4 22:27:54 2008 -0800 serial: MPSC: set baudrate when BRG divider is set. The clock to generate the desired baudrate with the MPSC is first divided by the Baud Rate Generator (BRG) and then by the MPSC itself. So, when the BRG divider is changed, the MPSC divider must also be changed to generate the correct baudrate. During MPSC initialization, the BRG divider is changed but the MPSC divider isn't changed until much later. This results in some printk's coming out garbled. To fix that, set the MPSC divider at the same time that the BRG divider is changed. Signed-off-by: Mark A. Greer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e8d4e2075e049664294722b436edfc5ced6ca53 Author: Alan Cox Date: Mon Feb 4 22:27:53 2008 -0800 serial: Coding style Coding style tweaks and printk levels. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d4d67beb963de8865499781b8523e5b683819c3 Author: Alan Cox Date: Mon Feb 4 22:27:53 2008 -0800 serial: speed setup failure reporting Invalid speeds are forced to 9600. Update the code for this to encode new style baud rates properly. Signed-off-by: Alan Cox Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c8c6bfa39d6bd7347f43937c8767ae145b61bcb4 Author: Russell King Date: Mon Feb 4 22:27:52 2008 -0800 serial: avoid stalling suspend if serial port won't drain Some ports seem to be unable to drain their transmitters on shut down. Such a problem can occur if the port is programmed for hardware imposed flow control, characters are in the FIFO but the CTS signal is inactive. Normally, this isn't a problem because most places where we wait for the transmitter to drain have a time-out. However, there is no timeout in the suspend path. Give a port 30ms to drain; this is an arbitary value chosen to avoid long delays if there are many such ports in the system, while giving a reasonable chance for a single port to drain. Should a port not drain within this timeout, issue a warning. Signed-off-by: Russell King Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d778a69370cc1b643b13648df971c83ff5654ef Author: Russell King Date: Mon Feb 4 22:27:51 2008 -0800 serial: avoid waking up closed serial ports on resume When we boot, serial ports remain in low power mode until they're used either by userspace or for the kernel console. However, if you suspend the system, and then resume, all serial ports will be taken out of low power mode. This is bad news for embedded devices where this can mean higher power consumption. Only bring a serial port out of low power mode if the port is being used as the kernel console, or is in use by userspace. Signed-off-by: Russell King Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74a197417240120d638d67d74f48655fb7f46f16 Author: Will Newton Date: Mon Feb 4 22:27:50 2008 -0800 8250.c: support specifying DW APB UARTs in device platform_data Allow the private_data field to be specified in platform_data for the standard 8250/16550 UART. This field is used by DW APB type UARTs and without this patch it's only possible to set this field when registering the port by hand. If private_data is not set then the driver will potentially oops with a NULL pointer dereference. Signed-off-by: Will Newton Acked-by: Alan Cox Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02c9b5cf9acd8a85313b892dc5196ccf133d4884 Author: Krauth.Julien Date: Mon Feb 4 22:27:49 2008 -0800 serial: add ADDI-DATA GmbH Communication cardsin8250_pci.c and pci_ids.h Add ADDI-DATA GmbH communication cards to 8250_pci driver. Supported cards are: APCI-7300, APCI-7420, APCI-7500, APCI-7800 APCI-7300-2, APCI-7420-2, APCI-7500-2 APCI-7300-3, APCI-7420-3, APCI-7500-3, APCI-7800-3 [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Krauth J. Cc: Russell King Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1452750afc923b838a76e23150d5f1b4fc718b11 Author: Jiri Olsa Date: Mon Feb 4 22:27:48 2008 -0800 drivers/serial/s3c2410.c: remove dead config symbols Remove dead config symbol. Signed-off-by: Jiri Olsa Cc: Russell King Cc: Ben Dooks Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c3e4642be734ce3d2c7398246d8cbced3a039f54 Author: Yinghai Lu Date: Mon Feb 4 22:27:46 2008 -0800 serial: keep the DTR setting for serial console. with reverting "x86, serial: convert legacy COM ports to platform devices", we will have the serial console before the port is probled again. uart_add_one_port==>uart_configure_port==>set_mcttrl(port, 0) will clear the DTR setting by uart_set_options(). then I will lose my output from serial console again. So try to keep DTR in uart_configure_port() Signed-off-by: Yinghai Lu Cc: Russell King Cc: Alan Cox Cc: Andi Kleen Cc: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1523508d6321436b6edfcd99aab04a344f9aed3f Author: Julia Lawall Date: Mon Feb 4 22:27:46 2008 -0800 drivers/pcmcia: add missing pci_dev_get pci_get_slot does a pci_dev_get, so pci_dev_put needs to be called in an error case. An extract of the semantic match used to find the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type find1.T,T1,T2; identifier find1.E; statement find1.S; expression x1,x2,x3; expression find1.test; int ret != 0; @@ T E; ... ( * E = pci_get_slot(...); if (E == NULL) S | * if ((E = pci_get_slot(...)) == NULL) S ) ... when != pci_dev_put(...,(T1)E,...) when != if (E != NULL) { ... pci_dev_put(...,(T1)E,...); ...} when != x1 = (T1)E when != E = x3; when any if (test) { ... when != pci_dev_put(...,(T2)E,...) when != if (E != NULL) { ... pci_dev_put(...,(T2)E,...); ...} when != x2 = (T2)E ( * return; | * return ret; ) } // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a1c3e1aa977457ded6fd0739e032c9684bf23bd Author: Julia Lawall Date: Mon Feb 4 22:27:44 2008 -0800 drivers/pcmcia: Add missing iounmap of_iomap calls ioremap, and so should be matched with an iounmap. At the two error returns, the result of calling of_iomap is only stored in a local variable, so these error paths need to call iounmap. Furthermore, this function ultimately stores the result of of_iomap in an array that is local to the file. These values should be iounmapped at some point. I have added a corresponding call to iounmap at the end of the function m8xx_remove. The problem was found using the following semantic match. (http://www.emn.fr/x-info/coccinelle/) // @@ type T,T1,T2; identifier E; statement S; expression x1,x2,x3; int ret; @@ T E; ... * E = of_iomap(...); if (E == NULL) S ... when != iounmap(...,(T1)E,...) when != if (E != NULL) { ... iounmap(...,(T1)E,...); ...} when != x1 = (T1)E when != E = x3; when any if (...) { ... when != iounmap(...,(T2)E,...) when != if (E != NULL) { ... iounmap(...,(T2)E,...); ...} when != x2 = (T2)E ( * return; | * return ret; ) } // Signed-off-by: Julia Lawall Vitaly Bordug Cc: Arnd Bergmann Cc: Olof Johansson Cc: Dominik Brodowski Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Kumar Gala Cc: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c1fc445c29c6208c44e10c0253beea890bf5435 Author: David Brownell Date: Mon Feb 4 22:27:42 2008 -0800 at91_cf: use generic gpio calls Update the AT91 CF driver to use the generic GPIO calls instead of the AT91-specific ones; and request exclusive use of those signals. Minor tweaks to cleanup code paths: always in reverse order of how the resources were allocated, with remove() matching the fault paths of probe(). Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9ab9898e32971b938f9e8a997b12d0c4dd4832f7 Author: Richard Knutsson Date: Mon Feb 4 22:27:42 2008 -0800 pcmcia/pcnet_cs: fix 'shadow variable' warning Fixing: CHECK drivers/net/pcmcia/pcnet_cs.c drivers/net/pcmcia/pcnet_cs.c:523:15: warning: symbol 'hw_info' shadows an earlier one drivers/net/pcmcia/pcnet_cs.c:148:18: originally declared here Signed-off-by: Richard Knutsson Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cfd4734c1e686164c87b9f31b67401cdf6f34238 Author: Richard Knutsson Date: Mon Feb 4 22:27:41 2008 -0800 pcmcia/fmvj18x_cs: fix 'shadow variable' warning Fixing: CHECK drivers/net/pcmcia/fmvj18x_cs.c drivers/net/pcmcia/fmvj18x_cs.c:1205:6: warning: symbol 'i' shadows an earlier one drivers/net/pcmcia/fmvj18x_cs.c:1179:9: originally declared here Signed-off-by: Richard Knutsson Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c61f26fa609f11a471a68668b838b7366b2b75e0 Author: Richard Knutsson Date: Mon Feb 4 22:27:41 2008 -0800 pcmcia/axnet_cs: make use of 'max()' instead of handcrafted one Use 'max(x,y)' instead of 'x < y ? y : x'. Signed-off-by: Richard Knutsson Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b2e43861b09bce857d41d47c853003be587a575 Author: Richard Knutsson Date: Mon Feb 4 22:27:40 2008 -0800 pcmcia/axnet_cs: make functions static Fixing: CHECK drivers/net/pcmcia/axnet_cs.c drivers/net/pcmcia/axnet_cs.c:994:5: warning: symbol 'ax_close' was not declared. Should it be static? drivers/net/pcmcia/axnet_cs.c:1017:6: warning: symbol 'ei_tx_timeout' was not declared. Should it be static? Signed-off-by: Richard Knutsson Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1569d9e89a77d51750497dc23d303e27d0d9494d Author: Richard Knutsson Date: Mon Feb 4 22:27:39 2008 -0800 pcmcia/3c574_cs: fix 'shadow variable' warning Fixing: CHECK drivers/net/pcmcia/3c574_cs.c drivers/net/pcmcia/3c574_cs.c:695:7: warning: symbol 'i' shadows an earlier one drivers/net/pcmcia/3c574_cs.c:636:6: originally declared here Signed-off-by: Richard Knutson Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 52debb06238b8076ec2667359668d4c5e38e8807 Author: Randy Dunlap Date: Mon Feb 4 22:27:38 2008 -0800 pcmcia: include bad CIS filename in error message - Print the invalid CIS filename in the invalid filename message. - Use sizeof() instead of hard-coded constant for buffer size. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6b4fa6d698f5cf331ead08db4ba5e60cd3c83be Author: David Brownell Date: Mon Feb 4 22:27:37 2008 -0800 pcmcia: stop updating dev->power.power_state This stops the pcmcia core from using dev->power.power_state; that field is deprecated (overdue for removal) and the only reason to update it was to make the /sys/devices/.../power/state files (now removed) work better. Signed-off-by: David Brownell Cc: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 906da809c5be30b4c7f32bb6a489fb25ad794878 Author: Olof Johansson Date: Mon Feb 4 22:27:35 2008 -0800 pcmcia: replace kio_addr_t with unsigned int everywhere Remove kio_addr_t, and replace it with unsigned int. No known architecture needs more than 32 bits for IO addresses and ports and having a separate type for it is just messy. Signed-off-by: Olof Johansson Cc: Christoph Hellwig Cc: Matthew Wilcox Cc: Alan Cox Cc: Dominik Brodowski Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ecb8a8472f6d314096f20885722f2033d2071719 Author: Olof Johansson Date: Mon Feb 4 22:27:34 2008 -0800 pcmcia: convert some internal-only ioaddr_t to unsigned int Convert the io_req_t members to unsigned int, to allow use on machines with more than 16 bits worth of IO ports (i.e. secondary busses on ppc64, etc). There was only a couple of places in drivers where a change was needed. I left printk formats alone (there are lots of %04x-style formats in there), mostly to not change the format on the platforms that only have 16-bit io addresses, but also because the padding doesn't really add all that much value most of the time. I found only one sprintf of an address, and upsized the string accordingly (I doubt anyone will have anywhere near INT_MAX as irq value, but at least there's room for it now). Signed-off-by: Olof Johansson Cc: Christoph Hellwig Cc: Matthew Wilcox Cc: Alan Cox Cc: Dominik Brodowski Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7852375bbbfc7fb9c1117d73914aeb3baf917539 Author: Jiri Olsa Date: Mon Feb 4 22:27:33 2008 -0800 m32r: remove dead config symbols from M32R code remove dead config symbols from M32R code Signed-off-by: Jiri Olsa Cc: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 134d495656d674511b7ea074f819d92fcc2024fa Author: Andrew Morton Date: Mon Feb 4 22:27:31 2008 -0800 include/asm-powerpc/nvram.h needs list.h CC [M] sound/ppc/awacs.o In file included from sound/ppc/awacs.c:24: include/asm/nvram.h:62: error: field 'partition' has incomplete type Reported-by: Mariusz Kozlowski Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7492d4a416d68ab4bd254b36ffcc4e0138daa8ff Author: Al Viro Date: Mon Feb 4 22:27:29 2008 -0800 sdio: fix module device table definition for m68k FATAL: drivers/bluetooth/btsdio: sizeof(struct sdio_device_id)=12 is not a modulo of the size of section __mod_sdio_device_table=30. Fix definition of struct sdio_device_id in mod_devicetable.h m68k has 16bit alignment for unsigned long. Cc: Geert Uytterhoeven Cc: Sam Ravnborg Cc: Pierre Ossman CC: Marcel Holtmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f79c343e2e5ba82b9661e7287a42fac596bf367a Author: Davide Libenzi Date: Mon Feb 4 22:27:29 2008 -0800 timerfd: un-break CONFIG_TIMERFD Remove the broken status to CONFIG_TIMERFD. Signed-off-by: Davide Libenzi Cc: Michael Kerrisk Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb9282ee589e57360ab701a7e450e03e7890401d Author: Davide Libenzi Date: Mon Feb 4 22:27:28 2008 -0800 timerfd: wire the new timerfd API to the x86 family Wires up the new timerfd API to the x86 family. Signed-off-by: Davide Libenzi Cc: Michael Kerrisk Cc: Thomas Gleixner Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d672e7ac79b5ec5cdc90e450823441e20464691 Author: Davide Libenzi Date: Mon Feb 4 22:27:26 2008 -0800 timerfd: new timerfd API This is the new timerfd API as it is implemented by the following patch: int timerfd_create(int clockid, int flags); int timerfd_settime(int ufd, int flags, const struct itimerspec *utmr, struct itimerspec *otmr); int timerfd_gettime(int ufd, struct itimerspec *otmr); The timerfd_create() API creates an un-programmed timerfd fd. The "clockid" parameter can be either CLOCK_MONOTONIC or CLOCK_REALTIME. The timerfd_settime() API give new settings by the timerfd fd, by optionally retrieving the previous expiration time (in case the "otmr" parameter is not NULL). The time value specified in "utmr" is absolute, if the TFD_TIMER_ABSTIME bit is set in the "flags" parameter. Otherwise it's a relative time. The timerfd_gettime() API returns the next expiration time of the timer, or {0, 0} if the timerfd has not been set yet. Like the previous timerfd API implementation, read(2) and poll(2) are supported (with the same interface). Here's a simple test program I used to exercise the new timerfd APIs: http://www.xmailserver.org/timerfd-test2.c [akpm@linux-foundation.org: coding-style cleanups] [akpm@linux-foundation.org: fix ia64 build] [akpm@linux-foundation.org: fix m68k build] [akpm@linux-foundation.org: fix mips build] [akpm@linux-foundation.org: fix alpha, arm, blackfin, cris, m68k, s390, sparc and sparc64 builds] [heiko.carstens@de.ibm.com: fix s390] [akpm@linux-foundation.org: fix powerpc build] [akpm@linux-foundation.org: fix sparc64 more] Signed-off-by: Davide Libenzi Cc: Michael Kerrisk Cc: Thomas Gleixner Cc: Davide Libenzi Cc: Michael Kerrisk Cc: Martin Schwidefsky Signed-off-by: Heiko Carstens Cc: Michael Kerrisk Cc: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e05ad7d4e3b11f935998882b5d9c3b257137f1b Author: Davide Libenzi Date: Mon Feb 4 22:27:25 2008 -0800 timerfd: introduce a new hrtimer_forward_now() function I think that advancing the timer against the timer's current "now" can be a pretty common usage, so, w/out exposing hrtimer's internals, we add a new hrtimer_forward_now() function. Signed-off-by: Davide Libenzi Cc: Michael Kerrisk Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed5d2cac114202fe2978a9cbcab8f5032796d538 Author: Oleg Nesterov Date: Mon Feb 4 22:27:24 2008 -0800 exec: rework the group exit and fix the race with kill As Roland pointed out, we have the very old problem with exec. de_thread() sets SIGNAL_GROUP_EXIT, kills other threads, changes ->group_leader and then clears signal->flags. All signals (even fatal ones) sent in this window (which is not too small) will be lost. With this patch exec doesn't abuse SIGNAL_GROUP_EXIT. signal_group_exit(), the new helper, should be used to detect exit_group() or exec() in progress. It can have more users, but this patch does only strictly necessary changes. Signed-off-by: Oleg Nesterov Cc: Davide Libenzi Cc: Ingo Molnar Cc: Robin Holt Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f558b7e408026eb3c6afcd0e8fc1f7fe31195a6a Author: Oleg Nesterov Date: Mon Feb 4 22:27:24 2008 -0800 remove handle_group_stop() in favor of do_signal_stop() Every time we set SIGNAL_GROUP_EXIT or clear SIGNAL_STOP_DEQUEUED we also reset ->group_stop_count. This means that the SIGNAL_GROUP_EXIT check in handle_group_stop() is not needed, and do_signal_stop() should check SIGNAL_STOP_DEQUEUED only when ->group_stop_count == 0. With these changes handle_group_stop() becomes the subset of do_signal_stop(), we can kill it and use do_signal_stop() instead. Also, a preparation for the next patch. Signed-off-by: Oleg Nesterov Cc: Davide Libenzi Cc: Ingo Molnar Cc: Robin Holt Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 198466b41d11dd062fb26ee0376080458d7bfcaf Author: Oleg Nesterov Date: Mon Feb 4 22:27:23 2008 -0800 __group_complete_signal(): fix coredump with group stop race When __group_complete_signal() sees sig_kernel_coredump() signal, it starts the group stop, but sets ->group_exit_task = t in a hope that "t" will actually dequeue this signal and invoke do_coredump(). However, by the time "t" enters get_signal_to_deliver() it is possible that the signal was blocked/ignored or we have another pending !SIG_KERNEL_COREDUMP_MASK signal which will be dequeued first. This means the task could be stopped but not killed. Remove this code from __group_complete_signal(). Note also this patch removes the bogus signal_wake_up(t, 1). This thread can't be STOPPED/TRACED, note the corresponding check in wants_signal(). Signed-off-by: Oleg Nesterov Cc: Davide Libenzi Cc: Ingo Molnar Cc: Robin Holt Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bdff746a3915f109bd13730b6847e33e17e91ed3 Author: Andrew Morton Date: Mon Feb 4 22:27:22 2008 -0800 clone: prepare to recycle CLONE_STOPPED Ulrich says that we never used this clone flags and that nothing should be using it. As we're down to only a single bit left in clone's flags argument, let's add a warning to check that no userspace is actually using it. Hopefully we will be able to recycle it. Roland said: CLONE_STOPPED was previously used by some NTPL versions when under thread_db (i.e. only when being actively debugged by gdb), but not for a long time now, and it never worked reliably when it was used. Removing it seems fine to me. [akpm@linux-foundation.org: it looks like CLONE_DETACHED is being used] Cc: Ulrich Drepper Cc: Ingo Molnar Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 59714d65dfbc86d5cb93adc5bac57a921cc2fa84 Author: Andrew Morton Date: Mon Feb 4 22:27:21 2008 -0800 get_task_comm(): return the result It was dumb to make get_task_comm() return void. Change it to return a pointer to the resulting output for caller convenience. Cc: Ulrich Drepper Cc: Ingo Molnar Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ccf831cbee94df9c5006dd46248c0f07847dd7c Author: Peter Zijlstra Date: Mon Feb 4 22:27:20 2008 -0800 lockdep: annotate epoll On Sat, 2008-01-05 at 13:35 -0800, Davide Libenzi wrote: > I remember I talked with Arjan about this time ago. Basically, since 1) > you can drop an epoll fd inside another epoll fd 2) callback-based wakeups > are used, you can see a wake_up() from inside another wake_up(), but they > will never refer to the same lock instance. > Think about: > > dfd = socket(...); > efd1 = epoll_create(); > efd2 = epoll_create(); > epoll_ctl(efd1, EPOLL_CTL_ADD, dfd, ...); > epoll_ctl(efd2, EPOLL_CTL_ADD, efd1, ...); > > When a packet arrives to the device underneath "dfd", the net code will > issue a wake_up() on its poll wake list. Epoll (efd1) has installed a > callback wakeup entry on that queue, and the wake_up() performed by the > "dfd" net code will end up in ep_poll_callback(). At this point epoll > (efd1) notices that it may have some event ready, so it needs to wake up > the waiters on its poll wait list (efd2). So it calls ep_poll_safewake() > that ends up in another wake_up(), after having checked about the > recursion constraints. That are, no more than EP_MAX_POLLWAKE_NESTS, to > avoid stack blasting. Never hit the same queue, to avoid loops like: > > epoll_ctl(efd2, EPOLL_CTL_ADD, efd1, ...); > epoll_ctl(efd3, EPOLL_CTL_ADD, efd2, ...); > epoll_ctl(efd4, EPOLL_CTL_ADD, efd3, ...); > epoll_ctl(efd1, EPOLL_CTL_ADD, efd4, ...); > > The code "if (tncur->wq == wq || ..." prevents re-entering the same > queue/lock. Since the epoll code is very careful to not nest same instance locks allow the recursion. Signed-off-by: Peter Zijlstra Tested-by: Stefan Richter Acked-by: Davide Libenzi Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96cf49a2c13e8dcf442abaadf6645f6a1fb3ae92 Author: Andrew Morton Date: Mon Feb 4 22:27:19 2008 -0800 drivers/net/wireless/b43/main.c needs io.h m68k: drivers/net/wireless/b43/main.c:251: error: implicit declaration of function 'mmiowb' Cc: "John W. Linville" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a459e44ad837018ea5c34a9efe8eb4ad27ded26 Author: Oleg Nesterov Date: Mon Feb 4 22:27:18 2008 -0800 sys_remap_file_pages: fix ->vm_file accounting Fix ->vm_file accounting, mmap_region() may do do_munmap(). Signed-off-by: Oleg Nesterov Signed-off-by: Miklos Szeredi Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c0b49b0d164c4902e53c17d90e2c5e5a2ac9e132 Author: Andrew Morton Date: Mon Feb 4 22:27:18 2008 -0800 kvm: i386 fix arch/x86/kvm/x86.c: In function 'emulator_cmpxchg_emulated': arch/x86/kvm/x86.c:1746: warning: passing argument 2 of 'vcpu->arch.mmu.gva_to_gpa' makes integer from pointer without a cast arch/x86/kvm/x86.c:1746: warning: 'addr' is used uninitialized in this function Is true. Local variable `addr' shadows incoming arg `addr'. Avi is on vacation for a while, so... Cc: Avi Kivity Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e1b0d4ba46b42909d11ea152a6b56ee76f062ca3 Author: Pavel Emelyanov Date: Mon Feb 4 23:43:03 2008 -0800 [IA64] make pfm_get_task work with virtual pids This pid comes from user space, so treat it accordingly. Signed-off-by: Pavel Emelyanov Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 620de2f5dc697f906408743b1139fe5fb7b0b7f8 Author: Jan Beulich Date: Mon Feb 4 23:43:03 2008 -0800 [IA64] honor notify_die() returning NOTIFY_STOP This requires making die() and die_if_kernel() return a value, and their callers to honor this (and be prepared that it returns). Signed-off-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit ef3c4cb936d854d1564172f2dcce9c20d1b08761 Author: Jan Beulich Date: Mon Feb 4 23:43:02 2008 -0800 [IA64] remove dead code: __cpu_{down,die} from !HOTPLUG_CPU Neither __cpu_down() nor __cpu_die() are being referenced without CONFIG_HOTPLUG_CPU. Signed-off-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 01f2d38498957e967cd6f6011a6b208393957b4a Author: Vlad Yasevich Date: Fri Jan 11 11:17:27 2008 -0500 [SCTP]: Kill silly inlines in ulpqueue.c Signed-off-by: Vlad Yasevich commit 0eca8fee0ce3fa0962ac98ab30c10995754a3195 Author: Vlad Yasevich Date: Fri Jan 11 10:12:56 2008 -0500 [SCTP]: Do not increase rwnd when reading partial notification. When a user reads a partial notification message, do not update rwnd since notifications must not be counted towards receive window. Tested-by: Oliver Roll Signed-off-by: Vlad Yasevich commit 60c778b25972e095df8981dd41e99d161e8738f9 Author: Vlad Yasevich Date: Fri Jan 11 09:57:09 2008 -0500 [SCTP]: Stop claiming that this is a "reference implementation" I was notified by Randy Stewart that lksctp claims to be "the reference implementation". First of all, "the refrence implementation" was the original implementation of SCTP in usersapce written ty Randy and a few others. Second, after looking at the definiton of 'reference implementation', we don't really meet the requirements. Signed-off-by: Vlad Yasevich commit b8356c465b42c162f34b5fd4102a6c27cec36f43 Author: Valerie Clement Date: Tue Feb 5 10:56:37 2008 -0500 ext4: Don't set EXTENTS_FL flag for fast symlinks For fast symbolic links, the file content is stored in the i_block[] array, which is not compatible with the new file extents format. e2fsck reports error on such files because EXTENTS_FL is set. Don't set the EXTENTS_FL flag when creating fast symlinks. In the case of file migration, skip fast symbolic links. Signed-off-by: Valerie Clement Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 4d605179723a3fb8ba594d9516897426e6629a5b Author: Aneesh Kumar K.V Date: Tue Feb 5 10:56:15 2008 -0500 JBD2: Use the incompat macro for testing the incompat feature. JBD2_FEATURE_INCOMPAT_ASYNC_COMMIT needs to be checked with JBD2_HAS_INCOMPAT_FEATURE Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit c4b8e635f525441b9cb0bab428b527858d977e8f Author: Aneesh Kumar K.V Date: Tue Feb 5 10:55:26 2008 -0500 jbd2: Fix reference counting on the journal commit block's buffer head With journal checksum patch we added asynchronous commits of journal commit headers, and accidentally dropped taking a reference on the buffer head. (Before the change, sync_dirty_buffer did the get_bh(). The associative put_bh is done by journal_wait_on_commit_record().) Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" 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 c5411dba58c28736d25cffef65da1e01ed7d1423 Author: Heiko Carstens Date: Tue Feb 5 16:50:50 2008 +0100 [S390] dcss: Initialize workqueue before using it. In case a dcss segment cannot be loaded blk_cleanup_queue will be called before blk_queue_make_request, leaving the struct work unplug_work of the request queue uninitialized before it is used. That leads also to the lockdep message below. To avoid that call blk_queue_make_request right after the request_queue has been allocated. This makes sure that the struct work is always initialized before it is used. INFO: trying to register non-static key. the code is fine but needs lockdep annotation. turning off the locking correctness validator. CPU: 2 Not tainted 2.6.24 #6 Process swapper (pid: 1, task: 000000000f854038, ksp: 000000000f85f980) 040000000f85f860 000000000f85f880 0000000000000002 0000000000000000 000000000f85f920 000000000f85f898 000000000f85f898 000000000001622e 0000000000000000 000000000f85f980 0000000000000000 0000000000000000 000000000f85f880 000000000000000c 000000000f85f880 000000000f85f8f0 0000000000342908 000000000001622e 000000000f85f880 000000000f85f8d0 Call Trace: ([<000000000001619e>] show_trace+0xda/0x104) [<0000000000016288>] show_stack+0xc0/0xf8 [<00000000000163d0>] dump_stack+0xb0/0xc0 [<000000000006e4ea>] __lock_acquire+0x47e/0x1160 [<000000000006f27c>] lock_acquire+0xb0/0xd8 [<000000000005a522>] __cancel_work_timer+0x9e/0x240 [<000000000005a72e>] cancel_work_sync+0x2a/0x3c [<0000000000165c46>] kblockd_flush_work+0x26/0x34 [<0000000000169034>] blk_sync_queue+0x38/0x48 [<0000000000169080>] blk_release_queue+0x3c/0xa8 [<000000000017bce8>] kobject_cleanup+0x58/0xac [<000000000017bd66>] kobject_release+0x2a/0x38 [<000000000017d28e>] kref_put+0x6e/0x94 [<000000000017bc80>] kobject_put+0x38/0x48 [<00000000001653be>] blk_put_queue+0x2a/0x38 [<0000000000168fee>] blk_cleanup_queue+0x82/0x90 [<0000000000213e7e>] dcssblk_add_store+0x34e/0x700 [<00000000005243b8>] dcssblk_init+0x1a0/0x308 [<000000000050a3c2>] kernel_init+0x1b2/0x3a4 [<000000000001ac82>] kernel_thread_starter+0x6/0xc [<000000000001ac7c>] kernel_thread_starter+0x0/0xc INFO: lockdep is turned off. Cc: Gerald Schaefer Cc: Carsten Otte Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 0189103c69f47712a0c542a8bc28ff46ebe53a8a Author: Heiko Carstens Date: Tue Feb 5 16:50:49 2008 +0100 [S390] Remove BUILD_BUG_ON() in vmem code. Remove BUILD_BUG_ON() in vmem code since it causes build failures if the size of struct page increases. Instead calculate at compile time the address of the highest physical address that can be added to the 1:1 mapping. This supposed to fix a build failure with the page owner tracking leak detector patches as reported by akpm. page-owner-tracking-leak-detector-broken-on-s390.patch can be removed from -mm again when this is merged. Cc: Andrew Morton Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit e35e1fadb4585e3143fab34dd4f5070698b3305b Author: Christian Borntraeger Date: Tue Feb 5 16:50:48 2008 +0100 [S390] sclp_tty/sclp_vt220: Fix scheduling while atomic Under load the following bug message appeared while using sysrq-t: BUG: scheduling while atomic: bash/3662/0x00000004 0000000000105b74 000000003ba17740 0000000000000002 0000000000000000 000000003ba177e0 000000003ba17758 000000003ba17758 0000000000105bfe 0000000000817ba8 000000003f2a5350 0000000000000000 0000000000000000 000000003ba17740 000000000000000c 000000003ba17740 000000003ba177b0 0000000000568630 0000000000105bfe 000000003ba17740 000000003ba17790 Call Trace: ([<0000000000105b74>] show_trace+0x13c/0x158) [<0000000000105c58>] show_stack+0xc8/0xfc [<0000000000105cbc>] dump_stack+0x30/0x40 [<000000000012a0c8>] __schedule_bug+0x84/0x94 [<000000000056234e>] schedule+0x5ea/0x970 [<0000000000477cd2>] __sclp_vt220_write+0x1f6/0x3ec [<0000000000477f00>] sclp_vt220_con_write+0x38/0x48 [<0000000000130b4a>] __call_console_drivers+0xbe/0xd8 [<0000000000130bf0>] _call_console_drivers+0x8c/0xd0 [<0000000000130eea>] release_console_sem+0x1a6/0x2fc [<0000000000131786>] vprintk+0x262/0x480 [<00000000001319fa>] printk+0x56/0x68 [<0000000000125aaa>] print_cfs_rq+0x45e/0x4a4 [<000000000012614e>] sched_debug_show+0x65e/0xee8 [<000000000012a8fc>] show_state_filter+0x1cc/0x1f0 [<000000000044d39c>] sysrq_handle_showstate+0x2c/0x3c [<000000000044d1fe>] __handle_sysrq+0xae/0x18c [<00000000002001f2>] write_sysrq_trigger+0x8a/0x90 [<00000000001f7862>] proc_reg_write+0x9a/0xc4 [<00000000001a83d4>] vfs_write+0xb8/0x174 [<00000000001a8b88>] sys_write+0x58/0x8c [<0000000000112e7c>] sysc_noemu+0x10/0x16 [<0000020000116f68>] 0x20000116f68 The problem seems to be, that with a full console buffer, release_console_sem disables interrupts with spin_lock_irqsave and then calls the console function without enabling interrupts. __sclp_vt220_write checks for in_interrupt, to decide if it can schedule. It should check for in_atomic instead. The same is true for sclp_tty.c. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit fe6b8e76d920b93fd445382aff7ff24082af8874 Author: Stefan Weinhuber Date: Tue Feb 5 16:50:47 2008 +0100 [S390] dasd: fix panic caused by alias device offline When an alias device is set offline while it is in use this may result in a panic in the cleanup part of the dasd_block_tasklet. The problem here is that there may exist some ccw requests that were originally created for the alias device and transferred to the base device when the alias was set offline. When these request are cleaned up later, the discipline pointer in the alias device may not be valid anymore. To fix this use the base device discipline to find the cleanup function. Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit 6c5f57c7884a7e0806ae9af86de243321cab4953 Author: Stefan Haberland Date: Tue Feb 5 16:50:46 2008 +0100 [S390] dasd: add ifcc handling Adding interface control check (ifcc) handling in error recovery. First retry up to 255 times and if all retries fail try an alternate path if possible. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit a3afe70b83fdbbd4d757d2911900d168bc798a31 Author: Heiko Carstens Date: Tue Feb 5 16:50:45 2008 +0100 [S390] latencytop s390 support. Cc: Holger Wolf Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 67fe9251bba510572feb6c3357636148bbd17e30 Author: Heiko Carstens Date: Tue Feb 5 16:50:44 2008 +0100 [S390] Implement ext2_find_next_bit. Fixes this compile error: fs/ext4/mballoc.c: In function 'ext4_mb_generate_buddy': fs/ext4/mballoc.c:954: error: implicit declaration of function 'generic_find_next_le_bit' Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 0abbf05cdd69d74f92628bf444cd210ba046f6eb Author: Martin Schwidefsky Date: Tue Feb 5 16:50:43 2008 +0100 [S390] Cleanup & optimize bitops. The bitops header is now a bit shorter and easier to understand since it uses less inline assembly. It requires some tricks to persuade the compiler to generate decent code. The ffz/ffs functions now use the _zb_findmap/_sb_findmap table as well. With this cleanup the new bitops for ext4 can be implemented with a few lines, instead of another large inline assembly. Signed-off-by: Martin Schwidefsky commit b6b40c532a36f91df9c21caf9baba3b635e99d4e Author: Martin Schwidefsky Date: Tue Feb 5 16:50:42 2008 +0100 [S390] Define GENERIC_LOCKBREAK. Fix compile error: CC arch/s390/kernel/asm-offsets.s In file included from arch/s390/kernel/asm-offsets.c:7: include/linux/sched.h: In function 'spin_needbreak': include/linux/sched.h:1931: error: implicit declaration of function '__raw_spin_is_contended' make[2]: *** [arch/s390/kernel/asm-offsets.s] Error 1 Signed-off-by: Martin Schwidefsky commit 8c0933eeb701eb8f526d88b1915af7bb35748e7b Author: Peter Oberparleiter Date: Tue Feb 5 16:50:41 2008 +0100 [S390] console: allow vt220 console to be the only console Fix console detection logic to support configurations in which the vt220 console is the only available Linux console. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 2bc89b5ece48dc888734e8760ba5ad8566431912 Author: Heiko Carstens Date: Tue Feb 5 16:50:40 2008 +0100 [S390] Fix couple of section mismatches. Fix couple of section mismatches. And since we touch the code anyway change the IPL code to use C99 initializers. Cc: Michael Holzheu Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 37c5f719e71882b759fa8acbdd11d5ca3a7965bb Author: Heiko Carstens Date: Tue Feb 5 16:50:39 2008 +0100 [S390] Fix smp_call_function_mask semantics. Make sure func isn't called on the local cpu just like on all other architectures that implement this function. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit a817a61f85c75181bde6c3d83ae11a24b089dd6a Author: Heiko Carstens Date: Tue Feb 5 16:50:38 2008 +0100 [S390] Fix linker script. Fixes this warning: vmlinux: warning: allocated section `.text' not in segment Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 2485579bf5d3ea30d39b251defa1620ad77168bd Author: Heiko Carstens Date: Tue Feb 5 16:50:37 2008 +0100 [S390] DEBUG_PAGEALLOC support for s390. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 01bc8ad165490458a8feb744c8f401c1a7098e3a Author: Cornelia Huck Date: Tue Feb 5 16:50:36 2008 +0100 [S390] cio: Add shutdown callback for ccwgroup. This intendeds to make proper shutdown of qeth devices easier. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 2fffc9355e6240466d1af764b0dcdede52085f7c Author: Cornelia Huck Date: Tue Feb 5 16:50:35 2008 +0100 [S390] cio: Update documentation. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit b9c9a21a7c8faeff1d13a23d2c57a5d4b512cfa0 Author: Cornelia Huck Date: Tue Feb 5 16:50:34 2008 +0100 [S390] cio: Clean up chsc response code handling. This provides unified return codes for common response codes and also makes the debug feature messages more similar and informational. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 6f52ac29712f3eec192599249b12612360948646 Author: Peter Oberparleiter Date: Tue Feb 5 16:50:33 2008 +0100 [S390] cio: make sense id procedure work with partial hardware response In some cases the current sense id procedure trips over incomplete hardware responses. In these cases, checking against the preset value of 0xFFFF is not enough. More critically, the VM DIAG call will always be considered to have provided data after such an incident, even if it was not successful at all. The solution is to always initialize the control unit data before doing a sense id call. Check the condition code before considering the control unit data. And initialize again, before evaluating the VM data. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 3113e88c3cb3c0a22920b621f8e4d1f2ccc07f1e Author: Stephen Hemminger Date: Tue Feb 5 03:20:13 2008 -0800 [PKT_SCHED]: vlan tag match Provide a way to use tc filters on vlan tag even if tag is buried in skb due to hardware acceleration. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit dded91611a728d65721cdab3dd41d801a356fa15 Author: Stephen Hemminger Date: Tue Feb 5 03:18:51 2008 -0800 [NET]: Add if_addrlabel.h to sanitized headers. if_addrlabel.h is needed for iproute2 usage. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 03245ce2f03228d681580c30c435225efadca602 Author: Adrian Bunk Date: Tue Feb 5 03:17:22 2008 -0800 [NET] rtnetlink.c: remove no longer used functions This patch removes the following no longer used functions: - rtattr_parse() - rtattr_strlcpy() - __rtattr_parse_nested_compat() Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 8cf229437fd826c32a44546899412b1eb3e1db6f Author: Herbert Xu Date: Tue Feb 5 03:15:50 2008 -0800 [ICMP]: Restore pskb_pull calls in receive function Somewhere along the development of my ICMP relookup patch the header length check went AWOL on the non-IPsec path. This patch restores the check. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 5d8c0aa9433b09387d9021358baef7939f9b32c4 Author: Pavel Emelyanov Date: Tue Feb 5 03:14:44 2008 -0800 [INET]: Fix accidentally broken inet(6)_hash_connect's port offset calculations. The port offset calculations depend on the protocol family, but, as Adrian noticed, I broke this logic with the commit 5ee31fc1ecdcbc234c8c56dcacef87c8e09909d8 [INET]: Consolidate inet(6)_hash_connect. Return this logic back, by passing the port offset directly into the consolidated function. Signed-off-by: Pavel Emelyanov Noticed-by: Adrian Bunk Signed-off-by: David S. Miller commit 2bfc79de2b6482955f0e352da7e53787dd8167c0 Author: Johann Felix Soden Date: Tue Feb 5 03:13:58 2008 -0800 [NET]: Remove further references to net-modules.txt The Kconfig of igb and enc28j60 contains references to obsolet Documentation/networking/net-modules.txt. Signed-off-by: Johann Felix Soden Signed-off-by: David S. Miller commit 93d807401ced2320d0d1e56bf9de099bba5c0424 Author: Dave Young Date: Tue Feb 5 03:12:06 2008 -0800 bluetooth rfcomm tty: destroy before tty_close() rfcomm dev could be deleted in tty_hangup, so we must not call rfcomm_dev_del again to prevent from destroying rfcomm dev before tty close. Signed-off-by: Dave Young Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 6e46c8cb3cbfa7bafe78d43a3d57750605a2dfa3 Author: Andy Shevchenko Date: Tue Feb 5 03:10:02 2008 -0800 bluetooth: blacklist another Broadcom BCM2035 device This device is recognized as bluetooth, but still not works. Signed-off-by: Andy Shevchenko Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 2fa993423a345fd484f7295797ddb59b7738ad38 Author: Adrian Bunk Date: Tue Feb 5 03:09:17 2008 -0800 drivers/bluetooth/btsdio.c: fix double-free This patch fixes a double-free spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit cb7cd42930d4421780e78323f62243350ea14789 Author: Adrian Bunk Date: Tue Feb 5 03:08:45 2008 -0800 drivers/bluetooth/bpa10x.c: fix memleak This patch fixea a memleak spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 91f5cca3d1b4341624715f6dd01ee09be9af46c4 Author: Andrew Morton Date: Tue Feb 5 03:07:58 2008 -0800 bluetooth: uninlining Remove all those inlines which were either a) unneeded or b) increased code size. text data bss dec hex filename before: 6997 74 8 7079 1ba7 net/bluetooth/hidp/core.o after: 6492 74 8 6574 19ae net/bluetooth/hidp/core.o Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit eff001e35a857361f3fb289fea86e97c334a5446 Author: Dave Young Date: Tue Feb 5 03:07:14 2008 -0800 bluetooth: hidp_process_hid_control remove unnecessary parameter dealing According to the bluetooth HID spec v1.0 chapter 7.4.2 "This code requests a major state change in a BT-HID device. A HID_CONTROL request does not generate a HANDSHAKE response." "A HID_CONTROL packet with a parameter of VIRTUAL_CABLE_UNPLUG is the only HID_CONTROL packet a device can send to a host. A host will ignore all other packets." So in the hidp_precess_hid_control function, we just need to deal with the UNLUG packet. Signed-off-by: Dave Young Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit a26af1e08a3a1e0f88e6f2685ac2313d713a59c9 Author: Nathaniel Filardo Date: Tue Feb 5 03:05:07 2008 -0800 tun: impossible to deassert IFF_ONE_QUEUE or IFF_NO_PI From: "Nathaniel Filardo" Taken from http://bugzilla.kernel.org/show_bug.cgi?id=9806 The TUN/TAP driver only permits one-way transitions of IFF_NO_PI or IFF_ONE_QUEUE during the lifetime of a tap/tun interface. Note that tun_set_iff contains 541 if (ifr->ifr_flags & IFF_NO_PI) 542 tun->flags |= TUN_NO_PI; 543 544 if (ifr->ifr_flags & IFF_ONE_QUEUE) 545 tun->flags |= TUN_ONE_QUEUE; This is easily fixed by adding else branches which clear these bits. Steps to reproduce: This is easily reproduced by setting an interface persistant using tunctl then attempting to open it as IFF_TAP or IFF_TUN, without asserting the IFF_NO_PI flag. The ioctl() will succeed and the ifr.flags word is not modified, but the interface remains in IFF_NO_PI mode (as it was set by tunctl). Acked-by: Maxim Krasnyansky Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit cd8d627a6b66d9755637b4dad2083864a9bfce9a Author: Randy Dunlap Date: Tue Feb 5 03:04:05 2008 -0800 hamradio: fix dmascc section mismatch hw[] is used in both init and exit functions so it cannot be initdata (section mismatch is when CONFIG_MODULES=n and CONFIG_DMASCC=y). WARNING: vmlinux.o(.exit.text+0xba7): Section mismatch: reference to .init.data: (between 'dmascc_exit' and 'sixpack_exit_driver') Signed-off-by: Randy Dunlap Cc: Klaus Kudielka Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 7cc08b55fc476a9474e4dc9da41071b5dc2b406e Author: Wei Yongjun Date: Tue Feb 5 03:03:06 2008 -0800 [SCTP]: Fix kernel panic while received AUTH chunk with BAD shared key identifier If SCTP-AUTH is enabled, received AUTH chunk with BAD shared key identifier will cause kernel panic. Test as following: step1: enabled /proc/sys/net/sctp/auth_enable step 2: connect to SCTP server with auth capable. Association is established between endpoints. Then send a AUTH chunk with a bad shareid, SCTP server will kernel panic after received that AUTH chunk. SCTP client SCTP server INIT ----------> (with auth capable) <---------- INIT-ACK (with auth capable) COOKIE-ECHO ----------> <---------- COOKIE-ACK AUTH ----------> AUTH chunk is like this: AUTH chunk Chunk type: AUTH (15) Chunk flags: 0x00 Chunk length: 28 Shared key identifier: 10 HMAC identifier: SHA-1 (1) HMAC: 0000000000000000000000000000000000000000 The assignment of NULL to key can safely be removed, since key_for_each (which is just list_for_each_entry under the covers does an initial assignment to key anyway). If the endpoint_shared_keys list is empty, or if the key_id being requested does not exist, the function as it currently stands returns the actuall list_head (in this case endpoint_shared_keys. Since that list_head isn't surrounded by an actuall data structure, the last iteration through list_for_each_entry will do a container_of on key, and we wind up returning a bogus pointer, instead of NULL, as we should. > Neil Horman wrote: >> On Tue, Jan 22, 2008 at 05:29:20PM +0900, Wei Yongjun wrote: >> >> FWIW, Ack from me. The assignment of NULL to key can safely be >> removed, since >> key_for_each (which is just list_for_each_entry under the covers does >> an initial >> assignment to key anyway). >> If the endpoint_shared_keys list is empty, or if the key_id being >> requested does >> not exist, the function as it currently stands returns the actuall >> list_head (in >> this case endpoint_shared_keys. Since that list_head isn't >> surrounded by an >> actuall data structure, the last iteration through >> list_for_each_entry will do a >> container_of on key, and we wind up returning a bogus pointer, >> instead of NULL, >> as we should. Wei's patch corrects that. >> >> Regards >> Neil >> >> Acked-by: Neil Horman >> > > Yep, the patch is correct. > > Acked-by: Vlad Yasevich > > -vlad > Signed-off-by: Wei Yongjun Acked-by: Neil Horman Acked-by: Vlad Yasevich Signed-off-by: David S. Miller commit d2f19fa13ee5e78d4195a771f8f1ff7d42a80740 Author: Wei Yongjun Date: Tue Feb 5 03:02:26 2008 -0800 [SCTP]: Fix kernel panic while received AUTH chunk while enabled auth If STCP is started while /proc/sys/net/sctp/auth_enable is set 0 and association is established between endpoints. Then if /proc/sys/net/sctp/auth_enable is set 1, a received AUTH chunk will cause kernel panic. Test as following: step 1: echo 0> /proc/sys/net/sctp/auth_enable step 2: SCTP client SCTP server INIT ---------> <--------- INIT-ACK COOKIE-ECHO ---------> <--------- COOKIE-ACK step 3: echo 1> /proc/sys/net/sctp/auth_enable step 4: SCTP client SCTP server AUTH -----------> Kernel Panic This patch fix this probleam to treat AUTH chunk as unknow chunk if peer has initialized with no auth capable. > Sorry for the delay. Was on vacation without net access. > > Wei Yongjun wrote: >> >> >> This patch fix this probleam to treat AUTH chunk as unknow chunk if >> peer has initialized with no auth capable. >> >> Signed-off-by: Wei Yongjun > > Acked-by: Vlad Yasevich > >> Signed-off-by: Wei Yongjun Acked-by: Vlad Yasevich Signed-off-by: David S. Miller commit 4c6222587118f0776bdf40d498361d49572c58dd Author: Adrian Bunk Date: Tue Feb 5 03:01:43 2008 -0800 [SPARC64] pci_sun4v.c: Section fixes. WARNING: vmlinux.o(.text+0x39be4): Section mismatch in reference from the function probe_existing_entries() to the function .init.text:page_in_phys_avail() Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit b9c4d82a853713d49ac53b507964d7cf30ee408d Author: Denis V. Lunev Date: Tue Feb 5 02:58:45 2008 -0800 [IPV4]: Formatting fix for /proc/net/fib_trie. The line in the /proc/net/fib_trie for route with TOS specified - has extra \n at the end - does not have a space after route scope like below. |-- 1.1.1.1 /32 universe UNICASTtos =1 Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 6de1a9104034a2c58db3abdaf03cddb507225137 Author: Daniel Lezcano Date: Tue Feb 5 02:57:59 2008 -0800 [IPV6]: Fix sysctl compilation error. Move ipv6_icmp_sysctl_init and ipv6_route_sysctl_init into the right ifdef section otherwise that does not compile when CONFIG_SYSCTL=yes and CONFIG_PROC_FS=no Signed-off-by: Daniel Lezcano Acked-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 0aead543479e7f20013217fe3fc33a604fdd8944 Author: Rami Rosen Date: Tue Feb 5 02:56:48 2008 -0800 [NET_SCHED]: Add #ifdef CONFIG_NET_EMATCH in net/sched/cls_flow.c (latest git broken build) The 2.6 latest git build was broken when using the following configuration options: CONFIG_NET_EMATCH=n CONFIG_NET_CLS_FLOW=y with the following error: net/sched/cls_flow.c: In function 'flow_dump': net/sched/cls_flow.c:598: error: 'struct tcf_ematch_tree' has no member named 'hdr' make[2]: *** [net/sched/cls_flow.o] Error 1 make[1]: *** [net/sched] Error 2 make: *** [net] Error 2 see the recent post by Li Zefan: http://www.spinics.net/lists/netdev/msg54434.html The reason for this crash is that struct tcf_ematch_tree (net/pkt_cls.h) is empty when CONFIG_NET_EMATCH is not defined. When CONFIG_NET_EMATCH is defined, the tcf_ematch_tree structure indeed holds a struct tcf_ematch_tree_hdr (hdr) as flow_dump() expects. This patch adds #ifdef CONFIG_NET_EMATCH in flow_dump to avoid this. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit cc8274f50f2ad9a97a837451f63a0a3e65f7f490 Author: Li Zefan Date: Tue Feb 5 02:54:16 2008 -0800 [IPV4]: Fix compile error building without CONFIG_FS_PROC compile error building without CONFIG_FS_PROC: net/ipv4/fib_frontend.c: In function 'fib_net_init': net/ipv4/fib_frontend.c:1032: error: implicit declaration of function 'fib_proc_ init' net/ipv4/fib_frontend.c: In function 'fib_net_exit': net/ipv4/fib_frontend.c:1047: error: implicit declaration of function 'fib_proc_ exit' Signed-off-by: Li Zefan Signed-off-by: David S. Miller commit 322c8a3c364ef4d9ead17e86890c19816b0e262f Author: Adrian Bunk Date: Tue Feb 5 02:51:39 2008 -0800 [IPSEC] xfrm4_beet_input(): fix an if() A bug every C programmer makes at some point in time... Signed-off-by: Adrian Bunk Acked-by: Herbert Xu Signed-off-by: David S. Miller commit bc894606e8843808c232319f69c26c18f6eaa662 Author: Dave Airlie Date: Tue Feb 5 15:05:23 2008 +1000 agp: remove flush_agp_mappings calls from new flush handling code Signed-off-by: Dave Airlie commit f011ae7437761dc071b4154cabb0041df041a7c0 Author: Dave Airlie Date: Fri Jan 25 11:23:04 2008 +1000 intel-agp: introduce IS_I915 and do some cleanups.. Add a new IS_I915 and also do some checkpatch whitespace cleanups. Signed-off-by: Dave Airlie commit 9119f85a0cdbac0397b39fa198866bf530cfab8b Author: Zhenyu Wang Date: Wed Jan 23 15:49:26 2008 +1000 [intel_agp] fix name for G35 chipset Change origin chipset name i965G_1 to market name G35. Signed-off-by: Zhenyu Wang Signed-off-by: Dave Airlie commit 4d64dd9e5d96cdcfa8dee91c7848341718c77444 Author: Dave Airlie Date: Wed Jan 23 15:34:29 2008 +1000 intel-agp: fixup resource handling in flush code. The flush code resource handling was having problems where some BIOS reserve the resource in a pnp block and some don't. Also there was a bug in that configure was being called at resume and resetting some of the structs. Signed-off-by: Dave Airlie commit 4e8b6e25943a22036a6b704ebef634c7dec4c10e Author: Zhenyu Wang Date: Wed Jan 23 14:54:37 2008 +1000 intel-agp: add new chipset ID This one adds new pci ids for Intel intergrated graphics chipset, with gtt table access change on it and new gtt table size definition. Signed-off-by: Zhenyu Wang Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit 91d361c279b66ce4d617d544641d5f70b27c401a Author: Julia Lawall Date: Wed Dec 5 13:55:36 2007 -0800 agp: remove unnecessary pci_dev_put pci_get_class implicitly does a pci_dev_put on its second argument, so pci_dev_put is only needed if there is a break out of the loop. The semantic match detecting this problem is as follows: // @@ expression dev; expression E; @@ * pci_dev_put(dev) ... when != dev = E ( * pci_get_device(...,dev) | * pci_get_device_reverse(...,dev) | * pci_get_subsys(...,dev) | * pci_get_class(...,dev) ) // Signed-off-by: Julia Lawall Cc: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit 62f29babbc60ab572d3cecda981931d3a66123d6 Author: serue@us.ibm.com Date: Wed Dec 5 13:55:36 2007 -0800 agp: remove uid comparison as security check In the face of containers and user namespaces, a uid==0 check for security is not safe. Switch to a capability check. I'm not sure I picked the right capability, but this being AGP CAP_SYS_RAWIO seemed to make sense. Signed-off-by: Serge Hallyn Signed-off-by: Dave Airlie commit 1fa4db7d308da04f6644c5cb8eed244c200d4ed5 Author: Andrew Morton Date: Thu Nov 29 10:00:48 2007 +1000 fix AGP warning drivers/char/agp/intel-agp.c: In function 'intel_i965_g33_setup_chipset_flush': drivers/char/agp/intel-agp.c:872: warning: right shift count >= width of type I wish the agp code wasn't written in a 10,000-column xterm :( Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit 2162e6a2b0cd5acbb9bd8a3c94e1c1269b078295 Author: Dave Airlie Date: Wed Nov 21 16:36:31 2007 +1000 agp/intel: Add chipset flushing support for i8xx chipsets. This is a bit of a large hammer but it makes sure the chipset is flushed by writing out 1k of data to an uncached page. We may be able to get better information in the future on how to this better. Signed-off-by: Dave Airlie commit 6c00a61e1bc969c3ea931f62f8789d9818bf1918 Author: Dave Airlie Date: Mon Oct 29 18:06:10 2007 +1000 intel-agp: add chipset flushing support This adds support for flushing the chipsets on the 915, 945, 965 and G33 families of Intel chips. The BIOS doesn't seem to always allocate the BAR on the 965 chipsets so I have to use pci resource code to create a resource It adds an export for pcibios_align_resource. commit a13af4b4d842da6d7065b8c73fa8f0ac58fea1b6 Author: Dave Airlie Date: Mon Oct 29 15:14:03 2007 +1000 agp: add chipset flushing support to AGP interface This bumps the AGP interface to 0.103. Certain Intel chipsets contains a global write buffer, and this can require flushing from the drm or X.org to make sure all data has hit RAM before initiating a GPU transfer, due to a lack of coherency with the integrated graphics device and this buffer. This just adds generic support to the AGP interfaces, a follow-on patch will add support to the Intel driver to use this interface. Signed-off-by: Dave Airlie commit 3c2d774cad5bf4fad576363da77870e9e6530b7a Author: Glenn Streiff Date: Mon Feb 4 20:20:45 2008 -0800 RDMA/nes: Add a driver for NetEffect RNICs Add a standard NIC and RDMA/iWARP driver for NetEffect 1/10Gb ethernet adapters. Signed-off-by: Glenn Streiff Signed-off-by: Roland Dreier commit 2c78853472a36c7cf51a84a34edc370e21c93ce4 Author: Olaf Kirch Date: Mon Feb 4 20:20:44 2008 -0800 IB/mthca: Return proper error codes from mthca_fmr_alloc() If the allocation of the MTT or the mailbox failed, mthca_fmr_alloc() would return 0 (success) no matter what. This leads to crashes a little down the road, when we try to dereference eg mr->mtt, which was really ERR_PTR(-Ewhatever). Signed-off-by: Olaf Kirch Signed-off-by: Roland Dreier commit f33afc26dc03e6e0513e2e300f2aa0ad5463c2d2 Author: Roland Dreier Date: Mon Feb 4 20:20:44 2008 -0800 IB: Avoid marking __devinitdata as const Signed-off-by: Roland Dreier commit 68f3948dab39249d178eb007c071f87fb6481fc6 Author: Roland Dreier Date: Mon Feb 4 20:20:44 2008 -0800 IB/mlx4: Actually print out the driver version The string mlx4_ib_version was defined, but never used. Print out the version once when the first device is initialized. Signed-off-by: Roland Dreier commit 1d368c546566e249da8181e933c53788093965cf Author: Eli Cohen Date: Thu Jan 24 06:38:06 2008 -0800 IB/ib_mthca: Pre-link receive WQEs in Tavor mode We have recently discovered that Tavor mode requires each WQE in a posted list of receive WQEs to have a valid NDA field at all times. This requirement holds true for regular QPs as well as for SRQs. This patch prelinks the receive queue in a regular QP and keeps the free list in SRQ always properly linked. Signed-off-by: Eli Cohen Reviewed-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 1203c42e7be1aa0be641b701f42b6d38c2d94b39 Author: Eli Cohen Date: Mon Feb 4 20:20:44 2008 -0800 IB/mthca: Remove checks for srq->first_free < 0 The SRQ receive posting functions make sure that srq->first_free never becomes negative, so we can remove tests of whether it is negative. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 1d96354e617990799b1cb5d7ff8f7c467b8767c8 Author: Or Gerlitz Date: Tue Jan 29 12:56:18 2008 +0200 IB/fmr_pool: Allocate page list for pool FMRs only when caching enabled Allocate memory for the page_list field of struct ib_pool_fmr only when caching is enabled for the FMR pool, since the field is not used otherwise. This can save significant amounts of memory for large pools with caching turned off. Signed-off-by: Or Gerlitz Signed-off-by: Roland Dreier commit 9fe4bcf45ece0b0081031edaaa41581c85ef7049 Author: David Dillow Date: Tue Jan 8 17:08:52 2008 -0500 IB/srp: Retry stale connections When a host just goes away (crash, power loss, etc.) without tearing down its IB connections, it can get stale connection errors when it tries to reconnect to targets upon rebooting. Retrying the connection a few times will prevent sysadmins from playing the "which disk(s) went missing?" game. This would have made things slightly quicker when tracking down some of the recent bugs, but it also helps quite a bit when you've got a large number of targets hanging off a wedged server. Signed-off-by: David Dillow Signed-off-by: Roland Dreier commit 893da75956ab48545e8732b46e1cf4350bd25f9c Author: Jack Morgenstein Date: Sun Jan 27 18:13:25 2008 +0200 mlx4_core: Don't read reserved fields in mlx4_QUERY_ADAPTER() The firmware QUERY_ADAPTER command does not return vendor_id, device_id, and revision_id; eliminate these fields from the query. Initialize the rev_id field of the mlx4 device via init_node_data (MAD IFC query), as is done in the query_device verb implementation. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 6ccef1de2c1718729dd1c7ee8bd98473519eb3b3 Author: Jack Morgenstein Date: Sun Jan 27 18:13:20 2008 +0200 IB/mthca: Don't read reserved fields in mthca_QUERY_ADAPTER() For memfree devices, the firmware QUERY_ADAPTER command does not return vendor_id, device_id, and revision_id; do not return these fields in the QUERY_ADAPTER function for memfree devices. Instead, for memfree devices, initialize the rev_id field of the mthca device via init_node_data (MAD IFC query), as is done in the query_device verb implementation. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 7bc531dd883b955e6198c8e202161f22d2e8c472 Author: Or Gerlitz Date: Tue Jan 29 12:57:56 2008 +0200 IPoIB: Remove a misleading debug print Commit 732a2170 ("IB/ipoib: Bound the net device to the ipoib_neigh structue") left a misleading debug print (n->dev would be a bond device only if boding is used). Clean it up. Signed-off-by: Or Gerlitz Signed-off-by: Roland Dreier commit bafff9741704959e99fb65a7327c017251019a19 Author: Or Gerlitz Date: Thu Jan 17 17:03:45 2008 +0200 IPoIB: Handle bonding failover race for connected neighbours too Move up the code that checks for a situation where the remote GID stored in the ipoib_neigh is different than the one present in the neighbour (handle gratuitous ARP) or that a bonding fail over has happened but the neighbour still has a pointer to an ipoib_neigh created by a different device than the current slave. This will cause the driver to apply the check also for connected mode neighbours. Signed-off-by: Or Gerlitz Signed-off-by: Roland Dreier commit 0d89fe2c0ca12ad2ee4e35a0661319746af6e94a Author: Roland Dreier Date: Mon Feb 4 20:20:42 2008 -0800 IB/mthca: Fix and simplify page size calculation in mthca_reg_phys_mr() In mthca_reg_phys_mr(), we calculate the page size for the HCA hardware to use to map the buffer list passed in by the consumer. For example, if the consumer passes in [0] addr 0x1000, size 0x1000 [1] addr 0x2000, size 0x1000 then the algorithm would come up with a page size of 0x2000 and a list of two pages, at 0x0000 and 0x2000. Usually, this would work fine since the memory region would start at an offset of 0x1000 and have a length of 0x2000. However, the old code did not take into account the alignment of the IO virtual address passed in. For example, if the consumer passed in a virtual address of 0x6000 for the above, then the offset of 0x1000 would not be used correctly because the page mask of 0x1fff would result in an offset of 0. We can fix this quite neatly by making sure that the page shift we use is no bigger than the first bit where the start of the first buffer and the IO virtual address differ. Also, we can further simplify the code by removing the special case for a single buffer by noticing that it doesn't matter if we use a page size that is too big. This allows the loop to compute the page shift to be replaced with __ffs(). Thanks to Bryan S Rosenburg for pointing out the original bug and suggesting several ways to improve this patch. Signed-off-by: Roland Dreier commit 2b5e6b120e58d44cace68e6c7204b541a8b0b43f Author: Hoang-Nam Nguyen Date: Fri Jan 25 21:18:27 2008 +0100 IB/ehca: Add PMA support This patch enables ehca to redirect any PMA queries to the actual PMA QP. Signed-off-by: Hoang-Nam Nguyen Reviewed-by: Joachim Fenkes Reviewed-by: Christoph Raisch Signed-off-by: Roland Dreier commit 528b03f73247c30750b740dcad16ad1914e56e89 Author: Joachim Fenkes Date: Fri Jan 25 21:12:39 2008 +0100 IB/ehca: Update sma_attr also in case of disruptive config change Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 2b7274c39228d7a8c81a411dc3969763e9069c56 Author: Joachim Fenkes Date: Thu Jan 24 17:59:08 2008 +0100 IB/ehca: Prevent sending UD packets to QP0 The IB spec doesn't allow packets to QP0 sent on any other VL than VL15. Hardware doesn't filter those packets on the send side, so we need to do this in the driver and firmware. As eHCA doesn't support QP0, we can just filter out all traffic going to QP0, regardless of SL or VL. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 3971c9f6dbf26f077b929dbe14ced60a697ebcf0 Author: Sean Hefty Date: Mon Dec 10 15:53:25 2007 -0800 IB/cm: Add interim support for routed paths Paths with hop_limit > 1 indicate that the connection will be routed between IB subnets. Update the subnet local field in the CM REQ based on the hop_limit value. In addition, if the path is routed, then set the LIDs in the REQ to the permissive LIDs. This is used to indicate to the passive side that it should use the LIDs in the received local route header (LRH) associated with the REQ when programming the QP. This is a temporary work-around to the IB CM to support IB router development until the IB router specification is completed. It is not anticipated that this work-around will cause any interoperability issues with existing stacks or future stacks that will properly support IB routers when defined. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit e8f9b2ed9882874ca96716597bd8c7113289e77b Author: Roland Dreier Date: Mon Feb 4 20:20:41 2008 -0800 mlx4_core: Fix more section mismatches Commit 3d73c288 ("mlx4_core: Fix section mismatches") fixed some of the section mismatches introduced when error recovery was added, but there were still more cases of errory recovery code calling into __devinit code from regular .text. Fix this by getting rid of the now-incorrect __devinit annotations. Signed-off-by: Roland Dreier commit 920ed9f194effd10c273a4040114d3d8e6eed95f Author: Zhang Xiantao Date: Thu Jan 31 12:03:39 2008 +0800 [IA64] Appoint kvm/ia64 Maintainers Anthony and Xiantao are working on KVM for ia64. Signed-off-by Anthony Xu Signed-off-by Xiantao Zhang Signed-off-by: Tony Luck commit f00c2d36bf6d7efece79713930763d9a0460283e Author: Xiantao Zhang Date: Thu Jan 31 17:46:09 2008 +0800 [IA64] ia64_set_psr should use srlz.i The only in kernel use of ia64_set_psr() needs to follow it with a srlz.i (since it is changing state for PSR.ic). So it is pointless to issue srlz.d inside this function. Signed-off-by: Xiantao Zhang Signed-off-by: Tony Luck commit a7d57ecf4216ed29328f8e701bd65ebb66a0284c Author: Zhang, Xiantao Date: Mon Feb 4 15:46:23 2008 -0800 [IA64] Export three symbols for module use Since kvm/module needs to use some unexported functions in kernel, so export them with this patch. Signed-off-by: Zhang Xiantao Signed-off-by: Tony Luck commit fe77efb8b7e80128b914044c175d5dcd75e9fff7 Author: Hidetoshi Seto Date: Mon Jan 7 10:11:57 2008 +0900 [IA64] mca style cleanup Unified changelog, 80 columns rule, and address form fix. Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit 0245583ab454ba56131921e26ad966b56bcc0a5b Author: Daniel Walker Date: Thu Jan 10 20:31:51 2008 -0800 [IA64] sn_hwperf semaphore to mutex Really simple mutex style semaphore user. The new API is struct mutex which is what I've converted it to with this change. Signed-off-by: Daniel Walker Signed-off-by: Tony Luck commit acffc84ad9c1c8a79b8c1d6b9f4f530f37cba9ab Author: Hidetoshi Seto Date: Wed Jan 30 12:17:42 2008 +0900 [IA64] generalize attribute of fsyscall_gtod_data In an ordinary way, > } __attribute__ ((aligned (L1_CACHE_BYTES))); should be > } ____cacheline_aligned; to save some bytes on an uni-processor. Signed-off-by: Hidetoshi Seto Signed-off-by: Tony Luck commit 410ab512e5c5716287a399145df0905c1dcddb04 Author: Aron Griffis Date: Tue Jan 8 22:29:38 2008 -0500 [IA64] efi.c Add /* never reached */ annotation As written, this loop could be for (;;) instead of do while (md). The tests inside the loop always result in a return so the loop never terminates normally. Signed-off-by: Aron Griffis Signed-off-by: Tony Luck commit 965e7c8affeca27f7e5de75c97954e74d3b8052d Author: Aron Griffis Date: Tue Jan 8 22:29:37 2008 -0500 [IA64] efi.c Spelling/punctuation fixes Incorporates the suggestions from Peter Chubb the last time I submitted this. This called for using the same verb tense in the couple of preceding comments as well. Signed-off-by: Aron Griffis Signed-off-by: Tony Luck commit 7d9aed26ed11d7a472104b7078b0c5e4fd416059 Author: Aron Griffis Date: Mon Feb 4 15:31:49 2008 -0800 [IA64] Make efi.c mostly fit in 80 columns This patch is purely whitespace changes to make the code fit in 80 columns, plus fix some inconsistent indentation. The efi_guidcmp() tests remain wider than 80-columns since that seems to be the most clear. Signed-off-by: Aron Griffis Signed-off-by: Tony Luck commit 9ef9dc69d4167276c04590d67ee55de8380bc1ad Merge: 2c8296f... 0d899e1... Author: Linus Torvalds Date: Mon Feb 4 15:29:53 2008 -0800 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (44 commits) [ARM] 4822/1: RealView: Change the REALVIEW_MPCORE configuration option [ARM] 4821/1: RealView: Remove the platform dependencies from localtimer.c [ARM] 4820/1: RealView: Select the timer IRQ at run-time [ARM] 4819/1: RealView: Fix entry-macro.S to work with multiple platforms [ARM] 4818/1: RealView: Add core-tile detection [ARM] 4817/1: RealView: Move the AMBA resource definitions to realview_eb.c [ARM] 4816/1: RealView: Move the platform-specific definitions into board-eb.h [ARM] 4815/1: RealView: Add clockevents suport for the local timers [ARM] 4814/1: RealView: Add broadcasting clockevents support for ARM11MPCore [ARM] 4813/1: Add SMP helper functions for clockevents support [ARM] 4812/1: RealView: clockevents support for the RealView platforms [ARM] 4811/1: RealView: clocksource support for the RealView platforms [ARM] 4736/1: Export atags to userspace and allow kexec to use customised atags [ARM] 4798/1: pcm027: fix missing header file [ARM] 4803/1: pxa: fix building issue of poodle.c caused by patch 4737/1 [ARM] 4801/1: pxa: fix building issues of missing pxa2xx-regs.h [ARM] pxa: introduce sysdev for pxa3xx static memory controller [ARM] pxa: add preliminary suspend/resume code for pxa3xx [ARM] pxa: introduce sysdev for GPIO register saving/restoring [ARM] pxa: introduce sysdev for IRQ register saving/restoring ... commit cdef24c9cd38ae236065409c4a6289f165639e55 Author: Randy Dunlap Date: Mon Feb 4 15:23:10 2008 -0800 [IA64] aliasing-test: fix gcc warnings on non-ia64 Eliminate all build warnings. OK, these build warnings are from a build on x86_64. When I build on ia64, I don't see warnings. Now builds cleanly on ia64 and x86_64. Documentation/ia64/aliasing-test.c: In function 'map_mem': Documentation/ia64/aliasing-test.c:39: warning: implicit declaration of function 'ioctl' Documentation/ia64/aliasing-test.c: In function 'scan_rom': Documentation/ia64/aliasing-test.c:183: warning: format '%ld' expects type 'long int', but argument 4 has type 'int' Documentation/ia64/aliasing-test.c: At top level: Documentation/ia64/aliasing-test.c:208: warning: function declaration isn't a prototype Documentation/ia64/aliasing-test.c: In function 'main': Documentation/ia64/aliasing-test.c:259: warning: control reaches end of non-void function Documentation/ia64/aliasing-test.c: In function 'scan_rom': Documentation/ia64/aliasing-test.c:152: warning: 'rc' may be used uninitialized in this function Documentation/ia64/aliasing-test.c: In function 'scan_tree': Documentation/ia64/aliasing-test.c:68: warning: 'rc' may be used uninitialized in this function Signed-off-by: Randy Dunlap Acked-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 5302ac5019367470e123cb91844a28d6941e6912 Author: Zoltan Menyhart Date: Mon Feb 4 15:19:16 2008 -0800 [IA64] Slim-down __clear_bit_unlock - I removed the unnecessary barrier() from __clear_bit_unlock(). ia64_st4_rel_nta() makes sure all the modifications are globally seen before the bit is seen to be off. - I made __clear_bit() modeled after __set_bit() and __change_bit(). - I corrected some comments sating that a memory barrier is provided, yet in reality, it is the acquisition side of the memory barrier only. - I corrected some comments, e.g. test_and_clear_bit() was peaking about "bit to set". Signed-off-by: Zoltan Menyhart, Acked-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 97075c4b3b7fdd6a083eea075c3a4a601f0d64d8 Author: Masami Hiramatsu Date: Fri Jan 18 11:20:46 2008 -0500 [IA64] Fix the order of atomic operations in restore_previous_kprobes on ia64 Fix the order of atomic operations to prevent overwriting prev_kprobe[0]. To pop values from stack, we must decrement stack index right AFTER reading values. Signed-off-by: Masami Hiramatsu Signed-off-by: Tony Luck commit a23fe55e132cd85108ab55b3fafb4b5060d847c7 Author: Jan Engelhardt Date: Tue Jan 22 20:42:07 2008 +0100 [IA64] constify function pointer tables Signed-off-by: Jan Engelhardt Signed-off-by: Tony Luck commit 0df29025fd0379d5950d206314d0b10a2c8a9607 Author: Doug Chapman Date: Mon Jan 28 15:33:28 2008 -0800 [IA64] fix userspace compile error in gcc_intrin.h Fixes userspace build errors when linux/ipv6.h is included such as in the dhcpv6 package under fedora. Likely causes other userspace build errors as well. I found this in akpm's tree from 2.6.18 but could not find any case of anyone proposing it for the main tree. Signed-off-by: Doug Chapman Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 2c8296f8cf0ec40867965dddef3dfe92f73b38f4 Merge: d2fc0ba... da89b79... Author: Linus Torvalds Date: Mon Feb 4 12:14:55 2008 -0800 Merge branch 'slub-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/christoph/vm * 'slub-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/christoph/vm: Explain kmem_cache_cpu fields SLUB: Do not upset lockdep SLUB: Fix coding style violations Add parameter to add_partial to avoid having two functions SLUB: rename defrag to remote_node_defrag_ratio Move count_partial before kmem_cache_shrink SLUB: Fix sysfs refcounting slub: fix shadowed variable sparse warnings commit da89b79ed06bac8e9b5b6874d4efc5382e1091de Author: Christoph Lameter Date: Mon Jan 7 23:20:31 2008 -0800 Explain kmem_cache_cpu fields Add some comments explaining the fields of the kmem_cache_cpu structure. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton commit ba84c73c7ae21fc891a3c2576fa3be42752fce53 Author: root Date: Mon Jan 7 23:20:28 2008 -0800 SLUB: Do not upset lockdep inconsistent {softirq-on-W} -> {in-softirq-W} usage. swapper/0 [HC0[0]:SC1[1]:HE0:SE0] takes: (&n->list_lock){-+..}, at: [] add_partial+0x31/0xa0 {softirq-on-W} state was registered at: [] __lock_acquire+0x3e8/0x1140 [] debug_check_no_locks_freed+0x188/0x1a0 [] lock_acquire+0x55/0x70 [] add_partial+0x31/0xa0 [] _spin_lock+0x1e/0x30 [] add_partial+0x31/0xa0 [] kmem_cache_open+0x1cc/0x330 [] _spin_unlock_irq+0x24/0x30 [] create_kmalloc_cache+0x64/0xf0 [] init_alloc_cpu_cpu+0x70/0x90 [] kmem_cache_init+0x65/0x1d0 [] start_kernel+0x23e/0x350 [] _sinittext+0x12d/0x140 [] 0xffffffffffffffff This change isn't really necessary for correctness, but it prevents lockdep from getting upset and then disabling itself. Signed-off-by: Peter Zijlstra Cc: Christoph Lameter Cc: Kamalesh Babulal Signed-off-by: Andrew Morton Signed-off-by: Christoph Lameter commit 064287807c9dd64688084d34c6748a326b5f3ec8 Author: Pekka Enberg Date: Mon Jan 7 23:20:27 2008 -0800 SLUB: Fix coding style violations This fixes most of the obvious coding style violations in mm/slub.c as reported by checkpatch. Acked-by: Christoph Lameter Signed-off-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Christoph Lameter commit 7c2e132c54c79af4e524154074b9a02c3c0d6072 Author: Christoph Lameter Date: Mon Jan 7 23:20:27 2008 -0800 Add parameter to add_partial to avoid having two functions Add a parameter to add_partial instead of having separate functions. The parameter allows a more detailed control of where the slab pages is placed in the partial queues. If we put slabs back to the front then they are likely immediately used for allocations. If they are put at the end then we can maximize the time that the partial slabs spent without being subject to allocations. When deactivating slab we can put the slabs that had remote objects freed (we can see that because objects were put on the freelist that requires locks) to them at the end of the list so that the cachelines of remote processors can cool down. Slabs that had objects from the local cpu freed to them (objects exist in the lockless freelist) are put in the front of the list to be reused ASAP in order to exploit the cache hot state of the local cpu. Patch seems to slightly improve tbench speed (1-2%). Signed-off-by: Christoph Lameter Reviewed-by: Pekka Enberg Signed-off-by: Andrew Morton commit 9824601ead957a29e35d539e43266c003f7b085b Author: Christoph Lameter Date: Mon Jan 7 23:20:26 2008 -0800 SLUB: rename defrag to remote_node_defrag_ratio The NUMA defrag works by allocating objects from partial slabs on remote nodes. Rename it to remote_node_defrag_ratio to be clear about this. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton commit f61396aed90acb033952531c522d1010f87e24f4 Author: Christoph Lameter Date: Mon Jan 7 23:20:26 2008 -0800 Move count_partial before kmem_cache_shrink Move the counting function for objects in partial slabs so that it is placed before kmem_cache_shrink. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton commit 151c602f79cb9154c3f3d83223cae355af463d6f Author: Christoph Lameter Date: Mon Jan 7 22:29:05 2008 -0800 SLUB: Fix sysfs refcounting If CONFIG_SYSFS is set then free the kmem_cache structure when sysfs tells us its okay. Otherwise there is the danger (as pointed out by Al Viro) that sysfs thinks the kobject still exists after kmem_cache_destroy() removed it. Signed-off-by: Christoph Lameter Reviewed-by: Pekka J Enberg commit e374d4835668a8c6aec7cefc0a44df69f9679017 Author: Harvey Harrison Date: Thu Jan 31 15:20:50 2008 -0800 slub: fix shadowed variable sparse warnings Introduce 'len' at outer level: mm/slub.c:3406:26: warning: symbol 'n' shadows an earlier one mm/slub.c:3393:6: originally declared here No need to declare new node: mm/slub.c:3501:7: warning: symbol 'node' shadows an earlier one mm/slub.c:3491:6: originally declared here No need to declare new x: mm/slub.c:3513:9: warning: symbol 'x' shadows an earlier one mm/slub.c:3492:6: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Christoph Lameter commit 0d899e1b0000ddf78a75d7dcf9a9029d6f7f8091 Merge: a78de2f... 43816bc... 85e6c7a... 4cd9d6f... c9a28fa... 41579f4... Author: Russell King Date: Mon Feb 4 17:54:39 2008 +0000 Merge branches 'at91', 'ixp', 'master', 'misc', 'pxa' and 'realview' into devel * at91: [ARM] 4802/1: Fix typo and remove vague comment [ARM] 4660/3: at91: allow selecting UART for early kernel messages [ARM] 4739/1: at91sam9263: make gpio bank C and D irqs work * ixp: [ARM] 4809/2: ixp4xx: Merge dsmg600-power.c into dsmg600-setup.c [ARM] 4808/2: ixp4xx: Merge nas100d-power.c into nas100d-setup.c [ARM] 4807/2: ixp4xx: Merge nslu2-power.c into nslu2-setup.c [ARM] 4806/1: ixp4xx: Ethernet support for the nslu2 and nas100d boards [ARM] 4805/1: ixp4xx: Use leds-gpio driver instead of IXP4XX-GPIO-LED driver [ARM] 4715/2: Ethernet support for IXDP425 boards [ARM] 4714/2: Headers for IXP4xx built-in Ethernet and WAN drivers [ARM] 4713/3: Adds drivers for IXP4xx QMgr and NPE features [ARM] 4712/2: Adds functions to read and write IXP4xx "feature" bits [ARM] 4774/2: ixp4xx: Register dsmg600 rtc i2c_board_info [ARM] 4773/2: ixp4xx: Register nas100d rtc i2c_board_info [ARM] 4772/2: ixp4xx: Register nslu2 rtc i2c_board_info [ARM] 4769/2: ixp4xx: Button updates for the dsmg600 board [ARM] 4768/2: ixp4xx: Button and LED updates for the nas100d board [ARM] 4767/2: ixp4xx: Add bitops.h include to io.h [ARM] 4766/2: ixp4xx: Update ixp4xx_defconfig, enabling all supported boards * master: [ARM] 4810/1: - Fix 'section mismatch' building warnings [ARM] xtime_seqlock: fix more ARM machines for xtime deadlocking [ARM] 21285 serial: fix build error * misc: [ARM] 4736/1: Export atags to userspace and allow kexec to use customised atags * pxa: [ARM] 4798/1: pcm027: fix missing header file [ARM] 4803/1: pxa: fix building issue of poodle.c caused by patch 4737/1 [ARM] 4801/1: pxa: fix building issues of missing pxa2xx-regs.h [ARM] pxa: introduce sysdev for pxa3xx static memory controller [ARM] pxa: add preliminary suspend/resume code for pxa3xx [ARM] pxa: introduce sysdev for GPIO register saving/restoring [ARM] pxa: introduce sysdev for IRQ register saving/restoring [ARM] pxa: fix the warning of undeclared "struct pxaohci_platform_data" [ARM] pxa: change set_kset_name() to direct name assignment for MFP sysclass * realview: [ARM] 4822/1: RealView: Change the REALVIEW_MPCORE configuration option [ARM] 4821/1: RealView: Remove the platform dependencies from localtimer.c [ARM] 4820/1: RealView: Select the timer IRQ at run-time [ARM] 4819/1: RealView: Fix entry-macro.S to work with multiple platforms [ARM] 4818/1: RealView: Add core-tile detection [ARM] 4817/1: RealView: Move the AMBA resource definitions to realview_eb.c [ARM] 4816/1: RealView: Move the platform-specific definitions into board-eb.h [ARM] 4815/1: RealView: Add clockevents suport for the local timers [ARM] 4814/1: RealView: Add broadcasting clockevents support for ARM11MPCore [ARM] 4813/1: Add SMP helper functions for clockevents support [ARM] 4812/1: RealView: clockevents support for the RealView platforms [ARM] 4811/1: RealView: clocksource support for the RealView platforms commit 41579f49da23e2d26b6e5efa5c3311998e911e5c Author: Catalin Marinas Date: Mon Feb 4 17:47:04 2008 +0100 [ARM] 4822/1: RealView: Change the REALVIEW_MPCORE configuration option This patch changes the REALVIEW_MPCORE configuration option to REALVIEW_EB_ARM11MP since this is only specific to RealView/EB. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 39e823e35b791b905e0d8eba62e8b3a0b3351936 Author: Catalin Marinas Date: Mon Feb 4 17:45:03 2008 +0100 [ARM] 4821/1: RealView: Remove the platform dependencies from localtimer.c This patch removes the TWD_BASE macro used to set up and configure the local timers on ARM11MPCore. The twd_base_addr and twd_size variables are defined in localtimer.c and set from the realview_eb_init function. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 8cc4c5488a28fe6a1f834e99317bb762798600f7 Author: Catalin Marinas Date: Mon Feb 4 17:43:02 2008 +0100 [ARM] 4820/1: RealView: Select the timer IRQ at run-time This patch sets the timer IRQ at run-time by moving the sys_timer structure and the timer_init function to the realview_eb.c file. This allows multiple RealView platforms to be compiled in the same kernel image. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit c4057f5260650f165054bc56e16acc4aa0510d4f Author: Catalin Marinas Date: Mon Feb 4 17:41:01 2008 +0100 [ARM] 4819/1: RealView: Fix entry-macro.S to work with multiple platforms This patch modifies the get_irqnr_preamble macro to work with multiple platforms at run-time by reading the address of the GIC controller from the gic_cpu_base_addr variable. This variable is defined in core.c and intialised in realview_eb.c (gic_init_irq). Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 7dd19e755dbe481ae42590dbd921dfd47e94779c Author: Catalin Marinas Date: Mon Feb 4 17:39:00 2008 +0100 [ARM] 4818/1: RealView: Add core-tile detection This patch adds the core-tile detection and only enables devices if the corresponding tile is present. It currently detects the ARM11MPCore via the core_tile_eb11mp() macro. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 0fc2a1616f37175ff0cf54b99e9b76f7717a3f10 Author: Catalin Marinas Date: Mon Feb 4 17:36:59 2008 +0100 [ARM] 4817/1: RealView: Move the AMBA resource definitions to realview_eb.c This patch moves the IRQ and DMA definitions from core.h into realview_eb.c since they are platform-specific. It adds a realview_eb11mp_fixup function to adjust the IRQ numbers if the ARM11MPCore tile is fitted. The realview_smc91x_device is also moved from core.c into realview_eb.c. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 356cb470b84bda67738ba320a75629acae70e5fa Author: Catalin Marinas Date: Mon Feb 4 17:34:58 2008 +0100 [ARM] 4816/1: RealView: Move the platform-specific definitions into board-eb.h This patch moves the platform specific definitions from platform.h into the board-eb.h file. It drops the INT_* definitions as they are no longer used in irqs.h (moved to board-eb.h). It renames REALVIEW_* macros to REALVIEW_EB_* or REALVIEW_EB11MP_* to distinguish between standard EB and EB + the ARM11MPCore tile. The platform.h file contains common definitions to the RealView platforms and it is only directly included in board-*.h files. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 93c2904d5081468128e66792a85439df314de773 Author: Catalin Marinas Date: Mon Feb 4 17:32:57 2008 +0100 [ARM] 4815/1: RealView: Add clockevents suport for the local timers This patch registers the local timers on ARM11MPCore as clock event devices. The clock device can be set up as periodic or oneshot. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit a8655e83fc44ec2b92cbea9f3ff3cc0da05a991c Author: Catalin Marinas Date: Mon Feb 4 17:30:57 2008 +0100 [ARM] 4814/1: RealView: Add broadcasting clockevents support for ARM11MPCore This patch adds dummy local timers for each CPU so that the board clock device is used to broadcast events to the other CPUs. The patch also adds the declaration for the dummy_timer_setup function (the equivalent of local_timer_setup when CONFIG_LOCAL_TIMERS is not set). Due to the way clockevents work, the dummy timer on the first CPU has to be registered before the board timer. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 3e459990961db7f3f2dcf21e2b38a7216dfd10dd Author: Catalin Marinas Date: Mon Feb 4 17:28:56 2008 +0100 [ARM] 4813/1: Add SMP helper functions for clockevents support This patch adds the smp_call_function_single and smp_timer_broadcast functions and modifies ipi_timer to call the platform-specific function local_timer_interrupt. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit ae30ceac3c6bbacdb227816abe6f0c7ea867ac7c Author: Catalin Marinas Date: Mon Feb 4 17:26:55 2008 +0100 [ARM] 4812/1: RealView: clockevents support for the RealView platforms The patch updates the RealView code to the clockevents infrastructure. The SMP support is implemented in subsequent patches. Based on the Versatile implementation by Kevin Hilman. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 85802afeb010502471f64dccf9839f60995c8579 Author: Catalin Marinas Date: Mon Feb 4 17:24:54 2008 +0100 [ARM] 4811/1: RealView: clocksource support for the RealView platforms The patch updates the RealView platform code to use the generic clocksource infrastructure for basic time keeping. Based on the Versatile implementation by Kevin Hilman. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit d2fc0bacd5c438cb459fdf531eff00ab18422a00 Merge: 93890b7... 795d45b... Author: Linus Torvalds Date: Mon Feb 4 09:16:03 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 * git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: (78 commits) x86: fix RTC lockdep warning: potential hardirq recursion x86: cpa, micro-optimization x86: cpa, clean up code flow x86: cpa, eliminate CPA_ enum x86: cpa, cleanups x86: implement gbpages support in change_page_attr() x86: support gbpages in pagetable dump x86: add gbpages support to lookup_address x86: add pgtable accessor functions for gbpages x86: add PUD_PAGE_SIZE x86: add feature macros for the gbpages cpuid bit x86: switch direct mapping setup over to set_pte x86: fix page-present check in cpa_flush_range x86: remove cpa warning x86: remove now unused clear_kernel_mapping x86: switch pci-gart over to using set_memory_np() instead of clear_kernel_mapping() x86: cpa selftest, skip non present entries x86: CPA fix pagetable split x86: rename LARGE_PAGE_SIZE to PMD_PAGE_SIZE x86: cpa, fix lookup_address ... commit 93890b71a34f9490673a6edd56b61c2124215e46 Merge: f5bb3a5... 6b35e40... Author: Linus Torvalds Date: Mon Feb 4 08:00:54 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: (25 commits) virtio: balloon driver virtio: Use PCI revision field to indicate virtio PCI ABI version virtio: PCI device virtio_blk: implement naming for vda-vdz,vdaa-vdzz,vdaaa-vdzzz virtio_blk: Dont waste major numbers virtio_blk: provide getgeo virtio_net: parametrize the napi_weight for virtio receive queue. virtio: free transmit skbs when notified, not on next xmit. virtio: flush buffers on open virtnet: remove double ether_setup virtio: Allow virtio to be modular and used by modules virtio: Use the sg_phys convenience function. virtio: Put the virtio under the virtualization menu virtio: handle interrupts after callbacks turned off virtio: reset function virtio: populate network rings in the probe routine, not open virtio: Tweak virtio_net defines virtio: Net header needs hdr_len virtio: remove unused id field from struct virtio_blk_outhdr virtio: clarify NO_NOTIFY flag usage ... commit f5bb3a5e9dcdb8435471562b6cada89525cf4df1 Merge: 9853832... 1560a79... Author: Linus Torvalds Date: Mon Feb 4 07:58:52 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial * git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (79 commits) Jesper Juhl is the new trivial patches maintainer Documentation: mention email-clients.txt in SubmittingPatches fs/binfmt_elf.c: spello fix do_invalidatepage() comment typo fix Documentation/filesystems/porting fixes typo fixes in net/core/net_namespace.c typo fix in net/rfkill/rfkill.c typo fixes in net/sctp/sm_statefuns.c lib/: Spelling fixes kernel/: Spelling fixes include/scsi/: Spelling fixes include/linux/: Spelling fixes include/asm-m68knommu/: Spelling fixes include/asm-frv/: Spelling fixes fs/: Spelling fixes drivers/watchdog/: Spelling fixes drivers/video/: Spelling fixes drivers/ssb/: Spelling fixes drivers/serial/: Spelling fixes drivers/scsi/: Spelling fixes ... commit 9853832c49dc1685587abeb4e1decd4be690d256 Merge: b21761f... ab1f161... Author: Linus Torvalds Date: Mon Feb 4 07:58:03 2008 -0800 Merge branch 'locks' of git://linux-nfs.org/~bfields/linux * 'locks' of git://linux-nfs.org/~bfields/linux: pid-namespaces-vs-locks-interaction file locks: Use wait_event_interruptible_timeout() locks: clarify posix_locks_deadlock commit b21761ff18c0eba67e8f2886b3c0b9cae79b5249 Author: Haavard Skinnemoen Date: Mon Feb 4 12:44:48 2008 +0100 kbuild: Fix instrumentation removal breakage on avr32 AVR32 still includes Kconfig.instrumentation, so it won't build after this... Signed-off-by: Haavard Skinnemoen Acked-by: Mathieu Desnoyers Signed-off-by: Linus Torvalds commit 519cb688072008363e091be3f291c1b5779e2ba8 Merge: 2f98735... 8891fec... Author: Linus Torvalds Date: Mon Feb 4 07:56:17 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: scsi: fix dependency bug in aic7 Makefile kbuild: add svn revision information to setlocalversion kbuild: do not warn about __*init/__*exit symbols being exported Move Kconfig.instrumentation to arch/Kconfig and init/Kconfig Add HAVE_KPROBES Add HAVE_OPROFILE Create arch/Kconfig Fix ARM to play nicely with generic Instrumentation menu kconfig: ignore select of unknown symbol kconfig: mark config as changed when loading an alternate config kbuild: Spelling/grammar fixes for config DEBUG_SECTION_MISMATCH Remove __INIT_REFOK and __INITDATA_REFOK kbuild: print only total number of section mismatces found commit 2f98735c9c24ea1f0d40a364d4e63611b689b795 Author: Nick Piggin Date: Sat Feb 2 03:08:53 2008 +0100 vm audit: add VM_DONTEXPAND to mmap for drivers that need it Drivers that register a ->fault handler, but do not range-check the offset argument, must set VM_DONTEXPAND in the vm_flags in order to prevent an expanding mremap from overflowing the resource. I've audited the tree and attempted to fix these problems (usually by adding VM_DONTEXPAND where it is not obvious). Signed-off-by: Nick Piggin Signed-off-by: Linus Torvalds commit fe2528b96b02173395f5a75e37714c07f3e25e73 Author: Geert Uytterhoeven Date: Sun Feb 3 16:49:09 2008 +0100 ADB: Add missing #include Commit c9f6d3d5c6d4f4cd3a53549a69c92951180e2a76 ("[POWERPC] adb: Replace sleep notifier with platform driver suspend/resume hooks") introduced compile errors on m68k because is not explicitly included. On powerpc, it's pulled in through . Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 795d45b22c079946332bf3825afefe5a981a97b6 Author: Andrew Morton Date: Mon Feb 4 16:48:10 2008 +0100 x86: fix RTC lockdep warning: potential hardirq recursion After disabling both CONFIG_DEBUG_LOCKING_API_SELFTESTS and netconsole (using current mainline) I get a login prompt, and also... [ 5.181668] SELinux: policy loaded with handle_unknown=deny [ 5.183315] type=1403 audit(1202100038.157:3): policy loaded auid=4294967295 ses=4294967295 [ 5.822073] SELinux: initialized (dev usbfs, type usbfs), uses genfs_contexts [ 7.819146] ------------[ cut here ]------------ [ 7.819146] WARNING: at kernel/lockdep.c:2033 trace_hardirqs_on+0x9b/0x10d() [ 7.819146] Modules linked in: generic ext3 jbd ide_disk ide_core [ 7.819146] Pid: 399, comm: hwclock Not tainted 2.6.24 #4 [ 7.819146] [] warn_on_slowpath+0x41/0x51 [ 7.819146] [] ? lock_release_holdtime+0x50/0x56 [ 7.819146] [] ? check_usage_forwards+0x19/0x3b [ 7.819146] [] ? __lock_acquire+0xac3/0xb0b [ 7.819146] [] ? native_sched_clock+0x8b/0x9f [ 7.819146] [] ? lock_release_holdtime+0x50/0x56 [ 7.819146] [] ? _spin_unlock_irq+0x22/0x42 [ 7.819146] [] trace_hardirqs_on+0x9b/0x10d [ 7.819146] [] _spin_unlock_irq+0x22/0x42 [ 7.819146] [] hpet_rtc_interrupt+0xdf/0x290 [ 7.819146] [] handle_IRQ_event+0x1a/0x46 [ 7.819146] [] handle_edge_irq+0xbe/0xff [ 7.819146] [] do_IRQ+0x6d/0x84 [ 7.819146] [] common_interrupt+0x2e/0x34 [ 7.819146] [] ? ktime_get_ts+0x8/0x3f [ 7.819146] [] ? lock_release+0x167/0x16f [ 7.819146] [] ? core_sys_select+0x2c/0x327 [ 7.819146] [] core_sys_select+0x74/0x327 [ 7.819146] [] ? native_sched_clock+0x8b/0x9f [ 7.819146] [] ? lock_release_holdtime+0x50/0x56 [ 7.819146] [] ? _spin_unlock_irq+0x22/0x42 [ 7.819146] [] ? trace_hardirqs_on+0xe6/0x10d [ 7.819146] [] ? _spin_unlock_irq+0x2d/0x42 [ 7.819146] [] ? rtc_do_ioctl+0x11b/0x677 [ 7.819146] [] ? inode_has_perm+0x5e/0x68 [ 7.819146] [] ? lock_release_holdtime+0x50/0x56 [ 7.819146] [] ? native_sched_clock+0x8b/0x9f [ 7.819146] [] ? file_has_perm+0x83/0x8c [ 7.819146] [] ? rtc_ioctl+0xf/0x11 [ 7.819146] [] ? do_ioctl+0x55/0x67 [ 7.819146] [] sys_select+0x93/0x163 [ 7.819146] [] ? sysenter_past_esp+0x9a/0xa5 [ 7.819146] [] sysenter_past_esp+0x5f/0xa5 [ 7.819146] ======================= [ 7.819146] ---[ end trace 96540ca301ffb84c ]--- [ 7.819210] rtc: lost 6 interrupts [ 7.870668] type=1400 audit(1202128840.794:4): avc: denied { audit_write } for pid=399 comm="hwclock" capability=29 scontext=system_u:system_r:hwclock_t:s0 tcontext=system_u:system_r:hwclock_t:s0 tclass=capability [ 9.538866] input: PC Speaker as /class/input/input5 Because hpet_rtc_interrupt()'s call to get_rtc_time() ends up resolving to include/asm-generic/rtc.h's (hilariously inlined) get_rtc_time(), which does spin_unlock_irq() from hard IRQ context. The obvious patch fixes it. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 7b610eec7a06ede64f71459e7f412dfd96f4cc5e Author: Thomas Gleixner Date: Mon Feb 4 16:48:10 2008 +0100 x86: cpa, micro-optimization Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 87f7f8fe328388a1430a4c27cbe684f3925fd8a5 Author: Ingo Molnar Date: Mon Feb 4 16:48:10 2008 +0100 x86: cpa, clean up code flow Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit beaff6333b4a21e8f3b7f9a7c3c8f8716b2334bc Author: Ingo Molnar Date: Mon Feb 4 16:48:09 2008 +0100 x86: cpa, eliminate CPA_ enum Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9df84993cb3d71669894654ab257f01f6e4ed48e Author: Ingo Molnar Date: Mon Feb 4 16:48:09 2008 +0100 x86: cpa, cleanups Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f07333fd149eb6826da26a89c3aff90324f270b0 Author: Andi Kleen Date: Mon Feb 4 16:48:09 2008 +0100 x86: implement gbpages support in change_page_attr() Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b5360222273cb3e57a119c18eef42f59da4da87b Author: Andi Kleen Date: Mon Feb 4 16:48:09 2008 +0100 x86: support gbpages in pagetable dump Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c2f71ee2140b2a506735ff9fcb7e3b1dfaab8f2b Author: Andi Kleen Date: Mon Feb 4 16:48:09 2008 +0100 x86: add gbpages support to lookup_address [ tglx@linutronix.de: fix bootup crash on sparse mappings. ] Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 61e19a347ad4bcdda615ef77ef9c3e656e254f3d Author: Andi Kleen Date: Mon Feb 4 16:48:09 2008 +0100 x86: add pgtable accessor functions for gbpages Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fbff3c21aff29ffdfa46b50946696689d3e70a48 Author: Andi Kleen Date: Mon Feb 4 16:48:09 2008 +0100 x86: add PUD_PAGE_SIZE a PUD entry covers 1GB of virtual memory. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 019c3e7c5e93475002edfc0da6c59508247553b1 Author: Andi Kleen Date: Mon Feb 4 16:48:09 2008 +0100 x86: add feature macros for the gbpages cpuid bit Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d4f71f7969ee2c16e2969185280c13d4f51a9172 Author: Andi Kleen Date: Mon Feb 4 16:48:09 2008 +0100 x86: switch direct mapping setup over to set_pte Use set_pte() for setting up the 2MB pages in the direct mapping. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7bfb72e847c201fe32271fb13f75d060671d8890 Author: Thomas Gleixner Date: Mon Feb 4 16:48:08 2008 +0100 x86: fix page-present check in cpa_flush_range pte_present() might return true for PROT_NONE mappings. Explicitely check the present bit. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6ce9fc17d913ae51f8434d2826f306347820b07d Author: Ingo Molnar Date: Mon Feb 4 16:48:08 2008 +0100 x86: remove cpa warning this race is legit and can happen on SMP systems. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bde1965ce8c63e17cc284e1af616c85aba483f11 Author: Andi Kleen Date: Mon Feb 4 16:48:08 2008 +0100 x86: remove now unused clear_kernel_mapping Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 28d6ee41a6ff8139e442af2dc55928bfbb475586 Author: Andi Kleen Date: Mon Feb 4 16:48:08 2008 +0100 x86: switch pci-gart over to using set_memory_np() instead of clear_kernel_mapping() pci-gart needs to unmap the IOMMU aperture to prevent cache corruptions. Switch this over to using set_memory_np() instead of clear_kernel_mapping(). Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 64f351d197d9ae8ad9624998afa8ee18e696ca44 Author: Thomas Gleixner Date: Mon Feb 4 16:48:08 2008 +0100 x86: cpa selftest, skip non present entries pud and pmd entries in the RAM area might be marked as non present. Do not try to modify them in the selftest. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 07cf89c05f2bbafa002401ac4e09ac31678513e4 Author: Thomas Gleixner Date: Mon Feb 4 16:48:08 2008 +0100 x86: CPA fix pagetable split Move the readout of the large entry into the spinlock section to prevent an unlikely but possible race. Mark the pmd/pud entry present after the split. We preserved the non present bit in the new split mapping. Remove the stale gfp_flags double initialization. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 31422c51e0dc72532d82e80895932d430c3ed307 Author: Andi Kleen Date: Mon Feb 4 16:48:08 2008 +0100 x86: rename LARGE_PAGE_SIZE to PMD_PAGE_SIZE Fix up all users. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9a14aefc1d28c6037122965ee8c10d92a970ade0 Author: Thomas Gleixner Date: Mon Feb 4 16:48:07 2008 +0100 x86: cpa, fix lookup_address lookup_address() returns a wrong level and a wrong pointer to a non existing pte, when pmd or pud entries are marked !present. This happens for example due to boot time mapping of GART into the low memory space. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 34508f66b69ff1708192654f631eb8f1d4c52005 Author: Ingo Molnar Date: Mon Feb 4 16:48:07 2008 +0100 x86: AMD Athlon X2 hard hang fix An Athlon 64 X2 test system showed hard hangs shortly after marking the kernel text read-only, if we tried to preserve largepages and changed the PSE entry from RW to RO. The pagetable code itself is correct, it's the CPU that locked up hard (and not even the NMI watchdog could punch through that hard hang). So be conservative and always do splitups - like we did in the past. Signed-off-by: Ingo Molnar commit 65e074dffa198978ab0c9976a19b954fbe1183e2 Author: Thomas Gleixner Date: Mon Feb 4 16:48:07 2008 +0100 x86: cpa, preserve large pages if possible When CPA is called on a range which fits into a large page mapping, avoid to split the page when: 1) There is no change of attributes 2) The range to change is a complete large mapping Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f4ae5da0e8e92caa168e7c2a7c4a6c4064b082c2 Author: Thomas Gleixner Date: Mon Feb 4 16:48:07 2008 +0100 x86: cpa, check if we changed anything and tlb flushing is necessary Flush tlbs only when there was a real change. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 72e458dfa63b3db7a46f66b0eb19e9ff4e17fc0e Author: Thomas Gleixner Date: Mon Feb 4 16:48:07 2008 +0100 x86: introduce struct cpa_data The number of arguments which need to be transported is increasing and we want to add flush optimizations and large page preserving. Create struct cpa data and pass a pointer instead of increasing the number of arguments further. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6bb8383bebc02dae08a17f561401f58005f75c03 Author: Andi Kleen Date: Mon Feb 4 16:48:06 2008 +0100 x86: cpa, only flush the cache if the caching attributes have changed We only need to flush the caches in cpa() if the the caching attributes have changed. Otherwise only flush the TLBs. This checks the PAT bits too although they are currently not used by the kernel. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9bf5a47572fe4ea4e5ed2691e4313ea0bb68a74e Author: Andi Kleen Date: Mon Feb 4 16:48:06 2008 +0100 x86: cpa, add the PAT bit defines Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 331e406588dc90331753e6562e5e3757bb907eb8 Author: Thomas Gleixner Date: Mon Feb 4 16:48:06 2008 +0100 x86: CPA return early when requested feature is not available Mask out the not supported bits (e.g. NX). If the clr/set masks are empty after the mask return without changing anything. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 1c083eb2cbdd917149f6acaa55efca129d05c2a9 Author: Huang, Ying Date: Mon Feb 4 16:48:06 2008 +0100 x86: fix EFI mapping The patch updates EFI runtime memory mapping code, by making EFI areas explicitly executable. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f56d005d30342a45d8af2b75ecccc82200f09600 Author: Thomas Gleixner Date: Mon Feb 4 16:48:05 2008 +0100 x86: no CPA on iounmap When an ioremap is unmapped, do not change the page attributes. There might be another mapping of the same physical address. PAT might detect a conflicting mapping attribute for no good reason. The mapping is removed anyway. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 75ab43bfce51085ffd627c470f48ae49ba6e6da3 Author: Thomas Gleixner Date: Mon Feb 4 16:48:05 2008 +0100 x86: ioremap remove the range check of cpa Now that cpa works on non-direct mappings as well, we can safely remove the range check in ioremap_change_attr(). Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e66aadbe6cb90813b3bbf07e3bc2a6aedcef7cd1 Author: Thomas Gleixner Date: Mon Feb 4 16:48:05 2008 +0100 x86: simplify __ioremap Remove tons of castings which make the code hard to read. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 63c1dcf4bc9a26b1d8baa9a8c7cc1b2e1e694011 Author: Thomas Gleixner Date: Mon Feb 4 16:48:05 2008 +0100 x86: CPA use the existing pfn in split as well When splitting large pages, we ge the pfn from the existing entry instead of calculating it ourself. This removes the last remaining range restriction of the cpa code. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 626c2c9d065da0cbd9997e112501487958fde690 Author: Arjan van de Ven Date: Mon Feb 4 16:48:05 2008 +0100 x86: use the pfn from the page when change its attributes When changing the attributes of a pte, we should use the PFN from the existing PTE rather than going through hoops calculating what we think it might have been; this is both fragile and totally unneeded. It also makes it more hairy to call any of these functions on non-direct maps for no good reason whatsover. With this change, __change_page_attr() no longer takes a pfn as argument, which simplifies all the callers. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cc0f21bbc12dc9f05b2e7f2469128f8717b2f4d3 Author: Arjan van de Ven Date: Mon Feb 4 16:48:05 2008 +0100 x86: teach the static_protection function about high mappings Right now, enforcing that the high mapping of the kernel text doesn't get the NX bit is done deep in the guts of CPA, rather than in the static_protection() function that enforces all other per-arch sanity checks. This patch moves this sanity check into the central static_protection() function instead, and makes it apply ONLY to the kernel text, not to all other areas in the high mapping. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 16c02ed74361433a4fc5d8bd5f67abbac6e1c5ca Author: Harvey Harrison Date: Mon Feb 4 16:48:05 2008 +0100 x86: add cpu mtrr init function definitions to mtrr.h mtrr.h was included everywhere needed. Fixes the following sparse warnings. Also, the return types in the extern definitions were incorrect. arch/x86/kernel/cpu/mtrr/amd.c:113:12: warning: symbol 'amd_init_mtrr' was not declared. Should it be static? arch/x86/kernel/cpu/mtrr/cyrix.c:268:12: warning: symbol 'cyrix_init_mtrr' was not declared. Should it be static? arch/x86/kernel/cpu/mtrr/centaur.c:218:12: warning: symbol 'centaur_init_mtrr' was not declared. Should it be static? Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b6d549a2967881af4f02d02062acbfeb807d44b4 Author: Harvey Harrison Date: Mon Feb 4 16:48:04 2008 +0100 x86: add cpu init function defintions to cpu.h cpu.h was already included everywhere needed. Fixes following sparse warnings: arch/x86/kernel/cpu/amd.c:343:12: warning: symbol 'amd_init_cpu' was not declared. Should it be static? arch/x86/kernel/cpu/cyrix.c:444:12: warning: symbol 'cyrix_init_cpu' was not declared. Should it be static? arch/x86/kernel/cpu/cyrix.c:456:12: warning: symbol 'nsc_init_cpu' was not declared. Should it be static? arch/x86/kernel/cpu/centaur.c:467:12: warning: symbol 'centaur_init_cpu' was not declared. Should it be static? arch/x86/kernel/cpu/transmeta.c:112:12: warning: symbol 'transmeta_init_cpu' was not declared. Should it be static? arch/x86/kernel/cpu/intel.c:296:12: warning: symbol 'intel_cpu_init' was not declared. Should it be static? arch/x86/kernel/cpu/nexgen.c:56:12: warning: symbol 'nexgen_init_cpu' was not declared. Should it be static? arch/x86/kernel/cpu/umc.c:22:12: warning: symbol 'umc_init_cpu' was not declared. Should it be static? Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7bb308a1eae2a3b869c498017aed15a699d80799 Author: Harvey Harrison Date: Mon Feb 4 16:48:04 2008 +0100 x86: small sparse fix in process_32.c arch/x86/kernel/process_32.c:254:43: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e04f99c987a82f075fcc2bceda351d7610802a88 Author: Harvey Harrison Date: Mon Feb 4 16:48:04 2008 +0100 x86: add function prototype to vm86.h Global functions should include their prototypes. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 73bdb73f6666228289af4be55a77e2ed978061a7 Author: Harvey Harrison Date: Mon Feb 4 16:48:04 2008 +0100 x86: add include to cpu/intel.c Fixes sparse warning: arch/x86/kernel/cpu/intel.c:48:15: warning: symbol 'ppro_with_ram_bug' was not declared. Should it be static? Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 599db4fe23d3869af98e2addef5628faef550f60 Author: Harvey Harrison Date: Mon Feb 4 16:48:03 2008 +0100 x86: remove final FASTCALL() uses A few snuck back in to x86. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1fba38703d0ce8a5ff0fad9df3eccc6b55cf2cfb Author: Andi Kleen Date: Mon Feb 4 16:48:03 2008 +0100 x86: remove special NUMAQ support in io_32.h Now that the only user does it on its own remove the NUMAQ support macros in io_32.h The next step would be to convert the preprocessor mess to actually readable standard inlines. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c7e844f0415252c7e1a2153a97e7a0c511d61ada Author: Andi Kleen Date: Mon Feb 4 16:48:03 2008 +0100 x86: move NUMAQ io handling into arch/x86/pci/numa.c numa.c is the only user of the {in,out}*_quad functions. And it has only a few call sites. Change them to open code the magic NUMAQ port access. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fa0c864d998c9c97d11db097d5736028d5c80985 Author: Cyrill Gorcunov Date: Mon Feb 4 16:48:03 2008 +0100 x86: cleanup - eliminate numbers in LDT allocation code This patch eliminates numbers in LDT allocation code trying to make it clear to understand from where these numbers come. No code changed: text data bss dec hex filename 1896 0 0 1896 768 ldt.o.before 1896 0 0 1896 768 ldt.o.after md5: 6cbec8705008ddb4b704aade60bceda3 ldt.o.before.asm 6cbec8705008ddb4b704aade60bceda3 ldt.o.after.asm Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f5430f93257d336346a9018c915e879ce43f5f89 Author: Jeremy Fitzhardinge Date: Mon Feb 4 16:48:02 2008 +0100 x86: update reference for PAE tlb flushing Remove bogus reference to "Pentium-II erratum A13" and point to the actual canonical source of information about what requirements x86 processors have for PAE pagetable updates. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit edd6bcd8209c31b91e1fbc112a756475091c483d Author: Jeremy Fitzhardinge Date: Mon Feb 4 16:48:02 2008 +0100 x86: pud_clear: only reload cr3 if necessary Rather than unconditionally reloading cr3, only do so if the pud we're updating is within the active pgd. This eliminates TLB flushes most of the time. The performance-critical uses of pud_clear are during execve and exit, but in those cases cr3 is referring to some other pagetable. The only other use of pud_clear is during a large (1Gbyte+) munmap, and those are sufficiently rare that a couple of cr3 reloads won't hurt. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a67ad9c9f82342a9b320fdad204a490727ef4a18 Author: Jeremy Fitzhardinge Date: Mon Feb 4 16:48:02 2008 +0100 x86: revert "defer cr3 reload when doing pud_clear()" Revert "defer cr3 reload when doing pud_clear()" since I'm going to replace it. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e618c9579c745742c422b7c3de1f802aa67e6110 Author: Jeremy Fitzhardinge Date: Mon Feb 4 16:48:02 2008 +0100 x86: unify PAE/non-PAE pgd_ctor The constructors for PAE and non-PAE pgd_ctors are more or less identical, and can be made into the same function. Signed-off-by: Jeremy Fitzhardinge Cc: William Irwin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c66315e0a785e95884b23887c1aa479dc0b32beb Author: Rob Landley Date: Mon Feb 4 16:48:02 2008 +0100 documentation: add Documentation/x86-64/00-INDEX Signed-off-by: Rob Landley Cc: Vojtech Pavlik Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 94a8a7acbe4d9aa83d53597516cc71101ebd2f6d Author: Pavel Machek Date: Mon Feb 4 16:48:01 2008 +0100 x86: remove misleading comments in trampoline_*.S Both trampolines actually *do* set up stack. (Is the "we jump into compressed/head.S" comment still true?) Signed-off-by: Pavel Machek Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9b4239346136f1432e52d14ea88f4b2662876f4a Author: Harvey Harrison Date: Mon Feb 4 16:48:01 2008 +0100 x86: sparse errors from string_32.h include/asm/string_32.h:216:26: warning: cast truncates bits from constant value (cccccccc becomes cc) include/asm/string_32.h:219:27: warning: cast truncates bits from constant value (cccccccc becomes cccc) include/asm/string_32.h:222:27: warning: cast truncates bits from constant value (cccccccc becomes cccc) include/asm/string_32.h:223:30: warning: cast truncates bits from constant value (cccccccc becomes cc) Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9a6b344ea967efa0bb5ca4cb5405f840652b66c4 Author: Harvey Harrison Date: Mon Feb 4 16:48:01 2008 +0100 x86: remove long dead cyrix mtrr code cyrix_arr_init was #if 0 all the way back to at least v2.6.12. This was the only place where arr3_protected was set to anything but zero. Eliminate this variable. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e1adbcf10608c83de6a81a02ebce859611433b52 Author: H. Peter Anvin Date: Mon Feb 4 16:48:00 2008 +0100 asm-generic/tlb.h: remove Remove unused from ; per Christoph Lameter this should have been part of a previous patch reversal but apparently didn't get removed. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f0be6c6a697c2fe8e2efbe98cd157bdbcff969ae Author: H. Peter Anvin Date: Mon Feb 4 16:48:00 2008 +0100 x86 setup: print missing CPU features in cleartext Instead of obscure numbers, print the list of missing CPU features in cleartext. To conserve space, use a host program (mkcpustr.c) to produce a compact list of mandatory features only. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fa1408e4df53ec1e61f59c030b3488a1ef0c635d Author: H. Peter Anvin Date: Mon Feb 4 16:48:00 2008 +0100 x86: unify CPU feature string names Move the CPU feature string names to a separate file (common to 32 and 64 bits); additionally, make includable by host code in preparation for including the CPU feature strings in the boot code. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 84fb144b928744cea8eb39bb4fbc794fcb749175 Author: H. Peter Anvin Date: Mon Feb 4 16:48:00 2008 +0100 x86: reintroduce volatile keyword in prototype to clflush() The volatile keyword was removed from the clflush() prototype in commit e34907ae180f4fe6c28bb4516c679c2f81b0c9ed; the comment there states: x86: remove volatile keyword from clflush. the p parameter is an explicit memory reference, and is enough to prevent gcc to being nasty here. The volatile seems completely not needed. This reflects incorrect understanding of the function of the volatile keyword there. The purpose of the volatile keyword is informing gcc that it is safe to pass a volatile pointer to this function. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2b06ac867176d5d24757bda7e13f6255d6b96d7b Author: H. Peter Anvin Date: Mon Feb 4 16:47:59 2008 +0100 x86: cpuid, msr: use inode mutex instead of big kernel lock Instead of grabbing the BKL on seek, use the inode mutex in the style of generic_file_llseek(). Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2347d933b158932cf2b8aeebae3e5cc16b200bd1 Author: H. Peter Anvin Date: Mon Feb 4 16:47:59 2008 +0100 x86: cpuid: allow querying %ecx-sensitive CPUID levels After /dev/*/cpuid was introduced, Intel changed the semantics of the CPUID instruction to be sentitive to %ecx as well as %eax. This patch allows querying of %ecx-sensitive levels by placing the %ecx value in the upper 32 bits of the file position (lower 32 bits always were used for the %eax value.) Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 71713eeed0c90bb05c509388609223555575f558 Author: H. Peter Anvin Date: Mon Feb 4 16:47:59 2008 +0100 x86: use _ASM_EXTABLE macro in include/asm-x86/uaccess_64.h Use the _ASM_EXTABLE macro from , instead of open-coding __ex_table entires in include/asm-x86/uaccess_64.h. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 14e6d17d683c02c114fccdde3a867033e8781416 Author: H. Peter Anvin Date: Mon Feb 4 16:47:59 2008 +0100 x86: use _ASM_EXTABLE macro in include/asm-x86/uaccess_32.h Use the _ASM_EXTABLE macro from , instead of open-coding __ex_table entires in include/asm-x86/uaccess_32.h. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 88976ee187dce4c8de56e25955631de9765d96d1 Author: H. Peter Anvin Date: Mon Feb 4 16:47:58 2008 +0100 x86: use _ASM_EXTABLE macro in include/asm-x86/system.h Use the _ASM_EXTABLE macro from , instead of open-coding __ex_table entires in include/asm-x86/system.h. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7d24a827087e0cf6834a3d8f20c4b5fc4cebd7fc Author: H. Peter Anvin Date: Mon Feb 4 16:47:58 2008 +0100 x86: use _ASM_EXTABLE macro in include/asm-x86/msr.h Use the _ASM_EXTABLE macro from , instead of open-coding __ex_table entires in include/asm-x86/msr.h. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 92c37fa3256dd8ace1cc37674146abd286e3b8b0 Author: H. Peter Anvin Date: Mon Feb 4 16:47:58 2008 +0100 x86: use _ASM_EXTABLE macro in include/asm-x86/i387.h Use the _ASM_EXTABLE macro from , instead of open-coding __ex_table entires in include/asm-x86/i387.h. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2532ec6d178abc55681d049097d3dc577eaa266c Author: H. Peter Anvin Date: Mon Feb 4 16:47:58 2008 +0100 x86: use _ASM_EXTABLE macro in include/asm-x86/futex.h Use the _ASM_EXTABLE macro from , instead of open-coding __ex_table entires in include/asm-x86/futex.h. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f832ff18e886ada0ff30a1edeab082ce218d107e Author: H. Peter Anvin Date: Mon Feb 4 16:47:58 2008 +0100 x86: use _ASM_EXTABLE macro in arch/x86/mm/init_32.c Use the _ASM_EXTABLE macro from , instead of open-coding __ex_table entires in arch/x86/mm/init_32.c. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8da804f2b23913ef362c6a578bf482e5ccc93d1a Author: H. Peter Anvin Date: Mon Feb 4 16:47:57 2008 +0100 x86: use _ASM_EXTABLE macro in arch/x86/lib/usercopy_64.c Use the _ASM_EXTABLE macro from , instead of open-coding __ex_table entires in arch/x86/lib/usercopy_64.c. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 287774414568010855642518513f085491644061 Author: H. Peter Anvin Date: Mon Feb 4 16:47:57 2008 +0100 x86: use _ASM_EXTABLE macro in arch/x86/lib/usercopy_32.c Use the _ASM_EXTABLE macro from , instead of open-coding __ex_table entires in arch/x86/lib/usercopy_32.c. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e7a40d268ec2afab7e0596667cabd2ae53fec8d8 Author: H. Peter Anvin Date: Mon Feb 4 16:47:57 2008 +0100 x86: use _ASM_EXTABLE macro in arch/x86/lib/mmx_32.c Use the _ASM_EXTABLE macro from , instead of open-coding __ex_table entires in arch/x86/lib/mmx_32.c. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 92909098a3b27147c4b80f9c387ccd63676aa807 Author: H. Peter Anvin Date: Mon Feb 4 16:47:56 2008 +0100 x86: use _ASM_EXTABLE macro in arch/x86/kernel/test_nx.c Use the _ASM_EXTABLE macro from , instead of open-coding __ex_table entires in arch/x86/kernel/test_nx.c. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a34746bc43eb63e545abf5eb002d96483a54ee32 Author: H. Peter Anvin Date: Mon Feb 4 16:47:56 2008 +0100 x86: add _ASM_EXTABLE macro to Instead of open-coding the __ex_table information at each callsite, construct a common macro that can work regardless of CPU size. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1622ac23bd3568c3ae8bb391dd3adb51887d7141 Author: Ian Campbell Date: Mon Feb 4 16:47:56 2008 +0100 x86: define OBJCOPYFLAGS explicitly for each target. Do this rather than defining a global version and overriding it in almost all cases in order to make subsequent patches simpler. Signed-off-by: Ian Campbell Acked-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit cf89ec924da5b76cbff293a1b378f312c7161411 Author: Harvey Harrison Date: Mon Feb 4 16:47:56 2008 +0100 x86: reduce ifdef sections in fault.c Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6118f76fb7408bad7631345cc41a5f0efc49ce3e Author: Yinghai Lu Date: Mon Feb 4 16:47:56 2008 +0100 x86: print out node_data addr and bootmap_start addr print out node_data addr and bootmap_start addr. helpful for debugging early crashes on high-end NUMA systems. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b50516fc20f756cf4d18a89f6f9977d60151ccba Author: Thomas Gleixner Date: Mon Feb 4 16:47:55 2008 +0100 x86: CPA remove bogus NX clear In split_large_page we clear the NX bit for the new split ptes, but we need to preserve the original setting of it for the split ptes. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4cf31841762954ad2868156ccba94d798a16630f Author: Florian Fainelli Date: Mon Feb 4 16:47:55 2008 +0100 x86: mach-rdc321x Kconfig fix The mach-rdc321x uses the leds-gpio driver and explicitely selects it, this driver also depends on the leds class module, select it as well. Signed-off-by: Florian Fainelli Signed-off-by: Ingo Molnar commit 3bc9a77e84096148d5ada29c986d6e71a20eaeda Author: Sam Ravnborg Date: Mon Feb 4 16:47:55 2008 +0100 x86: rename module scx200_32 to scx200 The module scx200 were renamed to scx200_32 by the merge of the 32 and 64 bit x86 arch trees. Keep the _32 prefix on the .c file as it is 32 bit specific and fix the module name in the Makefile. Signed-off-by: Sam Ravnborg Cc: "H. Peter Anvin" Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3a900d89db35c133bc0874e71d9156b22db362b4 Author: Sam Ravnborg Date: Mon Feb 4 16:47:55 2008 +0100 x86: restore correct module name for apm The apm module were renamed to apm_32 during the merge of 32 and 64 bit x86 which is unfortunate. As apm is 32 bit specific we like to keep the _32 in the filename but the module should be named apm. Fix this in the Makefile. Reported-by: "A.E.Lawrence" Signed-off-by: Sam Ravnborg Cc: Cc: Ingo Molnar Cc: "H. Peter Anvin" Cc: "A.E.Lawrence" Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 262d5ee27271703a0396d63649430f43f3b5deb3 Author: Ingo Molnar Date: Mon Feb 4 16:47:54 2008 +0100 x86: VMI fix Jeff Chua bisected down a vmware guest boot breakage (hang) to this paravirt change: commit 8d947344c47a40626730bb80d136d8daac9f2060 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:12 2008 +0100 x86: change write_idt_entry signature fix the off-by-one indexing bug ... Bisected-by: Jeff Chua Tested-by: Jeff Chua Signed-off-by: Ingo Molnar commit 38cb47ba0187c481aa949d3bbf149e014e8cacda Author: Ingo Molnar Date: Mon Feb 4 16:47:54 2008 +0100 x86: relax RAM check in ioremap() Kevin Winchester reported the loss of direct rendering, due to: [ 0.588184] agpgart: Detected AGP bridge 0 [ 0.588184] agpgart: unable to get memory for graphics translation table. [ 0.588184] agpgart: agp_backend_initialize() failed. [ 0.588207] agpgart-amd64: probe of 0000:00:00.0 failed with error -12 and bisected it down to: commit 266b9f8727976769e2ed2dad77ac9295f37e321e Author: Thomas Gleixner Date: Wed Jan 30 13:34:06 2008 +0100 x86: fix ioremap RAM check this check was too strict and caused an ioremap() failure. the problem is due to the somewhat unclean way of how the GART code reserves a memory range for its aperture, and how it utilizes it later on. Allow RAM pages to be ioremap()-ed too, as long as they are reserved. Bisected-by: Kevin Winchester Signed-off-by: Ingo Molnar Tested-by: Kevin Winchester Signed-off-by: Thomas Gleixner commit a2e4e108c511738fb3bc2bb2fedd593da9913764 Merge: a6cc48e... a80f509... Author: Linus Torvalds Date: Mon Feb 4 07:43:36 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (77 commits) [IPV6]: Reorg struct ifmcaddr6 to save some bytes [INET_TIMEWAIT_SOCK]: Reorganize struct inet_timewait_sock to save some bytes [DCCP]: Reorganize struct dccp_sock to save 8 bytes [INET6]: Reorganize struct inet6_dev to save 8 bytes [SOCK] proto: Add hashinfo member to struct proto EMAC driver: Fix bug: The clock divisor is set to all ones at reset. EMAC driver: fix bug - invalidate data cache of new_skb->data range when cache is WB EMAC driver: add power down mode EMAC driver: ADSP-BF52x arch/mach support EMAC driver: use simpler comment headers and strip out information that is maintained in the scm's log EMAC driver: bf537 MAC multicast hash filtering patch EMAC driver: define MDC_CLK=2.5MHz and caculate mdc_div according to SCLK. EMAC driver: shorten the mdelay value to solve netperf performance issue [netdrvr] sis190: build fix sky2: fix Wake On Lan interaction with BIOS sky2: restore multicast addresses after recovery pci-skeleton: Misc fixes to build neatly phylib: Add Realtek 821x eth PHY support natsemi: Update locking documentation PHYLIB: Locking fixes for PHY I/O potentially sleeping ... commit a6cc48eeea438b9d9e05943beebc31c52e76d32f Merge: 7cf7669... 0c98b19... Author: Linus Torvalds Date: Mon Feb 4 07:42:46 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6: Driver core: Remove unneeded get_{device,driver}() calls. Driver core: Update some prototypes in platform.txt driver core: convert to use class_find_device api PM: Export device_pm_schedule_removal nozomi: finish constification nozomi: constify driver nozomi driver update Add ja_JP translation of stable_kernel_rules.txt kobject: kerneldoc comment fix kobject: Always build in kernel/ksysfs.o. commit 7cf7669143db087e5cb36d1e07143938ff467147 Merge: 9135f19... 451124a... Author: Linus Torvalds Date: Mon Feb 4 07:42:16 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6: PCI: fix 4x section mismatch warnings PCI: fix section mismatch warnings referring to pci_do_scan_bus pci: pci_enable_device_bars() fix for lpfc driver Revert "PCI: PCIE ASPM support" commit 4cd9d6f774c7e0578bbc4409d4490d8f2097d40a Author: Richard Purdie Date: Wed Jan 2 00:56:46 2008 +0100 [ARM] 4736/1: Export atags to userspace and allow kexec to use customised atags Currently, the atags used by kexec are fixed to the ones originally used to boot the kernel. This is less than ideal as changing the commandline, initrd and other options would be a useful feature. This patch exports the atags used for the current kernel to userspace through an "atags" file in procfs. The presence of the file is controlled by its own Kconfig option and cleans up several ifdef blocks into a separate file. The tags for the new kernel are assumed to be at a fixed location before the kernel image itself. The location of the tags used to boot the original kernel is unimportant and no longer saved. Based on a patch from Uli Luckas Signed-off-by: Richard Purdie Acked-by: Uli Luckas Signed-off-by: Russell King commit c9a28fa7b9ac19b676deefa0a171ce7df8755c08 Author: Juergen Beisert Date: Tue Jan 29 23:43:49 2008 +0100 [ARM] 4798/1: pcm027: fix missing header file This patch adds a PXA2xx specific header file to control chip setup. Without, the PCM027 BSP can't be built. Signed-off-by: Robert Schwebel Signed-off-by: Juergen Beisert Signed-off-by: Russell King commit 6a0bd09dcd43ebca6ab73abcc2489bff824f7542 Author: eric miao Date: Thu Jan 31 02:41:16 2008 +0100 [ARM] 4803/1: pxa: fix building issue of poodle.c caused by patch 4737/1 The is caused by the patch below: [ARM] 4737/1: Refactor corgi_lcd to improve readability + bugfix It renamed the confusing get_hsync_len() to get_hsync_invperiod(), which unfortunately leaves poodle.c un-modified. Signed-off-by: eric miao Acked-by: Richard Purdie Signed-off-by: Russell King commit bb548dd43202b9109f551ca3da396d163ca7ddf3 Author: eric miao Date: Wed Jan 30 09:39:48 2008 +0100 [ARM] 4801/1: pxa: fix building issues of missing pxa2xx-regs.h Some machines are missing "pxa2xx-regs.h" due to the following patch: [ARM] pxa: move memory controller registers into pxa2xx-regs.h This patch fixes the issue by including the pxa2xx-regs.h where necessary. Signed-off-by: eric miao Signed-off-by: Russell King commit b1d907f9ccb3ffe1d7f5f04d2e9163de22ab01e6 Author: eric miao Date: Mon Jan 28 23:00:02 2008 +0000 [ARM] pxa: introduce sysdev for pxa3xx static memory controller Introduce a sysdev for pxa3xx static memory controller, mainly for register saving/restoring in PM Signed-off-by: eric miao Signed-off-by: Russell King commit c4d1fb627ff307256d792280efcb09e1235affea Author: eric miao Date: Mon Jan 28 23:00:02 2008 +0000 [ARM] pxa: add preliminary suspend/resume code for pxa3xx 1. clear RDH bit after resuming back from D3, otherwise, the multi function pins will retain the low power state 2. save/restore essential system registers Signed-off-by: eric miao Signed-off-by: Russell King commit 16dfdbf038706c12c56f327d14c6b901edc376a3 Author: eric miao Date: Mon Jan 28 23:00:02 2008 +0000 [ARM] pxa: introduce sysdev for GPIO register saving/restoring Signed-off-by: eric miao Signed-off-by: Russell King commit c016550490687c6bdbcdf06c7b4d874b6c7c6e4e Author: eric miao Date: Mon Jan 28 23:00:02 2008 +0000 [ARM] pxa: introduce sysdev for IRQ register saving/restoring Signed-off-by: eric miao Signed-off-by: Russell King commit cd5604d5618a802e4ed047eb8b1515edc5fc49b5 Author: eric miao Date: Tue Jan 29 09:00:19 2008 +0800 [ARM] pxa: fix the warning of undeclared "struct pxaohci_platform_data" The header file was missing in the original file, include it to fix the warning. Signed-off-by: eric miao Signed-off-by: Russell King commit 14271a705ae0fdfcb997ebed0b6e2ec6ffa58561 Author: eric miao Date: Tue Jan 29 08:57:45 2008 +0800 [ARM] pxa: change set_kset_name() to direct name assignment for MFP sysclass Signed-off-by: eric miao Signed-off-by: Russell King commit a78de2f704a0954df011348c6022e0d49e773a44 Author: Marc Pignat Date: Wed Jan 30 13:41:32 2008 +0100 [ARM] 4802/1: Fix typo and remove vague comment Fix typo and remove vague comment Signed-off-by: Marc Pignat Acked-by: Andrew Victor Acked-by: Nicolas Ferre Signed-off-by: Russell King commit fa3218d8594869b38b1a170ea36d176ac455b897 Author: Guennadi Liakhovetski Date: Tue Jan 29 15:43:13 2008 +0100 [ARM] 4660/3: at91: allow selecting UART for early kernel messages Currently early kernel messages, i.e., those from uncompression, go to the debugging UART. And if it is enabled in the platform configuration, but not initialized by the bootloader, the machine hangs, waiting for UART status change. Besides, having those messages on another UART - typically the console UART - may be preferrable. This patch allows selecting the UART in kernel configuration. Signed-off-by: Guennadi Liakhovetski Acked-by: Andrew Victor Signed-off-by: Russell King commit e83aff58bf1b7e6b355a0cfa206e9d3aebe5623f Author: David Brownell Date: Fri Jan 4 18:30:24 2008 +0100 [ARM] 4739/1: at91sam9263: make gpio bank C and D irqs work On the at91sam9263, IRQs for GPIO banks C and D don't currently work. This is because banks C, D, and E share one clock and toplevel IRQ, but the AT91 code setting up and handling GPIO IRQs expects no sharing. This patch: - Fixes GPIO IRQ setup and handling to cope with GPIO banks that are shared like on sam9263 chips, by setting up a list of those banks and making the IRQ dispatching logic scan that list. - Precomputes the address of each bank's registers, saving it with other per-bank data so that it no longer needs to be constantly recomputed during IRQs and other GPIO operations. That shrinks hot-path code, while helping the GPIO bank irq updates. - Fixes a minor bug where IRQ_TYPE_NONE was wrongly rejected (it just means "use the default", which is "both edges" here). Signed-off-by: David Brownell Acked-by: Andrew Victor Signed-off-by: Russell King commit 43816bcb72623c02a992e513feeaaf1178cea6dc Author: Rod Whitby Date: Sun Feb 3 12:05:55 2008 +0100 [ARM] 4809/2: ixp4xx: Merge dsmg600-power.c into dsmg600-setup.c There is no reason to have power control in a separate file from the board setup code. Merge it back into the board setup file and remove superfluous header includes. -- Signed-off-by: Rod Whitby Signed-off-by: Russell King commit c7d1623e5820c46a39519e64fafb94f39419be82 Author: Rod Whitby Date: Sun Feb 3 12:05:49 2008 +0100 [ARM] 4808/2: ixp4xx: Merge nas100d-power.c into nas100d-setup.c There is no reason to have power control in a separate file from the board setup code. Merge it back into the board setup file and remove superfluous header includes. -- Signed-off-by: Rod Whitby Signed-off-by: Russell King commit 0929ac3ea4c0bece16b0c5c5365181fa45fbf582 Author: Rod Whitby Date: Sun Feb 3 12:05:42 2008 +0100 [ARM] 4807/2: ixp4xx: Merge nslu2-power.c into nslu2-setup.c There is no reason to have power control in a separate file from the board setup code. Merge it back into the board setup file, removing superfluous header includes and removing superfluous constants from the machine header file. -- Signed-off-by: Rod Whitby Signed-off-by: Russell King commit b7edc84a9619eb2c8bfb5265d4079da9c70ad270 Author: Rod Whitby Date: Sat Feb 2 00:04:05 2008 +0100 [ARM] 4806/1: ixp4xx: Ethernet support for the nslu2 and nas100d boards Enables the new ixp4xx qmgr and npe drivers in ixp4xx_defconfig. Sets up the corresponding platform data for the nslu2 and nas100d boards, and reads the ethernet MAC address from the internal flash. Tested on both little-endian and big-endian kernels. Tested-by: Tom King Signed-off-by: Rod Whitby Signed-off-by: Michael Westerhof Signed-off-by: Russell King commit 1208ebf25b654a48f075c191de1d6410af7062b0 Author: Rod Whitby Date: Sat Feb 2 00:03:56 2008 +0100 [ARM] 4805/1: ixp4xx: Use leds-gpio driver instead of IXP4XX-GPIO-LED driver These are the only three boards to use the IXP4XX-GPIO-LED driver, and they can all use the new leds-gpio driver instead with no change in functionality. -- Signed-off-by: Rod Whitby Signed-off-by: Russell King commit 78225913709915d02a0a8025a1efcb767c6bdfe0 Author: Rod Whitby Date: Thu Jan 31 12:44:03 2008 +0100 [ARM] 4715/2: Ethernet support for IXDP425 boards Adds IXDP425 platform support for two built-in 10/100 Ethernet ports. This patch will do nothing until the actual Ethernet driver is also included. Signed-off-by: Krzysztof Halasa Signed-off-by: Russell King commit 80bbdd27e4016ad39d33160ea7f39ac05bfe1d7c Author: Krzysztof Halasa Date: Tue Jan 29 01:03:00 2008 +0100 [ARM] 4714/2: Headers for IXP4xx built-in Ethernet and WAN drivers Adds platform structs and #defines required by drivers for IXP4xx built-in Ethernet and WAN (sync serial) ports. The actual drivers will reside in drivers/net/arm and drivers/net/wan and will be submitted separately. Signed-off-by: Krzysztof Halasa Signed-off-by: Rod Whitby Signed-off-by: Russell King commit 82a96f5790ac93a406be72ed8f308dd29ad7e6af Author: Krzysztof Halasa Date: Tue Jan 1 21:55:23 2008 +0100 [ARM] 4713/3: Adds drivers for IXP4xx QMgr and NPE features This patch adds drivers for IXP4xx hardware Queue Manager and for Network Processor Engines. Requires patch #4712 (reading/writing CPU feature (aka fuse) bits). Posted to linux-arm-kernel on 2 Dec 2007 and revised. Signed-off-by: Krzysztof Halasa Signed-off-by: Russell King commit c18f65816ef80b67eb4511ed8359c2dfcd69680d Author: Krzysztof Halasa Date: Tue Dec 18 03:53:27 2007 +0100 [ARM] 4712/2: Adds functions to read and write IXP4xx "feature" bits Adds functions to read and write IXP4xx "feature" (aka "fuse") bits, containing information about available/enabled CPU features. The uncompress.h included by boot/compressed/misc.c resides in a different space than rest of the kernel and thus can't use asm/hardware.h (including asm/arch/cpu.h - which, in turn, may use EXPORTed symbol "processor_id"). Posted to linux-arm-kernel on 2 Dec 2007 and revised. Signed-off-by: Krzysztof Halasa Signed-off-by: Russell King commit a9a424ce9a209155f3d4b9f8ceba50cdebb7769b Author: Rod Whitby Date: Tue Jan 29 00:40:02 2008 +0100 [ARM] 4774/2: ixp4xx: Register dsmg600 rtc i2c_board_info Register the i2c board info related to the RTC chip on the dsmg600 board to allow it to be found automatically on boot. Signed-off-by: Rod Whitby Signed-off-by: Alessandro Zummo Signed-off-by: Russell King commit 400d8231484ce3485d04310beaef778efee1efb3 Author: Rod Whitby Date: Tue Jan 29 00:38:44 2008 +0100 [ARM] 4773/2: ixp4xx: Register nas100d rtc i2c_board_info Register the i2c board info related to the RTC chip on the nas100d board to allow it to be found automatically on boot. Signed-off-by: Rod Whitby Signed-off-by: Alessandro Zummo Signed-off-by: Russell King commit e28067d533f1c6fc8c5e31495994f1c9bf7febe6 Author: Rod Whitby Date: Tue Jan 29 00:36:12 2008 +0100 [ARM] 4772/2: ixp4xx: Register nslu2 rtc i2c_board_info Register the i2c board info related to the RTC chip on the nslu2 board to allow it to be found automatically on boot. Signed-off-by: Rod Whitby Signed-off-by: Alessandro Zummo Signed-off-by: Russell King commit 2bea80187f6218ed8b5c1e1280220b1c53d8dd05 Author: Rod Whitby Date: Tue Jan 29 00:30:54 2008 +0100 [ARM] 4769/2: ixp4xx: Button updates for the dsmg600 board * Remove the superfluous declaration of ctrl_alt_del(). * Convert GPIO and IRQ handling to use the api. * Perform the reset on the release of the power button, so that NAS devices which have been set to auto-power-on (by solder bridging the power button) do not continuously power cycle. * Remove all superflous constants from dsmg600.h Signed-off-by: Rod Whitby Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit 14645ebabd96d29f3050ea78a6417b6653bc48cf Author: Rod Whitby Date: Tue Jan 29 00:29:38 2008 +0100 [ARM] 4768/2: ixp4xx: Button and LED updates for the nas100d board * Convert GPIO and IRQ handling to use the api. * Perform the reset only after the power button has been held down for at least two seconds. Do the reset on the release of the power button, so that NAS devices which have been set to auto-power-on (by solder bridging the power button) do not continuously power cycle. * Remove all superflous constants from nas100d.h * Add LED constants to nas100d.h while we're there. * Update the board LED setup code to use those constants. Signed-off-by: Rod Whitby Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit 8e93675e5b235291d9dec91af78e01dd4f73629a Author: Rod Whitby Date: Tue Jan 29 00:22:57 2008 +0100 [ARM] 4767/2: ixp4xx: Add bitops.h include to io.h Add include of to io.h to solve compilations errors in files such as drivers/w1/w1_io.c caused by the ixp4xx version of io.h using the BIT() macro without including first. Signed-off-by: Rod Whitby Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit 95053aec4d859edd6fbf7cd7d652e21704dda740 Author: Rod Whitby Date: Tue Jan 29 00:17:24 2008 +0100 [ARM] 4766/2: ixp4xx: Update ixp4xx_defconfig, enabling all supported boards This updates the defconfig for the ixp4xx machine in arch/arm/config taking all the defaults, with the following additions: 1) Enable support for the nslu2, loft, gateway7001, wg302v2, dsmg600, and gtwx5715 boards. 2) Enable EABI, OABI, HOTPLUG and FW_LOADER. 3) Enable the RTC subsystem, with drivers for the RTC chips on the nslu2 (x1205) and nas100d/dsmg600 (pcf8563) boards. 4) Enable the LEDS subsystem to support the nslu2, nas100d and dsmg600 boards. Enable the ixp4xx beeper driver. 5) Enable the USB subsystem, USB host driver support and USB mass storage support (required for boot disk on nslu2 board). 6) Enable the ATA subsystem, with drivers for the nas100d/dsmg600 (pata_artop) and avila (ixp4xx_cf) boards. Signed-off-by: Rod Whitby Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit 85e6c7a7dbdb18a93846073a7f01369e91665c53 Author: Kristoffer Ericson Date: Sun Feb 3 22:08:10 2008 +0100 [ARM] 4810/1: - Fix 'section mismatch' building warnings Warning message : WARNING: vmlinux.o(.text+0x9afc): Section mismatch: reference to .init.text:sa1110_mb_enable (between 'sa1111_probe' and 'sa1111_remove') WARNING: vmlinux.o(.text+0x13b1ac): Section mismatch: reference to .init.text:pcmcia_jornada720_init (between 'pcmcia_probe' and 'pcmcia_remove') * fixes the 'section mismatch' building warnings for target sa1100. Solution is __init -> __devinit. Thanks to Randy Dunlap for pointing out the solution. Signed-off-by: Kristoffer Ericson Signed-off-by: Russell King commit 66a2c077c36ee5c56e77ba3757702c4464011da6 Author: Peter Zijlstra Date: Fri Feb 1 21:27:02 2008 +0000 [ARM] xtime_seqlock: fix more ARM machines for xtime deadlocking move update_process_times() out from under xtime_lock. Signed-off-by: Peter Zijlstra Signed-off-by: Russell King commit 2f65baff3ab546d011b0e3f944eccd1ec5816d5d Author: Russell King Date: Thu Jan 31 21:30:24 2008 +0000 [ARM] 21285 serial: fix build error drivers/serial/21285.c: In function 'serial21285_set_termios': drivers/serial/21285.c:280: error: 'tty' undeclared (first use in this function) drivers/serial/21285.c:280: error: (Each undeclared identifier is reported only once drivers/serial/21285.c:280: error: for each function it appears in.) Signed-off-by: Russell King commit 6b35e40767c6c1ac783330109ae8e0c09ea6bc82 Author: Rusty Russell Date: Mon Feb 4 23:50:12 2008 -0500 virtio: balloon driver After discussions with Anthony Liguori, it seems that the virtio balloon can be made even simpler. Here's my attempt. The device configuration tells the driver how much memory it should take from the guest (ie. balloon size). The guest feeds the page numbers it has taken via one virtqueue. A second virtqueue feeds the page numbers the driver wants back: if the device has the VIRTIO_BALLOON_F_MUST_TELL_HOST bit, then this queue is compulsory, otherwise it's advisory (and the guest can simply fault the pages back in). This driver can be enhanced later to deflate the balloon via a shrinker, oom callback or we could even go for a complete set of in-guest regulators. Signed-off-by: Rusty Russell commit 55a7c066041e7850948d29ed813f62821a9ec046 Author: Anthony Liguori Date: Mon Jan 28 09:59:59 2008 -0600 virtio: Use PCI revision field to indicate virtio PCI ABI version As Avi pointed out, as we continue to massage the virtio PCI ABI, we can make things a little more friendly to users by utilizing the PCI revision field to indicate which version of the ABI we're using. This is a hard ABI version and incrementing it will cause the guest driver to break. This is the necessary changes to virtio_pci to support this. Signed-off-by: Anthony Liguori Signed-off-by: Rusty Russell commit 3343660d8c62c6b00b2f15324ef3fcb6be207bfa Author: Anthony Liguori Date: Mon Nov 12 21:30:26 2007 -0600 virtio: PCI device This is a PCI device that implements a transport for virtio. It allows virtio devices to be used by QEMU based VMMs like KVM or Xen. Signed-off-by: Anthony Liguori Signed-off-by: Rusty Russell commit d50ed907dc3db5bf2dd0a05b4e199a65793a3788 Author: Christian Borntraeger Date: Fri Feb 1 09:05:00 2008 +0100 virtio_blk: implement naming for vda-vdz,vdaa-vdzz,vdaaa-vdzzz Am Freitag, 1. Februar 2008 schrieb Christian Borntraeger: > Right. I will fix that with an additional patch. This patch goes on top of the minor number patch. Please let me know if you want a merged patch: Currently virtio_blk creates the disk name combinging "vd" with 'a'++. This will give strange names after vdz. I have implemented names up to vdzzz - inspired by the sd.c code. That should be sufficient for now. There is one driver in the kernel (driver/s390/block/dasd_genhd.c) that implements names from dasda-dasdzzzz allowing even more disks. Maybe a janitor can come up with a common implementation usable for all kind of block device drivers. I have tested this patch with 100 disks - seems to work. Signed-off-by: Christian Borntraeger Signed-off-by: Rusty Russell commit 4f3bf19c6e8164b441faaee476e734b4f612a78d Author: Christian Borntraeger Date: Thu Jan 31 15:53:53 2008 +0100 virtio_blk: Dont waste major numbers Rusty, currently virtio_blk uses one major number per device. While this works quite well on most systems it is wasteful and will exhaust major numbers on larger installations. This patch allocates a major number on init and will use 16 minor numbers for each disk. That will allow ~64k virtio_blk disks. Signed-off-by: Christian Borntraeger Signed-off-by: Rusty Russell commit 135da0b037984c0284acdf40aaf4f7f31eb5cbd0 Author: Christian Borntraeger Date: Wed Jan 23 17:56:50 2008 +0100 virtio_blk: provide getgeo Rusty, I currently try to make my guest boot from an virtio root device without having an external kernel. Some of the tools that I tried expect HDIO_GETGEO to work. The most interesting value is likely the geo.start value to get the offset of a partition. This value is filled by block/ioctl.c if fops->getgeo is set. This patch also fills in some standard values for heads, sectors and cylinders. Makes sense? Signed-off-by: Christian Borntraeger Signed-off-by: Rusty Russell commit 6c0cd7c000dc0851035c5003bf9d47733d0b257b Author: Dor Laor Date: Sun Dec 16 15:19:43 2007 +0200 virtio_net: parametrize the napi_weight for virtio receive queue. It is done in order to improve performance. Signed-off-by: Dor Laor Signed-off-by: Rusty Russell commit 2cb9c6bafc58cf4066cb15f0ac6989a1015a02cc Author: Rusty Russell Date: Mon Feb 4 23:50:07 2008 -0500 virtio: free transmit skbs when notified, not on next xmit. This fixes a potential dangling xmit problem. We also suppress refill interrupts until we need them. Signed-off-by: Rusty Russell commit a48bd8f67003c342e147309a331f656a5e75a5e4 Author: Rusty Russell Date: Mon Feb 4 23:50:07 2008 -0500 virtio: flush buffers on open Fix bug found by Christian Borntraeger: if the other side fills all the registered network buffers before we enable NAPI, we will never get an interrupt. The simplest fix is to process the input queue once on open. Signed-off-by: Rusty Russell commit e70f2f1bb8c8cf08ba0d836466f77eea27dd3474 Author: Christian Borntraeger Date: Thu Dec 6 15:21:46 2007 +0100 virtnet: remove double ether_setup Hello Rusty, virtnet_probe already calls alloc_etherdev, which calls ether_setup. There is no need to do that again. Signed-off-by: Christian Borntraeger Signed-off-by: Rusty Russell commit c6fd47011b4bdebad3f1513bac75fe4895e332ee Author: Rusty Russell Date: Mon Feb 4 23:50:05 2008 -0500 virtio: Allow virtio to be modular and used by modules This is needed for the virtio PCI device to be compiled as a module. Signed-off-by: Anthony Liguori Signed-off-by: Rusty Russell commit 15f9c8903cbdb02aee0f1bcf86a97c2e238b9a3d Author: Rusty Russell Date: Mon Feb 4 23:50:05 2008 -0500 virtio: Use the sg_phys convenience function. Simple cleanup. Signed-off-by: Rusty Russell commit 0ad07ec1fd2f3e90dfb086b04c07a83db40e9172 Author: Anthony Liguori Date: Wed Nov 7 20:46:31 2007 -0600 virtio: Put the virtio under the virtualization menu This patch moves virtio under the virtualization menu and changes virtio devices to not claim to only be for lguest. Signed-off-by: Anthony Liguori Signed-off-by: Rusty Russell commit 81a8deab1ce3816c6a89e3429e234e7d3686da94 Author: Rusty Russell Date: Mon Feb 4 23:50:04 2008 -0500 virtio: handle interrupts after callbacks turned off Anthony Liguori found double interrupt suppression in the virtio_net driver, triggered by two skb_recv_done's in a row. This is because virtio_ring's interrupt suppression is a best-effort optimization: it contains no synchronization so the host can miss it and still send interrupts. But it's certainly nicer for virtio users if calling disable_cb actually disables callbacks, so we check for the race in the interrupt routine. Note: SMP guests might require syncronization here, but since disable_cb is actually called from interrupt context, there has to be some form of synchronization before the next same interrupt handler is called (Linux guarantees that the same device's irq handler will never run simultanously on multiple CPUs). Signed-off-by: Rusty Russell commit 6e5aa7efb27aec7e55b6463fa2c8db594c4226fa Author: Rusty Russell Date: Mon Feb 4 23:50:03 2008 -0500 virtio: reset function A reset function solves three problems: 1) It allows us to renegotiate features, eg. if we want to upgrade a guest driver without rebooting the guest. 2) It gives us a clean way of shutting down virtqueues: after a reset, we know that the buffers won't be used by the host, and 3) It helps the guest recover from messed-up drivers. So we remove the ->shutdown hook, and the only way we now remove feature bits is via reset. We leave it to the driver to do the reset before it deletes queues: the balloon driver, for example, needs to chat to the host in its remove function. Signed-off-by: Rusty Russell commit b3369c1fb410fddeb38a404316c861395f6d6ae8 Author: Rusty Russell Date: Mon Feb 4 23:50:02 2008 -0500 virtio: populate network rings in the probe routine, not open Since we want to reset the device to remove them, this is simpler (device is reset for us on driver remove). Signed-off-by: Rusty Russell commit 34a48579e4fb380604d06f0409db3851bd22d785 Author: Rusty Russell Date: Mon Feb 4 23:50:02 2008 -0500 virtio: Tweak virtio_net defines 1) Turn GSO on virtio net into an all-or-nothing (keep checksumming separate). Having multiple bits is a pain: if you can't support something you should handle it in software, which is still a performance win. 2) Make VIRTIO_NET_HDR_GSO_ECN a flag in the header, so it can apply to IPv6 or v4. 3) Rename VIRTIO_NET_F_NO_CSUM to VIRTIO_NET_F_CSUM (ie. means we do checksumming). 4) Add csum and gso params to virtio_net to allow more testing. Signed-off-by: Rusty Russell commit 50c8ea8080700014872f2bbd7466d31ce0476290 Author: Rusty Russell Date: Mon Feb 4 23:50:01 2008 -0500 virtio: Net header needs hdr_len It's far easier to deal with packets if we don't have to parse the packet to figure out the header length to know how much to pull into the skb data. Add the field to the virtio_net_hdr struct (and fix the spaces that somehow crept in there). Signed-off-by: Rusty Russell commit 24a5ae5d0340d5a45df840b24a10d62aa9516116 Author: Rusty Russell Date: Mon Feb 4 23:50:00 2008 -0500 virtio: remove unused id field from struct virtio_blk_outhdr This field has been unused since an older version of virtio. Remove it now before we freeze the ABI. Signed-off-by: Rusty Russell Date: Mon Feb 4 23:49:59 2008 -0500 virtio: clarify NO_NOTIFY flag usage The other side (host) can set the NO_NOTIFY flag as an optimization, to say "no need to kick me when you add things". Make it clear that this is advisory only; especially that we should always notify when the ring is full. Signed-off-by: Rusty Russell commit 3309daaad724dd08eb598bf9c12b7bb9daddd706 Author: Anthony Liguori Date: Fri Dec 21 02:17:47 2007 +0200 virtio: Fix vring_init/vring_size to take unsigned long Using unsigned int resulted in silent truncation of the upper 32-bit on x86_64 resulting in an OOPS since the ring was being initialized wrong. Please reconsider my previous patch to just use PAGE_ALIGN(). Open coding this sort of stuff, no matter how simple it seems, is just asking for this sort of trouble. Signed-off-by: Anthony Liguori Signed-off-by: Rusty Russell commit f957d1f05a1a20bc3b954877c6562a4d53d58bde Author: Rusty Russell Date: Mon Feb 4 23:49:58 2008 -0500 virtio: configuration change callback Various drivers want to know when their configuration information changes: the balloon driver is the immediate user, but the network driver may one day have a "carrier" status as well. This introduces that callback (lguest doesn't use it yet). Signed-off-by: Rusty Russell commit 18445c4d501b9ab4336f66ef46b092661ddaf336 Author: Rusty Russell Date: Mon Feb 4 23:49:57 2008 -0500 virtio: explicit enable_cb/disable_cb rather than callback return. It seems that virtio_net wants to disable callbacks (interrupts) before calling netif_rx_schedule(), so we can't use the return value to do so. Rename "restart" to "cb_enable" and introduce "cb_disable" hook: callback now returns void, rather than a boolean. Signed-off-by: Rusty Russell commit a586d4f6016f7139d8c26df0e6927131168d3b5b Author: Rusty Russell Date: Mon Feb 4 23:49:56 2008 -0500 virtio: simplify config mechanism. Previously we used a type/len pair within the config space, but this seems overkill. We now simply define a structure which represents the layout in the config space: the config space can now only be extended at the end. The main driver-visible changes: 1) We indicate what fields are present with an explicit feature bit. 2) Virtqueues are explicitly numbered, and not in the config space. Signed-off-by: Rusty Russell commit f35d9d8aae08940b7fdd1bb8110619da2ece6b28 Author: Rusty Russell Date: Mon Feb 4 23:49:54 2008 -0500 virtio: Implement skb_partial_csum_set, for setting partial csums on untrusted packets. Use it in virtio_net (replacing buggy version there), it's also going to be used by TAP for partial csum support. Signed-off-by: Rusty Russell Acked-by: David S. Miller commit cb79f1998d89821a4dbac47f59a46ee3fbbf3c61 Author: Al Viro Date: Sat Jan 26 16:49:44 2008 -0500 dlm: dlm/user.c input validation fixes a) in device_write(): add sentinel NUL byte, making sure that lspace.name will be NUL-terminated b) in compat_input() be keep it simple about the amounts of data we are copying. Signed-off-by: Al Viro Signed-off-by: David Teigland commit 043b19cdc081f586a8f4e1c93ce6c03b63c26284 Author: Al Viro Date: Sat Jan 26 00:03:59 2008 -0500 dlm: fix dlm_dir_lookup() handling of too long names ... those can happen and BUG() from DLM_ASSERT() in allocate_direntry() is not a good way to handle them. Signed-off-by: Al Viro Signed-off-by: David Teigland commit a9cc9159281d44754f621f75d4efad0076b29db4 Author: Al Viro Date: Sat Jan 26 00:02:29 2008 -0500 dlm: fix overflows when copying from ->m_extra to lvb Signed-off-by: Al Viro Signed-off-by: David Teigland commit ef58bccab7c7ef34451aa4ceea39545ef126b666 Author: Al Viro Date: Fri Jan 25 23:22:26 2008 -0500 dlm: make find_rsb() fail gracefully when namelen is too large We *can* get there from receive_request() and dlm_recover_master_copy() with namelen too large if incoming request is invalid; BUG() from DLM_ASSERT() in allocate_rsb() is a bit excessive reaction to that and in case of dlm_recover_master_copy() we would actually oops before that while calculating hash of up to 64Kb worth of data - with data actually being 64 _bytes_ in kmalloc()'ed struct. Signed-off-by: Al Viro Signed-off-by: David Teigland commit a5dd06313dbcec3a2c8a5e4a6f3ddb2a8fc72ec9 Author: Al Viro Date: Fri Jan 25 20:22:22 2008 -0500 dlm: receive_rcom_lock_args() overflow check Signed-off-by: Al Viro Signed-off-by: David Teigland commit ae773d0b74bf2244887a6d0504372748381ab9c7 Author: Al Viro Date: Fri Jan 25 19:55:09 2008 -0500 dlm: verify that places expecting rcom_lock have packet long enough Signed-off-by: Al Viro Signed-off-by: David Teigland commit cd9df1aac346f1c7f592739d092ff710c27bbcde Author: Al Viro Date: Fri Jan 25 04:08:09 2008 -0500 dlm: validate data in dlm_recover_directory() Signed-off-by: Al Viro Signed-off-by: David Teigland commit 02ed16b64dc5b7a4f78476bdb64da9bbf88d84b3 Author: Al Viro Date: Fri Jan 25 03:03:59 2008 -0500 dlm: missing length check in check_config() Signed-off-by: Al Viro Signed-off-by: David Teigland commit 4007685c6e6b5c92a07f27cd754bcca394168af2 Author: Al Viro Date: Fri Jan 25 03:01:51 2008 -0500 dlm: use proper type for ->ls_recover_buf Signed-off-by: Al Viro Signed-off-by: David Teigland commit 93ff2971e99c90d1c4d39d242ef6050d2dc853d3 Author: Al Viro Date: Fri Jan 25 02:34:00 2008 -0500 dlm: do not byteswap rcom_config Signed-off-by: Al Viro Signed-off-by: David Teigland commit 163a1859ec6c4c33547bf4613efabf52031566aa Author: Al Viro Date: Fri Jan 25 02:08:26 2008 -0500 dlm: do not byteswap rcom_lock Signed-off-by: Al Viro Signed-off-by: David Teigland commit eef7d739c218cb2546cf95686db77de0d76e4122 Author: Al Viro Date: Fri Jan 25 00:58:46 2008 -0500 dlm: dlm_process_incoming_buffer() fixes * check that length is large enough to cover the non-variable part of message or rcom resp. (after checking that it's large enough to cover the header, of course). * kill more pointless casts Signed-off-by: Al Viro Signed-off-by: David Teigland commit 8b0d8e03f847d9c1677b8a193cd124debbc54633 Author: Al Viro Date: Fri Jan 25 00:28:28 2008 -0500 dlm: use proper C for dlm/requestqueue stuff (and fix alignment bug) a) don't cast the pointer to dlm_header *, we use it as dlm_message * anyway. b) we copy the message into a queue element, then pass the pointer to copy to dlm_receive_message_saved(); declare it properly to make sure that we have the right alignment. Signed-off-by: Al Viro Signed-off-by: David Teigland commit ab1f16116527e42dec8aee176d673a41a881b809 Author: Vitaliy Gusev Date: Thu Jan 17 00:07:08 2008 +0000 pid-namespaces-vs-locks-interaction fcntl(F_GETLK,..) can return pid of process for not current pid namespace (if process is belonged to the several namespaces). It is true also for pids in /proc/locks. So correct behavior is saving pointer to the struct pid of the process lock owner. Signed-off-by: Vitaliy Gusev Acked-by: Serge Hallyn Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: J. Bruce Fields commit 4321e01e7dce8042758349ffa2929c723b0d4107 Author: Matthew Wilcox Date: Mon Jan 14 21:28:30 2008 -0700 file locks: Use wait_event_interruptible_timeout() interruptible_sleep_on_locked() is just an open-coded wait_event_interruptible_timeout(), with the one difference that interruptible_sleep_on_locked() doesn't bother to check the condition on which it is waiting, depending instead on the BKL to avoid the case where it blocks after the wakeup has already been called. locks_block_on_timeout() is only used in one place, so it's actually simpler to inline it into its caller. Signed-off-by: Matthew Wilcox Signed-off-by: J. Bruce Fields commit b533184fc353d4a2d07929b4ac424a6f1bf5a3b9 Author: J. Bruce Fields Date: Fri Oct 26 18:05:40 2007 -0400 locks: clarify posix_locks_deadlock For such a short function (with such a long comment), posix_locks_deadlock() seems to cause a lot of confusion. Attempt to make it a bit clearer: - Remove the initial posix_same_owner() check, which can never pass (since this is only called in the case that block_fl and caller_fl conflict) - Use an explicit loop (and a helper function) instead of a goto. - Rewrite the comment, attempting a clearer explanation, and removing some uninteresting historical detail. Signed-off-by: J. Bruce Fields commit 1d15d84e8b443971cafd885d18f091814ba32cb7 Author: Adrian Bunk Date: Tue Jan 29 00:10:15 2008 +0200 ACPI: make struct osi_linux static Signed-off-by: Adrian Bunk Signed-off-by: Len Brown commit 12d3931c1007a7ad47364a4884e5a6c6e25aa5e1 Author: Adrian Bunk Date: Tue Jan 29 00:10:12 2008 +0200 ACPI: make acpi_dmi_dump() static Signed-off-by: Adrian Bunk Signed-off-by: Len Brown commit d0280a02f7412f3fdd45fbd2f51f59d7d8a03fe8 Author: Len Brown Date: Sun Feb 3 17:32:31 2008 -0500 ACPI: update blacklist comments ...based on additional feedback -- no code change. Signed-off-by: Len Brown commit e6298c6d60838495978cdbe5555dc290785bb961 Author: Len Brown Date: Fri Jan 25 15:40:02 2008 -0500 DMI: remove duplicate helper routine Use existing dmi_get_system_info(), Delete duplicate dmi_get_slot() Spotted-by: Wim Van Sebroeck Signed-off-by: Len Brown commit 8964ebb8c35533f4084cc667079a0ce620356104 Author: Len Brown Date: Fri Jan 25 15:39:50 2008 -0500 ACPI: remove redundant Acer blacklist entry dmi_check_system() does sub-string matching using strstr(), rather than exact string compares with !strcmp(). So delete the longer of the Acer blacklist entries, as its function is just a redundant console message. Spotted-by: Carlos Corbacho Signed-off-by: Len Brown commit 8891fec65ac5b5a74b50c705e31b66c92c3eddeb Author: Sam Ravnborg Date: Sun Feb 3 21:55:49 2008 +0100 scsi: fix dependency bug in aic7 Makefile Building the aic7xxx driver includes the copy of an .h file from a _shipped file. In a highly parallel build Ingo saw that the build sometimes failed (included distcc usage). It was tracked down to a missing dependency from the .c source file to the generated .h file. We started to build the .c file before the copy (cat) operation of the .h file completed and we then only got half of the definitions from the copied .h file. Add an explicit dependency from the .c files to the generated .h files so make knows all dependencies and finsih the build of the .h files before it starts building the .o files. Ingo tested this fix and reported: good news: hundreds of successful kernel builds and no failures overnight. Signed-off-by: Sam Ravnborg Acked-by: Ingo Molnar Acked-by: James Bottomley commit 1560a79a2c2ea0c3826150da8029991d685de990 Author: Adrian Bunk Date: Sun Feb 3 18:17:37 2008 +0200 Jesper Juhl is the new trivial patches maintainer Jesper has agreed to take over maintainership for the trivial patches. Thanks, Jesper! Signed-off-by: Adrian Bunk commit 097091c0a83754f426b3d0b22afa6c984752dbf7 Author: Michael Opdenacker Date: Sun Feb 3 18:06:58 2008 +0200 Documentation: mention email-clients.txt in SubmittingPatches I was struggling to get my email-client no to mangle my patch files, and I didn't find enough information in the SubmittingPatches file. By looking for more information on the web, I eventually found the email-clients.txt file, and it answered all my needs This patch adds a reference to email-clients.txt in SubmittingPatches, and Mozilla related information which is no longer accurate (as opposed to the details found in email-clients.txt). This should be helpful for people sending their first patches, or not sending patches on a frequent basis. Signed-off-by: Michael Opdenacker Acked-by: Randy Dunlap Acked-by: Jeff Garzik Signed-off-by: Adrian Bunk commit 09c6dd3c9d99b63608dc77dc462d4a5a3785f620 Author: Ohad Ben-Cohen Date: Sun Feb 3 18:05:15 2008 +0200 fs/binfmt_elf.c: spello fix s/litle/little Signed-off-by: Ohad Ben-Cohen Signed-off-by: Adrian Bunk commit 28bc44d7d1d967b8251214dd7a130d523b5ba5ee Author: Fengguang Wu Date: Sun Feb 3 18:04:10 2008 +0200 do_invalidatepage() comment typo fix Fix a typo in the comment for do_invalidatepage(). Signed-off-by: Fengguang Wu Signed-off-by: Adrian Bunk commit 3eb43f689cef73c7c62bcaf90d7dc75a6182d2bd Author: Oliver Pinter Date: Sun Feb 3 17:59:17 2008 +0200 Documentation/filesystems/porting fixes typo fix and whitespace cleanup Signed-off-by: Oliver Pinter Signed-off-by: Adrian Bunk commit 53379e57a7705e2946c8d77d09a57a169097a6fe Author: Oliver Pinter Date: Sun Feb 3 17:56:48 2008 +0200 typo fixes in net/core/net_namespace.c Signed-off-by: Oliver Pinter Signed-off-by: Adrian Bunk commit 1dbede87148c4723789e59ce2e415c909c8ccc3d Author: Oliver Pinter Date: Sun Feb 3 17:55:45 2008 +0200 typo fix in net/rfkill/rfkill.c Signed-off-by: Oliver Pinter Signed-off-by: Adrian Bunk commit ac461a0330abe9f8ceffbf3ad7c50b116a72de33 Author: Oliver Pinter Date: Sun Feb 3 17:52:41 2008 +0200 typo fixes in net/sctp/sm_statefuns.c Signed-off-by: Oliver Pinter Signed-off-by: Adrian Bunk commit 643d1f7fe3aa12c8bdea6fa5b4ba874ff6dd601d Author: Joe Perches Date: Sun Feb 3 17:48:52 2008 +0200 lib/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit 0b0a3e7b18b8d9894f3621672ac7bdc5320459c4 Author: Joe Perches Date: Sun Feb 3 17:48:04 2008 +0200 kernel/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit 1e4478c325caadb135572f9a907761505dcbce39 Author: Joe Perches Date: Sun Feb 3 17:47:00 2008 +0200 include/scsi/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit fd3f8984f6fa1ad1a6c2283eef48ba6e5242bcc5 Author: Joe Perches Date: Sun Feb 3 17:45:46 2008 +0200 include/linux/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit ab690d9fedf5103bc3057bcd20555159f613b5f2 Author: Joe Perches Date: Sun Feb 3 17:38:04 2008 +0200 include/asm-m68knommu/: Spelling fixes Signed-off-by: Joe Perches Acked-by: Greg Ungerer Signed-off-by: Adrian Bunk commit 62018b5b588fbefbeb4542cdb6238495b2d2ea38 Author: Joe Perches Date: Sun Feb 3 17:34:55 2008 +0200 include/asm-frv/: Spelling fixes Signed-off-by: Joe Perches Acked-by: David Howells Signed-off-by: Adrian Bunk commit c78bad11fbf1272ea021f56458025dc98486d6f4 Author: Joe Perches Date: Sun Feb 3 17:33:42 2008 +0200 fs/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit ee0fc097ef47a4a6ff6b4800f2391030131b7828 Author: Joe Perches Date: Sun Feb 3 17:32:52 2008 +0200 drivers/watchdog/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit 44363f14d9e7c9786ddbe7742d0f002b4ad685e1 Author: Joe Perches Date: Sun Feb 3 17:31:49 2008 +0200 drivers/video/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit b8c268d10439bdd4ed469d58fbadf2c2f56801b0 Author: Joe Perches Date: Sun Feb 3 17:30:25 2008 +0200 drivers/ssb/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit 8f4aafec6ab63a11638aa89cd8f29dc2d82c62e6 Author: Joe Perches Date: Sun Feb 3 17:29:25 2008 +0200 drivers/serial/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit b1c118121ae37285ddc0a7a908999196bb35fb0b Author: Joe Perches Date: Sun Feb 3 17:28:22 2008 +0200 drivers/scsi/: Spelling fixes Signed-off-by: Joe Perches Acked-by: Andrew Vasquez Acked-by: James Smart Acked-by: Darrick J. Wong Acked-by: David Somayajulu Acked-by: Mark Salyzyn Signed-off-by: Adrian Bunk commit f26fc4e08a0d045b108ab279cb8c8bd676f83c02 Author: Joe Perches Date: Sun Feb 3 17:26:02 2008 +0200 drivers/pcmcia/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit 4f63ba170866731fd388ce5eff05d5705b193b0c Author: Joe Perches Date: Sun Feb 3 17:24:37 2008 +0200 drivers/parisc/: Spelling fixes Signed-off-by: Joe Perches Acked-by: Grant Grundler Signed-off-by: Adrian Bunk commit 081985ac14281d81780bc14562b89434407ca403 Author: Joe Perches Date: Sun Feb 3 17:23:36 2008 +0200 drivers/nubus/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit 8e87d7820a6362b6304924befb22d1ee79b754f3 Author: Joe Perches Date: Sun Feb 3 17:22:34 2008 +0200 drivers/mtd/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit fc1323bb75ef8ae70f99cd6a386cc659a5b85696 Author: Joe Perches Date: Sun Feb 3 17:21:01 2008 +0200 drivers/message/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit 3641e79e251b082f254b86006f4152b4a825fec7 Author: Joe Perches Date: Sun Feb 3 17:19:47 2008 +0200 include/media/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit c84e6036ba7177a404cc860cb5a440e06fad92dd Author: Joe Perches Date: Sun Feb 3 17:18:59 2008 +0200 drivers/media/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit f18816ba20655deb3227da0600d5c34201467993 Author: Joe Perches Date: Sun Feb 3 17:18:02 2008 +0200 drivers/macintosh/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit c66ed655adc5e43b7143421f36d2a23f74398538 Author: Joe Perches Date: Sun Feb 3 17:16:28 2008 +0200 drivers/isdn/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit 5047fabac1d1b68c7f244d908cc962b9e2027506 Author: Joe Perches Date: Sun Feb 3 17:15:20 2008 +0200 drivers/input/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit d48140e3cdd9da2ccce2251bedf5bbb3f16344f7 Author: Joe Perches Date: Sun Feb 3 17:13:40 2008 +0200 drivers/firmware/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit 6f042b50e0ef8f2d3575a84c7db454449cf54e34 Author: Joe Perches Date: Sun Feb 3 17:12:34 2008 +0200 drivers/edac/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit 8dfba4d71b77bca83a6f9943fc8e53439310cffd Author: Joe Perches Date: Sun Feb 3 17:11:42 2008 +0200 drivers/char/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit b92b1c5725d028ead3946ac8af5a5614155710b3 Author: Joe Perches Date: Sun Feb 3 17:10:31 2008 +0200 drivers/bluetooth/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit f66083c376d2d2202d39d697424525031f19fa8d Author: Joe Perches Date: Sun Feb 3 17:09:38 2008 +0200 drivers/block/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit 1967b7ff75dca31a488fce113f94cabdd4f3d7bd Author: Joe Perches Date: Sun Feb 3 17:08:11 2008 +0200 drivers/ata/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit aee07ba683b3774e8f6660b750b01a1cd26a17a6 Author: Joe Perches Date: Sun Feb 3 17:07:16 2008 +0200 include/acpi/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit 3c5f9be461cd86394a143e73f2325da5938bce0b Author: Joe Perches Date: Sun Feb 3 17:06:17 2008 +0200 drivers/acpi/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit 9cd3704fc0103c0d368fc08ce6ef14990b77ee61 Author: Joe Perches Date: Sun Feb 3 17:05:25 2008 +0200 arch/um: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit 9636cb0ff6e27cfaf886f6ef5c6a2021b453457a Author: Joe Perches Date: Sun Feb 3 17:00:11 2008 +0200 include/asm-parisc/: Spelling fixes Signed-off-by: Joe Perches Acked-by: Grant Grundler Signed-off-by: Adrian Bunk commit 9eea51808a31dd5801ff809948590af188827295 Author: Joe Perches Date: Sun Feb 3 16:58:20 2008 +0200 arch/parisc/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit eebfa976ad35b1a0debd359f1c4daed3856e21f8 Author: Joe Perches Date: Sun Feb 3 16:57:20 2008 +0200 include/asm-mips/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit 603e82edf78ad6c0f836023f8db585620211947b Author: Joe Perches Date: Sun Feb 3 16:54:53 2008 +0200 arch/mips/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit ec9674e7e5ff7871a971a85436f2e26f6c893c52 Author: Joe Perches Date: Sun Feb 3 16:53:47 2008 +0200 arch/m32r/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit 77bef30f902d36ffaab415f8fd289aea5d63b047 Author: Joe Perches Date: Sun Feb 3 16:52:33 2008 +0200 arch/h8300/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit 84c079239db04ee189c658926db06daee4e72267 Author: Joe Perches Date: Sun Feb 3 16:50:59 2008 +0200 include/asm-arm/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit 87b9bcd5aba2916edc0f6ec8814b628160ee7b64 Author: Joe Perches Date: Sun Feb 3 16:49:43 2008 +0200 arch/arm/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit 7c4a52eb557d3928231ddbc89c9064cf9d50e385 Author: Joe Perches Date: Sun Feb 3 16:38:31 2008 +0200 MAINTAINERS: update Corey Thomas email address On Sat, 2007-12-22 at 18:08 -0500, Corey Thomas wrote: > This email, coreythomas@charter.net is good. ISP change. Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit 726a645913694619876dd20645f88aad25cfbcd5 Author: Joe Perches Date: Sun Feb 3 16:36:24 2008 +0200 MAINTAINERS: remove Adam Fritzler, remove his email address in other sources Signed-off-by: Joe Perches Signed-off-by: Adrian Bunk commit 8b3de0df4eefc47ca2aa459b72dd8b2711f3640c Author: Marcin Ślusarz Date: Sun Feb 3 16:32:51 2008 +0200 asm-*/compat.h: fix typo in comment Signed-off-by: Marcin Ślusarz Signed-off-by: Adrian Bunk commit 254012fd51df04989635e1f07cb796974eb0b66d Author: Randy Dunlap Date: Sun Feb 3 16:30:51 2008 +0200 doc: use correct debugfs mountpoint Use the normal, expected mountpoint in the relay(fs) example for debugfs. Signed-off-by: Randy Dunlap Signed-off-by: Adrian Bunk commit 771fcb58e5cd7feaf544552519319e7e8a5cace3 Author: Randy Dunlap Date: Sun Feb 3 16:29:12 2008 +0200 dio: fix kernel-doc notation Fix kernel-doc in drivers/dio/ so that it is formatted correctly and the parameter names match the function parameters. Signed-off-by: Randy Dunlap Acked-By: Jochen Friedrich Signed-off-by: Adrian Bunk commit d81919c9c22466183115f83645128da4c2482fcd Author: Clemens Koller Date: Sun Feb 3 16:26:36 2008 +0200 Documentation/BUG-HUNTING whitespace cleanup Just a little whitespace cleanup patch for Documentation/BUG-HUNTING Signed-off-by: Clemens Koller Acked-by: Randy Dunlap Signed-off-by: Adrian Bunk commit 06c93e875747f3020d997220b3e7c98083acc7c3 Author: Pierre Peiffer Date: Sun Feb 3 16:22:12 2008 +0200 Remove one useless extern declaration The file exit.c contains one useless extern declaration of sem_exit(). Moreover, it refers to nothing. This trivial patch removes it. Signed-off-by: Pierre Peiffer Signed-off-by: Adrian Bunk commit ef08cce81d9be38063ec7796e36f2b32bdf82ff2 Author: Li Zefan Date: Sun Feb 3 16:20:13 2008 +0200 time: delete comments that refer to noexistent symbols Function do_timer_interrupt_hook() don't take argument regs, and structure hrtimer_sleeper don't have member cb_pending. So delete comments refering to these symbols. Signed-off-by: Li Zefan Signed-off-by: Adrian Bunk commit 2e01e00e768ef42fb5b8804cd1b9b47b26d59ec5 Author: Leonardo Chiquitto Date: Sun Feb 3 16:17:16 2008 +0200 Documentation: missing proc/$PID/stat field There's a missing field in the /proc/$PID/stat output documented in Documentation/filesystems/proc.txt. Signed-off-by: Adrian Bunk commit eb8dc5e7b58bfe56aa91bcc501b62f214bb401e8 Author: Tim Pepper Date: Sun Feb 3 16:12:47 2008 +0200 radix_tree.h trivial comment correction There is an unmatched parenthesis in the locking commentary of radix_tree.h which is trivially fixed by the patch below. Signed-off-by: Tim Pepper Acked-by: Nick Piggin Signed-off-by: Adrian Bunk commit 48cc7ec93f65b48d3366c1a5c5b612a0d2c282a6 Author: Masatake YAMATO Date: Sun Feb 3 16:10:08 2008 +0200 correct missing a double quote in configfs.txt Signed-off-by: Masatake YAMATO Acked-by: Joel Becker Signed-off-by: Adrian Bunk commit 17a61cdfc54d4d2f01a7285051ce86a0afdd3606 Author: Andre Haupt Date: Sun Feb 3 16:08:09 2008 +0200 jonada720: remove duplicate include Signed-off-by: Andre Haupt Acked-by: Kristoffer Ericson Signed-off-by: Adrian Bunk commit 8340c103d7179de4f690cda0b76d1a5c3fbe8926 Author: Andre Haupt Date: Sun Feb 3 16:04:56 2008 +0200 bf54x: remove duplicate include Signed-off-by: Andre Haupt Signed-off-by: Adrian Bunk commit f639416325e0e5bbb044dea01b74190878b9b899 Author: Andre Haupt Date: Sun Feb 3 16:03:50 2008 +0200 gameport: remove duplicate include Signed-off-by: Andre Haupt Signed-off-by: Adrian Bunk commit 8457403db6abebf4462636986c7e46ce12fe68c4 Author: Frank Lichtenheld Date: Sun Feb 3 15:59:02 2008 +0200 vga.h: Fix prepocessor warning Mark comment as comment, fixes: include/asm/vga.h:6:8: warning: extra tokens at end of #endif directive Signed-off-by: Frank Lichtenheld Signed-off-by: Adrian Bunk commit 0868ff7a4215f9244037b63a2952761cbe196a07 Author: Adrian Bunk Date: Sun Feb 3 15:54:28 2008 +0200 move frv docs one level up My first guess for "fujitsu" was it might be related to the fujitsu-laptop.c driver... Move the frv directory one level up since frv is the name of the architecture in the Linux kernel. Signed-off-by: Adrian Bunk commit 03502faa259bce35317a32afe79b7c69f507e14a Author: Adrian Bunk Date: Sun Feb 3 15:50:21 2008 +0200 remove Documentation/smp.txt After seeing the filename I'd have expected something about the implementation of SMP in the Linux kernel - not some notes on kernel configuration and building trivialities noone would search at this place. Signed-off-by: Adrian Bunk Acked-by: Alan Cox commit efad798b9f01300565f65058b153250cc49d58f2 Author: Paulius Zaleckas Date: Sun Feb 3 15:42:53 2008 +0200 Spelling fixes: lenght->length Signed-off-by: Paulius Zaleckas Signed-off-by: Adrian Bunk commit 0cadfc09534033e2b9694bd2d226b5dcfebd6704 Author: Robert P. J. Day Date: Sun Feb 3 15:27:38 2008 +0200 Documentation: Clarify when module debugging actually works. Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 3239c49cf14f866c0465eb88649c8bfdeba165be Author: Robert P. J. Day Date: Sun Feb 3 15:23:00 2008 +0200 Documentation: Remove references to dead "st0x" and "tmc8xx" parms. Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 24aaef8d7f8e1eeacb0121cde93112fe43c795ad Author: Robert P. J. Day Date: Sun Feb 3 15:20:26 2008 +0200 Documentation: Update to refer to correct "rcupdate" module name Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 2d27a96614c961b069d1a8abdeaf2750a3941bd1 Author: Robert P. J. Day Date: Sun Feb 3 15:18:45 2008 +0200 Documentation: "decnet=" should read "decnet.addr=". Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit e1b8513d21845fbeb93d6d2c4973db874385059f Author: Robert P. J. Day Date: Sun Feb 3 15:14:02 2008 +0200 Typoes: "whith" -> "with" Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 14e4a0f2bb242f8008bc70b55fa834292c6a62af Author: Robert P. J. Day Date: Sun Feb 3 15:12:15 2008 +0200 Fix a small number of "memeber" typoes. Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 96532babc3e2ec4e0fce891d64319f183f043855 Author: Robert P. J. Day Date: Sun Feb 3 15:06:26 2008 +0200 linux/dma-mapping.h: rename macro to prevent multiple inclusion Having the macro to prevent multiple inclusion of include/linux/dma-mapping.h contain the prefix "_ASM" is just begging for possible confusion some day. Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 4fe3fcaca008ec24bb4b9cb4a9e4d17bee06c755 Author: Robert P. J. Day Date: Sun Feb 3 15:02:21 2008 +0200 Correct explanations of "find_next" bit routines. Correct the obvious "copy and paste" errors explaining some of the "find_next" routines. Signed-off-by: Robert P. J. Day Acked-by: Randy Dunlap Signed-off-by: Adrian Bunk commit a247b5d594aafe3a0121ae658a974cbea32e18d6 Author: Uwe Kleine-König Date: Sun Feb 3 14:59:11 2008 +0200 fix typo 'the same the\>' Signed-off-by: Uwe Kleine-König Signed-off-by: Adrian Bunk commit b885b27ce67013a7aa7f4181fdd916a29c623850 Author: Uwe Kleine-König Date: Sun Feb 3 14:55:57 2008 +0200 SERIAL_NETX_CONSOLE provides console for NetX, not IMX Signed-off-by: Uwe Kleine-König Signed-off-by: Adrian Bunk commit a7b1a68b25093753155ea752ff865c9dfcf33d79 Author: Uwe Kleine-König Date: Sun Feb 3 14:54:41 2008 +0200 use the newc archive format as requested by initramfs This is a documentation followup to 2e591bbc0d563e12f5a260fbbca0df7d5810910e Signed-off-by: Uwe Kleine-König Signed-off-by: Adrian Bunk commit 33b1302545d117f368135387c73f78e2a08c7c4b Author: Denis Cheng Date: Sun Feb 3 14:50:11 2008 +0200 Documentation: fix type error Signed-off-by: Denis Cheng Signed-off-by: Adrian Bunk commit 78b42c99af8407ff094be361782823651a2cc26c Author: Michal Piotrowski Date: Sun Feb 3 14:47:38 2008 +0200 Coding style fix drivers/serial/icom.h Signed-off-by: Michal Piotrowski Signed-off-by: Adrian Bunk commit a80f509f4a4f41ea8693733124470ad63a12664a Merge: 246f19d... 04a9e45... Author: David S. Miller Date: Sun Feb 3 04:43:34 2008 -0800 Merge branch 'fixes' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 146f51feb9098a5c9169cff316938f0bb165bea1 Author: Adrian Bunk Date: Sun Feb 3 14:43:15 2008 +0200 remove obsolete contact information from CREDITS Signed-off-by: Adrian Bunk commit 246f19d194ec99ee8992106e129a133142dc6a10 Author: Arnaldo Carvalho de Melo Date: Sun Feb 3 04:09:17 2008 -0800 [IPV6]: Reorg struct ifmcaddr6 to save some bytes /home/acme/git/net-2.6/net/ipv6/mcast.c: struct ifmcaddr6 | -8 1 struct changed igmp6_group_dropped | -6 add_grec | -3 mld_ifc_timer_expire | -18 ip6_mc_add_src | -3 ip6_mc_del_src | -3 igmp6_group_added | -3 6 functions changed, 36 bytes removed, diff: -36 ipv6.ko: 6 functions changed, 36 bytes removed, diff: -36 Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit ad8bb78083ff58f5dff3ef8cf8ac3e0336f8ae36 Author: Arnaldo Carvalho de Melo Date: Sun Feb 3 04:08:26 2008 -0800 [INET_TIMEWAIT_SOCK]: Reorganize struct inet_timewait_sock to save some bytes /home/acme/git/net-2.6/net/ipv6/tcp_ipv6.c: struct inet_timewait_sock | -8 struct tcp_timewait_sock | -8 2 structs changed tcp_v6_rcv | -6 1 function changed, 6 bytes removed, diff: -6 Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit cf6b5fbe7426cab3322c3a82f25291672d70a65f Author: Arnaldo Carvalho de Melo Date: Sun Feb 3 04:07:48 2008 -0800 [DCCP]: Reorganize struct dccp_sock to save 8 bytes /home/acme/git/net-2.6/net/dccp/ipv6.c: struct dccp_sock | -8 struct dccp6_sock | -8 2 structs changed Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 4e7e5cfe3825b4d854fc005d784a6f551b3c039f Author: Arnaldo Carvalho de Melo Date: Sun Feb 3 04:06:59 2008 -0800 [INET6]: Reorganize struct inet6_dev to save 8 bytes And make it a multiple of a 64 bytes, reducing cacheline trashing: Before: [acme@doppio net-2.6]$ pahole -C inet6_dev net/dccp/ipv6.o struct inet6_dev { long unsigned int mc_maxdelay; /* 48 8 */ unsigned char mc_qrv; /* 56 1 */ unsigned char mc_gq_running; /* 57 1 */ unsigned char mc_ifc_count; /* 58 1 */ /* XXX 5 bytes hole, try to pack */ /* --- cacheline 1 boundary (64 bytes) --- */ struct timer_list mc_gq_timer; /* 64 48 */ __u32 if_flags; /* 180 4 */ int dead; /* 184 4 */ u8 rndid[8]; /* 188 8 */ /* XXX 4 bytes hole, try to pack */ /* --- cacheline 3 boundary (192 bytes) was 8 bytes ago --- */ struct timer_list regen_timer; /* 200 48 */ /* size: 456, cachelines: 8 */ /* sum members: 447, holes: 2, sum holes: 9 */ /* last cacheline: 8 bytes */ }; After: net-2.6/net/ipv6/af_inet6.c: struct inet6_dev | -8 1 struct changed Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit ab1e0a13d70299e792fd0527cefd070c1405fa5b Author: Arnaldo Carvalho de Melo Date: Sun Feb 3 04:06:04 2008 -0800 [SOCK] proto: Add hashinfo member to struct proto This way we can remove TCP and DCCP specific versions of sk->sk_prot->get_port: both v4 and v6 use inet_csk_get_port sk->sk_prot->hash: inet_hash is directly used, only v6 need a specific version to deal with mapped sockets sk->sk_prot->unhash: both v4 and v6 use inet_hash directly struct inet_connection_sock_af_ops also gets a new member, bind_conflict, so that inet_csk_get_port can find the per family routine. Now only the lookup routines receive as a parameter a struct inet_hashtable. With this we further reuse code, reducing the difference among INET transport protocols. Eventually work has to be done on UDP and SCTP to make them share this infrastructure and get as a bonus inet_diag interfaces so that iproute can be used with these protocols. net-2.6/net/ipv4/inet_hashtables.c: struct proto | +8 struct inet_connection_sock_af_ops | +8 2 structs changed __inet_hash_nolisten | +18 __inet_hash | -210 inet_put_port | +8 inet_bind_bucket_create | +1 __inet_hash_connect | -8 5 functions changed, 27 bytes added, 218 bytes removed, diff: -191 net-2.6/net/core/sock.c: proto_seq_show | +3 1 function changed, 3 bytes added, diff: +3 net-2.6/net/ipv4/inet_connection_sock.c: inet_csk_get_port | +15 1 function changed, 15 bytes added, diff: +15 net-2.6/net/ipv4/tcp.c: tcp_set_state | -7 1 function changed, 7 bytes removed, diff: -7 net-2.6/net/ipv4/tcp_ipv4.c: tcp_v4_get_port | -31 tcp_v4_hash | -48 tcp_v4_destroy_sock | -7 tcp_v4_syn_recv_sock | -2 tcp_unhash | -179 5 functions changed, 267 bytes removed, diff: -267 net-2.6/net/ipv6/inet6_hashtables.c: __inet6_hash | +8 1 function changed, 8 bytes added, diff: +8 net-2.6/net/ipv4/inet_hashtables.c: inet_unhash | +190 inet_hash | +242 2 functions changed, 432 bytes added, diff: +432 vmlinux: 16 functions changed, 485 bytes added, 492 bytes removed, diff: -7 /home/acme/git/net-2.6/net/ipv6/tcp_ipv6.c: tcp_v6_get_port | -31 tcp_v6_hash | -7 tcp_v6_syn_recv_sock | -9 3 functions changed, 47 bytes removed, diff: -47 /home/acme/git/net-2.6/net/dccp/proto.c: dccp_destroy_sock | -7 dccp_unhash | -179 dccp_hash | -49 dccp_set_state | -7 dccp_done | +1 5 functions changed, 1 bytes added, 242 bytes removed, diff: -241 /home/acme/git/net-2.6/net/dccp/ipv4.c: dccp_v4_get_port | -31 dccp_v4_request_recv_sock | -2 2 functions changed, 33 bytes removed, diff: -33 /home/acme/git/net-2.6/net/dccp/ipv6.c: dccp_v6_get_port | -31 dccp_v6_hash | -7 dccp_v6_request_recv_sock | +5 3 functions changed, 5 bytes added, 38 bytes removed, diff: -33 Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 9dc7f30e3bac329998a2a9bb814bd0abc7cb58e2 Author: Bryan Wu Date: Wed Jan 30 16:52:28 2008 +0800 EMAC driver: Fix bug: The clock divisor is set to all ones at reset. Signed-off-by: Kalle Pokki Signed-off-by: Bryan Wu Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 6e01d1a4b2f7110201e7fe16e561a721d76fab3e Author: Alexey Demin Date: Wed Jan 30 16:52:27 2008 +0800 EMAC driver: fix bug - invalidate data cache of new_skb->data range when cache is WB It prevents overwritting new data from DMA. Signed-off-by: Alexey Demin Signed-off-by: Bryan Wu Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 136492b275e0dd02d842b94507d66267d18d341c Author: Vitja Makarov Date: Wed Jan 30 16:52:26 2008 +0800 EMAC driver: add power down mode This patch puts phy in power-down mode when interface is down. Also we should think about energy detect power-down mode, that will decrease power consumption when no link. Signed-off-by: Vitja Makarov Signed-off-by: Bryan Wu Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 6893ff1c7eeac73e2c3267e4270bdb64ec427a31 Author: Michael Hennerich Date: Wed Jan 30 16:52:25 2008 +0800 EMAC driver: ADSP-BF52x arch/mach support Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 2fb9d6f5a39d7753d2d2cc286079a94e92440bcd Author: Mike Frysinger Date: Wed Jan 30 16:52:24 2008 +0800 EMAC 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 Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 775919bc23880f250ca1029a6420187ee4bb5b26 Author: Aidan Williams Date: Wed Jan 30 16:52:23 2008 +0800 EMAC driver: bf537 MAC multicast hash filtering patch The bf537 Ethernet MAC driver in the 2007R1.1-RC3 kernel (and the current kernel) do not implement multicast hash filtering. This is a performance problem if you have lots of multicast on your network. This patch plugs the right bits into the multicast hash registers. Signed-off-by: Aidan Williams Signed-off-by: Bryan Wu Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 7cc8f38188133e0c278b9f207d63c2c2b4d98236 Author: Bryan Wu Date: Wed Jan 30 16:52:22 2008 +0800 EMAC driver: define MDC_CLK=2.5MHz and caculate mdc_div according to SCLK. Signed-off-by: Bryan Wu Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 6db9e4617e9bdf9d31fbea165b10cb95318adf8c Author: Bryan Wu Date: Wed Jan 30 16:52:21 2008 +0800 EMAC driver: shorten the mdelay value to solve netperf performance issue Signed-off-by: Bryan Wu Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 8ee8e922541a3dea0b53b177a3c5ccbf03631408 Author: Jeff Garzik Date: Wed Jan 30 04:00:40 2008 -0500 [netdrvr] sis190: build fix Fix PCI table section type conflict, by removing __devinitdata. Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 82637e808478087ce861129745fa60cc37e7929d Author: Stephen Hemminger Date: Wed Jan 23 19:16:04 2008 -0800 sky2: fix Wake On Lan interaction with BIOS This patch disables config mode access after clearing PCI settings. Some BIOS's seem to not do WOL if config bit still set. Fixes: http://bugzilla.kernel.org/show_bug.cgi?id=9721 Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit a7bffe722c996679b4fb2103ecaf673ec2b9b4a7 Author: Stephen Hemminger Date: Wed Jan 23 19:11:51 2008 -0800 sky2: restore multicast addresses after recovery If the sky2 deadman timer forces a recovery, the multicast hash list is lost. Move the call to sky2_set_multicast to the end of sky2_up() so all paths that bring device up will restore multicast. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 44911bfee4a92f7580cb4dbba36e986003b0ac75 Author: Jike Song Date: Thu Jan 24 14:51:36 2008 +0800 pci-skeleton: Misc fixes to build neatly The pci-skeleton.c has several problems with compilation, such as missing args when calling synchronize_irq(). Fix it. Signed-off-by: Jike Song Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 097c2aa89f22f55db19fd0f72aede460bcb61f29 Author: Johnson Leung Date: Sun Feb 3 03:50:54 2008 -0800 phylib: Add Realtek 821x eth PHY support this PHY present on the MPC8315E and MPC837xE RDB boards. Signed-off-by: Johnson Leung Signed-off-by: Kevin Lam Signed-off-by: Joe D'Abbraccio Signed-off-by: Kim Phillips Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 6344f0521aac9f93c312826216762f2185268390 Author: Mark Brown Date: Sun Jan 27 13:58:11 2008 +0000 natsemi: Update locking documentation The documentation regarding synchronisation at the head of the natsemi driver was badly bitrotted so replace it with a general statement about the techniques used which is less likely to bitrot. Also remove the note saying these chips are uncommon - it makes little difference but they were used in a number of laptops and at least one mass market PCI ethernet card. Signed-off-by: Mark Brown Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 35b5f6b1a82b5c586e0b24c711dc6ba944e88ef1 Author: Nate Case Date: Tue Jan 29 10:05:09 2008 -0600 PHYLIB: Locking fixes for PHY I/O potentially sleeping PHY read/write functions can potentially sleep (e.g., a PHY accessed via I2C). The following changes were made to account for this: * Change spin locks to mutex locks * Add a BUG_ON() to phy_read() phy_write() to warn against calling them from an interrupt context. * Use work queue for PHY state machine handling since it can potentially sleep * Change phydev lock from spinlock to mutex Signed-off-by: Nate Case Acked-by: Andy Fleming Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 2b91213064bd882c3adf35f028c6d12fab3269ec Author: Ayaz Abdulla Date: Mon Jan 28 10:24:40 2008 -0500 forcedeth: mac address mcp77/79 This patch is a critical fix for MCP77 and MCP79 devices. The feature flags were missing the define for correct mac address (DEV_HAS_CORRECT_MACADDR). Signed-off-by: Ayaz Abdulla Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit bb9a4fd1f7cc083f72e52f01938c23ac5b3403d5 Author: Ayaz Abdulla Date: Sun Jan 13 16:03:04 2008 -0500 forcedeth: multicast fix This patch fixes the case where no multicast addresses are requested to be added to the multicast filter. The multicast mask must be set to all 1's instead of all 0's. Signed-off-by: Ayaz Abdulla Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 32fa8b27eaec2f4bc978cadfb84b375de57311ce Author: Ayaz Abdulla Date: Sun Jan 13 16:03:01 2008 -0500 forcedeth: tx pause fix This patch fixes the tx pause enable watermark flags. The new values where determined to be optimal during testing. Signed-off-by: Ayaz Abdulla Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit f648d129038f40868dc79bbcb1bd3505e4a7faf2 Author: Ayaz Abdulla Date: Sun Jan 13 16:02:57 2008 -0500 forcedeth: updated copyright section This patch updates the copyright section to include 2007 and 2008. Signed-off-by: Ayaz Abdulla Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit bfaffe8fae0273b57f2146d1759cbd25d07c81e9 Author: Ayaz Abdulla Date: Sun Jan 13 16:02:55 2008 -0500 forcedeth: checksum fix The driver should inform the stack when checksum has been performed by the HW when both IP and TCP (or UDP) checksum flags are indicated by HW. Previously, it would also inform the stack when only IP checksum flag was indicated by HW. This can cause data corruption when IP fragments are used. The IP Identification field can wrap around and cause data from new fragments to fill into older fragment slots with same IP Id. The stack would then not perform TCP/UDP checksum (after re-assembly of all fragments) since driver falsely stated it was already calculated. Signed-off-by: Ayaz Abdulla Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 0a62677b26ccb31cd81fc55d14d27d8cd3560d7d Author: Ayaz Abdulla Date: Sun Jan 13 16:02:42 2008 -0500 forcedeth: reset register fix This patch fixes the reset register definition from 0x3C to 0x34. Signed-off-by: Ayaz Abdulla Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 10a5a80b3c69d65d66c4d9f4f796725f09bbc8cb Author: Roel Kluin <12o3l@tiscali.nl> Date: Tue Jan 29 21:14:56 2008 +0100 drivers/net/arm/at91_ether.c: logical/bitand typo in function reset_phy() include/linux/mii.h:48:#define BMCR_RESET 0x8000 The function reset_phy() is in "#if 0" inactivated code Replace logical "&&" by bit "&" before BMCR_RESET Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 7b9b09436b8720621e5594ce25fd25f34d5d42be Author: Roland Dreier Date: Tue Jan 29 14:45:11 2008 -0800 cxgb3: Remove incorrect __devinit annotations When PCI error recovery was added to cxgb3, a function t3_io_slot_reset() was added. This function can call back into t3_prep_adapter() at any time, so t3_prep_adapter() can no longer be marked __devinit. This patch removes the __devinit annotation from t3_prep_adapter() and all the functions that it calls, which fixes WARNING: drivers/net/cxgb3/built-in.o(.text+0x2427): Section mismatch in reference from the function t3_io_slot_reset() to the function .devinit.text:t3_prep_adapter() Signed-off-by: Roland Dreier Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit d96c75a3d170a7c9a1ef062cb6d7a65730a34f22 Author: Jay Vosburgh Date: Tue Jan 29 18:07:49 2008 -0800 bonding: update MAINTAINERS Remove Chad Tindel; he hasn't been involved for a number of years. Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 43cd2595e76fce5f58d5b35d9875bcc48ddaf2e8 Author: Jay Vosburgh Date: Tue Jan 29 18:07:48 2008 -0800 bonding: update version Update bonding to version 3.2.4. Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 21c9d8d73dd1a152c49b4e3176193a099849d4c9 Author: Jay Vosburgh Date: Tue Jan 29 18:07:47 2008 -0800 bonding: do not acquire rtnl in ARP monitor The ARP monitor functions currently acquire RTNL when performing failover operations, but do so incorrectly (out of order). This causes various warnings from might_sleep. The ARP monitor isn't supported for any of the bonding modes that actually require RTNL, so it is safe to not hold RTNL when failing over in the ARP monitor. Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 2439f9ebd45349246b0fec7c47e6d0e05b1357c7 Author: Andy Gospodarek Date: Tue Jan 29 18:07:46 2008 -0800 bonding: fix race that causes invalid statistics I've seen reports of invalid stats in /proc/net/dev for bonding interfaces, and found it's a pretty easy problem to reproduce. Since the current code zeros the bonding stats when a read is requested and a pointer to that data is returned to the caller we cannot guarantee that the caller has completely accessed the data before a successive call to request the stats zeroes the stats again. This patch creates a new stack variable to keep track of the updated stats and copies the data from that variable into the bonding stats structure. This ensures that the value for any of the bonding stats should not incorrectly return zero for any of the bonding statistics. This does use more stack space and require an extra memcpy, but it seems like a fair trade-off for consistently correct bonding statistics. Signed-off-by: Andy Gospodarek Signed-off-by: Chris Snook Acked-by: Jay Vosburgh Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 4fe4763cd8cacd81d892193efb48b99c99c15323 Author: Jay Vosburgh Date: Tue Jan 29 18:07:45 2008 -0800 bonding: fix NULL pointer deref in startup processing Fix the "are we creating a duplicate" check to not compare the name if the name is NULL (meaning that the system should select a name). Bug reported by Benny Amorsen . Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 80ee5ad23150f1f3fe8d35728e860850ccea44da Author: Jay Vosburgh Date: Tue Jan 29 18:07:44 2008 -0800 bonding: fix set_multicast_list locking This patch eliminates a problem (reported by lockdep) in the bond_set_multicast_list function. It first reduces the locking on bond->lock to a simple read_lock, and second, adds netif_tx locking around the bonding mc_list manipulations that occur outside of the set_multicast_list function. The original problem was related to IPv6 addrconf activity. Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit a42e534f1b6be7f2f68f83d29588c3f2736b4d25 Author: Jay Vosburgh Date: Tue Jan 29 18:07:43 2008 -0800 bonding: fix parameter parsing My last fix (commit ece95f7fefe3afae19e641e1b3f5e64b00d5b948) didn't handle one case correctly. This resolves that, and it will now correctly parse parameters with arbitrary white space, and either text names or mode values. Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit c800c5c9db9c621b2c1d70c3ae6532fafe2db69d Author: Ralf Baechle Date: Fri Jan 11 17:28:00 2008 +0000 Fix/Rewrite of the mipsnet driver] This is Thiemo's patch. ----- Forwarded message from Thiemo Seufer ----- From: Thiemo Seufer Date: Sat, 17 Nov 2007 22:29:13 +0000 To: netdev@vger.kernel.org Cc: linux-mips@linux-mips.org, ralf@linux-mips.org Subject: [PATCH, REPOST] Fix/Rewrite of the mipsnet driver Content-Type: text/plain; charset=us-ascii Hello All, currently the mipsnet driver fails after transmitting a number of packages because SKBs are allocated but never freed. I fixed that and coudn't refrain from removing the most egregious warts. - mipsnet.h folded into mipsnet.c, as it doesn't provide any useful external interface. - Free SKB after transmission. - Call free_irq in mipsnet_close, to balance the request_irq in mipsnet_open. - Removed duplicate read of rxDataCount. - Some identifiers are now less verbose. - Removed dead and/or unnecessarily complex code. - Code formatting fixes. Tested on Qemu's mipssim emulation, with this patch it can boot a Debian NFSroot. Thiemo Signed-off-by: Thiemo Seufer Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit ba64f58ea47de34d864a438d49deccbbaea3f935 Author: Adrian Bunk Date: Fri Feb 1 18:19:08 2008 +0200 remove obsolete tokenring maintainer information - Peter's email address is bouncing - the project webpage no longer exists - neither Peter nor Mike had a single patch included in the kernel since 2.6.12-rc2 (when the git history begins) Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 6d490a7e5bea48cdbb869b532b5d7ca0b67ca467 Author: Auke Kok Date: Fri Feb 1 08:21:49 2008 -0800 igb: remove unneeded declaration shadowing earlier one This removes a sparse warning. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 9b71c5e070946767ac8b19317df89700e967992a Author: Andy Gospodarek Date: Fri Feb 1 08:21:44 2008 -0800 e1000e: tweak irq allocation messages There's too much noise on systems that don't support MSI. Let's get rid of a few and make the real error message more specific. Signed-off-by: Andy Gospodarek Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 0a0863af0d41e2eea1391e4e5f375a47c5019ab7 Author: Andreas Mohr Date: Fri Feb 1 08:21:39 2008 -0800 e100: fix spelling errors Signed-off-by: Andreas Mohr Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit b4ea895dd855a1dba72d171f4ef80a2a57b50f04 Author: Adrian Bunk Date: Fri Feb 1 08:21:28 2008 -0800 e1000: make e1000_dump_eeprom() static This patch makes the needlessly global e1000_dump_eeprom() static. Signed-off-by: Adrian Bunk Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 5cfe33d66cee877d2a9575e5bff25519ac44f0de Author: Adrian Bunk Date: Fri Feb 1 08:21:18 2008 -0800 e1000e: make a function static This patch makes the needlessly global reg_pattern_test_array() static. Signed-off-by: Adrian Bunk Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 915e91d734d33ad303313e05582769dbbefff3b2 Author: Jiri Slaby Date: Tue Jan 29 22:49:16 2008 +0100 Net: e100, fix iomap mem accesses Patch against netdev-2.6 follows. -- writeX functions are not permitted on iomap-ped space change to iowriteX, also pci_unmap pci_map-ped space on exit (instead of iounmap). Signed-off-by: Jiri Slaby Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 1145d954a51df9362d7eaa2c68405fc226418f34 Author: Olof Johansson Date: Wed Jan 23 13:57:19 2008 -0600 pasemi_mac: Disable interface on close Turns out we never disable the interface. It doesn't really cause any problems since the channel is off, but it's still better to do it this way. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit ef1ea0b424d09452b27f5cb1a0c108b645cb25e0 Author: Olof Johansson Date: Wed Jan 23 13:56:47 2008 -0600 pasemi_mac: add support for setting MTU Currently keeping it at 1500 bytes or below since jumbo frames need special checksum offload on TX. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 5cea73b0f7d4d49e276b0c4842465890d00de861 Author: Olof Johansson Date: Wed Jan 23 13:56:19 2008 -0600 pasemi_mac: Add support for changing mac address Straightforward. It used to be hardcoded and impossible to override with ifconfig. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit c88559539bd16eae4e9056d4734b3fe8a9858c45 Author: Surjit Reang Date: Sun Feb 3 04:27:38 2008 -0800 S2io: Fix for LRO Bugs Resubmitting patch from Al Viro , with subject - [PATCH] s2io LRO bugs. a) initiate_new_session() sets ->tcp_ack to ntohl(...); everything else stores and expects to find there the net-endian value. b) check for monotonic timestamps in verify_l3_l4_lro_capable() compares the value sitting in TCP option (right there in the skb->data, net-endian 32bit) with the value picked from earlier packet. Doing that without ntohl() is an interesting idea and it might even work occasionally; unfortunately, it's quite broken. Signed-off-by: Surjit Reang Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 03157ac31eb4a8883382a212b161d2e6c5059fbf Author: Nate Case Date: Tue Jan 29 10:19:00 2008 -0600 PHYLIB: Add BCM5482 PHY support This Broadcom PHY is similar to other bcm54xx devices. Signed-off-by: Nate Case Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit efb90e43ffee4045efe76de90773c4a5963515a3 Author: Mitch Williams Date: Tue Jan 29 12:43:02 2008 -0800 e1000e: add new wakeup cababilities Ethtool supports wake-on-ARP and wake-on-link, and so does the hardware supported by e1000e. This patch just introduces the two. Signed-off-by: Mitch Williams Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 4a51c0d02c18ea2fea7611bcaf028e69201580d4 Author: Al Viro Date: Wed Jan 30 19:10:13 2008 +0000 big-endian support for via-velocity * kill bitfields * annotate * add missing conversions * fix a couple of brainos in zerocopy stuff (fortunately, it's ifdef'ed out) Signed-off-by: Al Viro Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit ad84243eb4ec64215517fde0524d92ade47e6084 Author: Lennert Buytenhek Date: Wed Jan 30 20:37:42 2008 +0100 rtl8150: use default MTU of 1500 The RTL8150 driver uses an MTU of 1540 by default, which causes a bunch of problems -- it prevents booting from NFS root, for one. Signed-off-by: Lennert Buytenhek Cc: Petko Manolov Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 83084fa39282e9230d590cc91544acb6638c89fa Author: Adrian Bunk Date: Wed Jan 30 22:03:34 2008 +0200 net/sunbmac.c section fix This patch fixes the following section mismatch: <-- snip --> ... WARNING: drivers/net/sunbmac.o(.devinit.text+0x24): Section mismatch in reference from the function bigmac_sbus_probe() to the function .init.text:bigmac_ether_init() ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 3edd76caf4d1cda9cf84c5c6845f80f996f36081 Author: Adrian Bunk Date: Wed Jan 30 22:03:39 2008 +0200 net/sunqe.c section fix This patch fixes the following section mismatch: <-- snip --> ... WARNING: drivers/net/sunqe.o(.devinit.text+0x4): Section mismatch in reference from the function qec_sbus_probe() to the function .init.text:qec_ether_init() ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit aa782d3195c8a1f6da9a44f1862f098f41bfe8a2 Author: Adrian Bunk Date: Wed Jan 30 22:03:32 2008 +0200 drivers/net/sunvnet.c:print_version() must be __devinit This patch fixes the following section mismatches: <-- snip --> ... WARNING: drivers/net/sunvnet.o(.text+0x220): Section mismatch in reference from the function print_version() to the variable .devinit.data:version WARNING: drivers/net/sunvnet.o(.text+0x228): Section mismatch in reference from the function print_version() to the variable .devinit.data:version ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit e6353f30435002e307bf7dcfaa61fc6800b4b267 Author: Adrian Bunk Date: Wed Jan 30 22:02:35 2008 +0200 IBMLANA no longer has to depend on MCA_LEGACY This patch removes the no longer required dependency of IBMLANA on MCA_LEGACY. Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit b54e4f8346c0c94c5393738e2ce95faf5ca30acc Author: Adrian Bunk Date: Wed Jan 30 22:02:08 2008 +0200 ibmlana_init_one() must be __devinit This patch fixes the following section mismatch: <-- snip --> ... WARNING: drivers/net/built-in.o(.text+0x1148a5): Section mismatch in reference from the function ibmlana_init_one() to the variable .init.data:ibmlana_adapter_names ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit de11743e23b83e2ddf99a757ab2ebb62bd4c29f0 Author: Adrian Bunk Date: Wed Jan 30 22:02:07 2008 +0200 olympic_open() must be __devinit This patch fixes the following section mismatch: <-- snip --> ... WARNING: drivers/net/built-in.o(.text+0x155573): Section mismatch in reference from the function olympic_open() to the function .devinit.text:olympic_init() ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 976006f10b4ff1c8440436b92571b1fcedaf3cd0 Author: Adrian Bunk Date: Wed Jan 30 22:02:10 2008 +0200 ibmlana_adapter_names[] must be __devinitdata This patch fixes the following section mismatch: <-- snip --> ... WARNING: drivers/net/built-in.o(.devinit.text+0x1baa4): Section mismatch in reference from the function ibmlana_init_one() to the variable .init.data:ibmlana_adapter_names ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit de4e7c889927e37099ef7d3c32b75823a17c9009 Author: Adrian Bunk Date: Wed Jan 30 22:02:05 2008 +0200 via-rhine.c:rhine_hw_init() must be __devinit Thie patch fixes the following section mismatch: <-- snip --> ... WARNING: drivers/net/built-in.o(.text+0xdd840): Section mismatch in reference from the function rhine_hw_init() to the function .devinit.text:rhine_reload_eeprom() ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 237c5e8ee2328c31a130d35e32f7a2260c4512aa Author: Ben Dooks Date: Thu Jan 31 11:25:31 2008 +0000 NET: AX88796 use dev_dbg() instead of printk() Change to using dev_dbg() and the other dev_xxx() macros instead of printk, and update to use the print_mac() helper. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 06c3fd6ad546f7e6e996ca1fc2cddd9c7aee8176 Author: Haavard Skinnemoen Date: Thu Jan 31 13:10:22 2008 +0100 macb: Fix section mismatch and shrink runtime footprint macb devices are only found integrated on SoCs, so they can't be hotplugged. Thus, the probe() and exit() functions can be __init and __exit, respectively. By using platform_driver_probe() instead of platform_driver_register(), there won't be any references to the discarded probe() function after the driver has loaded. This also fixes a section mismatch due to macb_probe(), defined as __devinit, calling macb_get_hwaddr, defined as __init. Signed-off-by: Haavard Skinnemoen Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit e87ceea13e84a0748487ed0f9ccbfbc646966339 Author: Jan-Bernd Themann Date: Fri Feb 1 15:37:42 2008 +0100 ehea: fix sysfs link compile problem Due to changes in the struct device_driver there is no direct access to its kobj any longer. The kobj was used to create sysfs links between eHEA ethernet devices and the driver. This patch removes the affected sysfs links to resolve the build problems. Signed-off-by: Jan-Bernd Themann Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 26d29ea799b200c2499a7b41920c2dbfe710bea7 Author: Anton Vorontsov Date: Fri Feb 1 16:22:54 2008 +0300 ucc_geth: add support for netpoll This patch adds netpoll support for the QE UCC Gigabit Ethernet driver. Tested using netconsole and KGDBoE. Signed-off-by: Anton Vorontsov Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 80a9fad8e89a23c31bab9c228a88a391c4f8d698 Author: Anton Vorontsov Date: Fri Feb 1 16:22:48 2008 +0300 ucc_geth: fix module removal - uccf should be set to NULL to not double-free memory on subsequent calls; - ind_hash_q and group_hash_q lists should be initialized in the probe() function, instead of struct_init() (called by open()), otherwise there will be an oops if ucc_geth_driver removed prior 'ifconfig ethX up'; - add unregister_netdev(); - reorder geth_remove() steps. Signed-off-by: Anton Vorontsov Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit f67c6275185216b47ee50c8c122adee3c562bce7 Author: Doug Maxey Date: Thu Jan 31 20:20:51 2008 -0600 ehea: fix qmr checkpatch complaints Cc: Jan-Bernd Themann Signed-off-by: Doug Maxey Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit e076c872df1673f606c2e6566cea59473796633c Author: Doug Maxey Date: Thu Jan 31 20:20:50 2008 -0600 ehea: fix phyp checkpatch complaints Cc: Jan-Bernd Themann Signed-off-by: Doug Maxey Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 508d2b5d261abbd7fb728092c5025c5063060c04 Author: Doug Maxey Date: Thu Jan 31 20:20:49 2008 -0600 ehea: fix main checkpatch complaints Cc: Jan-Bernd Themann Signed-off-by: Doug Maxey Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 13da93d495f950f078038436f39659f54f91639a Author: Doug Maxey Date: Thu Jan 31 20:20:48 2008 -0600 ehea: fix ethtool checkpatch complaints Cc: Jan-Bernd Themann Signed-off-by: Doug Maxey Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit c6fa0b03cdf7d973988193c2b7d768f01e1dc2ae Author: Doug Maxey Date: Thu Jan 31 20:20:47 2008 -0600 ehea: fix ehea.h checkpatch complaints Cc: Jan-Bernd Themann Signed-off-by: Doug Maxey Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit df66e7167ac756baf14d2b8ea7a2cfa056600a93 Author: Stefan Roese Date: Fri Feb 1 15:26:54 2008 +0100 [MTD] physmap.c: Add support for multiple resources This patch extends the physmap mapping driver to support multiple resources for non-identical NOR chips that will be concatenated together when selected. This is needed for example for Intel 48F4400 512MBit chips, since they consist of 2 single different NOR chips with different geometries. The first (lower) one has botton boot sectors and the 2nd (upper) has top boot sectors. This currently isn't handled correctly by calling the physmap driver once with only one resource covering both chips in one memory region. The same geometrie is used for both chips. With this patch the following resource structure can be used to describe the 48F4400 chip correctly: static struct resource board_nor_resource[] = { [0] = { .start = 0xf8000000, .end = 0xfbffffff, .flags = IORESOURCE_MEM, }, [1] = { .start = 0xfc000000, .end = 0xffffffff, .flags = IORESOURCE_MEM, } }; Signed-off-by: Stefan Roese Signed-off-by: David Woodhouse commit 1c45f60406e61a06631416264e49eb5afd9fc324 Author: Scott Wood Date: Wed Jan 16 10:36:03 2008 -0600 [MTD] [NAND] Fix misparenthesization introduced by commit 78b65179... Signed-off-by: Scott Wood Signed-off-by: David Woodhouse commit 6208e77e7fa9e69f399fddc55b1cf9527fbde599 Merge: 5eb9103... 6dc4a87... Author: David Woodhouse Date: Sun Feb 3 22:07:40 2008 +1100 Merge git://git.infradead.org/~dedekind/ubi-2.6 commit ba3d05fb6369e617aee4f16bfce7ba5cbd30f26b Author: Bryan Wu Date: Sun Feb 3 14:13:26 2008 +0800 kbuild: add svn revision information to setlocalversion follow git and mercurial style, include uncommitted changes detect Cc: Frans Pop Signed-off-by: Bryan Wu Signed-off-by: Sam Ravnborg commit fa95eb1f17a5fe7b3593cff4bf27dbe9ae6cac89 Author: Sam Ravnborg Date: Sat Feb 2 23:30:22 2008 +0100 kbuild: do not warn about __*init/__*exit symbols being exported We have several legitimate uses where we export symbols annotated with one of: __devinit, __cpuinit, __meminit and their exit counterpart. So let's stop warning about those being exported in favour of adding all sorts of workaround to silence the warning. Signed-off-by: Sam Ravnborg commit 125e564582cbce6219397fc64556438420efae4c Author: Mathieu Desnoyers Date: Sat Feb 2 15:10:36 2008 -0500 Move Kconfig.instrumentation to arch/Kconfig and init/Kconfig Move the instrumentation Kconfig to arch/Kconfig for architecture dependent options - oprofile - kprobes and init/Kconfig for architecture independent options - profiling - markers Remove the "Instrumentation Support" menu. Everything moves to "General setup". Delete the kernel/Kconfig.instrumentation file. Signed-off-by: Mathieu Desnoyers Cc: Linus Torvalds Cc: Signed-off-by: Sam Ravnborg commit 3f550096dede4430f83b16457da83bf429155ac2 Author: Mathieu Desnoyers Date: Sat Feb 2 15:10:35 2008 -0500 Add HAVE_KPROBES Linus: On the per-architecture side, I do think it would be better to *not* have internal architecture knowledge in a generic file, and as such a line like depends on X86_32 || IA64 || PPC || S390 || SPARC64 || X86_64 || AVR32 really shouldn't exist in a file like kernel/Kconfig.instrumentation. It would be much better to do depends on ARCH_SUPPORTS_KPROBES in that generic file, and then architectures that do support it would just have a bool ARCH_SUPPORTS_KPROBES default y in *their* architecture files. That would seem to be much more logical, and is readable both for arch maintainers *and* for people who have no clue - and don't care - about which architecture is supposed to support which interface... Changelog: Actually, I know I gave this as the magic incantation, but now that I see it, I realize that I should have told you to just use config KPROBES_SUPPORT def_bool y instead, which is a bit denser. We seem to use both kinds of syntax for these things, but this is really what "def_bool" is there for... - Use HAVE_KPROBES - Use a select - Yet another update : Moving to HAVE_* now. - Update ARM for kprobes support. Signed-off-by: Mathieu Desnoyers Cc: Jeff Dike Cc: David Howells Cc: Ananth N Mavinakayanahalli Signed-off-by: Sam Ravnborg commit 42d4b839c82fd7dd8e412145eb6d9752468478e2 Author: Mathieu Desnoyers Date: Sat Feb 2 15:10:34 2008 -0500 Add HAVE_OPROFILE Linus: On the per-architecture side, I do think it would be better to *not* have internal architecture knowledge in a generic file, and as such a line like depends on X86_32 || IA64 || PPC || S390 || SPARC64 || X86_64 || AVR32 really shouldn't exist in a file like kernel/Kconfig.instrumentation. It would be much better to do depends on ARCH_SUPPORTS_KPROBES in that generic file, and then architectures that do support it would just have a bool ARCH_SUPPORTS_KPROBES default y in *their* architecture files. That would seem to be much more logical, and is readable both for arch maintainers *and* for people who have no clue - and don't care - about which architecture is supposed to support which interface... Changelog: Actually, I know I gave this as the magic incantation, but now that I see it, I realize that I should have told you to just use config ARCH_SUPPORTS_KPROBES def_bool y instead, which is a bit denser. We seem to use both kinds of syntax for these things, but this is really what "def_bool" is there for... Changelog : - Moving to HAVE_*. - Add AVR32 oprofile. Signed-off-by: Mathieu Desnoyers Cc: Andrew Morton Cc: Haavard Skinnemoen Cc: David Howells Cc: Jeff Dike Cc: Ananth N Mavinakayanahalli Signed-off-by: Sam Ravnborg commit fb32e03fdc170251a381449a8d9b82cf7e811a6f Author: Mathieu Desnoyers Date: Sat Feb 2 15:10:33 2008 -0500 Create arch/Kconfig Puts the content of arch/Kconfig in the "General setup" menu. Linus: > Should it come with a re-duplication of it's content into each > architecture, which was the case previously ? The oprofile and kprobes > menu entries were litteraly cut and pasted from one architecture to > another. Should we put its content in init/Kconfig then ? I don't think it's a good idea to go back to making it per-architecture, although that extensive "depends on " might indicate that there certainly is room for cleanup there. And I don't think it's wrong keeping it in kernel/Kconfig.xyz per se, I just think it's wrong to (a) lump the code together when it really doesn't necessarily need to and (b) show it to users as some kind of choice that is tied together (whether it then has common code or not). On the per-architecture side, I do think it would be better to *not* have internal architecture knowledge in a generic file, and as such a line like depends on X86_32 || IA64 || PPC || S390 || SPARC64 || X86_64 || AVR32 really shouldn't exist in a file like kernel/Kconfig.instrumentation. It would be much better to do depends on ARCH_SUPPORTS_KPROBES in that generic file, and then architectures that do support it would just have a bool ARCH_SUPPORTS_KPROBES default y in *their* architecture files. That would seem to be much more logical, and is readable both for arch maintainers *and* for people who have no clue - and don't care - about which architecture is supposed to support which interface... Sam Ravnborg: Stuff it into a new file: arch/Kconfig We can then extend this file to include all the 'trailing' Kconfig things that are anyway equal for all ARCHs. But it should be kept clean - so if we introduce such a file then we should use ARCH_HAS_whatever in the arch specific Kconfig files to enable stuff that is not shared. [...] The above suggestion is actually not exactly the best way to do it... First the naming.. A quick grep shows following usage today (in Kconfig files) ARCH_HAS 51 ARCH_SUPPORTS 4 HAVE_ARCH 7 ARCH_HAS is the clear winner. In the common Kconfig file do: config FOO depends on ARCH_HAS_FOO bool "bla bla" config ARCH_HAS_FOO def_bool n In the arch specific Kconfig file in a suitable place do: config SUITABLE_OPTION select ARCH_HAS_FOO The naming of ARCH_HAS_ is fixed and shall be: ARCH_HAS_ Only a single line added pr. architecture. And we will end up with a (maybe even commented) list of trivial selects. - Yet another update : Moving to HAVE_* now. Signed-off-by: Mathieu Desnoyers Cc: Jeff Dike Cc: David Howells Cc: Ananth N Mavinakayanahalli Signed-off-by: Sam Ravnborg commit c0ffa3a951668734a635cd1e26bf7583795854c5 Author: Mathieu Desnoyers Date: Sat Feb 2 15:10:32 2008 -0500 Fix ARM to play nicely with generic Instrumentation menu The conflicting commit for move-kconfiginstrumentation-to-arch-kconfig-and-init-kconfig.patch is the ARM fix from Linus : commit 38ad9aebe70dc72df08851bbd1620d89329129ba He just seemed to agree that my approach (just putting the missing ARM config options in arch/arm/Kconfig) works too. The main advantage it has is that it is smaller, does not need a cleanup in the future and does not break the following patches unnecessarily. It's just been discussed here http://lkml.org/lkml/2008/1/15/267 However, Linus might prefer to stay with his own patch and I would totally understand it that late in the release cycle. Therefore I submit this for the next release cycle. Signed-off-by: Mathieu Desnoyers Cc: Jeff Dike Cc: David Howells Cc: Ananth N Mavinakayanahalli CC: Russell King Signed-off-by: Sam Ravnborg commit 603d49885e023d1f68c627c2a2db599fb40eefec Author: Sam Ravnborg Date: Sat Feb 2 21:09:57 2008 +0100 kconfig: ignore select of unknown symbol We have had warnings for a long time about select of unknow symbol but the warnings does not really makes sense since we may select a symbol that is relevant and defined in one arch but not in another arch. And as long as we do not use a common set of Kconfig files for all archs lets just ignore this case. Previously we have used this to find bad uses of select but we need a more relaible method to do so. Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit 36ef805bd51ef831aa6ed66a23ea0dfbc60d0c3e Author: Sam Ravnborg Date: Sat Feb 2 20:44:09 2008 +0100 kconfig: mark config as changed when loading an alternate config Michal Zachar reported that menuconfig did not save the new config when loading an alternate config unless he altered it manually. Mark config as changed upon load of alternate config fixed this. Signed-off-by: Sam Ravnborg Roman Zippel commit d6fbfa4fce607254c081d7f58227281d08419d4c Author: Geert Uytterhoeven Date: Wed Jan 30 11:13:23 2008 +0100 kbuild: Spelling/grammar fixes for config DEBUG_SECTION_MISMATCH Including additional fixes from Randy Dunlap Signed-off-by: Geert Uytterhoeven Signed-off-by: Sam Ravnborg commit 470a81ae15ed8c037afa0466e2731566a111c134 Author: Ralf Baechle Date: Wed Jan 30 14:14:08 2008 +0000 Remove __INIT_REFOK and __INITDATA_REFOK Commit 312b1485fb509c9bc32eda28ad29537896658cb8 made __INIT_REFOK expand into .section .section ".ref.text", "ax". Since the assembler doesn't tolerate stuttering in the source that broke all MIPS builds. Since with this change Sam downgraded __INIT_REFOK to just a backward compat thing and there being only a single use in the MIPS arch code the best solution is to delete both of __INIT_REFOK and __INITDATA_REFOK (which was equally broken) being unused anyway these can be deleted. Signed-off-by: Ralf Baechle Signed-off-by: Sam Ravnborg commit e5f95c8b7700a7bf1c2d24eedc677954d9aa0285 Author: Sam Ravnborg Date: Sat Feb 2 18:57:18 2008 +0100 kbuild: print only total number of section mismatces found We have too many section mismatches detected at the moment. So silence modpost and prevent the option from being set in a typical allyesconfig build. Tell the user how to see all the deteils in the summary message from modpost. Signed-off-by: Sam Ravnborg commit 5eb91034f3d825f43b3c8ace7b69f94752b7deda Author: Bryan Wu Date: Wed Jan 30 17:18:18 2008 +0800 [MTD] [NAND] Fix Blackfin NFC ECC calculating bug with page size 512 bytes Signed-off-by: Bryan Wu Signed-off-by: David Woodhouse commit f4dda0914e76feb1ff5ec349cc68f319f6a4e40f Author: Bryan Wu Date: Wed Jan 30 17:18:17 2008 +0800 [MTD] [NAND] Remove wrong operation in PM function of the BF54x NFC driver There is no suspend/resume operation in NFC driver at all, currently. Signed-off-by: Bryan Wu Signed-off-by: David Woodhouse commit a50367784ea6ef8d4276daac0dfcfaa896f8530b Author: Li Zefan Date: Sun Feb 3 10:06:45 2008 +0800 [MTD] [NAND] Remove unused variable in plat_nand_remove With CONFIG_MTD_PARTITIONS not set, got this: drivers/mtd/nand/plat_nand.c:113: warning: unused variable 'pdata' Signed-off-by: Li Zefan Signed-off-by: David Woodhouse commit b7e23d913aafc93fc5f119e1be17620073cc3811 Merge: c1f3ee1... 69d7918... Author: David Woodhouse Date: Sun Feb 3 18:31:04 2008 +1100 Merge git://git.infradead.org/~kmpark/onenand-mtd-2.6 commit c1f3ee120bb61045b1c0a3ead620d1d65af47130 Merge: e619a75... 9135f19... Author: David Woodhouse Date: Sun Feb 3 18:29:41 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git commit e619a75ff6201b567a539e787aa9af9bc63a3187 Author: Justin Treon Date: Wed Jan 30 10:25:49 2008 -0800 [MTD] Unlocking all Intel flash that is locked on power up. Patch for unlocking all Intel flash that has instant locking on power up. The patch has been tested on Intel M18, P30 and J3D Strata Flash. 1. The automatic unlocking can be disabled for a particular partition in the map or the command line. a. For the bit mask in the map it should look like: .mask_flags = MTD_POWERUP_LOCK, b. For the command line parsing it should look like: mtdparts=0x80000(bootloader)lk 2. This will only unlock parts with instant individual block locking. Intel parts with legacy unlocking will not be unlocked. Signed-off-by: Justin Treon Signed-off-by: Jared Hulbert Acked-by: Nicolas Pitre Signed-off-by: David Woodhouse commit 842b1a105c95d22c3e4257879539413d3152629e Author: Atsushi Nemoto Date: Tue Jan 29 22:28:22 2008 +0900 [MTD] [NAND] at91_nand: Make mtdparts option can override board info Call parse_mtd_partitions before checking board's partition_info, so that "mtdparts=" option can override board's default setting. Signed-off-by: Atsushi Nemoto Signed-off-by: David Woodhouse commit 79dcd8e9e1f2864ade80f45e144e5e80fef71613 Author: Richard Purdie Date: Tue Jan 29 10:25:55 2008 +0000 [MTD] mtdoops: Various minor cleanups Various minor cleaups to mtdoops: * Don't support the mtd->erasesize < OOPS_PAGE_SIZE case * Tweak printks and make the device mtdoops connects to more visible * CON_PRINTBUFFER flag is uneeded Signed-off-by: Richard Purdie Signed-off-by: David Woodhouse commit 47c152b88c185c7e97462a35893df6e552075a8c Author: Richard Purdie Date: Tue Jan 29 10:21:56 2008 +0000 [MTD] mtdoops: Ensure sequential write to the buffer Add a spinlock to ensure writes to the mtdoops buffer memory are sequential and don't race. Signed-off-by: Richard Purdie Signed-off-by: David Woodhouse commit 6ce0a856c10c8ab8568764436864616efa88e908 Author: Richard Purdie Date: Tue Jan 29 11:27:11 2008 +0000 [MTD] mtdoops: Perform write operations in a workqueue Writing to the flash needs to be done in a workqueue. The console write functions may be called in any context which can lead to lockups otherwise. Signed-off-by: Richard Purdie Signed-off-by: David Woodhouse commit 2986bd2a330e57af53c016276d63d46ded10e9c5 Author: Richard Purdie Date: Tue Jan 29 11:27:09 2008 +0000 [MTD] mtdoops: Add further error return code checking Add further error return code checks to the mtdoops driver. Signed-off-by: Richard Purdie Signed-off-by: David Woodhouse commit 0bdf77f85bd89d5e00d32af0fb7d2dac63ce8ff5 Author: Roel Kluin <12o3l@tiscali.nl> Date: Mon Jan 28 11:48:09 2008 +0100 [MTD] [NOR] Test devtype, not definition in flash_probe(), drivers/mtd/devices/lart.c drivers/mtd/devices/lart.c:119:#define FLASH_DEVICE_16mbit_BOTTOM 0x88f488f4 As was, unless "manufacturer != FLASH_MANUFACTURER" this returned true Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: David Woodhouse commit 9308758c50610c077ca41e82c4b98b2de96e8387 Author: akpm@linux-foundation.org Date: Wed Jan 16 02:48:49 2008 -0800 [UBI] drivers/mtd/ubi/scan.c: fix uninitialized var warning drivers/mtd/ubi/scan.c: In function 'ubi_scan': drivers/mtd/ubi/scan.c:772: warning: 'ec' may be used uninitialized in this function Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 4354c5a4ef8d484a463ed8d996e9653ad8be5c72 Author: akpm@linux-foundation.org Date: Wed Jan 16 02:47:01 2008 -0800 [UBI] drivers/mtd/ubi/wl.c: fix uninitialized var warning drivers/mtd/ubi/wl.c:746: warning: 'pe' may be used uninitialized in this function Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 5b1defe73a538dfe35f7b59bcaf047c0005bff4d Author: akpm@linux-foundation.org Date: Wed Jan 16 01:24:27 2008 -0800 [UBI] drivers/mtd/ubi/cdev.c: unused var Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 9a310d21196f38f6ad0ad146057548653e495c09 Author: Scott Wood Date: Tue Jan 15 17:54:43 2008 -0600 [MTD] Factor out OF partition support from the NOR driver. Signed-off-by: Scott Wood Signed-off-by: David Woodhouse commit c0d2a48a65a8fc286aa84871cfc20d8c10dbf492 Author: Ilpo Järvinen Date: Mon Jan 7 18:00:58 2008 +0200 [MTD] jedec probe: drop unnecessary forward declarations Signed-off-by: Ilpo Järvinen Signed-off-by: David Woodhouse commit 53d885539293e98f5b979c20518858fc8f933749 Author: Ilpo Järvinen Date: Mon Jan 7 18:00:17 2008 +0200 [MTD] JEDEC probe: kill some inline bloat $ codiff $OBJ.old $OBJ drivers/mtd/chips/jedec_probe.c: cfi_jedec_setup | -320 jedec_probe_chip | -7073 2 functions changed, 7393 bytes removed, diff: -7393 drivers/mtd/chips/jedec_probe.c: jedec_reset | +1151 1 function changed, 1151 bytes added, diff: +1151 drivers/mtd/chips/jedec_probe.o: 3 functions changed, 1151 bytes added, 7393 bytes removed, diff: -6242 Signed-off-by: Ilpo Järvinen Signed-off-by: David Woodhouse commit 0c98b19fe571ede1f14bd95b855bcbe2cca99bcf Author: Cornelia Huck Date: Thu Jan 31 10:39:38 2008 +0100 Driver core: Remove unneeded get_{device,driver}() calls. Driver core: Remove unneeded get_{device,driver}() calls. Code trying to add/remove attributes must hold a reference to the device resp. driver anyway, so let's remove those reference count games. Signed-off-by: Cornelia Huck Cc: Dave Young Signed-off-by: Greg Kroah-Hartman commit 44414e14af3f18fc8c1b94e259cd760366f665ee Author: Stephen Rothwell Date: Sat Feb 2 22:15:07 2008 +1100 Driver core: Update some prototypes in platform.txt Just make these match the actual code. Signed-off-by: Stephen Rothwell Signed-off-by: Greg Kroah-Hartman commit cd35449b93ac128282c1f1f720e84c5935f9018e Author: Dave Young Date: Mon Jan 28 16:56:11 2008 +0800 driver core: convert to use class_find_device api Convert to use class_find_device api in drivers/base/core.c Signed-off-by: Dave Young Signed-off-by: Greg Kroah-Hartman commit 9617c3e460bbccb6d9496a1f1e6903eb81f336e9 Author: Rafael J. Wysocki Date: Fri Jan 25 01:30:25 2008 +0100 PM: Export device_pm_schedule_removal Move the declaration of device_pm_schedule_removal() to device.h and make it exported, as it will be used directly by some drivers for unregistering device objects during suspend/resume cycles in a safe way. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 18bbe0c26ccb7445d19465b0d3585d23445307f1 Author: Frank Seidel Date: Fri Feb 1 09:14:05 2008 +0100 nozomi: finish constification Even some more constifications Signed-off-by: Frank Seidel Signed-off-by: Greg Kroah-Hartman commit 71e1b4abdc39b61e4cb73ef74df68ab397e25378 Author: Jan Engelhardt Date: Fri Feb 1 09:13:53 2008 +0100 nozomi: constify driver nozomi: constify structures and annotate vars Signed-off-by: Jan Engelhardt Signed-off-by: Frank Seidel Signed-off-by: Greg Kroah-Hartman commit e9ed537a3ab0b066eaa4d042c0547d7034f3181b Author: Frank Seidel Date: Fri Jan 25 21:13:24 2008 +0100 nozomi driver update Minor cleanups and removal of in-file changelog: - Correction of misspellings and wrong encoded Name - changed 'unsigned' to 'unsigned int' for better readability - use of generic devicefile access macro - fixed/added explanatory comment to ntty_put_char Signed-off-by: Frank Seidel Signed-off-by: Greg Kroah-Hartman commit 996a3eb87fa989018aecc80f3a96d2a077dd90f1 Author: Tsugikazu Shibata Date: Thu Jan 31 09:46:36 2008 +0900 Add ja_JP translation of stable_kernel_rules.txt Contents are reviewed by Japanese translation community called "JF". Thanks a lot! Singed-off-by: Tsugikazu Shibata Signed-off-by: Greg Kroah-Hartman commit f70701a34e217fd5f4f180f7bf4bb5c137d76e8a Author: Dave Young Date: Mon Jan 28 16:58:00 2008 +0800 kobject: kerneldoc comment fix Fix kerneldoc comment of kobject_create. Signed-off-by: Dave Young Signed-off-by: Greg Kroah-Hartman commit dfacd68e495bb324ad6e92f4dfcf479dd447c8d3 Author: Paul Mundt Date: Thu Jan 31 18:12:34 2008 +0900 kobject: Always build in kernel/ksysfs.o. kernel/ksysfs.c seems to be a random dumping group for misc globals that the rest of the tree depend on. This has caused problems with exports in the past when sysfs is disabled, which can already be observed in commit-id 51107301b629640f9ab76fe23bf385e187b9ac29. The latest one is the kernel_kobj usage, which presently results in: fs/built-in.o: In function `debugfs_init': inode.c:(.init.text+0xc34): undefined reference to `kernel_kobj' make: *** [.tmp_vmlinux1] Error 1 kernel/ksysfs.c itself at this point only contains globals and some basic sysfs initialization, the sysfs initialization code is optimized out when we build with sysfs disabled. Given that, it's easier to just build in unconditionally, rather than trying to find some other random place to dump and initialize the globals. Additionally, the current trend seems to be decoupling of kobjects from sysfs, in which case it still makes sense to perform the kernel_kobj initialization that happens here even if sysfs is disabled, as lib/kobject.o is built-in unconditionally. Signed-off-by: Paul Mundt Signed-off-by: Greg Kroah-Hartman commit 451124a7cc6c89fcb83d48082c7290f16f652f1c Author: Sam Ravnborg Date: Sat Feb 2 22:33:43 2008 +0100 PCI: fix 4x section mismatch warnings The following warnings were issued during build of drivers/pci with an allyesconfig build: WARNING: o-x86_64/drivers/pci/built-in.o(.text+0xdaf): Section mismatch in reference from the function pci_add_new_bus() to the function .devinit.text:pci_alloc_child_bus() WARNING: o-x86_64/drivers/pci/built-in.o(.text+0x15e2): Section mismatch in reference from the function pci_scan_single_device() to the function .devinit.text:pci_scan_device() WARNING: o-x86_64/drivers/pci/built-in.o(.text+0x1b0c5): Section mismatch in reference from the function pci_bus_assign_resources() to the function .devinit.text:pci_setup_bridge() WARNING: o-x86_64/drivers/pci/built-in.o(.text+0x1b32d): Section mismatch in reference from the function pci_bus_size_bridges() to the function .devinit.text:pci_bus_size_cardbus() Investigating each case closer it looked like all referred functions are only used in the init phase or during hotplug. So to avoid wasting too much memory in the non-hotplug case the simpler fix was to allow the fuctions to use code/data from the __devinit sections. This was done in all four case by adding the __ref annotation. Signed-off-by: Sam Ravnborg Cc: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 4105717bc98ba01663ff28f8a16d8716ba9d07fe Author: Sam Ravnborg Date: Sat Feb 2 22:32:23 2008 +0100 PCI: fix section mismatch warnings referring to pci_do_scan_bus Fix following warnings: WARNING: o-x86_64/drivers/pci/built-in.o(.text+0xb054): Section mismatch in reference from the function cpci_configure_slot() to the function .devinit.text:pci_do_scan_bus() WARNING: o-x86_64/drivers/pci/built-in.o(.text+0x153ab): Section mismatch in reference from the function shpchp_configure_device() to the function .devinit.text:pci_do_scan_bus() WARNING: o-x86_64/drivers/pci/built-in.o(__ksymtab+0xc0): Section mismatch in reference from the variable __ksymtab_pci_do_scan_bus to the function .devinit.text:pci_do_scan_bus() PCI hotplug were the only user of pci_do_scan_bus() so moving this function to a separate file that is build only when we enable CONFIG_HOTPLUG_PCI. Signed-off-by: Sam Ravnborg Cc: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 9135f1901ee6449dfe338adf6e40e9c2025b8150 Merge: 124d3b7... d59823f... Author: Linus Torvalds Date: Sun Feb 3 07:58:57 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (95 commits) ide-tape: remove idetape_config_t typedef ide-tape: remove mtio.h related comments ide-tape: make function name more accurate ide-tape: remove unused sense packet commands. ide-tape: use generic byteorder macros ide-tape: remove EXPERIMENTAL driver status ide-tape: use generic scsi commands ide-tape: remove struct idetape_block_size_page_t ide-tape: remove structs os_partition_t, os_dat_entry_t, os_dat_t ide-tape: remove struct idetape_parameter_block_descriptor_t ide-tape: remove struct idetape_medium_partition_page_t ide-tape: remove struct idetape_data_compression_page_t ide-tape: remove struct idetape_inquiry_result_t ide-tape: remove struct idetape_capabilities_page_t ide-tape: remove IDETAPE_DEBUG_BUGS ide-tape: remove IDETAPE_DEBUG_INFO ide-tape: dump gcw fields on error in idetape_identify_device() ide-tape: remove struct idetape_mode_parameter_header_t ide-tape: remove struct idetape_request_sense_result_t ide-tape: remove dead code ... commit 124d3b7041f9a0ca7c43a6293e1cae4576c32fd5 Author: Nick Piggin Date: Sat Feb 2 15:01:17 2008 +0100 fix writev regression: pan hanging unkillable and un-straceable Frederik Himpe reported an unkillable and un-straceable pan process. Zero length iovecs can go into an infinite loop in writev, because the iovec iterator does not always advance over them. The sequence required to trigger this is not trivial. I think it requires that a zero-length iovec be followed by a non-zero-length iovec which causes a pagefault in the atomic usercopy. This causes the writev code to drop back into single-segment copy mode, which then tries to copy the 0 bytes of the zero-length iovec; a zero length copy looks like a failure though, so it loops. Put a test into iov_iter_advance to catch zero-length iovecs. We could just put the test in the fallback path, but I feel it is more robust to skip over zero-length iovecs throughout the code (iovec iterator may be used in filesystems too, so it should be robust). Signed-off-by: Nick Piggin Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 6598b60fd56ba5e915a001cc4e307880a94d19ae Merge: ae9458d... 5fcf500... Author: Linus Torvalds Date: Sun Feb 3 07:51:38 2008 +1100 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: ieee1394: sbp2: fix bogus s/g access change commit d5f78fb0c8ab7f929f94fa4087a2397ac8d29a30 Author: Greg Kroah-Hartman Date: Sat Feb 2 12:13:22 2008 +0100 pci: pci_enable_device_bars() fix for lpfc driver Based on a patch from Ingo Molnar as he pointed out that I wrongly missed this. Cc: Ingo Molnar Cc: James Bottomley Signed-off-by: Greg Kroah-Hartman commit cc3a1378b4dd45d3e78dd4aeb10641b06a87d614 Author: Greg Kroah-Hartman Date: Sat Feb 2 11:32:01 2008 -0800 Revert "PCI: PCIE ASPM support" This reverts commit 6c723d5bd89f03fc3ef627d50f89ade054d2ee3b. It caused build errors on non-x86 platforms, config file confusion, and even some boot errors on some x86-64 boxes. All around, not quite ready for prime-time :( Cc: Shaohua Li Signed-off-by: Greg Kroah-Hartman commit d59823fa44f7d9babf586b3c705db314aa0f9822 Author: Borislav Petkov Date: Sat Feb 2 19:56:51 2008 +0100 ide-tape: remove idetape_config_t typedef Since this is used only in idetape_blkdev_ioctl(), remove the typedef and make the struct function-local. Bart: - s/sizeof(struct idetape_config)/sizeof(config)/ Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit d99c9da2159fedac30b9a105a64af91dc572571b Author: Borislav Petkov Date: Sat Feb 2 19:56:51 2008 +0100 ide-tape: remove mtio.h related comments Those are already in mtio.h. Bart: - undo 'unsigned int/unsigned long' -> 'uint/ulong' conversion Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 419d4741ce108a56ce59e9dc064730af59b7e843 Author: Borislav Petkov Date: Sat Feb 2 19:56:51 2008 +0100 ide-tape: make function name more accurate idetape_active_next_stage() was rather ambiguous wrt its purpose. Make that more explicit and remove superfluous comment. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit fa36625bf7cb4f5ea5314b550898542f83cb5d4f Author: Borislav Petkov Date: Sat Feb 2 19:56:51 2008 +0100 ide-tape: remove unused sense packet commands. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 860ff5ecbf352ee7a97685bf01fcd91f44b0ac72 Author: Borislav Petkov Date: Sat Feb 2 19:56:50 2008 +0100 ide-tape: use generic byteorder macros This is not a network driver. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4278c2d5ba867f427d823e31947a6fb97508a1ce Author: Borislav Petkov Date: Sat Feb 2 19:56:50 2008 +0100 ide-tape: remove EXPERIMENTAL driver status ide-tape has depended on EXPERIMENTAL for ages. Change that since the driver is being only maintained now. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 90699ce2b28ec263651a4a0935a4651c57d68303 Author: Borislav Petkov Date: Sat Feb 2 19:56:50 2008 +0100 ide-tape: use generic scsi commands Also, remove those which weren't used. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit f011889d1df5c51daee3a93d3b3c4b134c751cc0 Author: Borislav Petkov Date: Sat Feb 2 19:56:50 2008 +0100 ide-tape: remove struct idetape_block_size_page_t Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 323875549f3f3afd8cfedc6d6b73eccf055000e7 Author: Borislav Petkov Date: Sat Feb 2 19:56:50 2008 +0100 ide-tape: remove structs os_partition_t, os_dat_entry_t, os_dat_t They seem just to sit there completely unused. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3cffb9ce476f492bab194892decc7bf1834ff96b Author: Borislav Petkov Date: Sat Feb 2 19:56:50 2008 +0100 ide-tape: remove struct idetape_parameter_block_descriptor_t Also, shorten function name idetape_get_blocksize_from_block_descriptor() and move its definition up thereby getting rid of its forward declaration. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 496b92e65d8158bbcb978e3f746478cfa4c8542c Author: Borislav Petkov Date: Sat Feb 2 19:56:49 2008 +0100 ide-tape: remove struct idetape_medium_partition_page_t There should be no functional changes resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 64a0e08682fc9b7b32ebf1add5e6ade09960dfab Author: Borislav Petkov Date: Sat Feb 2 19:56:49 2008 +0100 ide-tape: remove struct idetape_data_compression_page_t There should be no functional changes resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 6d29c8f0abc52c6e4643a04a9885d0c736528419 Author: Borislav Petkov Date: Sat Feb 2 19:56:49 2008 +0100 ide-tape: remove struct idetape_inquiry_result_t There should be no functional changes resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit b64220132640001438e4e9812e5f26a27993bf4d Author: Borislav Petkov Date: Sat Feb 2 19:56:49 2008 +0100 ide-tape: remove struct idetape_capabilities_page_t All those 2-byte values denoting the different capabilities are being written to the local copy of the caps buffer without being converted to big endian for simplicity of usage and shorter code later. Also, we add some comments stating which are the fields of the caps page in question in order to alleviate the cryptic pointer casting exercises as in e.g. idetape_get_mode_sense_results(). There should be no functional changes resulting from this patch. Bart: - remove two needless "!!" Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 55a5d291fd6235edaab2dad974b236adf2ffbeae Author: Borislav Petkov Date: Sat Feb 2 19:56:49 2008 +0100 ide-tape: remove IDETAPE_DEBUG_BUGS Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit f79f93a2f32ed4df8ccbf82db2e8ad283ee60495 Author: Borislav Petkov Date: Sat Feb 2 19:56:49 2008 +0100 ide-tape: remove IDETAPE_DEBUG_INFO The device capabilities are probed for during device initialization so this info is available through proc/ioctl() und it is redundant here. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 16422de3579d1debf0b502fc94cac6327db29c4d Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:48 2008 +0100 ide-tape: dump gcw fields on error in idetape_identify_device() Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 47314fa4298cf77aa155393e09ffc8199dd2b581 Author: Borislav Petkov Date: Sat Feb 2 19:56:48 2008 +0100 ide-tape: remove struct idetape_mode_parameter_header_t Bart: - remove 'capabilities->speed' chunk - re-add brackets to block_descrp assignment Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1b5db434f4a1f2c5e01de7d525d8f3c92a813f51 Author: Borislav Petkov Date: Sat Feb 2 19:56:48 2008 +0100 ide-tape: remove struct idetape_request_sense_result_t Bart: - remove unnecessary comment change - remove two needless "!!" Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit c7ea8a1b36487cb3002c2a626261c99a9f30790c Author: Borislav Petkov Date: Sat Feb 2 19:56:48 2008 +0100 ide-tape: remove dead code Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5ce78af4beeca6c80d8a4834f74297a8fa2e2253 Author: Borislav Petkov Date: Sat Feb 2 19:56:48 2008 +0100 ide-tape: move historical changelog to Documentation/ide/ChangeLog.ide-tape.1995-2002 Also, cleanup whitespace and update comments. Bart: - remove reference to drivers/block/ide.c - move driver documentation to Documentation/ide/ide-tape.txt Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit dcb425f557eb01e73614f2292f0a92ce02e40e2a Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:47 2008 +0100 ide-cs: use ide_std_init_ports() No reason to use ide_init_hwif_ports() in ide-cs (as a nice side-effect this makes ide-cs work on archs that don't define IDE_ARCH_OBSOLETE_INIT). Signed-off-by: Bartlomiej Zolnierkiewicz commit 578cfa0d72f81526b2fcb1dd2463c47bbf633989 Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:47 2008 +0100 ide: move check_dma_crc() to ide-dma.c * Move check_dma_crc() to ide-dma.c and add inline version for CONFIG_BLK_DEV_IDEDMA=n case. * Rename check_dma_crc() to ide_check_dma_crc(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 296921a4ca01612cb1d9a43343b33a33eb7697ff Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:47 2008 +0100 ide: remove ide_auto_reduce_xfer() While at it: * Remove needless '!drive->crc_count' check. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 99ffbe0e9713c89798c90bde7a462645e098b76b Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:47 2008 +0100 ide: move drive->crc_count check out from check_dma_crc() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit af10f77390f6c7c5cf6f53e6b3cdaa38562b03af Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:46 2008 +0100 ide: remove ide_ata66_check() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5efe7c540ec6021905d443dfe23cc44a11345edd Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:46 2008 +0100 ide: remove set_transfer() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit fa017176f7144028aa23c1adcebb1792c891320c Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:46 2008 +0100 ide: unexport SELECT_DRIVE() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 98d2a7aad1cbeb6e75e054bfb09d172b9a175df5 Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:46 2008 +0100 ide-scsi: remove needless SELECT_DRIVE() call SELECT_DRIVE() is called by IDE core code in start_request() before device driver's ->do_request method. In ide-scsi case ->do_request is implemented by idescsi_do_request() which is also the only user of idescsi_issue_pc(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 629f944bb18c9deccce89ad833f1211c0036a632 Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:46 2008 +0100 ide: use __ide_set_handler() in ide_execute_command() * Use __ide_set_handler() in ide_execute_command(). While at it: * Fix whitespace damage in ide_execute_command(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 835457def90c86fe84d7729c0531fd551fb14eda Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:45 2008 +0100 ide: remove SATA_*_REG macros * siimage.c: use hwif->sata_scr[SATA_{ERROR,STATUS}_OFFSET] instead of SATA_{ERROR,STATUS}_REG macros. * Remove no longer needed SATA_*_REG macros. While at it: * Remove needless SATA Status register read from sil_sata_reset_poll(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 92b83c8f3219c36d61a6600ceb422e65c409be59 Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:45 2008 +0100 ide: remove ->nice0 and ->nice2 fields from ide_drive_t * ->nice0 and ->nice2 ide_drive_t fields are always zero so remove them. * IDE_NICE_0 and IDE_NICE_2 defines from are no longer used by any kernel code so cover them with #ifndef/#endif __KERNEL__. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit b034304a28d15f019ca914e954c3de20df28065e Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:45 2008 +0100 ide: convert ->straight8 field in ide_hwif_t to bit flag Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit b60acab1e74734fc60ee5efd281ecff93f8e993b Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:45 2008 +0100 ide: remove unused ->auto_poll field from ide_hwif_t Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 57b552757314cf3f2253f07629f49016be6fa6c3 Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:45 2008 +0100 ide-probe: remove needless Status register reads * Cache value read from the Status register in 'stat' variable in do_probe() and enable_nest(), then remove remove needless Status register reads. While at it: * Add proper KERN_* levels to printk() calls. Signed-off-by: Bartlomiej Zolnierkiewicz commit b187dfeed3be2fc879e904ed0b01d490d8866760 Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:44 2008 +0100 ide-cris: use ide_execute_command() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit c78d717210619c4312f791fb1da4dc1985630785 Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:44 2008 +0100 trm290: use ide_execute_command() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2d6027f0877518c2ca8f3492e57ed5b182904a0c Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:44 2008 +0100 ide-scsi: use ide_execute_command() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit c1c9dbc849c2d9d7cddd58a1de4f3bdd632c161f Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:44 2008 +0100 ide-tape: use ide_execute_command() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit d9270a3f1d5b6f9de58250e8ecdba4c48c54c20b Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:43 2008 +0100 ide: move create_proc_ide_drives() call to ide_device_add_all() * Un-static create_proc_ide_drives() and call it from ide_device_add_all(). While at it: * Rename create_proc_ide_drives() to ide_proc_port_register_devices(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 327617e1da15c3f04bfc50018b0319bd40849022 Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:43 2008 +0100 ide: move hwif->present check out from ide_proc_register_port() Move hwif->present check out from ide_proc_register_port() to ide_device_add_all(). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit eafd88a3b5d86ba2dd515d430b57a01349d0867b Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:43 2008 +0100 ide: factor out devices setup from ide_acpi_init() * Factor out devices setup from ide_acpi_init() to ide_acpi_port_init_devices(). * Call ide_acpi_port_init_devices() in ide_device_add_all(). While at it: * Remove no longer needed 'drive' field from struct ide_acpi_drive_link. There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 070ecb841c4f15817f4e2365785173eea56ab3e6 Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:43 2008 +0100 ide-acpi: remove dead code from do_drive_get_GTF() These pointers are always setup in ide_acpi_init(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 4484d80388b4a70250f590c5a3631c91f088fe18 Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:42 2008 +0100 ide-acpi: remove needless exports Signed-off-by: Bartlomiej Zolnierkiewicz commit decdc3f0d664c87761fa1c90733a840b3ca4eccb Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:41 2008 +0100 ide: move ide_acpi_init() call to ide_device_add_all() There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit d5bc6592df85dbbb300e0d62af89645602c97551 Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:41 2008 +0100 ide: factor out devices setup from init_irq() * Factor out devices setup from init_irq() to ide_port_setup_devices(). While at it: * Do devices setup after printing port information. Signed-off-by: Bartlomiej Zolnierkiewicz commit 0947e0dcd62c15c67dba71561624d87b2d0cf131 Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:41 2008 +0100 ide: factor out adding drive to hwgroup from init_irq() Factor out adding drive to hwgroup from init_irq() to ide_add_drive_to_hwgroup(). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 8a0e7e14a28b1084e90f8828d35530019c645969 Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:41 2008 +0100 ide: move hwif->rqsize init from ide_init_queue() to init_irq() Move hwif->rqsize init from ide_init_queue() to init_irq(). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit c5d70cc73ac3fd796a900da4c109d20b038b8037 Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:41 2008 +0100 ide: merge init_gendisk() into hwif_register_devices() There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 346d49969b1ba2c95bec56d319fe4a455c00b174 Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:40 2008 +0100 ide: call init_gendisk() after ide_acpi_init() There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 3a4e7c96d6bce25b102115c267c8ebfe13187925 Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:40 2008 +0100 ide: move blk_register_region() call out from init_gendisk() Move blk_register_region() call out from init_gendisk() to hwif_init(). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 5c2854e62ce1dfb2cd86968f0d7b0d45e07c14db Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:40 2008 +0100 ide: skip not present devices in init_gendisk() No need to initialize drive->gendev and waste memory on IDE settings for not present devices. Signed-off-by: Bartlomiej Zolnierkiewicz commit 521fd1e8d1d9ee7121e5c792ad4b955043fb5ffd Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:40 2008 +0100 ide: remove incorrect init_gendisk() comment Signed-off-by: Bartlomiej Zolnierkiewicz commit 1f2cf8b0014fdfa3141449b508aca25e78c078a7 Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:40 2008 +0100 ide: add ->port_init_devs method to ide_hwif_t * Add ->port_init_devs method to ide_hwif_t for a host specific initialization of devices on a port. Call the new method from ide_port_init_devices(). * Convert ht6560b, qd65xx and opti621 host drivers to use the new ->port_init_devs method. There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 807b90d0be23b8d088d4369b02539dada70f03f4 Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:40 2008 +0100 ide: add IDE_HFLAG_NO_{IO32_BIT,UNMASK_IRQS} host flags * Use the same bit for IDE_HFLAG_CS5520 and IDE_HFLAG_VDMA host flags (both are used only by cs5520 host driver currently). * Add IDE_HFLAG_NO_IO32_BIT host flag and use it instead of ->no_io_32bit ide_hwif_t field. * Add IDE_HFLAG_NO_UNMASK_IRQS host flag, then convert dtc2278 and rz1000 host drivers to use it. There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 7704ca2a3ee4b3690c5dcc99ea4f8dcf10d7bbdb Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:39 2008 +0100 ide: factor out code initializing devices from ide_init_port() * Factor out code initializing devices from ide_init_port() to ide_port_init_devices(). * Call the new function from ide_device_add_all(). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 909f4369bca30f9a186316a3bf2b4a9c1e702a25 Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:39 2008 +0100 ide: fix ide_unregister() usage in host drivers bast-ide.c/ide-cs.c/delkin_cb.c: * Don't set 'restore' flag for ide_unregister() when initializing new interface. rapide.c/ide-pnp.c/ide-cs.c/ide_platform.c/au1xxx-ide.c/delkin_cb.c/scc_pata.c: * Don't set 'init_default' and 'restore' flags for ide_unregister() when removing interface. Signed-off-by: Bartlomiej Zolnierkiewicz commit 9e016a719209d95338e314b46c3012cc7feaaeec Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:39 2008 +0100 ide: add ide_deprecated_find_port() helper * Factor out code for finding ide_hwifs[] slot from ide_register_hw() to ide_deprecated_find_port(). * Convert bast-ide, ide-cs and delkin_cb host drivers to use ide_device_add() instead of ide_register_hw() (while at it drop doing "ide_unregister()" loop which tries to unregister _all_ IDE interfaces if useable ide_hwifs[] slot cannot be find). This patch leaves us with only two ide_register_hw() users: - drivers/macintosh/mediabay.c - drivers/ide/ide.c Signed-off-by: Bartlomiej Zolnierkiewicz commit f82c2b171905b6d5af92395d8159546351ab602f Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:39 2008 +0100 ide: add 'init_default' and 'restore' arguments to ide_unregister() * Add 'init_default' (flag for calling init_hwif_default()) and 'restore' (flag for calling ide_hwif_restore()) arguments to ide_unregister(). * Update ide_unregister() users to set 'init_default' and 'restore' flags. * No need to set 'init_default' flag in ide_register_hw() if the setup done by init_hwif_default() is going to be overridden by ide_init_port_hw(). * No need to set 'init_default' and 'restore' flags in cleanup_module(). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit ead741df385607ab74876afdb05fd8ac27da9906 Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:38 2008 +0100 ide: remove redundant init_hwif_default() call from ide_register_hw() ide_init_port_hw() call overrides setup done by init_hwif_default(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 2244e850632f82466d7c041546326c7055fc7159 Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:38 2008 +0100 ide: remove redundant hwif->present check from ide_register_hw() We check earlier for hwif->present and call ide_unregister() if necessary (after ide_unregister() hwif->present will be always cleared). Signed-off-by: Bartlomiej Zolnierkiewicz commit 1bee4d1dce2d76bcf0bf9565298c62666de0fa1d Author: Alan Cox Date: Sat Feb 2 19:56:38 2008 +0100 pdc202xx_old: remove surplus initialiser Bart: - drive-by CodingStyle fixups Signed-off-by: Alan Cox Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit fc6c5bc7c158d7ee7bb6e9ac1c64ae80da3d1580 Author: Borislav Petkov Date: Sat Feb 2 19:56:38 2008 +0100 ide-floppy: bump driver version number Acknowledge major ide-floppy code refactoring and cleanup by bumping the driver version number. Also, remove a wrong comment. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 0571c7a4f58fc6070fb9d556e4896de864c2a593 Author: Borislav Petkov Date: Sat Feb 2 19:56:38 2008 +0100 ide-floppy: fix most of the remaining checkpatch.pl issues such as ERROR: switch and case should be at the same indent ERROR: need spaces around that '=' (ctx:VxV) ERROR: trailing statements should be on next line WARNING: no space between function name and open parenthesis '(' WARNING: printk() should include KERN_ facility level ERROR: That open brace { should be on the previous line ERROR: use tabs not spaces ERROR: do not use assignment in if condition WARNING: braces {} are not necessary for single statement blocks ERROR: need space after that ',' (ctx:VxV) WARNING: line over 80 characters ERROR: do not use assignment in if condition ... and so on. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 6e5fa7b88c376b9d33228888f2ccd71fc79b2a17 Author: Borislav Petkov Date: Sat Feb 2 19:56:37 2008 +0100 ide-floppy: remove atomic test_*bit macros ..and replace them with flag enums. Bart: - fix idefloppy_media_changed() return value Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 757ced8983a0b8d1bb353128605cec0f7a6f633e Author: Borislav Petkov Date: Sat Feb 2 19:56:37 2008 +0100 ide-floppy: remove unused flag PC_ABORT This flag was never being set in the code so remove it. By the way, the code in the second patch was being executed unconditionally, i.e. in case pc->retries > IDEFLOPPY_MAX_PC_RETRIES is true (actually that is the only case when the outer if-test passed), !test_bit(PC_ABORT, &pc->flags) was always true so the comment is now incorrect and has to go. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit f373bd820dd80ae079537afb9db511b8802bb9f7 Author: Borislav Petkov Date: Sat Feb 2 19:56:36 2008 +0100 ide-floppy: remove IDEFLOPPY_DEBUG_INFO This info is already available through ioctl() and /proc Bart: - dump 'gcw.packet_size' for unsupported packet sizes Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit ae7e8ddc34d8cd302886a1f8d1db8a3400532d1f Author: Borislav Petkov Date: Sat Feb 2 19:56:36 2008 +0100 ide-floppy: remove unused IDEFLOPPY_USE_READ12 This flag is not being set anywhere in the driver so it can go. Bart: - minor CodingStyle fixup Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 32925e1a16d7bdb4b56b4194b7c48f687538d330 Author: Borislav Petkov Date: Sat Feb 2 19:56:36 2008 +0100 ide-floppy: merge idefloppy_{input,output}_buffers We merge idefloppy_{input,output}_buffers() into idefloppy_io_buffers() by introducing a 4th arg. called direction. According to its value we atapi_input_bytes() or atapi_output_bytes(). Also, this simplifies the interrupt handler logic a bit. Finally, rename idefloppy_io_buffers() to ide_floppy_io_buffers(). Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 0eea6458c04a1cbb2e8e5c2cdbef736d882d200c Author: Borislav Petkov Date: Sat Feb 2 19:56:36 2008 +0100 ide-floppy: use an xfer_func_t and io_buf_t typedefs in order to unify rw Also, move xfer_func_t typedef to the ide.h since it is used by two drivers now (more coming). Bart: - use __func__ while at it Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 0bf399e69c365a71c230014af90966faea92e0a3 Author: Borislav Petkov Date: Sat Feb 2 19:56:36 2008 +0100 ide-floppy: remove IDEFLOPPY_DEBUG_BUGS macro Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit d652c1380870228dfe05a2f00ce4edec3f5bd42d Author: Borislav Petkov Date: Sat Feb 2 19:56:35 2008 +0100 ide-floppy: mv idefloppy_{should_,}report_error In addition to shortening the function name, move the printk-call into the function thereby saving some code lines. Also, make the function out_of_line since it is not on a performance critical path. Finally, rename the reworked function to ide_floppy..(). Bart: - minor CodingStyle fixup Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit d30a7fba4380901b6a33fd798a0d0f9794a70ccc Author: Borislav Petkov Date: Sat Feb 2 19:56:35 2008 +0100 ide-floppy: report DMA handling in idefloppy_pc_intr() properly Bart: - use 'hwif' instead of 'HWIF(drive)' - minor CodingStyle fixup Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 20bf7bdad443d473826832674230834654b31d0b Author: Borislav Petkov Date: Sat Feb 2 19:56:35 2008 +0100 ide-floppy: factor out ioctl handlers from idefloppy_ioctl() By passing idefloppy_floppy_t *floppy to the factored out functions, we get rid of (almost) all local vars so stack usage should be at minimum here. Also, we merge idefloppy_begin_format() into idefloppy_format_start() since it is its only user. Also, rename idefloppy_format_start() to idefloppy_format_unit(). Finally, rename the reworked functions to ide_floppy..(). Bart - minor CodingStyle fixup Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 194ec0c07895d8f8bf3ca8e50d5225f7968ad2d0 Author: Borislav Petkov Date: Sat Feb 2 19:56:35 2008 +0100 ide-floppy: remove struct idefloppy_capacity_descriptor Also, - remove the accompanying 4 byte idefloppy_capacity_header. - rename functions from idefloppy_... to ide_floppy_... after cleanup. - simplify loop in ide_floppy_get_capacity() by reversing if-test condition logically. - finally, fix white space and checkpatch.pl issues Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8e81bbba72453b74e4ceb1480546b1092184c11c Author: Borislav Petkov Date: Sat Feb 2 19:56:35 2008 +0100 ide-floppy: remove struct idefloppy_flexible_disk_page Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 24a5d7033bd38cbbc73766d3b567bc337b84d1a0 Author: Borislav Petkov Date: Sat Feb 2 19:56:34 2008 +0100 ide-floppy: remove struct idefloppy_mode_parameter_header Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit a6ff2d3b08fe0780063bb159c7beab9c4ecda3b8 Author: Borislav Petkov Date: Sat Feb 2 19:56:34 2008 +0100 ide-floppy: remove struct idefloppy_request_sense_result While at it, collapse idefloppy_analyze_error() into idefloppy_request_sense_callback() since the latter was its only user. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4d37d32e4ab5241554ab4a60ff8ee159ba48851c Author: Borislav Petkov Date: Sat Feb 2 19:56:34 2008 +0100 ide-floppy: remove struct idefloppy_inquiry_result Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 948391d17c34b87811e1ddbe1fa96b670510e5e1 Author: Borislav Petkov Date: Sat Feb 2 19:56:34 2008 +0100 ide-floppy: remove struct idefloppy_capabilities_page This change is rather temporary and is in preparation of using generic commands as is the case with ide-cd and the uniform cdrom layer (i.e. init_cdrom_command()) However, before this happens, we'll have to remove all typedefs and teach idefloppy_create_mode_sense_cmd() to work directly on u8 buffers. Also, since idefloppy_get_capability_page() was used to read only the sfrp bit, rename the latter so that the name reflects what it does. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit bcc77d9cc12f5fd3e54ea01a6ef8f09e4d7b54a8 Author: Borislav Petkov Date: Sat Feb 2 19:56:34 2008 +0100 ide-floppy: cleanup and unify debugging macro calls * some debug_log() calls were not using "ide-floppy: " prefix * a few used printk levels different than KERN_INFO (KERN_NOTICE and KERN_ERR, which is the default one if no level is given) Bart: - fix build issues for IDEFLOPPY_DEBUG_LOG set to 1 while at it - s/__FUNCTION__/__func__/ Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7e8b163b253499c6c82f921f8cb5b85e9431518c Author: Borislav Petkov Date: Sat Feb 2 19:56:34 2008 +0100 ide-floppy: include the proper headers Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9a24b63db06a4b9389367ebafd9b0cfb5dd1b39f Author: Borislav Petkov Date: Sat Feb 2 19:56:33 2008 +0100 ide-floppy: disambiguate function names There were two almost identical function names in ide-floppy.c, which makes their distinction almost impossible. While ide_floppy_release() cleans up the object after the last reference to it has been dropped, idefloppy_release() is the blkdev .release method from struct block_device_operations which releases that last reference. Rename ide_floppy_release() to idefloppy_cleanup_obj() in order to make its purpose more clear. There should be no functionality change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 0078df2ece5a752e878410e39eb31e075183b4e7 Author: Borislav Petkov Date: Sat Feb 2 19:56:33 2008 +0100 ide-floppy: remove unnecessary ->handler != NULL check This BUG_ON is unneeded since the ->handler != NULL check is performed in ide_set_handler(). Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8f6224308bb5642506af62b88e1b38582220524d Author: Borislav Petkov Date: Sat Feb 2 19:56:33 2008 +0100 ide-floppy: replace ntoh{s,l} and hton{s,l} calls with the generic byteorder Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 30d67099385dd837b252a604f1593735c5559e13 Author: Borislav Petkov Date: Sat Feb 2 19:56:33 2008 +0100 ide-floppy: convert to generic packet commands Replace the ide-floppy packet commands opcode defines with the generic ones. Add a missing GPCMD_WRITE_12 (opcode 0xaa) to the generic ones in cdrom.h. The last one can be found in the current version of INF-8090, p.905. [ Bart: Tejun's libata patch also adding GPCMD_WRITE_12 got merged first ] Signed-off-by: Borislav Petkov Cc: Jens Axboe Signed-off-by: Bartlomiej Zolnierkiewicz commit 78829dd9224b62e2092a681afaee1bda4d0cb93b Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:33 2008 +0100 ide: remove needless includes from PCI host drivers Signed-off-by: Bartlomiej Zolnierkiewicz commit bfa14b42a3bd671f0287b3db42e703e86ef27b48 Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:31 2008 +0100 ide: add ->cable_detect method to ide_hwif_t * Add ->cable_detect method to ide_hwif_t. * Call the new method in ide_init_port() if: - the host supports UDMA modes > UDMA2 ('hwif->ultra_mask & 78') - DMA initialization was successful (if hwif->dma_base is not set ide_init_port() sets hwif->ultra_mask to zero) - "idex=ata66" is not used ('hwif->cbl != ATA_CBL_PATA40_SHORT') * Convert PCI host drivers to use ->cable_detect method. While at it: * Factor out cable detection to separate functions (if not already done). * hpt366.c/it8213.c/slc90e66.c: - don't check cable type if "idex=ata66" is used * pdc202xx_new.c: - add __devinit tag to pdcnew_cable_detect() * pdc202xx_old.c: - rename pdc202xx_old_cable_detect() to pdc2026x_old_cable_detect() - add __devinit tag to pdc2026x_old_cable_detect() Reviewed-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit c413b9b94d9a8e7548cc4b2e04b7df0439ce76fd Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:31 2008 +0100 ide: add struct ide_port_info instances to legacy host drivers * Remove 'struct pci_dev *dev' argument from ide_hwif_setup_dma(). * Un-static ide_hwif_setup_dma() and add CONFIG_BLK_DEV_IDEDMA_PCI=n version. * Add 'const struct ide_port_info *d' argument to ide_device_add[_all](). * Factor out generic ports init from ide_pci_setup_ports() to ide_init_port(), move it to ide-probe.c and call it in in ide_device_add_all() instead of ide_pci_setup_ports(). * Move ->mate setup to ide_device_add_all() from ide_port_init(). * Add IDE_HFLAG_NO_AUTOTUNE host flag for host drivers that don't enable ->autotune currently. * Setup hwif->chipset in ide_init_port() but iff pi->chipset is set (to not override setup done by ide_hwif_configure()). * Add ETRAX host handling to ide_device_add_all(). * cmd640.c: set IDE_HFLAG_ABUSE_* also for CONFIG_BLK_DEV_CMD640_ENHANCED=n. * pmac.c: make pmac_ide_setup_dma() return an error value and move DMA masks setup to pmac_ide_setup_device(). * Add 'struct ide_port_info' instances to legacy host drivers, pass them to ide_device_add() calls and then remove open-coded ports initialization. Reviewed-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1ebf74936b1fccb5b65940f99ccddd74ec4d1fef Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:30 2008 +0100 ide: separate PCI specific init from generic init in ide_pci_setup_ports() * Setup ->mate and ->channel in ide_pci_setup_ports() instead of in ide_hwif_configure(). * Make 'port' parameter for ide_hwif_configure() 'unsigned int'. * Separate PCI specific init from generic init in ide_pci_setup_ports(). Signed-off-by: Bartlomiej Zolnierkiewicz commit bf77c5317168eb73894bcc9a455429c4589a179d Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:30 2008 +0100 ide: always set DMA masks in ide_pci_setup_ports() Always set DMA masks in ide_pci_setup_ports() to make sure that the valid masks for a host are set. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit d4e6d4eb164bc0a110e2e0ba031e713e6226a27a Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:30 2008 +0100 macide: remove drive->capacity64 quirk Nowadays IDE core always provides drive ID and ide-disk always setups drive->capacity64 so this quirk is no longer needed. Signed-off-by: Bartlomiej Zolnierkiewicz commit b4d1c73dcd2b3575921df06f42217bc281b83a9b Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:29 2008 +0100 atiixp/cs5535/scc_pata: fix "idex=ata66" parameter handling Don't override the cable type if the "idex=ata66" parameter was used. While at it: * atiixp.c: factor out cable detection to atiixp_cable_detect() from init_hwif_atiixp(). * cs5535.c: pass 'ide_hwif_t *hwif' instead of 'struct pci_dev *dev' to cs5535_cable_detect(). * scc_pata.c: factor out cable detection to scc_cable_detect() from init_hwif_scc() and remove incorrect comment. Signed-off-by: Bartlomiej Zolnierkiewicz commit bd38dd3c13c143c60d6284d145bf1273a0f64004 Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:29 2008 +0100 au1xxx-ide: fix ->io_32bit handling The host driver must set hwif's ->no_io_32bit setting not drive's one (ide_port_tune_devices() overrides drive's setting). Signed-off-by: Bartlomiej Zolnierkiewicz commit 36e9dc469b1300d8bec6f2ab48b4556e2c4241ba Author: Bartlomiej Zolnierkiewicz Date: Sat Feb 2 19:56:28 2008 +0100 dtc2278: fix ->io_32bit handling On DTC2278 32-bit I/O has to be enabled for both devices on the port so always enable it during init time and disallow further changes. Cc: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit 5fcf500058d5f06720302c5ce138c7bca93f7655 Author: Stefan Richter Date: Fri Feb 1 22:31:10 2008 +0100 ieee1394: sbp2: fix bogus s/g access change sg_dma_len(sg) is invalid before the s/g list is DMA-mapped. This fixes a post 2.6.24 regression which prevents access to SBP-2 devices on several architectures, introduced by "ieee1394: sbp2: s/g list access cosmetics", commit 825f1df545ab0289185373b0eaf06fb0b3487422. Signed-off-by: Stefan Richter commit 3c602840528cf1aa835e6e32d76a0a45936b8e4c Author: Len Brown Date: Sat Feb 2 04:05:54 2008 -0500 ACPI: fan: build fix for CONFIG_ACPI_PROCFS=n drivers/acpi/fan.c:340: error: ‘acpi_fan_dir’ undeclared (first use in this function) Signed-off-by: Len Brown 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 3391a76f2bbb74e42b9ba44c05a7366ffd388753 Author: Len Brown Date: Sat Feb 2 03:56:18 2008 -0500 ACPI: throttling: fix build warning Signed-off-by: Len Brown commit 8b01eaff4fdf39d23d53288fd1a3e74fef136145 Author: Sonic Zhang Date: Sat Feb 2 16:31:00 2008 +0800 [Blackfin] arch: Enable UART2 and UART3 for bf548 Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 83d9cde08b72233d113e31ab93b6b56151be8719 Author: Michael Hennerich Date: Sat Feb 2 16:25:17 2008 +0800 [Blackfin] arch: Enable NET2272 on BF561-EZkit - remove request_mem_region Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit f1bceb47b3f385d765acac7fe582cb11034dd759 Author: Michael Hennerich Date: Sat Feb 2 16:17:52 2008 +0800 [Blackfin] arch:Fix BUG [#3876] pfbutton test for BTN3 on bf533 don't show complete info - Buttons on the BF533-STAMP board are not inverted - Fix spurious GPIO Interrupt caused during set irq_type for edge triggered interrupts Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit a8c12385c203ca7fa1cd5af25f910c41f6e4a2b5 Author: Tilman Schmidt Date: Sat Feb 2 16:14:53 2008 +0800 [Blackfin] arch: remove duplicated definitions of the line discipline numbers N_* in asm-blackfin/termios.h The definitions of the line discipline numbers N_* have been moved from asm-*/termios.h to linux/tty.h, but the Blackfin architecture has somehow evaded that move. Bring it in line with the others. Signed-off-by: Tilman Schmidt Signed-off-by: Bryan Wu commit c0eab3b784ffdd3912450c7654c75bbcc0270ee8 Author: Mike Frysinger Date: Sat Feb 2 15:36:11 2008 +0800 [Blackfin] arch: fix building with mtd uclinux by putting the mtd_phys option into the function it actually gets used in Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 550d553838b5369efba9e51520c85dbd03371cc8 Author: Mike Frysinger Date: Sat Feb 2 15:55:37 2008 +0800 [Blackfin] arch: simpler header and update dates Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit b7627acc432a36072253bb1288f56e78c7d9423e Author: Mike Frysinger Date: Sat Feb 2 15:53:17 2008 +0800 [Blackfin] arch: move the init sections to the end of memory Move the init sections to the end of memory so that after they are free, run time memory is all continugous - this should help decrease memory fragementation. When doing this, we also pack some of the other sections a little closer together, to make sure we don't waste memory. To make this happen, we need to rename the .data.init_task section to .init_task.data, so it doesn't get picked up by the linker script glob. Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 80f31c8a03d2f0644d0ceaf14e7e0108a007c962 Author: Mike Frysinger Date: Sat Feb 2 15:47:24 2008 +0800 [Blackfin] arch: change the trace buffer control start/stop logic in the exception handlers To save/restore the trace buffer control so that if we take an exception after turning off the trace buffer at a higher level we dont inadvertently turn the trace buffer back on Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit a3acf52885a2312efb30a043062ef88dc3813082 Author: Mike Frysinger Date: Sat Feb 2 15:45:27 2008 +0800 [Blackfin] arch: fix typo in printk message Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit a01d7a76d8906e2ff04e6f3444cf312c3760fec8 Author: Mike Frysinger Date: Sat Feb 2 15:34:56 2008 +0800 [Blackfin] arch: this is an ezkit, not a stamp, so fixup the init function name Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit cf93425d406101c89b6e25d9864c3b69435211a7 Author: Mike Frysinger Date: Sat Feb 2 15:32:40 2008 +0800 [Blackfin] arch: add slightly better help text for CPLB_INFO Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 33a2a529f7a2fb481812b99737176628fda457b0 Author: Zhao Yakui Date: Mon Jan 28 13:55:56 2008 +0800 ACPI: Update the t-state for every affected cpu when t-state is changed According to ACPI spec, the _TSD object provides T-state control cross logical processor dependency information to OSPM. So the t-state coordination should be considered when T-state for one cpu is changed. According to ACPI spec, three types of coordination are defined. SW_ALL, SW_ANY and HW_ALL. SW_ALL: it means that OSPM needs to initiate T-state transition on all processors in the domain. It is necessary to call throttling set function for all affected cpus. SW_ANY: it means that OSPM may initiate T-state transition on any processor in the domain. HW_ALL: Spec only says that hardware will perform the coordination and doesn't recommend how OSPM coordinate T-state among the affected cpus. So it is treated as the type of SW_ALL. It means that OSPM needs to initiate t-state transition on all the processors in the domain. Signed-off-by: Zhao Yakui Signed-off-by: Len Brown commit e4aa5cb2138e7423a6edef6a76a3837b94c2f107 Author: Zhao Yakui Date: Mon Jan 28 13:54:46 2008 +0800 ACPI : Add T-state event notifier function The t-state coordination should be considered when T-state for one cpu is changed.It means that OSPM should select one proper target T-state for the all affected cpus before updating T-state. So the function of acpi_processor_throttling_notifier is added. Before updating T-state it can be called for all the affected cpus to get the proper target T-state, which can meet the requirement of thermal, user and _TPC. After updating T-state, it can be called to update T-state flag. Signed-off-by: Zhao Yakui Signed-off-by: Len Brown commit 1180509f6b3ec3ac2505375a78ccd72d270f2169 Author: Zhao Yakui Date: Mon Jan 28 13:53:42 2008 +0800 ACPI : Update T-state coordination after getting _TSD info Accordint to ACPI spec, the _TSD object provides T-state control cross logical processor dependency information to OSPM. After the _TSD data for all cpus are obtained, OSPM will set up the T-state coordination between CPUs. Of course if the _TSD doesn't exist or _TSD data is incorrect , it is assumed that there is no T-state coordination and T-state is changed independently. Now there is no proper solution to update T-state coordination after one cpu is hotplugged. So this patch won't support hotplugged cpu very well. Signed-off-by: Zhao Yakui Signed-off-by: Len Brown commit 87654273ef63213f90c4243913987436495824f0 Author: Zhao Yakui Date: Mon Jan 28 13:53:30 2008 +0800 ACPI : Check parameter when calling acpi_processor_get/set_throttling It is necessary to check the parameter when calling the function of acpi_processor_get/set_throttling function so as to avoid the NULL pointer reference in pr or throttling. http://bugzilla.kernel.org/show_bug.cgi?id=9747 Signed-off-by: Zhao Yakui Signed-off-by: Len Brown commit 3abbd337c60591305cbfeb984ff2922c175be37f Author: Zhao Yakui Date: Mon Jan 28 13:53:21 2008 +0800 ACPI: Set _PSD ACPI_PDC_SMP_T_SWCOORD The ACPI_PDC_SMP_T_SWCOORD bit is set by and OS that is capable of native ACPI throttling software coordination for mutli-processors using the _TSD information. Signed-off-by: Zhao Yakui Signed-off-by: Len Brown commit 0119509c4fbc9adcef1472817fda295334612976 Author: Matthew Garrett Date: Thu Jan 17 03:39:36 2008 +0000 ACPI: video: Ignore devices that aren't present in hardware Vendors often ship machines with a choice of integrated or discrete graphics, and use the same DSDT for both. As a result, the ACPI video module will locate devices that may not exist on this specific platform. Attempt to determine whether the device exists or not, and abort the device creation if it doesn't. http://bugzilla.kernel.org/show_bug.cgi?id=9614 Signed-off-by: Matthew Garrett Acked-by: Zhang Rui Signed-off-by: Len Brown commit 6cda2e90588ba2f70543abf68b4815e10c86aef1 Author: Michael Hennerich Date: Sat Feb 2 15:10:51 2008 +0800 [Blackfin] arch: Fix BUG - Enable ISP1362 driver to work ok with BF561 This fixes a bug (zero pointer access) only seen on BF561, during USB Mass Storage/SCSI Host initialization. It appears to be related to registering a none existing CPU Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit a680ae9bdd8746ea4338e843db388fa67f1d1920 Author: Michael Hennerich Date: Sat Feb 2 15:04:38 2008 +0800 [Blackfin] arch: Fix header file information Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit e9d76c2d082002f8bcbcee1a9202feda37fc0f72 Author: Michael Hennerich Date: Sat Feb 2 14:55:28 2008 +0800 [Blackfin] arch: Add Support for ISP1362 Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit c8279023117d4e964edbb3b0a99b9cb177e41a33 Author: Mike Frysinger Date: Sat Feb 9 04:13:15 2008 +0800 [Blackfin] arch: add support for cmdline partitioning to the BF533-STAMP flash map driver and enable it as a module by default Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit cfefe3c683e0d14c9ce3aeb883c55c7f30c20183 Author: Michael Hennerich Date: Sat Feb 9 04:12:37 2008 +0800 [Blackfin] arch: hook up set_irq_wake in Blackfin's irq code - Add support for irq_wake on system and gpio interrupts - Remove outdated kernel options - Add option to select default PM mode - Fix various places where SIC_IWRx was only handled partially Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 2c4f829b0ce3d2fb447acca823e141094a50daa5 Author: Michael Hennerich Date: Sat Feb 9 04:11:14 2008 +0800 [Blackfin] arch: Merge BF561 support into ints-priority Merge single core ints-priority-sc.c and dual core ints-priority-dc.c into one common code ints-priority.c Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 856783b37a958086c83ea44544d366affd0c2c4b Author: Yi Li Date: Sat Feb 9 02:26:01 2008 +0800 [Blackfin] arch: add "memmap=nn[KMG]@ss[KMG]" and "memmap=nn[KMG]$ss[KMG]" options to blackfin, based on arch/i386/kernel/e820.c Signed-off-by: Yi Li 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 c605999bd9a90a7a9915666f4531c60928cbc368 Author: Mike Frysinger Date: Sat Feb 2 12:28:23 2008 +0800 [Blackfin] arch: error out if ANOMALY_05000263 applies while enabling the MPU Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 960265e22bcd4a657223e79f36643eb7e69b1a1f Author: Bryan Wu Date: Sat Feb 2 12:28:11 2008 +0800 [Blackfin] arch: fix bug: redefinition warning when compile EZKIT548 Signed-off-by: Bryan Wu commit 653a00c9662304ef72a3eb4e681c91720960e0b4 Author: Zhang Rui Date: Thu Jan 17 15:51:18 2008 +0800 ACPI: thermal fixup The alias name may be used in _PSL, _ALx and _TZD, so we bind the cooling device only if the acpi_device node matches. Signed-off-by: Zhang Rui Signed-off-by: Thomas Sujith Signed-off-by: Len Brown commit cc0573b3250214034062ddf8c64359596d8af521 Author: Thomas Sujith Date: Fri Jan 25 11:45:44 2008 +0800 intel_menlo: introduce new platform specific driver Intel menlow platform specific driver for thermal management extension. Signed-off-by: Thomas Sujith Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 041d4bbf128f645fe53bb22309efb9db14dbf5b5 Author: Zhang Rui Date: Thu Jan 17 15:51:19 2008 +0800 ACPI: CELSIUS_TO_KELVIN fixup Fix an imprecision in CELSIUS_TO_KELVIN and move these two macroes to a proper place. Signed-off-by: Zhang Rui Signed-off-by: Thomas Sujith Signed-off-by: Len Brown commit 207339398ecb0835331c748612898dad2a09fdec Author: Zhang Rui Date: Thu Jan 17 15:51:21 2008 +0800 ACPI: attach thermal zone info Intel menlow driver needs to get the pointer of themal_zone_device structure of an ACPI thermal zone. Attach this to each ACPI thermal zone device object. Signed-off-by: Zhang Rui Signed-off-by: Thomas Sujith Signed-off-by: Len Brown commit 702ed512de9c8a67a69a981c73b7337c2131f198 Author: Zhang Rui Date: Thu Jan 17 15:51:22 2008 +0800 ACPI: register ACPI Video LCD as generic thermal cooling device Register ACPI video device as thermal cooling devices as they may be listed in _TZD method and the backlight control can be used for throttling. Signed-off-by: Zhang Rui Signed-off-by: Thomas Sujith Signed-off-by: Len Brown commit d9460fd227ed2ce52941b6a12ad4de05c195f6aa Author: Zhang Rui Date: Thu Jan 17 15:51:23 2008 +0800 ACPI: register ACPI Processor as generic thermal cooling device Register ACPI processor as thermal cooling devices. A combination of processor T-state and P-state are used for thermal throttling. the processor will reduce the frequency first and then set the T-state. we use cpufreq_thermal_reduction_pctg to calculate the cpufreq limit, and call cpufreq_verify_with_limit to set the cpufreq limit. if cpufreq driver is loaded, then we have four cooling state for cpufreq control. cooling state 0: cpufreq limit == max_freq cooling state 1: cpufreq limit == max_freq * 80% cooling state 2: cpufreq limit == max_freq * 60% cooling state 3: cpufreq limit == max_freq * 40% after the cpufreq limit is set to 40 percentage of the max_freq, we use T-state for cooling. eg. a processor has P-state support, and it has 8 T-state (T0-T7), the max_state of the proceesor is 10: state cpufreq-limit T-state 0: max_freq T0 1: max_freq * 80% T0 2: max_freq * 60% T0 3: max_freq * 40% T0 4: max_freq * 40% T1 5: max_freq * 40% T2 6: max_freq * 40% T3 7: max_freq * 40% T4 8: max_freq * 40% T5 9: max_freq * 40% T6 10: max_freq * 40% T7 Signed-off-by: Zhang Rui Signed-off-by: Zhao Yakui Signed-off-by: Thomas Sujith Signed-off-by: Len Brown commit 05a83d972293f39a66bc2aa409a5e7996bba585d Author: Zhang Rui Date: Thu Jan 17 15:51:24 2008 +0800 ACPI: register ACPI Fan as generic thermal cooling device Register ACPI Fan as thermal cooling device. Signed-off-by: Zhang Rui Signed-off-by: Thomas Sujith Signed-off-by: Len Brown commit ae9458d6a0956aa21cb49e1251e35a8d4dacbe6e Merge: 63e9b66... e91926e... Author: Linus Torvalds Date: Sat Feb 2 15:13:05 2008 +1100 Merge git://git.infradead.org/battery-2.6 * git://git.infradead.org/battery-2.6: apm_power: check I.intval for zero value, we use it as the divisor MAINTAINERS: remove kernel-discuss@handhelds.org list pda_power: implement polling pda_power: various cleanups apm_power: support using VOLTAGE_* properties for apm calculations pda_power: add suspend/resume support power_supply: add few more values and props pda_power: only register available psu power: fix incorrect unregistration in power_supply_create_attrs error path power: remove POWER_SUPPLY_PROP_CAPACITY_LEVEL [BATTERY] power_supply_leds: use kasprintf [BATTERY] Every file should include the headers containing the prototypes for its global functions. commit ce44e19701ac1de004815c225585ff617c5948b4 Author: Zhang Rui Date: Thu Jan 17 15:51:25 2008 +0800 ACPI: ACPI thermal zone handle notification correctly Change the ACPI thermal action upon notification 0x81 and 0x82. According to the ACPI spec, we should: re-evaluate _PSV and _ACx methods upon notification 0x81 re-evaluate _PSL and _ALx and _TZD upon notificaiton 0x82. But the current code re-evaluates all the trip points for 0x81 while only re-evaluates _TZD for 0x82. Fix this violation of ACPI spec. TODO: devices in _PSL, _ALx and _TZD may change after a notification 0x82. At this time, we need to re-bind the cooling devices with the thermal zone. Signed-off-by: Zhang Rui Signed-off-by: Thomas Sujith Signed-off-by: Len Brown commit 3f655ef8c439e0775ffb7d1ead5d1d4f060e1f8b Author: Zhang Rui Date: Thu Jan 17 15:51:11 2008 +0800 ACPI: register ACPI thermal zone as generic thermal zone devices Register ACPI thermal zone as thermal zone device. the new sys I/F for ACPI thermal zone will be like this: /sys/class/thermal: |thermal_zone1: |-----type: "ACPI thermal zone". RO |-----temp: the current temperature. RO |-----mode: the current working mode. RW. the default value is "kernel" which means thermal management is done by ACPI thermal driver. "echo user > mode" prevents all the ACPI thermal driver actions upon any trip points. |-----trip_point_0_temp: the threshold of trip point 0. RO. |-----trip_point_0_type: "critical". RO. the type of trip point 0 This may be one of critical/hot/passive/active[x] for an ACPI thermal zone. ... |-----trip_point_3_temp: |-----trip_point_3_type: "active[1]" Signed-off-by: Zhang Rui Signed-off-by: Thomas Sujith Signed-off-by: Len Brown commit 203d3d4aa482339b4816f131f713e1b8ee37f6dd Author: Zhang Rui Date: Thu Jan 17 15:51:08 2008 +0800 the generic thermal sysfs driver The Generic Thermal sysfs driver for thermal management. Signed-off-by: Zhang Rui Signed-off-by: Thomas Sujith Signed-off-by: Len Brown commit 38531e6fe51ad5c7dfe72e0e066b5f54bc1921cd Author: Matthew Garrett Date: Wed Dec 26 02:03:26 2007 +0000 ACPI: video: Rationalise ACPI backlight implementation The sysfs backlight class provides no mechanism for querying the acceptable brightness for a backlight. The ACPI spec states that values are only valid if they are reported as available by the firmware. Since we can't provide that information to userspace, instead collapse the range to the number of actual values that can be set. http://bugzilla.kernel.org/show_bug.cgi?id=9277 Signed-off-by: Matthew Garrett Acked-by: Zhang Rui Signed-off-by: Len Brown commit 63e9b66e29357dd12e8b1d3ebf7036e7591f81e3 Merge: 687fcdf... ea339d4... Author: Linus Torvalds Date: Sat Feb 2 14:31:28 2008 +1100 Merge branch 'for-linus' of git://linux-nfs.org/~bfields/linux * 'for-linus' of git://linux-nfs.org/~bfields/linux: (100 commits) SUNRPC: RPC program information is stored in unsigned integers SUNRPC: Move exported symbol definitions after function declaration part 2 NLM: tear down RPC clients in nlm_shutdown_hosts SUNRPC: spin svc_rqst initialization to its own function nfsd: more careful input validation in nfsctl write methods lockd: minor log message fix knfsd: don't bother mapping putrootfh enoent to eperm rdma: makefile rdma: ONCRPC RDMA protocol marshalling rdma: SVCRDMA sendto rdma: SVCRDMA recvfrom rdma: SVCRDMA Core Transport Services rdma: SVCRDMA Transport Module rdma: SVCRMDA Header File svc: Add svc_xprt_names service to replace svc_sock_names knfsd: Support adding transports by writing portlist file svc: Add svc API that queries for a transport instance svc: Add /proc/sys/sunrpc/transport files svc: Add transport hdr size for defer/revisit svc: Move the xprt independent code to the svc_xprt.c file ... commit 687fcdf741e4a268c2c7bac8b3734de761bb9719 Merge: 215e871... a6eb84b... Author: Linus Torvalds Date: Sat Feb 2 14:29:57 2008 +1100 Merge branch 'suspend' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'suspend' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (38 commits) suspend: cleanup reference to swsusp_pg_dir[] PM: Remove obsolete /sys/devices/.../power/state docs Hibernation: Invoke suspend notifications after console switch Suspend: Invoke suspend notifications after console switch Suspend: Clean up suspend_64.c Suspend: Add config option to disable the freezer if architecture wants that ACPI: Print message before calling _PTS ACPI hibernation: Call _PTS before suspending devices Hibernation: Introduce begin() and end() callbacks ACPI suspend: Call _PTS before suspending devices ACPI: Separate disabling of GPEs from _PTS ACPI: Separate invocations of _GTS and _BFS from _PTS and _WAK Suspend: Introduce begin() and end() callbacks suspend: fix ia64 allmodconfig build ACPI: clear GPE earily in resume to avoid warning Suspend: Clean up Kconfig (V2) Hibernation: Clean up Kconfig (V2) Hibernation: Update messages Suspend: Use common prefix in messages Hibernation: Remove unnecessary variable declaration ... commit 215e871aaa3d94540121a3809d80d0c5e5686e4f Merge: b6cf160... fd7d1ce... Author: Linus Torvalds Date: Sat Feb 2 14:29:33 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6: (64 commits) PCI: make pci_bus a struct device PCI: fix codingstyle issues in include/linux/pci.h PCI: fix codingstyle issues in drivers/pci/pci.h PCI: PCIE ASPM support PCI: Fix fakephp deadlock PCI: modify SB700 SATA MSI quirk PCI: Run ACPI _OSC method on root bridges only PCI ACPI: AER driver should only register PCIe devices with _OSC PCI ACPI: Added a function to register _OSC with only PCIe devices. PCI: constify function pointer tables PCI: Convert drivers/pci/proc.c to use unlocked_ioctl pciehp: block new requests from the device before power off pciehp: workaround against Bad DLLP during power off pciehp: wait for 1000ms before LED operation after power off PCI: Remove pci_enable_device_bars() from documentation PCI: Remove pci_enable_device_bars() PCI: Remove users of pci_enable_device_bars() PCI: Add pci_enable_device_{io,mem} intefaces PCI: avoid save the same type of cap multiple times PCI: correctly initialize a structure for pcie_save_pcix_state() ... commit b6cf160c4b788a31f6a4017a469b956ca77febf4 Merge: ed50d6c... 2c044a4... Author: Linus Torvalds Date: Sat Feb 2 14:28:57 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (128 commits) USB: fix codingstyle issues in drivers/usb/core/*.c USB: fix codingstyle issues in drivers/usb/core/message.c USB: fix codingstyle issues in drivers/usb/core/hcd-pci.c USB: fix codingstyle issues in drivers/usb/core/devio.c USB: fix codingstyle issues in drivers/usb/core/devices.c USB: fix codingstyle issues in drivers/usb/core/*.h USB: fix codingstyle issues in include/linux/usb/ USB: fix codingstyle issues in include/linux/usb.h USB: mark USB drivers as being GPL only USB: use a real vendor and product id for root hubs USB: mount options: fix usbfs USB: Fix usb_serial_driver structure for Kobil cardreader driver. usb: ehci should use u16 for isochronous intervals usb: ehci, remove false clear-reset path USB: Use menuconfig objects usb: ohci-sm501 driver usb: dma bounce buffer support USB: last abuses of intfdata in close for usb-serial drivers USB: kl5kusb105 don't flush to logically disconnected devices USB: oti6858: cleanup ... commit ed50d6cbc394cd0966469d3e249353c9dd1d38b9 Author: Peter Zijlstra Date: Sat Feb 2 00:23:08 2008 +0100 debug: softlockup looping fix Rafael J. Wysocki reported weird, multi-seconds delays during suspend/resume and bisected it back to: commit 82a1fcb90287052aabfa235e7ffc693ea003fe69 Author: Ingo Molnar Date: Fri Jan 25 21:08:02 2008 +0100 softlockup: automatically detect hung TASK_UNINTERRUPTIBLE tasks fix it: - restore the old wakeup mechanism - fix break usage in do_each_thread() { } while_each_thread(). - fix the hotplug switch stmt, a fall-through case was broken. Bisected-by: Rafael J. Wysocki Signed-off-by: Peter Zijlstra Tested-by: Rafael J. Wysocki Signed-off-by: Ingo Molnar Acked-by: Rafael J. Wysocki Signed-off-by: Linus Torvalds commit 1cee5cce9776d88778b6c00e3f72fffbcbec40d4 Author: Henrique de Moraes Holschuh Date: Tue Jan 8 13:02:57 2008 -0200 ACPI: thinkpad-acpi: bump up version to 0.19 The major code reorganization and cleanups, and new HKEY events, plus poll()/select() support are good reasons to checkpoint a new version... Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 6a2e293c34a41446c091cb18758cf64117021b72 Author: Henrique de Moraes Holschuh Date: Tue Jan 8 13:02:56 2008 -0200 ACPI: thinkpad-acpi: update copyright dates to 2008 Update the copyright headers to include 2008. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 50ebec09f1a79df27afeceb14a3059944f327e1d Author: Henrique de Moraes Holschuh Date: Tue Jan 8 13:02:55 2008 -0200 ACPI: thinkpad-acpi: add poll() support to some sysfs attributes Implement poll()/select() support through sysfs_notify() for some key attributes which userspace might want to poll() or select() on. In order to let userspace know poll()/select() support is available for an attribute, the thinkpad-acpi sysfs interface version is also bumped up. Further changes that add poll()/select() capabilities to any pre-existing attributes will also increment the sysfs interface version. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 013c40e457ac573b29daa0e369c2ba6729c23557 Author: Henrique de Moraes Holschuh Date: Tue Jan 8 13:02:54 2008 -0200 ACPI: thinkpad-acpi: silence _sta warning When both CONFIG_THINKPAD_ACPI_DOCK and CONFIG_THINKPAD_ACPI_BAY are undefined, _sta is not used and that causes a gcc warning. Fix it (and I think this is a regression, I am pretty sure I fixed this once before, sorry about that). Issue reported by: Pritt Laes. Signed-off-by: Henrique de Moraes Holschuh Cc: Pritt Laes Signed-off-by: Len Brown commit d1edb2b5f1d016d679600cccf2716e0134fff917 Author: Henrique de Moraes Holschuh Date: Tue Jan 8 13:02:53 2008 -0200 ACPI: thinkpad-acpi: add X61t HKEY events Tomas Carnecky reports that events 0x5009 and 0x500a are swivel events, and that 0x500b/0x500c are tablet pen storage bay events. Document these events, and avoid nasty messages when they happen. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit a713b4d7bca51e56cdb5357507f46674111d032c Author: Henrique de Moraes Holschuh Date: Tue Jan 8 13:02:52 2008 -0200 ACPI: thinkpad-acpi: wakeup on hotunplug reporting Handle some HKEY events that the firmware uses to report the reason for a wake up, and to also notify that the system could go back to sleep (if it woke up just to eject something from the bay, or to undock). The driver will report the reason of the last wake up in the sysfs attribute "wakeup_reason": 0 for "none, unknown, or standard ACPI wake up event", 1 for "bay ejection request" and 2 for "undock request". The firmware will also report if the operation that triggered the wake up has been completed, by issuing an HKEY 0x3003 or 0x4003 event. If the operation fails, no event is sent. When such a hotunplug sucessfull notification is issued, the driver sets the attribute "wakeup_hotunplug_complete" to 1. While the firmware does tell us whether we are waking from a suspend or hibernation scenario, the Linux way of hibernating makes this information not reliable, and therefore it is not reported. The idea is that if any of these attributes are non-zero, userspace might want to do something at the end of the "wake up from sleep" procedures, such as offering to send the machine back into sleep as soon as it is safe to do so. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 3b64b51d20d9b633bb2efe63af785a49f8092898 Author: Henrique de Moraes Holschuh Date: Tue Jan 8 13:02:51 2008 -0200 ACPI: thinkpad-acpi: cleanup hotkey_notify and HKEY log messages Use a generic message on hotkey_notify to log unknown and unhandled events, and cleanup hotkey_notify a little. Also, document event 0x5010 (brightness changed notification) and do not log it as an unknown event (even if we do not use it for anything right now). Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 083f17606f624c79555e313d87cf37ac1486b073 Author: Henrique de Moraes Holschuh Date: Tue Jan 8 13:02:50 2008 -0200 ACPI: thinkpad-acpi: add suspend handler Add a handler for suspend events. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 35ff8b9fa90d97f3a19ea3e2311385927535ebc9 Author: Henrique de Moraes Holschuh Date: Tue Jan 8 13:02:49 2008 -0200 ACPI: thinkpad-acpi: some checkpatch.pl fluff Fix some of the crap reported by checkpatch.pl. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit e0c7dfe70170ccee2b538494f92e61de8edab990 Author: Henrique de Moraes Holschuh Date: Tue Jan 8 13:02:48 2008 -0200 ACPI: thinkpad-acpi: rename IBM in defines Rename defines with IBM in their name that are related to the older driver name (ibm-acpi) to TPACPI, unless they are specific to IBM ThinkPads. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit f68080f86d8b43bf3ff4c309f1bc9aa4d3fdf735 Author: Henrique de Moraes Holschuh Date: Tue Jan 8 13:02:47 2008 -0200 ACPI: thinkpad-acpi: module glue cleanups General cleanup of module glue: Do some code reordering, and add missing parameter help text. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 4b45cc076bc1964352f4a603a18c511ac182b98f Author: Henrique de Moraes Holschuh Date: Tue Jan 8 13:02:46 2008 -0200 ACPI: thinkpad-acpi: spring cleanup part 4 Remove dead code, and anything in the old changelog that is not a thank you credit, or a key point to track down history. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit b21a15f6d065e837076cf417720afe1c3d6ed10d Author: Henrique de Moraes Holschuh Date: Tue Jan 8 13:02:45 2008 -0200 ACPI: thinkpad-acpi: spring cleanup part 3 Reorder code in the file to get rid of more of the forward declarations, and to make things cleaner and more organized. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit f74a27d4bda42ee779940adaa34c5c196dda5d32 Author: Henrique de Moraes Holschuh Date: Tue Jan 8 13:02:44 2008 -0200 ACPI: thinkpad-acpi: spring cleanup part 2 Move most subdriver-related stuff imported from the header file closer to their subdriver code. Also, delete unneeded forward declarations. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 0c78039fcdb0806fafcc40400ace7fb7e81c65a5 Author: Henrique de Moraes Holschuh Date: Tue Jan 8 13:02:43 2008 -0200 ACPI: thinkpad-acpi: spring cleanup part 1 Remove the header file. Private header files used by a single .c file are in bad taste, and I know better now. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 50efd8310f4f532231b15c6bcb9007c99ac05466 Author: Henrique de Moraes Holschuh Date: Tue Jan 8 13:02:42 2008 -0200 ACPI: thinkpad-acpi: bump up version to 0.18 The NVRAM polling support for hot keys is reason enough to bump up the version string. Do it. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 01e88f25985d8ea5866c9a73d56b3a9a9145066f Author: Henrique de Moraes Holschuh Date: Tue Jan 8 13:02:41 2008 -0200 ACPI: thinkpad-acpi: add CMOS NVRAM polling for hot keys (v9) Older ThinkPad models do not export some of the hot keys over the event-based ACPI hot key interface. For these models, one has to poll the CMOS NVRAM to check the key state at a rate faster than the expected rate at which the user might repeatedly press the same hot key. This patch implements this functionality for many of the hotkeys in a transparent way: hot keys will now Just Work, and the driver knows the best approach (events or NVRAM polling) to employ, based on the HKEY.MHKA ACPI method. Also, the driver can turn off the polling when there are no users for the hot keys that need such polling. The NVRAM-based hot keys of the A3x series that have never been implemented by later models are not supported, to avoid changes in the keymap of the input devices that could cause headaches in the future. There is a Kconfig option to avoid compiling the NVRAM polling code, as it is not very small, and unlikely to be useful on any ThinkPad newer than a T40, X31 or R52. This feature is based on a previous effort by Richard Hughes. Signed-off-by: Henrique de Moraes Holschuh Cc: Richard Hughes Signed-off-by: Len Brown commit b7c8c200bfbf523ea0a72fd8a5e39089c74da371 Author: Henrique de Moraes Holschuh Date: Tue Jan 8 13:02:40 2008 -0200 ACPI: thinkpad-acpi: prepare for NVRAM polling support Make some small internal thinkpad-acpi changes to the hotkey subdriver code that will make it easier to add NVRAM polling support. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit b2c985e7eba858a1765db6d56bdd4df775f53633 Author: Henrique de Moraes Holschuh Date: Tue Jan 8 13:02:39 2008 -0200 ACPI: thinkpad-acpi: refactor hotkey_get and hotkey_set (v2) Refactor and organize the code a bit for the NVRAM polling support: 1. Split hotkey_get/set into hotkey_status_get/set and hotkey_mask_get/set; 2. Cache the status of hot key mask for later driver use; 3. Make sure the cache of hot key mask is refreshed when needed; 4. log a printk notice when the firmware doesn't set the hot key mask to exactly what we asked it to; 5. Add proper locking to the data structures. Only (4) should be user-noticeable, but there is a chance (5) fixes some unknown/unreported race conditions. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 0f089147e620e083f58a0e641f701bd4244b455b Author: Henrique de Moraes Holschuh Date: Tue Jan 8 13:02:38 2008 -0200 ACPI: thinkpad-acpi: document keymap gotcha's (v2) Publish the requirements for keymap changes. This is a documentation change, only. Currently, people look at the thinkpad-acpi default keymaps, and think: "modifying this is a trivial thing, it can't break systems, and there are keys defined for foo and bar, but the driver has them as KEY_RESERVED. Must have been an oversight, let me change it." And since they never get to see the bug reports, because they are not really a part of the Linux ThinkPad users community (linux-thinkpad mailinglist, thinkwiki wiki, thinkpad forums) and laptop users are slow to complain to distros about any breakages... Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit e91926e9ea9073d8ce95b74602e8c2d775f5a793 Author: Anton Vorontsov Date: Sun Jan 13 02:44:54 2008 +0300 apm_power: check I.intval for zero value, we use it as the divisor Signed-off-by: Anton Vorontsov commit ae4bb152901e406074ae2a205e1c42941a46bbaf Author: Anton Vorontsov Date: Sun Jan 13 02:44:54 2008 +0300 MAINTAINERS: remove kernel-discuss@handhelds.org list kernel-discuss at handhelds.org is down for months, and nobody knows why. So remove it for now. Signed-off-by: Anton Vorontsov commit c3caebad7427f62fe77621bae1bd1da0e56a130d Author: Anton Vorontsov Date: Sun Jan 13 02:44:20 2008 +0300 pda_power: implement polling Signed-off-by: Anton Vorontsov commit bfde2662ae8c7f0054990e59456718761a352651 Author: Anton Vorontsov Date: Sun Jan 13 02:39:17 2008 +0300 pda_power: various cleanups - handle spurious interrupts correctly; - get rid of pda_power_supplies array, use two variables instead; - factor out psy_changed() function, it will be used for polling. Signed-off-by: Anton Vorontsov commit dffd28a13a439e672c735d3fc87844d28cbacc65 Author: Dmitry Baryshkov Date: Sun Jan 13 02:39:16 2008 +0300 apm_power: support using VOLTAGE_* properties for apm calculations It's pretty dummy, but useful for batteries for which we can only get voltages. Signed-off-by: Dmitry Baryshkov Signed-off-by: Anton Vorontsov commit 8f8e9b387e07cbb96f10936cc455229d7aff4790 Author: Dmitry Baryshkov Date: Sun Jan 13 02:35:43 2008 +0300 pda_power: add suspend/resume support Add suspend/resume/wakeup support for pda_power. Signed-off-by: Dmitry Baryshkov Signed-off-by: Anton Vorontsov commit c7cc930f9a5c26385a08cd7dc28cb5e3ed186d72 Author: Dmitry Baryshkov Date: Mon Jan 7 04:12:41 2008 +0300 power_supply: add few more values and props Add LiMn (one of the most common for small non-rechargable batteries) battery technology and voltage_min/_max properties support. Signed-off-by: Dmitry Baryshkov Signed-off-by: Anton Vorontsov commit 9ef45106261e802f9d80bf0bc652124b42b1f344 Author: Dmitry Baryshkov Date: Mon Jan 7 04:12:39 2008 +0300 pda_power: only register available psu Currently pda-power adds both ac and usb power supply units. This patch fixes it so that psu are added only if they are enabled. Signed-off-by: Dmitry Baryshkov Signed-off-by: Anton Vorontsov commit 839dc9f105c0d856f9a0be48fb3bd0982ff5df5b Author: Andres Salomon Date: Wed Dec 12 14:12:59 2007 -0500 power: fix incorrect unregistration in power_supply_create_attrs error path In power_supply_create_attrs(), we create static attributes as referenced by power_supply_static_attrs[i]. After that, if we fail, we unregister via power_supply_static_attrs[psy->properties[i]]. This is incorrect, as psy->properties has absolutely no bearing on static attribs. This patch fixes it to unregister the correct attrib. Another line which was unnecessarily line wrapped is also unwrapped. Signed-off-by: Andres Salomon Signed-off-by: David Woodhouse commit 8efe444038a205e79b38b7ad03878824901849a8 Author: Andres Salomon Date: Wed Dec 12 14:12:56 2007 -0500 power: remove POWER_SUPPLY_PROP_CAPACITY_LEVEL The CAPACITY_LEVEL stuff defines various levels of charge; however, what is the difference between them? What differentiates between HIGH and NORMAL, LOW and CRITICAL, etc? As it appears that these are fairly arbitrary, we end up making such policy decisions in the kernel (or in hardware). This is the sort of decision that should be made in userspace, not in the kernel. If the hardware does not support _CAPACITY and it cannot be easily calculated, then perhaps the driver should register a custom CAPACITY_LEVEL attribute; however, userspace should not become accustomed to looking for such a thing, and we should certainly not encourage drivers to provide CAPACITY_LEVEL stubs. The following removes support for POWER_SUPPLY_PROP_CAPACITY_LEVEL. The OLPC battery driver is the only driver making use of this, so it's removed from there as well. Signed-off-by: Andres Salomon Signed-off-by: David Woodhouse commit 4d24473c435c7c3ad7b43e43b70cdb16aba25443 Author: Akinobu Mita Date: Sat Nov 17 19:55:58 2007 +0900 [BATTERY] power_supply_leds: use kasprintf Use kasprintf instead of kmalloc()-strcpy()-strcat(). Cc: Anton Vorontsov Cc: David Woodhouse Signed-off-by: Akinobu Mita Signed-off-by: Anton Vorontsov commit 25f12141e2be96e904239d963e25818b8854e72f Author: Adrian Bunk Date: Mon Nov 26 00:25:45 2007 +0300 [BATTERY] Every file should include the headers containing the prototypes for its global functions. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Anton Vorontsov commit a6eb84bc1e069e1d285167e09035ed6c27978feb Author: Rafael J. Wysocki Date: Fri Feb 1 15:28:16 2008 +0100 suspend: cleanup reference to swsusp_pg_dir[] swsusp_pg_dir[] is used for suspend, but not for hibernation. clean-up the ifdefs which worked by accident, while implying the opposite. Delete the __nosavedata, which also implied the opposite. Some day we may optimize CONFIG_ACPI_SLEEP to build minimal kernels for just hibernate or just suspend but not both, but today isn't that day. Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit ffffa4b502099a03b5215b814fdcd79fb4348854 Author: David Brownell Date: Fri Jan 11 01:26:57 2008 +0100 PM: Remove obsolete /sys/devices/.../power/state docs The /sys/devices/.../power/state files have been gone for a while now, but I just noticed some documentation that still refers to them. (Fortunately described as DEPRECATED and WILL REMOVE). Time to remove that obsolete documentation too ... Signed-off-by: David Brownell Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 5a0a2f304612bd63948177fef05987f4bcaddcaf Author: Rafael J. Wysocki Date: Fri Jan 11 01:25:21 2008 +0100 Hibernation: Invoke suspend notifications after console switch Following the recent change in the suspend code path, switch consoles before calling PM notifiers during hibernation. Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit af258f516b3e4e214121f5d6d53cab32ce0d8010 Author: Johannes Berg Date: Fri Jan 11 01:22:23 2008 +0100 Suspend: Invoke suspend notifications after console switch In order to fix APM emulation it is necessary to enable apm-emulation notifications for suspends triggered in various ways via the suspend notifiers. However, this will cause the systems using APM emulation to lock up between X being needed to switch away from the VT and X already waiting for resume in the APM ioctl. This patch moves the console switch (if enabled) before the suspend notification (and after the resume notification) to avoid this issue. Signed-off-by: Johannes Berg Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 17b7a89cfb6ea2ff103785f9b2580e5138b6cfd1 Author: Borislav Petkov Date: Mon Dec 17 00:30:22 2007 +0100 Suspend: Clean up suspend_64.c There's a freakishly long comment in suspend_64.c, shorten it. Signed-off-by: Borislav Petkov Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit b28f508112c584cdfbb4d8a9489cc4b79dac68ee Author: Johannes Berg Date: Tue Jan 15 23:17:00 2008 -0500 Suspend: Add config option to disable the freezer if architecture wants that This patch makes the freezer optional for suspend to allow the system to work (or not work) like the original PMU suspend. Signed-off-by: Johannes Berg Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit c9b6c8f68ee48e1e3dbb53e13316757e2c0b584d Author: Rafael J. Wysocki Date: Tue Jan 8 00:10:57 2008 +0100 ACPI: Print message before calling _PTS Make acpi_sleep_prepare() static and cause it to print a message specifying the ACPI system sleep state to be entered (helpful for debugging the suspend/hibernation code). Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Len Brown commit 7258ec5d11ead6db25575734f10f4586c0157463 Author: Rafael J. Wysocki Date: Tue Jan 8 00:09:58 2008 +0100 ACPI hibernation: Call _PTS before suspending devices The ACPI 1.0 specification wants us to put devices into low power states after executing the _PTS global control method, while ACPI 2.0 and later want us to do that in the reverse order. The current hibernation code follows ACPI 2.0 in that respect which may cause some ACPI 1.0x systems to hang during hibernation (ref. http://bugzilla.kernel.org/show_bug.cgi?id=9528). Make the hibernation code execute _PTS before putting devices into low power states (ie. in accordance with ACPI 1.0x) with the possibility to override that using the 'acpi_new_pts_ordering' kernel command line option. Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit caea99ef339af8e07cda8d03fa415e4b8820f400 Author: Rafael J. Wysocki Date: Tue Jan 8 00:08:44 2008 +0100 Hibernation: Introduce begin() and end() callbacks Introduce global hibernation callback .end() and rename global hibernation callback .start() to .begin(), in analogy with the recent modifications of the global suspend callbacks. Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 60417f5976df029227450b46d7fa6f0e9b1e654c Author: Rafael J. Wysocki Date: Tue Jan 8 00:07:39 2008 +0100 ACPI suspend: Call _PTS before suspending devices The ACPI 1.0 specification wants us to put devices into low power states after executing the _PTS global control method, while ACPI 2.0 and later want us to do that in the reverse order. The current suspend code follows ACPI 2.0 in that respect which causes some ACPI 1.0x systems to hang during suspend (ref. http://bugzilla.kernel.org/show_bug.cgi?id=9528). Make the suspend code execute _PTS before putting devices into low power states (ie. in accordance with ACPI 1.0x) and provide a command line option to override the default if need be. Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 3c1d2b6085d75df0691cec6a4a053c0aa55fe4c9 Author: Rafael J. Wysocki Date: Tue Jan 8 00:06:16 2008 +0100 ACPI: Separate disabling of GPEs from _PTS The preparation to enter an ACPI system sleep state is now tied to the disabling of GPEs, but the GPEs should not be disabled before suspending devices. Since on ACPI 1.0x systems the _PTS global control method should be executed before suspending devices, we need to disable GPEs separately. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Len Brown commit c95d47a868f35cd47643d116a3c680cdaa954df8 Author: Rafael J. Wysocki Date: Tue Jan 8 00:05:21 2008 +0100 ACPI: Separate invocations of _GTS and _BFS from _PTS and _WAK The execution of ACPI global control methods _GTS and _BFS is currently tied to the preparation to enter a sleep state and to the leaving of the sleep state, respectively. However, these functions are called before disabling the nonboot CPUs and after enabling them, respectively (in fact, on ACPI 1.0x systems the first of them ought to be called before suspending devices), while according to the ACPI specification, _GTS is to be executed right prior to entering the system sleep state and _BFS is to be executed right after the platfor firmware has returned control to the OS on wake up. Move the execution of _GTS and _BFS to the right places. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Len Brown commit c697eecebc6cfc0b393afea3c4ff1a5041526ad1 Author: Rafael J. Wysocki Date: Tue Jan 8 00:04:17 2008 +0100 Suspend: Introduce begin() and end() callbacks On ACPI systems the target state set by acpi_pm_set_target() is reset by acpi_pm_finish(), but that need not be called if the suspend fails.  All platforms that use the .set_target() global suspend callback are affected by analogous issues. For this reason, we need an additional global suspend callback that will reset the target state regardless of whether or not the suspend is successful.  Also, it is reasonable to rename the .set_target() callback, since it will be used for a different purpose on ACPI systems (due to ACPI 1.0x code ordering requirements). Introduce the global suspend callback .end() to be executed at the end of the suspend sequence and rename the .set_target() global suspend callback to .begin(). Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 7671b8ae5381a504d4c4ef8dd9c47128c2c3fd7e Author: Rafael J. Wysocki Date: Fri Dec 14 01:07:13 2007 +0100 suspend: fix ia64 allmodconfig build kernel/power/main.c:488: error: ‘pm_test_attr’ undeclared here (not in a function) Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit a3627f67b1d5ddd8f65eedc2a76da90fbe062530 Author: Shaohua Li Date: Wed Jun 20 09:17:58 2007 +0800 ACPI: clear GPE earily in resume to avoid warning Wakeup GPE hasn't a handler. If system is waked up by such GPE like a USB hotplug, I saw a lot of error reporting the GPE hasn't handler. acpi_leave_sleep_state will clear the GPE but it's too late, we should do it before interrupt is re-enabled. Signed-off-by: Shaohua Li Acked-by: Rafael J. Wysocki Signed-off-by: Len Brown commit f4cb57007662a4ec3c2de3c027900223e0299bdd Author: Johannes Berg Date: Sat Dec 8 02:14:00 2007 +0100 Suspend: Clean up Kconfig (V2) This cleans up the suspend Kconfig and removes the need to declare centrally which architectures support suspend. All architectures that currently support suspend are modified accordingly. Signed-off-by: Johannes Berg Acked-by: Russell King Acked-by: Paul Mackerras Acked-by: Ralf Baechle Acked-by: Paul Mundt Cc: Pavel Machek Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 801e4062fda6496fe9bee3e6915a2aa108f974e5 Author: Johannes Berg Date: Sat Dec 8 02:12:39 2007 +0100 Hibernation: Clean up Kconfig (V2) This cleans up the hibernation Kconfig and removes the need to declare centrally which architectures support hibernation. All architectures that currently support hibernation are modified accordingly. Signed-off-by: Johannes Berg Acked-by: Paul Mackerras Cc: Pavel Machek Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 23976728a48c3b76d34e17ead19addd52b3a280e Author: Rafael J. Wysocki Date: Sat Dec 8 02:09:43 2007 +0100 Hibernation: Update messages Make hibernation messages start with one common prefix "PM: " and use the word "hibernation" in the messages as a synonym of "suspend to disk". Turn some KERN_INFO messages into debug ones. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Len Brown commit 465d2b477f6a0ffe01242561a93e7bf81d67c776 Author: Rafael J. Wysocki Date: Sat Dec 8 02:08:38 2007 +0100 Suspend: Use common prefix in messages Make suspend messages start with one common prefix "PM: ". Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Len Brown commit b6887a29441ed5f0728b31ce90c0f0a0427317a3 Author: Rafael J. Wysocki Date: Sat Dec 8 02:07:40 2007 +0100 Hibernation: Remove unnecessary variable declaration Remove the unnecessary extern declaration of resume_file[] from kernel/power/swap.c . Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Len Brown commit 9575809c6fc15e7b6bb1932b6104c80a6d4ffdc9 Author: Rafael J. Wysocki Date: Sat Dec 8 02:06:57 2007 +0100 Hibernation: Fix comment in disk.c Fix a comment in kernel/power/disk.c so that it doesn't contain lines longer that 80 characters. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Len Brown commit 9628c0ee6a6d9ef06a77ea25932c00817f9e88a0 Author: Rafael J. Wysocki Date: Sat Dec 8 02:06:00 2007 +0100 Suspend: Fix comment in main.c Fix a comment in kernel/power/main.c so that it doesn't contain lines longer that 80 characters. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Len Brown commit 72df68ca8e006a0107933c4fb13c741a0a48163f Author: Rafael J. Wysocki Date: Sat Dec 8 02:04:21 2007 +0100 Hibernation: Move low level resume to disk.c Move the low level restore code to kernel/power/disk.c , since the corresponding low level hibernation code is already there. Make restore fail if device_power_down(PMSG_PRETHAW) returns an error. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Len Brown commit 2ed43b63285c394cb5e1829c199cc94c7b8233b9 Author: Rafael J. Wysocki Date: Sat Dec 8 02:03:26 2007 +0100 Suspend: Fix compilation warning for CONFIG_SUSPEND unset Suspend: Make debug facility depend on CONFIG_SUSPEND Make the new suspend debug facility code depend on CONFIG_SUSPEND, as appropriate, to remove the compiler warning printed when CONFIG_PM is set and CONFIG_SUSPEND is not set. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Len Brown commit 825257569350e913bee3bc918508c0aa6e3398cd Author: Alan Stern Date: Mon Nov 19 23:49:18 2007 +0100 PM: Convert PM notifiers to out-of-line code This patch (as1008b) converts the PM notifier routines from inline calls to out-of-line code. It also prevents pm_chain_head from being created when CONFIG_PM_SLEEP isn't enabled, and EXPORTs the notifier registration and unregistration routines. Signed-off-by: Alan Stern Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 90dda1cb6ace6abd777f84bf051c4f86fa58986a Author: Johannes Berg Date: Mon Nov 19 23:46:16 2007 +0100 PM: Make PM_TRACE more architecture independent When trying to debug a suspend failure I started implementing PM_TRACE for powerpc. I then noticed that I'm debugging a suspend failure and so PM_TRACE isn't useful at all, but thought that nonetheless this could be useful in the future. Basically, to support PM_TRACE, you add a Kconfig option that selects PM_TRACE and provides the infrastructure as per the help text of PM_TRACE. Signed-off-by: Johannes Berg Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit ce2b7147bb83b7d729b17c1638f092a1bcba4981 Author: Rafael J. Wysocki Date: Mon Nov 19 23:43:34 2007 +0100 PM: Suspend/hibernation debug documentation update (rev. 2) Update the suspend/hibernation debugging and testing documentation to describe the newly introduced testing facilities. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Len Brown commit 4cc79776c9ea431790e04fcacbebb30d28eb1570 Author: Rafael J. Wysocki Date: Mon Nov 19 23:42:31 2007 +0100 Hibernation: New testing facility (rev. 2) Make it possible to test the hibernation core code with the help of the /sys/power/pm_test attribute introduced for suspend testing in the previous patch. Writing an appropriate string to this file causes the hibernation code to work in one of the test modes defined as follows: freezer - test the freezing of processes devices - test the freezing of processes and suspending of devices platform - test the freezing of processes, suspending of devices and platform global   control methods(*) processors - test the freezing of processes, suspending of devices, platform global   control methods(*) and the disabling of nonboot CPUs core - test the freezing of processes, suspending of devices, platform global   control methods(*), the disabling of nonboot CPUs and suspending of   platform/system devices (*) - the platform global control methods are only available on ACPI systems       and are only tested if the hibernation mode is set to "platform" Then, if a hibernation is started by normal means, the hibernation core will perform its normal operations up to the point indicated by given test level. Next, it will wait for 5 seconds and carry out the resume operations needed to transition the system back to the fully functional state. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Len Brown commit 039a75c6e17ba4ff76998d6ac6ee3d508fff1930 Author: Rafael J. Wysocki Date: Tue Jan 29 00:29:06 2008 +0100 suspend: build fix responding to 2.6.25 kset change Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 0e7d56e3d9d7e37c79d0e05ffb3994e34beb3bbc Author: Rafael J. Wysocki Date: Mon Nov 19 23:41:19 2007 +0100 Suspend: Testing facility (rev. 2) Introduce sysfs attribute /sys/power/pm_test allowing one to test the suspend core code.  Namely, writing one of the strings: freezer devices platform processors core to this file causes the suspend code to work in one of the test modes defined as follows: freezer - test the freezing of processes devices - test the freezing of processes and suspending of devices platform - test the freezing of processes, suspending of devices and platform global   control methods(*) processors - test the freezing of processes, suspending of devices, platform global   control methods and the disabling of nonboot CPUs core - test the freezing of processes, suspending of devices, platform global   control methods, the disabling of nonboot CPUs and suspending of   platform/system devices (*) These are ACPI global control methods on ACPI systems Then, if a suspend is started by normal means, the suspend core will perform its normal operations up to the point indicated by given test level.  Next, it will wait for 5 seconds and carry out the resume operations needed to transition the system back to the fully functional state. Writing "none" to /sys/power/pm_test turns the testing off. When open for reading, /sys/power/pm_test contains a space-separated list of all available tests (including "none" that represents the normal functionality) in which the current test level is indicated by square brackets. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Len Brown commit c3e94d899c864e558f938f9845ddb8c2e5d5ccd0 Author: Alan Stern Date: Mon Nov 19 23:38:25 2007 +0100 Hibernation: Add PM_RESTORE_PREPARE and PM_POST_RESTORE notifiers (rev. 2) Add PM_RESTORE_PREPARE and PM_POST_RESTORE notifiers to the PM core, to be used in analogy with the existing PM_HIBERNATION_PREPARE and PM_POST_HIBERNATION notifiers. Signed-off-by: Alan Stern Acked-by: Pavel Machek Signed-off-by: "Rafael J. Wysocki" Signed-off-by: Len Brown commit 2f8ed1c60b06b797bf79a1dc540f0bed8c9d75a0 Author: Adrian Bunk Date: Mon Nov 19 23:36:20 2007 +0100 Hibernation: Move function prototypes to header This patch moves the prototypes of count_highmem_pages() and restore_highmem() to kernel/power/power.h Signed-off-by: Adrian Bunk Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 964756a52f4cf0417d515b7f01eec69db8cb0fe2 Author: Rafael J. Wysocki Date: Mon Nov 19 23:33:59 2007 +0100 ACPI: Fix mismerge in acpi_hibernation_finish Some code in acpi_hibernation_finish() was moved to acpi_hibernation_leave(), but the old copy had been left (it's harmless, but also useless). Remove it. Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 3010f8caa48ed38679cc32b0d8e84b82cb8d9980 Author: Rafael J. Wysocki Date: Fri Oct 26 01:05:05 2007 +0200 Hibernation: Introduce exportable suspend ioctls header (rev. 2) Move the definitions of hibernation ioctls to a separate header file in include/linux, which can be exported to the user space. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Len Brown commit cc5d207c85b9a6fafebe2856ead0a9360978c8cd Author: Rafael J. Wysocki Date: Fri Oct 26 01:03:33 2007 +0200 Hibernation: Correct definitions of some ioctls (rev. 2) Three ioctl numbers belonging to the hibernation userland interface, SNAPSHOT_ATOMIC_SNAPSHOT, SNAPSHOT_AVAIL_SWAP, SNAPSHOT_GET_SWAP_PAGE, are defined in a wrong way (eg. not portable). Provide new ioctl numbers for these ioctls and mark the existing ones as deprecated. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Len Brown commit 96f737490cfc368fdafe49769f52fc8460f9349f Author: Rafael J. Wysocki Date: Fri Oct 26 01:02:15 2007 +0200 Hibernation: Mark SNAPSHOT_SET_SWAP_FILE ioctl as deprecated (rev. 2) Mark the SNAPSHOT_SET_SWAP_FILE ioctl belonging to the hibernation userland interface as deprecated. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Len Brown commit eb57c1cf059630454b40fb8bb124e3f318d241f8 Author: Rafael J. Wysocki Date: Fri Oct 26 01:01:10 2007 +0200 Hibernation: Rework platform support ioctls (rev. 2) Modify the hibernation userland interface by adding two new ioctls to it, SNAPSHOT_PLATFORM_SUPPORT and SNAPSHOT_POWER_OFF, that can be used, respectively, to switch the hibernation platform support on/off and to make the kernel transition the system to the hibernation state (eg. ACPI S4) using the platform (eg. ACPI) driver. These ioctls are intended to replace the misdesigned SNAPSHOT_PMOPS ioctl, which from now is regarded as obsolete and will be removed in the future. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Len Brown commit af508b34d27e3341287d89e0eae6752fdb1b873f Author: Rafael J. Wysocki Date: Fri Oct 26 00:59:31 2007 +0200 Hibernation: Introduce SNAPSHOT_GET_IMAGE_SIZE ioctl Add a new ioctl, SNAPSHOT_GET_IMAGE_SIZE, returning the size of the (just created) hibernation image, to the hibernation userland interface. This ioctl is necessary so that the userland utilities using the interface need not access the hibernation image header, owned by the kernel, in order to obtain the size of the image. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Len Brown commit fd7d1ced29e5beb88c9068801da7a362606d8273 Author: Greg Kroah-Hartman Date: Tue May 22 22:47:54 2007 -0400 PCI: make pci_bus a struct device This moves the pci_bus class device to be a real struct device and at the same time, place it in the device tree in the correct location. Note, the old "bridge" symlink is now gone, but this was a non-standard link and no userspace program used it. If you need to determine the device that the bus is on, follow the standard device symlink, or walk up the device tree. Signed-off-by: Greg Kroah-Hartman commit 05cca6e52a5a75ffd491fb50a9f636075b2d77ba Author: Greg Kroah-Hartman Date: Wed Jan 30 15:21:33 2008 -0800 PCI: fix codingstyle issues in include/linux/pci.h Fixes a number of coding style issues in pci.h. It's a tad more readable now... Signed-off-by: Greg Kroah-Hartman commit 367b09fec4e01571a3aab996be086072cf5517eb Author: Greg Kroah-Hartman Date: Wed Jan 30 15:21:33 2008 -0800 PCI: fix codingstyle issues in drivers/pci/pci.h Fixes a few coding style issues in the internal pci.h file Signed-off-by: Greg Kroah-Hartman commit 6c723d5bd89f03fc3ef627d50f89ade054d2ee3b Author: Shaohua Li Date: Thu Jan 24 10:21:57 2008 +0800 PCI: PCIE ASPM support PCI Express ASPM defines a protocol for PCI Express components in the D0 state to reduce Link power by placing their Links into a low power state and instructing the other end of the Link to do likewise. This capability allows hardware-autonomous, dynamic Link power reduction beyond what is achievable by software-only controlled power management. However, The device should be configured by software appropriately. Enabling ASPM will save power, but will introduce device latency. This patch adds ASPM support in Linux. It introduces a global policy for ASPM, a sysfs file /sys/module/pcie_aspm/parameters/policy can control it. The interface can be used as a boot option too. Currently we have below setting: -default, BIOS default setting -powersave, highest power saving mode, enable all available ASPM state and clock power management -performance, highest performance, disable ASPM and clock power management By default, the 'default' policy is used currently. In my test, power difference between powersave mode and performance mode is about 1.3w in a system with 3 PCIE links. Signed-off-by: Shaohua Li Signed-off-by: Greg Kroah-Hartman commit 5c796ae7a7ebe56967ed9b9963d7c16d733635ff Author: Ian Abbott Date: Fri Jan 25 16:23:56 2008 +0000 PCI: Fix fakephp deadlock If the fakephp driver is used to emulate removal of a PCI device by writing text string "0" to the "power" sysfs attribute file, this causes its parent directory and its contents (including the "power" file) to be deleted before the write operation returns. Unfortunately, it ends up in a deadlock waiting for itself to complete. The deadlock is as follows: sysfs_write_file calls flush_write_buffer which calls sysfs_get_active_two before calling power_write_file in pci_hotplug_core.c via the sysfs store operation. The power_write_file function calls disable_slot in fakephp.c via the slot operation. The disable_slot function calls remove_slot which calls pci_hp_deregister (back in pci_hotplug_core.c) which calls fs_remove_slot which calls sysfs_remove_file to remove the "power" file. The sysfs_remove_file function calls sysfs_hash_and_remove which calls sysfs_addrm_finish which calls sysfs_deactivate. The sysfs_deactivate function sees that something has an active reference on the sysfs_dirent (from the previous call to sysfs_get_active_two back up the call stack somewhere) so waits for the active reference to go away, which is of course impossible. The problem has been present since 2.6.21. This patch breaks the deadlock by queuing work queue items on a single- threaded work queue to remove a slot from sysfs, and to rescan the PCI buses. There is also some protection against disabling a slot that is already being removed. Signed-off-by: Ian Abbott Cc: Kristen Accardi Signed-off-by: Greg Kroah-Hartman commit 4600c9d74e23b5696acf66a36ce5f2cfbcdecc6c Author: Shane Huang Date: Fri Jan 25 15:46:24 2008 +0900 PCI: modify SB700 SATA MSI quirk SB700 SATA MSI bug will be fixed in SB700 revision A21 at hardware level, but the SB700 revision older than A21 will also be found in the market. This patch modify the original quirk commit bc38b411fe696fad32b261f492cb4afbf1835256 instead of withdrawing it. The patch also removes quirk to 0x4395 because 0x4395 is SB800 device ID. Signed-off-by: Shane Huang Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 3c75e23784e6ed5f4841de43d0750fd9b37bafcb Author: Andrew Patterson Date: Tue Jan 22 17:18:27 2008 -0700 PCI: Run ACPI _OSC method on root bridges only According to the PCI Firmware Specification Revision 3.0 section 4.5, _OSC should only be called on a root brdige. Here is the relevant passage: "The _OSC interface defined in this section applies only to Host Bridge ACPI devices that originate PCI, PCI-X, or PCI Express hierarchies". Changed the code to find the parent root bridge of the device and call _OSC on that. Signed-off-by: Andrew Patterson Signed-off-by: Greg Kroah-Hartman commit d8634ddd371515740110d5658c3465a373894243 Author: Andrew Patterson Date: Tue Jan 22 17:18:17 2008 -0700 PCI ACPI: AER driver should only register PCIe devices with _OSC AER is only used with PCIe devices so we should only check PCIe devices for _OSC support. Signed-off-by: Andrew Patterson Signed-off-by: Greg Kroah-Hartman commit c2778357234f84668eab5558b54ad28478439d0b Author: Andrew Patterson Date: Tue Jan 22 17:18:12 2008 -0700 PCI ACPI: Added a function to register _OSC with only PCIe devices. The function pci_osc_support_set() traverses every root bridge when checking for _OSC support for a capability. It quits as soon as it finds a device/bridge that doesn't support the requested capability. This won't work for systems that have mixed PCI and PCIe bridges when checking for PCIe features. I split this function into two -- pci_osc_support_set() and pcie_osc_support_set(). The latter is used when only PCIe devices should be traversed. Signed-off-by: Andrew Patterson Signed-off-by: Greg Kroah-Hartman commit 02d90fc343411d6dff26bbd64f0895a243e6f608 Author: Jan Engelhardt Date: Tue Jan 22 20:53:43 2008 +0100 PCI: constify function pointer tables Signed-off-by: Jan Engelhardt Signed-off-by: Greg Kroah-Hartman commit add771840be591fd926a5ca27c22e622c13d1294 Author: Mathieu Segaud Date: Thu Jan 10 14:27:12 2008 +0100 PCI: Convert drivers/pci/proc.c to use unlocked_ioctl Change access to inode thru file->f_dentry->d_inode, and add explicit lock/unlock_kernel() calls. Signed-off-by: Mathieu Segaud Signed-off-by: Greg Kroah-Hartman commit 2326e2b99969e69fedc92de80d80b2d2f92fd942 Author: Kenji Kaneshige Date: Thu Dec 20 19:46:33 2007 +0900 pciehp: block new requests from the device before power off Disable Bus Master, SERR# and INTx to ensure that no new Requests will be generated from the device before turning power off, in accordance with the specification. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit f1050a35cd99d6cfded7ce1273757dca84e92f9b Author: Kenji Kaneshige Date: Thu Dec 20 19:45:09 2007 +0900 pciehp: workaround against Bad DLLP during power off Set Bad DLLP Mask bit in Correctable Error Mask Register during turning power off the slot. This is the workaround against Bad DLLP error that sometimes happen during turning power off on the slot which conforms to PCI Express 1.0a spec. The cause of this error seems that PCI Express 1.0a spec doesn't have the following consideration that was added to PCI Express 1.1 spec. "If the port is associated with a hot-pluggable slot (Hot-Plug Capable bit in the Slot Capabilities register set to 1b), and Power Controller Control bit in Slot Control register is 1b(Off), then any transition to DL Inactive must not be considered an error." Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 8bb7c7af1ff2a9e9e0936dbdd15901c80329c7af Author: Kenji Kaneshige Date: Thu Dec 20 19:43:56 2007 +0900 pciehp: wait for 1000ms before LED operation after power off After turning power off, we must wait for at least 1 second *before* LED operation. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit d48b5d3a50c06357c721e81fa9354598282b6549 Author: Grant Grundler Date: Mon Dec 24 00:08:51 2007 -0700 PCI: Remove pci_enable_device_bars() from documentation Patch below removes pci_enable_device_bars() from Documentation/pci.txt . Signed-off-by: Grant Grundler Acked-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 7cbe5b6005f80de33a205d3052cdc89aacaac07c Author: Benjamin Herrenschmidt Date: Thu Dec 20 15:28:10 2007 +1100 PCI: Remove pci_enable_device_bars() Now that all in-tree users are gone, this removes pci_enable_device_bars() completely. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Greg Kroah-Hartman commit 0948391641918b95d8d96c15089eb5ac156850b3 Author: Benjamin Herrenschmidt Date: Thu Dec 20 15:28:09 2007 +1100 PCI: Remove users of pci_enable_device_bars() This patch converts users of pci_enable_device_bars() to the new pci_enable_device_{io,mem} interface. The new API fits nicely, except maybe for the QLA case where a bit of code re-organization might be a good idea but I prefer sticking to the simple patch as I don't have hardware to test on. I'll also need some feedback on the cs5520 change. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Greg Kroah-Hartman commit b718989da7cf1f77ed5665dba0d2c73bd9dfe2d7 Author: Benjamin Herrenschmidt Date: Thu Dec 20 15:28:08 2007 +1100 PCI: Add pci_enable_device_{io,mem} intefaces The pci_enable_device_bars() interface isn't well suited to PCI because you can't actually enable/disable BARs individually on a device. So for example, if a device has 2 memory BARs 0 and 1, and one of them (let's say 1) has not been successfully allocated by the firmware or the kernel, then enabling memory decoding shouldn't be permitted for the entire device since it will decode whatever random address is still in that BAR 1. So a device must be either fully enabled for IO, for Memory, or for both. Not on a per-BAR basis. This provides two new functions, pci_enable_device_io() and pci_enable_device_mem() to replace pci_enable_device_bars(). The implementation internally builds a BAR mask in order to be able to use existing arch infrastructure. Signed-off-by: Benjamin Herrenschmidt Acked-by: Ivan Kokshaysky Signed-off-by: Greg Kroah-Hartman commit 017fc480cc8cc0594dc250951d78e814667ae4c2 Author: Shaohua Li Date: Tue Dec 18 09:57:09 2007 +0800 PCI: avoid save the same type of cap multiple times Avoid adding the same type of cap multiple times, otherwise we will see dead loop. Signed-off-by: Shaohua Li Signed-off-by: Greg Kroah-Hartman commit ec0a3a27fbb5792980b8c3ce4a93bc2ee93d0b35 Author: Shaohua Li Date: Tue Dec 18 09:56:56 2007 +0800 PCI: correctly initialize a structure for pcie_save_pcix_state() save_state->cap_nr should be correctly set, otherwise we can't find the saved cap at resume. Signed-off-by: Shaohua Li Signed-off-by: Greg Kroah-Hartman commit f34303de9e0263b389a215483adddc7d918cf8c8 Author: Shaohua Li Date: Tue Dec 18 09:56:47 2007 +0800 PCI: fix typo in pci_save_pcix_state pci_save/store_state has multiple bugs, which will cause cap can't be saved/restored correctly. Below 3 patches fix them. fix the typo in pci_save_pcix_state Signed-off-by: Shaohua Li Signed-off-by: Greg Kroah-Hartman commit 9ed885541bc57a0810798ec1607a23a24a0e1b93 Author: bjorn.helgaas@hp.com Date: Mon Dec 17 14:09:40 2007 -0700 PCI: use dev_printk in x86 quirk messages Convert quirk printks to dev_printk(). Signed-off-by: Bjorn Helgaas Signed-off-by: Greg Kroah-Hartman commit f0fda801daaa95ad5ccf59e92e0688c34b37c627 Author: bjorn.helgaas@hp.com Date: Mon Dec 17 14:09:39 2007 -0700 PCI: use dev_printk in quirk messages Convert quirk printks to dev_printk(). I made the MSI disable messages a little more consistent: - always use "disabled", not "deactivated" - specify "device MSI disabled" or "subordinate MSI disabled" when disabling MSI for only a specific device or subordinate bus Signed-off-by: Bjorn Helgaas Signed-off-by: Greg Kroah-Hartman commit 9f23ed3b947746a7a270e955e7d2a8f9df347ce3 Author: bjorn.helgaas@hp.com Date: Mon Dec 17 14:09:38 2007 -0700 PCI: print quirk name in debug messages Instead of printing this: PCI: Calling quirk c023b250 for 0000:00:00.0 we can print this: pci 0000:00:00.0: calling quirk 0xc023b270: quirk_cardbus_legacy+0x0/0x30() The address is superfluous because sprint_symbol() includes the address if the symbol lookup fails, but this is the same style used in do_initcalls() and pnp_fixup_device(). Signed-off-by: Bjorn Helgaas Signed-off-by: Greg Kroah-Hartman commit e64aeccbeca1f7e22174ca3a12ec35a8f5566515 Author: Ivan Kokshaysky Date: Tue Dec 18 00:39:27 2007 +0300 PCI: fix for quirk_e100_interrupt() Check that the e100 is in the D0 power state. If it's not, it won't respond to MMIO accesses and we end up with master-abort machine checks on some platforms. Signed-off-by: Ivan Kokshaysky Cc: Auke Kok Signed-off-by: Greg Kroah-Hartman commit 3609801ecc63e7def325752a19065980410d37ad Author: Joe Perches Date: Mon Dec 17 11:40:11 2007 -0800 PCI: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Greg Kroah-Hartman commit 8f0e7d240554f71577e380783feeb264a90944c9 Author: Adrian Bunk Date: Thu Dec 13 19:45:17 2007 +0100 PCI: Kconfig help: don't refer to the PCI-HOWTO A HOWTO that hasn't been updated for half a dozen years no longer "contains valuable information about which PCI hardware does work under Linux and which doesn't". Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 6a9e7f203187e22e96588fa0156b2652841196bf Author: Adrian Bunk Date: Tue Dec 11 23:19:41 2007 +0100 PCI: drivers/pci/msi.c: move arch hooks to the top This patch fixes the following problem present with older gcc versions: <-- snip --> ... CC drivers/pci/msi.o /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/pci/msi.c:692: warning: weak declaration of `arch_msi_check_device' after first use results in unspecified behavior /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/pci/msi.c:704: warning: weak declaration of `arch_setup_msi_irqs' after first use results in unspecified behavior /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/pci/msi.c:724: warning: weak declaration of `arch_teardown_msi_irqs' after first use results in unspecified behavior ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 6bae1d96c6d7dde078994f6cb98235fd46f8736b Author: Sebastien Dugue Date: Thu Dec 13 16:09:25 2007 -0800 PCI: quirk: enable MSI Mapping on HT1000 Add a quirk to enable the MSI mapping capability on HyperTransport bridges. Wire Broadcom's HT1000 to use the quirk. Signed-off-by: Sebastien Dugue Acked-by: "Eric W. Biederman" Cc: Andy Currid Cc: Peer Chen Cc: Prakash Punnoor Cc: Andrew Morton Acked-by: Michael Chan Cc: Greg KH Cc: Andy Currid Cc: Peer Chen Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 6015fbefc4dfe1706b64d33c256878b8296d1470 Author: Benjamin Herrenschmidt Date: Mon Dec 10 17:32:16 2007 +1100 PCI: Fix warning in setup-res.c on 32-bit platforms with 64-bit resources This adds appropriate casts to avoid a warning and print the correct values in pr_debug. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Greg Kroah-Hartman commit c40a22e0ce5eb400f27449e59e43d021bee58b8d Author: Benjamin Herrenschmidt Date: Mon Dec 10 17:32:15 2007 +1100 PCI: Fix bus resource assignment on 32 bits with 64b resources The current pci_assign_unassigned_resources() code doesn't work properly on 32 bits platforms with 64 bits resources. The main reason is the use of unsigned long in various places instead of resource_size_t. This is a pre-requisite for making powerpc use the generic code instead of its own half-useful implementation. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Greg Kroah-Hartman commit f07234b66af1d1a204b9ddabdbdb312e8f1fb35e Author: Rolf Eike Beer Date: Tue Nov 6 13:20:17 2007 +0100 PCI Hotplug: PCIeHP: Fix some whitespace damage PCIeHP: Fix some whitespace damage Signed-off-by: Rolf Eike Beer Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 9515930ea2a9a51382a9668569ce008bb46a09bb Author: Kenji Kaneshige Date: Fri Nov 9 17:28:11 2007 +0900 PCI Hotplug: pciehp: use generic function to find ext capability Remove duplicated code to find an extend capability in PCIEHP driver. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 941f10e941ec31beeec4af3ad38644da581010c4 Author: Kenji Kaneshige Date: Fri Nov 9 17:29:42 2007 +0900 PCI Hotplug: pciehp: remove needless hp_slot calculation Remove needless hp_slot calculation. This has no functional changes. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 0837974ddbdef14d268b3ffe032158f6490cbe64 Author: Kenji Kaneshige Date: Fri Nov 9 17:30:29 2007 +0900 PCI Hotplug: pciehp: remove needless members from struct controller Remove needless members from struct controller. This has no functional changes. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 25d6ddcd785b0d705172118cc99a864c456ca219 Author: MUNEDA Takahiro Date: Fri Nov 9 19:06:20 2007 +0900 PCI Hotplug: acpiphp: remove unneeded acpi_get_name function call acpi_get_name() is called before and after dbg(). The latter is useless and should be removed. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 5a340ed87987c8c61dd9d1a8a5384dab1ace2566 Author: MUNEDA Takahiro Date: Fri Nov 9 19:07:02 2007 +0900 PCI Hotplug: acpiphp: fix trivial typos fix trivial typos. Signed-off-by: MUNEDA Takahiro Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit ecdde93962eacd9c417977a4eabd318dbb612c11 Author: Mark Lord Date: Wed Nov 21 15:07:55 2007 -0800 PCIe: fix double initialization bug Earlier patches to split out the hardware init for PCIe hotplug resulted in some one-time initializations being redone on every resume cycle. Eg. irq/polling initialization. This patch splits the hardware init into two parts, and separates the one-time initializations from those so that they only ever get done once, as intended. Signed-off-by: Mark Lord Signed-off-by: Andrew Morton Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit cd2fe83a81510acfd1ae29b8ffe04f7ef675c993 Author: Mark Lord Date: Wed Nov 28 15:12:00 2007 -0800 PCIE: Make use of the previously split out pcie_init_enable_events() function Make use of the previously split out pcie_init_enable_events() function to reinitialize the hotplug hardware on resume from suspend, but only when pciehp_force==1. Otherwise behaviour is unmodified. Signed-off-by: Mark Lord Signed-off-by: Kristen Carlson Accardi Cc: Andrew Morton Cc: Theodore Ts'o Signed-off-by: Greg Kroah-Hartman commit 08e7a7d27d71e92305980033ec03c0a86b3efb2d Author: Mark Lord Date: Wed Nov 28 15:11:46 2007 -0800 PCI: more fixes for PCIe Hotplug so that it works with ExpressCard slots on Dell notebooks (and others?) in conjunction with modparam of pciehp_force=1 Split out the hotplug hardware initialization code from pcie_init() into pcie_init_enable_events(), without changing any functionality. Signed-off-by: Mark Lord Signed-off-by: Kristen Carlson Accardi Cc: Andrew Morton Cc: Theodore Ts'o Signed-off-by: Greg Kroah-Hartman commit 0a3c33d77ff7ad5b988997536a8f09c49e35ad20 Author: Mark Lord Date: Wed Nov 28 15:11:28 2007 -0800 PCIE: fix PCIe Hotplug so that it works with ExpressCard slots on Dell notebooks (and others?) in conjunction with modparam of pciehp_force=1. Fix pciehp_probe() to deal with ExpressCard cards that were inserted prior to the driver being loaded. Signed-off-by: Mark Lord Signed-off-by: Kristen Carlson Accardi Cc: Andrew Morton Cc: Theodore Ts'o Signed-off-by: Greg Kroah-Hartman commit a6f29a98af278a8d784a870ae9f08e530de73ffe Author: Joe Perches Date: Mon Nov 19 17:48:29 2007 -0800 PCI: Add missing "space" in printk messages Signed-off-by: Joe Perches Cc: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 94688cf2454986309fbcd495233ba2423786a14a Author: Linas Vepstas Date: Wed Nov 7 15:43:59 2007 -0600 PCI: export pci_restore_msi_state() PCI error recovery usually involves the PCI adapter being reset. If the device is using MSI, the reset will cause the MSI state to be lost; the device driver needs to restore the MSI state. The pci_restore_msi_state() routine is currently protected by CONFIG_PM; remove this, and also export the symbol, so that it can be used in a modle. Signed-off-by: Linas Vepstas Signed-off-by: Greg Kroah-Hartman commit 1b7c9fcaa147662628078c83ecaf1ef2c5c9c9d0 Author: Linas Vepstas Date: Sun Nov 25 23:51:37 2007 -0800 pci hotplug: fix rpaphp directory naming Fix presentation of the slot number in the /sys/bus/pci/slots directory to match that used in the majority of other drivers. > Greg said: > How is anyone supposed to write sane managability tools in the > presence > of such anarchy? > > > ~ # cat /sys/bus/pci/slots/0000:00:02.2/phy_location > > U787A.001.DNZ00Z5-P1-C2 > > Right. This should look like: > > # cat /sys/bus/pci/slots/U787A.001.DNZ00Z5-P1-C2/address > 0000:00:02 This patch implements exactly what you describe. Boot tested. I assume you really mean it -- if so, then please review and ack the patch !? I have absolutely no clue if this breaks any existing IBM tools. I'm pretty sure it doesn't ... but attention Mike Strosaker! does it? Signed-off-by: Linas Vepstas Cc: Kristen Carlson Accardi Cc: Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 677cc6443b28508bb1a34d4d0d6a9b9a20179369 Author: Jean Delvare Date: Wed Nov 21 18:29:06 2007 +0100 PCI: Unhide the SMBus on the HP xw4100 Unhide the SMBus on the HP xw4100. This gives access to a hardware monitoring chip (ADT7463) and to the memory module SPD EEPROMs. I checked that ACPI wasn't accessing the SMBus, so it should be safe. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit 093f87d279669c74e84530e925e4735c9aae8898 Author: Fenghua Yu Date: Wed Nov 21 15:07:14 2007 -0800 PCI: More Sanity checks for DMAR Add and changes a few sanity checks in dmar.c. 1. The haw field in ACPI DMAR table in VT-d spec doesn't describe the range of haw. But since DMA page size is 4KB in DMA remapping, haw should be at least 4KB. The current VT-d code in dmar.c returns failure when haw==0. This sanity check is not accurate and execution can pass when haw is less than one page size 4KB. This patch changes the haw sanity check to validate if haw is less than 4KB. 2. Add dmar_rmrr_units verification. 3. Add parse_dmar_table() verification. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Fenghua Yu Acked-by: mark gross Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 652c538eb5bc3fa04bc5f27db9014f0168aefe97 Author: Andrew Morton Date: Wed Nov 21 15:07:13 2007 -0800 PCI: drivers/pci/quirks.c: coding-style cleanup Remove lots of space-before-) instances. Perhaps these were a workaround for problems in some long-dead cpp version. Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 943e6c0d5cb88453210747d9042d4a8f92ee2974 Author: Adrian Bunk Date: Wed Nov 21 15:07:12 2007 -0800 PCI: remove additional pci_scan_child_bus() prototype There's already a prototype for pci_scan_child_bus() at the correct place in pci.h, so there's no reason for an additional one. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit b73e96878d5d57605aeea89068c8dacd568f5e7e Author: Adrian Bunk Date: Wed Nov 21 15:07:11 2007 -0800 PCI: always export pci_scan_single_device This patch fixes the following build error with CONFIG_HOTPLUG=n: MODPOST 2137 modules ERROR: "pci_scan_single_device" [drivers/edac/i82875p_edac.ko] undefined! Signed-off-by: Adrian Bunk Acked-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 0741a951e8489ef2889d9e3eecf33bb29b779dd0 Author: Diego Woitasen Date: Wed Nov 21 15:07:08 2007 -0800 PCI: remove unneeded lock_kernel() in drivers/pci/syscall.c. sys_pciconfig_{read,write}() are protected against PCI removal with the reference count in struct pci_dev. The concurrency of pci_user_{read,write}_config_* functions are already protected by pci_lock in drivers/pci/access.c. Signed-off-by: Diego Woitasen Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 10d7425d201e866ee0c57424860e06118dae2500 Author: Lennert Buytenhek Date: Wed Nov 21 15:07:07 2007 -0800 PCI: get rid of pci_dev::{vendor,device}_compatible fields The vendor_compatible and device_compatible fields in struct pci_dev aren't used anywhere, and are somewhat pointless. Assuming that these are historical artifacts, remove them. Signed-off-by: Lennert Buytenhek Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 74e27e44b0407fb1f6e8d1f7b7818f108463c4b8 Author: Lee Schermerhorn Date: Wed Nov 21 15:07:05 2007 -0800 PCI: Mem Policy: fix mempolicy usage in pci driver In an attempt to ensure memory allocation from the local node, the pci driver temporarily replaces the current task's memory policy with the system default policy. Trying to be a good citizen, the driver then call's mpol_get() on the new policy. When it's finished probing, it undoes the '_get by calling mpol_free() [on the system default policy] and then restores the current task's saved mempolicy. A couple of issues here: 1) it's never necessary to set a task's mempolicy to the system default policy in order to get system default allocation behavior. Simply set the current task's mempolicy to NULL and allocations will fall back to system default policy. 2) we should never [need to] call mpol_free() on the system default policy. [I plan on trapping this with a VM_BUG_ON() in a subsequent patch.] This patch removes the calls to mpol_get() and mpol_free() and uses NULL for the temporary task mempolicy to effect default allocation behavior. Signed-off-by: Lee Schermerhorn Acked-by: Christoph Lameter Acked-by: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 53a9bf4267b8b1f958dbeb7c8c1ef21c82229b71 Author: Tim Yamin Date: Thu Nov 1 23:14:54 2007 +0000 PCI: VIA CX700 quirk to disable PCI Bus Parking PCI Bus Parking and PCI Master read caching on the VIA CX700 is buggy and can lead to problems such as USB2.0 packet loss if a VT6212L controller is on the PCI bus. It's disabled by default, but some BIOSes turn these features on and this patch reverts the configuration to the safe defaults. Signed-off-by: Tim Yamin Signed-off-by: Greg Kroah-Hartman commit 2b1afa87e11e979ab4838e043ffd0175657da437 Author: Auke Kok Date: Mon Oct 29 14:55:02 2007 -0700 PCI: quirk_vialatency: Omit reading pci revision ID Don't read the revision ID unnecessary since the PCI subsystem fills this field in already. Updated to fix a thinko bug in a previously sent patch. Signed-off-by: Auke Kok Cc: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 561e55e8e375dd962882cada9001065695724d3a Author: Alex Chiang Date: Fri Oct 12 16:20:33 2007 -0700 PCI: hotplug: Link fakephp last Currently, fakephp will claim all devices; we really only want it to claim those not in slots. Signed-off-by: Alex Chiang Signed-off-by: Matthew Wilcox Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 41ece3829f516f0e1f0c25f2c7eafac87e683df4 Author: Alex Chiang Date: Fri Oct 12 16:20:32 2007 -0700 PCI: hotplug: pci_hotplug_core whitespace fix Remove superfluous space. Signed-off-by: Alex Chiang Signed-off-by: Matthew Wilcox Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 1d5b95ab8ea63c71f28dc6aae920fb91515b9a79 Author: Alex Chiang Date: Fri Oct 12 16:20:31 2007 -0700 PCI: hotplug: acpiphp: Remove unused variable from acpiphp Remove unused variable from acpiphp. Signed-off-by: Alex Chiang Signed-off-by: Matthew Wilcox Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 1ec87280ebfdf5ea07a3ce7b235bebdb9ab42572 Author: Kristen Carlson Accardi Date: Fri Oct 12 16:20:30 2007 -0700 PCI: hotplug: remove Experimental Remove EXPERIMENTAL from PCI Hot Plug. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit f362b8bffea5963f6f11e6cc3dc3b3beb853ddbb Author: Joonwoo Park Date: Fri Oct 12 16:20:29 2007 -0700 PCI: hotplug: Switch to pci_get_bus_and_slot Thank you so much for your check & advise. This time, I've tried on ibmphp_core.c, is it OK? Signed-off-by: Joonwoo Park Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 4348a2dc49f9baecd34a9b0904245488c6189398 Author: Shaohua Li Date: Wed Oct 24 10:45:08 2007 +0800 pcie: utilize pcie transaction pending bit PCIE has a mechanism to wait for Non-Posted request to complete. I think pci_disable_device is a good place to do this. Signed-off-by: Shaohua Li Signed-off-by: Greg Kroah-Hartman commit 39ec4561b3a9ccccbdab1dd88a045342be22f27b Author: Shaohua Li Date: Wed Oct 24 10:43:23 2007 +0800 pcie port driver: correctly detect native PME feature Native PME is capability of root port or root complex event collector. It's not determined by PCI PME capability. Signed-off-by: Shaohua Li Signed-off-by: Greg Kroah-Hartman commit eb003ec26556057e5f27d4b989bbb432d0bdc0f4 Author: Adrian Bunk Date: Sat Oct 27 03:06:33 2007 +0200 PCI: drivers/pci/: remove unused exports This patch removes the following unused exports: - remove the following unused EXPORT_SYMBOL's: - pci-acpi.c: pci_osc_support_set - proc.c: pci_proc_detach_bus - remove the following unused EXPORT_SYMBOL_GPL's: - bus.c: pci_walk_bus - probe.c: pci_create_bus - setup-res.c: pci_claim_resource Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit b09549ef9b66b9547520572bedd7af3c1f0747d7 Author: Adrian Bunk Date: Sat Oct 27 03:06:25 2007 +0200 PCI: drivers/pci/rom.c: #if 0 two functions This patch #if 0's the following unused global functions: - rom.c: pci_map_rom_copy() - rom.c: pci_remove_rom() Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit ad668599f263988eaac74354349d64e3c0990a77 Author: Adrian Bunk Date: Sat Oct 27 03:06:22 2007 +0200 PCI: make pci_restore_bars() static This patch makes the needlessly global pci_restore_bars() static. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit aa6299926950c8dfe2fea638276cad6def092bc9 Author: Ingo Molnar Date: Fri Feb 1 23:45:18 2008 +0100 x86: fix bootup crash in native_read_tsc() fix bootup crash in native_read_tsc() that was reported on an Athlon-XP and bisected. The correct feature boundary for X86_FEATURE_MFENCE_RDTSC is not XMM but XMM2. Signed-off-by: Ingo Molnar Acked-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit f3191248bf1bf6627c04c5624904df45e0a979ed Merge: cbb51af... a14dc57... Author: Linus Torvalds Date: Sat Feb 2 09:58:02 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (100 commits) ide: move hwif_register() call out of ide_probe_port() ide: factor out code for tuning devices from ide_probe_port() ide: move handling of I/O resources out of ide_probe_port() ide: make probe_hwif() return an error value ide: use ide_remove_port_from_hwgroup in init_irq() ide: prepare init_irq() for using ide_remove_port_from_hwgroup() ide: factor out code removing port from hwgroup from ide_unregister() ide: I/O resources are released too early in ide_unregister() ide: cleanup ide_system_bus_speed() ide: remove needless zeroing of hwgroup fields from init_irq() ide: remove unused ide_hwgroup_t fields ide_platform: remove struct hwif_prop ide: remove hwif->present manipulations from hwif_init() ide: move wait_hwif_ready() documentation in the right place ide: fix handling of busy I/O resources in probe_hwif() is not used by kernel code ide: don't include ide-floppy: cleanup header ide: update/add my Copyrights ide: delete filenames/versions from comments ... commit 2c044a4803804708984931bcbd03314732e995d5 Author: Greg Kroah-Hartman Date: Wed Jan 30 15:21:33 2008 -0800 USB: fix codingstyle issues in drivers/usb/core/*.c Fixes a number of coding style issues in the remaining .c files in drivers/usb/core/ Signed-off-by: Greg Kroah-Hartman commit 3e35bf39e0b9091d47a40e26fc2704b3b24e1ec4 Author: Greg Kroah-Hartman Date: Wed Jan 30 15:21:33 2008 -0800 USB: fix codingstyle issues in drivers/usb/core/message.c Fixes a number of coding style issues in the message.c file. Signed-off-by: Greg Kroah-Hartman commit 34bbe4c16ca06cb762b99a6263832cfdbbe154ad Author: Greg Kroah-Hartman Date: Wed Jan 30 15:21:33 2008 -0800 USB: fix codingstyle issues in drivers/usb/core/hcd-pci.c Fixes a number of coding style issues in the hcd-pci.c file. Signed-off-by: Greg Kroah-Hartman commit 04e482ffd81437e7f551373d56c72c237e163000 Author: Greg Kroah-Hartman Date: Wed Jan 30 15:21:33 2008 -0800 USB: fix codingstyle issues in drivers/usb/core/devio.c Fixes a number of coding style issues in the devio.c file. Signed-off-by: Greg Kroah-Hartman commit 376c0d3f1413d5cb6a146fb2fea127b96bd512aa Author: Greg Kroah-Hartman Date: Wed Jan 30 15:21:33 2008 -0800 USB: fix codingstyle issues in drivers/usb/core/devices.c Fixes a number of coding style issues in the devices.c file. Signed-off-by: Greg Kroah-Hartman commit 84cca820ee798a6bc8b01a4ccc9548943bc41f7f Author: Greg Kroah-Hartman Date: Wed Jan 30 15:21:33 2008 -0800 USB: fix codingstyle issues in drivers/usb/core/*.h Fixes a number of coding style issues in the USB internal header files. Signed-off-by: Greg Kroah-Hartman commit 41dceed51f0e6105ca2bf45c3835a7cd9eaa077b Author: Greg Kroah-Hartman Date: Wed Jan 30 15:21:33 2008 -0800 USB: fix codingstyle issues in include/linux/usb/ Fixes a number of coding style issues in the USB public header files. Signed-off-by: Greg Kroah-Hartman commit 969ab2ee9d68bd037e2db7ea12ff78baae5d2f94 Author: Greg Kroah-Hartman Date: Wed Jan 30 15:20:32 2008 -0800 USB: fix codingstyle issues in include/linux/usb.h No logical code changes were made, but checkpatch.pl is much happier now. Signed-off-by: Greg Kroah-Hartman commit 782e70c6fc2290a0395850e8e02583b8b62264d8 Author: Greg Kroah-Hartman Date: Fri Jan 25 11:12:21 2008 -0600 USB: mark USB drivers as being GPL only Over two years ago, the Linux USB developers stated that they believed there was no way to create a USB kernel driver that was not under the GPL. This patch moves the USB apis to enforce that decision. There are no known closed source USB drivers in the wild, so this patch should cause no problems. Signed-off-by: Greg Kroah-Hartman commit 667d691ed7a70c9a9fde5b6bd663a5f38326e026 Author: Greg Kroah-Hartman Date: Mon Jan 28 09:50:12 2008 -0800 USB: use a real vendor and product id for root hubs Turns out that a company is out there using the vendor id of 0x0000 in the wild, so use a real vendor/product id for the root hubs. Now that the Linux Foundation has a real vendor id, we use that, and the first product id: 0x1d6b is the vendor id of the Linux Foundation 0x0001 is the product id for Linux 1.1 root hubs 0x0002 is the product id for Linux 2.0 root hubs The usb.ids file has already been updated with these values. Signed-off-by: Greg Kroah-Hartman commit 2e4f3c02239d4c7c454604715db619bc971b15eb Author: Miklos Szeredi Date: Thu Jan 24 20:34:07 2008 +0100 USB: mount options: fix usbfs Add a .show_options super operation to usbfs. Signed-off-by: Miklos Szeredi Signed-off-by: Greg Kroah-Hartman commit 8dd70705c4a7a3110076da412333c90d773bbb63 Author: Stefan Bader Date: Fri Jan 25 08:09:41 2008 -0500 USB: Fix usb_serial_driver structure for Kobil cardreader driver. The device setup did miss to initialize the num_interrupt_out field, thus failing to successfully complete the probe function. Signed-off-by: Stefan Bader Cc: stable Cc: Alan Cox Signed-off-by: Greg Kroah-Hartman commit c06d4dcf5034ee2289a921b9b2c547f3fed2d878 Author: David Brownell Date: Thu Jan 24 12:30:34 2008 -0800 usb: ehci should use u16 for isochronous intervals While most isochronous endpoints have short polling intervals, the EHCI driver won't necessarily handle larger ones correctly. This patch switches to use a "u16" to represent those periods, not a u8, since it can always work: the largest expressible period is 2^15 units ... not the previous too-short limit of 128 frames (full or low speeds) or microframes (high speed, 32 frames). This bug is essentially theoretical, since the few ISO endpoints I've seen which don't use one transfer per frame are high speed ones using more than that (including high bandwidth, 24 KB/msec). Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit cd4cdc93ce04b562412df6c0cf25c564ab2522ac Author: David Brownell Date: Thu Jan 24 12:39:43 2008 -0800 usb: ehci, remove false clear-reset path Some of the "EHCI ports reset forever" problems may be explained by code paths which wrongly flagged resets as complete. This removes two such paths; the ehci_hub_status_data() path should be the only one to have an effect, since it was already properly flagged on the other path. (Issue noted by Minhyoung Kim .) Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit b75be4abf18e9725766ed835f0d2cf201b52de7e Author: Denis Cheng Date: Thu Jan 24 16:36:31 2008 +0800 USB: Use menuconfig objects commit 04d06ad0f1fdb499af84ae3d7969e2136a462f38 have added menuconfig support for the whole USB Kconfig, but there are still menuconfig need for usb/serial, usb/atm, and usb/gadget, so that the user can disable all the options in that menu at once instead of having to disable each option separately. Signed-off-by: Denis Cheng Signed-off-by: Greg Kroah-Hartman commit f54aab6ebcecd93e86cea34ddba5f3d454382041 Author: Magnus Damm Date: Wed Jan 23 15:58:46 2008 +0900 usb: ohci-sm501 driver usb: ohci-sm501 driver V2 This patch adds sm501 ohci support. It's all very straightforward with the exception of dma_declare_coherent_memory() and HCD_LOCAL_MEM. Together they are used to ensure that usb data is allocated using dma_alloc_coherent(), and that only valid dma memory is used to allocate from. This driver is a platform device, and the mfd driver sm501.c is already creating one usb host controller instance per sm501. Signed-off-by: Magnus Damm Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit b3476675320eda83cf061a686cdc80b76f2bfdc4 Author: Magnus Damm Date: Wed Jan 23 15:58:35 2008 +0900 usb: dma bounce buffer support usb: dma bounce buffer support V4 This patch adds dma bounce buffer support to the usb core. These buffers can be enabled with the HCD_LOCAL_MEM flag, and they make sure that all data passed to the host controller is allocated using dma_alloc_coherent(). Signed-off-by: Magnus Damm Acked-by: Alan Stern Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 0915f490d81c1a5098b399ec6c0be45bd421ee1d Author: Oliver Neukum Date: Wed Jan 23 12:28:45 2008 +0100 USB: last abuses of intfdata in close for usb-serial drivers these drivers abused intfdata in close() as flags for binding. That races with reprobing of those devices. This patch fixes that by using the flag and the locks introduced with the patch against mos7720. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 3edbc986509888fa9977cc180c1fe458d2f89076 Author: Oliver Neukum Date: Tue Jan 22 12:47:15 2008 +0100 USB: kl5kusb105 don't flush to logically disconnected devices If disconnect() is called for a logical disconnect, no more IO must be done after disconnect() returns, or the old and new drivers may conflict. This patch avoids this by using the flag and lock introduced by the earlier patch for the mos7720 driver. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit b0a239da17beb34354181bebb744c0b0d534967f Author: Alan Cox Date: Sat Jan 19 16:02:37 2008 +0000 USB: oti6858: cleanup - Rename the copied buffer functions from pl2303 to oti6858 to avodi confusion - Initialise speeds properly - Use modern baud rate handling - Remove GSERIAL/SSERIAL ioctl hacks that reference termios unlocked Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 95bef012ea4a3cce437a4fcf59bb097d14944b0d Author: Oliver Neukum Date: Tue Jan 22 13:56:18 2008 +0100 USB: more serial drivers writing after disconnect this covers the rest of the obvious cases by using the flags and locks to guard against disconnect which were introduced in the earlier patch against mos7720. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit e33fe4d86f91127f6f7d931ff59ed6cbda06e72b Author: Oliver Neukum Date: Mon Jan 21 17:44:10 2008 +0100 USB: make sure usb serial drivers don't flush to logically disconnected devices If disconnect() is called for a logical disconnect, no more IO must be done after disconnect() returns, or the old and new drivers may conflict. This patch avoids this by using the flag and lock introduced by the earlier patch for the mos7720 driver. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 004b4f2d4448cff7f13871c05d744b00a7c74d4a Author: Oliver Neukum Date: Tue Jan 22 14:24:56 2008 +0100 USB: fix memleak in ark3116 serial driver in an error case memory already allocated must be freed again. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 9e3b1d8e3d5d135ac7be43f6710b7a67b569c292 Author: Oliver Neukum Date: Tue Jan 22 15:54:54 2008 +0100 USB: stop abuse of intfdata in cypress_m8 this driver uses usb_get_intfdata() == NULL as a test for disconnect(). You must not do that as this races with probe(). By the time you test your erstwhile interface may already be somebody else's interface. This fixes the close() method of cypress_m8 to use the recently introduced flag and use locking against disconnect() where required in close(). Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 0b3f5fe673d4626ea91816ca9c486b43b39a2fd1 Author: Jan Engelhardt Date: Tue Jan 22 20:51:11 2008 +0100 USB: constify function pointer tables Signed-off-by: Jan Engelhardt Signed-off-by: Greg Kroah-Hartman commit a1cd7e99b343543af2be4c8c5755e26f6bfd725a Author: Oliver Neukum Date: Wed Jan 16 17:18:52 2008 +0100 USB: stop io performed by mos7720 upon close() This fixes a problem where the mos7720 driver will make io to a device from which it has been logically disconnected. It does so by introducing a flag by which the generic usb serial code can signal the subdrivers their disconnection and appropriate locking. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 828d55c58cba6b652fd30e00c3d940cb7c523e3c Author: Yoshihiro Shimoda Date: Fri Jan 11 22:56:15 2008 +0900 USB: add support for SuperH OHCI add support for SuperH OHCI. supported CPU are: - SH7720 - SH7721 - SH7763 Signed-off-by: Yoshihiro Shimoda Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 504b55cc8bca420856159833629da8f9f92d5adc Author: Greg Kroah-Hartman Date: Tue Apr 9 12:14:34 2002 -0700 USB: ftdi_sio: remove very old changelog entries from the file. People keep trying to add entries to this section of the driver for things. That's what the Changelog is supposed to be for, not the .c file. Signed-off-by: Greg Kroah-Hartman commit 7bd4b20c876e5f7aa8e1405657aee9078f896d26 Author: Paul Chavent Date: Sat Jan 12 15:23:17 2008 +0100 USB: usbserial: provide ezusb functions for an external module. When building an external module, the ezusb_* functions are not defined if we haven't loaded any built'in module that use them (whiteheat, keyspan, ...). This patch allow to build those functions even if we only have selected the usbserial generic driver. Signed-off-by: Paul Chavent Signed-off-by: Greg Kroah-Hartman commit cd930c931417295ac6b4d9fea62accc67192ac34 Author: Alan Stern Date: Thu Jan 10 11:14:53 2008 -0500 USB: EHCI: add a short delay to the bus_suspend routine This patch (as1031) adds a short delay to the bus-suspend routine in ehci-hcd. Without it some devices disconnect when they should suspend. Signed-off-by: Alan Stern Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit f8fa7571a928d6d0e1b7444b0ea69ec7dc7db3b6 Author: Alan Stern Date: Thu Jan 10 16:43:15 2008 -0500 USB: EHCI: move del_timer_sync calls outside spinlocked region This patch (as1030b) moves a del_timer_sync() call outside the scope of a spinlock, where it could cause a deadlock, and adds a new del_timer_sync() call for the new IAA watchdog timer (it was omitted by mistake). Signed-off-by: Alan Stern Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit dd95b814115e45e0bf800f2950b9941c86e68172 Author: Pete Zaitcev Date: Sat Jan 5 02:01:07 2008 -0800 USB: usbfs: struct async is a fixed size structure The ISO descriptors are allocated separately in proc_submiturb for a fetch from user mode, then tucked at the end of URB. This seems like a dead code. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 79592b722e7a8476680197d97352d2cc0f1bffd2 Author: David Brownell Date: Mon Jan 7 00:47:42 2008 -0800 USB: ehci completes high speed ISO URBs sooner This has some bugfixes for the EHCI driver's ISO transfer scanning logic. It was leaving ITDs and SITDs on the schedule too long, for a few different reasons, which caused trouble. (a) Look at all microframes for high speed transfers, not just the ones we expect to have finished. This way transfers ending mid-frame will complete without needing another IRQ. This also minimizes bogus scheduling underruns (e.g. EL2NSYNC). (b) When we encounter an ISO transfer (either speed, but this hits mostly at full speed) that's not yet been completed, immediately stop scanning; we've caught up to the hardware, no matter what other indications might say. (c) Always clean up ITDs (for high speed transfers) when the HC is no longer running. I'm not sure whether the last one has been observed before, but both the others have been reported with "real world" audio and video code. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit aa16ca307ee2da304d3a5fc0fc5e50ef8047c9e9 Author: David Brownell Date: Sun Dec 30 23:45:19 2007 -0800 USB: ehci: minor ISO updates, always support split ISO Small updates to the EHCI driver's ISO support: - Get rid of the Kconfig option for full speed ISO. It may not be perfect yet, but it hasn't appeared to be dangerous and pretty much every configuration wants it. - Instead of two places to disable an empty periodic schedule after an ISO transfer completes, just have one. - After the periodic schedule is disabled, we can short-circuit the schedule scan ... it can't possibly have more work to do. Assuming a typical config with split iso enabled, the only change in behavior should be almost unobservable: quicker termination of periodic scans when the schedule gets emptied. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 3b6fcfd0664aeac6ae2fd1231f04b3ed24723c1e Author: Karsten Wiese Date: Sun Dec 30 21:55:05 2007 -0800 USB: ehci saves some memory in ISO transfer descriptors In the EHCI driver, itd->usecs[8] is used in periodic_usecs(), indexed by uframe. For an ITD's unused uframes it is 0, else it contains the same value as itd->stream->usecs. To check if an ITD's uframe is used, we can instead test itd->hw_transaction[uframe]: if used, it will be nonzero no matter what endianess is used. This patch replaces those two uses, eliminates itd->usecs[], and saves eight bytes from each ITD. Signed-off-by: Karsten Wiese Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 91bc4d31e81b15aa6e2d075307b8727041f2e2d1 Author: Vladimir Barinov Date: Sun Dec 30 15:21:11 2007 -0800 USB: add ehci-ixp bus glue EHCI Glue driver for Intel IXP4XX EHCI USB controller Signed-off-by: Vladimir Barinov Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 18bcbcfe9ca2308ebffb40068b51803da9315d97 Author: Daniel Walker Date: Fri Jan 11 08:45:44 2008 -0800 USB: misc: legousbtower: semaphore to mutex The dev->sem conforms to mutex style usage. This patch converts it to use the struct mutex type, and new API. There is also a small style fix around this comment, /* unlock here as tower_delete frees dev */ Where I broke the line up to meet the 80 char limit. Signed-off-by: Daniel Walker Signed-off-by: Greg Kroah-Hartman commit da0e8fb00b862aa10265f0c64930b432cd44420b Author: Valentine Barshak Date: Sun Dec 30 15:28:50 2007 -0800 USB: add ehci-ppc-of bus glue (device-tree aware) This adds device-tree-aware ehci-ppc-of driver. The code is based on the ehci-ppc-soc driver by Stefan Roese . Signed-off-by: Valentine Barshak Acked-by: Arnd Bergmann Acked-by: Stefan Roese Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 040fa1b9620cd019349414505828b2ffbeded7f8 Author: Dmitry Baryshkov Date: Sun Dec 30 11:56:27 2007 -0800 USB: pxa2xx_udc: use debugfs not procfs Use debugfs instead of /proc/driver/udc Signed-off-by: Dmitry Baryshkov Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit f3db6e82034a6ea89191fdcc6b9a984dc0d5d533 Author: David Brownell Date: Sat Jan 5 13:21:43 2008 -0800 USB: at91_udc uses generic GPIO calls; minor cleanup Various small at91_udc cleanups: - Use generic GPIO calls, not older platform-specific ones - Use gpio_request()/gpio_free() - Use VERBOSE_DEBUG convention, not older VERBOSE - Fix sparse complaint about parameter type (changed to gfp_t) - Add missing newline to some rarely-seen debug messages - Fix some old cleanup bugs on probe() fault paths Also add a mechanism whereby rm9200 gpios can drive the D+ pullup through an inverting transistor, based on a patch from Steve Birtles. Most UDC drivers supporting a GPIO based pullup should probably have such an option, but testing it requries such a board in hand! Signed-off-by: David Brownell Cc: Steve Birtles Signed-off-by: Greg Kroah-Hartman commit 4bde4a4c4ff53e67cde4b0fe630d6fc28106bff8 Author: David Brownell Date: Thu Dec 27 11:19:49 2007 -0800 USB: ohci-at91 uses generic GPIO calls Update the ohci-at91 bus glue to start understanding about the per-port power switch GPIOs it's given (on the sam9263-ek and potentially other boards). For the moment this just claims them and forces them active (assuming active-low power enables) whenever the HCD is loaded. The assumption is still that board setup configures the GPIOs. Using gpio_request() tracks actual usage and guards against conflict. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 979e524a9c563376af096d2d8629b9969fc06659 Author: Sarah Sharp Date: Thu Jan 17 10:24:38 2008 -0800 USB: Add documentation for USB suspend statistics. This documents two newly created files: /sys/bus/usb/device/.../power/connected_duration /sys/bus/usb/device/.../power/active_duration Documentation was placed in Documentation/ABI/testing, since that's where the documentation is for the other USB sysfs power files. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 1512300689426cb98bfd7e567ee9fdfaaf61b7c7 Author: Sarah Sharp Date: Fri Dec 21 16:54:15 2007 -0800 USB: Export suspend statistics This patch exports two statistics to userspace: /sys/bus/usb/device/.../power/connected_duration /sys/bus/usb/device/.../power/active_duration connected_duration is the total time (in msec) that the device has been connected. active_duration is the total time the device has not been suspended. With these two statistics, tools like PowerTOP can calculate the percentage time that a device is active, i.e. not suspended or auto-suspended. Users can also use the active_duration to check if a device is actually autosuspended. Currently, they can set power/level to auto and power/autosuspend to a positive timeout, but there's no way to know from userspace if a device was actually autosuspended without looking at the dmesg output. These statistics will be useful in creating an automated userspace script to test autosuspend for USB devices. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 228426edac844a2c9270528e9cd7ab6260ef7628 Author: Kevin Lloyd Date: Thu Jan 10 11:11:04 2008 -0800 USB: sierra driver - add update dtr logic The following improvements were made: - Fixed control line issue where asserting DTR on ep5 would close ep2 - Added support for calc_num_ports (will help support future composite devices) Signed-off-by: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit 20734345b35a5ff661293fcca1e376522bcf01de Author: Harald Welte Date: Tue Jan 1 15:08:35 2008 +0100 USB: ftdi_sio: Support for more JTAG adaptors [PATCH] ftdi_sio: add support for more FTDI based JTAG adaptors There are more devices similar to the Olimex JTAG adaptor, in that the first port of the FT2232C is used for JTAG, and only the second port is available as UART. I have thus renamed ftdi_olimex_{probe,quirk} to ftdi_jtag_{probe,quirk} and added vendor/product ID's for the OpenMoko Neo1973 Debug Board as well as the OOCDlink device. I've also updated the KERN_INFO message sent to userspace to remove the word 'olimex' and an extra '\n' that was causing an empty line in dmesg. Signed-off-by: Harald Welte Signed-off-by: Greg Kroah-Hartman commit d5f5bcd425b771c0b7ff5a650b2ce061ac8bbb87 Author: Alan Cox Date: Thu Jan 3 16:57:33 2008 +0000 USB: io_ti: clean up termios handling Don't pass NULL into termios functions when calling them internally Remove all the crap which then checks for NULL which can't occur now Clear CMSPAR as it is not supported Report the baud rate back to the caller properly (See FIXME someone with the docs) Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 537699ef53f8b97546f0845bf51a49c9ab114a13 Author: Alan Cox Date: Thu Jan 3 17:03:11 2008 +0000 USB: ti_usb: termios cleanups Remove internal NULL passing in termios code Remove all the if checks it causes Encode the baud rate back properly Clear CMSPAR as it is not supported Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 65d063ab21feea8cf65d64fba50a5c4fa7bfd6be Author: Alan Cox Date: Thu Jan 3 17:01:18 2008 +0000 USB: mos7720: clean up termios Remove lots of NULL checks that can no longer occur Encode the baud rate back into the termios (again someone with docs see FIXME to improve this further) Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 487dc9225a8e7cc522177316abee7b1e272a2863 Author: Dmitry Baryshkov Date: Fri Dec 21 12:18:01 2007 +0300 USB: tosa_udc_use_gpio_vbus.patch Use gpio_vbus instead of udc_is_connected for udc on tosa. Signed-off-by: Dmitry Baryshkov Acked-by: Russell King Signed-off-by: Greg Kroah-Hartman commit e057a35aa140b5e5d01603f78845ad328dde302a Author: David Brownell Date: Fri Dec 21 00:29:05 2007 -0800 USB: fix HCD Kconfig goofage Add a missing dependency which goofs up the xconfig display. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 1440e0967de8c598dae96d741652d498b3eb8f27 Author: David Brownell Date: Sun Dec 9 22:53:09 2007 -0800 USB: gadget: at91_udc minor fix (there is no number six) Fix a small glitch noted by Yannick Cote. There is no endpoint number six, so if a (broken) host wrongly tried to change or read status of that endpoint, the driver could access reserved register space. Signed-off-by: David Brownell Cc: Yannick Cote Signed-off-by: Greg Kroah-Hartman commit e58679805dab3fb75df88141d9d869904a93337f Author: Oliver Neukum Date: Thu Dec 20 12:23:03 2007 +0100 USB: fix NULL pointer dereference on drivers/usb/serial/whiteheat.c Am Sonntag, 16. Dezember 2007 05:23:47 schrieb Andrew Morton: > On Sat, 15 Dec 2007 07:08:52 -0800 (PST) bugme-daemon@bugzilla.kernel.org wrote: > > > http://bugzilla.kernel.org/show_bug.cgi?id=9573 > > There's a null pointer dereference on drivers/usb/serial/whiteheat.c as > > follows: > > > > (1) line 613: the test "if (port->tty)" implies that null is a legal value > > for "port->tty" at that point > > > > (2) neither firm_open nor firm_purge initialize "port->tty" drivers/usb/serial/usb-serial::serial_open() sets port->tty The check for NULL is bogus. This patch removes the check. Signed-off-by: Oliver Neukum Acked-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit e7b13ec9235b9fded90f826ceeb8c34548631351 Author: David Brownell Date: Wed Dec 19 11:27:51 2007 -0800 USB: gadget: ethernet error path potential oops fix Fix potential (never-observed) oops on rare error path, bugzilla #9594. Fix uses the same test as used earlier. Also make the adjacent "else" block look like an "else" block instead of hiding like a bug. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 340ba5f9cee6c7096162bfb2e0f7589f1ce0e142 Author: David Brownell Date: Wed Dec 19 11:30:39 2007 -0800 USB: ehci potential oops fix on ARC/TDI cores Kernel bugzilla entry #9569 reports a potential OOPS in some code supporting the integrated root hub TT support used on ARC/TDI derived cores. (This seems to have been a longstanding issue.) This patch cleans up usage of urb->dev->tt to avoid that potential oops and also fixes some overly long lines. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit e96ffe2f9debd5fdc53144259d9e5faa514736b9 Author: Tzachi Perelstein Date: Sat Dec 1 11:07:04 2007 -0500 USB: add Marvell Orion USB host support Some glue bits for the on-chip USB host controller in the Marvell Orion family of ARM SoCs, which is basically EHCI compatible. Signed-off-by: Tzachi Perelstein Reviewed-by: Lennert Buytenhek Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit f570728f89c9d4b262f7c180e5a8e230e675af0c Author: Marcin Slusarz Date: Sun Dec 16 03:25:13 2007 +0100 USB: ehci-hcd: fix sparse warning about shadowing 'status' symbol fix warning: drivers/usb/host/ehci-hcd.c:832:8: warning: symbol 'status' shadows an earlier one drivers/usb/host/ehci-hcd.c:790:71: originally declared here Signed-off-by: Marcin Slusarz Signed-off-by: Greg Kroah-Hartman commit 7f9705b04c1638b3682f63ece7931384f4542f17 Author: Marcin Slusarz Date: Sun Dec 16 03:23:20 2007 +0100 USB: usbdevfs_urb: __user annotation fix warning: drivers/usb/core/devio.c:1226:20: warning: incorrect type in assignment (different address spaces) drivers/usb/core/devio.c:1226:20: expected void *usercontext drivers/usb/core/devio.c:1226:20: got void [noderef] * Signed-off-by: Marcin Slusarz Signed-off-by: Greg Kroah-Hartman commit 0354c1acd8f74e7bda752108c052972a1d1b6c3f Author: Marcin Slusarz Date: Sun Dec 16 03:21:29 2007 +0100 USB: usb/storage/initializers.c: fix signedness difference fix warnings: drivers/usb/storage/initializers.c:83:26: warning: incorrect type in argument 5 (different signedness) drivers/usb/storage/initializers.c:83:26: expected unsigned int *act_len drivers/usb/storage/initializers.c:83:26: got int * drivers/usb/storage/initializers.c:89:26: warning: incorrect type in argument 5 (different signedness) drivers/usb/storage/initializers.c:89:26: expected unsigned int *act_len drivers/usb/storage/initializers.c:89:26: got int * Signed-off-by: Marcin Slusarz Signed-off-by: Greg Kroah-Hartman commit 30bf54e62a7926a483b4e36015bb4eb1372e6303 Author: David Brownell Date: Sun Dec 16 22:37:40 2007 -0800 USB: PS3: Fix EHCI ISO transfer bug This adds a workaround for an issue reported with ISO transfers on some EHCI controllers, most recently with VIA KT800 and PS3 EHCI silicon. The issue is that the silicon doesn't necessarily seem to be done using ISO DMA descriptors (itd, sitd) when it marks them inactive. (One theory is that the ill-defined mechanism where hardware caches periodic transfer descriptors isn't invalidating their state...) With such silicon, quick re-use of those descriptors makes trouble. Waiting until the next frame seems to be a sufficient workaround. This patch ensures that the relevant descriptors aren't available for immediate re-use. It does so by not recycling them until after issuing the completion callback which would reuse them by enqueueing an URB and thus (re)allocating ISO DMA descriptors. Signed-off-by: David Brownell Acked-by: Geoff Levand Cc: Masashi Kimoto Signed-off-by: Greg Kroah-Hartman commit dc0d5c1e5c7532e800fff6e313cd4af44af99976 Author: Joe Perches Date: Mon Dec 17 11:40:18 2007 -0800 USB: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Greg Kroah-Hartman commit d4a8d46d9129fbb26b4c2d3143b1b0975a9b4ae4 Author: Dmitry Baryshkov Date: Thu Dec 6 18:18:03 2007 -0800 USB: gadget: pxa2xx_udc supports inverted vbus Some boards (like e.g. Tosa) invert the VBUS-detection signal: it's low when a host is supplying VBUS, and high otherwise. Allow specifying whether gpio_vbus value is inverted. Signed-off-by: Dmitry Baryshkov Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 26e109b0a90b5ef7b025e44a969836ab9a598ffc Author: Andrew Morton Date: Thu Dec 13 16:15:34 2007 -0800 USB: testing driver: don't free a locked mutex Dopey thing to do and lockdep will (or should) warn. Spotted by Daniel Walker. Cc: Matthias Kaehlcke Cc: Daniel Walker Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 1cfab028afe5827433195c57b6f36d61a79beb50 Author: Matthias Kaehlcke Date: Thu Dec 13 16:15:33 2007 -0800 USB: testing driver: convert dev->sem to mutex USB testing driver: convert semaphore dev->sem to the mutex API Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 041509db390cf97b09df0f51024f5d40407938db Author: Nick Piggin Date: Thu Dec 13 16:15:35 2007 -0800 USB: mon nopage Convert USB mon driver from nopage to fault. Signed-off-by: Nick Piggin Acked-by: Pete Zaitcev Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit d0fab0ddf3fca22f73b95d2e15b598fa17876c69 Author: Alan Cox Date: Thu Dec 13 16:15:29 2007 -0800 USB: mct232: speed, new termios and compliance cleanups Signed-off-by: Alan Cox Cc: Pete Zaitcev Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit e7806e366bcab561a6ecc1a6c4a5337f1714ece1 Author: Alan Cox Date: Thu Dec 13 16:15:28 2007 -0800 USB: keyspan_pda: clean up speed handling Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 3ec466b49636c89866f7681813443c3abcefcbc2 Author: Alan Cox Date: Thu Dec 13 16:15:26 2007 -0800 USB: belkin_sa: clean up for new style termios and speed handling, plus style A tester with actual hardware would be useful Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit fcf9e55e066d12c18add7c8a292bf879b45b1d55 Author: Sarah Sharp Date: Fri Dec 14 14:09:30 2007 -0800 USB: pl2303: Add autosuspend support to pl2303 usb serial converter. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 3e152505a57db6622deb1322c22551c046e33d16 Author: Sarah Sharp Date: Fri Dec 14 14:08:35 2007 -0800 USB: pl2303: Move pl2303 vendor specific init to probe function. Without this fix, the pl2303 usb-serial adapter would not suspend properly unless it had been opened first. A pl2303 type_1 chip will still break if the system is hibernated while the RS-232 connector is powered by another system. This was broken before, and a reset resume does not fix it. All other suspend and autosuspend scenarios work with ATEN pl2303 adaptors with HX and type_1 chips. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit eb44da0b3aa0105cb38d81c5747a8feae64834be Author: Sarah Sharp Date: Fri Dec 14 14:08:00 2007 -0800 USB: pl2303: Cleanup FISH and SOUP macros in pl2303 driver. Replace the FISH and SOUP macros that violated the macro guidelines in CodingStyle. Turn them into function calls with clearer variable names. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit caf29f62655e7aa57996821535d11fa3b0537b6b Author: Alan Stern Date: Thu Dec 6 11:10:39 2007 -0500 USB: dummy_hcd: change the default power budget This patch (as1025) changes the default power budget for dummy-hcd to 500 mA and makes it a preprocessor parameter for easier testing. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 07d29b63ef6b39963ab37818653284d861cf55af Author: Alan Stern Date: Tue Dec 11 16:05:30 2007 -0500 USB: EHCI: add separate IAA watchdog timer This patch (as1028) was mostly written by David Brownell; I made only a few changes (extra log info and a small bug fix -- which might account for why David's version had to be reverted). It adds a new watchdog timer to the ehci-hcd driver to be used exclusively for detecting lost or missing IAA notifications. Previously a shared timer had been used, which may have led to some problems as reported by Christian Hoffmann. Signed-off-by: Alan Stern Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 2e2eb83ffd1aeb92bf8793eea892b5bc05a993ea Author: Alan Stern Date: Tue Dec 4 14:35:15 2007 -0500 USB: add usbfs stubs for suspend and resume This patch (as1022b) adds stub methods for suspend and resume to the usbfs driver. There isn't much they can do since there's no way to inform a user task about the events. But it's important to have the stubs, because an upcoming change to usbcore will automatically unbind drivers that don't have those methods when a suspend occurs. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 241ca64fc55bd2b676890472880e2d2d86cfae82 Author: Matthias Kaehlcke Date: Tue Dec 4 16:15:40 2007 +0100 USB: Edgeport USB Serial Converter: convert es_sem to mutex Edgeport USB Serial Converter: convert semaphore es_sem to the mutex API Signed-off-by: Matthias Kaehlcke Signed-off-by: Greg Kroah-Hartman commit 852c4b43bdd0953483e93bb97ca2fac7e5111dcb Author: Alan Stern Date: Mon Dec 3 15:44:29 2007 -0500 USB: updates to usb_reset_composite_device() This patch (as1023) updates the code in usb_reset_composite_device(): Some local variable declarations are moved to inner loops. The interface locks are not acquired. This isn't necessary any more; its only reason was to prevent an interface from being suspended or resumed during the reset. But now interface power management is controlled by the USB device lock, not by the interface lock. The check for whether the interface is registered is removed. There doesn't seem to be any reason for checking; a driver for a non-registered interface deserves to be informed of device resets just as much as any other. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 885e97478bf95b46a7cff40df49c2bb1a5503afd Author: Alan Stern Date: Mon Dec 3 15:42:10 2007 -0500 USB: repair USBDEVFS_CONNECT ioctl For as long as I've known about it, the USBDEVFS_CONNECT ioctl hasn't done what it's supposed to. The current code reprobes _all_ the unbound USB interfaces; this patch (as1021) makes it reprobe only the interface for which it was called. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit badef819229d455493ba97253dd0e4097b995624 Author: Benjamin Herrenschmidt Date: Thu Dec 6 13:29:46 2007 -0800 usb: Remove OHCI useless masking/unmasking of WDH interrupt The OHCI driver's IRQ handler, while processing a WDH interrupt, masks and unmasks it. I believe this is both broken (the write may still be posted during the donelist processing it's trying to safeguard) and useless as this IRQ may not be reissued until it's acked (unless this legacy code is an uncommented workaround for some chip erratum). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 694cc2087e26f3f62b9f07c5d563564ed77ef203 Author: Tony Jones Date: Tue Sep 11 14:07:31 2007 -0700 USB: convert ehci debug files to use debugfs instead of sysfs We should not have multiple line files in sysfs, this moves the data to debugfs instead, like the UHCI driver. Signed-off-by: Tony Jones Cc: Kay Sievers Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 684c19e0d95f4640998a358a34226115a34b5eea Author: Tony Jones Date: Tue Sep 11 14:07:31 2007 -0700 USB: convert ohci debug files to use debugfs instead of sysfs We should not have multiple line files in sysfs, this moves the data to debugfs instead, like the UHCI driver. Signed-off-by: Tony Jones Cc: Kay Sievers Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit f2a383e4de50ad9c03676e57703a97d081798e55 Author: Greg Kroah-Hartman Date: Mon Nov 26 22:11:55 2007 -0800 USB: always announce a device has been added to the system Distros (like SuSE) want to know this information, to make it easier to handle support issues. Might as well let everyone benefit from this. This is also enabled whenever CONFIG_USB_DEBUG is enabled, to help with debugging. Signed-off-by: Greg Kroah-Hartman commit 5933101718ea3d283983a923c5524c88138e5564 Author: Alan Stern Date: Tue Nov 20 16:28:55 2007 -0500 USB: dummy_hcd: don't register drivers on the platform bus This patch (as1017) makes dummy_hcd behave more like the other USB peripheral controller drivers by no longer registering its gadget driver on the platform bus. Doing that has always been a mistake, since a usb_gadget_driver isn't a platform_driver. Instead the gadget driver is left unregistered in sysfs. Signed-off-by: Alan Stern CC: David Brownell Signed-off-by: Greg Kroah-Hartman commit 90da096ee46b682011b7d549e52b81cf9742e60b Author: Balaji Rao Date: Thu Nov 22 01:58:14 2007 +0530 USB: force handover port to companion when hub_port_connect_change fails This patch hands over the port to the companion when the hub_port_connect_change fails. Signed-off-by: Balaji Rao Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit eb0be47dbbdca133b1b94adc564297f25176b3ab Author: Patrik Sevallius Date: Tue Nov 20 09:32:00 2007 -0800 USB: usb peripheral controller driver oops avoidance I'm having problem with oopses when rebooting, if I modprobe g_serial and rmmod g_serial and do a reboot I get an oops in device_shutdown(). The reason seems to be that usb_gadget_unregister_driver() doesn't do enough cleanup. With this at91_udc patch I don't get the oops. Signed-off-by: Patrik Sevallius [ Same bug was in other peripheral controller drivers; fixed ] Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 7b62cc86689e721f0aae87e88cb04ca841cf6c38 Author: Andre Haupt Date: Tue Nov 20 11:41:37 2007 +0100 USB: cyberjack: remove a unnecessary variable. This also fixes a sparse warning that symbol 'result' shadows an earlier one. Signed-off-by: Andre Haupt Signed-off-by: Greg Kroah-Hartman commit f0fbd5b9ba893b965b2892c1971e3433092b98c7 Author: Sarah Sharp Date: Tue Nov 13 17:10:09 2007 -0800 USB: Prepare serial core for autosuspend. Claim the interface for a USB to serial converter when the tty is open, and release the interface when the tty is closed. If a driver doesn't provide a resume function, use the generic resume instead. Make sure the generic resume function does not submit the URBs if we're coming back from autosuspend. On autoresume, we know that the open function will be called next, which will attempt to submit the URBs. If we submit them in the resume function, the open will fail. This works for: - autosuspend - suspending with the tty open or closed - hibernate with the tty closed A hibernate (or a suspend that causes the USB subsystem to lose power) has issues. If you have the tty open when you hibernate, a new tty will be created when the device re-enumerates during resume. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 00274921a052d3232d9f00856387fb269ac0af11 Author: David Brownell Date: Mon Nov 19 12:58:36 2007 -0800 USB: gadget code switches to pr_err() and friends We now have pr_err(), pr_warning(), and friends ... start using them in the gadget stack instead of printk(KERN_ERR) and friends. This gives us shorter lines and somewhat increased readability. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 269954e542328f014fc07fbb0a986192f7a1cced Author: Alan Stern Date: Mon Nov 19 15:57:45 2007 -0500 USB: don't change HC power state for a FREEZE This patch (as1016) prevents PCI-based host controllers from undergoing a power-state change during a FREEZE or a PRETHAW. Such changes are needed only during a SUSPEND. Signed-off-by: Alan Stern CC: David Brownell Signed-off-by: Greg Kroah-Hartman commit 4145ed6dc597a9bea5f6ae8c574653b2de10620f Author: Alan Stern Date: Mon Nov 19 10:15:02 2007 -0500 USB: make ksuspend_usbd thread non-freezable This patch (as1012b) makes the ksuspend_usbd kernel thread non-freezable. Since the PM core has been changed to lock all devices during a system sleep, the thread no longer needs to be frozen. It won't interfere with a system sleep because before trying to resume a root hub device, it acquires the device's lock. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit a6a01369fdf7c1376421b243ae740465a527b96c Author: Julia Lawall Date: Wed Nov 14 09:15:16 2007 +0100 USB: Drop unnecessary continue in a few drivers Continue is not needed at the bottom of a loop. The semantic patch implementing this change is as follows: @@ @@ for (...;...;...) { ... if (...) { ... - continue; } } Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit 6d71190e945d31617324e8320965946ad17e6e8c Author: Robert P. J. Day Date: Wed Nov 14 16:21:00 2007 -0500 USB: linux/usb/Kbuild needs only "header-y", not "unifdef-y" Given that none of the referenced header files test the proprocessor conditional __KERNEL__, there's no point "unifdef"fing them. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit c87d6a4f67657f4f1b992eea43796c7e7c09fb17 Author: Aristeu Rozanski Date: Tue Nov 13 17:22:07 2007 -0500 USB: usb_serial_console: allocate fake tty and termios before calling driver open() method The usb serial method set_termios() is called for the first time from open() method in order to set up the termios structure with the default device's settings, ignoring the current settings. Once it's initialized, the next set_termios() calls will update the device with the tty->termios settings. Currently USB serial console code calls the driver open() method without a tty and after that will allocate a fake tty and termios so the command line arguments can be applied to the device (console=ttyUSB0,115200,...). This makes the driver overwrite the termios with the default settings and not applying the command line options. This patch changes usb_console_setup() to allocate the fake tty and termios before the open() method is called. Tested successfully with a pl2303 Signed-off-by: Aristeu Rozanski Signed-off-by: Greg Kroah-Hartman commit 9a6b1efa6fd1ee022fdf42c91a9868c589cc95b7 Author: Aristeu Rozanski Date: Mon Nov 12 15:15:02 2007 -0500 USB: usb_serial: clean tty reference in the last close When a usb serial adapter is used as console, the usb serial console driver bumps the open_count on the port struct used but doesn't attach a real tty to it (only a fake one temporaly). If this port is opened later using the regular character device interface, the open method won't initialize the port, which is the expected, and will receive a brand new tty struct created by tty layer, which will be stored in port->tty. When the last close is issued, open_count won't be 0 because of the console usage and the port->tty will still contain the old tty value. This is the last ttyUSB close so the allocated tty will be freed by the tty layer. The usb_serial and usb_serial_port are still in use by the console, so port_free() won't be called (serial_close() -> usb_serial_put() -> destroy_serial() -> port_free()), so the scheduled work (port->work, usb_serial_port_work()) will still run. And usb_serial_port_work() does: (...) tty = port->tty; if (!tty) return; tty_wakeup(tty); which causes (manually copied): Faulting instruction address: 0x6b6b6b68 Oops: Kernel access of bad area, sig: 11 [#1] PREEMPT PowerMac Modules linked in: binfmt_misc ipv6 nfs lockd nfs_acl sunrpc dm_snapshot dm_mirror dm_mod hfsplus uinput ams input_polldev genrtc cpufreq_powersave i2c_powermac therm_adt746x snd_aoa_codec_tas snd_aoa_fabric_layout snd_aoa joydev snd_aoa_i2sbus snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd_page_alloc pmac_zilog serial_core evdev ide_cd cdrom snd appletouch soundcore snd_aoa_soundbus bcm43xx firmware_class usbhid ieee80211softmac ff_memless firewire_ohci firewire_core ieee80211 ieee80211_crypt crc_itu_t sungem sungem_phy uninorth_agp agpart ssb NIP: 6b6b6b68 LR: c01b2108 CTR: 6b6b6b6b REGS: c106de80 TRAP: 0400 Not tainted (2.6.24-rc2) MSR: 40009032 CR: 82004024 XER: 00000000 TASK = c106b4c0[5] 'events/0' THREAD: c106c000 GPR00: 6b6b6b6b c106df30 c106b4c0 c2d613a0 00009032 00000001 00001a00 00000001 GPR08: 00000008 00000000 00000000 c106c000 42004028 00000000 016ffbe0 0171a724 GPR16: 016ffcf4 00240e24 00240e70 016fee68 016ff9a4 c03046c4 c0327f50 c03046fc GPR24: c106b6b9 c106b4c0 c101d610 c106c000 c02160fc c1eac1dc c2d613ac c2d613a0 NIP [6b6b6b68] 0x6b6b6b68 LR [c01b2108] tty_wakeup+0x6c/0x9c Call Trace: [c106df30] [c01b20e8] tty_wakeup+0x4c/0x9c (unreliable) [c106df40] [c0216138] usb_serial_port_work+0x3c/0x78 [c106df50] [c00432e8] run_workqueue+0xc4/0x15c [c106df90] [c0043798] worker_thread+0xa0/0x124 [c106dfd0] [c0048224] kthread+0x48/0x84 [c106dff0] [c00129bc] kernel_thread+0x44/0x60 Instruction dump: XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX Slab corruption: size-2048 start=c2d613a0, len=2048 Redzone: 0x9f911029d74e35b/0x9f911029d74e35b. Last user: [](release_one_tty+0xbc/0xf4) 050: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b Prev obj: start=c2d60b88, len=2048 Redzone: 0x9f911029d74e35b/0x9f911029d74e35b. Last user: [](show_stat+0x410/0x428) 000: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b This patch avoids this, clearing port->tty considering if the port is used as serial console or not Signed-off-by: Aristeu Rozanski Signed-off-by: Greg Kroah-Hartman commit 27680d232b04d434d8d49a8417429b9512ffb7c6 Author: Aristeu Rozanski Date: Mon Nov 12 15:14:49 2007 -0500 USB: usb_serial_console: fix command line parsing Currently usb serial console support ignores the device and always use ttyUSB0. Signed-off-by: Aristeu Rozanski Signed-off-by: Greg Kroah-Hartman commit d09d6a351498fcd6195f05c3964320ae6fbeadb1 Author: Oliver Bock Date: Mon Nov 12 00:42:16 2007 +0100 USB: cypress_cy7c63: updated contact/usage information here's a minor update to the cypress_cy7c63 driver providing new contact and usage information. From: Oliver Bock Signed-off-by: Greg Kroah-Hartman commit 25a010c8c1a5f0cc2e2794adf969e2df2ad1f0b6 Author: Craig W. Nadler Date: Sun Nov 11 15:00:15 2007 -0800 USB: add Printer Gadget Driver G_PRINTER: Adds a USB printer gadget driver for use in printer firmware. This adds a USB printer gadget driver for use in printer firmware. The printer gadget channels data between the USB host and a userspace program driving the print engine. The user space program reads and writes the device file /dev/g_printer to receive or send printer data. It can use ioctl calls to the device file to get or set printer status. Signed-off-by: Craig W. Nadler Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 676d3aa16f66d94bf5654781b77d1e070c8b0514 Author: Alan Stern Date: Thu Nov 8 15:15:28 2007 -0500 USB: usb-storage: new "lockable" subclass 0x07 This patch (as1011) adds a #define for the newly-created Lockable (i.e., password-protected) subclass 0x07 for USB mass-storage devices. The private ISD200 entry (which had been mapped to subclass 0x07) is moved to 0xf0, which is unlikely to conflict with any official subclass designation. The US_SC_MIN and US_SC_MAX constants aren't used anywhere, so the patch removes them. Signed-off-by: Alan Stern Cc: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit fec8de3aada6338a4069ee1df4726dd7bbbdf476 Author: Joe Perches Date: Mon Nov 19 17:53:33 2007 -0800 USB: Add missing "space" to printk messages Signed-off-by: Joe Perches Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 8c73aff6d3b772e5f373d78bc34fd47b10b35fef Author: Yoshihiro Shimoda Date: Thu Nov 22 21:00:30 2007 +0900 USB: m66592-udc: Add support for SH7722 USBF Add support for SuperH SH7722 USB Function. M66592 is similar to SH7722 USBF. It can support SH7722 USBF by changing several M66592 code. Signed-off-by: Yoshihiro Shimoda Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 9da0068a4964540d8d1caa8455fe193b544d846d Author: Matthias Kaehlcke Date: Wed Nov 21 15:13:16 2007 -0800 USB: TI 3410/5052 USB Serial: convert td_open_close_lock to mutex TI 3410/5052 USB Serial: convert semaphore td_open_close_lock to the mutex API. Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 527ea73eaea4600120117edd19ac88864a488d57 Author: Kyungmin Park Date: Wed Nov 21 15:13:15 2007 -0800 USB: device DMA support on OMAP2 The current omap udc dosen't support the DMA mode and it has some problem at setup time on OMAP2 with previous patch file. I found that the code assumes bulk out required the big data transfer. But MODE SELECT(6) sent the only 24 bytes. it makes a problem. So I implement the small packets handling for it. It is tested with both linux and windows. Signed-off-by: Kyungmin Park Cc: David Brownell Cc: Tony Lindgren Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 568fdade1415196a4835a9add48586e36a044d82 Author: Adrian Bunk Date: Wed Nov 21 15:13:15 2007 -0800 USB: usb/mon/mon_bin.c: cleanups - make the needlessly global struct mon_fops_binary static - #if 0 the unused mon_bin_mmap() and related code Signed-off-by: Adrian Bunk Cc: Alan Stern Cc: Greg KH Cc: Pete Zaitcev Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit d8d42233d4dd3b37623b27408316ffb8cf2b5e9b Author: Jeff Garzik Date: Wed Nov 21 15:13:10 2007 -0800 USB: s3c2410_udc: minor irq handler cleanups - 'irq' argument is merely used in place of a constant; replace its usage with that constant. Signed-off-by: Jeff Garzik Cc: David Brownell Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit ed8a5d49a0d4b5cf411a71476e6582f153df54e3 Author: Fernando Luis Vázquez Cao Date: Mon Nov 5 16:21:11 2007 +0900 USB: sisusb: *_ioctl32_conversion functions do not exist in recent kernels Remove dead code while at it. Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Greg Kroah-Hartman commit 63bfb1f18a50e879c5cb9684ed241052ad38efcb Author: Fernando Luis Vazquez Cao Date: Wed Nov 21 15:13:12 2007 -0800 USB: sis FB driver: *_ioctl32_conversion functions do not exist in recent kernels Remove dead code while at it. Signed-off-by: Fernando Luis Vazquez Cao Cc: Thomas Winischhofer Cc: Greg KH Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 60a8fc017103325db4b56e4f175f060a6aaac147 Author: Alain Degreffe Date: Fri Oct 26 13:51:49 2007 +0200 USB: add iuu_phoenix driver Signed-off-by: Alain Degreffe Cc: Alan Cox Cc: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit c74e809565b27085519c723a949761cea7badb4b Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 27 18:01:04 2007 +0200 USB: isd200: don't include Now that commit 3794ade5b286cbd4551009dd341dbe9aeead2bc3 removed incorrect dependency on CONFIG_IDE we can fix the driver to not include : * add ATA_REG_{ERROR,LCYL,HCYL,STATUS}_OFFSET defines and use them instead of IDE_{ERROR,LCYL,HCYL,STATUS}_OFFSET from * remove no longer needed include * remove incorrect comment added by the last commit: - isd200.c is not the only user of struct hd_driveid besides IDE (see drivers/block/xsysace.c and arch/um/drivers/ubd_kern.c) Cc: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 1365baf7249bb2d05e774e7681237b8e86f5007a Author: Oliver Neukum Date: Fri Oct 12 17:24:28 2007 +0200 USB: autosuspend for cdc-acm Here we go. This patch implements suspend/resume and autosuspend for the CDC ACM driver. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit eedffd12e07d8fd150618d603d010b491dc90354 Author: Pete Zaitcev Date: Tue Oct 23 18:57:25 2007 -0700 USB: Remove unnecessary zeroing from ub These zeroings were taken from usb-storage long time ago. I examined the submission paths and usb_fill_bulk_urb and found them unnecessary. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 5a3201b2809a9f7bcda8413c445483f5b5e490a3 Author: Tony Jones Date: Tue Sep 11 14:07:31 2007 -0700 USB: Convert from class_device to device for USB core Convert from class_device to device for drivers/usb/core. Signed-off-by: Tony Jones Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit de6f92b9ee00e9f841fb1a63d0bd60593ec55dbe Author: Greg Kroah-Hartman Date: Mon Jan 28 09:50:12 2008 -0800 USB: handle idVendor of 0x0000 Some crazy devices in the wild have a vendor id of 0x0000. If we try to add a module alias with this id, we just can't do it due to a check in the file2alias.c file. Change the test to verify that both the vendor and product ids are 0x0000 to show a real "blank" module alias. Note, the module-init-tools package also needs to be changed to properly generate the depmod tables. Cc: Janusz Cc: stable Cc: Jon Masters Signed-off-by: Greg Kroah-Hartman commit 6ce4560a39f72e45a273c652ee116f8b0fc6386f Author: Jan Andersson Date: Tue Jan 8 16:39:49 2008 +0100 usb: fix usbtest halt check on big endian systems usbtest did not swap the received status information when checking for a non-zero value and failed to discover halted endpoints on big endian systems. Cc: stable Signed-off-by: Jan Andersson Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 4b24f91c24e27ec7746549d1180b9cbd18f06000 Author: Grant Grundler Date: Wed Jan 23 21:31:03 2008 -0800 USB: storage: Add unusual_dev for HP r707 Add "FIX_CAPACITY" entry for HP Photosmart r707 Camera in "Disk" mode. Camera will wedge when /lib/udev/vol_id attempts to access the last sector, EIO gets reported to dmesg, and block device is marked "offline" (it is). Reproduced vol_id behavior with: "dd if=/dev/sda of=/dev/null skip=60800 count=1" Cc: stable Signed-off-by: Grant Grundler Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit ab91d346c82e794e9dce29cf4fda067b4961ca64 Author: Nate Carlson Date: Thu Jan 24 12:45:07 2008 -0600 USB: Variant of the Dell Wireless 5520 driver I've got a Dell wireless 5520 card with a different USB ID - specifically, 8136 instead of 8137. Attached a small patch to add support, and the output of an 'ati3'. If we could get this in, that'd be sweet. ;) Thanks! nc@knight:~/tmp/linux-2.6.24-rc8/drivers/usb/serial$ lsusb | grep 8136 Bus 001 Device 005: ID 413c:8136 Dell Computer Corp. nc@knight:~/tmp/linux-source-2.6.23/drivers/usb/serial$ cu -l ttyUSB0 -s 115200 Connected. ati3 Manufacturer: Novatel Wireless Incorporated Model: Expedite EU860D MiniCard Revision: 10.10.04.01-01 [2007-04-11 14:07:19] IMEI: 011186000228043 +GCAP: +CGSM,+DS,+ES From: Nate Carlson Cc: stable Signed-off-by: Greg Kroah-Hartman commit 0cc1a51ff32cd54881a7e4d92ed89cee49843265 Author: Oliver Neukum Date: Thu Jan 10 10:31:48 2008 +0100 USB: use GFP_NOIO in reset path this function will run in the context of the scsi error handler thread. It must use GFP_NOIO instead of GFP_KERNEL to avoid a possible deadlock. Cc: stable Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 4bb0ef193bae8ca881d14fa713a831c042147041 Author: Ed Beroset Date: Thu Jan 17 17:37:46 2008 -0500 USB: ftdi driver - add support for optical probe device Added support for the Elster Unicom III Optical Probe. The device ID has already been added to the usb.ids file. Cc: stable Signed-off-by: Ed Beroset Signed-off-by: Greg Kroah-Hartman commit 57833ea6b95a3995149f1f6d1a8d8862ab7a0ba2 Author: Akira Tsukamoto Date: Fri Jan 18 18:58:28 2008 +0900 USB: pl2303: add support for RATOC REX-USB60F pl2303: add support for RATOC REX-USB60F This patch adds support for RATOC REX-USB60F Serial Adapters, which is widely used in Japan recently. Cc: stable Signed-off-by: Akira Tsukamoto Signed-off-by: Greg Kroah-Hartman commit 94cb373a75a903a6246d3e671cabd3e7b7084105 Author: Daniel Kozák Date: Sat Jan 12 11:53:09 2008 +0100 USB: remove duplicate entry in Option driver and Pl2303 driver for Huawei modem Remove entry for Huawei E620 UMTS/HSDPA card (ID: 12d1:1001) in pl2303 driver Option driver is use instead Cc: stable Signed-off-by: Daniel Kozák Signed-off-by: Greg Kroah-Hartman commit e3e73c90e529fd882a402296581644062be0e46c Author: Bruno Redondi Date: Fri Jan 11 22:00:59 2008 +0100 USB: sierra: add support for Onda H600/Zte MF330 datacard to USB Driver for Sierra Wireless Added support for Onda H600/Zte MF330 GPRS/UMTS/HSDPA datacard Cc: stable Signed-off-by: Bruno Redondi Signed-off-by: Greg Kroah-Hartman commit 34910434a2c5556c3b44f78c1c0347709b59a4da Author: Franco Lanza Date: Wed Dec 26 03:29:33 2007 +0100 USB: ftdi-sio: Patch to add vendor/device id for ATK_16IC CCD little patches only to add vendor/device id of ATK_16IC CCD cam for astronomy. From: Franco Lanza Cc: stable Signed-off-by: Greg Kroah-Hartman commit 42f8aa945660b901a3c7f25447aa948bf03f208a Author: Peter Stark Date: Tue Dec 25 18:32:08 2007 +0100 USB: ftdi_sio - enabling multiple ELV devices, adding EM1010PC I work with a group of people on a free home automation tool called FHEM. Some of the users own more than one USB-serial device by ELV. The ftdi_sio driver has most of the ELV devices disabled by default and needs to be re-enabled every time you get a new kernel. Additionally a new device (EM 1010 PC - enegry monitor) is missing in the list. Currently our users have to follow the instructions we provide at http://www.koeniglich.de/fhem/linux.html ... However, to some users it is too complicated to compile their own kernel module. We are aware that you can specify one additional device using the vendor/product option of the module. But lot's of users own more than one device. Cc: stable Signed-off-by: Peter Stark Signed-off-by: Greg Kroah-Hartman commit da287623723f97939cdae8db44735228de15f3b5 Author: Manish Katiyar Date: Sat Dec 15 11:01:14 2007 +0530 USB : correct comments in usb/core/notify.c This patch corrects the wrong function name mentioned in the comments of usb_unregister_notify function. Signed-off-by: Manish Katiyar Signed-off-by: Greg Kroah-Hartman commit 6835b32c38d3a64669f04a3e864f6933c5fdbd73 Author: Kevin Lloyd Date: Thu Jan 10 11:11:04 2008 -0800 USB: sierra driver - add devices The following improvements were made: - Added new product support: MC5725, AC 880 U, MP 3G (UMTS & CDMA) Cc: stable Signed-off-by: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit cc311ee7d29d96f0bf15599f4456012d6f5ea23c Author: Damien Stuart Date: Sun Jan 6 13:51:39 2008 -0500 USB: Adding YC Cable USB Serial device to pl2303 This simply adds the "YC Cable" as a vendor and its pl2303-based USB<->Serial adapter as a product. This particular adapter is sold by Radio Shack. I've done limited testing on a few different systems with no issues. Cc: stable Signed-off-by: Greg Kroah-Hartman commit 62aad3ab11fb4e7c43447ac655595b9cbba3f431 Author: Jessica L. Blank Date: Sun Dec 30 20:11:35 2007 -0600 USB: Sierra - Add support for Aircard 881U Adds the appropriate vendor and device IDs for the AirCard 881U to sierra.c. (This device is often rebadged by AT&T as the USBConnect 881). Cc: stable Signed-off-by: Jessica L Blank Signed-off-by: Greg Kroah-Hartman commit 002e8f2c80c6be76bb312940bc278fc10b2b2487 Author: Piotr Roszatycki Date: Wed Jan 2 11:16:57 2008 +0100 USB: add support for 4348:5523 WinChipHead USB->RS 232 adapter add support for: 4348:5523 WinChipHead USB->RS 232 adapter with Prolifec PL 2303 chipset [ mingo@elte.hu: merged it and nursed it upstream ] Cc: stable Signed-off-by: Ingo Molnar Signed-off-by: Greg Kroah-Hartman commit 5de8b3acda2d03f8aeb21b5a267645088718c356 Author: Craig Shelley Date: Thu Jan 3 12:45:59 2008 +0000 USB: CP2101 New Device IDs Six new device IDs for CP2101 driver. Cc: stable Signed-off-by: Craig Shelley Signed-off-by: Greg Kroah-Hartman commit 2336a986793c771008b181ec65334c240ce512ca Author: Li Yang Date: Thu Jan 3 10:04:40 2008 -0800 usb gadget: fix fsl_usb2_udc potential OOPS For fsl_usb2_udc driver, ep0 also has a descriptor. Current code is misleading and contains a logical mistake. Here is the patch to fix it. http://bugzilla.kernel.org/show_bug.cgi?id=9595 Cc: stable Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 3004e5379a525d848bbe8ddff2c534ac0fb04e2c Author: Alan Cox Date: Thu Jan 3 16:59:04 2008 +0000 USB: keyspan: Fix oops If we get a data URB back from the hardware after we have put the tty to bed we go kaboom. Fortunately all we need to do is process the URB without trying to ram its contents down the throat of an ex-tty. Cc: stable Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit a14dc57495899175a0827673fe23ed17b5653896 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:36 2008 +0100 ide: move hwif_register() call out of ide_probe_port() * Add BUG_ON(hwif->present) at the start of ide_probe_port(). * Move hwif_register() call (along with setting hwif->present) from ide_probe_port() to ide_device_add_all(). As a result the port will be registered with the device tree _after_: - probing both devices (if both are present) - port reset (if hwif->reset is set) - restoring local IRQs state and re-enabling port IRQ While at it: * Rename hwif_register() to ide_register_port(). Signed-off-by: Bartlomiej Zolnierkiewicz commit e84e7ea7c4d0a6d7fbaecab2d85df0298cd9e3b4 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:36 2008 +0100 ide: factor out code for tuning devices from ide_probe_port() * Factor out code for tuning devices from ide_probe_port() to ide_port_tune_devices(). * Move ide_port_tune_devices() call from ide_probe_port() to ide_device_add_all(). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 139ddfcab50e5eabcc88341c8743a990ac1be6a2 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:36 2008 +0100 ide: move handling of I/O resources out of ide_probe_port() Reserve/release I/O resources in ide_device_add_all() instead of ide_probe_port(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 9d501529b688dada3fd90d91b1517e48d5ac3e05 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:36 2008 +0100 ide: make probe_hwif() return an error value Make probe_hwif() return an error value. While at it: * Remove comment about MAX_DRIVES == 2 limitation (it is not special to probe_hwif(), it is a general assumption taken by a lot of IDE code). * Rename probe_hwif() to ide_probe_port(). Signed-off-by: Bartlomiej Zolnierkiewicz commit fbd130887a45341259cde02e134581fb3dac6e14 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:36 2008 +0100 ide: use ide_remove_port_from_hwgroup in init_irq() There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit cae5c82022cd710ff1eedd39ca8c56b081177b18 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:36 2008 +0100 ide: prepare init_irq() for using ide_remove_port_from_hwgroup() * BUG_ON() early if 'hwif->next == hwif' and there is a 'match' hwgroup. * Remove printk() for impossible condition and add a BUG_ON(hwgroup->drive) to match code in ide_unregister(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 96e5ad309c423bc0793e746337d5632ee5a49769 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:35 2008 +0100 ide: factor out code removing port from hwgroup from ide_unregister() Signed-off-by: Bartlomiej Zolnierkiewicz commit 7cba97f12963721eca648d6901b294750a1fa3bd Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:35 2008 +0100 ide: I/O resources are released too early in ide_unregister() Release I/O resources after releasing DMA. Signed-off-by: Bartlomiej Zolnierkiewicz commit 537f06c5deaffbbe155bcc898369f889e7f3e647 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:35 2008 +0100 ide: cleanup ide_system_bus_speed() Use the facts that: * When ide_init() is called 'system_bus_speed' always equals zero. * system_bus_clock() is never called before ide_init(). and: * Move printk() from ide_system_bus_speed() to ide_init(). * Don't assign 'system_bus_speed' in ide_system_bus_speed(). * Don't call ide_system_bus_speed() in system_bus_clock(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 422278ef9585b0be62b1bd6d48935a7529aa5094 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:35 2008 +0100 ide: remove needless zeroing of hwgroup fields from init_irq() Since kmalloc_node() is called with __GFP_ZERO flag there is no need to explicitly zero hwgroup fields. While at it: * Use 'hwif' instead of 'hwif->drives[0].hwif' for kmalloc_node() call. * Fix whitespace damage. Signed-off-by: Bartlomiej Zolnierkiewicz commit a6fbb1c8c312be902f1085824c98ca50c86d5893 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:35 2008 +0100 ide: remove unused ide_hwgroup_t fields Signed-off-by: Bartlomiej Zolnierkiewicz commit 042449377e0aa559804c2072887c56760c56e079 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:35 2008 +0100 ide_platform: remove struct hwif_prop * Remove 'if (hwif != hwif_prop.hwif)' check from plat_ide_remove() (pdev->dev.driver_data and hwif_prop.hwif are set at the same time in plat_ide_probe() and are identical). * Use hwif->index for ide_unregister() in plat_ide_remove(). * Use local variables instead of hwif_prop.plat_ide[_alt]_mapbase in plat_ide_probe() and remove no longer needed struct hwif_prop. Signed-off-by: Bartlomiej Zolnierkiewicz commit 48535651f6a993924115768aa7256c371bf818e6 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:34 2008 +0100 ide: remove hwif->present manipulations from hwif_init() * Call hwif_init() only if hwif->present is set. * If hwif_init() fails clear hwif->present. * Remove hwif->present manipulations from hwif_init(). Signed-off-by: Bartlomiej Zolnierkiewicz commit c860a8f2d29b7da84fb3aed7b097f53c2c225fd6 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:34 2008 +0100 ide: move wait_hwif_ready() documentation in the right place * Move wait_hwif_ready() documentation before this function. * Fix trailing whitespaces. * s/wait-for-busy/wait-for-non-busy/ * Remove no longer valid comment about the current code behavior. * Docbook-ize it. * Rename wait_hwif_ready() to ide_port_wait_ready(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit cf7125ae05e5ac671eec2508656816bbc0a8c723 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:34 2008 +0100 ide: fix handling of busy I/O resources in probe_hwif() It could be that I/O resources are busy because some other host driver has already claimed them so don't unregister the devices. Signed-off-by: Bartlomiej Zolnierkiewicz commit 76166952bbc81dda1c8a8c14e75a2aa06f6c052c Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:34 2008 +0100 is not used by kernel code Signed-off-by: Bartlomiej Zolnierkiewicz commit dac2242047666a6709df6a2574f11c0ac8ebcd0b Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:34 2008 +0100 ide: don't include IDE doesn't need it. Signed-off-by: Bartlomiej Zolnierkiewicz commit d3f208488fcd9351e01f4e0ca088873192194094 Author: Borislav Petkov Date: Fri Feb 1 23:09:33 2008 +0100 ide-floppy: cleanup header Move ide-floppy historical changelog to Documentation/ide/ChangeLog.ide-floppy.1996-2002 Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 59bca8cc995428c34d8cdfadfa87c8e3f01c4340 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:33 2008 +0100 ide: update/add my Copyrights The last years stuff and a trip down memory lane... Signed-off-by: Bartlomiej Zolnierkiewicz commit 58f189fccc72bb8a91de1854e519b47d64fbdbaa Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:33 2008 +0100 ide: delete filenames/versions from comments Delete filenames/versions from comments. I'm leaving decisions about adding DRV_VERSION defines and MODULE_VERSION()-s to maintainers of the respective drivers. While at it: * Remove unused VERSION define from ide.c. * Remove unused/stale DRV_VERSION define from au1xxx-ide.c. Signed-off-by: Bartlomiej Zolnierkiewicz commit fadd11c71b5a100fb7560b84a6272b8883082726 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:33 2008 +0100 au1xxx-ide/rapide: use hwif->index for ide_unregister() Cc: Russell King Signed-off-by: Bartlomiej Zolnierkiewicz commit ed908fa1d037d780ebd04a412693bf3fc9c3a8fe Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:32 2008 +0100 ide-pmac: macio resource freeing bugfix Release DMA resource before zeroing pmif. Cc: Benjamin Herrenschmidt Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ed1f78899195545ec49bc9a42ee8eb35697b216a Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:32 2008 +0100 au1xxx-ide: device tree bugfix Add missing hw.dev setup (so hwif->gendev.parent will be set by ide_init_port_hw() to point to the parent device). Signed-off-by: Bartlomiej Zolnierkiewicz commit 062f9f024dcdb927cfd35c9ee8a68f59cbb1136f Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:32 2008 +0100 ide: use ide_build_sglist() and ide_destroy_dmatable() in non-PCI host drivers * Make ide_build_sglist() and ide_destroy_dmatable() available also when CONFIG_BLK_DEV_IDEDMA_PCI=n. * Use ide_build_sglist() and ide_destroy_dmatable() in {ics,au1xxx-}ide.c and remove no longer needed {ics,au}ide_build_sglist(). There should be no functionality changes caused by this patch. Cc: Russell King Signed-off-by: Bartlomiej Zolnierkiewicz commit 5c05ff68b9a9b40a9be949497e0aa980185565cf Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:32 2008 +0100 ide: switch to DMA-mapping API * pci_map_sg() -> dma_map_sg() in ide_build_sglist(). * pci_unmap_sg() -> dma_unmap_sg() in ide_destroy_dmatable(). There should be no functionality changes caused by this patch except for blackfin arch whose dma_[un]map_sg() implementation differs from pci_[un]map_sg() one (on s390 arch there is no PCI, on avr32 and h8300 archs PCI is currently unsupported, on m32r arch PCI support depends on BROKEN, on m68k arch PCI support depends on HADES which in turn depends on BROKEN, on all other archs dma_[un]map_sg() functionality matches with pci_[un]map_sg() one). blackfin behavior change was ack-ed by Bryan Wu. Cc: Bryan Wu Signed-off-by: Bartlomiej Zolnierkiewicz commit f8341c1c19730f1869f2f12e30fe56ff4afb4189 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:32 2008 +0100 icside: use hwif->dev * Setup hwif->dev in icside_setup(). * Use hwif->dev instead of state->dev in icside_build_sglist(), icside_dma_end(), icside_dma_start() and icside_dma_setup(). * Remove no longer needed 'dev' field from struct icside_state. Cc: Russell King Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5df37c34a3acf29d1eb6fc675d078654da0ab395 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:31 2008 +0100 au1xxx-ide: use hwif->dev * Setup hwif->dev in au_ide_probe(). * Use hwif->dev instead of ahwif->dev in auide_build_sglist(), auide_build_dmatable(), auide_dma_end() and auide_ddma_init(). * Remove no longer needed 'dev' field from _auide_hwif type. Signed-off-by: Bartlomiej Zolnierkiewicz commit 36501650ec45b1db308c3b51886044863be2d762 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:31 2008 +0100 ide: keep pointer to struct device instead of struct pci_dev in ide_hwif_t Keep pointer to struct device instead of struct pci_dev in ide_hwif_t. While on it: * Use *dev->dma_mask instead of pci_dev->dma_mask in ide_toggle_bounce(). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit f6fb786d6dcdd7d730e4fba620b071796f487e1b Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:31 2008 +0100 ide: use ide_destroy_dmatable() instead of pci_unmap_sg() (take 2) Use ide_destroy_dmatable() in: * ide-dma.c::ide_build_dmatable() * sgiioc4.c::sgiioc4_build_dma_table() * pmac.c::pmac_ide_{build,destroy}_dmatable() There should be no functionality changes caused by this patch. v2: * pmac.c build fix from Andrew Morton. Cc: Sergei Shtylyov Cc: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit fcc1175947510d7d7dc82d5c1b8315cb8fcb96ca Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:31 2008 +0100 ide: remove BUG_ON() from ide_build_sglist() do_rw_taskfile() has been fixed to check the return value of ->dma_setup method so this BUG_ON() is no longer needed. Signed-off-by: Bartlomiej Zolnierkiewicz commit 425afb61032a245f53320b7efa0f0dfd7a23f87f Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:31 2008 +0100 ide: fix ide_intr() for non-PCI devices and CONFIG_BLK_DEV_IDEPCI=y 'hwif->pci_dev && !hwif->pci_dev->vendor' condition is never true, check for 'hwif->chipset != ide_pci' instead. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2be564b03483e57dc0efbd91d91393665caa5aa4 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:30 2008 +0100 piix: remove stale comments Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4166c1993b9e7f87c4d08e2e27f83ada890c2599 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:30 2008 +0100 ide: add IDE_HFLAG_NO_DSC host flag * Add IDE_HFLAG_NO_DSC host flag for hosts that doesn't support DSC overlap. * Set it in aec62xx (for ATP850UF only) and hpt34x host drivers. * Convert ide-tape device driver to check for IDE_HFLAG_NO_DSC flag. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8ac2b42a45896641ed292deaf038a1d2703d85a6 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:30 2008 +0100 ide: add IDE_HFLAG_CLEAR_SIMPLEX host flag * Rename 'simplex_stat' variable to 'dma_stat' in ide_get_or_set_dma_base(). * Factor out code for forcing host out of "simplex" mode from ide_get_or_set_dma_base() to ide_pci_clear_simplex() helper. * Add IDE_HFLAG_CLEAR_SIMPLEX host flag and set it in alim15x3 (for M5229), amd74xx (for AMD 7409), cmd64x (for CMD643), generic (for Netcell) and serverworks (for CSB5) host drivers. * Make ide_get_or_set_dma_base() test for IDE_HFLAG_CLEAR_SIMPLEX host flag instead of checking dev->device (BTW the code was buggy because it didn't check for dev->vendor, luckily none of these PCI Device IDs was used by some other vendor for PCI IDE controller). Signed-off-by: Bartlomiej Zolnierkiewicz commit 993da8f9ea7e00d21af49d0e14a131183288bcf8 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:30 2008 +0100 amd74xx: remove amd_ide_chips table * Remove no longer needed assertion from amd74xx_probe(). * Factor out cable detection for AMD7409 to amd7409_cable_detect() and for chipsets >= AMD7411 to amd7411_cable_detect(). * Use dev->vendor and dev->device instead of amd_config->udma_mask when selecting cable detection method and checking for broken FIFO support in init_chipset_amd74xx(). * Remove no longer needed AMD_BAD_FIFO define. * Add 'swdma' parameter for setting .swdma_mask to DECLARE_AMD_DEV() macro. * Add 'udma' parameter for setting .udma_mask to DECLARE_{AMD,NV}_DEV() macro. * Keep a copy of a current amd74xx_chipsets[] entry in amd74xx_probe() in order to fix ->swdma_mask on early AMD7409 revisions and ->udma_mask on Serenade mainboards. * Remove no longer needed fixups from init_chipset_amd74xx() and AMD_CHECK_{SWDMA,SERENADE} defines. * Move printing banner message from init_chipset_amd74xx() to amd74xx_probe(), also remove incorrect comment while at it. * Use hwif->ultra_mask instead of amd_config->udma_mask in amd_set_drive(). * Add 'udma_mask' argument to amd_set_speed() and pass UDMA mask from amd_set_drive() instead of using amd_config->udma_mask. * Move amd_config->base from AMD_* defines to users of these defines and add 0x40 the defined values. Then add amd_offset() inline helper for selecting offset from 0x40 base (needed for nVidia controllers) and finally use it in amd_set_speed(), amd7411_cable_detect() and init_chipset_amd74xx() instead of amd_config->base. * Remove no longer needed AMD_BAD_SWDMA define, ->{swdma,ultra}_mask setup from init_hwif_amd74xx(), amd_{config,chipset} variables and amd_ide_chips table. * Fix init_chipset_amd74xx() comment. * Bump driver version. There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit ecf32796395ed0e27667e7f735946d6dc60e1765 Author: Sergei Shtylyov Date: Fri Feb 1 23:09:30 2008 +0100 ide: ide_setup_dma() assumes 8 ports According to http://marc.info/?l=linux-ide&m=114346138611631, the drivers must always register 8 DMA ports with ide_setup_dma(), so its last argument is not needed. While at it, kill some useless parens in that function... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4e5a68aeb6b513ee0adda11642e10e528b7721c0 Author: Sergei Shtylyov Date: Fri Feb 1 23:09:29 2008 +0100 trm290: cannot call ide_setup_dma() The TRM-290 chip is *not* SFF-8038i compatible and therefore can *not* call ide_setup_dma() -- fix this and also cleanup the code a bit... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f9afd18b5827be93fd9fb3cc84ab9bba38b00db8 Author: Borislav Petkov Date: Fri Feb 1 23:09:29 2008 +0100 ide-cd: move the remaining cdrom.c ioctl handling code to ide-cd_ioctl.c There should be no functional changes from this. Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit d554336514a63342c2e4b06b4287ad93c112b00f Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:29 2008 +0100 ide-{floppy,tape}: remove debug code for dumping identify data IDE core supports dumping raw identify data in hdparm friendly format now so verbose identify dumping in ide-{floppy,tape}.c device drivers (done iff IDE{FLOPPY,TAPE}_DEBUG_INFO is defined to '1' and it is '0' by default) is no longer nedeed. Signed-off-by: Bartlomiej Zolnierkiewicz commit 7b9f25b539c3fa3c7b8c82775488a0021d90220f Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:28 2008 +0100 ide: add ide_dump_identify() debug helper * Add ide_dump_identify() debug helper for dumping raw identify data in the hdparm friendly format (== the identify data can be extracted from dmesg output and passed to hdparm --Istdin). * Dump identify data in ide-probe.c::do_identify() if DEBUG is enabled. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3bb4663bd82e6d536a4b46166b00e93d5072e656 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:28 2008 +0100 ide-cd: update driver version, comments and copyrights * Bump driver version. * Remove filename and stale TODO from comments. * Add my copyrights. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit bbb89e3d7a7da7a4bac535c42da05143b2db5d71 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:28 2008 +0100 ide-cd: unify request end exit path in cdrom_decode_status() There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 0d6f7e3a1845165b81adab3fc5fd13916f22aa61 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:28 2008 +0100 ide-cd: merge cdrom_write_check_ireason() and cdrom_read_check_ireason() Add 'rw' parameter to cdrom_read_check_ireason(), make it handle both read and write checking, rename it to ide_cd_check_ireason(), finally remove no longer needed cdrom_write_check_ireason(). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 0041e7c6ca9719309bef6a4754e4eb9566b37ae1 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:28 2008 +0100 ide-cd: merge cdrom_rw_intr() and cdrom_newpc_intr() Add handling of fs read/write requests to cdrom_nepwc_intr() and remove no longer needed cdrom_rw_intr(). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 48ea0b216ba96d14228ee0cb4c964b3b495ff0a8 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:27 2008 +0100 ide-cd: call blk_dump_rq_flags() on "missing data" in cdrom_rw_intr() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit a11e77db4982d44bf610dc7257b0fca3f7202403 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:27 2008 +0100 ide-cd: prepare cdrom_rw_intr() and cdrom_newpc_intr() to be merged In cdrom_newpc_intr(): * cleanup variables in the 'transfer data' loop In cdrom_rw_intr(): * rename 'sectors_to_transfer' to 'thislen' * rename 'this_transfer' to 'blen' * keep number of bytes (instead of sectors) in 'thislen' and 'blen' * call 'xferfunc' only once for 'blen' * cache 'rq->buffer' in 'ptr' variable * check for 'rq->bio' before setting 'ptr' and 'blen' * check for 'ptr' instead of 'rq->current_nr_sectors' There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 37782fcefcca437f870e581e6cc316111f8b7660 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:27 2008 +0100 ide-cd: unify moving to the next buffer in cdrom_rw_intr() Use the fact that for the first loop rq->current_nr_sectors is always set and unify moving to the next buffer for read/write requests. There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 21ea1f0f011a5bbfbc3f5c134a4e537e5f5c1c50 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:27 2008 +0100 ide-cd: merge cdrom_start_read() and cdrom_start_write() Add handling of read requests to cdrom_start_write(), rename it to cdrom_start_rw() and remove no longer needed cdrom_start_read(). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 29f3aaca3c134d14309f6b0254edcfce54a0b00c Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:27 2008 +0100 ide-cd: merge cdrom_start_read_continuation() and cdrom_start_rw_cont() * Add handling of write requests to cdrom_start_read_continuation(), rename it to cdrom_start_rw_cont() and remove no longer needed cdrom_start_write_cont(). * Remove redundant '(rq->sector & (sectors_per_frame - 1)' check. There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 94f5a86dc37c66b9ec0d7426a7518740fa41d871 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:26 2008 +0100 ide-cd: merge cdrom_read_intr() and cdrom_write_intr() Add handling of read requests to cdrom_write_intr(), rename it to cdrom_rw_intr() and remove no longer needed cdrom_read_intr(). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 64814f2399e7dd1e6e53dd7d08a4ad54d02665d3 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:26 2008 +0100 ide-cd: factor out transfer size checking from cdrom_read_intr() This is a preparation for cdrom_read_intr() and cdrom_write_intr() merge. Signed-off-by: Bartlomiej Zolnierkiewicz commit b4ab726c92f8a2c1635958212e8933309de0a37a Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:26 2008 +0100 ide-cd: add ide_cd_drain_data() helper Add ide_cd_drain_data() and use it in cdrom_{buffer_sectors,read_intr}() (as a nice side-effect this cuts 0.5kB of code from ide-cd.o). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit c9f56a801a3a9d76119868a687bc220d29055625 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:26 2008 +0100 ide-cd: merge cdrom_do_packet_command() and cdrom_do_block_pc() Add REQ_TYPE_{SENSE,ATA_PC} requests handling to cdrom_do_block_pc() and remove cdrom_do_packet_command(). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit a7c7d16383748029de8187075cabbc3f5df2cd78 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:26 2008 +0100 ide-cd: remove cdrom_do_pc_continuation() cdrom_do_pc_continuation() is now identical to cdrom_do_newpc_cont() so just always use the latter function. Signed-off-by: Bartlomiej Zolnierkiewicz commit ff1bfbc1f02f7c293a03a64722291c539deb162c Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:25 2008 +0100 ide-cd: merge cdrom_pc_intr() and cdrom_newpc_intr() Add handling of REQ_TYPE_{SENSE,ATA_PC} requests to cdrom_newpc_intr() (please note that these requests never have 'bio' attached to them and they never use DMA), then remove no longer needed cdrom_pc_intr(). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 8b67ebf6dae0b0743bad1641e9691a1205adbf9e Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:25 2008 +0100 ide-cd: unify request end exit path in cdrom_pc_intr() This is a preparation for cdrom_pc_intr() and cdrom_newpc_intr() merge. Signed-off-by: Bartlomiej Zolnierkiewicz commit 8ee69f5a83660796ffa1d33e67d0064db44cfc23 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:25 2008 +0100 ide-cd: factor out request sense fixup from cdrom_pc_intr() This is a preparation for cdrom_pc_intr() and cdrom_newpc_intr() merge. Signed-off-by: Bartlomiej Zolnierkiewicz commit 03f537d50af7381317351396480411b3e00e6c7e Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:25 2008 +0100 ide-cd: call blk_dump_rq_flags() on "missing data" in cdrom_newpc_intr() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 98add71ee0af6dbf1496ac8007bcf253c4e23078 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:25 2008 +0100 ide-cd: remove BUG_ON() from cdrom_newpc_intr() There is no need for it anylonger and ide_set_handler() complains if ->handler is not NULL anyway. Signed-off-by: Bartlomiej Zolnierkiewicz commit 17802998d2c8007d06565c39101d218f579c4454 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:25 2008 +0100 ide-cd: move code handling cdrom.c IOCTLs to ide-cd_ioctl.c There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 139c829d9d83cfd6b51682f11a431283121e24b7 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:24 2008 +0100 ide-cd: rename cdrom_* functions to ide_cd_* * cdrom_prepare_request() -> ide_cd_init_rq() * cdrom_queue_packet_command() -> ide_cd_queue_pc() * cdrom_lockdoor() -> ide_cd_lockdoor() * cdrom_read_toc() -> ide_cd_read_toc() * cdrom_get_toc_entry() -> ide_cd_get_toc_entry() This is a preparation to move code handling cdrom.c IOCTLs out of ide-cd.c. Signed-off-by: Bartlomiej Zolnierkiewicz commit 5c937ae4e7928f825dde2713e9ebba68d50ece6c Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:24 2008 +0100 ide-cd: coding style fixes for cdrom_get_toc_entry() This is a preparation to move code handling cdrom.c IOCTLs out of ide-cd.c. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit a1bb9457f06439f22571e93bddcca63144a08296 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:24 2008 +0100 ide-cd: move lba_to_msf() and msf_to_lba() to * Move lba_to_msf() and msf_to_lba() to (use 'u8' type instead of 'byte' while at it). * Remove msf_to_lba() copy from drivers/cdrom/cdrom.c. Acked-by: Jens Axboe Signed-off-by: Bartlomiej Zolnierkiewicz commit 5c68429dfe8256c6069555e5851838f8e3175f78 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:24 2008 +0100 ide-cd: merge cdrom_select_speed() into ide_cdrom_select_speed() Signed-off-by: Bartlomiej Zolnierkiewicz commit 53126b91274b1f2186b17c1f587c662ab74b631f Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:24 2008 +0100 ide-cd: merge cdrom_read_subchannel() into ide_cdrom_get_mcn() Signed-off-by: Bartlomiej Zolnierkiewicz commit a891b1446b02509e5c7e5888a9f2a02edf8651a3 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:23 2008 +0100 ide-cd: merge cdrom_play_audio() into ide_cd_fake_play_trkind() Signed-off-by: Bartlomiej Zolnierkiewicz commit ba3fab24d210544cba74b3fd640123baf33ed331 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:23 2008 +0100 ide-cd: factor out ioctl handlers from ide_cdrom_audio_ioctl() Signed-off-by: Bartlomiej Zolnierkiewicz commit 972560fb9d9ea7bc7082c0c79c99c24e3f56606c Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:23 2008 +0100 ide-cd: move VERBOSE_IDE_CD_ERRORS code to ide-cd_verbose.c * Rename ide-cd kernel module to ide-cd_mod in preparation to moving code out from ide-cd.[c,h]. Add MODULE_ALIAS("ide-cd") to preserve compatibility. * Move VERBOSE_IDE_CD_ERRORS code from ide-cd.[c,h] to ide-cd_verbose.c. ide-cd_verbose.c is IDE subsystem independent and may be easily converted into generic library usable by other drivers (i.e. libata) if needed. * Add CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS config option to drivers/ide/Kconfig replacing VERBOSE_IDE_CD_ERRORS define. Make this config option enabled by default and visible only if CONFIG_EMBEDDED is defined. before the patch: text data bss dec hex filename 22841 360 1056 24257 5ec1 drivers/ide/ide-cd.o after the patch w/ CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y: text data bss dec hex filename 22857 360 1056 24273 5ed1 drivers/ide/ide-cd_mod.o after the patch w/ CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=n: text data bss dec hex filename 15091 360 1056 16507 407b drivers/ide/ide-cd_mod.o Signed-off-by: Bartlomiej Zolnierkiewicz commit 89d13ec7c8b85f3c62a4a12034e65d3d2d3273a8 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:23 2008 +0100 ide-cd: coding style fixes for VERBOSE_IDE_CD_ERRORS code * Coding style fixes for VERBOSE_IDE_CD_ERRORS code. * Add KERN_{ERR,CONT} printk() levels where needed. This is a preparation for moving this code out of ide-cd.[c,h]. Signed-off-by: Bartlomiej Zolnierkiewicz commit 1b1215d5e954726b142d5408dfd6d7153b3abe8b Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:23 2008 +0100 ide-cd: remove duplicate sense keys definitions from ide-cd.h ide-cd.c already uses sense keys definitions from . Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit e59724c7db9afd14827f1b737605f54d47f2d226 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:22 2008 +0100 ide-cd: re-organize handling of quirky devices Re-organize handling of quirky devices: * Add struct cd_list_entry, ide_cd_quirks_list[] and ide_cd_flags() helper. * Set flags returned by ide_cd_flags() in ide_cdrom_setup(). * Add IDE_CD_FLAG_VERTOS_{300_SDD,600_ESD} and IDE_CD_FLAG_SANYO_3CD flags. * Move device quirks from ide_cdrom_setup() to ide_cd_quirks_list[]. * Rename IDE_CD_FLAG_NEC260 to IDE_CD_FLAG_PRE_ATAPI12 and handle quirky Stingray 8X CD-ROM using ide_cd_quirks_list[]. * Add IDE_CD_FLAG_FULL_CAPS_PAGE flag and handle quirky ACER 50X CD-ROM / WPI 32X CD-ROM using ide_cd_quirk_list[]. * Add IDE_CD_FLAG_PLAY_AUDIO_OK flag and handle quirky MATSHITA DVD-ROMs using ide_cd_quirks_list[]. * Add IDE_CD_FLAG_LE_SPEED_FIELDS flag and handle quirky ACER/AOpen 24X CD-ROM using ide_cd_quirk_list[]. * Fix some comments about quirky devices while at it. There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 9a6dc668d9b4d639936c683879eb1e0f92c5b944 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:22 2008 +0100 ide-cd: use BCD2BIN()/BIN2BCD() macros from Use BCD2BIN()/BIN2BCD() macros from and remove the local bcd2bin()/bin2bcd() inlines. Signed-off-by: Bartlomiej Zolnierkiewicz commit cdf6000d7e332d0f7f14233e71dee489628f5aae Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:22 2008 +0100 ide-cd: remove STANDARD_ATAPI define Remove STANDARD_ATAPI define + drive-by coding style fixes. Signed-off-by: Bartlomiej Zolnierkiewicz commit 3fc3cbf786b6e73cd5cfe2f3233410a260405c86 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:22 2008 +0100 ide-cd: remove NO_DOOR_LOCKING define Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2bc4cf2d826cb497063f6a84ab444cff13537e5f Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:22 2008 +0100 ide-cd: remove struct ide_cd_{config,state}_flags * Remove unused ->{writing,reserved} fields from struct ide_cd_config_flags. * Move ->max_speed from struct ide_cd_config_flags to struct cdrom_info. * Move ->current_speed from struct ide_cd_state_flags to struct cdrom_info. * Add defines for config and state flags. * Add 'unsigned int cd_flags' to struct cdrom_info and use ->cd_flags instead of ->{config,state}_flags. * Remove no longer needed struct ide_cd_{config,state}_flags. Signed-off-by: Bartlomiej Zolnierkiewicz commit 455d80a9553915251b6392e31c39aeb8f8a94d68 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:21 2008 +0100 ide-cd: remove struct atapi_capabilities_page (take 2) * Remove struct atapi_capabilities_page. * Add ATAPI_CAPABILITIES_PAGE[_PAD]_SIZE define. v2: * The buf[] array access indexes were swapped between 'curspeed'/'maxspeed'. (Noticed by Borislav Petkov). Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 0ba11211f9ac583333aac44daec5af4f7eeba217 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:21 2008 +0100 ide-cd: kill CDROM_STATE_FLAGS() macro While at it rename 'info' variable to 'cd' in cdrom_saw_media_change(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 4fe6717862d4977b8e61307a2623ed7739068bdc Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:21 2008 +0100 ide-cd: kill CDROM_CONFIG_FLAGS() macro While at it rename 'info' variable to 'cd' in ide_cdrom_probe_capabilities() and ide_cdrom_setup(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 3f1b86d89dc73dedda426a85e600ad244ed9fad4 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:20 2008 +0100 ide-cd: remove redundant config flags * Use CDC_* flags directly and remove redundant flags from ->config_flags. While at it: * Add KERN_CONT to printk()-s in ide_cdrom_probe_capabilities(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 20e7f7efa3da3678c65cea45903260dfabb8264c Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:20 2008 +0100 ide-cd: add IDE_CD_CAPABILITIES define While at it remove stale/incorrect comment. Signed-off-by: Bartlomiej Zolnierkiewicz commit 481c8c6476f86d7e92435764ba710315d644a45e Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:20 2008 +0100 ide-cd: cleanup ide_cdrom_update_speed() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f18f960c5c1568fa2f720e2cb31d6c1af9ea1e1a Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:19 2008 +0100 ide-cd: remove struct atapi_{mechstat_header,changer_info,slot} * Remove ->changer_info from struct cdrom_info (it is never allocated). * Remove unused struct atapi_{mechstat_header,changer_info,slot}. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2609d06d36317cc22f6d3c37186a8cf1a5f87ba6 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:19 2008 +0100 ide-cd: remove unused and write-only struct ide_cd_config_flags fields unused fields: * ->writing * ->reserved write-only fields: * ->playmsf_as_bcd * ->subchan_as_bcd * ->test_write * ->supp_disc_present Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit b8d25dee3b73b572ea1778671098ee7b943133c5 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:19 2008 +0100 ide-cd: remove needless zeroing of 'info' fields from ide_cdrom_setup() ide_cd_probe() zeroes 'info' prior to calling ide_cdrom_setup() so there is no need to explicitly zero 'info' fields in the latter function. Ditto for fields of CDROM_STATE_FLAGS(), CDROM_CONFIG_FLAGS() and 'cdi' (all are embedded in 'info'). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f17b0e02c0035b90c4e943f6e2cca840f82dce0f Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:19 2008 +0100 ide-cd: remove unused struct atapi_cdrom_subchnl Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 6229ac1ff32692694b7b0e74585b1ef6fa8973fd Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:18 2008 +0100 ide-cd: remove dead code from cdrom_pc_intr() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9f8256dbb690eeb93a8b2422ff02382e3a19ed20 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:18 2008 +0100 ide-cd: remove unused defines from ide-cd.h Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4415e871d6d497f0a90332c4b3a488ebccbf217d Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:18 2008 +0100 ide-cd: remove stale cdrom_transfer_packet_command() comment Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 03553353e91121dbe57f4a6d40b731374ff7438a Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:18 2008 +0100 ide-cd: move historical changelog to Documentation/ide/ChangeLog.ide-cd.1994-2004 Signed-off-by: Bartlomiej Zolnierkiewicz commit cc6dbef25273f032d2b580bd0519ea950cb7cb83 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:18 2008 +0100 ide-cd: fix trailing whitespaces in changelog Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit eba15fba1f046d25c663d294fc919ab59cec3e9c Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:17 2008 +0100 ide-cd: fix DMA error handling in cdrom_newpc_intr() Make cdrom_newpc_intr() match cdrom_{read,write}_intr() w.r.t. handling DMA errors: * disable DMA before cdrom_decode_status() call * log the device name and the type of the request (read/write) Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f1071e628bc769174c3e2df7827a2a8ad05aea67 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:17 2008 +0100 ide-cd: fix "missing data" handling in cdrom_pc_intr() If drive still wants to transfer the data we need to pad the transfer instead of just finishing the request. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5a5222d9fa4aa7ae3b1d5c126cb9c83124d75af5 Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:17 2008 +0100 ide-cd: add ide_cd_pad_transfer() helper Add ide_cd_pad_transfer() helper and use it in cdrom_[new]pc_intr() and cdrom_{read,write}_check_ireason(). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 68661c53a2a847b9a0d6d232a85b2e063573307a Author: Bartlomiej Zolnierkiewicz Date: Fri Feb 1 23:09:17 2008 +0100 ide-cd: use xfer_func_t in cdrom_pc_intr() Unify writing and reading handling in cdrom_pc_intr() using xfer_func_t. There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 468e468139ffbc4f0ce44862eec6dd0f5ac80945 Author: Adrian Bunk Date: Fri Feb 1 23:09:16 2008 +0100 ide/ppc/pmac.c section fixes This patch fixes the following section mismatch: <-- snip --> ... WARNING: vmlinux.o(.text+0x3b641c): Section mismatch in reference from the function .pmac_ide_setup_device() to the function .init.text:.pmac_ide_setup_dma() ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Bartlomiej Zolnierkiewicz commit da6f4c7f6fe02f92aff72071ed541f59e5880398 Author: Adrian Bunk Date: Fri Feb 1 23:09:16 2008 +0100 ide: make wait_drive_not_busy() static again After commit 7267c3377443322588cddaf457cf106839a60463 wait_drive_not_busy() can become static again. Signed-off-by: Adrian Bunk Signed-off-by: Bartlomiej Zolnierkiewicz commit 2eae6ebbf99a083687466c010e3129fede9cdb4b Author: Adrian Bunk Date: Fri Feb 1 23:09:16 2008 +0100 ide: small ide-scan-pci.c cleanup - ide_scan_pcibus() can become static - instead of ide_scan_pci() we can use ide_scan_pcibus() directly in module_init() Signed-off-by: Adrian Bunk Signed-off-by: Bartlomiej Zolnierkiewicz commit a4b5a4d91d6555df56489094cd5846cd03fc9239 Author: Adrian Bunk Date: Fri Feb 1 23:09:16 2008 +0100 ide: unexport ide_dma_on ide_dma_on can be unexported. Signed-off-by: Adrian Bunk Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit e665d50543981efef940178b95994b73ec41b77d Author: Frans Pop Date: Fri Feb 1 23:09:16 2008 +0100 ide/Kconfig: use 'on-board' instead of 'built-in' in config options To avoid confusion between 'built-in' drivers and 'on-board' controllers, consistently use the term 'on-board' for controllers. Minor line-wrapping improvements in descriptions for config options. [ Bart: thanks to Jan for 'built-in'->'on-board' suggestion ] Signed-off-by: Frans Pop Cc: Jan Engelhardt Signed-off-by: Bartlomiej Zolnierkiewicz commit e79f8126799775fa48d8b39ad31cb518101b61e2 Author: Geert Uytterhoeven Date: Fri Feb 1 23:09:15 2008 +0100 Atari Falcon IDE: Add missing hwif variable Commit cbb010c180294a5242a7681555c28737d9dd26ab ide: drop 'initializing' argument from ide_register_hw() * Rename init_hwif_data() to ide_init_port_data() and export it. * For all users of ide_register_hw() with 'initializing' argument set hwif->present and hwif->hold are always zero so convert these host drivers to use ide_find_port()+ide_init_port_data()+ide_init_port_hw() instead (also no need for init_hwif_default() call since the setup done by it gets over-ridden by ide_init_port_hw() call). * Drop 'initializing' argument from ide_register_hw(). introduced the usage of a hwif variable, but forgot to declare the actual variable. Signed-off-by: Geert Uytterhoeven Cc: Sergei Shtylyov Signed-off-by: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit ea339d46b93c7b16e067a29aad1812f7a389815a Author: Chuck Lever Date: Fri Oct 26 13:32:56 2007 -0400 SUNRPC: RPC program information is stored in unsigned integers Clean up: When looping over RPC version and procedure numbers, use unsigned index variables. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust Signed-off-by: J. Bruce Fields commit d2f7e79e3bad31b3d52c405085b9e01e5f6c01e0 Author: Trond Myklebust Date: Sat Jul 14 15:39:58 2007 -0400 SUNRPC: Move exported symbol definitions after function declaration part 2 Do it for the server code... Signed-off-by: Trond Myklebust Signed-off-by: J. Bruce Fields commit cbb51afa6d69be003cc827a89e023906885f241e Merge: dd5f5fe... b95d58e... Author: Linus Torvalds Date: Sat Feb 2 08:47:54 2008 +1100 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: (24 commits) pci: allow multiple calls to pcim_enable_device() Blackfin pata-bf54x driver: fix compiling bug - no ata_port struct in struct ata_device any more Blackfin pata-bf54x driver: should cover all possible interrupt sources Blackfin pata-bf54x driver: Add debug information Blackfin pata-bf54x driver: Remove obsolete PM function pata_sl82c105: dual channel support ata_piix.c: make piix_merge_scr() static sata_nv: fix for completion handling sata_mv: Remove PCI dependency sata_mv ncq Comments and version bump sata_mv ncq Remove post internal cmd op sata_mv ncq Enable NCQ operation sata_mv ncq Introduce per-tag SG tables ata_piix: IDE mode SATA patch for Intel ICH10 DeviceID's ahci: RAID mode SATA patch for Intel ICH10 DeviceID's sata_mv ncq Use DMA memory pools for hardware memory tables sata_mv ncq Restrict max sectors to 8-bits on GenII NCQ sata_mv ncq Ignore response status LSB on NCQ sata_mv ncq Use hqtag instead of ioid sata_mv ncq Add want ncq parameter for EDMA configuration ... commit d801b861681116ea23a7fb87a70bf463d29c8b9c Author: Jeff Layton Date: Tue Jan 29 10:30:55 2008 -0500 NLM: tear down RPC clients in nlm_shutdown_hosts It's possible for a RPC to outlive the lockd daemon that created it, so we need to make sure that all RPC's are killed when lockd is coming down. When nlm_shutdown_hosts is called, kill off all RPC tasks associated with the host. Since we need to wait until they have all gone away, we might as well just shut down the RPC client altogether. Signed-off-by: Jeff Layton Signed-off-by: J. Bruce Fields commit 0113ab34644649aceaac37ef4b7e5c7d5c183be3 Author: Jeff Layton Date: Tue Jan 29 10:30:54 2008 -0500 SUNRPC: spin svc_rqst initialization to its own function Move the initialzation in __svc_create_thread that happens prior to thread creation to a new function. Export the function to allow services to have better control over the svc_rqst structs. Also rearrange the rqstp initialization to prevent NULL pointer dereferences in svc_exit_thread in case allocations fail. Signed-off-by: Jeff Layton Reviewed-by: NeilBrown Signed-off-by: J. Bruce Fields commit 87d26ea7771ad637035e6bd5a2700d81ee9162da Author: J. Bruce Fields Date: Tue Jan 22 17:40:42 2008 -0500 nfsd: more careful input validation in nfsctl write methods Neil Brown points out that we're checking buf[size-1] in a couple places without first checking whether size is zero. Actually, given the implementation of simple_transaction_get(), buf[-1] is zero, so in both of these cases the subsequent check of the value of buf[size-1] will catch this case. But it seems fragile to depend on that, so add explicit checks for this case. Signed-off-by: J. Bruce Fields Acked-by: NeilBrown commit 50431d94e732ba71b66a83c5435890728e313095 Author: J. Bruce Fields Date: Fri Aug 31 17:09:33 2007 -0400 lockd: minor log message fix Wendy Cheng noticed that function name doesn't agree here. Signed-off-by: J. Bruce Fields Cc: Wendy Cheng commit f7b8066f9ff68016489ff6f9fb358aa59bd14e1b Author: J. Bruce Fields Date: Mon Jan 21 12:20:45 2008 -0500 knfsd: don't bother mapping putrootfh enoent to eperm Neither EPERM and ENOENT map to valid errors for PUTROOTFH according to rfc 3530, and, if anything, ENOENT is likely to be slightly more informative; so don't bother mapping ENOENT to EPERM. (Probably this was originally done because one likely cause was that there is an fsid=0 export but that it isn't permitted to this particular client. Now that we allow WRONGSEC returns, this is somewhat less likely.) In the long term we should work to make this situation less likely, perhaps by turning off nfsv4 service entirely in the absence of the pseudofs root, or constructing a pseudofilesystem root ourselves in the kernel as necessary. Thanks to Benny Halevy for pointing out this problem. Signed-off-by: J. Bruce Fields Cc: Benny Halevy commit 4b8449af75fa2e2d9736ec503a818be626a4e763 Author: Tom Tucker Date: Wed Dec 12 16:13:30 2007 -0600 rdma: makefile Add the svcrdma module to the xprtrdma makefile. Signed-off-by: Tom Tucker Acked-by: Neil Brown Signed-off-by: J. Bruce Fields commit ef1eac0a3fa86b06aa2d87021f157d13abc1903f Author: Tom Tucker Date: Wed Dec 12 16:13:27 2007 -0600 rdma: ONCRPC RDMA protocol marshalling This logic parses the ONCRDMA protocol headers that precede the actual RPC header. It is placed in a separate file to keep all protocol aware code in a single place. Signed-off-by: Tom Tucker Acked-by: Neil Brown Signed-off-by: J. Bruce Fields commit c06b540a54ad01d2fda8cfb5d8823b9b3d8d1cb2 Author: Tom Tucker Date: Wed Dec 12 16:13:25 2007 -0600 rdma: SVCRDMA sendto This file implements the RDMA transport sendto function. A RPC reply on an RDMA transport consists of some number of RDMA_WRITE requests followed by an RDMA_SEND request. The sendto function parses the ONCRPC RDMA reply header to determine how to send the reply back to the client. The send queue is sized so as to be able to send complete replies for requests in most cases. In the event that there are not enough SQ WR slots to reply, e.g. big data, the send will block the NFSD thread. The I/O callback functions in svc_rdma_transport.c that reap WR completions wake any waiters blocked on the SQ. In general, the goal is not to block NFSD threads and the has_wspace method stall requests when the SQ is nearly full. Signed-off-by: Tom Tucker Acked-by: Neil Brown Signed-off-by: J. Bruce Fields commit d5b31be6823320d81570e0199acd60d3a3f75d85 Author: Tom Tucker Date: Wed Dec 12 16:13:23 2007 -0600 rdma: SVCRDMA recvfrom This file implements the RDMA transport recvfrom function. The function dequeues work reqeust completion contexts from an I/O list that it shares with the I/O tasklet in svc_rdma_transport.c. For ONCRPC RDMA, an RPC may not be complete when it is received. Instead, the RDMA header that precedes the RPC message informs the transport where to get the RPC data from on the client and where to place it in the RPC message before it is delivered to the server. The svc_rdma_recvfrom function therefore, parses this RDMA header and issues any necessary RDMA operations to fetch the remainder of the RPC from the client. Special handling is required when the request involves an RDMA_READ. In this case, recvfrom submits the RDMA_READ requests to the underlying transport driver and then returns 0. When the transport completes the last RDMA_READ for the request, it enqueues it on a read completion queue and enqueues the transport. The recvfrom code favors this queue over the regular DTO queue when satisfying reads. Signed-off-by: Tom Tucker Acked-by: Neil Brown Signed-off-by: J. Bruce Fields commit 377f9b2f4529e0ac702fd7b91e216afd0adc959e Author: Tom Tucker Date: Wed Dec 12 16:13:21 2007 -0600 rdma: SVCRDMA Core Transport Services This file implements the core transport data management and I/O path. The I/O path for RDMA involves receiving callbacks on interrupt context. Since all the svc transport locks are _bh locks we enqueue the transport on a list, schedule a tasklet to dequeue data indications from the RDMA completion queue. The tasklet in turn takes _bh locks to enqueue receive data indications on a list for the transport. The svc_rdma_recvfrom transport function dequeues data from this list in an NFSD thread context. Signed-off-by: Tom Tucker Acked-by: Neil Brown Signed-off-by: J. Bruce Fields commit ef7fbf59e6f780a0fa03536839e3c42e9ce40ad1 Author: Tom Tucker Date: Wed Dec 12 16:13:19 2007 -0600 rdma: SVCRDMA Transport Module This file implements the RDMA transport module initialization and termination logic and registers the transport sysctl variables. Signed-off-by: Tom Tucker Acked-by: Neil Brown Signed-off-by: J. Bruce Fields commit d21b05f101ae732d9bc322f13eea2f59c0aa60f5 Author: Tom Tucker Date: Wed Dec 12 16:13:17 2007 -0600 rdma: SVCRMDA Header File This file defines the data types used by the SVCRDMA transport module. The principle data structure is the transport specific extension to the svcxprt structure. Signed-off-by: Tom Tucker Acked-by: Neil Brown Signed-off-by: J. Bruce Fields commit 9571af18fa1e4a431dc6f6023ddbd87d1112fd5d Author: Tom Tucker Date: Sun Dec 30 21:08:37 2007 -0600 svc: Add svc_xprt_names service to replace svc_sock_names Create a transport independent version of the svc_sock_names function. The toclose capability of the svc_sock_names service can be implemented using the svc_xprt_find and svc_xprt_close services. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit a217813f9067b785241cb7f31956e51d2071703a Author: Tom Tucker Date: Sun Dec 30 21:08:35 2007 -0600 knfsd: Support adding transports by writing portlist file Update the write handler for the portlist file to allow creating new listening endpoints on a transport. The general form of the string is: For example: echo "tcp 2049" > /proc/fs/nfsd/portlist This is intended to support the creation of a listening endpoint for RDMA transports without adding #ifdef code to the nfssvc.c file. Transports can also be removed as follows: '-' For example: echo "-tcp 2049" > /proc/fs/nfsd/portlist Attempting to add a listener with an invalid transport string results in EPROTONOSUPPORT and a perror string of "Protocol not supported". Attempting to remove an non-existent listener (.e.g. bad proto or port) results in ENOTCONN and a perror string of "Transport endpoint is not connected" Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit 7fcb98d58cb4d18af6386f71025fc5192f25fbca Author: Tom Tucker Date: Sun Dec 30 21:08:33 2007 -0600 svc: Add svc API that queries for a transport instance Add a new svc function that allows a service to query whether a transport instance has already been created. This is used in lockd to determine whether or not a transport needs to be created when a lockd instance is brought up. Specifying 0 for the address family or port is effectively a wild-card, and will result in matching the first transport in the service's list that has a matching class name. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit dc9a16e49dbba3dd042e6aec5d9a7929e099a89b Author: Tom Tucker Date: Sun Dec 30 21:08:31 2007 -0600 svc: Add /proc/sys/sunrpc/transport files Add a file that when read lists the set of registered svc transports. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit 260c1d1298f6703d38fdccd3dd5a310766327340 Author: Tom Tucker Date: Sun Dec 30 21:08:29 2007 -0600 svc: Add transport hdr size for defer/revisit Some transports have a header in front of the RPC header. The current defer/revisit processing considers only the iov_len and arg_len to determine how much to back up when saving the original request to revisit. Add a field to the rqstp structure to save the size of the transport header so svc_defer can correctly compute the start of a request. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit 0f0257eaa5d29b80f6ab2c40ed21aa65bb4527f6 Author: Tom Tucker Date: Sun Dec 30 21:08:27 2007 -0600 svc: Move the xprt independent code to the svc_xprt.c file This functionally trivial patch moves all of the transport independent functions from the svcsock.c file to the transport independent svc_xprt.c file. In addition the following formatting changes were made: - White space cleanup - Function signatures on single line - The inline directive was removed - Lines over 80 columns were reformatted - The term 'socket' was changed to 'transport' in comments - The SMP comment was moved and updated. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit 18d19f949d5a9c927b2b88402630c5137971b619 Author: Tom Tucker Date: Sun Dec 30 21:08:25 2007 -0600 svc: Make svc_check_conn_limits xprt independent The svc_check_conn_limits function only manipulates xprt fields. Change references to svc_sock->sk_xprt to svc_xprt directly. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit 57b1d3babaafea1c395c932914e38c2ff9493001 Author: Tom Tucker Date: Sun Dec 30 21:08:22 2007 -0600 svc: Removing remaining references to rq_sock in rqstp This functionally empty patch removes rq_sock and unamed union from rqstp structure. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit 4e5caaa5f24b3df1fe01097e1e7576461e70d491 Author: Tom Tucker Date: Sun Dec 30 21:08:20 2007 -0600 svc: Move create logic to common code Move the svc transport list logic into common transport creation code. Refactor this code path to make the flow of control easier to read. Move the setting and clearing of the BUSY_BIT during transport creation to common code. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit 9f8bfae693c724120ffc8fb77564f6deb508daf3 Author: Tom Tucker Date: Sun Dec 30 21:08:18 2007 -0600 svc: Make svc_age_temp_sockets svc_age_temp_transports This function is transport independent. Change it to use svc_xprt directly and change it's name to reflect this. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit c36adb2a7f9132b37d4b669b2e2c04e46d5188b2 Author: Tom Tucker Date: Sun Dec 30 21:08:16 2007 -0600 svc: Make svc_recv transport neutral All of the transport field and functions used by svc_recv are now transport independent. Change the svc_recv function to use the svc_xprt structure directly instead of the transport specific svc_sock structure. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit eab996d4aca7a9d8621d2b98c00ce420df85eaed Author: Tom Tucker Date: Sun Dec 30 21:08:14 2007 -0600 svc: Make svc_sock_release svc_xprt_release The svc_sock_release function only touches transport independent fields. Change the function to manipulate svc_xprt directly instead of the transport dependent svc_sock structure. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit 9dbc240f199c16c3c0859c255ad52a663d8ee51d Author: Tom Tucker Date: Sun Dec 30 21:08:12 2007 -0600 svc: Move the sockaddr information to svc_xprt This patch moves the transport sockaddr to the svc_xprt structure. Convenience functions are added to set and get the local and remote addresses of a transport from the transport provider as well as determine the length of a sockaddr. A transport is responsible for setting the xpt_local and xpt_remote addresses in the svc_xprt structure as part of transport creation and xpo_accept processing. This cannot be done in a generic way and in fact varies between TCP, UDP and RDMA. A set of xpo_ functions (e.g. getlocalname, getremotename) could have been added but this would have resulted in additional caching and copying of the addresses around. Note that the xpt_local address should also be set on listening endpoints; for TCP/RDMA this is done as part of endpoint creation. For connected transports like TCP and RDMA, the addresses never change and can be set once and copied into the rqstp structure for each request. For UDP, however, the local and remote addresses may change for each request. In this case, the address information is obtained from the UDP recvmsg info and copied into the rqstp structure from there. A svc_xprt_local_port function was also added that returns the local port given a transport. This is used by svc_create_xprt when returning the port associated with a newly created transport, and later when creating a generic find transport service to check if a service is already listening on a given port. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit 8c7b0172a1db8120d25ecb4eff69664c52ee7639 Author: Tom Tucker Date: Sun Dec 30 21:08:10 2007 -0600 svc: Make deferral processing xprt independent This patch moves the transport independent sk_deferred list to the svc_xprt structure and updates the svc_deferred_req structure to keep pointers to svc_xprt's directly. The deferral processing code is also moved out of the transport dependent recvfrom functions and into the generic svc_recv path. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit def13d7401e9b95bbd34c20057ebeb2972708b1b Author: Tom Tucker Date: Sun Dec 30 21:08:08 2007 -0600 svc: Move the authinfo cache to svc_xprt. Move the authinfo cache to svc_xprt. This allows both the TCP and RDMA transports to share this logic. A flag bit is used to determine if auth information is to be cached or not. Previously, this code looked at the transport protocol. I've also changed the spin_lock/unlock logic so that a lock is not taken for transports that are not caching auth info. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit 4bc6c497b26a7984cac842a09e2e8f8c46242782 Author: Tom Tucker Date: Sun Dec 30 21:08:05 2007 -0600 svc: Remove sk_lastrecv With the implementation of the new mark and sweep algorithm for shutting down old connections, the sk_lastrecv field is no longer needed. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit 6bc5ab1367e43e59671d3fd19e6b0d2e4c138323 Author: Tom Tucker Date: Sun Dec 30 21:08:03 2007 -0600 svc: Move accept call to svc_xprt_received to common code Now that the svc_xprt_received function handles transports, the call to svc_xprt_received in the xpo_tcp_accept function can be moved to common code. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit a6046f71f2b598af241e7496a8ead90f2979224b Author: Tom Tucker Date: Sun Dec 30 21:08:01 2007 -0600 svc: Change svc_sock_received to svc_xprt_received and export it All fields touched by svc_sock_received are now transport independent. Change it to use svc_xprt directly. This function is called from transport dependent code, so export it. Update the comment to clearly state the rules for calling this function. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit a50fea26b9d2aa7b66fdd6d9579de10827ec086a Author: Tom Tucker Date: Sun Dec 30 21:07:59 2007 -0600 svc: Make svc_send transport neutral Move the sk_mutex field to the transport independent svc_xprt structure. Now all the fields that svc_send touches are transport neutral. Change the svc_send function to use the transport independent svc_xprt directly instead of the transport dependent svc_sock structure. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit f6150c3cab6e788afacb07470be3c6b4a722f1ed Author: Tom Tucker Date: Sun Dec 30 21:07:57 2007 -0600 svc: Make the enqueue service transport neutral and export it. The svc_sock_enqueue function is now transport independent since all of the fields it touches have been moved to the transport independent svc_xprt structure. Change the function to use the svc_xprt structure directly instead of the transport specific svc_sock structure. Transport specific data-ready handlers need to call this function, so export it. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit 7a90e8cc21ad80529b3a3371dc97acc8832cc592 Author: Tom Tucker Date: Sun Dec 30 21:07:55 2007 -0600 svc: Move sk_reserved to svc_xprt This functionally trivial patch moves the sk_reserved field to the transport independent svc_xprt structure. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit 7a18208383ab3f3ce4a1f4e0536acc9372523d81 Author: Tom Tucker Date: Sun Dec 30 21:07:53 2007 -0600 svc: Make close transport independent Move sk_list and sk_ready to svc_xprt. This involves close because these lists are walked by svcs when closing all their transports. So I combined the moving of these lists to svc_xprt with making close transport independent. The svc_force_sock_close has been changed to svc_close_all and takes a list as an argument. This removes some svc internals knowledge from the svcs. This code races with module removal and transport addition. Thanks to Simon Holm Thøgersen for a compile fix. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields Cc: Simon Holm Thøgersen commit bb5cf160b282644c4491afbf76fbc66f5dc35030 Author: Tom Tucker Date: Sun Dec 30 21:07:50 2007 -0600 svc: Move sk_server and sk_pool to svc_xprt This is another incremental change that moves transport independent fields from svc_sock to the svc_xprt structure. The changes should be functionally null. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit 02fc6c36188be0ad19502cfd39266150ffab7603 Author: Tom Tucker Date: Sun Dec 30 21:07:48 2007 -0600 svc: Move sk_flags to the svc_xprt structure This functionally trivial change moves the transport independent sk_flags field to the transport independent svc_xprt structure. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit e1b3157f9710622bad6c7747d3b08ed3d2394cf6 Author: Tom Tucker Date: Sun Dec 30 21:07:46 2007 -0600 svc: Change sk_inuse to a kref Change the atomic_t reference count to a kref and move it to the transport indepenent svc_xprt structure. Change the reference count wrapper names to be generic. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit d7c9f1ed972b4a468dd24a2457721704dfe9ca70 Author: Tom Tucker Date: Sun Dec 30 21:07:44 2007 -0600 svc: Change services to use new svc_create_xprt service Modify the various kernel RPC svcs to use the svc_create_xprt service. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit b700cbb11fced2a0e953fdd19eac07ffaad86598 Author: Tom Tucker Date: Sun Dec 30 21:07:42 2007 -0600 svc: Add a generic transport svc_create_xprt function The svc_create_xprt function is a transport independent version of the svc_makesock function. Since transport instance creation contains transport dependent and independent components, add an xpo_create transport function. The transport implementation of this function allocates the memory for the endpoint, implements the transport dependent initialization logic, and calls svc_xprt_init to initialize the transport independent field (svc_xprt) in it's data structure. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit f9f3cc4fae04c87c815a4b473fb577cf74ef27da Author: Tom Tucker Date: Sun Dec 30 21:07:40 2007 -0600 svc: Move connection limit checking to its own function Move the code that poaches connections when the connection limit is hit to a subroutine to make the accept logic path easier to follow. Since this is in the new connection path, it should not be a performance issue. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit 44a6995b32eb9b021ee71b279edb84728c9f5160 Author: Tom Tucker Date: Sun Dec 30 21:07:38 2007 -0600 svc: Remove unnecessary call to svc_sock_enqueue The svc_tcp_accept function calls svc_sock_enqueue after setting the SK_CONN bit. This doesn't actually do anything because the SK_BUSY bit is still set. The call is unnecessary anyway because the generic code in svc_recv calls svc_sock_received after calling the accept function. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit 38a417cc993f4535548e47207f9894e7c27e05e4 Author: Tom Tucker Date: Sun Dec 30 21:07:36 2007 -0600 svc: Add xpo_accept transport function Previously, the accept logic looked into the socket state to determine whether to call accept or recv when data-ready was indicated on an endpoint. Since some transports don't use sockets, this logic now uses a flag bit (SK_LISTENER) to identify listening endpoints. A transport function (xpo_accept) allows each transport to define its own accept processing. A transport's initialization logic is reponsible for setting the SK_LISTENER bit. I didn't see any way to do this in transport independent logic since the passive side of a UDP connection doesn't listen and always recv's. In the svc_recv function, if the SK_LISTENER bit is set, the transport xpo_accept function is called to handle accept processing. Note that all functions are defined even if they don't make sense for a given transport. For example, accept doesn't mean anything for UDP. The function is defined anyway and bug checks if called. The UDP transport should never set the SK_LISTENER bit. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit d7979ae4a050a45b78af51832475001b68263d2a Author: Tom Tucker Date: Sun Dec 30 21:07:34 2007 -0600 svc: Move close processing to a single place Close handling was duplicated in the UDP and TCP recvfrom methods. This code has been moved to the transport independent svc_recv function. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit 323bee32e9bef14c6dd943ecc8e8cd373a9c94d9 Author: Tom Tucker Date: Sun Dec 30 21:07:31 2007 -0600 svc: Add a transport function that checks for write space In order to avoid blocking a service thread, the receive side checks to see if there is sufficient write space to reply to the request. Each transport has a different mechanism for determining if there is enough write space to reply. The code that checked for write space was coupled with code that checked for CLOSE and CONN. These checks have been broken out into separate statements to make the code easier to read. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit e831fe65b10199e1e301a7316c66d6ced133712d Author: Tom Tucker Date: Sun Dec 30 21:07:29 2007 -0600 svc: Add xpo_prep_reply_hdr Some transports add fields to the RPC header for replies, e.g. the TCP record length. This function is called when preparing the reply header to allow each transport to add whatever fields it requires. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit 755cceaba7555027e61dfa79f1e55bdfc6906633 Author: Tom Tucker Date: Sun Dec 30 21:07:27 2007 -0600 svc: Add per-transport delete functions Add transport specific xpo_detach and xpo_free functions. The xpo_detach function causes the transport to stop delivering data-ready events and enqueing the transport for I/O. The xpo_free function frees all resources associated with the particular transport instance. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit 5148bf4ebc1f59dc6a0ec43a220c55ff0771246e Author: Tom Tucker Date: Sun Dec 30 21:07:25 2007 -0600 svc: Add transport specific xpo_release function The svc_sock_release function releases pages allocated to a thread. For UDP this frees the receive skb. For RDMA it will post a receive WR and bump the client credit count. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit 5d137990f5860451a6e0428e0903f62933d05287 Author: Tom Tucker Date: Sun Dec 30 21:07:23 2007 -0600 svc: Move sk_sendto and sk_recvfrom to svc_xprt_class The sk_sendto and sk_recvfrom are function pointers that allow svc_sock to be used for both UDP and TCP. Move these function pointers to the svc_xprt_ops structure. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit 490231558e058547da4ffab6d8ce8e28771749cc Author: Tom Tucker Date: Sun Dec 30 21:07:21 2007 -0600 svc: Add a max payload value to the transport The svc_max_payload function currently looks at the socket type to determine the max payload. Add a max payload value to svc_xprt_class so it can be returned directly. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit 9f29868b491beee706931e0cf875a60cb4688754 Author: Tom Tucker Date: Sun Dec 30 21:07:19 2007 -0600 svc: Change the svc_sock in the rqstp structure to a transport The rqstp structure contains a pointer to the transport for the RPC request. This functionaly trivial patch adds an unamed union with pointers to both svc_sock and svc_xprt. Ultimately the union will be removed and only the rq_xprt field will remain. This allows incrementally extracting transport independent interfaces without one gigundo patch. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit 360d873864c8903a650b227758b49dd50e6ecc9f Author: Tom Tucker Date: Sun Dec 30 21:07:17 2007 -0600 svc: Make svc_sock the tcp/udp transport Make TCP and UDP svc_sock transports, and register them with the svc transport core. A transport type (svc_sock) has an svc_xprt as its first member, and calls svc_xprt_init to initialize this field. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit 1d8206b97a09e7ff2fbef17d8d1ea008d764eeaa Author: Tom Tucker Date: Sun Dec 30 21:07:15 2007 -0600 svc: Add an svc transport class The transport class (svc_xprt_class) represents a type of transport, e.g. udp, tcp, rdma. A transport class has a unique name and a set of transport operations kept in the svc_xprt_ops structure. A transport class can be dynamically registered and unregisterd. The svc_xprt_class represents the module that implements the transport type and keeps reference counts on the module to avoid unloading while there are active users. The endpoint (svc_xprt) is a generic, transport independent endpoint that can be used to send and receive data for an RPC service. It inherits it's operations from the transport class. A transport driver module registers and unregisters itself with svc sunrpc by calling svc_reg_xprt_class, and svc_unreg_xprt_class respectively. Signed-off-by: Tom Tucker Acked-by: Neil Brown Reviewed-by: Chuck Lever Reviewed-by: Greg Banks Signed-off-by: J. Bruce Fields commit cb5c7d668e1af269a9409721268f027b86abf29c Author: J. Bruce Fields Date: Mon Jan 14 16:05:07 2008 -0500 svcrpc: ensure gss DESTROY tokens free contexts from cache If we don't do this then we'll end up with a pointless unusable context sitting in the cache until the time the original context would have expired. Signed-off-by: J. Bruce Fields commit 54ca95eb362d6988a577965ffb77c08702adb890 Author: Oleg Drokin Date: Fri Jan 11 21:57:35 2008 -0500 Leak in nlmsvc_testlock for async GETFL case Fix nlm_block leak for the case of supplied blocking lock info. Signed-off-by: Oleg Drokin Signed-off-by: J. Bruce Fields commit 8838dc43d6544570e8969a74ddc4a0d21abffde6 Author: J. Bruce Fields Date: Mon Jan 14 13:12:19 2008 -0500 nfsd4: clean up access_valid, deny_valid checks. Document these checks a little better and inline, as suggested by Neil Brown (note both functions have two callers). Remove an obviously bogus check while we're there (checking whether unsigned value is negative). Signed-off-by: J. Bruce Fields Cc: Neil Brown commit b39c18fce003bb2d5a51a4734d8fdd2c81fa1a78 Author: J. Bruce Fields Date: Sun Jan 6 21:32:37 2008 -0500 sunrpc: gss: simplify rsi_parse logic Make an obvious simplification that removes a few lines and some unnecessary indentation; no change in behavior. Signed-off-by: J. Bruce Fields commit 16141c0288f6a6ce2de51a1c39cc3407c841a535 Author: Neil Brown Date: Tue Dec 11 16:16:12 2007 -0800 knfsd: change mailing list for nfsd in MAINTAINERS nfs@lists.sourceforge.net is being decommissioned. Cc: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: J. Bruce Fields commit 980e5a40a44400edc3f75b7931b8e75fcc3c21a3 Author: J. Bruce Fields Date: Wed Dec 12 18:21:17 2007 -0500 nfsd: fix rsi_cache reference count leak For some reason we haven't been put()'ing the reference count here. Signed-off-by: J. Bruce Fields commit 5c002b3bb294a637312cab7ad92a0deafa05a758 Author: J. Bruce Fields Date: Fri Nov 30 16:55:23 2007 -0500 nfsd: allow root to set uid and gid on create The server silently ignores attempts to set the uid and gid on create. Based on the comment, this appears to have been done to prevent some overly-clever IRIX client from causing itself problems. Perhaps we should remove that hack completely. For now, at least, it makes sense to allow root (when no_root_squash is set) to set uid and gid. While we're there, since nfsd_create and nfsd_create_v3 share the same logic, pull that out into a separate function. And spell out the individual modifications of ia_valid instead of doing them both at once inside a conditional. Thanks to Roger Willcocks for the bug report and original patch on which this is based. Signed-off-by: J. Bruce Fields commit 29dbf546159f5701e11de26fa2da5c4a962e0f83 Author: Oleg Drokin Date: Thu Nov 29 14:02:21 2007 -0500 lockd: fix a leak in nlmsvc_testlock asynchronous request handling Without the patch, there is a leakage of nlmblock structure refcount that holds a reference nlmfile structure, that holds a reference to struct file, when async GETFL is used (-EINPROGRESS return from file_ops->lock()), and also in some error cases. Fix up a style nit while we're here. Signed-off-by: Oleg Drokin Signed-off-by: J. Bruce Fields commit 406a7ea97d9dc1a9348ba92c4cd0e7c678185c4c Author: Frank Filz Date: Tue Nov 27 11:34:05 2007 -0800 nfsd: Allow AIX client to read dir containing mountpoints This patch addresses a compatibility issue with a Linux NFS server and AIX NFS client. I have exported /export as fsid=0 with sec=krb5:krb5i I have mount --bind /home onto /export/home I have exported /export/home with sec=krb5i The AIX client mounts / -o sec=krb5:krb5i onto /mnt If I do an ls /mnt, the AIX client gets a permission error. Looking at the network traceIwe see a READDIR looking for attributes FATTR4_RDATTR_ERROR and FATTR4_MOUNTED_ON_FILEID. The response gives a NFS4ERR_WRONGSEC which the AIX client is not expecting. Since the AIX client is only asking for an attribute that is an attribute of the parent file system (pseudo root in my example), it seems reasonable that there should not be an error. In discussing this issue with Bruce Fields, I initially proposed ignoring the error in nfsd4_encode_dirent_fattr() if all that was being asked for was FATTR4_RDATTR_ERROR and FATTR4_MOUNTED_ON_FILEID, however, Bruce suggested that we avoid calling cross_mnt() if only these attributes are requested. The following patch implements bypassing cross_mnt() if only FATTR4_RDATTR_ERROR and FATTR4_MOUNTED_ON_FILEID are called. Since there is some complexity in the code in nfsd4_encode_fattr(), I didn't want to duplicate code (and introduce a maintenance nightmare), so I added a parameter to nfsd4_encode_fattr() that indicates whether it should ignore cross mounts and simply fill in the attribute using the passed in dentry as opposed to it's parent. Signed-off-by: Frank Filz Signed-off-by: J. Bruce Fields commit 39325bd03fc16d903f1e0f51104436d939899c8c Author: J. Bruce Fields Date: Mon Nov 26 17:06:39 2007 -0500 nfsd4: fix bad seqid on lock request incompatible with open mode The failure to return a stateowner from nfs4_preprocess_seqid_op() means in the case where a lock request is of a type incompatible with an open (due to, e.g., an application attempting a write lock on a file open for read), means that fs/nfsd/nfs4xdr.c:ENCODE_SEQID_OP_TAIL() never bumps the seqid as it should. The client, attempting to close the file afterwards, then gets an (incorrect) bad sequence id error. Worse, this prevents the open file from ever being closed, so we leak state. Thanks to Benny Halevy and Trond Myklebust for analysis, and to Steven Wilton for the report and extensive data-gathering. Cc: Benny Halevy Cc: Steven Wilton Cc: Trond Myklebust Signed-off-by: J. Bruce Fields commit b7e6b86948df8d08d420558212e09eb449be9bfa Author: Oleg Drokin Date: Mon Nov 26 13:35:11 2007 -0500 lockd: fix reference count leaks in async locking case In a number of places where we wish only to translate nlm_drop_reply to rpc_drop_reply errors we instead return early with rpc_drop_reply, skipping some important end-of-function cleanup. This results in reference count leaks when lockd is doing posix locking on GFS2. Signed-off-by: Oleg Drokin Signed-off-by: J. Bruce Fields commit 404ec117be5d36e1a4c4582d0c518594333e32df Author: J. Bruce Fields Date: Fri Nov 23 22:26:18 2007 -0500 nfsd4: recognize callback channel failure earlier When the callback channel fails, we inform the client of that by returning a cb_path_down error the next time it tries to renew its lease. If we wait most of a lease period before deciding that a callback has failed and that the callback channel is down, then we decrease the chances that the client will find out in time to do anything about it. So, mark the channel down as soon as we recognize that an rpc has failed. However, continue trying to recall delegations anyway, in hopes it will come back up. This will prevent more delegations from being given out, and ensure cb_path_down is returned to renew calls earlier, while still making the best effort to deliver recalls of existing delegations. Also fix a couple comments and remove a dprink that doesn't seem likely to be useful. Signed-off-by: J. Bruce Fields commit 35bba9a37e68c68a820a1a772f016255c0838f79 Author: J. Bruce Fields Date: Wed Nov 21 22:07:08 2007 -0500 nfsd4: miscellaneous nfs4state.c style fixes Fix various minor style violations. Signed-off-by: J. Bruce Fields commit 5ec7b46c2f4a6f5e136188d598a3f9912ca922e9 Author: J. Bruce Fields Date: Wed Nov 21 21:58:56 2007 -0500 nfsd4: make current_clientid local Declare this variable in the one function where it's used, and clean up some minor style problems. Signed-off-by: J. Bruce Fields commit 99d965eda736b839a63fe85438ee03a0f660053c Author: J. Bruce Fields Date: Wed Nov 21 14:10:07 2007 -0500 nfsd: fix encode_entryplus_baggage() indentation Fix bizarre indentation. Signed-off-by: J. Bruce Fields commit 366e0c1d9116ed03320779ecf9c162204f4c712e Author: J. Bruce Fields Date: Tue Nov 20 15:54:10 2007 -0500 nfsd4: kill unneeded cl_confirm check We generate a unique cl_confirm for every new client; so if we've already checked that this cl_confirm agrees with the cl_confirm of unconf, then we already know that it does not agree with the cl_confirm of conf. Signed-off-by: J. Bruce Fields commit f3aba4e5a1b963c8bd43394cb15fb9fb6a229cd2 Author: J. Bruce Fields Date: Tue Nov 20 16:52:07 2007 -0500 nfsd4: remove unnecessary cl_verifier check from setclientid_confirm Again, the only way conf and unconf can have the same clientid is if they were created in the "probable callback update" case of setclientid, in which case we already know that the cl_verifier fields must agree. Signed-off-by: J. Bruce Fields commit f394baad139f8a67a40b4246d53d3b818af2eb88 Author: J. Bruce Fields Date: Tue Nov 20 15:39:07 2007 -0500 nfsd4: kill unnecessary same_name() in setclientid_confirm If conf and unconf are both found in the lookup by cl_clientid, then they share the same cl_clientid. We always create a unique new cl_clientid field when creating a new client--the only exception is the "probable callback update" case in setclientid, where we copy the old cl_clientid from another clientid with the same name. Therefore two clients with the same cl_client field also always share the same cl_name field, and a couple of the checks here are redundant. Thanks to Simon Holm Thøgersen for a compile fix. Signed-off-by: J. Bruce Fields Cc: Simon Holm Thøgersen commit deda2faa8e71474c828d8eefc8bc0f19d02062ef Author: J. Bruce Fields Date: Mon Nov 19 20:31:04 2007 -0500 nfsd: uniquify cl_confirm values Using a counter instead of the nanoseconds value seems more likely to produce a unique cl_confirm. Signed-off-by: J. Bruce Fields commit 49ba87811f34a0219dc7a373cd24aa68450f2058 Author: J. Bruce Fields Date: Mon Nov 19 19:09:50 2007 -0500 nfsd: eliminate final bogus case from setclientid logic We're supposed to generate a different cl_confirm verifier for each new client, so these to cl_confirm values should never be the same. Signed-off-by: J. Bruce Fields commit a186e767473bd329122f0229b91573b9b6fa43c1 Author: J. Bruce Fields Date: Tue Nov 20 16:11:27 2007 -0500 nfsd4: kill some unneeded setclientid comments Most of these comments just summarize the code. The matching of code to the cases described in the RFC may still be useful, though; add specific section references to make that easier to follow. Also update references to the outdated RFC 3010. Signed-off-by: J. Bruce Fields commit 1f69f172c73a2bf0bf55da9346da8dccea9035cf Author: J. Bruce Fields Date: Thu Nov 15 17:06:58 2007 -0500 nfsd: minor fs/nfsd/auth.h cleanup While we're here, let's remove the redundant (and now wrong) pathname in the comment, and the #ifdef __KERNEL__'s. Acked-by: NeilBrown Signed-off-by: J. Bruce Fields commit 2e8138a274d81d87591db0803b1e81f4284ff935 Author: J. Bruce Fields Date: Thu Nov 15 17:05:43 2007 -0500 nfsd: move nfsd/auth.h into fs/nfsd This header is used only in a few places in fs/nfsd, so there seems to be little point to having it in include/. (Thanks to Robert Day for pointing this out.) Cc: Robert P. J. Day Acked-by: NeilBrown Signed-off-by: J. Bruce Fields commit dbf847ecb6318d3a22c6758fe39696d00f39063a Author: J. Bruce Fields Date: Thu Nov 8 17:20:34 2007 -0500 knfsd: allow cache_register to return error on failure Newer server features such as nfsv4 and gss depend on proc to work, so a failure to initialize the proc files they need should be treated as fatal. Thanks to Andrew Morton for style fix and compile fix in case where CONFIG_NFSD_V4 is undefined. Cc: Andrew Morton Acked-by: NeilBrown Signed-off-by: J. Bruce Fields commit ffe9386b6e08e7132cb7730025d0ea310e08a182 Author: J. Bruce Fields Date: Mon Nov 12 17:04:29 2007 -0500 nfsd: move cache proc (un)registration to separate function Just some minor cleanup. Also I don't see much point in trying to register further proc entries if initial entries fail; so just stop trying in that case. Acked-by: NeilBrown Signed-off-by: J. Bruce Fields commit e331f606a85a2a9e84e9c63c94d43c0517136139 Author: J. Bruce Fields Date: Mon Nov 12 17:32:21 2007 -0500 nfsd: fail init on /proc/fs/nfs/exports creation failure I assume the reason failure of creation was ignored here was just to continue support embedded systems that want nfsd but not proc. However, in cases where proc is supported it would be clearer to fail entirely than to come up with some features disabled. Acked-by: NeilBrown Signed-off-by: J. Bruce Fields commit 440bcc592052e42c7050a51489c65e18df4a0636 Author: J. Bruce Fields Date: Mon Nov 12 17:09:49 2007 -0500 nfsd: select CONFIG_PROC_FS in nfsv4 and gss server cases The server depends on upcalls under /proc to support nfsv4 and gss. Acked-by: NeilBrown Signed-off-by: J. Bruce Fields commit df95a9d4fb91d819d3fb55dd437056df59e7f15e Author: J. Bruce Fields Date: Thu Nov 8 16:09:59 2007 -0500 knfsd: cache unregistration needn't return error There's really nothing much the caller can do if cache unregistration fails. And indeed, all any caller does in this case is print an error and continue. So just return void and move the printk's inside cache_unregister. Acked-by: NeilBrown Signed-off-by: J. Bruce Fields commit d5c3428b2cb26d605fddc4878f4fcc03c23df89f Author: J. Bruce Fields Date: Fri Nov 9 14:10:56 2007 -0500 nfsd: fail module init on reply cache init failure If the reply cache initialization fails due to a kmalloc failure, currently we try to soldier on with a reduced (or nonexistant) reply cache. Better to just fail immediately: the failure is then much easier to understand and debug, and it could save us complexity in some later code. (But actually, it doesn't help currently because the cache is also turned off in some odd failure cases; we should probably find a better way to handle those failure cases some day.) Fix some minor style problems while we're at it, and rename nfsd_cache_init() to remove the need for a comment describing it. Acked-by: NeilBrown Signed-off-by: J. Bruce Fields commit 26808d3f10b1213bbb6e27d441be40e20ab84611 Author: J. Bruce Fields Date: Fri Nov 9 13:44:06 2007 -0500 nfsd: cleanup nfsd module initialization cleanup Handle the failure case here with something closer to the standard kernel style. Doesn't really matter for now, but I'd like to add a few more failure cases, and then this'll help. Acked-by: NeilBrown Signed-off-by: J. Bruce Fields commit 46b25895767c606c630a97b03a895934a7a36a70 Author: J. Bruce Fields Date: Fri Nov 9 12:31:55 2007 -0500 knfsd: cleanup nfsd4 properly on module init failure We forgot to shut down the nfs4 state and idmapping code in this case. Acked-by: NeilBrown Signed-off-by: J. Bruce Fields commit ca2a05aa7c72309ee65164c78fa2be7a5038215e Author: J. Bruce Fields Date: Sun Nov 11 15:43:12 2007 -0500 nfsd: Fix handling of negative lengths in read_buf() The length "nbytes" passed into read_buf should never be negative, but we check only for too-large values of "nbytes", not for too-small values. Make nbytes unsigned, so it's clear that the former tests are sufficient. (Despite this read_buf() currently correctly returns an xdr error in the case of a negative length, thanks to an unsigned comparison with size_of() and bounds-checking in kmalloc(). This seems very fragile, though.) Signed-off-by: J. Bruce Fields commit a490c681cbcf65d548138c377bb691c85824d323 Author: J. Bruce Fields Date: Tue Nov 6 14:15:19 2007 -0500 knfsd: fix cache.c comment The path here must be left over from some earlier draft; fix it. And do some more minor cleanup while we're there. Signed-off-by: J. Bruce Fields commit 48b4ba3fdd7af319e90ade395162430934ee7b87 Author: Chuck Lever Date: Thu Nov 1 16:57:25 2007 -0400 NFSD: Path name length signage in nfsd request argument structures Clean up: For consistency, store the length of path name strings in nfsd argument structures as unsigned integers. Signed-off-by: Chuck Lever Acked-By: NeilBrown Signed-off-by: J. Bruce Fields commit a628f6675861d979405f751418e924c4ec7d457d Author: Chuck Lever Date: Thu Nov 1 16:57:20 2007 -0400 NFSD: Fix mixed sign comparison in nfs3svc_decode_symlinkargs Signed-off-by: Chuck Lever Acked-By: NeilBrown Signed-off-by: J. Bruce Fields commit 9c7544d3a195cde33b3d1e46639b23c221f901db Author: Chuck Lever Date: Thu Nov 1 16:57:14 2007 -0400 NFSD: Use unsigned length argument for decode_pathname Clean up: path name lengths are unsigned on the wire, negative lengths are not meaningful natively either. Signed-off-by: Chuck Lever Acked-By: NeilBrown Signed-off-by: J. Bruce Fields commit 5a022fc8700cadbac373766cf1b5c746ffec7164 Author: Chuck Lever Date: Thu Nov 1 16:57:09 2007 -0400 NFSD: Adjust filename length argument of nfsd_lookup Clean up: adjust the sign of the length argument of nfsd_lookup and nfsd_lookup_dentry, for consistency with recent changes. NFSD version 4 callers already pass an unsigned file name length. Signed-off-by: Chuck Lever Acked-By: NeilBrown Signed-off-by: J. Bruce Fields commit 29d5e5553826d05b8ecda51c21787ce85efdef06 Author: Chuck Lever Date: Thu Nov 1 16:57:04 2007 -0400 NFSD: File name length signage in nfsd request argument structures Clean up: For consistency, store the length of file name strings in nfsd argument structures as unsigned integers. This matches the XDR routines and client argument structures for the same operation types. Signed-off-by: Chuck Lever Acked-By: NeilBrown Signed-off-by: J. Bruce Fields commit ee1a95b3b3fccf3c825bd95f89a8e006901b03ed Author: Chuck Lever Date: Thu Nov 1 16:56:58 2007 -0400 NFSD: Use unsigned length argument for decode_filename Clean up: file name lengths are unsigned on the wire, negative lengths are not meaningful natively either. Signed-off-by: Chuck Lever Acked-By: NeilBrown Signed-off-by: J. Bruce Fields commit 48df020aa17ac95a012ff765b0086ede5996b320 Author: Chuck Lever Date: Thu Nov 1 16:56:53 2007 -0400 NLM: Fix sign of length of NLM variable length strings According to The Open Group's NLM specification, NLM callers are variable length strings. XDR variable length strings use an unsigned 32 bit length. And internally, negative string lengths are not meaningful for the Linux NLM implementation. Clean up: Make nlm_lock.len and nlm_reboot.len unsigned integers. This makes the sign of NLM string lengths consistent with the sign of xdr_netobj lengths. Signed-off-by: Chuck Lever Acked-By: NeilBrown Signed-off-by: J. Bruce Fields commit e5cff482c78a35b9f149a06aa777a1bd693864fb Author: Chuck Lever Date: Thu Nov 1 16:56:47 2007 -0400 SUNRPC: Use unsigned string lengths in xdr_decode_string_inplace XDR strings, opaques, and net objects should all use unsigned lengths. To wit, RFC 4506 says: 4.2. Unsigned Integer An XDR unsigned integer is a 32-bit datum that encodes a non-negative integer in the range [0,4294967295]. ... 4.11. String The standard defines a string of n (numbered 0 through n-1) ASCII bytes to be the number n encoded as an unsigned integer (as described above), and followed by the n bytes of the string. After this patch, xdr_decode_string_inplace now matches the other XDR string and array helpers that take a string length argument. See: xdr_encode_opaque_fixed, xdr_encode_opaque, xdr_encode_array Signed-off-by: Chuck Lever Acked-By: NeilBrown Signed-off-by: J. Bruce Fields commit 01b2969a8528b926f5e4d98161ae37053234475c Author: Chuck Lever Date: Fri Oct 26 13:31:20 2007 -0400 SUNRPC: Prevent length underflow in read_flush() Make sure we compare an unsigned length to an unsigned count in read_flush(). Signed-off-by: Chuck Lever Signed-off-by: J. Bruce Fields commit d4395e03fec0895d01451904b8a2276ceda663c9 Author: J. Bruce Fields Date: Fri Oct 26 13:32:50 2007 -0400 knfsd: fix broken length check in nfs4idmap.c Obviously at some point we thought "error" represented the length when positive. This appears to be a long-standing typo. Thanks to Prasad Potluri for finding the problem and proposing an earlier version of this patch. Cc: Steve French Cc: Prasad V Potluri Signed-off-by: J. Bruce Fields commit aefa89d178e6dd83889b66d4e800d4d77363900b Author: Prasad P Date: Wed Oct 24 15:14:32 2007 -0500 nfsd: Fix inconsistent assignment Dereferenced pointer "dentry" without checking and assigned to inode in the declaration. (We could just delete the NULL checks that follow instead, as we never get to the encode function in this particular case. But it takes a little detective work to verify that fact, so it's probably safer to leave the checks in place.) Cc: Steve French Signed-off-by: Prasad V Potluri Signed-off-by: J. Bruce Fields commit 63c86716ea34ad94d52e5b0abbda152574dc42b5 Author: J. Bruce Fields Date: Thu Oct 25 19:00:26 2007 -0400 nfsd: move callback rpc_client creation into separate thread The whole reason to move this callback-channel probe into a separate thread was because (for now) we don't have an easy way to create the rpc_client asynchronously. But I forgot to move the rpc_create() to the spawned thread. Doh! Fix that. Signed-off-by: J. Bruce Fields commit 46f8a64bae11f5c9b15b4401f6e9863281999b66 Author: J. Bruce Fields Date: Thu Nov 22 13:54:18 2007 -0500 nfsd4: probe callback channel only once Our callback code doesn't actually handle concurrent attempts to probe the callback channel. Some rethinking of the locking may be required. However, we can also just move the callback probing to this case. Since this is the only time a client is "confirmed" (and since that can only happen once in the lifetime of a client), this ensures we only probe once. Signed-off-by: J. Bruce Fields commit dd5f5fed6c9458a7aa81eeef3732cc3a9891cfdf Merge: 3e01dfc... 7759db8... Author: Linus Torvalds Date: Sat Feb 2 08:37:03 2008 +1100 Merge branch 'audit.b46' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current * 'audit.b46' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current: [AUDIT] Add uid, gid fields to ANOM_PROMISCUOUS message [AUDIT] ratelimit printk messages audit [patch 2/2] audit: complement va_copy with va_end() [patch 1/2] kernel/audit.c: warning fix [AUDIT] create context if auditing was ever enabled [AUDIT] clean up audit_receive_msg() [AUDIT] make audit=0 really stop audit messages [AUDIT] break large execve argument logging into smaller messages [AUDIT] include audit type in audit message when using printk [AUDIT] do not panic on exclude messages in audit_log_pid_context() [AUDIT] Add End of Event record [AUDIT] add session id to audit messages [AUDIT] collect uid, loginuid, and comm in OBJ_PID records [AUDIT] return EINTR not ERESTART* [PATCH] get rid of loginuid races [PATCH] switch audit_get_loginuid() to task_struct * commit 3e01dfce1387f8bec41018f0d7b42fd88ad4163f Merge: 45f37e8... d987402... Author: Linus Torvalds Date: Sat Feb 2 08:27:50 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 * git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: x86: avoid section mismatch involving arch_register_cpu x86: fixes for lookup_address args x86: fix sparse warnings in cpu/common.c x86: make early_console static in early_printk.c x86: remove unneeded round_up x86: fix section mismatch warning in kernel/pci-calgary x86: fix section mismatch warning in acpi/boot.c x86: fix section mismatch warnings when referencing notifiers x86: silence section mismatch warning in smpboot_64.c x86: fix comments in vmlinux_64.lds x86_64: make bootmap_start page align v6 x86_64: add debug name for early_res commit 45f37e86f1ef95f002386d8a0ab508407cec9bf3 Merge: e30ec45... aa7d935... Author: Linus Torvalds Date: Sat Feb 2 08:27:00 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched * git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched: latencytop: Change Kconfig dependency. futex: Add bitset conditional wait/wakeup functionality futex: Remove warn on in return fixup path x86: replace LOCK_PREFIX in futex.h tick-sched: add more debug information timekeeping: update xtime_cache when time(zone) changes hrtimer: fix hrtimer_init_sleeper() users commit 04a9e451fdbbfb84d6b87042b991f729f1c14249 Author: John W. Linville Date: Fri Feb 1 16:03:45 2008 -0500 ath5k: fix section mismatch warning Signed-off-by: John W. Linville commit 3eadf5f4f635ed6a6cd921195c320d58b5f9a185 Author: Johannes Berg Date: Thu Jan 31 19:33:53 2008 +0100 mac80211: fix initialisation error path The error handling in ieee80211_init() is broken when any of the built-in rate control algorithms fail to initialise, fix it and rename the error labels. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f0b9205cfb77d992e8c0f727de3099159c80dbbd Author: Johannes Berg Date: Thu Jan 31 19:31:57 2008 +0100 mac80211 rate control: fix section mismatch When the rate control algorithms are built-in, their exit functions can be called from mac80211's init function so they cannot be marked __exit. Signed-off-by: Johannes Berg Acked-by: Stefano Brivio Signed-off-by: John W. Linville commit e903fbd41e9a723da194e91816bfb69d442eb116 Author: Reinette Chatre Date: Wed Jan 30 22:05:15 2008 -0800 iwlwifi: fix merge sequence: exit on error before state change The intention behind the original patch: "iwlwifi: fix possible read attempt on ucode that is not available" was to exit before any state is changed. Due to its submission directly to 2.6.24 it was not clear how this relates to the latest iwlwifi work. This patch does exactly the same as the previous patch, just earlier to prevent any state from being changed if there is an error. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ff5059eff254fbe1d2aa4f47e24aa6fc71b98e65 Author: Tomas Winkler Date: Wed Jan 30 22:05:14 2008 -0800 iwlwifi: remove ieee80211 types from iwl-helpers.h This patch removes IEEE80211_STYPE_BACK_REQ and IEEE80211_STYPE_BACK defines from iwl-helpers.h. These are already defined in include/linux/ieee80211.h Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit e53cfe0ead3b5e5a463e7c3f01033373a0faaac1 Author: Tomas Winkler Date: Wed Jan 30 22:05:13 2008 -0800 iwlwifi: Fix MIMO PS mode This patch setups correctly MIMO PS mode flags Signed-off-by: Guy Cohen Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit bd8a040e246280994802a56383def211fc790524 Author: Ron Rindjunsky Date: Wed Jan 30 22:05:12 2008 -0800 iwlwifi: fix sparse warning in iwl 3945 This patch fixes a sparse warning over iwl3945_add_radiotap function by turning it static Signed-off-by: Ron Rindjunsky Acked-by: Tomas Winkler Signed-off-by: John W. Linville commit 6feeb8aad7925b4c00f785eac3039c772629b42f Author: Johannes Berg Date: Tue Jan 29 16:57:51 2008 +0100 mac80211: make alignment warning optional Driver authors should be aware of the alignment requirements, but not everybody cares about the warning. This patch makes it depend on a new Kconfig symbol MAC80211_DEBUG_PACKET_ALIGNMENT which can be enabled regardless of MAC80211_DEBUG and is recommended for driver authors (only). This also restricts the warning to data packets so other packets need not be realigned to not trigger the warning. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7759db82774802885f96c250b36c3dfe317e62ff Author: Klaus Heinrich Kiwi Date: Wed Jan 23 22:57:45 2008 -0500 [AUDIT] Add uid, gid fields to ANOM_PROMISCUOUS message Changes the ANOM_PROMISCUOUS message to include uid and gid fields, making it consistent with other AUDIT_ANOM_ messages and in the format the userspace is expecting. Signed-off-by: Klaus Heinrich Kiwi Acked-by: Eric Paris commit 320f1b1ed28c601cc152053a2f428a126cb608bc Author: Eric Paris Date: Wed Jan 23 22:55:05 2008 -0500 [AUDIT] ratelimit printk messages audit some printk messages from the audit system can become excessive. This patch ratelimits those messages. It was found that messages, such as the audit backlog lost printk message could flood the logs to the point that a machine could take an nmi watchdog hit or otherwise become unresponsive. Signed-off-by: Eric Paris commit 148b38dc9309044c8656aa36d5fd86069e2ea7cc Author: Richard Knutsson Date: Thu Jan 10 11:02:40 2008 -0800 [patch 2/2] audit: complement va_copy with va_end() Complement va_copy() with va_end(). Signed-off-by: Richard Knutsson Cc: Al Viro Signed-off-by: Andrew Morton commit ef00be0554f1af9f2b685e0e3bb9e2ec0181937e Author: Andrew Morton Date: Thu Jan 10 11:02:39 2008 -0800 [patch 1/2] kernel/audit.c: warning fix kernel/audit.c: In function 'audit_log_start': kernel/audit.c:1133: warning: 'serial' may be used uninitialized in this function Cc: Al Viro Signed-off-by: Andrew Morton commit b593d384efcff7bdf6beb1bc1bc69927977aee26 Author: Eric Paris Date: Tue Jan 8 17:38:31 2008 -0500 [AUDIT] create context if auditing was ever enabled Disabling audit at runtime by auditctl doesn't mean that we can stop allocating contexts for new processes; we don't want to miss them when that sucker is reenabled. (based on work from Al Viro in the RHEL kernel series) Signed-off-by: Eric Paris commit 50397bd1e471391d27f64efad9271459c913de87 Author: Eric Paris Date: Mon Jan 7 18:14:19 2008 -0500 [AUDIT] clean up audit_receive_msg() generally clean up audit_receive_msg() don't free random memory if selinux_sid_to_string fails for some reason. Move generic auditing to a helper function Signed-off-by: Eric Paris commit 1a6b9f2317f18db768010252c957d99daf40678f Author: Eric Paris Date: Mon Jan 7 17:09:31 2008 -0500 [AUDIT] make audit=0 really stop audit messages Some audit messages (namely configuration changes) are still emitted even if the audit subsystem has been explicitly disabled. This patch turns those messages off as well. Signed-off-by: Eric Paris commit de6bbd1d30e5912620d25dd15e3f180ac7f9fcef Author: Eric Paris Date: Mon Jan 7 14:31:58 2008 -0500 [AUDIT] break large execve argument logging into smaller messages execve arguments can be quite large. There is no limit on the number of arguments and a 4G limit on the size of an argument. this patch prints those aruguments in bite sized pieces. a userspace size limitation of 8k was discovered so this keeps messages around 7.5k single arguments larger than 7.5k in length are split into multiple records and can be identified as aX[Y]= Signed-off-by: Eric Paris commit e445deb593d67c8ed13bd357c780a93d78bc84cf Author: Eric Paris Date: Mon Jan 7 14:19:15 2008 -0500 [AUDIT] include audit type in audit message when using printk Currently audit drops the audit type when an audit message goes through printk instead of the audit deamon. This is a minor annoyance in that the audit type is no longer part of the message and the information the audit type conveys needs to be carried in, or derived from the message data. The attached patch includes the type number as part of the printk. Admittedly it isn't the type name that the audit deamon provides but I think this is better than dropping the type completely. Signed-pff-by: John Johansen Signed-off-by: Eric Paris commit 6246ccab99093a562044596dd868213caa0b2b4c Author: Eric Paris Date: Mon Jan 7 14:01:18 2008 -0500 [AUDIT] do not panic on exclude messages in audit_log_pid_context() If we fail to get an ab in audit_log_pid_context this may be due to an exclude rule rather than a memory allocation failure. If it was due to a memory allocation failue we would have already paniced and no need to do it again. Signed-off-by: Eric Paris commit c0641f28dcbecb6dc34a4fd003a9947fcd080696 Author: Eric Paris Date: Mon Jan 7 13:49:15 2008 -0500 [AUDIT] Add End of Event record This patch adds an end of event record type. It will be sent by the kernel as the last record when a multi-record event is triggered. This will aid realtime analysis programs since they will now reliably know they have the last record to complete an event. The audit daemon filters this and will not write it to disk. Signed-off-by: Steve Grubb Signed-off-by: Eric Paris commit 4746ec5b01ed07205a91e4f7ed9de9d70f371407 Author: Eric Paris Date: Tue Jan 8 10:06:53 2008 -0500 [AUDIT] add session id to audit messages In order to correlate audit records to an individual login add a session id. This is incremented every time a user logs in and is included in almost all messages which currently output the auid. The field is labeled ses= or oses= Signed-off-by: Eric Paris commit c2a7780efe37d01bdb3facc85a94663e6d67d4a8 Author: Eric Paris Date: Mon Jan 7 13:40:17 2008 -0500 [AUDIT] collect uid, loginuid, and comm in OBJ_PID records Add uid, loginuid, and comm collection to OBJ_PID records. This just gives users a little more information about the task that received a signal. pid is rather meaningless after the fact, and even though comm isn't great we can't collect exe reasonably on this code path for performance reasons. Signed-off-by: Eric Paris commit f701b75ed5ffb6820efe530d1a3abcc6fc4678ad Author: Eric Paris Date: Mon Jan 7 13:34:51 2008 -0500 [AUDIT] return EINTR not ERESTART* The syscall exit code will change ERESTART* kernel internal return codes to EINTR if it does not restart the syscall. Since we collect the audit info before that point we should fix those in the audit log as well. Signed-off-by: Eric Paris commit bfef93a5d1fb5654fe2025276c55e202d10b5255 Author: Al Viro Date: Thu Jan 10 04:53:18 2008 -0500 [PATCH] get rid of loginuid races Keeping loginuid in audit_context is racy and results in messier code. Taken to task_struct, out of the way of ->audit_context changes. Signed-off-by: Al Viro commit 0c11b9428f619ab377c92eff2f160a834a6585dd Author: Al Viro Date: Thu Jan 10 04:20:52 2008 -0500 [PATCH] switch audit_get_loginuid() to task_struct * all callers pass something->audit_context Signed-off-by: Al Viro commit b95d58eaf20eb33c245a2172ec4ecf46bd832309 Author: Tejun Heo Date: Wed Jan 30 18:20:04 2008 +0900 pci: allow multiple calls to pcim_enable_device() There's no reason not to allow multiple calls to pcim_enable_device(). Calls after the first one can simply be noop. All PCI resources will be released when the initial pcim_enable_device() resource is released. This allows more flexibility to managed PCI users. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman Signed-off-by: Jeff Garzik commit 9f24e82d07e2c64467d0c0c04a798de56461fd4a Author: Bryan Wu Date: Wed Jan 30 16:43:28 2008 +0800 Blackfin pata-bf54x driver: fix compiling bug - no ata_port struct in struct ata_device any more Cc: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Jeff Garzik commit 30d849c95f0598309ca6451900b1fd0d2c0384e6 Author: Sonic Zhang Date: Wed Jan 30 16:43:27 2008 +0800 Blackfin pata-bf54x driver: should cover all possible interrupt sources Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Jeff Garzik commit f9204112586c1b9b5a5e5979d285e58a349774e0 Author: Sonic Zhang Date: Wed Jan 30 16:43:26 2008 +0800 Blackfin pata-bf54x driver: Add debug information Signed-off-by: Robin Getz Signed-off-by: Michael Hennerich Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Jeff Garzik commit a315acdacfba4c8bbf450129eeb45766112b8009 Author: Sonic Zhang Date: Wed Jan 30 16:43:25 2008 +0800 Blackfin pata-bf54x driver: Remove obsolete PM function Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu Signed-off-by: Jeff Garzik commit 92ba5d02d993ccf4a87b945779fe052f67c3c334 Author: Alan Cox Date: Mon Jan 28 16:08:23 2008 +0000 pata_sl82c105: dual channel support Use qc_defer to serialize the two channels Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 4a537a5518e81dba342eccbffcfa5c27cb5781d4 Author: Adrian Bunk Date: Tue Jan 29 00:10:19 2008 +0200 ata_piix.c: make piix_merge_scr() static piix_merge_scr() can become static. Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit a1fe782414b7122d4c0501d3a0988b7302fa586f Author: Robert Hancock Date: Tue Jan 29 19:53:19 2008 -0600 sata_nv: fix for completion handling This patch is based on an original patch from Kuan Luo of NVIDIA, posted under subject "fixed a bug of adma in rhel4u5 with HDS7250SASUN500G". His description follows. I've reworked it a bit to avoid some unnecessary repeated checks but it should be functionally identical. "The patch is to solve the error message "ata1: CPB flags CMD err, flags=0x11" when testing HDS7250SASUN500G in rhel4u5. I tested this hd in 2.6.24-rc7 which needed to remove the mask in blacklist to run the ncq and the same error also showed up. I traced the bug and found that the interrupt finished a command (for example, tag=0) when the driver got that adma status is NV_ADMA_STAT_DONE and cpb->resp_flags is NV_CPB_RESP_DONE. However, For this hd, the drive maybe didn't clear bit 0 at this moment. It meaned the hardware had not completely finished the command. If at the same time the driver freed the command(tag 0) and sended another command (tag 0), the error happened. The notifier register is 32-bit register containing notifier value. Value is bit vector containing one bit per tag number (0-31) in corresponding bit positions (bit 0 is for tag 0, etc). When bit is set then ADMA indicates that command with corresponding tag number completed execution. So i added the check notifier code. Sometimes i saw that the notifier reg set some bits , but the adma status set NV_ADMA_STAT_CMD_COMPLETE ,not NV_ADMA_STAT_DONE. So i added the NV_ADMA_STAT_CMD_COMPLETE check code." Signed-off-by: Robert Hancock Signed-off-by: Jeff Garzik commit 7bb3c5290ca0ec9e65947c907495c2b56e895e46 Author: Saeed Bishara Date: Wed Jan 30 11:50:45 2008 -1100 sata_mv: Remove PCI dependency The integrated SATA controller is connected directly to the SoC's internal bus, not via PCI interface. this patch removes the dependency on the PCI interface. Signed-off-by: Saeed Bishara Signed-off-by: Jeff Garzik commit d987402695f16ae33999d7315b915099d64616d4 Author: Alexander van Heukelum Date: Fri Feb 1 17:49:43 2008 +0100 x86: avoid section mismatch involving arch_register_cpu Avoid section mismatch involving arch_register_cpu. Marking arch_register_cpu as __init and removing the export for non-hotplug-cpu configurations makes the following warning go away: Section mismatch in reference from the function arch_register_cpu() to the function .devinit.text:register_cpu() The function arch_register_cpu() references the function __devinit register_cpu(). This is often because arch_register_cpu lacks a __devinit annotation or the annotation of register_cpu is wrong. The only external user of arch_register_cpu in the tree is in drivers/acpi/processor_core.c where it is guarded by ACPI_HOTPLUG_CPU (which depends on HOTPLUG_CPU). Signed-off-by: Alexander van Heukelum CC: Sam Ravnborg Signed-off-by: Ingo Molnar commit 93809be8b140c101d27f00d0a622ebac90bc7a67 Author: Harvey Harrison Date: Fri Feb 1 17:49:43 2008 +0100 x86: fixes for lookup_address args Signedness mismatches in level argument. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar commit 4a1485131a6038ba5382f407db48badc332672c4 Author: Harvey Harrison Date: Fri Feb 1 17:49:43 2008 +0100 x86: fix sparse warnings in cpu/common.c The casts will always be needed, may as well make them the right signedness. The ebx variables can easily be unsigned, may as well. arch/x86/kernel/cpu/common.c:261:21: warning: incorrect type in argument 2 (different signedness) arch/x86/kernel/cpu/common.c:261:21: expected unsigned int *eax arch/x86/kernel/cpu/common.c:261:21: got int * arch/x86/kernel/cpu/common.c:262:9: warning: incorrect type in argument 3 (different signedness) arch/x86/kernel/cpu/common.c:262:9: expected unsigned int *ebx arch/x86/kernel/cpu/common.c:262:9: got int * arch/x86/kernel/cpu/common.c:263:9: warning: incorrect type in argument 4 (different signedness) arch/x86/kernel/cpu/common.c:263:9: expected unsigned int *ecx arch/x86/kernel/cpu/common.c:263:9: got int * arch/x86/kernel/cpu/common.c:264:9: warning: incorrect type in argument 5 (different signedness) arch/x86/kernel/cpu/common.c:264:9: expected unsigned int *edx arch/x86/kernel/cpu/common.c:264:9: got int * arch/x86/kernel/cpu/common.c:293:30: warning: incorrect type in argument 3 (different signedness) arch/x86/kernel/cpu/common.c:293:30: expected unsigned int *ebx arch/x86/kernel/cpu/common.c:293:30: got int * arch/x86/kernel/cpu/common.c:350:22: warning: incorrect type in argument 2 (different signedness) arch/x86/kernel/cpu/common.c:350:22: expected unsigned int *eax arch/x86/kernel/cpu/common.c:350:22: got int * arch/x86/kernel/cpu/common.c:351:10: warning: incorrect type in argument 3 (different signedness) arch/x86/kernel/cpu/common.c:351:10: expected unsigned int *ebx arch/x86/kernel/cpu/common.c:351:10: got int * arch/x86/kernel/cpu/common.c:352:10: warning: incorrect type in argument 4 (different signedness) arch/x86/kernel/cpu/common.c:352:10: expected unsigned int *ecx arch/x86/kernel/cpu/common.c:352:10: got int * arch/x86/kernel/cpu/common.c:353:10: warning: incorrect type in argument 5 (different signedness) arch/x86/kernel/cpu/common.c:353:10: expected unsigned int *edx arch/x86/kernel/cpu/common.c:353:10: got int * arch/x86/kernel/cpu/common.c:362:30: warning: incorrect type in argument 3 (different signedness) arch/x86/kernel/cpu/common.c:362:30: expected unsigned int *ebx arch/x86/kernel/cpu/common.c:362:30: got int * Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar commit bb0e1290876a534d542f624cd549dab90cc767c4 Author: Harvey Harrison Date: Fri Feb 1 17:49:42 2008 +0100 x86: make early_console static in early_printk.c Not necessary to expose it, also fixes sparse warning. arch/x86/kernel/early_printk.c:196:16: warning: symbol 'early_console' was not declared. Should it be static? Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar commit 9347e0b0ce6255f4abef462d373577e7c8362fc6 Author: Yinghai Lu Date: Fri Feb 1 17:49:42 2008 +0100 x86: remove unneeded round_up Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 31f3dff6c536e33f97c8f5049e1dd0a392933265 Author: Sam Ravnborg Date: Fri Feb 1 17:49:42 2008 +0100 x86: fix section mismatch warning in kernel/pci-calgary Fix following warning: WARNING: arch/x86/kernel/built-in.o(.text+0x1eb41): Section mismatch in reference from the function calgary_handle_quirks() to the function .init.text:calgary_set_split_completion_timeout() calgary_handle_quirks() are only called at __init time (in calgary_init_one() via handle_quirks ops). So annotate this function and the sister function __init. Signed-off-by: Sam Ravnborg Signed-off-by: Ingo Molnar commit 009cbadb6e9364e0b006ef6531953c0eced1db4d Author: Sam Ravnborg Date: Fri Feb 1 17:49:42 2008 +0100 x86: fix section mismatch warning in acpi/boot.c Fix following warning: WARNING: o-x86_64/arch/x86/kernel/built-in.o(.text+0x13d15): Section mismatch in reference from the function acpi_map_lsapic() to the function .cpuinit.text:mp_register_lapic() The function acpi_map_lsapic() is exported and thus not annotated. But the sole user is acpi/processor_core.c in a __cpuinit path. So create a small wrapper and put back the annotation thus avoiding the warning. Signed-off-by: Sam Ravnborg Signed-off-by: Ingo Molnar commit c72258c7c9de448d5ea826ec6b4737eccbaa6718 Author: Sam Ravnborg Date: Fri Feb 1 17:49:42 2008 +0100 x86: fix section mismatch warnings when referencing notifiers Fix the following warnings: WARNING: arch/x86/kernel/built-in.o(.exit.text+0xf8): Section mismatch in reference from the function msr_exit() to the variable .cpuinit.data:msr_class_cpu_notifier WARNING: arch/x86/kernel/built-in.o(.exit.text+0x158): Section mismatch in reference from the function cpuid_exit() to the variable .cpuinit.data:cpuid_class_cpu_notifier WARNING: arch/x86/kernel/built-in.o(.exit.text+0x171): Section mismatch in reference from the function microcode_exit() to the variable .cpuinit.data:mc_cpu_notifier In all three cases there were a function annotated __exit that referenced a variable annotated __cpuinitdata. The fix was to replace the annotation of the notifier with __refdata to tell modpost that the reference to a _cpuinit function in the notifier are OK. The unregister call that references the notifier variable will simple delete the function pointer so there is no problem ignoring the reference. Note: This looks like another case where __cpuinit has been used as replacement for proper use of CONFIG_HOTPLUG_CPU to decide what code are used for HOTPLUG_CPU. Signed-off-by: Sam Ravnborg Cc: "H. Peter Anvin" Signed-off-by: Ingo Molnar commit 69e97c028b25ef10018d513ead6e7caad276e19f Author: Sam Ravnborg Date: Fri Feb 1 17:49:41 2008 +0100 x86: silence section mismatch warning in smpboot_64.c Silence the following warning: WARNING: o-x86_64/arch/x86/kernel/built-in.o(.text+0x17cd3): Section mismatch in reference from the function remove_cpu_from_maps() to the variable .cpuinit.data:cpu_initialized remove_cpu:maps() had a single user: __cpu_disable() so mark it static and annotate it with __ref to silence the warning from modpost. _cpu_disable() has a single user in kernel/cpu.c: => take_cpu_down() which again has a single user in the following call: => __stop_machine_run(take_cpu_down, &tcd_param, cpu); Here a kthread is created. So maybe the warning is correct and the right fix is to remove the __cpuinitdata annotation of cpu_initialized? Note: The analysis were disturbed by the fact that we had a variable with the same name in cpu/common.c - but this is 32 bit only] Note: Should smpboot_64 use cpu_clear()? Signed-off-by: Sam Ravnborg Cc: "H. Peter Anvin" Signed-off-by: Ingo Molnar commit 32ed937d0596e849e1976791e78c006cee8356ca Author: Yinghai Lu Date: Fri Feb 1 17:49:41 2008 +0100 x86: fix comments in vmlinux_64.lds for bzImage, the vmlinux_64.lds still have s32 bit code, and startup_32 should be 0. fix the comment. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 24a5da73f49c17ca88f369b257fef620a494e79d Author: Yinghai Lu Date: Fri Feb 1 17:49:41 2008 +0100 x86_64: make bootmap_start page align v6 boot oopses when a system has 64 or 128 GB of RAM installed: Calling initcall 0xffffffff80bc33b6: sctp_init+0x0/0x711() BUG: unable to handle kernel NULL pointer dereference at 000000000000005f IP: [] proc_register+0xe7/0x10f PGD 0 Oops: 0000 [1] SMP CPU 0 Modules linked in: Pid: 1, comm: swapper Not tainted 2.6.24-smp-g5a514e21-dirty #6 RIP: 0010:[] [] proc_register+0xe7/0x10f RSP: 0000:ffff810824c57e60 EFLAGS: 00010246 RAX: 000000000000d7d7 RBX: ffff811024c5fa80 RCX: ffff810824c57e08 RDX: 0000000000000000 RSI: 0000000000000195 RDI: ffffffff80cc2460 RBP: ffffffffffffffff R08: 0000000000000000 R09: ffff811024c5fa80 R10: 0000000000000000 R11: 0000000000000002 R12: ffff810824c57e6c R13: 0000000000000000 R14: ffff810824c57ee0 R15: 00000006abd25bee FS: 0000000000000000(0000) GS:ffffffff80b4d000(0000) knlGS:0000000000000000 CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b CR2: 000000000000005f CR3: 0000000000201000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process swapper (pid: 1, threadinfo ffff810824c56000, task ffff812024c52000) Stack: ffffffff80a57348 0000019500000000 ffff811024c5fa80 0000000000000000 00000000ffffff97 ffffffff802bfef0 0000000000000000 ffffffffffffffff 0000000000000000 ffffffff80bc3b4b ffff810824c57ee0 ffffffff80bc34a5 Call Trace: [] ? create_proc_entry+0x73/0x8a [] ? sctp_snmp_proc_init+0x1c/0x34 [] ? sctp_init+0xef/0x711 [] ? kernel_init+0x175/0x2e1 [] ? child_rip+0xa/0x12 [] ? kernel_init+0x0/0x2e1 [] ? child_rip+0x0/0x12 Code: 1e 48 83 7b 38 00 75 08 48 c7 43 38 f0 e8 82 80 48 83 7b 30 00 75 08 48 c7 43 30 d0 e9 82 80 48 c7 c7 60 24 cc 80 e8 bd 5a 54 00 <48> 8b 45 60 48 89 6b 58 48 89 5d 60 48 89 43 50 fe 05 f5 25 a0 RIP [] proc_register+0xe7/0x10f RSP CR2: 000000000000005f ---[ end trace 02c2d78def82877a ]--- Kernel panic - not syncing: Attempted to kill init! it turns out some variables near end of bss are corrupted already. in System.map we have ffffffff80d40420 b rsi_table ffffffff80d40620 B krb5_seq_lock ffffffff80d40628 b i.20437 ffffffff80d40630 b xprt_rdma_inline_write_padding ffffffff80d40638 b sunrpc_table_header ffffffff80d40640 b zero ffffffff80d40644 b min_memreg ffffffff80d40648 b rpcrdma_tk_lock_g ffffffff80d40650 B sctp_assocs_id_lock ffffffff80d40658 B proc_net_sctp ffffffff80d40660 B sctp_assocs_id ffffffff80d40680 B sysctl_sctp_mem ffffffff80d40690 B sysctl_sctp_rmem ffffffff80d406a0 B sysctl_sctp_wmem ffffffff80d406b0 b sctp_ctl_socket ffffffff80d406b8 b sctp_pf_inet6_specific ffffffff80d406c0 b sctp_pf_inet_specific ffffffff80d406c8 b sctp_af_v4_specific ffffffff80d406d0 b sctp_af_v6_specific ffffffff80d406d8 b sctp_rand.33270 ffffffff80d406dc b sctp_memory_pressure ffffffff80d406e0 b sctp_sockets_allocated ffffffff80d406e4 b sctp_memory_allocated ffffffff80d406e8 b sctp_sysctl_header ffffffff80d406f0 b zero ffffffff80d406f4 A __bss_stop ffffffff80d406f4 A _end and setup_node_bootmem() will use that page 0xd40000 for bootmap Bootmem setup node 0 0000000000000000-0000000828000000 NODE_DATA [000000000008a485 - 0000000000091484] bootmap [0000000000d406f4 - 0000000000e456f3] pages 105 Bootmem setup node 1 0000000828000000-0000001028000000 NODE_DATA [0000000828000000 - 0000000828006fff] bootmap [0000000828007000 - 0000000828106fff] pages 100 Bootmem setup node 2 0000001028000000-0000001828000000 NODE_DATA [0000001028000000 - 0000001028006fff] bootmap [0000001028007000 - 0000001028106fff] pages 100 Bootmem setup node 3 0000001828000000-0000002028000000 NODE_DATA [0000001828000000 - 0000001828006fff] bootmap [0000001828007000 - 0000001828106fff] pages 100 setup_node_bootmem() makes NODE_DATA cacheline aligned, and bootmap is page-aligned. the patch updates find_e820_area() to make sure we can meet the alignment constraints. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 25eff8d4cd7400372d490c392519c5b0064c03f7 Author: Yinghai Lu Date: Fri Feb 1 17:49:41 2008 +0100 x86_64: add debug name for early_res helps debugging problems in this rather murky area of code. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit aa7d93506cc26378be6964692cd0dd34cffaee25 Author: Heiko Carstens Date: Fri Feb 1 17:45:14 2008 +0100 latencytop: Change Kconfig dependency. Change latencytop Kconfig entry so it doesn't list the archictectures that support it. Instead introduce HAVE_LATENCY_SUPPORT which any architecture can set. Should reduce patch conflicts. Cc: Arjan van de Ven Cc: Martin Schwidefsky Cc: Holger Wolf Signed-off-by: Heiko Carstens Signed-off-by: Ingo Molnar commit cd689985cf49f6ff5c8eddc48d98b9d581d9475d Author: Thomas Gleixner Date: Fri Feb 1 17:45:14 2008 +0100 futex: Add bitset conditional wait/wakeup functionality To allow the implementation of optimized rw-locks in user space, glibc needs a possibility to select waiters for wakeup depending on a bitset mask. This requires two new futex OPs: FUTEX_WAIT_BITS and FUTEX_WAKE_BITS These OPs are basically the same as FUTEX_WAIT and FUTEX_WAKE plus an additional argument - a bitset. Further the FUTEX_WAIT_BITS OP is expecting an absolute timeout value instead of the relative one, which is used for the FUTEX_WAIT OP. FUTEX_WAIT_BITS calls into the kernel with a bitset. The bitset is stored in the futex_q structure, which is used to enqueue the waiter into the hashed futex waitqueue. FUTEX_WAKE_BITS also calls into the kernel with a bitset. The wakeup function logically ANDs the bitset with the bitset stored in each waiters futex_q structure. If the result is zero (i.e. none of the set bits in the bitsets is matching), then the waiter is not woken up. If the result is not zero (i.e. one of the set bits in the bitsets is matching), then the waiter is woken. The bitset provided by the caller must be non zero. In case the provided bitset is zero the kernel returns EINVAL. Internaly the new OPs are only extensions to the existing FUTEX_WAIT and FUTEX_WAKE functions. The existing OPs hand a bitset with all bits set into the futex_wait() and futex_wake() functions. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 83e96c604e781098a2f61b8a294919bcf3abfab4 Author: Thomas Gleixner Date: Fri Feb 1 17:45:14 2008 +0100 futex: Remove warn on in return fixup path The WARN_ON() in the fixup return path of futex_lock_pi() can trigger with false positives. The following scenario happens: t1 holds the futex and t2 and t3 are blocked on the kernel side rt_mutex. t1 releases the futex (and the rt_mutex) and assigned t2 to be the next owner of the futex. t2 is interrupted and returns w/o acquiring the rt_mutex, before t1 can release the rtmutex. t1 releases the rtmutex and t3 becomes the pending owner of the rtmutex. t2 notices that it is the designated owner (user space variable) and fails to acquire the rt_mutex via trylock, because it is not allowed to steal the rt_mutex from t3. Now it looks at the rt_mutex pending owner (t3) and assigns the futex and the pi_state to it. During the fixup t4 steals the rtmutex from t3. t2 returns from the fixup and the owner of the rt_mutex has changed from t3 to t4. There is no need to do another round of fixups from t2. The important part (t2 is not returning as the user space visible owner) is done. The further fixups are done, before either t3 or t4 return to user space. For the user space it is not relevant which task (t3 or t4) is the real owner, as long as those are both in the kernel, which is guaranteed by the serialization of the hash bucket lock. Both tasks (which ever returns first to userspace - t4 because it locked the rt_mutex or t3 due to a signal) are going through the lock_futex_pi() return path where the ownership is fixed before the return to user space. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 9d55b9923a1b7ea8193b8875c57ec940dc2ff027 Author: Thomas Gleixner Date: Fri Feb 1 17:45:14 2008 +0100 x86: replace LOCK_PREFIX in futex.h The exception fixup for the futex macros __futex_atomic_op1/2 and futex_atomic_cmpxchg_inatomic() is missing an entry when the lock prefix is replaced by a NOP via SMP alternatives. Chuck Ebert tracked this down from the information provided in: https://bugzilla.redhat.com/show_bug.cgi?id=429412 A possible solution would be to add another fixup after the LOCK_PREFIX, so both the LOCK and NOP case have their own entry in the exception table, but it's not really worth the trouble. Simply replace LOCK_PREFIX with lock and keep those untouched by SMP alternatives. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5df7fa1c62146a0933767d040d400013310dbcc7 Author: Thomas Gleixner Date: Fri Feb 1 17:45:14 2008 +0100 tick-sched: add more debug information To allow better diagnosis of tick-sched related, especially NOHZ related problems, we need to know when the last wakeup via an irq happened and when the CPU left the idle state. Add two fields (idle_waketime, idle_exittime) to the tick_sched structure and add them to the timer_list output. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 1001d0a9ee74a468077dfd4da0565174e88de26b Author: Thomas Gleixner Date: Fri Feb 1 17:45:13 2008 +0100 timekeeping: update xtime_cache when time(zone) changes xtime_cache needs to be updated whenever xtime and or wall_to_monotic are changed. Otherwise users of xtime_cache might see a stale (and in the case of timezone changes utterly wrong) value until the next update happens. Fixup the obvious places, which miss this update. Signed-off-by: Thomas Gleixner Acked-by: John Stultz Tested-by: Dhaval Giani Signed-off-by: Ingo Molnar commit 3588a085cd52ef080bf72df772378e1ba6bb292f Author: Peter Zijlstra Date: Fri Feb 1 17:45:13 2008 +0100 hrtimer: fix hrtimer_init_sleeper() users this patch: commit 37bb6cb4097e29ffee970065b74499cbf10603a3 Author: Peter Zijlstra Date: Fri Jan 25 21:08:32 2008 +0100 hrtimer: unlock hrtimer_wakeup Broke hrtimer_init_sleeper() users. It forgot to fix up the futex caller of this function to detect the failed queueing and messed up the do_nanosleep() caller in that it could leak a TASK_INTERRUPTIBLE state. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 1fd2e1c242acb4a589d59c77853897bdbb599186 Author: Mark Lord Date: Sat Jan 26 18:33:59 2008 -0500 sata_mv ncq Comments and version bump Remove some obsolete comments, and bump up the driver version number. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit a838b173c327890abc2059fc8b2d65f199622f48 Author: Mark Lord Date: Sat Jan 26 18:33:36 2008 -0500 sata_mv ncq Remove post internal cmd op This driver currently has no need for the .post_internal_cmd op. So get rid of it, to save unnecessary transitions between EDMA and non-EDMA modes. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 138bfdd03f2c08cc62b6af3900fb7be1c696315b Author: Mark Lord Date: Sat Jan 26 18:33:18 2008 -0500 sata_mv ncq Enable NCQ operation Final changes to actually turn on NCQ in the driver for GEN_II/IIE hardware. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit eb73d558d1c1c931de0b3a86af962c77d74ef688 Author: Mark Lord Date: Tue Jan 29 13:24:00 2008 -0500 sata_mv ncq Introduce per-tag SG tables In preparation for supporting NCQ, we must allocate separate SG tables for each command tag, rather than just a single table per port as before. Gen-I hardware cannot do NCQ, though, so we still allocate just a single table for that, but populate it in all 32 slots to avoid special-cases elsewhere in hotter paths of the code. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit bf7f22b9cac74a1e3d8b8e77350db2baca2c35be Author: Jason Gaston Date: Mon Jan 28 17:36:45 2008 -0800 ata_piix: IDE mode SATA patch for Intel ICH10 DeviceID's This patch adds the Intel ICH10 IDE mode SATA Controller DeviceID's. Signed-off-by: Jason Gaston Signed-off-by: Jeff Garzik commit 16ad1ad9cbce153f4bfed22f9b9a6db4ae212fc7 Author: Jason Gaston Date: Mon Jan 28 17:34:14 2008 -0800 ahci: RAID mode SATA patch for Intel ICH10 DeviceID's This patch adds the Intel ICH10 SATA RAID Controllers DeviceID's. Signed-off-by: Jason Gaston Signed-off-by: Jeff Garzik commit da2fa9baf06f33a8fa7aa3f56c9f2b4070ceca0e Author: Mark Lord Date: Sat Jan 26 18:32:45 2008 -0500 sata_mv ncq Use DMA memory pools for hardware memory tables Create host-owned DMA memory pools, for use in allocating/freeing per-port command/response queues and SG tables. This gives us a way to guarantee we meet the hardware address alignment requirements, and also reduces memory that might otherwise be wasted on alignment gaps. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit f273827e2aadcf2f74a7bdc9ad715a1b20ea7dda Author: Mark Lord Date: Sat Jan 26 18:32:29 2008 -0500 sata_mv ncq Restrict max sectors to 8-bits on GenII NCQ The GenII chips have only 8-bits for the sector_count field when performing NCQ. Add a dev_config method to restrict this when necessary, taking care not to override any other restriction already in place (likely none, but someday.. ?). Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit cb92441973ebd71d556fc7cdd9e597582327dd71 Author: Mark Lord Date: Sat Jan 26 18:32:09 2008 -0500 sata_mv ncq Ignore response status LSB on NCQ The lower 8 bits of response status are not valid for NCQ. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 8c0aeb4a483334613336ef895f34cecc0ecbbfa6 Author: Mark Lord Date: Sat Jan 26 18:31:48 2008 -0500 sata_mv ncq Use hqtag instead of ioid Simplify tag handling by using the cid/hqtag field instead of ioid, as recommended by Marvell. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 721091685f853ba4e6c49f26f989db0b1a811250 Author: Mark Lord Date: Sat Jan 26 18:31:33 2008 -0500 sata_mv ncq Add want ncq parameter for EDMA configuration An extra EDMA config bit is required for NCQ operation. So set/clear it as needed, and cache current setting in port_priv. For now though, it will always be "off" (0). Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 0c58912e192fc3a4835d772aafa40b72552b819f Author: Mark Lord Date: Sat Jan 26 18:31:16 2008 -0500 sata_mv ncq Fix EDMA configuration Simplify and fix EDMA configuration setup to match Marvell specificiations. The chip documentation gives a specific (re)init sequence, which we now follow. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit f630d562829fcd8160a118f98c1e5b9cdb4e703e Author: Mark Lord Date: Sat Jan 26 18:31:00 2008 -0500 sata_mv ncq Rename base to port mmio Use naming consistent with elsewhere in this driver. This will keep things less confusing when we later add "hc_mmio" in this function. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 646a4da514f2555298481cb00dc5b3eb02b21b72 Author: Mark Lord Date: Sat Jan 26 18:30:37 2008 -0500 sata_mv ncq Mask transient IRQs The chips can handle many transient errors internally without a software IRQ. We now mask/ignore those interrupts here. This is necessary for NCQ, later on. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 3606a380692cf958355a40fc1aa336800c17baf1 Author: Mark Lord Date: Sat Jan 26 18:28:23 2008 -0500 sata_mv ncq EH fixes A hard reset is necessary after hotplug events. Only clear the error irq bits that were set on entry. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit e30ec4525d4731d828a754823a83a3d6b50bb230 Author: Thiemo Seufer Date: Mon Jan 28 20:05:38 2008 +0000 [MIPS] Split the micro-assembler from tlbex.c. This patch moves the micro-assembler in a separate implementation, as it is useful for further run-time optimizations. The only change in behaviour is cutting down printk noise at kernel startup time. Checkpatch complains about macro parameters which aren't protected by parentheses. I believe this is a flaw in checkpatch, the paste operator used in those macros won't work with parenthesised parameters. Signed-off-by: Thiemo Seufer Signed-off-by: Ralf Baechle commit a055917e1b4ad337c293205377277ffc78c69c57 Author: Ralf Baechle Date: Wed Jan 30 12:14:59 2008 +0000 [MIPS] Fix build after b0rked changes to . Commit 312b1485fb509c9bc32eda28ad29537896658cb8 made __INIT_REFOK expand into .section .section ".ref.text", "ax". Since the assembler doesn't tolerate stuttering in the source that broke all MIPS builds. Since with this change Sam downgraded __INIT_REFOK the best fix is to get replace it by the modern days operator. With MIPS the only user of __INIT_REFOK and __INITDATA_REFOK (which was equally broken) being unused anyway these can be deleted but that's subject of a separate commit. Signed-off-by: Ralf Baechle commit 5315217efea54a07950758005686adedb8e8e680 Author: Jan Kara Date: Fri Feb 1 08:26:46 2008 -0500 [PATCH] jbd: Remove useless loop when writing commit record Commit block was intended to have several copies of the header. But due to a bug it never had them and actually, nobody checks that. So just remove the useless loop. Signed-off-by: Jan Kara Signed-off-by: "Theodore Ts'o" commit b048d8462652159c5314d19b191220b0ec384edb Author: Mingming Cao Date: Tue Feb 5 08:52:45 2008 -0500 jbd2: Add error check to journal_wait_on_commit_record to avoid oops The buffer head pointer passed to journal_wait_on_commit_record() could be NULL if the previous journal_submit_commit_record() failed or journal has already aborted. Looking at the jbd2 debug messages, before the oops happened, the jbd2 is aborted due to trying to access the next log block beyond the end of device. This might be caused by using a corrupted image. We need to check the error returns from journal_submit_commit_record() and avoid calling journal_wait_on_commit_record() in the failure case. This addresses Kernel Bugzilla #9849 Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 6dc4a8717fadd47103b5015cc678c75afda43ae0 Author: Artem Bityutskiy Date: Fri Feb 1 13:48:49 2008 +0200 UBI: do not flush queue on each vtbl change This is just not necessary. We re-write whole layout copy, so the old contents cannot show up again sice scan process will drop it. Signed-off-by: Artem Bityutskiy commit 24e1c13c93cbdd05e4b7ea921c0050b036555adc Merge: 31fa5d2... 3bc217f... Author: Linus Torvalds Date: Fri Feb 1 21:48:45 2008 +1100 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: block: kill swap_io_context() as-iosched: fix inconsistent ioc->lock context ide-cd: fix leftover data BUG block: make elevator lib checkpatch compliant cfq-iosched: make checkpatch compliant block: make core bits checkpatch compliant block: new end request handling interface should take unsigned byte counts unexport add_disk_randomness block/sunvdc.c:print_version() must be __devinit splice: always updated atime in direct splice commit 3bc217ffe6774e7971d6a7ce6350ce806ebab044 Author: Jens Axboe Date: Fri Feb 1 11:34:49 2008 +0100 block: kill swap_io_context() It blindly copies everything in the io_context, including the lock. That doesn't work so well for either lock ordering or lockdep. There seems zero point in swapping io contexts on a request to request merge, so the best point of action is to just remove it. Signed-off-by: Jens Axboe commit 31fa5d2868cfa6b51e39989e2a2ab99ce4566cb2 Author: Randy Dunlap Date: Thu Jan 31 22:09:08 2008 -0800 docbook: rapidio: fix fatal filename error Fix docbook fatal error (files were renamed): docproc: linux-2.6.24-git9/arch/ppc/kernel/rio.c: No such file or directory Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit e3c2a998afcb6de179ad954ee0113cfbcc42083e Author: Steven Rostedt Date: Fri Feb 1 00:13:58 2008 -0500 fix directory entry in arch-x86-Makefile Doing a make randconfig I came across this error in the Makefile. This patch makes a directory out of arch/x86/mach-default for CONFIG_X86_RDC321X Signed-off-by: Steven Rostedt Signed-off-by: Linus Torvalds commit 42bb1899221d362bee5480e3abc9b05243bf38fb Merge: cec03af... 4787083... Author: Linus Torvalds Date: Fri Feb 1 21:06:56 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64]: Fix inconsistent .section usage in lib/ [SPARC/SPARC64]: Fix usage of .section .sched.text in assembler code. commit cec03afcb62fbbb0eaf943f6349ade61b89d7d40 Merge: 2da53b0... 4814bdb... Author: Linus Torvalds Date: Fri Feb 1 21:06:29 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (173 commits) [NETNS]: Lookup in FIB semantic hashes taking into account the namespace. [NETNS]: Add a namespace mark to fib_info. [IPV4]: fib_sync_down rework. [NETNS]: Process interface address manipulation routines in the namespace. [IPV4]: Small style cleanup of the error path in rtm_to_ifaddr. [IPV4]: Fix memory leak on error path during FIB initialization. [NETFILTER]: Ipv6-related xt_hashlimit compilation fix. [NET_SCHED]: Add flow classifier [NET_SCHED]: sch_sfq: make internal queues visible as classes [NET_SCHED]: sch_sfq: add support for external classifiers [NET_SCHED]: Constify struct tcf_ext_map [BLUETOOTH]: Fix bugs in previous conn add/del workqueue changes. [TCP]: Unexport sysctl_tcp_tso_win_divisor [IPV4]: Make struct ipv4_devconf static. [TR] net/802/tr.c: sysctl_tr_rif_timeout static [XFRM]: Fix statistics. [XFRM]: Remove unused exports. [PKT_SCHED] sch_teql.c: Duplicate IFF_BROADCAST in FMASK, remove 2nd. [BNX2]: Fix ASYM PAUSE advertisement for remote PHY. [IPV4] route cache: Introduce rt_genid for smooth cache invalidation ... commit 2da53b0134ad41b91556d2d2a322cc03487a1ab7 Author: Olof Johansson Date: Thu Jan 31 17:50:02 2008 -0600 pasemi: Fix thinko in dma_direct_ops setup [POWERPC] pasemi: Fix thinko in dma_direct_ops setup The first patch will just fall through and still set dma_data to a bad value, make it return directly instead. Signed-off-by: Olof Johansson Acked-by: Michael Ellerman Signed-off-by: Linus Torvalds commit 0c6377f878eb767846934d6c70377afac9a4db68 Author: Greg Ungerer Date: Fri Feb 1 17:40:52 2008 +1000 m68knommu: remove dead timer int pending code Remove all the dead timer interrupt checking functions for the ColdFire CPU "timers" hardware that are not used after switching to GENERIC_TIME. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 79d8bfb01be752694fb3ae93555fcc0ad91b232b Author: Greg Ungerer Date: Fri Feb 1 17:40:49 2008 +1000 m68knommu: remove empty timer offset function for 68360 Switching to GENERIC_TIME means we no longer need the empty timer offset function for the 68360 CPU. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 2d8815ba82ef5048806d36529f3e385450ba6e60 Author: Greg Ungerer Date: Fri Feb 1 17:40:39 2008 +1000 m68knommu: remove local gettimeofday code Remove unused local gettimeofday functions, now that we are using GENERIC_TIME. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit de0cc4e2830434c44131232fd953dee895be43a2 Author: Greg Ungerer Date: Fri Feb 1 17:40:30 2008 +1000 m68knommu: set config to use GENERIC_TIME Switch m68knommu arch to using GENERIC_TIME. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit a7f61fa43e9b5622de5568b695b87c2166c49ea2 Author: Greg Ungerer Date: Fri Feb 1 17:40:26 2008 +1000 m68knommu: switch ColdFire TIMER to use GENERIC_TIME Switch the ColdFire TIMER timer to use GENERIC_TIME. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 8d80c5ee9c1e5bc3b72d69591101c2715a7e7fdd Author: Greg Ungerer Date: Fri Feb 1 17:40:21 2008 +1000 m68knommu: switch ColdFire PIT timer to use GENERIC_TIME Switch the ColdFire PIT timer to using GENERIC_TIME. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 36a90f26aa24c58e5279786340beb9f5bea39361 Author: Greg Ungerer Date: Fri Feb 1 17:40:17 2008 +1000 m68knommu: switch 68328 timer to use GENERIC_TIME Switch the 68328 CPU timer code to using GENERIC_TIME. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit f6efaf62bbb67ad564862a1131c365c3c55f6242 Author: Greg Ungerer Date: Fri Feb 1 17:38:26 2008 +1000 m68knommu: remove unused CONFIG_DISKtel symbol Remove unused CONFIG_DISKtel define. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit b7dcf7fe7c3060db38fc625efffad5965a5c6d8a Author: Greg Ungerer Date: Fri Feb 1 17:38:24 2008 +1000 m68knommu: fix 528x ColdFire cache settings Fix problems with the 528x ColdFire CPU cache setup. Do not cache the flash region (if present), and make the runtime settings consistent with the init setting. Problems pointed out by Bernd Buttner Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 9f69ba86d66297189916ceae401fe0944a207714 Author: Greg Ungerer Date: Fri Feb 1 17:38:34 2008 +1000 m68knommu: use container_of in mcf.c Use container_of() instead of assuming local uart struct is first member of uart_port struct. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit c9f27c3619b3ee26b8ec47692bdd3a7ac075ad87 Author: Greg Ungerer Date: Fri Feb 1 17:38:20 2008 +1000 m68knommu: remove dead code from m68knommu timer code Remove unused LED heartbeat code from m68knommu timer code. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 7c74806bc9addc312f59f2e7388b3a436c0c5131 Author: Greg Ungerer Date: Fri Feb 1 17:38:32 2008 +1000 m68knommu: use IRQF_DISABLE in m68328serial.c Use IRQF_DISABLED instead of obsolete IRQ_FLG_STD for request_irq() flags in m68328serial.c driver. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit dad263b84e244cd991f40ab9f87813078f585abb Author: Greg Ungerer Date: Fri Feb 1 17:38:03 2008 +1000 m68knommu: create common DMA table for ColdFire CPUs Move the ColdFire DMA address table into its own file, and out of each of the different CPU config files. No need to have a copy of it in each of the config setup files. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 6d3867987b8eefd880246f7dab085fcbe348c4dd Author: Greg Ungerer Date: Fri Feb 1 17:37:56 2008 +1000 m68knommu: modify Makefiles to support common coldfire directory Modify Makefiles to support separate coldfire platform directory. Currently the common ColdFire CPU family code sits in the arch/m68knommu/platform/5307 directory. This is confusing, the files containing this common code are in no way specific to the 5307 ColdFire. Create an arch/m68knommu/platform/coldfire directory to contain this common code. Other m68knommu CPU varients do not need use this code though, so it doesn't make sense to move it to arch/m68knommu/kernel. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 591091a15e22dc4ec30aa6fd5998be4e024b5c4c Author: Greg Ungerer Date: Fri Feb 1 17:37:46 2008 +1000 m68knommu: move ColdFire vectors.c to its own coldfire directory Move common ColdFire CPU vectors.c to common coldfire platform directory. Currently the common ColdFire CPU family code sits in the arch/m68knommu/platform/5307 directory. This is confusing, the files containing this common code are in no way specific to the 5307 ColdFire. Create an arch/m68knommu/platform/coldfire directory to contain this common code. Other m68knommu CPU varients do not need use this code though, so it doesn't make sense to move it to arch/m68knommu/kernel. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 297a834d0b593179cc178ddc5f128c8b8844d7be Author: Greg Ungerer Date: Fri Feb 1 17:37:39 2008 +1000 m68knommu: move ColdFire timers.c to its own coldfire directory Move common ColdFire CPU timers.c to common coldfire platform directory. Currently the common ColdFire CPU family code sits in the arch/m68knommu/platform/5307 directory. This is confusing, the files containing this common code are in no way specific to the 5307 ColdFire. Create an arch/m68knommu/platform/coldfire directory to contain this common code. Other m68knommu CPU varients do not need use this code though, so it doesn't make sense to move it to arch/m68knommu/kernel. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 703d01255e650b2f1ff6b2df5345bd481fd094e6 Author: Greg Ungerer Date: Fri Feb 1 17:37:36 2008 +1000 m68knommu: move ColdFire pit.c to its own coldfire directory Move common ColdFire CPU pit.c to common coldfire platform directory. Currently the common ColdFire CPU family code sits in the arch/m68knommu/platform/5307 directory. This is confusing, the files containing this common code are in no way specific to the 5307 ColdFire. Create an arch/m68knommu/platform/coldfire directory to contain this common code. Other m68knommu CPU varients do not need use this code though, so it doesn't make sense to move it to arch/m68knommu/kernel. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit ad80335a989ddace0969b180d4c417b56f26a254 Author: Greg Ungerer Date: Fri Feb 1 17:37:28 2008 +1000 m68knommu: move ColdFire head.S to its own coldfire directory Move common ColdFire CPU head.S to common coldfire platform directory. Currently the common ColdFire CPU family code sits in the arch/m68knommu/platform/5307 directory. This is confusing, the files containing this common code are in no way specific to the 5307 ColdFire. Create an arch/m68knommu/platform/coldfire directory to contain this common code. Other m68knommu CPU varients do not need use this code though, so it doesn't make sense to move it to arch/m68knommu/kernel. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 129f481d69123919c9fc351be268878fcd19df01 Author: Greg Ungerer Date: Fri Feb 1 17:37:18 2008 +1000 m68knommu: move ColdFire entry.S to its own coldfire directory Move common ColdFire CPU entry.S to common coldfire platform directory. Currently the common ColdFire CPU family code sits in the arch/m68knommu/platform/5307 directory. This is confusing, the files containing this common code are in no way specific to the 5307 ColdFire. Create an arch/m68knommu/platform/coldfire directory to contain this common code. Other m68knommu CPU varients do not need use this code though, so it doesn't make sense to move it to arch/m68knommu/kernel. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit c0ecfcd4b8998441cb6c647ee561e55cc3cd7e81 Author: Greg Ungerer Date: Fri Feb 1 17:35:03 2008 +1000 m68knommu: platform setup for 5407 ColdFire parts Switch to platform style configuration for 5407 ColdFire parts. Initial support is for the UARTs. DMA support moved to common code for all ColdFire parts. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit b2e1810e6467455e6dd28c7c7170c2e9c37fd1b0 Author: Greg Ungerer Date: Fri Feb 1 17:34:58 2008 +1000 m68knommu: platform setup for 532x ColdFire parts Switch to platform style configuration for 532x ColdFire parts. Initial support is for the UARTs. DMA support moved to common code for all ColdFire parts. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit e206da0bb3ccb479d624172580963bd70431b455 Author: Greg Ungerer Date: Fri Feb 1 17:34:40 2008 +1000 m68knommu: platform setup for 527x ColdFire parts Switch to platform style configuration for 527x ColdFire parts. Initial support is for the UARTs. DMA support moved to common code for all ColdFire parts. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 96db271acee00e550ddce54aaa8d0dc3e99706a3 Author: Greg Ungerer Date: Fri Feb 1 17:34:55 2008 +1000 m68knommu: platform setup for 5307 ColdFire parts Switch to platform style configuration for 5307 ColdFire parts. Initial support is for the UARTs. DMA support moved to common code for all ColdFire parts. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit eb49e9076141756d6c8fc97663e94eead0d7fc42 Author: Greg Ungerer Date: Fri Feb 1 17:34:50 2008 +1000 m68knommu: platform setup for 528x ColdFire parts Switch to platform style configuration for 528x ColdFire parts. Initial support is for the UARTs. DMA support moved to common code for all ColdFire parts. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 5f84bd52f03f8606982c75dfbda8c4cc1b725fee Author: Greg Ungerer Date: Fri Feb 1 17:34:30 2008 +1000 m68knommu: platform setup for 5249 ColdFire parts Switch to platform style configuration for 5249 ColdFire parts. Initial support is for the UARTs. DMA support moved to common code for all ColdFire parts. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 84e6defae684656193621a5812f51ff3561550b1 Author: Greg Ungerer Date: Fri Feb 1 17:34:32 2008 +1000 m68knommu: platform setup for 5272 ColdFire parts Switch to platform style configuration for 5272 ColdFire parts. Initial support is for the UARTs. DMA support moved to common code for all ColdFire parts. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 7dabb9ad8de527c3afef055a3ea18d027a4cca63 Author: Greg Ungerer Date: Fri Feb 1 17:34:10 2008 +1000 m68knommu: platform setup for 520x ColdFire parts Switch to platform style configuration for 520x ColdFire parts. Initial support is for the UARTs. DMA support moved to common code for all ColdFire parts. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 4b61a353e4c893ea07ff5a812de8c0894ed5982f Author: Greg Ungerer Date: Fri Feb 1 17:34:15 2008 +1000 m68knommu: platform setup for 523x ColdFire parts Switch to platform style configuration for 523x ColdFire parts. Initial support is for the UARTs. DMA support moved to common code for all ColdFire parts. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit cf64c233839e97221d63ed7887b59196c8c748c3 Author: Greg Ungerer Date: Fri Feb 1 17:34:08 2008 +1000 m68knommu: platform setup for 5206e ColdFire parts Switch to platform style configuration for 5206e ColdFire parts. Initial support is for the UARTs. DMA support is moved to common code. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 9685c43e4ea7e7267afd30157ca22af4e21e2767 Author: Greg Ungerer Date: Fri Feb 1 17:34:04 2008 +1000 m68knommu: platform setup for 5206 ColdFire parts Switch to platform style configuration for 5206 ColdFire parts. Initial support is for the UARTs. DMA support moved to common code for all ColdFire parts. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit ae1b5f0d2311057643657b71a272c4748e4b21d2 Author: Greg Ungerer Date: Fri Feb 1 17:32:00 2008 +1000 m68knommu: configure support for new ColdFire serial driver Add configure support for new ColdFire serial driver. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit b9ac1ecb7d43fd9f6424117f4ab218d1cff5920f Author: Greg Ungerer Date: Fri Feb 1 17:31:58 2008 +1000 m68knommu: build support for new ColdFire serial driver Add build support for new ColdFire serial driver. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 9c52fab2f187636b39afb0dcf562872ed42ab608 Author: Al Viro Date: Fri Feb 1 07:05:44 2008 +0000 Fix dl2k constants The MSSR constants didn't match the reality - bitfield declarations used to be correct (1000BT_FD - bit 11, 1000BT_HD - bit 10), but enum had them the other way round. Went unnoticed until the switch from the bitfields use to the explicit arithmetics and I hadn't caught that one when verifying correctness of change... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 8bdd3f8a6993fef2f364aca6e1a59559405773a2 Author: Jens Axboe Date: Fri Feb 1 09:44:28 2008 +0100 as-iosched: fix inconsistent ioc->lock context Since it's acquired from irq context, all locking must be of the irq safe variant. Most are already inside the queue lock (which already disables interrupts), but the io scheduler rmmod path always has irqs enabled and the put_io_context() path may legally be called with irqs enabled (even if it isn't usually). So fixup those two. Signed-off-by: Jens Axboe commit 4f4f6c2502474f51654a699d7127d86c2f87075a Author: Jens Axboe Date: Thu Jan 31 13:57:51 2008 +0100 ide-cd: fix leftover data BUG It's perfectly legal to have data leftovers when a drive signals completion, it happens all the time when a user issues a command with a transfer count that is too large. Signed-off-by: Jens Axboe commit 4eb166d9874b4917d79ccd14577a60d795a0cb4a Author: Jens Axboe Date: Fri Feb 1 00:37:27 2008 +0100 block: make elevator lib checkpatch compliant Signed-off-by: Jens Axboe commit fe094d98e79351344c9e0e2c1446794240d247a4 Author: Jens Axboe Date: Thu Jan 31 13:08:54 2008 +0100 cfq-iosched: make checkpatch compliant Signed-off-by: Jens Axboe commit 6728cb0e6343d4068ccec13f07212e6382d3ff33 Author: Jens Axboe Date: Thu Jan 31 13:03:55 2008 +0100 block: make core bits checkpatch compliant Signed-off-by: Jens Axboe commit 22b132102f1540dd40f3e41df88796829b685f1a Author: Jens Axboe Date: Thu Jan 31 12:36:19 2008 +0100 block: new end request handling interface should take unsigned byte counts No point in passing signed integers as the byte count, they can never be negative. Signed-off-by: Jens Axboe commit 640e248e44e2c550473550ca83668ceccad21dce Author: Adrian Bunk Date: Wed Jan 30 21:17:52 2008 +0100 unexport add_disk_randomness This patch removes the no longer used EXPORT_SYMBOL(add_disk_randomness). Signed-off-by: Adrian Bunk Acked-by: Matt Mackall Signed-off-by: Jens Axboe commit e30f98fcac9a203534454ffa6069c9b5fd2404ef Author: Adrian Bunk Date: Wed Jan 30 21:17:23 2008 +0100 block/sunvdc.c:print_version() must be __devinit This patch fixes the following section mismatches: <-- snip --> ... WARNING: drivers/block/sunvdc.o(.text+0xf0): Section mismatch in reference from the function print_version() to the variable .devinit.data:version WARNING: drivers/block/sunvdc.o(.text+0xf8): Section mismatch in reference from the function print_version() to the variable .devinit.data:version ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit 8084870854fe181996c4aa4f44cb2fabcebf164c Author: Jens Axboe Date: Wed Jan 30 12:24:48 2008 +0100 splice: always updated atime in direct splice Andre Majorel points out that if we only updated the atime when we transfer some data, we deviate from the standard of always updating the atime. So change splice to always call file_accessed() even if splice_direct_to_actor() didn't transfer any data. Signed-off-by: Jens Axboe commit f757397097d0713c949af76dccabb65a2785782e Author: Kevin Hilman Date: Thu Jan 31 17:28:18 2008 -0800 cpuidle: build fix for non-x86 Convert cpu_idle_wait() to cpuidle_kick_cpus() macro which is SMP-only, and gives error on non supported CPU. Signed-off-by: Kevin Hilman Acked-by: Venkatesh Pallipadi Acked-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 4787083fcce866e275bedeb87cd6dfba34c84253 Author: Sam Ravnborg Date: Thu Jan 31 16:48:49 2008 -0800 [SPARC64]: Fix inconsistent .section usage in lib/ A few places missed the "a" specifier for the __ex_table section. Add these so we avoid generation an additional section at link time. Latest modpost would otherwise complain like this: WARNING: vmlinux.o (__ex_table.2): section name inconsistency. (.[number]+) following section name. Did you forget to use "ax"/"aw" in a .S file? Note that for example contains section definitions for use in .S files. WARNING: vmlinux.o (__ex_table.4): section name inconsistency. (.[number]+) following section name. Did you forget to use "ax"/"aw" in a .S file? Note that for example contains section definitions for use in .S files. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit c6d64c16bb193c8ca2ccc0b3c556a4574a02408b Author: Sam Ravnborg Date: Mon Jan 28 21:06:23 2008 -0800 [SPARC/SPARC64]: Fix usage of .section .sched.text in assembler code. ld will generate an unique named section when assembler do not use "ax" but gcc does. Add the missing annotation. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 4814bdbd590e835ecec2d5e505165ec1c19796b2 Author: Denis V. Lunev Date: Thu Jan 31 18:50:07 2008 -0800 [NETNS]: Lookup in FIB semantic hashes taking into account the namespace. The namespace is not available in the fib_sync_down_addr, add it as a parameter. Looking up a device by the pointer to it is OK. Looking up using a result from fib_trie/fib_hash table lookup is also safe. No need to fix that at all. So, just fix lookup by address and insertion to the hash table path. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 7462bd744e8882f9ebb9220d46fd4fec8b35b082 Author: Denis V. Lunev Date: Thu Jan 31 18:49:32 2008 -0800 [NETNS]: Add a namespace mark to fib_info. This is required to make fib_info lookups namespace aware. In the other case initial namespace devices are marked as dead in the local routing table during other namespace stop. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 85326fa54b5516d8859617cc5fdfce8ae19c1480 Author: Denis V. Lunev Date: Thu Jan 31 18:48:47 2008 -0800 [IPV4]: fib_sync_down rework. fib_sync_down can be called with an address and with a device. In reality it is called either with address OR with a device. The codepath inside is completely different, so lets separate it into two calls for these two cases. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 4b8aa9abee2e108b132dea7a7c4e81a167895354 Author: Denis V. Lunev Date: Thu Jan 31 18:47:40 2008 -0800 [NETNS]: Process interface address manipulation routines in the namespace. The namespace is available when required except rtm_to_ifaddr. Add namespace argument to it. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 7b2185747c32260a3e43b94812e96d22a8725f09 Author: Denis V. Lunev Date: Thu Jan 31 18:47:00 2008 -0800 [IPV4]: Small style cleanup of the error path in rtm_to_ifaddr. Remove error code assignment inside brackets on failure. The code looks better if the error is assigned before condition check. Also, the compiler treats this better. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit dce5cbeec32eb5db4d406b732b1256c6f702bde5 Author: Denis V. Lunev Date: Thu Jan 31 18:44:53 2008 -0800 [IPV4]: Fix memory leak on error path during FIB initialization. net->ipv4.fib_table_hash is not freed when fib4_rules_init failed. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 3ed5df445eddce6f37767df3ebe8b27b614c7d98 Author: Pavel Emelyanov Date: Thu Jan 31 18:42:26 2008 -0800 [NETFILTER]: Ipv6-related xt_hashlimit compilation fix. The hashlimit_ipv6_mask() is called from under IP6_NF_IPTABLES config option, but is not under it by itself. gcc warns us about it :) : net/netfilter/xt_hashlimit.c:473: warning: "hashlimit_ipv6_mask" defined but not used Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit e5dfb815181fcb186d6080ac3a091eadff2d98fe Author: Patrick McHardy Date: Thu Jan 31 18:37:42 2008 -0800 [NET_SCHED]: Add flow classifier Add new "flow" classifier, which is meant to extend the SFQ hashing capabilities without hard-coding new hash functions and also allows deterministic mappings of keys to classes, replacing some out of tree iptables patches like IPCLASSIFY (maps IPs to classes), IPMARK (maps IPs to marks, with fw filters to classes), ... Some examples: - Classic SFQ hash: tc filter add ... flow hash \ keys src,dst,proto,proto-src,proto-dst divisor 1024 - Classic SFQ hash, but using information from conntrack to work properly in combination with NAT: tc filter add ... flow hash \ keys nfct-src,nfct-dst,proto,nfct-proto-src,nfct-proto-dst divisor 1024 - Map destination IPs of 192.168.0.0/24 to classids 1-257: tc filter add ... flow map \ key dst addend -192.168.0.0 divisor 256 - alternatively: tc filter add ... flow map \ key dst and 0xff - similar, but reverse ordered: tc filter add ... flow map \ key dst and 0xff xor 0xff Perturbation is currently not supported because we can't reliable kill the timer on destruction. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 94de78d19580143c407ff2492edf2410d0e7d48c Author: Patrick McHardy Date: Thu Jan 31 18:37:16 2008 -0800 [NET_SCHED]: sch_sfq: make internal queues visible as classes Add support for dumping statistics and make internal queues visible as classes. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7d2681a6ff4f9ab5e48d02550b4c6338f1638998 Author: Patrick McHardy Date: Thu Jan 31 18:36:52 2008 -0800 [NET_SCHED]: sch_sfq: add support for external classifiers Add support for external classifiers to allow using different flow hash functions similar to ESFQ. When no classifier is attached the built-in hash is used as before. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5239008b0de2507a531440b8c3019fb9c116fb1a Author: Patrick McHardy Date: Thu Jan 31 18:36:18 2008 -0800 [NET_SCHED]: Constify struct tcf_ext_map Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5396c9356efec1d3d818b786f69e081aaad4b98b Author: Dave Young Date: Thu Jan 31 18:33:10 2008 -0800 [BLUETOOTH]: Fix bugs in previous conn add/del workqueue changes. Jens Axboe noticed that we were queueing &conn->work on both btaddconn and keventd_wq. Signed-off-by: Dave Young Signed-off-by: David S. Miller commit 30a50cc56679f56d7b866b1c29fd05802606fc5a Author: Adrian Bunk Date: Thu Jan 31 17:18:50 2008 -0800 [TCP]: Unexport sysctl_tcp_tso_win_divisor This patch removes the no longer used EXPORT_SYMBOL(sysctl_tcp_tso_win_divisor). Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 0027ba843450a5e28dd7fed580ad1e1546b7696b Author: Adrian Bunk Date: Thu Jan 31 17:17:31 2008 -0800 [IPV4]: Make struct ipv4_devconf static. struct ipv4_devconf can now become static. Signed-off-by: Adrian Bunk Acked-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 81a21eb4ec4ad47a776a8ab89309fb2614e63ae5 Author: Adrian Bunk Date: Thu Jan 31 17:16:32 2008 -0800 [TR] net/802/tr.c: sysctl_tr_rif_timeout static sysctl_tr_rif_timeout can now become static. Signed-off-by: Adrian Bunk Acked-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 9472c9ef645d03ea823801d7716e658aeaf894e4 Author: Masahide NAKAMURA Date: Thu Jan 31 17:14:58 2008 -0800 [XFRM]: Fix statistics. o Outbound sequence number overflow error status is counted as XfrmOutStateSeqError. o Additionaly, it changes inbound sequence number replay error name from XfrmInSeqOutOfWindow to XfrmInStateSeqError to apply name scheme above. o Inbound IPv4 UDP encapsuling type mismatch error is wrongly mapped to XfrmInStateInvalid then this patch fiex the error to XfrmInStateMismatch. Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit 5255dc6e14ce640ccb3e062362510a00ac59bbcd Author: Adrian Bunk Date: Thu Jan 31 17:10:30 2008 -0800 [XFRM]: Remove unused exports. This patch removes the following no longer used EXPORT_SYMBOL's: - xfrm_input.c: xfrm_parse_spi - xfrm_state.c: xfrm_replay_check - xfrm_state.c: xfrm_replay_advance Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit cc8fd14dcaad61be74cbd5879f27a76f91473a3f Author: Roel Kluin <12o3l@tiscali.nl> Date: Thu Jan 31 17:08:47 2008 -0800 [PKT_SCHED] sch_teql.c: Duplicate IFF_BROADCAST in FMASK, remove 2nd. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: David S. Miller commit c26736ec171760a41307d775bbf05983ea45ea9e Author: Michael Chan Date: Thu Jan 31 17:07:21 2008 -0800 [BNX2]: Fix ASYM PAUSE advertisement for remote PHY. We were checking for the ASYM_PAUSE bit for 1000Base-X twice instead checking for both the 1000Base-X bit and the 10/100/1000Base-T bit. The purpose of the logic is to tell the firmware that ASYM_PAUSE is set on either the Serdes or Copper interface. Problem was discovered by Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 29e75252da20f3ab9e132c68c9aed156b87beae6 Author: Eric Dumazet Date: Thu Jan 31 17:05:09 2008 -0800 [IPV4] route cache: Introduce rt_genid for smooth cache invalidation Current ip route cache implementation is not suited to large caches. We can consume a lot of CPU when cache must be invalidated, since we currently need to evict all cache entries, and this eviction is sometimes asynchronous. min_delay & max_delay can somewhat control this asynchronism behavior, but whole thing is a kludge, regularly triggering infamous soft lockup messages. When entries are still in use, this also consumes a lot of ram, filling dst_garbage.list. A better scheme is to use a generation identifier on each entry, so that cache invalidation can be performed by changing the table identifier, without having to scan all entries. No more delayed flushing, no more stalling when secret_interval expires. Invalidated entries will then be freed at GC time (controled by ip_rt_gc_timeout or stress), or when an invalidated entry is found in a chain when an insert is done. Thus we keep a normal equilibrium. This patch : - renames rt_hash_rnd to rt_genid (and makes it an atomic_t) - Adds a new rt_genid field to 'struct rtable' (filling a hole on 64bit) - Checks entry->rt_genid at appropriate places : commit 174ce0483198b9dffd712fdd7d53635954fddffe Author: Jesse Brandeburg Date: Thu Jan 31 16:59:47 2008 -0800 [PKTGEN]: pktgen should not print info that it is spinning when using pktgen to send delay packets the module prints repeatedly to the kernel log: sleeping for X sleeping for X ... This is probably just a debugging item left in and should not be enabled for regular use of the module. Signed-off-by: Jesse Brandeburg Signed-off-by: David S. Miller commit 72eb7bd2693d83e161442b709b107dd77c77b4f2 Author: Patrick McHardy Date: Thu Jan 31 16:57:15 2008 -0800 [NET_SCHED]: sch_ingress: remove netfilter support Since the old policer code is gone, TC actions are needed for policing. The ingress qdisc can get packets directly from netif_receive_skb() in case TC actions are enabled or through netfilter otherwise, but since without TC actions there is no policer the only thing it actually does is count packets. Remove the netfilter support and always require TC actions. Signed-off-by: Patrick McHardy Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 52913246e0056c9c6215a778a3b31b6b9ce5c3ef Author: Rami Rosen Date: Thu Jan 31 16:56:03 2008 -0800 [MACVLAN]: Setting macvlan_handle_frame_hook to NULL when rtnl_link_register() fails. In drivers/net/macvlan.c, when rtnl_link_register() fails in macvlan_init_module(), there is no point to set it (second time in this method) to macvlan_handle_frame; macvlan_init_module() will return a negative number, so instead this patch sets macvlan_handle_frame_hook to NULL. Signed-off-by: Rami Rosen Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit e83a2ea850bf0c0c81c675444080970fc07798c6 Author: Chris Leech Date: Thu Jan 31 16:53:23 2008 -0800 [VLAN]: set_rx_mode support for unicast address list Reuse the existing logic for multicast list synchronization for the unicast address list. The core of dev_mc_sync/unsync are split out as __dev_addr_sync/unsync and moved from dev_mcast.c to dev.c. These are then used to implement dev_unicast_sync/unsync as well. I'm working on cleaning up Intel's FCoE stack, which generates new MAC addresses from the fibre channel device id assigned by the fabric as per the current draft specification in T11. When using such a protocol in a VLAN environment it would be nice to not always be forced into promiscuous mode, assuming the underlying Ethernet driver supports multiple unicast addresses as well. Signed-off-by: Chris Leech Signed-off-by: Patrick McHardy commit 16ca3f913001efdb6171a2781ef41c77474e3895 Author: Shan Wei Date: Thu Jan 31 16:47:27 2008 -0800 [TCP]: Fix a bug in strategy_allowed_congestion_control In strategy_allowed_congestion_control of the 2.6.24 kernel, when sysctl_string return 1 on success,it should call tcp_set_allowed_congestion_control to set the allowed congestion control.But, it don't. the sysctl_string return 1 on success, otherwise return negative, never return 0.The patch fix the problem. Signed-off-by: Shan Wei Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit 71d67e666e73e3b7e9ef124745ee2e454ac04be8 Author: Stephen Hemminger Date: Thu Jan 31 16:45:47 2008 -0800 [IPV4] fib_trie: rescan if key is lost during dump Normally during a dump the key of the last dumped entry is used for continuation, but since lock is dropped it might be lost. In that case fallback to the old counter based N^2 behaviour. This means the dump will end up skipping some routes which matches what FIB_HASH does. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 9fe7c712fc955565c32e2f899d4ffeceaf028398 Author: Rami Rosen Date: Thu Jan 31 16:42:23 2008 -0800 [PKTGEN]: Remove an unused definition in pktgen.c. - Remove an unused definition (LAT_BUCKETS_MAX) in net/core/pktgen.c. - Remove the corresponding comment. - The LAT_BUCKETS_MAX seems to have to do with a patch from a long time ago which was not applied (Ben Greear), which dealt with latency counters. See, for example : http://oss.sgi.com/archives/netdev/2002-09/msg00184.html Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 23717795bee15470b96f9b7aa5ecf4efe14c8e32 Author: Jim Paris Date: Thu Jan 31 16:36:25 2008 -0800 [IPV6]: Update MSS even if MTU is unchanged. This is needed because in ndisc.c, we have: static void ndisc_router_discovery(struct sk_buff *skb) { // ... if (ndopts.nd_opts_mtu) { // ... if (rt) rt->u.dst.metrics[RTAX_MTU-1] = mtu; rt6_mtu_change(skb->dev, mtu); // ... } Since the mtu is set directly here, rt6_mtu_change_route thinks that it is unchanged, and so it fails to update the MSS accordingly. This patch lets rt6_mtu_change_route still update MSS if old_mtu == new_mtu. Signed-off-by: Jim Paris Signed-off-by: David S. Miller commit fa4d3c6210380c55cf7f295d28fd981fbcbb828c Author: Pavel Emelyanov Date: Thu Jan 31 05:07:57 2008 -0800 [NETNS]: Udp sockets per-net lookup. Add the net parameter to udp_get_port family of calls and udp_lookup one and use it to filter sockets. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit d86e0dac2ce412715181f792aa0749fe3effff11 Author: Pavel Emelyanov Date: Thu Jan 31 05:07:21 2008 -0800 [NETNS]: Tcp-v6 sockets per-net lookup. Add a net argument to inet6_lookup and propagate it further. Actually, this is tcp-v6 implementation of what was done for tcp-v4 sockets in a previous patch. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit c67499c0e772064b37ad75eb69b28fc218752636 Author: Pavel Emelyanov Date: Thu Jan 31 05:06:40 2008 -0800 [NETNS]: Tcp-v4 sockets per-net lookup. Add a net argument to inet_lookup and propagate it further into lookup calls. Plus tune the __inet_check_established. The dccp and inet_diag, which use that lookup functions pass the init_net into them. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 941b1d22cc035ad58b3d9b44a1c74efac2d7e499 Author: Pavel Emelyanov Date: Thu Jan 31 05:05:50 2008 -0800 [NETNS]: Make bind buckets live in net namespaces. This tags the inet_bind_bucket struct with net pointer, initializes it during creation and makes a filtering during lookup. A better hashfn, that takes the net into account is to be done in the future, but currently all bind buckets with similar port will be in one hash chain. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 5ee31fc1ecdcbc234c8c56dcacef87c8e09909d8 Author: Pavel Emelyanov Date: Thu Jan 31 05:04:45 2008 -0800 [INET]: Consolidate inet(6)_hash_connect. These two functions are the same except for what they call to "check_established" and "hash" for a socket. This saves half-a-kilo for ipv4 and ipv6. add/remove: 1/0 grow/shrink: 1/4 up/down: 582/-1128 (-546) function old new delta __inet_hash_connect - 577 +577 arp_ignore 108 113 +5 static.hint 8 4 -4 rt_worker_func 376 372 -4 inet6_hash_connect 584 25 -559 inet_hash_connect 586 25 -561 Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 535174efbe0f0454f0595c31b823498c197eeb4f Author: Pavel Emelyanov Date: Thu Jan 31 05:03:27 2008 -0800 [IPV6]: Introduce the INET6_TW_MATCH macro. We have INET_MATCH, INET_TW_MATCH and INET6_MATCH to test sockets and twbuckets for matching, but ipv6 twbuckets are tested manually. Here's the INET6_TW_MATCH to help with it. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 22e0e62cd09dcf56fe1a7be66698b6e130e4314c Author: Patrick McHardy Date: Thu Jan 31 04:55:29 2008 -0800 [NETFILTER]: xt_iprange: fix sparse warnings CHECK net/netfilter/xt_iprange.c net/netfilter/xt_iprange.c:104:19: warning: restricted degrades to integer net/netfilter/xt_iprange.c:104:37: warning: restricted degrades to integer net/netfilter/xt_iprange.c:104:19: warning: restricted degrades to integer net/netfilter/xt_iprange.c:104:37: warning: restricted degrades to integer net/netfilter/xt_iprange.c:104:19: warning: restricted degrades to integer net/netfilter/xt_iprange.c:104:37: warning: restricted degrades to integer net/netfilter/xt_iprange.c:104:19: warning: restricted degrades to integer net/netfilter/xt_iprange.c:104:37: warning: restricted degrades to integer Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 969d71089f9b26f7ca4721c8c6559e50d81438f5 Author: Patrick McHardy Date: Thu Jan 31 04:55:07 2008 -0800 [NETFILTER]: nf_nat: fix sparse warning Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9e232495de8a1d0aa861d9a70b756315c05958f2 Author: Patrick McHardy Date: Thu Jan 31 04:54:45 2008 -0800 [NETFILTER]: nf_conntrack: fix sparse warning Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c392a7401807de25a9c7e0234dddbdf40b10c594 Author: Patrick McHardy Date: Thu Jan 31 04:54:18 2008 -0800 [NETFILTER]: {ip,ip6}_queue: fix build error Reported by Ingo Molnar: net/built-in.o: In function `ip_queue_init': ip_queue.c:(.init.text+0x322c): undefined reference to `net_ipv4_ctl_path' Fix the build error and also handle CONFIG_PROC_FS=n properly. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 32948588ac4ec54300bae1037e839277fd4536e2 Author: Jan Engelhardt Date: Thu Jan 31 04:53:24 2008 -0800 [NETFILTER]: nf_conntrack: annotate l3protos with const Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7cc3864d39837549c5ccb33c5b85183d6e6986bc Author: Jan Engelhardt Date: Thu Jan 31 04:53:05 2008 -0800 [NETFILTER]: nf_{conntrack,nat}_icmp: constify and annotate Constify a few data tables use const qualifiers on variables where possible in the nf_conntrack_icmp* sources. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit dc35dc5a4c8e7752c82643ff2ad442685331ab28 Author: Jan Engelhardt Date: Thu Jan 31 04:52:46 2008 -0800 [NETFILTER]: nf_{conntrack,nat}_proto_gre: annotate with const Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit da3f13c95a4c6e275a9b568f358c0c120ad83ecb Author: Jan Engelhardt Date: Thu Jan 31 04:52:29 2008 -0800 [NETFILTER]: nf_{conntrack,nat}_proto_udp{,lite}: annotate with const Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 82f568fc2f6bcab18e4c80291d21f7f8463ee698 Author: Jan Engelhardt Date: Thu Jan 31 04:52:07 2008 -0800 [NETFILTER]: nf_{conntrack,nat}_proto_tcp: constify and annotate TCP modules Constify a few data tables use const qualifiers on variables where possible in the nf_*_proto_tcp sources. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 02e23f4057fa86d6ecdbd83b5116c3c0e4c76fac Author: Jan Engelhardt Date: Thu Jan 31 04:51:45 2008 -0800 [NETFILTER]: nf_conntrack_sane: annotate SANE helper with const Annotate nf_conntrack_sane variables with const qualifier and remove a few casts. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9ddd0ed050445176a97e11b2b24d6fbc01843da6 Author: Jan Engelhardt Date: Thu Jan 31 04:51:23 2008 -0800 [NETFILTER]: nf_{conntrack,nat}_pptp: annotate PPtP helper with const Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit de24b4ebb811fcd7879bc580eb5c6f095b566321 Author: Jan Engelhardt Date: Thu Jan 31 04:50:51 2008 -0800 [NETFILTER]: nf_{conntrack,nat}_tftp: annotate TFTP helper with const Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 13f7d63c2911c9d1a254d13899986fc801641127 Author: Jan Engelhardt Date: Thu Jan 31 04:50:25 2008 -0800 [NETFILTER]: nf_{conntrack,nat}_sip: annotate SIP helper with const Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 905e3e8ec5899ae618846c9ac6f38dd6c22e604e Author: Jan Engelhardt Date: Thu Jan 31 04:50:05 2008 -0800 [NETFILTER]: nf_conntrack_h323: constify and annotate H.323 helper Constify data tables (predominantly in nf_conntrack_h323_types.c, but also a few in nf_conntrack_h323_asn1.c) and use const qualifiers on variables where possible in the h323 sources. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3cb609d57c20027a8b39fc60b79b930a89da82d4 Author: Alexey Dobriyan Date: Thu Jan 31 04:49:35 2008 -0800 [NETFILTER]: x_tables: create per-netns /proc/net/*_tables_* Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 715cf35ac9291f31a4fea7d022695a64cac0af80 Author: Alexey Dobriyan Date: Thu Jan 31 04:49:16 2008 -0800 [NETFILTER]: x_tables: netns propagation for /proc/net/*_tables_names Propagate netns together with AF down to ->start/->next/->stop iterators. Choose table based on netns and AF for showing. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 025d93d148d46bedb26905975f5d9c83d280b46e Author: Alexey Dobriyan Date: Thu Jan 31 04:48:54 2008 -0800 [NETFILTER]: x_tables: semi-rewrite of /proc/net/foo_tables_* There are many small but still wrong things with /proc/net/*_tables_* so I decided to do overhaul simultaneously making it more suitable for per-netns /proc/net/*_tables_* implementation. Fix a) xt_get_idx() duplicating now standard seq_list_start/seq_list_next iterators b) tables/matches/targets list was chosen again and again on every ->next c) multiple useless "af >= NPROTO" checks -- we simple don't supply invalid AFs there and registration function should BUG_ON instead. Regardless, the one in ->next() is the most useless -- ->next doesn't run at all if ->start fails. d) Don't use mutex_lock_interruptible() -- it can fail and ->stop is executed even if ->start failed, so unlock without lock is possible. As side effect, streamline code by splitting xt_tgt_ops into xt_target_ops, xt_matches_ops, xt_tables_ops. xt_tables_ops hooks will be changed by per-netns code. Code of xt_matches_ops, xt_target_ops is identical except the list chosen for iterating, but I think consolidating code for two files not worth it given "<< 16" hacks needed for it. [Patrick: removed unused enum in x_tables.c] Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 09e410def6432458c7d7e771a1807b157f4c2577 Author: Jan Engelhardt Date: Thu Jan 31 04:48:13 2008 -0800 [NETFILTER]: xt_hashlimit match, revision 1 Introduces the xt_hashlimit match revision 1. It adds support for kernel-level inversion and grouping source and/or destination IP addresses, allowing to limit on a per-subnet basis. While this would technically obsolete xt_limit, xt_hashlimit is a more expensive due to the hashbucketing. Kernel-level inversion: Previously you had to do user-level inversion: iptables -N foo iptables -A foo -m hashlimit --hashlimit(-upto) 5/s -j RETURN iptables -A foo -j DROP iptables -A INPUT -j foo now it is simpler: iptables -A INPUT -m hashlimit --hashlimit-over 5/s -j DROP Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d33b7c06bd721e21534c120d1c4a5944dc3eb9ce Author: Ilpo Järvinen Date: Thu Jan 31 04:47:35 2008 -0800 [NETFILTER]: nf_conntrack: kill unused static inline (do_iter) Signed-off-by: Ilpo Järvinen Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a38201e3c9e93bb8a873bd92e12cf1de1b987d91 Author: Ilpo Järvinen Date: Thu Jan 31 04:46:02 2008 -0800 [NETFILTER]: ipt_CLUSTERIP: kill clusterip_config_entry_get It's unused static inline. Signed-off-by: Ilpo Järvinen Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a83099a60ffda10fa2af85f1c5a141610ffbb2b6 Author: Eric Leblond Date: Thu Jan 31 04:44:27 2008 -0800 [NETFILTER]: nf_conntrack_netlink: transmit mark during all events The following feature was submitted some months ago. It forces the dump of mark during the connection destruction event. The induced load is quiet small and the patch is usefull to provide an easy way to filter event on user side without having to keep an hash in userspace. Signed-off-by: Eric Leblond Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1f807d6eb3f1e99fe6ff9ce3e12f1fbbc0a2f5c5 Author: Jan Engelhardt Date: Thu Jan 31 04:43:53 2008 -0800 [NETFILTER]: nf_conntrack_h323: clean up code a bit -total: 81 errors, 3 warnings, 876 lines checked +total: 44 errors, 3 warnings, 876 lines checked There is still work to be done, but that's for another patch. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 02502f6224ba7735182a83e2a6b4cd5e69278d6d Author: Patrick McHardy Date: Thu Jan 31 04:43:06 2008 -0800 [NETFILTER]: nf_nat: switch rwlock to spinlock Since we're using RCU, all users of nf_nat_lock take a write_lock. Switch it to a spinlock. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4d354c5782dc352cec187845d17eedc2c2bfcf67 Author: Patrick McHardy Date: Thu Jan 31 04:42:37 2008 -0800 [NETFILTER]: nf_nat: use RCU for bysource hash Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c88130bcd546e73e66165f9c29113dae9facf1ec Author: Patrick McHardy Date: Thu Jan 31 04:42:11 2008 -0800 [NETFILTER]: nf_conntrack: naming unification Rename all "conntrack" variables to "ct" for more consistency and avoiding some overly long lines. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 76eb946040a7b4c797979a9c22464b9a07890ba5 Author: Patrick McHardy Date: Thu Jan 31 04:41:44 2008 -0800 [NETFILTER]: nf_conntrack: don't inline early_drop() early_drop() is only called *very* rarely, unfortunately gcc inlines it into the hotpath because there is only a single caller. Explicitly mark it noinline. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ffaa9c100bd75c81744a2b7800a45daba53db0eb Author: Patrick McHardy Date: Thu Jan 31 04:41:14 2008 -0800 [NETFILTER]: nf_conntrack: reorder struct nf_conntrack_l4proto Reorder struct nf_conntrack_l4proto so all members used during packet processing are in the same cacheline. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0794935e21a18e7c171b604c31219b60ad9749a9 Author: Patrick McHardy Date: Thu Jan 31 04:40:52 2008 -0800 [NETFILTER]: nf_conntrack: optimize hash_conntrack() Avoid calling jhash three times and hash the entire tuple in one go. __hash_conntrack | -485 # 760 -> 275, # inlines: 3 -> 1, size inlines: 717 -> 252 1 function changed, 485 bytes removed Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 380517dead6ab86d7249a1723f07f2f1b10af5f6 Author: Patrick McHardy Date: Thu Jan 31 04:40:04 2008 -0800 [NETFILTER]: nf_conntrack: avoid duplicate protocol comparison in nf_ct_tuple_equal() nf_ct_tuple_src_equal() and nf_ct_tuple_dst_equal() both compare the protocol numbers. Unfortunately gcc doesn't optimize out the second comparison, so remove it and prefix both functions with __ to indicate that they should not be used directly. Saves another 16 byte of text in __nf_conntrack_find() on x86_64: nf_conntrack_tuple_taken | -20 # 320 -> 300, size inlines: 181 -> 161 __nf_conntrack_find | -16 # 267 -> 251, size inlines: 127 -> 115 __nf_conntrack_confirm | -40 # 875 -> 835, size inlines: 570 -> 537 3 functions changed, 76 bytes removed Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ba419aff2cda91680e5d4d3eeff95df49bd2edec Author: Patrick McHardy Date: Thu Jan 31 04:39:23 2008 -0800 [NETFILTER]: nf_conntrack: optimize __nf_conntrack_find() Ignoring specific entries in __nf_conntrack_find() is only needed by NAT for nf_conntrack_tuple_taken(). Remove it from __nf_conntrack_find() and make nf_conntrack_tuple_taken() search the hash itself. Saves 54 bytes of text in the hotpath on x86_64: __nf_conntrack_find | -54 # 321 -> 267, # inlines: 3 -> 2, size inlines: 181 -> 127 nf_conntrack_tuple_taken | +305 # 15 -> 320, lexblocks: 0 -> 3, # inlines: 0 -> 3, size inlines: 0 -> 181 nf_conntrack_find_get | -2 # 90 -> 88 3 functions changed, 305 bytes added, 56 bytes removed, diff: +249 Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f8ba1affa18398610e765736153fff614309ccc8 Author: Patrick McHardy Date: Thu Jan 31 04:38:58 2008 -0800 [NETFILTER]: nf_conntrack: switch rwlock to spinlock With the RCU conversion only write_lock usages of nf_conntrack_lock are left (except one read_lock that should actually use write_lock in the H.323 helper). Switch to a spinlock. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 76507f69c44ed199a1a68086145398459e55835d Author: Patrick McHardy Date: Thu Jan 31 04:38:38 2008 -0800 [NETFILTER]: nf_conntrack: use RCU for conntrack hash Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7d0742da1c8f5df3a34030f0170b30d1a052be80 Author: Patrick McHardy Date: Thu Jan 31 04:38:19 2008 -0800 [NETFILTER]: nf_conntrack_expect: use RCU for expectation hash Use RCU for expectation hash. This doesn't buy much for conntrack runtime performance, but allows to reduce the use of nf_conntrack_lock for /proc and nf_netlink_conntrack. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c52fbb410b2662a7bbc5cbe5969d73c733151498 Author: Patrick McHardy Date: Thu Jan 31 04:37:36 2008 -0800 [NETFILTER]: nf_conntrack_core: avoid taking nf_conntrack_lock in nf_conntrack_alter_reply The conntrack is unconfirmed, so we have an exclusive reference, which means that the write_lock is definitely unneeded. A read_lock used to be needed for the helper lookup, but since we're using RCU for helpers now rcu_read_lock is enough. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 58a3c9bb0c69f8517c2243cd0912b3f87b4f868c Author: Patrick McHardy Date: Thu Jan 31 04:36:54 2008 -0800 [NETFILTER]: nf_conntrack: use RCU for conntrack helpers Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 47d9504543817b0aa908a37a335b90c30704a100 Author: Patrick McHardy Date: Thu Jan 31 04:36:31 2008 -0800 [NETFILTER]: nf_conntrack: fix accounting with fixed timeouts Don't skip accounting for conntracks with the FIXED_TIMEOUT bit. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1d670fdc8c14780b8e0ad915ad3bb13b2fd9223b Author: Patrick McHardy Date: Thu Jan 31 04:35:57 2008 -0800 [NETFILTER]: nf_conntrack_netlink: fix unbalanced locking Properly drop nf_conntrack_lock on tuple parsing error. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 99fa5f53975b4c09beb5d11ed7418fee2dfb43e3 Author: Patrick McHardy Date: Thu Jan 31 04:10:40 2008 -0800 [NETFILTER]: nf_conntrack_ipv6: fix sparse warnings CHECK net/ipv6/netfilter/nf_conntrack_reasm.c net/ipv6/netfilter/nf_conntrack_reasm.c:77:18: warning: symbol 'nf_ct_ipv6_sysctl_table' was not declared. Should it be static? net/ipv6/netfilter/nf_conntrack_reasm.c:586:16: warning: symbol 'nf_ct_frag6_gather' was not declared. Should it be static? net/ipv6/netfilter/nf_conntrack_reasm.c:662:6: warning: symbol 'nf_ct_frag6_output' was not declared. Should it be static? net/ipv6/netfilter/nf_conntrack_reasm.c:683:5: warning: symbol 'nf_ct_frag6_kfree_frags' was not declared. Should it be static? net/ipv6/netfilter/nf_conntrack_reasm.c:698:5: warning: symbol 'nf_ct_frag6_init' was not declared. Should it be static? net/ipv6/netfilter/nf_conntrack_reasm.c:717:6: warning: symbol 'nf_ct_frag6_cleanup' was not declared. Should it be static? Based on patch by Stephen Hemminger with suggestions by Yasuyuki KOZAKAI. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b0a6363c2418c93f25dd30b8ffcd3fdd4ce23ad6 Author: Patrick McHardy Date: Thu Jan 31 04:10:18 2008 -0800 [NETFILTER]: {ip,arp,ip6}_tables: fix sparse warnings in compat code CHECK net/ipv4/netfilter/ip_tables.c net/ipv4/netfilter/ip_tables.c:1453:8: warning: incorrect type in argument 3 (different signedness) net/ipv4/netfilter/ip_tables.c:1453:8: expected int *size net/ipv4/netfilter/ip_tables.c:1453:8: got unsigned int [usertype] *size net/ipv4/netfilter/ip_tables.c:1458:44: warning: incorrect type in argument 3 (different signedness) net/ipv4/netfilter/ip_tables.c:1458:44: expected int *size net/ipv4/netfilter/ip_tables.c:1458:44: got unsigned int [usertype] *size net/ipv4/netfilter/ip_tables.c:1603:2: warning: incorrect type in argument 2 (different signedness) net/ipv4/netfilter/ip_tables.c:1603:2: expected unsigned int *i net/ipv4/netfilter/ip_tables.c:1603:2: got int * net/ipv4/netfilter/ip_tables.c:1627:8: warning: incorrect type in argument 3 (different signedness) net/ipv4/netfilter/ip_tables.c:1627:8: expected int *size net/ipv4/netfilter/ip_tables.c:1627:8: got unsigned int *size net/ipv4/netfilter/ip_tables.c:1634:40: warning: incorrect type in argument 3 (different signedness) net/ipv4/netfilter/ip_tables.c:1634:40: expected int *size net/ipv4/netfilter/ip_tables.c:1634:40: got unsigned int *size net/ipv4/netfilter/ip_tables.c:1653:8: warning: incorrect type in argument 5 (different signedness) net/ipv4/netfilter/ip_tables.c:1653:8: expected unsigned int *i net/ipv4/netfilter/ip_tables.c:1653:8: got int * net/ipv4/netfilter/ip_tables.c:1666:2: warning: incorrect type in argument 2 (different signedness) net/ipv4/netfilter/ip_tables.c:1666:2: expected unsigned int *i net/ipv4/netfilter/ip_tables.c:1666:2: got int * CHECK net/ipv4/netfilter/arp_tables.c net/ipv4/netfilter/arp_tables.c:1285:40: warning: incorrect type in argument 3 (different signedness) net/ipv4/netfilter/arp_tables.c:1285:40: expected int *size net/ipv4/netfilter/arp_tables.c:1285:40: got unsigned int *size net/ipv4/netfilter/arp_tables.c:1543:44: warning: incorrect type in argument 3 (different signedness) net/ipv4/netfilter/arp_tables.c:1543:44: expected int *size net/ipv4/netfilter/arp_tables.c:1543:44: got unsigned int [usertype] *size CHECK net/ipv6/netfilter/ip6_tables.c net/ipv6/netfilter/ip6_tables.c:1481:8: warning: incorrect type in argument 3 (different signedness) net/ipv6/netfilter/ip6_tables.c:1481:8: expected int *size net/ipv6/netfilter/ip6_tables.c:1481:8: got unsigned int [usertype] *size net/ipv6/netfilter/ip6_tables.c:1486:44: warning: incorrect type in argument 3 (different signedness) net/ipv6/netfilter/ip6_tables.c:1486:44: expected int *size net/ipv6/netfilter/ip6_tables.c:1486:44: got unsigned int [usertype] *size net/ipv6/netfilter/ip6_tables.c:1631:2: warning: incorrect type in argument 2 (different signedness) net/ipv6/netfilter/ip6_tables.c:1631:2: expected unsigned int *i net/ipv6/netfilter/ip6_tables.c:1631:2: got int * net/ipv6/netfilter/ip6_tables.c:1655:8: warning: incorrect type in argument 3 (different signedness) net/ipv6/netfilter/ip6_tables.c:1655:8: expected int *size net/ipv6/netfilter/ip6_tables.c:1655:8: got unsigned int *size net/ipv6/netfilter/ip6_tables.c:1662:40: warning: incorrect type in argument 3 (different signedness) net/ipv6/netfilter/ip6_tables.c:1662:40: expected int *size net/ipv6/netfilter/ip6_tables.c:1662:40: got unsigned int *size net/ipv6/netfilter/ip6_tables.c:1680:8: warning: incorrect type in argument 5 (different signedness) net/ipv6/netfilter/ip6_tables.c:1680:8: expected unsigned int *i net/ipv6/netfilter/ip6_tables.c:1680:8: got int * net/ipv6/netfilter/ip6_tables.c:1693:2: warning: incorrect type in argument 2 (different signedness) net/ipv6/netfilter/ip6_tables.c:1693:2: expected unsigned int *i net/ipv6/netfilter/ip6_tables.c:1693:2: got int * Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 855304af29c042e002d902997661ec3dd507df0d Author: Patrick McHardy Date: Thu Jan 31 04:09:46 2008 -0800 [NETFILTER]: ipt_recent: fix sparse warnings net/ipv4/netfilter/ipt_recent.c:215:17: warning: symbol 't' shadows an earlier one net/ipv4/netfilter/ipt_recent.c:179:22: originally declared here net/ipv4/netfilter/ipt_recent.c:322:13: warning: context imbalance in 'recent_seq_start' - wrong count at exit net/ipv4/netfilter/ipt_recent.c:354:13: warning: context imbalance in 'recent_seq_stop' - unexpected unlock Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit dc64d02ba8559ed09f49697aedfb1f6a1ab5909d Author: Stephen Hemminger Date: Thu Jan 31 04:09:00 2008 -0800 [NETFILTER]: nf_conntrack_h3223: sparse fixes Sparse complains when a function is not really static. Putting static on the function prototype is not enough. Signed-off-by: Stephen Hemminger Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f4f6fb714f139f45f90c6a5048ee67f9960543f1 Author: Stephen Hemminger Date: Thu Jan 31 04:08:39 2008 -0800 [NETFILTER]: more sparse fixes Some lock annotations, and make initializers static. Signed-off-by: Stephen Hemminger Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2f0d2f10391e190f940da70cbdc8a61e4dad98eb Author: Stephen Hemminger Date: Thu Jan 31 04:08:10 2008 -0800 [NETFILTER]: conntrack: get rid of sparse warnings Teach sparse about locking here, and fix signed/unsigned warnings. Signed-off-by: Stephen Hemminger Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4e26fe2681e9e3a4a43daab70c9facba3310755b Author: Stephen Hemminger Date: Thu Jan 31 04:07:51 2008 -0800 [NETFILTER]: nfnetlink_log: sparse warning fixes Signed-off-by: Stephen Hemminger Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 96eb24d770381b8a257b26183f6b6c131ad51ab9 Author: Stephen Hemminger Date: Thu Jan 31 04:07:29 2008 -0800 [NETFILTER]: nf_conntrack: sparse warnings The hashtable size is really unsigned so sparse complains when you pass a signed integer. Change all uses to make it consistent. Signed-off-by: Stephen Hemminger Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 06aa10728e36265cce82a53de025ad1aa672b2b0 Author: Stephen Hemminger Date: Thu Jan 31 04:07:08 2008 -0800 [NETFILTER]: nf_nat_snmp: sparse warning Signed-off-by: Stephen Hemminger Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit edc26f7aaa23591c779d6d6fc833c0c96fbeb3c0 Author: Jan Engelhardt Date: Thu Jan 31 04:06:38 2008 -0800 [NETFILTER]: xt_owner: allow matching UID/GID ranges Add support for ranges to the new revision. This doesn't affect compatibility since the new revision was not released yet. Signed-off-by: Jan Engelhardt Signed-off-by: David S. Miller commit 37c08387fc31a0fe7a570664c93be4f1c1bc0c94 Author: Jan Engelhardt Date: Thu Jan 31 04:06:10 2008 -0800 [NETFILTER]: xt_TCPMSS: consider reverse route's MTU in clamp-to-pmtu The TCPMSS target in Xtables should consider the MTU of the reverse route on forwarded packets as part of the path MTU. Point in case: IN=ppp0, OUT=eth0. MSS set to 1460 in spite of MTU of ppp0 being 1392. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit df200969b1627e8f1cda7ce8c0707863f91bb81b Author: Alexey Dobriyan Date: Thu Jan 31 04:05:34 2008 -0800 [NETFILTER]: netns: put table module on netns stop When number of entries exceeds number of initial entries, foo-tables code will pin table module. But during table unregister on netns stop, that additional pin was forgotten. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9ea0cb2601c4747dff758a9a7a5a4a433ad527f3 Author: Alexey Dobriyan Date: Thu Jan 31 04:05:09 2008 -0800 [NETFILTER]: arp_tables: per-netns arp_tables FILTER Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 79df341ab6c0b1eab77921265ddd1b17ec4db13a Author: Alexey Dobriyan Date: Thu Jan 31 04:04:32 2008 -0800 [NETFILTER]: arp_tables: netns preparation * Propagate netns from userspace. * arpt_register_table() registers table in supplied netns. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8280aa6182f03c4e27dc235ce0440bc94927dc28 Author: Alexey Dobriyan Date: Thu Jan 31 04:04:13 2008 -0800 [NETFILTER]: ip6_tables: per-netns IPv6 FILTER, MANGLE, RAW Now it's possible to list and manipulate per-netns ip6tables rules. Filtering decisions are based on init_net's table so far. P.S.: remove init_net check in inet6_create() to see the effect Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 336b517fdc0f92f54a3f77a2d0933f9556aa79ad Author: Alexey Dobriyan Date: Thu Jan 31 04:03:45 2008 -0800 [NETFILTER]: ip6_tables: netns preparation * Propagate netns from userspace down to xt_find_table_lock() * Register ip6 tables in netns (modules still use init_net) Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9335f047fe61587ec82ff12fbb1220bcfdd32006 Author: Alexey Dobriyan Date: Thu Jan 31 04:03:23 2008 -0800 [NETFILTER]: ip_tables: per-netns FILTER, MANGLE, RAW Now, iptables show and configure different set of rules in different netnss'. Filtering decisions are still made by consulting only init_net's set. Changes are identical except naming so no splitting. P.S.: one need to remove init_net checks in nf_sockopt.c and inet_create() to see the effect. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 34bd137ba744c2e3a320ff50ac64ae51556cdfae Author: Alexey Dobriyan Date: Thu Jan 31 04:03:03 2008 -0800 [NETFILTER]: ip_tables: propagate netns from userspace .. all the way down to table searching functions. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 44d34e721e2c81ccdfb13cf34996309247ae2981 Author: Alexey Dobriyan Date: Thu Jan 31 04:02:44 2008 -0800 [NETFILTER]: x_tables: return new table from {arp,ip,ip6}t_register_table() Typical table module registers xt_table structure (i.e. packet_filter) and link it to list during it. We can't use one template for it because corresponding list_head will become corrupted. We also can't unregister with template because it wasn't changed at all and thus doesn't know in which list it is. So, we duplicate template at the very first step of table registration. Table modules will save it for use during unregistration time and actual filtering. Do it at once to not screw bisection. P.S.: renaming i.e. packet_filter => __packet_filter is temporary until full netnsization of table modules is done. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8d870052079d255917ec4f8431f5ec102707b7af Author: Alexey Dobriyan Date: Thu Jan 31 04:02:13 2008 -0800 [NETFILTER]: x_tables: per-netns xt_tables In fact all we want is per-netns set of rules, however doing that will unnecessary complicate routines such as ipt_hook()/ipt_do_table, so make full xt_table array per-netns. Every user stubbed with init_net for a while. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a98da11d88dbec1d5cebe2c6dbe9939ed8d13f69 Author: Alexey Dobriyan Date: Thu Jan 31 04:01:49 2008 -0800 [NETFILTER]: x_tables: change xt_table_register() return value convention Switch from 0/-E to ptr/PTR_ERR convention. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 30083c9500b8aa3bc48579eaadb5068ad057afbd Author: Jan Engelhardt Date: Thu Jan 31 04:00:59 2008 -0800 [NETFILTER]: ebtables: mark matches, targets and watchers __read_mostly Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f776c4cda449bab463f5388eb07bd63dc52e2b13 Author: Jan Engelhardt Date: Thu Jan 31 04:00:30 2008 -0800 [NETFILTER]: ebtables: Update modules' descriptions Update the MODULES_DESCRIPTION() tags for all Ebtables modules. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit abfdf1c48907f78ad7d943b77ea180bf5504564f Author: Jan Engelhardt Date: Thu Jan 31 03:59:24 2008 -0800 [NETFILTER]: ebtables: remove casts, use consts Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 000e8a53540b75a885efeb00ec1f1cb3c8d0bead Author: Helge Deller Date: Thu Jan 31 03:58:56 2008 -0800 [NETFILTER]: nf_log: add netfilter gcc printf format checking Signed-off-by: Helge Deller Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b41649989c9640e54e47001994b7ecb927ea1822 Author: Jan Engelhardt Date: Thu Jan 31 03:58:24 2008 -0800 [NETFILTER]: xt_conntrack: add port and direction matching Extend the xt_conntrack match revision 1 by port matching (all four {orig,repl}{src,dst}) and by packet direction matching. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 41d0cdedd5d0a067069a1559315aa9bfdf00794a Author: Patrick McHardy Date: Thu Jan 31 03:58:01 2008 -0800 [NETFILTER]: nfnetlink_log: fix typo It should use htonl for the GID, not htons. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c82a5cb8b2b2ce15f1fb8add6772921b72da5943 Author: Jan Engelhardt Date: Thu Jan 31 03:57:36 2008 -0800 linux/types.h: Use __u64 for aligned_u64 Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2fd8e526f44beaf439f351b310648b559e62a7cb Author: Patrick McHardy Date: Thu Jan 31 03:56:35 2008 -0800 [NETFILTER]: bridge netfilter: remove nf_bridge_info read-only netoutdev member Before the removal of the deferred output hooks, netoutdev was used in case of VLANs on top of a bridge to store the VLAN device, so the deferred hooks would see the correct output device. This isn't necessary anymore since we're calling the output hooks for the correct device directly in the IP stack. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d44caf88e8f7906a4f99dbfc92108d660cfcd280 Author: Patrick McHardy Date: Thu Jan 31 03:56:04 2008 -0800 [NETFILTER]: nf_nat: remove double bysource hash initialization The hash table is already initialized by nf_ct_alloc_hashtable(). Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ecb6f85e11627a0fb26a7e2db0d3603c0d602937 Author: Jan Engelhardt Date: Thu Jan 31 03:54:47 2008 -0800 [NETFILTER]: Use const in struct xt_match, xt_target, xt_table Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ca7c48ca97e5e1d9dbc26cef165814f96d38d96b Author: Eric Dumazet Date: Thu Jan 31 03:53:27 2008 -0800 [NETFILTER]: Supress some sparse warnings CHECK net/netfilter/nf_conntrack_expect.c net/netfilter/nf_conntrack_expect.c:429:13: warning: context imbalance in 'exp_seq_start' - wrong count at exit net/netfilter/nf_conntrack_expect.c:441:13: warning: context imbalance in 'exp_seq_stop' - unexpected unlock CHECK net/netfilter/nf_log.c net/netfilter/nf_log.c:105:13: warning: context imbalance in 'seq_start' - wrong count at exit net/netfilter/nf_log.c:125:13: warning: context imbalance in 'seq_stop' - unexpected unlock CHECK net/netfilter/nfnetlink_queue.c net/netfilter/nfnetlink_queue.c:363:7: warning: symbol 'size' shadows an earlier one net/netfilter/nfnetlink_queue.c:217:9: originally declared here net/netfilter/nfnetlink_queue.c:847:13: warning: context imbalance in 'seq_start' - wrong count at exit net/netfilter/nfnetlink_queue.c:859:13: warning: context imbalance in 'seq_stop' - unexpected unlock Signed-off-by: Eric Dumazet Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3046d76746311ac7ff0cdc3ec42db15730528dbf Author: Denis V. Lunev Date: Thu Jan 31 03:48:55 2008 -0800 [RAW]: Wrong content of the /proc/net/raw6. The address of IPv6 raw sockets was shown in the wrong format, from IPv4 ones. The problem has been introduced by the commit 42a73808ed4f30b739eb52bcbb33a02fe62ceef5 ("[RAW]: Consolidate proc interface.") Thanks to Adrian Bunk who originally noticed the problem. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 8cd850efa4948d57a2ed836911cfd1ab299e89c6 Author: Denis V. Lunev Date: Thu Jan 31 03:46:43 2008 -0800 [RAW]: Cleanup IPv4 raw_seq_show. There is no need to use 128 bytes on the stack at all. Clean the code in the IPv6 style. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 377cf82d66ea43f3d3cb82c2563e65b5c12c9bfd Author: Denis V. Lunev Date: Thu Jan 31 03:46:12 2008 -0800 [RAW]: Family check in the /proc/net/raw[6] is extra. Different hashtables are used for IPv6 and IPv4 raw sockets, so no need to check the socket family in the iterator over hashtables. Clean this out. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit b1641064a3f4a58644bc2e8edf40c025c58473b4 Author: Herbert Xu Date: Wed Jan 30 21:48:24 2008 -0800 [IPCOMP]: Fix reception of incompressible packets I made a silly typo by entering IPPROTO_IP (== 0) instead of IPPROTO_IPIP (== 4). This broke the reception of incompressible packets. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit e242297055f906e8e225fb95a8edbc88e9052634 Author: Eric Dumazet Date: Wed Jan 30 20:07:45 2008 -0800 [NET]: should explicitely initialize atomic_t field in struct dst_ops All but one struct dst_ops static initializations miss explicit initialization of entries field. As this field is atomic_t, we should use ATOMIC_INIT(0), and not rely on atomic_t implementation. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit ad1984e844fb6edaa8b9984be23669f4e19168be Author: Ilpo Järvinen Date: Wed Jan 30 20:06:02 2008 -0800 [TCP]: NewReno must count every skb while marking losses NewReno should add cnt per skb (as with FACK) instead of depending on SACKED_ACKED bits which won't be set with it at all. Effectively, NewReno should always exists after the first iteration anyway (or immediately if there's already head in lost_out. This was fixed earlier in net-2.6.25 but got reverted among other stuff and I didn't notice that this is still necessary (actually wasn't even considering this case while trying to figure out the reports because I lived with different kind of code than it in reality was). This should solve the WARN_ONs in TCP code that as a result of this triggered multiple times in every place we check for this invariant. Special thanks to Dave Young and Krishna Kumar2 for trying with my debug patches. Signed-off-by: Ilpo Järvinen Tested-by: Dave Young Tested-by: Krishna Kumar2 Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 23fe18669e7fdaf5b229747858d943a723124e2e Author: Pavel Emelyanov Date: Wed Jan 30 19:31:06 2008 -0800 [NETNS]: Fix race between put_net() and netlink_kernel_create(). The comment about "race free view of the set of network namespaces" was a bit hasty. Look (there even can be only one CPU, as discovered by Alexey Dobriyan and Denis Lunev): put_net() if (atomic_dec_and_test(&net->refcnt)) /* true */ __put_net(net); queue_work(...); /* * note: the net now has refcnt 0, but still in * the global list of net namespaces */ == re-schedule == register_pernet_subsys(&some_ops); register_pernet_operations(&some_ops); (*some_ops)->init(net); /* * we call netlink_kernel_create() here * in some places */ netlink_kernel_create(); sk_alloc(); get_net(net); /* refcnt = 1 */ /* * now we drop the net refcount not to * block the net namespace exit in the * future (or this can be done on the * error path) */ put_net(sk->sk_net); if (atomic_dec_and_test(&...)) /* * true. BOOOM! The net is * scheduled for release twice */ When thinking on this problem, I decided, that getting and putting the net in init callback is wrong. If some init callback needs to have a refcount-less reference on the struct net, _it_ has to be careful himself, rather than relying on the infrastructure to handle this correctly. In case of netlink_kernel_create(), the problem is that the sk_alloc() gets the given namespace, but passing the info that we don't want to get it inside this call is too heavy. Instead, I propose to crate the socket inside an init_net namespace and then re-attach it to the desired one right after the socket is created. After doing this, we also have to be careful on error paths not to drop the reference on the namespace, we didn't get the one on. Signed-off-by: Pavel Emelyanov Acked-by: Denis Lunev Signed-off-by: David S. Miller commit 533cb5b0a63f28ecab5503cfceb77e641fa7f7c4 Author: Eric Dumazet Date: Wed Jan 30 19:11:50 2008 -0800 [XFRM]: constify 'struct xfrm_type' Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 2216b48376c40cf6984398d478a01b55e76c5434 Author: Benjamin Thery Date: Wed Jan 30 19:09:35 2008 -0800 [NETNS]: Add missing initialization of nl_info.nl_net in rtm_to_fib6_config() Add missing initialization of the new nl_info.nl_net field in rtm_to_fib6_config(). This will be needed the store network namespace associated to the fib6_config struct. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 4a19ec5800fc3bb64e2d87c4d9fdd9e636086fe0 Author: Laszlo Attila Toth Date: Wed Jan 30 19:08:16 2008 -0800 [NET]: Introducing socket mark socket option. A userspace program may wish to set the mark for each packets its send without using the netfilter MARK target. Changing the mark can be used for mark based routing without netfilter or for packet filtering. It requires CAP_NET_ADMIN capability. Signed-off-by: Laszlo Attila Toth Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 036c2e27bc3a6498afb35de017d810194032d765 Author: Jan Engelhardt Date: Wed Jan 30 18:55:45 2008 -0800 [AF_RXRPC]: constify function pointer tables Signed-off-by: Jan Engelhardt Signed-off-by: David S. Miller commit 18c0226e3c0a75b0f1d6828c118bcedf59d7ee99 Author: Michael Chan Date: Tue Jan 29 21:38:52 2008 -0800 [BNX2]: Update version to 1.7.3. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit df7f1ed6b85b936a4dd341c48e30aa207697997c Author: Michael Chan Date: Tue Jan 29 21:38:06 2008 -0800 [BNX2]: Update firmware. Update firmware to support programmable flow control. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 83e3fc89bb2b7bb27b3a6da5a541c43ce7706f42 Author: Michael Chan Date: Tue Jan 29 21:37:17 2008 -0800 [BNX2]: Fine-tune flow control on 5709. Make use of the programmable high/low water marks in 5709 for 802.3 flow control. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 62a8313cddbea04f2a28d1d76acf317c2a56cfae Author: Michael Chan Date: Tue Jan 29 21:35:40 2008 -0800 [BNX2]: Remove CTX_WR macro. The CTX_WR macro is unnecessary and obfuscates the code. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 2726d6e126c0c16efeba30356d4ae105f1854d1e Author: Michael Chan Date: Tue Jan 29 21:35:05 2008 -0800 [BNX2]: Remove REG_WR_IND/REG_RD_IND macros. The REG_WR_IND/REG_RD_IND macros are unnecessary and obfuscate the code. Many callers to these macros read and write shared memory from the bp->shmem_base, so we add 2 similar functions that automatically add the shared memory base. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 6f743ca052575a26439d796249d9e7740b8192d7 Author: Michael Chan Date: Tue Jan 29 21:34:08 2008 -0800 [BNX2]: Refine tx coalescing setup. Make the tx coalescing setup code independent of the MSIX vector. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit f3014c0cb60ec15a0a2542cbfae7e8d888aa5cf8 Author: Michael Chan Date: Tue Jan 29 21:33:03 2008 -0800 [BNX2]: Fix 5706 serdes link down bug. 1. Correct the MII expansion serdes control register definition. 2. Check an additional RUDI_INVALID bit when determining 5706S link. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit b6c0632105f7d7548f1d642ba830088478d4f2b0 Author: Dave Young Date: Tue Jan 29 21:14:08 2008 -0800 [BLUETOOTH]: Add conn add/del workqueues to avoid connection fail. The bluetooth hci_conn sysfs add/del executed in the default workqueue. If the del_conn is executed after the new add_conn with same target, add_conn will failed with warning of "same kobject name". Here add btaddconn & btdelconn workqueues, flush the btdelconn workqueue in the add_conn function to avoid the issue. Signed-off-by: Dave Young Signed-off-by: David S. Miller commit 2614fa59fa805cd488083c5602eb48533cdbc018 Author: Herbert Xu Date: Tue Jan 29 21:11:46 2008 -0800 [IPCOMP]: Fetch nexthdr before ipch is destroyed When I moved the nexthdr setting out of IPComp I accidently moved the reading of ipch->nexthdr after the decompression. Unfortunately this means that we'd be reading from a stale ipch pointer which doesn't work very well. This patch moves the reading up so that we get the correct nexthdr value. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 936f6f8e1bc46834bbb3e3fa3ac13ab44f1e7ba6 Author: Julian Anastasov Date: Mon Jan 28 21:18:06 2008 -0800 [IPV4] fib_trie: apply fixes from fib_hash Update fib_trie with some fib_hash fixes: - check for duplicate alternative routes for prefix+tos+priority when replacing route - properly insert by matching tos together with priority - fix alias walking to use list_for_each_entry_continue for insertion and deletion when fa_head is not NULL - copy state from fa to new_fa on replace (not a problem for now) - additionally, avoid replacement without error if new route is same, as Joonwoo Park suggests. Signed-off-by: Julian Anastasov Signed-off-by: David S. Miller commit c18865f39276435abb9286f9a816cb5b66c99a00 Author: Julian Anastasov Date: Mon Jan 28 21:14:10 2008 -0800 [IPV4] fib: fix route replacement, fib_info is shared fib_info can be shared by many route prefixes but we don't want duplicate alternative routes for a prefix+tos+priority. Last change was not correct to check fib_treeref because it accounts usage from other prefixes. Additionally, avoid replacement without error if new route is same, as Joonwoo Park suggests. Signed-off-by: Julian Anastasov Signed-off-by: David S. Miller commit ec9dbb1c3ee785ddc0c327497df42c16188d1fd8 Author: Wei Yongjun Date: Mon Jan 28 20:58:46 2008 -0800 [SCTP]: Fix miss of report unrecognized HMAC Algorithm parameter This patch fix miss of check for report unrecognized HMAC Algorithm parameter. When AUTH is disabled, goto fall through path to report unrecognized parameter, else, just break Signed-off-by: Wei Yongjun Acked-by: Neil Horman Acked-by: Vlad Yasevich Signed-off-by: David S. Miller commit 8cf8e5a67fb07f583aac94482ba51a7930dab493 Author: Arnaldo Carvalho de Melo Date: Mon Jan 28 20:52:12 2008 -0800 [INET_DIAG]: Fix inet_diag_lock_handler error path. Fixes: http://bugzilla.kernel.org/show_bug.cgi?id=9825 The inet_diag_lock_handler function uses ERR_PTR to encode errors but its callers were testing against NULL. This only happens when the only inet_diag modular user, DCCP, is not built into the kernel or available as a module. Also there was a problem with not dropping the mutex lock when a handler was not found, also fixed in this patch. This caused an OOPS and ss would then hang on subsequent calls, as &inet_diag_table_mutex was being left locked. Thanks to spike at ml.yaroslavl.ru for report it after trying 'ss -d' on a kernel that doesn't have DCCP available. This bug was introduced in cset d523a328fb0271e1a763e985a21f2488fd816e7e ("Fix inet_diag dead-lock regression"), after 2.6.24-rc3, so just 2.6.24 seems to be affected. Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 406a1d868001423c85a3165288e566e65f424fe6 Author: Herbert Xu Date: Mon Jan 28 20:47:09 2008 -0800 [AUDIT]: Increase skb->truesize in audit_expand The recent UDP patch exposed this bug in the audit code. It was calling pskb_expand_head without increasing skb->truesize. The caller of pskb_expand_head needs to do so because that function is designed to be called in places where truesize is already fixed and therefore it doesn't update its value. Because the audit system is using it in a place where the truesize has not yet been fixed, it needs to update its value manually. Signed-off-by: Herbert Xu Acked-by: James Morris Signed-off-by: David S. Miller commit 29ffe1a5c52dae13b6efead97aab9b058f38fce4 Author: Herbert Xu Date: Mon Jan 28 20:45:20 2008 -0800 [INET]: Prevent out-of-sync truesize on ip_fragment slow path When ip_fragment has to hit the slow path the value of skb->truesize may go out of sync because we would have updated it without changing the packet length. This violates the constraints on truesize. This patch postpones the update of skb->truesize to prevent this. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 1987e7b4855fcb6a866d3279ee9f2890491bc34d Author: maximilian attems Date: Mon Jan 28 20:44:11 2008 -0800 [AX25]: Kill ax25_bind() user triggable printk. on the last run overlooked that sfuzz triggable message. move the message to the corresponding comment. Signed-off-by: maximilian attems Signed-off-by: David S. Miller commit a44562e4d3a1612858a7872d633fce8c0ab349ab Author: maximilian attems Date: Mon Jan 28 20:43:16 2008 -0800 [AX25]: Beautify x25_init() version printk. kill ref to old version and dup Linux. Signed-off-by: maximilian attems Signed-off-by: David S. Miller commit 8674204a4977b5676d229f772c23f0091de9c23c Author: Ilpo Järvinen Date: Mon Jan 28 20:28:26 2008 -0800 [NET] 9p: kill dead static inline buf_put_string Signed-off-by: Ilpo Järvinen Acked-by: Eric Van Hensbergen Signed-off-by: David S. Miller commit e1770d97a730ff4c3aa1775d98f4d0558390607f Author: Paul Moore Date: Mon Jan 28 19:49:00 2008 -0800 [SELinux]: Fix double free in selinux_netlbl_sock_setsid() As pointed out by Adrian Bunk, commit 45c950e0f839fded922ebc0bfd59b1081cc71b70 ("fix memory leak in netlabel code") caused a double-free when security_netlbl_sid_to_secattr() fails. This patch fixes this by removing the netlbl_secattr_destroy() call from that function since we are already releasing the secattr memory in selinux_netlbl_sock_setsid(). Signed-off-by: Paul Moore Signed-off-by: David S. Miller commit 1a6509d991225ad210de54c63314fd9542922095 Author: Herbert Xu Date: Mon Jan 28 19:37:29 2008 -0800 [IPSEC]: Add support for combined mode algorithms This patch adds support for combined mode algorithms with GCM being the first algorithm supported. Combined mode algorithms can be added through the xfrm_user interface using the new algorithm payload type XFRMA_ALG_AEAD. Each algorithms is identified by its name and the ICV length. For the purposes of matching algorithms in xfrm_tmpl structures, combined mode algorithms occupy the same name space as encryption algorithms. This is in line with how they are negotiated using IKE. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 6fbf2cb77461a0cd0675228d20dd0f70d7b2251f Author: Herbert Xu Date: Mon Jan 28 19:35:49 2008 -0800 [IPSEC]: Allow async algorithms Now that ESP uses authenc we can turn on the support for async algorithms in IPsec. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 38320c70d282be1997a5204c7c7fe14c3aa6bfaa Author: Herbert Xu Date: Mon Jan 28 19:35:05 2008 -0800 [IPSEC]: Use crypto_aead and authenc in ESP This patch converts ESP to use the crypto_aead interface and in particular the authenc algorithm. This lays the foundations for future support of combined mode algorithms. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit bf164cc054d568fa7889ffab41d3b091f5758c75 Author: Jussi Kivilinna Date: Sat Jan 26 00:51:51 2008 +0200 Add new driver 'rndis_wlan' for wireless RNDIS devices. New driver for wireless RNDIS devices. So far only known chip that uses wireless RNDIS is Broadcom 4320. Driver detects all RNDIS devices that have RNDIS wireless physical medium. At least following devices are detected: Buffalo WLI-U2-KG125S U.S. Robotics USR5421 Belkin F5D7051 Linksys WUSB54GSv2 Linksys WUSB54GSC Asus WL169gE Eminent EM4045 BT Voyager 1055 Linksys WUSB54GSv1 U.S. Robotics USR5420 BUFFALO WLI-USB-G54 Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 3692e94f1559523b84a5a0e65929ee84b276e83f Author: Jussi Kivilinna Date: Sat Jan 26 00:51:45 2008 +0200 Move usbnet.h and rndis_host.h to include/linux/usb Move headers usbnet.h and rndis_host.h to include/linux/usb and fix includes for drivers/net/usb modules. Headers are moved because rndis_wlan will be outside drivers/net/usb in drivers/net/wireless and yet need these headers. Signed-off-by: Jussi Kivilinna Acked-by: David Brownell Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 039ee17d1baabaa21783a0d5ab3e8c6d8c794bdf Author: Jussi Kivilinna Date: Sun Jan 27 23:34:33 2008 +0200 rndis_host: Add RNDIS physical medium checking into generic_rndis_bind() Add RNDIS physical medium checking into generic_rndis_bind() and also make rndis_host to be only bind on every medium except wireless. Signed-off-by: Jussi Kivilinna Acked-by: David Brownell Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 5d6ecf6c5d4994198527496fa51ea119030400e0 Author: Jussi Kivilinna Date: Sat Jan 26 00:51:34 2008 +0200 rndis_host: Add link_change function pointer to 'struct rndis_data'. Callback to signal link state changes from minidriver to 'subminidrivers'. Signed-off-by: Jussi Kivilinna Acked-by: David Brownell Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 7c39e038fc738012ba36ed222bb62545ee59c012 Author: Jussi Kivilinna Date: Sat Jan 26 00:51:28 2008 +0200 rndis_host: Add early_init function pointer to 'struct rndis_data'. Function pointer is for 'subminidrivers' that need to do work on device right after minidriver has initialized hardware. For example, rndis_wlan setting device specific configuration parameters with OID_GEN_RNDIS_CONFIG_PARAMETER right after rndis_host has initialized hardware with RNDIS_INIT. Signed-off-by: Jussi Kivilinna Acked-by: David Brownell Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 476842b1962c7cf5ccea57dcfad26dc77d16e363 Author: Jussi Kivilinna Date: Sat Jan 26 00:51:23 2008 +0200 usbnet: add driver_priv pointer to 'struct usbnet' Add a private data pointer to usbnet for rndis_wlan module to use. Signed-off-by: Jussi Kivilinna Acked-by: David Brownell Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 5665998cd75bbaaa9361471921e3a0d4c665bf00 Author: Jussi Kivilinna Date: Sat Jan 26 00:51:17 2008 +0200 rndis_host: export functions Export rndis_host functions and also rename rndis_bind() to generic_rndis_bind() for modules using rndis_host as base. Signed-off-by: Jussi Kivilinna Acked-by: David Brownell Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 7517579af8f32ecf9ddff4ead52bc801e4898efe Author: Jussi Kivilinna Date: Sat Jan 26 00:51:12 2008 +0200 rndis_host: Split up rndis_host.c Split up rndis_host.c into rndis_host.h and rndis_base.c. This is done so that rndis_wlan can reuse common parts with rndis_host. Signed-off-by: Jussi Kivilinna Acked-by: David Brownell Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 6e3bbcc5d75d187bb853a086e22cd813242f6b75 Author: Jussi Kivilinna Date: Sat Jan 26 00:51:06 2008 +0200 usbnet: Use wlan device name for RNDIS wireless devices Use wlan device name for RNDIS wireless devices. Signed-off-by: Jussi Kivilinna Signed-off-by: Bjorge Dijkstra Acked-by: David Brownell Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit a842edaca3985698b177e61115aee91bdf893f1d Author: Jussi Kivilinna Date: Sat Jan 26 00:51:01 2008 +0200 rndis_host: Fix rndis packet filter flags. RNDIS packet filter flags are not exactly the same as CDC flags so we cannot reuse them. Signed-off-by: Jussi Kivilinna Signed-off-by: Bjorge Dijkstra Acked-by: David Brownell Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 9ff55874fea71f483581f48990658d3929adb034 Author: Jussi Kivilinna Date: Sat Jan 26 00:50:55 2008 +0200 rndis_host: Halt device if rndis_bind fails. When bind fails after device was initialized, shutdown device properly by sending RNDIS_MSG_HALT. Signed-off-by: Jussi Kivilinna Signed-off-by: Bjorge Dijkstra Acked-by: David Brownell Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 04c3c01a21a098140678ab9369cc0487775b8df6 Author: Jussi Kivilinna Date: Sat Jan 26 00:50:49 2008 +0200 rndis_host: Use 1KB buffer in rndis_unbind rndis_command requires the caller to pass in a buffer of at least 1KB. Signed-off-by: Jussi Kivilinna Signed-off-by: Bjorge Dijkstra Acked-by: David Brownell Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 786e3dfbae8e2da422affcc1736ca1888f200a27 Author: Bjorge Dijkstra Date: Sat Jan 26 00:50:44 2008 +0200 cdc_ether: Hardwire CDC descriptors when missing Just as ActiveSync devices, some regular RNDIS devices also lack the CDC descriptors (e.g. devices based on BCM4320 WLAN chip). This patch hardwires the CDC descriptors for all RNDIS style devices when they are missing. Signed-off-by: Bjorge Dijkstra Signed-off-by: Jussi Kivilinna Acked-by: David Brownell Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 2bfa2e1fecac3d8f8a7786a8171b7c75a48fc6d1 Author: Bjorge Dijkstra Date: Sat Jan 26 00:50:38 2008 +0200 rndis_host: Fix sparse warning rndis_unbind and usbnet_cdc_unbind don't return anything. Signed-off-by: Bjorge Dijkstra Signed-off-by: Jussi Kivilinna Acked-by: David Brownell Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 5d635ead203f4432eb287ac565eba057e5c4dfe6 Author: Marcin Juszkiewicz Date: Tue Jan 29 09:42:53 2008 +0100 Add another Prism2 card to hostap Card reported by Ångström user: http://bugs.openembedded.net/show_bug.cgi?id=3236 Socket 1: product info: "Wireless LAN", "11Mbps PC Card", "Version 01.02", "" manfid: 0x0156, 0x0002 function: 6 (network) Signed-off-by: Marcin Juszkiewicz Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 709365af80631b6831c9ee0a4e34510ad86d9b8b Author: Michal Piotrowski Date: Tue Jan 29 00:12:32 2008 +0200 hostap_80211.h: remove duplicate prototype There were two identical prototypes for hostap_80211_rx() in drivers/net/wireless/hostap/hostap_80211.h. This patch fixes kernel Bugzilla #8930. Reported by Christoph Burger-Scheidlin. Signed-off-by: Adrian Bunk Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 18904f5839336d7d047fdb20a9e7db87f2942ec9 Author: Cyrill Gorcunov Date: Sat Jan 26 19:09:36 2008 +0300 wireless: iwlwifi3945/4965 - fix incorrect counting of memory This patch does fix incorrect counting of memory allocated by kmalloc. It seems that could lead to allocated memory overrun and corrupt nearlaid memory area. Signed-off-by: Cyrill Gorcunov Acked-by: Tomas Winkler Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit fdfb92eab5a60f3060d4513182212d5ca9913cd1 Author: Holger Schurig Date: Fri Jan 25 14:15:48 2008 +0100 libertas: fix interrupt while removing driver Previously I've got an interrupt while removing the driver. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 5a6e04345abf04f543373f45081d109d13d96822 Author: Ihar Hrachyshka Date: Fri Jan 25 14:15:00 2008 +0100 libertas: fix memory alignment problems on the blackfin Fixing unaligned memory access on the blackfin architecture (maybe on the ARM also). Signed-off-by: Ihar Hrachyshka Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 9e7d1a445ed0d5c1d8863945d6c4c6f018a4aa83 Author: Eric Sandeen Date: Thu Jan 24 15:47:39 2008 -0500 iwlwifi: correct math in elapsed_jiffies w/o the first change: if end == start you get MAX_JIFFY_OFFSET which isn't what you want... For the latter I think to be technically correct you need the +1 to account for the jiffy between MAX_JIFFY_OFFSET and 0 (hmm w/ the 2nd change the first isn't strictly needed... ah well) Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 303d9bf6bb64ead8e3f1d7e29904a4025502e591 Author: Iñaky Pérez-González Date: Wed Jan 23 13:40:27 2008 -0800 rfkill: add the WiMAX radio type Teach rfkill about wimax radios. Had to define a KEY_WIMAX as a 'key for disabling only wimax radios', as other radio technologies have. This makes sense as hardware has specific keys for disabling specific radios. The RFKILL enabling part is, otherwise, a copy and paste of any other radio technology. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 09552ccd8277e6382097e93a40f7311a09449367 Author: Michael Buesch Date: Wed Jan 23 21:44:15 2008 +0100 b43: Drop packets that we are not able to encrypt We must not transmit packets we're not able to encrypt. This fixes a bug where in a tiny timeframe after machine resume packets can get sent unencrypted and might leak information. This also fixes three small resource leakages I spotted while fixing the security problem. Properly deallocate the DMA slots in any DMA allocation error path. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 7be1bb6b798d506693d2d8668e801951996b5a4a Author: Michael Buesch Date: Wed Jan 23 21:10:56 2008 +0100 b43: Fix suspend/resume This fixes suspend/resume. We must not overwrite the MAC addresses on resume. Otherwise the card won't ACK any packets anymore. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 76f3915b4cbadf5f7dc80d3df6d3a7492914675a Author: Gregory Greenman Date: Wed Jan 23 10:15:21 2008 -0800 iwlwifi: Fix uCode error on association The problem is that priv->assoc_id is set when assoc. resp frame is received. But, when it is set, LQ cmd is still not sent to the uCode, it is done from bg_post_assoc, which is called through a workqueue. On the other hand, when a tx arrives at the moment when this flag is set, but LQ is still not sent, the if condition in tx_skb will not hold and the frame will not be dropped. Thus, it will be sent through which is still not in the sta table in the uCoded. Signed-off-by: Gregory Greenman Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 25c03d8e8c13c5468155c58013b03841161b4559 Author: Joonwoo Park Date: Wed Jan 23 10:15:20 2008 -0800 iwlwifi: do not schedule tasklet when rcv unused irq The nic controller's scheduler interrupt (CSR_INT_BIT_SCD) indicates to the driver that scheduler finished to transmit the frame/frames. This bit is not used and the tasklet should thus not be scheduled upon its receipt. Signed-off-by: Joonwoo Park Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 74a3a2509dccba5b4e5eb5808cc59edf2c21560b Author: Reinette Chatre Date: Wed Jan 23 10:15:19 2008 -0800 iwlwifi: cleanup usage of inline functions Be consistent when using inline functions. If the function only used once we move it to where it is used - no need for externs. Signed-off-by: Reinette Chatre Cc: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 849e0dcea6b28a900e4743c1ada6db752fced5a9 Author: Reinette Chatre Date: Wed Jan 23 10:15:18 2008 -0800 iwlwifi: initialize geo/channel information during probe The geo/channel information is obtained from the EEPROM, which is read during probe. We can thus set up channel information at this time. This helps us to support ioctl commands that rely on this before the interface is brought up. Clearly matches _init_channel_map with _free_channel_map and _init_geos with _free_geos to ensure functions calling these routines can also call their cleanup routines. Fixes a few bugs: - if channel information is not available when ioctl commands are issued then we get a NULL pointer oops. Having channel information set up during probe we can deal with ioctl commands without requiring interface to be brought up. This fixes bug: http://www.bughost.org/bugzilla/show_bug.cgi?id=1552 - Fix potential problem if user triggers probe/remove/probe sequence. The value of priv->channel_count was used to determine if channel map is set up. This value was never reset when channel map was removed. - Fix memory leak: priv->modes need to be freed when device removed. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 75849d287ce5d75f3c79f153eaf74759ae95511f Author: Reinette Chatre Date: Wed Jan 23 10:15:17 2008 -0800 iwl4965: fix return code indicating one interface is supported This is a fix to patch "iwlwifi: fix iwl_mac_add_interface handler". In that patch the return code was corrected for iwl3945, but not for iwl4965. Signed-off-by: Reinette Chatre Cc: Tomas Carnecky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit d986bcd1ca76e033543a97f8a3ff806530b1c805 Author: Maarten Lankhorst Date: Wed Jan 23 10:15:16 2008 -0800 iwlwifi: Fix an invalid bitmask test in iwl3945 and iwl4965 Signed-off-by: Maarten Lankhorst Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 4fcc54707e51daf68dac995a4c632e5b21454b02 Author: Adrian Bassett Date: Wed Jan 23 16:38:33 2008 +0000 rtl8180_dev.c: add support for 1799:700f I have been using the rtl8180 driver via the git kernel route for a while now and would like to suggest that the following local ammendment is included in the development tree in order to support the PCI device 1799:700f. This device is found on the 'Belkin Wireless G Desktop Card' product, model 'F5D7000uk'. From memory, the chip on the card is inscribed RTL8185L; (I don't know the significance of the 'L', I'm afraid). Signed-off-by: Adrian Bassett Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 8b6bbe75384417d3f5edafcb45d2f67415e9cc00 Author: Ron Rindjunsky Date: Wed Jan 23 18:17:13 2008 +0200 mac80211: fixing null qos data frames check for reordering buffer This patch fixes a wrong condition for null qos data frames, causing us to drop data frames needed for reordering as well. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit e78c9d285709f535caae405f1da5b2936f51f0b5 Author: Stefano Brivio Date: Wed Jan 23 14:48:50 2008 +0100 b43legacy: fix MAC control and microcode init This zeros out all microcode related memory before loading the microcode. This also fixes initialization of the MAC control register. The _only_ place where we overwrite the contents of the MAC control register is at the beginning of b43_chip_init(). All other places must do read() -> mask/set -> write() to not overwrite existing bits. This also adds a longer delay for waiting for the microcode to initialize itself. It seems that the current timeout is sufficient on all available devices, but there's no real reason why we shouldn't wait for up to one second. Slow embedded devices might exist. Better safe than sorry. While at it, fix naming of MACCTL values. This patch by Michael Buesch has been ported to b43legacy. Signed-off-by: Stefano Brivio Acked-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 8712f2769dd66d8e7ff179d525b93e0a15a5b963 Author: Michael Buesch Date: Wed Jan 23 12:15:38 2008 +0100 b43legacy: Fix rfkill allocation leakage in error paths We must kill rfkill in any error paths that trigger after rfkill init. Signed-off-by: Michael Buesch Acked-by: Stefano Brivio Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 1946a2c3c6d138f0e1face8734226d9ba090e831 Author: Michael Buesch Date: Wed Jan 23 12:02:35 2008 +0100 b43: Fix rfkill allocation leakage in error paths We must kill rfkill in any error paths that trigger after rfkill init. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit be9b72590c05daf34c2b55cd5b7c68375a4a795b Author: Bruno Randolf Date: Wed Jan 23 10:27:51 2008 +0900 ath5k: debug level improvements * use only one debug level for beacon debugging: unify ATH5K_DEBUG_BEACON and ATH5K_DEBUG_BEACON_PROC. * remove debug level ATH5K_DEBUG_FATAL. doesn't make sense as a debug level - if it's fatal it should be logged as an error. * fancier printing of debug levels. cat /debugfs/ath5k/phy0/debug. * allow debug levels to be changed by echoing their name into /debugfs/ath5k/phy0/debug. this will toggle the state, when it was off it will be turned on and vice versa. * use copy_from_user() when reading from the debug files. use unsigned int for better optimization. reduce buffer sizes on stack. drivers/net/wireless/ath5k/base.c: Changes-licensed-under: 3-Clause-BSD drivers/net/wireless/ath5k/debug.c: Changes-licensed-under: GPL drivers/net/wireless/ath5k/debug.h: Changes-licensed-under: GPL Signed-off-by: Bruno Randolf Acked-by: Luis R. Rodriguez Acked-by: Jiri Slaby Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 691ba2346d5b88cec62fe8db0bf336a58a07b926 Author: Johannes Berg Date: Fri Jan 11 02:02:51 2008 +0100 mac80211: fix alignment warning When I introduced the alignment warning I forgot the A-MSDU case which has a different requirement because each frame contains 14-byte 802.3 headers in front of the IP payload. This patch moves the alignment warning to a place where we know whether we're dealing with an A-MSDU frame and adjusts it accordingly. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 4bdb0fba9e53dc263eb9601404d097dd99e60f83 Author: John W. Linville Date: Thu Jan 24 13:08:01 2008 -0500 rt61pci: fix-up merge damage A subtle merge error was introduced after re-queueing a patch for 2.6.24 instead of 2.6.25... Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 13f09b95a82c46ed608d057b22e0dd18ebfff22a Author: Trond Myklebust Date: Thu Jan 31 20:40:29 2008 -0500 Ensure that we export __fatal_signal_pending() It may be used by the modules nfs.ko and sunrpc.ko Signed-off-by: Trond Myklebust [ Made it a regular export rather than GPL-only - Linus ] Signed-off-by: Linus Torvalds commit 75659ca0c10992dcb39258518368a0f6f56e935d Merge: fbdde7b... 2dfe485... Author: Linus Torvalds Date: Fri Feb 1 11:45:47 2008 +1100 Merge branch 'task_killable' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc * 'task_killable' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc: (22 commits) Remove commented-out code copied from NFS NFS: Switch from intr mount option to TASK_KILLABLE Add wait_for_completion_killable Add wait_event_killable Add schedule_timeout_killable Use mutex_lock_killable in vfs_readdir Add mutex_lock_killable Use lock_page_killable Add lock_page_killable Add fatal_signal_pending Add TASK_WAKEKILL exit: Use task_is_* signal: Use task_is_* sched: Use task_contributes_to_load, TASK_ALL and TASK_NORMAL ptrace: Use task_is_* power: Use task_is_* wait: Use TASK_NORMAL proc/base.c: Use task_is_* proc/array.c: Use TASK_REPORT perfmon: Use task_is_* ... Fixed up conflicts in NFS/sunrpc manually.. commit fbdde7bd274d74729954190f99afcb1e3d9bbfba Merge: e1a9c98... c4772d9... Author: Linus Torvalds Date: Fri Feb 1 10:25:09 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched * git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched: debug: turn ignore_loglevel into an early param sched: remove unused params sched: let +nice tasks have smaller impact sched: fix high wake up latencies with FAIR_USER_SCHED RCU: add help text for "RCU implementation type" commit e1a9c9872dd004617555dff079b357a6ffd945e9 Merge: fcc3ff4... 2ecba4f... Author: Linus Torvalds Date: Fri Feb 1 10:16:28 2008 +1100 Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/perex/alsa * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/perex/alsa: (299 commits) [ALSA] version 1.0.16rc2 [ALSA] hda: fix Mic in as output [ALSA] emu10k1 - Another EMU0404 Board ID [ALSA] emu10k1 - Fix kthread handling at resume [ALSA] emu10k1: General cleanup, add new locks, fix alsa bug#3501, kernel bug#9304. [ALSA] emu10k1 - Use enum for emu_model types [ALSA] emu10k1 - Don't create emu1010 controls for non-emu boards [ALSA] emu10k1 - 1616(M) cardbus improvements [ALSA] snd:emu10k1: E-Mu updates. Fixes to firmware loading and support for 0404. [ALSA] emu10k1: Add comments regarding E-Mu ins and outs. [ALSA] oxygen: revert SPI clock frequency change for AK4396/WM8785 [ALSA] es1938 - improve capture hw pointer reads [ALSA] HDA-Intel - Add support for Intel SCH [ALSA] hda: Add GPIO mute support to STAC9205 [ALSA] hda-codec - Add Dell T3400 support [ALSA] hda-codec - Add model for HP DV9553EG laptop [ALSA] hda-codec - Control SPDIF as slave [ALSA] hda_intel: ALSA HD Audio patch for Intel ICH10 DeviceID's [ALSA] Fix Oops with PCM OSS sync [ALSA] hda-codec - Add speaker automute to ALC262 HP models ... commit fcc3ff4f9d695a80dc6e6058e0d631a3026ed4c3 Merge: e95035c... 62152d0... Author: Linus Torvalds Date: Fri Feb 1 10:15:32 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 * git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: asm-generic/tlb.h: build fix x86: uninline __pte_free_tlb() and __pmd_free_tlb() x86: fix small sparse warning x86: fix sparse warning in kernel/scx200_32.c x86: early_ioremap_reset fix 2 x86: c_p_a clflush_cache_range fix x86: change_page_attr_clear fix x86: fix sparse warnings in intel_cacheinfo.c commit c4772d99300a9fc13c86aaa370e630c5973664f6 Author: Ingo Molnar Date: Thu Jan 31 22:45:23 2008 +0100 debug: turn ignore_loglevel into an early param i was debugging early crashes and wondered where all the printks went. The reason: ignore_loglevel_setup() was not called yet ... Signed-off-by: Ingo Molnar commit 5aff0531ee2403b319e89bd04055fc41173e95fd Author: Gerald Stralko Date: Thu Jan 31 22:45:23 2008 +0100 sched: remove unused params This removes the extra struct task_struct *p parameter in inc_nr_running and dec_nr_running functions. Signed-off by: Jerry Stralko Signed-off-by: Ingo Molnar commit ef9884e6f29bbe1075204f962a00f7533bf7e8f3 Author: Peter Zijlstra Date: Thu Jan 31 22:45:22 2008 +0100 sched: let +nice tasks have smaller impact Michel Dänzr has bisected an interactivity problem with plus-reniced tasks back to this commit: 810e95ccd58d91369191aa4ecc9e6d4a10d8d0c8 is first bad commit commit 810e95ccd58d91369191aa4ecc9e6d4a10d8d0c8 Author: Peter Zijlstra Date: Mon Oct 15 17:00:14 2007 +0200 sched: another wakeup_granularity fix unit mis-match: wakeup_gran was used against a vruntime fix this by assymetrically scaling the vtime of positive reniced tasks. Bisected-by: Michel Dänzer Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 296825cbe14d4c95ee9c41ca5824f7487bfb4d9d Author: Srivatsa Vaddagiri Date: Thu Jan 31 22:45:22 2008 +0100 sched: fix high wake up latencies with FAIR_USER_SCHED The reason why we are getting better wakeup latencies for !FAIR_USER_SCHED is because of this snippet of code in place_entity(): if (!initial) { /* sleeps upto a single latency don't count. */ if (sched_feat(NEW_FAIR_SLEEPERS) && entity_is_task(se)) ^^^^^^^^^^^^^^^^^^ vruntime -= sysctl_sched_latency; /* ensure we never gain time by being placed backwards. */ vruntime = max_vruntime(se->vruntime, vruntime); } NEW_FAIR_SLEEPERS feature gives credit for sleeping only to tasks and not group-level entities. With the patch attached, I could see that wakeup latencies with FAIR_USER_SCHED are restored to the same level as !FAIR_USER_SCHED. Signed-off-by: Ingo Molnar commit 095031052b4c03a7c8ffa51cbab031e442c4f8b7 Author: Paul E. McKenney Date: Thu Jan 31 22:45:22 2008 +0100 RCU: add help text for "RCU implementation type" This patch supplies help text for the "RCU implementation type" kernel configuration choice. Reported-by: Stefan Richter Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar commit 62152d0ea7012382cd814c7b361b4ef2029f26e6 Author: Ingo Molnar Date: Thu Jan 31 22:05:48 2008 +0100 asm-generic/tlb.h: build fix bring back the avr32, blackfin, sh, sparc architectures into working order, by reverting the effects of this change that came in via the x86 tree: commit a5a19c63f4e55e32dc0bc3d936d7f94793d8b380 Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:33:39 2008 +0100 x86: demacro asm-x86/pgalloc_32.h Sorry about that! Signed-off-by: Ingo Molnar commit 5aa0508508e7cd62bec6e3933b86fce03d2e8502 Author: Ingo Molnar Date: Thu Jan 31 22:05:48 2008 +0100 x86: uninline __pte_free_tlb() and __pmd_free_tlb() this also removes an include file dependency. Signed-off-by: Ingo Molnar commit 072b7a58ca534a667f9649ead1628dfb20087e4b Author: Harvey Harrison Date: Thu Jan 31 22:05:47 2008 +0100 x86: fix small sparse warning arch/x86/kernel/ds.c:226:9: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar commit 706b7e1573d7b7ad7825e84a6dcfb3d533993b83 Author: Harvey Harrison Date: Thu Jan 31 22:05:45 2008 +0100 x86: fix sparse warning in kernel/scx200_32.c arch/x86/kernel/scx200_32.c:68:72: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar commit 1fd6a53ddc75d02ad0f363cb42f2a1cec6b701c2 Author: Huang, Ying Date: Thu Jan 31 22:05:45 2008 +0100 x86: early_ioremap_reset fix 2 This patch fixes a bug of early_ioremap_reset(), which had been fixed before by "convert the boot time page table to the kernels native format" patch. But that patch has been reverted now. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar commit d4387bd3fa1d27e03bc87533c1650e24417c8016 Author: Huang, Ying Date: Thu Jan 31 22:05:45 2008 +0100 x86: c_p_a clflush_cache_range fix Because in i386 early boot stage, boot_cpu_data may be not available, which makes clflush_cach_range() into infinite loop, which is called by change_page_attr(). This patch fixes this by setting boot_cpu_data.x86_clflush_size in early_cpu_detect(). Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar commit 5827040df095d8dd6b5ca155dc4bfb5bafcb6ca2 Author: Huang, Ying Date: Thu Jan 31 22:05:43 2008 +0100 x86: change_page_attr_clear fix This patch replaces __change_page_attr_set_clr() with change_page_attr_set_clr() in change_page_attr_clear() to flush the TLB/cache properly. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar commit c1666e663d8443f57c1c6b0acac70c3fbaea9014 Author: Harvey Harrison Date: Thu Jan 31 22:05:43 2008 +0100 x86: fix sparse warnings in intel_cacheinfo.c arch/x86/kernel/cpu/intel_cacheinfo.c:355:7: warning: symbol 'i' shadows an earlier one arch/x86/kernel/cpu/intel_cacheinfo.c:296:39: originally declared here arch/x86/kernel/cpu/intel_cacheinfo.c:367:18: warning: incorrect type in argument 2 (different signedness) arch/x86/kernel/cpu/intel_cacheinfo.c:367:18: expected unsigned int *eax arch/x86/kernel/cpu/intel_cacheinfo.c:367:18: got int * arch/x86/kernel/cpu/intel_cacheinfo.c:367:28: warning: incorrect type in argument 3 (different signedness) arch/x86/kernel/cpu/intel_cacheinfo.c:367:28: expected unsigned int *ebx arch/x86/kernel/cpu/intel_cacheinfo.c:367:28: got int * arch/x86/kernel/cpu/intel_cacheinfo.c:367:38: warning: incorrect type in argument 4 (different signedness) arch/x86/kernel/cpu/intel_cacheinfo.c:367:38: expected unsigned int *ecx arch/x86/kernel/cpu/intel_cacheinfo.c:367:38: got int * arch/x86/kernel/cpu/intel_cacheinfo.c:367:48: warning: incorrect type in argument 5 (different signedness) arch/x86/kernel/cpu/intel_cacheinfo.c:367:48: expected unsigned int *edx arch/x86/kernel/cpu/intel_cacheinfo.c:367:48: got int * Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar commit 2ecba4ffbbc6c85fce8c3878514be415edace413 Author: Jaroslav Kysela Date: Thu Jan 31 17:40:18 2008 +0100 [ALSA] version 1.0.16rc2 Signed-off-by: Jaroslav Kysela commit cace16f174d971a80f81e68ed04f1124a50dd800 Author: Matthew Ranostay Date: Wed Jan 30 14:58:38 2008 +0100 [ALSA] hda: fix Mic in as output Some laptop has an internal analog microphone that is 'fixed'. This patch prevents creating a 'Mic In as Output' switch for ports that can't be outputs. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 493b4acb9ed3193b19d45d62e0e5740d20f47adc Author: Veli-Matti Valtonen Date: Mon Jan 7 12:36:56 2008 +0100 [ALSA] emu10k1 - Another EMU0404 Board ID This is based on pseudo-random playing around with the capabilities. With ca0102 this card gives no output atall, ca0108 appears to work fine, so it rather looks similar to the EMU1010b/EMU1010 changes. Some other people seem to have succeeded in using this aswell: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3496 From: Veli-Matti Valtonen Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit bd3d1c2096ff99311b8524273ba0f53502365136 Author: Takashi Iwai Date: Fri Dec 14 12:43:00 2007 +0100 [ALSA] emu10k1 - Fix kthread handling at resume Don't create emu1010 kthread again at resume if it's already created. Also make the thread function static. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c94fa4c9168e51a8dab8e72cb9f0d89673fc8d8c Author: James Courtier-Dutton Date: Sat Nov 10 17:55:14 2007 +0000 [ALSA] emu10k1: General cleanup, add new locks, fix alsa bug#3501, kernel bug#9304. Signed-off-by: James Courtier-Dutton Signed-off-by: Jaroslav Kysela commit 3839e4f136d6da3dc85d237aa9569ee94bfea763 Author: Takashi Iwai Date: Fri Dec 21 16:33:32 2007 +0100 [ALSA] emu10k1 - Use enum for emu_model types Use enum instead of digits for emu_model types. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 88aa139057f2740c5dd55e2a542b2425186e4d3c Author: Takashi Iwai Date: Fri Dec 21 16:20:12 2007 +0100 [ALSA] emu10k1 - Don't create emu1010 controls for non-emu boards The last change for emu1616 introduced a bug that the driver creates emu1010-related controls even on non-emu boards. Fixed now. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1c02e36681ae20a796204e8d629d13fa9d5e20b5 Author: Ctirad Fertr Date: Thu Dec 13 16:27:13 2007 +0100 [ALSA] emu10k1 - 1616(M) cardbus improvements This patch improves E-Mu 1616(M) cardbus support. It adds definitions of the new Microdock and 1010 cardbus registers (thanks again for descriptions James) and improves mixer for this card. Now you can use S/PDIF and ADAT on Mirodock and also use headpohone output on host cardbus card as another independent output. Signed-off-by: Ctirad Fertr Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 190d2c46e52592ba092e8bf8acd4427c920f2d69 Author: James Courtier-Dutton Date: Sun Nov 4 14:08:26 2007 +0000 [ALSA] snd:emu10k1: E-Mu updates. Fixes to firmware loading and support for 0404. Signed-off-by: James Courtier-Dutton Signed-off-by: Jaroslav Kysela commit 44893a36ba49349e0f9d4bc3b7bbf9b54469ae1a Author: James Courtier-Dutton Date: Mon Nov 12 12:11:53 2007 +0000 [ALSA] emu10k1: Add comments regarding E-Mu ins and outs. Signed-off-by: James Courtier-Dutton Signed-off-by: Jaroslav Kysela commit 2ea85986dd1fa96ccf0a2f37877d58a57ff6f583 Author: Clemens Ladisch Date: Wed Jan 30 08:38:30 2008 +0100 [ALSA] oxygen: revert SPI clock frequency change for AK4396/WM8785 While the AK4396 and WM8785 datasheets say that the SPI clock cycle length must be at least 200 ns, 320 ns seems not to work reliably with the controller, so we better use 160 ns. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 19e2e3c30485ba78a653dc521ed9e1f2b6a8bee1 Author: Hermann Lauer Date: Wed Jan 30 08:25:13 2008 +0100 [ALSA] es1938 - improve capture hw pointer reads With the Solo1 (es1938) I got a lot of xrun's during capture on my machine. Tracing that down it seems to be comming from reading ocassionaly bad hw pointers from the chip. This patch uses more checking to avoid that false pointer reads. Failed reads are giving back the last good value read instead of spinning in a tight loop, which seems more appropriate to me in an interrupt. I think I saw this trick used in another driver Signed-off-by: Hermann Lauer Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4979bca9dcfe4c21c26f378ce446c912fc583ac1 Author: Tobin Davis Date: Wed Jan 30 08:13:55 2008 +0100 [ALSA] HDA-Intel - Add support for Intel SCH This patch adds support for Intel's SCH mobile chipset. Signed-off-by: Tobin Davis Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4fe5195c46f4303ca295f7e4350fb45a2aa6cff2 Author: Matthew Ranostay Date: Tue Jan 29 15:28:44 2008 +0100 [ALSA] hda: Add GPIO mute support to STAC9205 Support added for detecting HP jack presence via GPIO on several laptop docks. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0aaa22e554c0934625faf79deea42bfecbdbc23d Author: Douglas Kosovic Date: Tue Jan 29 15:02:50 2008 +0100 [ALSA] hda-codec - Add Dell T3400 support Added the support for Dell T3400 with AD1984 codec chip. ALSA bug#3699: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3699 Signed-off-by: Douglas Kosovic Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0f6a5156dee091466b743c163800708383c15bdb Author: Takashi Iwai Date: Tue Jan 29 13:26:04 2008 +0100 [ALSA] hda-codec - Add model for HP DV9553EG laptop Added the proper model for HP DV9553EG laptop with Cxt5045. ALSA bug#3534 https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3534 Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit edb54a55d2e36de2183a89efa97fadede33b1166 Author: Takashi Iwai Date: Tue Jan 29 12:47:02 2008 +0100 [ALSA] hda-codec - Control SPDIF as slave Add SPDIF playback switch to the slave element list so that it can be toggled via the master control as well. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c34f5a0469c64a3e4e84b04a691247b72175402d Author: Jason Gaston Date: Tue Jan 29 12:38:49 2008 +0100 [ALSA] hda_intel: ALSA HD Audio patch for Intel ICH10 DeviceID's This patch adds the Intel ICH10 HD Audio Controller DeviceID's. Signed-off-by: Jason Gaston Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4939c660341d1439b8c70c3e006e7fc182f5111e Author: Takashi Iwai Date: Mon Jan 28 23:53:41 2008 +0100 [ALSA] Fix Oops with PCM OSS sync The PCM OSS emulation can cause Oops at sync operation due to the wrong data size calculation. Typically happening on Sparc64: http://lkml.org/lkml/2008/1/24/426 Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ce875f079efcfdcf693de89c7ab0ca7f71a9bdce Author: Takashi Iwai Date: Mon Jan 28 18:17:43 2008 +0100 [ALSA] hda-codec - Add speaker automute to ALC262 HP models Added the speaker-automute function to ALC262 HP models. Also, 'Mono' mixer elements are renamed as more intuitive 'Speaker'. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit bec15c3a5a1814019424228cd8127e9c82965ae1 Author: Takashi Iwai Date: Mon Jan 28 18:16:30 2008 +0100 [ALSA] hda-codec - Add speaker automute to ALC260 HP models Added the speaker-automute function to ALC260 HP models. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f2f48e1859167c936af957a828da1e9ec76848cd Author: Takashi Iwai Date: Mon Jan 28 18:14:43 2008 +0100 [ALSA] hda-codec - Fix ALC262 HP-RP5700 model Removed the PCM mixer elements conflicting with others. Also renamed Master control to Headphone, which isn't a real master. (The Master control is still created as a virtual master even after this rename.) Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4bb261302b34998e8c3c8d8f0493ee9e58d57cb2 Author: Takashi Iwai Date: Mon Jan 28 18:12:42 2008 +0100 [ALSA] hda-codec - Fix mixer controls with ALC262 HP T5735 model The PCM mixer elements in HP T5735 model of ALC262 codec conflict with Speaker and Headphone volumes. They should be removed. Ditto for LineOut that is identical with Speaker. Also, fixed/cleaned up the auto-mute callback to use the amp cache correctly. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 86cd92983a78d20d16ed77754829b5ee00c78be6 Author: Takashi Iwai Date: Mon Jan 28 18:09:56 2008 +0100 [ALSA] hda-codec - Rename non-standard 'iSpeaker' Renamed the non-standard mixer elements 'iSpeaker' to 'Speaker' in Realtek codecs. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8c0d9649babcf7379dc94cb148bbd2a6d8792984 Author: Takashi Iwai Date: Mon Jan 28 12:30:17 2008 +0100 [ALSA] hda-codec - Add SPDIF output support to AD1986a laptop-eapd model The SPDIF output on AD1986A laptop-eapd model is disabled although some Samsung laptops have SPDIF output. Enable it after checking the pin default config. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4444704cdcd44bb3534ead01d3318f0db858cb9f Author: Jiang zhe Date: Mon Jan 28 12:28:24 2008 +0100 [ALSA] hda-codec - Add model for Gigabyte P35 DS3R Signed-off-by: Jiang zhe Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7c0141591fcf92ddc96a4ee04e35783a15bd68c8 Author: Clemens Ladisch Date: Mon Jan 28 08:36:55 2008 +0100 [ALSA] virtuoso: monitor external power on D2X On the Xonar D2X, monitor the GPIO pin that indicates whether external power is present. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 5f7b9b457751efc9f3ad120d0ebdb19fe753e9d0 Author: Clemens Ladisch Date: Mon Jan 28 08:35:47 2008 +0100 [ALSA] oxygen: add front panel capture When a second AC97 codec is present, add a PCM device for capturing from the front panel. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit a3601560496d7b46d2d1187169824d11570ff63a Author: Clemens Ladisch Date: Mon Jan 28 08:35:20 2008 +0100 [ALSA] oxygen: add front panel controls Add mixer controls for the front panel AC97 codec. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 1e821dd2763c97df1a0a451e553d218cb8886cd7 Author: Clemens Ladisch Date: Mon Jan 28 08:34:21 2008 +0100 [ALSA] oxygen: use AC97 interrupt After an AC97 register read or write, use the AC97 interrupt instead of polling to wait for the access to be completed. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 911b499af45e879ccf4b8db234278a7136d056c9 Author: Clemens Ladisch Date: Mon Jan 28 08:33:44 2008 +0100 [ALSA] oxygen: make line-in exclusive only on Xonar Move the line input switching code to the Virtuoso driver because only the Xonar cards bypass the analog mixer for line input. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 236c4920ea825acbffa7bbba24c182ec6a9a8245 Author: Clemens Ladisch Date: Mon Jan 28 08:32:58 2008 +0100 [ALSA] oxygen: fix AK4396 double rate upper limit Fix the upper sample rate limit for the double rate mode of the AK4396 to the value from the datasheet. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 4806ef0cf481a4e41f5046aaf1032a7601049ab6 Author: Takashi Iwai Date: Sat Jan 26 09:58:13 2008 +0100 [ALSA] hda-codec - Add SPDIF controls as slave on AD codecs The AD codecs have hardware SPDIF volume/switch controls but they are not assigned to the slave list for virtual master controls. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b5895dc8b467a2457f4d33bef51f9879cf780a07 Author: Matthew Ranostay Date: Fri Jan 25 15:24:50 2008 +0100 [ALSA] hda: STAC92xx Line In/Mic as output check This patch checks to see the Line In/Mic port have the ability to do output before creating the the control switches. The 92hd71bxx series of codecs has this issue with the port 0xe, which only allows input. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 628ed1333a9d2a7c7d3dc53641ea59af511e5fe5 Author: Takashi Iwai Date: Fri Jan 25 11:56:57 2008 +0100 [ALSA] hda-codec - Add missing slave for AD1884 master switch The Speaker switch is missing in the slave list. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit dafc83578d1633d7faf3e9de67fd922286c1b38d Author: Andy Shevchenko Date: Fri Jan 25 11:53:50 2008 +0100 [ALSA] hda-codec - Add model for Acer Aspire 5310 Simplify usage of the Acer Aspire 5310 laptop with the ALC268 based codec sound card via add correct PCI SSID. Signed-off-by: Andy Shevchenko Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 461e2c78b153e38f284d09721c50c0cd3c47e073 Author: Takashi Iwai Date: Fri Jan 25 11:35:17 2008 +0100 [ALSA] hda-codec - Add Conexant 5051 codec support Added the support for Conexant 5051 audio codec. Right now there are two preset models, laptop and hp. The whole patch is based on the information from the base patch by Linuxant. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c626026dd72ec8363aaa862178adeacfa7ac09c5 Author: Clemens Ladisch Date: Fri Jan 25 08:41:52 2008 +0100 [ALSA] add TempoTec HiFier driver Add a driver for the MediaTek/TempoTec HiFier Fantasia sound card. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit b78e3dbb04ab4cbe3b94ef5426bcd5b167b6fc75 Author: Clemens Ladisch Date: Fri Jan 25 08:39:26 2008 +0100 [ALSA] oxygen: more initialization Initialize more registers of the controller and the second AC97 codec. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 976cd62700ae378df330ec82112da3d17e33a0fe Author: Clemens Ladisch Date: Fri Jan 25 08:37:49 2008 +0100 [ALSA] oxygen: make the number of analog output configurable Add a field to struct oxygen_model to allow model drivers for cards with less than eight output channels. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 09189ac793d7fef7d0f058815043e3d4bf7097c0 Author: Daniel Mack Date: Thu Jan 24 18:46:42 2008 +0100 [ALSA] usb/caiaq: decrease period_bytes_min This patch decreases the snd_pcm_hardware->period_bytes_min field in the caiaq/usb audio driver. The hardware can actually handle as few as 128 bytes, depending on the system. So it makes no sense to keep applications from actually using such values. Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 69252128ec628e9d19739db0101e1826d993aecb Author: Andy Shevchenko Date: Thu Jan 24 18:11:53 2008 +0100 [ALSA] fm801 - Add mute support for FM-only card with FM801 PCI to tuner bridge This is improvement of the early support of the FM-only cards where the fm801 chip represents the PCI to tuner bridge. The tuner initialization isn't included the mute on as well as mute support via V4L request. Proposed patch should fix this at least for 64-PCR model. Signed-off-by: Andy Shevchenko Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 29a52c242d76deee155cb94756bcf7ebf58de4fe Author: Andy Shevchenko Date: Thu Jan 24 17:29:00 2008 +0100 [ALSA] hda-codec - Add model for Acer Aspire 5315 Simplify usage of the Acer Aspire 5315 laptop with the ALC268 based codec sound card via add correct PCI SSID. Signed-off-by: Andy Shevchenko Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e2e7d624ad3519809c5ff5ff53171e07aeeb7f68 Author: Matthew Ranostay Date: Thu Jan 24 15:32:15 2008 +0100 [ALSA] hda: STAC9205 GPIO line fix Fixed issue that the incorrect GPIO line was being pulled high for some STAC9205 based laptops. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6330079fc6df4a0829f952b73c4d4999e56034f8 Author: Takashi Iwai Date: Thu Jan 24 15:31:36 2008 +0100 [ALSA] hda-codec - Fix handling of multiple capture streams Fixed the bug that multiple capture streams conflict on Realtek codec routines. Also, this adds a framework to enable the alternative playback stream, e.g. for VoIP. It's not fully implemented yet, though. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 09a99959180d25f4e5070f902e3adc1b20439cd6 Author: Matthew Ranostay Date: Thu Jan 24 11:49:21 2008 +0100 [ALSA] hda: Add dynamic mono mixer support for STAC92xx codecs Allows for dynamically creating mono out mixer controls and well as mono mux controls. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 90da78bf6aaabd4d31c6663b7c1d1b9c5a8c023f Author: Matthew Ranostay Date: Thu Jan 24 11:48:01 2008 +0100 [ALSA] hda: Added mono_out_pin to autoconfig Added a mono_out_pin field to autocfg struct, and code to parse for the mono_out_line. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit cd93dc8ccad8680f104c9134ae73888feb14e946 Author: Clemens Ladisch Date: Thu Jan 24 08:43:39 2008 +0100 [ALSA] oxygen: remove MIDI for generic cards None of the reference design models have MIDI, only the X-Meridian allows to connect a MIDI adapter. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 33c646e4ffb1b48d67598fadf3323158f0cfd4b9 Author: Clemens Ladisch Date: Thu Jan 24 08:43:16 2008 +0100 [ALSA] oxygen: fix SPDIF input rates Fix up SPDIF input sample rates again: 32 kHz and 64 kHz are not supported. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 9478bc3bed1e15208f8041b44d45505cb93e6cc8 Author: Randy Dunlap Date: Wed Jan 23 11:52:38 2008 +0100 [ALSA] fix opti9xx/miro section mismatch snd_opti93x_mixer() is only called by __devinit snd_opti93x_probe(), so the former can also be __devinit. snd_miro_mixer() is only called by __devinit snd_miro_probe(), so the former can also be __devinit. sound/isa/opti9xx/opti92x-ad1848.c: WARNING: vmlinux.o(.text+0xf91cd7): Section mismatch: reference to .init.data:snd_opti93x_controls (between 'snd_opti93x_mixer' and 'snd_card_opti9xx_free') WARNING: vmlinux.o(.text+0xf91d66): Section mismatch: reference to .init.data:snd_miro_controls (between 'snd_opti93x_mixer' and 'snd_card_opti9xx_free') opti9xx/miro.c: WARNING: vmlinux.o(.text+0xf926c2): Section mismatch: reference to .init.data:snd_miro_controls (between 'snd_miro_mixer' and 'snd_legacy_find_free_ioport') WARNING: vmlinux.o(.text+0xf926e5): Section mismatch: reference to .init.data:snd_miro_eq_controls (between 'snd_miro_mixer' and 'snd_legacy_find_free_ioport') WARNING: vmlinux.o(.text+0xf926f9): Section mismatch: reference to .init.data:snd_miro_line_control (between 'snd_miro_mixer' and 'snd_legacy_find_free_ioport') WARNING: vmlinux.o(.text+0xf92716): Section mismatch: reference to .init.data:snd_miro_amp_control (between 'snd_miro_mixer' and 'snd_legacy_find_free_ioport') WARNING: vmlinux.o(.text+0xf9273e): Section mismatch: reference to .init.data:snd_miro_preamp_control (between 'snd_miro_mixer' and 'snd_legacy_find_free_ioport') WARNING: vmlinux.o(.text+0xf92764): Section mismatch: reference to .init.data:snd_miro_capture_control (between 'snd_miro_mixer' and 'snd_legacy_find_free_ioport') WARNING: vmlinux.o(.text+0xf92783): Section mismatch: reference to .init.data:snd_miro_radio_control (between 'snd_miro_mixer' and 'snd_legacy_find_free_ioport') WARNING: vmlinux.o(.text+0xf9279a): Section mismatch: reference to .init.data:snd_miro_eq_controls (between 'snd_miro_mixer' and 'snd_legacy_find_free_ioport') WARNING: vmlinux.o(.text+0xf927b9): Section mismatch: reference to .init.data:snd_miro_radio_control (between 'snd_miro_mixer' and 'snd_legacy_find_free_ioport') Signed-off-by: Randy Dunlap Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 5be55be58c3255cf0b19c936353d4f6cebc38e4a Author: Randy Dunlap Date: Wed Jan 23 11:52:06 2008 +0100 [ALSA] fix cs5535 section mismatch snd_cs5535audio_mixer() is only called by __devinit snd_cs5535audio_probe(), so the mixer function can also be __devinit. WARNING: vmlinux.o(.text+0xfdbba0): Section mismatch: reference to .init.data:ac97_quirks (between 'snd_cs5535audio_mixer' and 'process_bm0_irq') Signed-off-by: Randy Dunlap Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7c4dbbd87c0dc62849f0f72449464dc37da0a82a Author: Mark Brown Date: Wed Jan 23 08:41:46 2008 +0100 [ALSA] ASoC documentation updates Update the ASoC documentation. Along with minor formatting and grammar cleanups it moves the ASoC overview into the present tense to reflect the fact that it has now been merged. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit dca008f367586f73bd1c766836e4f7a38ce9814f Author: Takashi Iwai Date: Tue Jan 22 15:37:13 2008 +0100 [ALSA] hda-codec - Don't query widget parameter for invalid NID Don't query a widget parameter for an invalid NID in get_wcaps() but rather returns zero (i.e. no attribute). The read to an non-existing widget may result in a fatal codec communication error. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0ef6ce7b6acddc3dc9e898125b3bada98a21130a Author: Takashi Iwai Date: Tue Jan 22 15:35:37 2008 +0100 [ALSA] hda-codec - Optimize snd_hda_pser_pin_def_config() Don't read the widget list again as we already have it at the beginning. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ca7cfae9eb91c012ac448dc6816ded6285f6f39a Author: Marc Boucher Date: Tue Jan 22 15:32:25 2008 +0100 [ALSA] hda-codec - Add afg and mfg preset mask Added afg and mfg preset masks for more finer codec-preset selection. Signed-off-by: Marc Boucher Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1cfd52bc1ad516dbdc23839d40013dea4c19c70a Author: Marc Boucher Date: Tue Jan 22 15:29:26 2008 +0100 [ALSA] hda-intel - Add ratelimit to timeout messages Signed-off-by: Marc Boucher Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d2595d86e5095f724c17ce97d679f30aa3eaabf8 Author: Marc Boucher Date: Tue Jan 22 15:23:30 2008 +0100 [ALSA] hda-codec - Add a delay after power state change Added a delay after the power state change as a partial workaround for 'hda_intel: azx_get_response timeout' problem on Cxt codecs. Signed-off-by: Marc Boucher Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9f113e0ef47451defa950eed738d87387c0aa8f6 Author: Marc Boucher Date: Tue Jan 22 15:18:08 2008 +0100 [ALSA] hda-codec - Add missing input controls for Cxt5047 test model The input volume/switch elements are missing in Cxt5047 test model. Also the patch includes some code clean ups. Signed-off-by: Marc Boucher Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 15908c36aaefe9f1300fd2f0ee6d5d848131b217 Author: Marc Boucher Date: Tue Jan 22 15:15:59 2008 +0100 [ALSA] hda-codec - Fix laptop models for Cxt5045 Change laptop models to three different models, laptop-hpsense, laptop-micsense and laptop-hpmicsense. The first two correspond to the old 'laptop' and 'fujitsu' models. Reassigned the quirk table for the new models. Signed-off-by: Marc Boucher Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b22b48214ff492379dfc89b3ea6dc9fb4d157d2a Author: Matthew Ranostay Date: Tue Jan 22 12:32:30 2008 +0100 [ALSA] hda: Mono mux mixer support Add support for the mono mux on several 92HD7xxx codecs. Creates a dynamic mixer for the mux selection. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 02f21c9d6ba863aa86c33e1335cb1307322f7fb8 Author: Clemens Ladisch Date: Tue Jan 22 08:36:03 2008 +0100 [ALSA] oxygen: add SPDIF loopback control Add a mixer control for the SPDIF loopback function. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 08c8efe6925ba712d65ca07877fa169b45f8d502 Author: Mark Brown Date: Mon Jan 21 14:33:37 2008 +0100 [ALSA] Fix lockdep warning in ASoC machine probe Don't take the codec mutex during machine probe until we have registered with ALSA, fixing a lockdep warning reported by Dmitry Baryshkov. Cc: Dmitry Baryshkov Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c518b35ea2ef2b7b3dbe6b1cc5299daf0c9de3f7 Author: Clemens Ladisch Date: Mon Jan 21 12:59:40 2008 +0100 [ALSA] oxygen: TempoTec HiFier is probably not supported The TempoTec HiFier has a somwhat different architecture; remove it from the list of cards that are known to be supported. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 0de27c10d3524eba9e81f56ff315e97d95b3faa0 Author: Takashi Iwai Date: Mon Jan 21 11:49:03 2008 +0100 [ALSA] cs5535audio - Fix available sample rates The available sample rates on CS5535 depend on AC97 codec chip. Set the additional hw params limit. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c57cccc0382fedd95373ffdb192f45d278210686 Author: Clemens Ladisch Date: Mon Jan 21 08:54:06 2008 +0100 [ALSA] oxygen: optimize snd_pcm_hardware structures Add one more indirection to the lookup of the snd_pcm_hardware structures so that we can save the space of the duplicate ones. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 7f0b89465bb94eb3273ea5af5e009332351a54c9 Author: Clemens Ladisch Date: Mon Jan 21 08:53:30 2008 +0100 [ALSA] oxygen: add 192 kHz SPDIF input support Change the oxygen_spdif_input_bits_changed() function so that clock changes on the SPDIF input are correctly detected. This means that sample rates greater than 96 kHz are now supported. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 5a256f862c2a9155456b718edb303e37cda2d153 Author: Clemens Ladisch Date: Mon Jan 21 08:52:29 2008 +0100 [ALSA] oxygen: fix DAC source register fields Fix some wrong values for the definitions of the source masks for DACS 1 and 3. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit e9d88a8bd9fb85d2a4a0adb89c47dcae437fa308 Author: Clemens Ladisch Date: Mon Jan 21 08:52:11 2008 +0100 [ALSA] oxygen: fix control filter Actually use the template that was maybe changed by the control filter instead of the original one. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 7ef37cd95494a0a9be425c4d75f21ee8d2807b5a Author: Clemens Ladisch Date: Mon Jan 21 08:51:55 2008 +0100 [ALSA] oxygen: move model-specific data out of common header Instead of having model-specific fields in the common struct oxygen, put them into a private structure that is allocated together with the card structure. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 3b94253bc9c950d2038a2db4f9c804b50f82001a Author: Clemens Ladisch Date: Mon Jan 21 08:51:19 2008 +0100 [ALSA] oxygen: reduce SPI clock frequency for AK4396/WM8785 According to the datasheets, the SPI clock cycle must be at least 200 ns for the AK4396 and the WM8785, so we cannot use the default 160 ns. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 71e22a4b77fb36ce3205122454f5500843bed3ea Author: Clemens Ladisch Date: Mon Jan 21 08:50:51 2008 +0100 [ALSA] oxygen: allow more sample rates with WM8785 Allow to record with 32 kHz, 64 kHz, 88.2 kHz and 176.4 kHz with cards that have a WM8785 ADC. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 878ac3ee76a5abb4952396570207f6ebe0597e52 Author: Clemens Ladisch Date: Mon Jan 21 08:50:19 2008 +0100 [ALSA] oxygen: add more symbols Add symbol definitions for the various codecs and GPIO pins. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 44fb7aae82b37f5bb66cb1423e2babb11d90969e Author: Clemens Ladisch Date: Mon Jan 21 08:45:37 2008 +0100 [ALSA] oxygen: remove MIDI autodetection The MIDI bit in the MISC register is set by default and cannot be used to detect the presence of a MIDI port. Instead, add a parameter to the oxygen_pci_probe() function so that model drivers can specify this. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit db2396d4959340dbe2b617bde3beb2268f1e3658 Author: Clemens Ladisch Date: Mon Jan 21 08:44:52 2008 +0100 [ALSA] oxygen: fix pause handling Use the DMA_PAUSE register for pausing instead of stopping DMA. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit c9946b2c807aa2e6829765accc267415a893f74a Author: Clemens Ladisch Date: Mon Jan 21 08:44:24 2008 +0100 [ALSA] oxygen: remove magic numbers Replace some magic numbers with register symbols. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 48a8a26dd8ea1f7aeacef6b48f2d4d45508f46ba Author: Clemens Ladisch Date: Mon Jan 21 08:43:06 2008 +0100 [ALSA] oxygen: update ALSA-Configuration.txt Add documentation entries for snd-oxygen and snd-virtuoso. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 6735e5723b5b4bc9bc0a24a841fbd0f2e7944b3f Author: Takashi Iwai Date: Sat Jan 19 10:33:07 2008 +0100 [ALSA] emu10k1 - Fix over-sized kmalloc for TLV Reported by Al Viro: In copy_tlv(), the size of kmalloc is wrongly calculated. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 28a0d9df0706c523d3bb8de18892c76b78c2e428 Author: Takashi Iwai Date: Fri Jan 18 15:32:32 2008 +0100 [ALSA] hda-intel - Make azx_get_response() a bit more robust In azx_[rirb_]get_response(), the timeout is checked at the end of the loop. It's better to be checked just after the check of the RIRB index to avoid a bogus error with a too long msleep(). Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7cda8ba9f4e471dfba914ecf67fd14ebffb17c16 Author: Takashi Iwai Date: Fri Jan 18 13:36:07 2008 +0100 [ALSA] ice1712, ice1724 - Code clean up Clean up ice1712/ice1724 codes. The board-specific data is allocated locally in each code instead of having an ungly union in struct ice1712. Also, fix coding issues in prodigy_hifi.c. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 797760ab14db4e82a50c06a9916dd5c6147b415b Author: Andrew Paprocki Date: Fri Jan 18 12:51:11 2008 +0100 [ALSA] hda_proc - Add a number of new settings to proc codec output This patch adds additional output to the /proc codec#X info. The following pieces of information are added to the output: - Balanced, L/R swap, trigger, impedance sense pin capabilities - Vref pin capabilities - Current Vref pin widget control setting - Default configuration association, sequence, and misc bit test - EAPD/BTL bits conveying balanced mode, EAPD, and L/R swap - Power state modified to show state name as well as setting vs actual value - GPIO parameter output on Audio Function Group, including enumeration of IO pins which are indicated present (Any I and O pins are not output at this time) - Stripe and L/R swap widget capabilities - All digital converter bits: enable, validity, validity config, preemphasis, copyright, non-audio, professional, generation level, and content category - Converter stream and channel values for in/out widgets - SDI select value for in widgets - Unsolicited response widget capability tag and enabled bit - Delay widget capability value - Processing widget capability benign bit and number of coefficients - Realtek Define Registers: processing coefficient, coefficient index [Also, fixed space/tab issues and make codes a bit more readable -- Takashi] Signed-off-by: Andrew Paprocki Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e0059549345903195d6eb796c22048204c40a785 Author: Clemens Ladisch Date: Fri Jan 18 09:18:32 2008 +0100 [ALSA] oxygen: fix playback routing The default playback routing must be 0xe4, not 0xe1; the front and surround DACs were exchanged. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit c2353a0826d2b8fe9f5c6a6aca99149e4ee7b196 Author: Clemens Ladisch Date: Fri Jan 18 09:17:53 2008 +0100 [ALSA] oxygen: add register definitions Add more symbols for registers and register fields. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 4052ce4cbf48531bdd8ff43b673ccb5c005dec79 Author: Timur Tabi Date: Thu Jan 17 17:44:49 2008 +0100 [ALSA] mpc8610: Add mmap support Enable mmap support in the MPC8610 ASoC driver. The driver can use ALSA's default mmap functionality, it was just not enabled previously. Signed-off-by: Timur Tabi Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f4beee9420773faefd3eac23bb5ba65b0395c1a1 Author: Jiang zhe Date: Thu Jan 17 11:19:26 2008 +0100 [ALSA] hda-codec - Fix capture source for Cx5045 codec For codec conexant 5045, I found that the name of 'Capture Source Items' is different from the name of mixer. The mixer is: HDA_CODEC_VOLUME('Ext Mic Playback Volume', 0x17, 0x2, HDA_INPUT), HDA_CODEC_MUTE('Ext Mic Playback Switch', 0x17, 0x2, HDA_INPUT), But the capture source item is : static struct hda_input_mux cxt5045_capture_source = { .num_items = 2, .items = { { 'IntMic', 0x1 }, { 'LineIn', 0x2 }, } }; I think that it's better to change the name of capture_source to avoid misunderstanding. Signed-off-by: Jiang zhe Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 5218c892652c1e8f89964a7fd4cf8b71cc863094 Author: Jiang Zhe Date: Thu Jan 17 11:18:41 2008 +0100 [ALSA] hda-codec - New model for conexant 5045 codec to support benq r55e The benq r55e laptop have 3 jacks on the front panel. One for HP, one for Line In and one for Mic In. This patch implemented a new model to support it. Signed-off-by: Jiang Zhe Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 178532348c215d23d8d64548c6ff0e38b50fca6c Author: Takashi Iwai Date: Thu Jan 17 11:17:39 2008 +0100 [ALSA] Add missing model for HD-audio Cx5045 codec Added the description of the model fujitsu for Cx5045 codec chip. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 88d1612cc22dcd4e336bfa5cc459c61551274550 Author: Julian Scheel Date: Thu Jan 17 11:12:13 2008 +0100 [ALSA] ice1724 - Add missing prodigy_hifi.h Signed-off-by: Julian Scheel Signed-off-by: Konstantin Kletschke Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 05855ba3f405d02c4530072527d2b1c72e3b38a9 Author: Clemens Ladisch Date: Thu Jan 17 09:05:09 2008 +0100 [ALSA] oxygen: make the I2S format configurable Add proper register bit symbols for the I2S format field, and allow card models to configure the I2S format to be used for the DACs and ADCs. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit b8c5b53e1f104a9f877f947cdb86d5c7208d6c9a Author: Jaroslav Kysela Date: Wed Jan 16 20:12:34 2008 +0100 [ALSA] ice1712 - fixed midi input for Hoontech C-Ports See ALSA bug#1846 for more details. Signed-off-by: Jaroslav Kysela commit 6b8d6e5518e2812b150c2d7c1e975a1bd33f0ccc Author: Julian Scheel Date: Wed Jan 16 19:50:00 2008 +0100 [ALSA] ICE1724: Added support for Audiotrak Prodigy 7.1 HiFi & HD2, Hercules Fortissimo IV See ALSA bug#2384 for more details. Signed-off-by: Julian Scheel Signed-off-by: Konstantin Kletschke Signed-off-by: Jaroslav Kysela commit da65fd3bf10c3500502e448c76917f5e86e28b28 Author: Vasily Khoruzhick Date: Wed Jan 16 17:05:13 2008 +0100 [ALSA] hda-codec - remove 11c1:1040 from patch_si3054.c id list Codec with id 11c1:1040 sitting on hda bus isn't si3054-compatible. It should be removed from patch_si3054.c id list. The detailed information http://archives.linmodems.org/26457 From: Vasily Khoruzhick Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 52987656fb3d43192639a7d585feb564c075c864 Author: Takashi Iwai Date: Wed Jan 16 16:09:47 2008 +0100 [ALSA] hda-intel - Add workarounds for STAC codecs Some machines with STAC codecs seem to have problems (e.g. no audible playback) when the delay in codec-read routine is too short. I still don't figure out which command sequence causes this problem (due to lack of test hardware), but it's known that increasing the delay fixes. So, added a stupid workaround here temporarily... Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 192b8e3922c916cbacac7e5a190d9412ae39a7ee Author: Andreas Degert Date: Wed Jan 16 15:59:48 2008 +0100 [ALSA] hdsp: make Multiface II work again This device has io_type == 1 (Multiface) and firmware_rev > 0xa (fixes regression from changeset 5326) Signed-off-by: Andreas Degert Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e70515dd518bbd5b9e2e5c90a56347df0e871389 Author: T. H. Huth Date: Wed Jan 16 15:57:08 2008 +0100 [ALSA] snd-powermac: handle dead DMA transfers This patch provides the snd-powermac sound driver with the ability to handle dead DMA transfers. If a dead DMA transfer is detected, the driver now sets up a new DMA transfer to continue with the sound output at the point where the old transfer died. This dead DMA transfer handling has become necessary with recent kernels on certain G4 PowerMacs. Please refer to the following URLs for more information: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3126 https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/87652 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=436723 The patch is based on the dead DMA transfer handling code from the old dmasound driver which can be found in the file sound/oss/dmasound/dmasound_awacs.c in the Linux source code. Signed-off-by: T. H. Huth Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 599c3e76fe89b314667e699a20ad08f8d16d0454 Author: Randy Dunlap Date: Wed Jan 16 14:56:04 2008 +0100 [ALSA] sound: fix caiaq section mismatches Fix section mismatch in caiaq: these __devinit functions can be called at any time so they should not be __devinit. WARNING: vmlinux.o(.text+0x10a8dae): Section mismatch: reference to .init.text:snd_usb_caiaq_audio_init (between 'setup_card' and 'create_card') WARNING: vmlinux.o(.text+0x10a8dd6): Section mismatch: reference to .init.text:snd_usb_caiaq_midi_init (between 'setup_card' and 'create_card') Signed-off-by: Randy Dunlap Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1374f8ceeefcb24194c29b9a81ecc40118d2c4d1 Author: Randy Dunlap Date: Wed Jan 16 14:55:42 2008 +0100 [ALSA] sound: fix rme9652 section mismatch Fix section mismatch in hdsp: snd_hdsp_proc_init() can be called from an ioctl at any time. WARNING: vmlinux.o(.text+0x1089bc2): Section mismatch: reference to .init.text: (between 'snd_hdsp_create_alsa_devices' and 'snd_hdsp_free') Signed-off-by: Randy Dunlap Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 32a41b026e65e9430a8c24f5d400cc21d44a897d Author: Randy Dunlap Date: Wed Jan 16 14:55:07 2008 +0100 [ALSA] sound: fix atiixp section mismatch Fix section mismatch in atiixp by making some functions __devinit. WARNING: vmlinux.o(.text+0xfd9304): Section mismatch: reference to .init.data:atiixp_quirks (between 'ac97_probing_bugs' and 'snd_atiixp_codec_detect') Signed-off-by: Randy Dunlap Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e4d76815c2d6477f4b77f1c7dbfbde113af89e67 Author: Randy Dunlap Date: Wed Jan 16 14:54:46 2008 +0100 [ALSA] sound: fix ad1889 section mismatch Fix section mismatch in ad1889 by renaming the pci_driver variable to a whitelisted variable name. WARNING: vmlinux.o(.data+0x2e5ff0): Section mismatch: reference to .init.text:snd_ad1889_probe (between 'ad1889_pci' and 'index') Signed-off-by: Randy Dunlap Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e7d7c2e28890e1b3944246af1a668b6da91ab411 Author: Randy Dunlap Date: Wed Jan 16 14:54:21 2008 +0100 [ALSA] sound: fix mts64 section mismatches Fix section mismatches in mts64 by making a static variable __devinitdata. WARNING: vmlinux.o(.data+0x2e33f0): Section mismatch: reference to .init.data:mts64_ctl_smpte_switch (between 'control.19929' and 'snd_mts64_rawmidi_output_ops') WARNING: vmlinux.o(.data+0x2e33f8): Section mismatch: reference to .init.data:mts64_ctl_smpte_time_hours (between 'control.19929' and 'snd_mts64_rawmidi_output_ops') WARNING: vmlinux.o(.data+0x2e3400): Section mismatch: reference to .init.data:mts64_ctl_smpte_time_minutes (between 'control.19929' and 'snd_mts64_rawmidi_output_ops') WARNING: vmlinux.o(.data+0x2e3408): Section mismatch: reference to .init.data:mts64_ctl_smpte_time_seconds (between 'control.19929' and 'snd_mts64_rawmidi_output_ops') WARNING: vmlinux.o(.data+0x2e3410): Section mismatch: reference to .init.data:mts64_ctl_smpte_time_frames (between 'control.19929' and 'snd_mts64_rawmidi_output_ops') WARNING: vmlinux.o(.data+0x2e3418): Section mismatch: reference to .init.data:mts64_ctl_smpte_fps (between 'control.19929' and 'snd_mts64_rawmidi_output_ops') Signed-off-by: Randy Dunlap Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 747c6016ced692db18d7e849e8cbdc523fba0874 Author: Clemens Ladisch Date: Wed Jan 16 08:32:53 2008 +0100 [ALSA] oxygen: make PCM limits configurable Add a callback to the model structure to allow modification of the hardware PCM limits. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit ccc80fb467a88ceb7ce1b68546632b91e5ba6c18 Author: Clemens Ladisch Date: Wed Jan 16 08:32:08 2008 +0100 [ALSA] oxygen: add control filter to model struct Allow the models to modify mixer controls before they are added to the card. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit e85e09250ab552fab6925bcde7c77746101b2d40 Author: Clemens Ladisch Date: Wed Jan 16 08:30:38 2008 +0100 [ALSA] oxygen: make all DMA channels configurable Allow the card models to specify whether each of the hardware DMA channels is used. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 84aa6b7ba746e6f637444d0e14a9b75c0b49a612 Author: Clemens Ladisch Date: Wed Jan 16 08:28:54 2008 +0100 [ALSA] oxygen: make SPI configuration configurable Add a field to the model structure so that it is possible to have a card where the SPI outputs 4 and 5 are used for an EEPROM. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 31c77643a06313b3a26f4c38c75ceec2a89ad31a Author: Clemens Ladisch Date: Wed Jan 16 08:28:17 2008 +0100 [ALSA] oxygen: make AC97 codec optional Only initialize and create mixer controls for the first AC97 codec when one has actually been detected. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 12b74c80cc20dec27b9f9eeb24ee86170c34e5a1 Author: Takashi Iwai Date: Tue Jan 15 12:39:38 2008 +0100 [ALSA] hda-codec - Enable VIA SPDIF input pin Enable the SPDIF input-pin on VIA codecs when SPDIF-input is enabled by BIOS. Also, including a bit code clean up. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3866f0b0c2df3d179b2901d084670d3cf711b1da Author: Takashi Iwai Date: Tue Jan 15 12:37:42 2008 +0100 [ALSA] hda-codec - Add the support of Dell OEM laptops with ALC268 Added the support of Dell OEM laptops (Vostro 1200) with ALC268 codec. The new model=dell is provided. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f0747ee6c12d218c1ccfd90b5413034f043894bb Author: Takashi Iwai Date: Tue Jan 15 11:41:41 2008 +0100 [ALSA] hda-codec - Disable PCBEEP mixer element in test model It turned out that the PCBEEP element (0x1d) is disabled on some hardwares although it's defined in the datasheet. Because of the error at info of this element, the mixer gets totally unusable. Since the PCBEEP isn't that important feature, it's safer to disable this. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 76e1ddfbdae590dd4580141b49c4b01f6fb12dab Author: Takashi Iwai Date: Tue Jan 15 11:39:08 2008 +0100 [ALSA] hda-code - Clean up STAC GPIO enablement code There are two similar GPIO-enablement codes in patch_sigmatel.c. Let's clean up. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit bcd7200394bde40e3735054fc660b6f5012638b3 Author: Tobin Davis Date: Tue Jan 15 11:23:55 2008 +0100 [ALSA] HDA: Enable chipset gcap usage This patch removes hardcoded values for the number of streams supported by the southbridge in most chipsets, and reads these values from the chipset directly. Most systems are hardwired for 4 streams in each direction, but newer chipsets change that capability. Signed-off-by: Tobin Davis Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit fb920b7d8b65f253671073d40d490d0968151680 Author: Clemens Ladisch Date: Tue Jan 15 08:39:06 2008 +0100 [ALSA] oxygen: rename PCM to Master Rename the 'PCM Playback Volume'/'Switch' mixer controls to 'Master'. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 39516103e683856125b8873fa35f1a7b9172350d Author: Krzysztof Helt Date: Mon Jan 14 12:07:53 2008 +0100 [ALSA] cs4231: remove one busy wait This busy_wait is not needed after latest changes to the cs4231-lib Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 893e44ba5a7cc05d66b69806defc17dd762c3ba8 Author: Clemens Ladisch Date: Mon Jan 14 08:57:05 2008 +0100 [ALSA] oxygen: make line-in switch exclusive The line input cannot be mixed with the other inputs, so we have to mute the other input switches when it is selected. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 01a3affb2eebfd6c996c36d82bbbc6040eb3a7f1 Author: Clemens Ladisch Date: Mon Jan 14 08:56:01 2008 +0100 [ALSA] oxygen: use an array of snd_kcontrol pointers Use an array for the pointers to known controls so that it is easier to add more. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 7113e95812f508bff10f95f2e52ce6ee8cda1875 Author: Clemens Ladisch Date: Mon Jan 14 08:55:03 2008 +0100 [ALSA] oxygen: fix channel routing Do not exchange the surround and back jacks except when in 7.1 mode where the surround jack is not rear but side. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit bc9abce0de0b180817bc7e9f73145ef0b6a464ef Author: Miguel Boton Date: Sun Jan 13 12:03:53 2008 +0100 [ALSA] fix compilation warning in GCC 'snd_shutdown_f_ops' is not a pointer so its address will never be NULL. GCC will complain because 'fops_get' will do an unnecessary check because '&snd_shutdown_f_ops' is always true. Signed-off-by: Miguel Boton Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 52a1d4f9d6e40c2473a85105cb5e055914a4779d Author: Takashi Iwai Date: Sun Jan 13 12:03:05 2008 +0100 [ALSA] hda-codec - Remove obsolete FIXME's Removed 'FIXME' comments that have been already fixed. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 5795b9e64588192b2b1123fed5f9ecaf0ecef5ba Author: Claudio Matsuoka Date: Sun Jan 13 11:58:27 2008 +0100 [ALSA] hda: Fix 5.1 sound in Dell 6stack ALC888 HDA This patch fixes 5.1 surround output and headphone detection in the Dell Inspiron 530 and possibly other Dell systems using the ALC888 codec (mode 6stack-dell). Signed-off-by: Claudio Matsuoka Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e25bcdba1953268c10c308cd2e4526ea89bdbe0f Author: Andrew Paprocki Date: Sun Jan 13 11:57:17 2008 +0100 [ALSA] hda_intel: Fix multiple device support by incrementing device count Fixes multiple device support by incrementing the static device counter at the end of the azx_probe() call. Without this, subsequent probes would always use the index specified for the first card. Signed-off-by: Andrew Paprocki Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 17467f23395f05ba7b361f7b504fe0f1095d5bb7 Author: Timur Tabi Date: Fri Jan 11 18:15:26 2008 +0100 [ALSA] Add ASoC drivers for the Freescale MPC8610 SoC Add the ASoC drivers for the Freescale MPC8610 SoC and the MPC8610 HPCD reference board. Signed-off-by: Timur Tabi Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ce22e03e62fd37fb2612abb7af1c66cc17038606 Author: Takashi Iwai Date: Fri Jan 11 17:38:35 2008 +0100 [ALSA] hda-codec - Don't build boost controls for digital mics The ALC auto-probe creates mic boost controls automatically for the probed pins, but it assumes that they are analog mics. The digital mics have no boost controls and must be skipped. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9c8f2abdc5723b454ef4bfe23ec33ae2a46f62fc Author: Takashi Iwai Date: Fri Jan 11 16:12:23 2008 +0100 [ALSA] hda-codec - print control name in error messages Print the name of the defect controls in error messages in amp info callback. This will make debugging easier. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3fa2ef7468e86777b5d9d2462b950e3a6b6b6283 Author: Matthew Ranostay Date: Fri Jan 11 11:39:06 2008 +0100 [ALSA] hda: Add new STAC9205 PCI_QUIRK Added a new STAC 9205 quirk for Vostro 1500. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8c12158687fc78091730d5456336b7efbf6f2250 Author: Jaroslav Kysela Date: Fri Jan 11 08:45:08 2008 +0100 [ALSA] PCM interface - rename SNDRV_PCM_TSTAMP_MMAP to SNDRV_PCM_TSTAMP_ENABLE Change semantics for SNDRV_PCM_TSTAMP_MMAP. Doing timestamping only in the interrupt handler might cause that hw_ptr is not related to actual timestamp. With this change, grab timestamp at every hw_ptr update to have always valid timestamp + ring buffer position pair. With this change, SNDRV_PCM_TSTAMP_MMAP was renamed to SNDRV_PCM_TSTAMP_ENABLE. It's no regression (I think). Signed-off-by: Jaroslav Kysela commit a64135a2d880183a2aff149f42dab7779a37a67f Author: Matthew Ranostay Date: Thu Jan 10 16:55:06 2008 +0100 [ALSA] hda: 92HD7XXX power management support Added support for advanced power management support for output ports on 92HD7xxx family of codecs. Inactive output ports are powered down when the pin sense doesn't detect a connection, and powered back up when a connection is sensed. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2134ea4f37d36addbe86d4901f6c67a22a5db006 Author: Takashi Iwai Date: Thu Jan 10 16:53:55 2008 +0100 [ALSA] hda-codec - Add virtual master controls Add master controls using vmaster to codecs that have no real hardware master volume registers. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3b0a5f22d4649433a5842ffc7313803292e95718 Author: Takashi Iwai Date: Thu Jan 10 16:52:42 2008 +0100 [ALSA] Add virtual master control helpers Added helper functions to implement virtual master volume controls. The virtual master control is a control element that has multiple slave controls. The value of master element is equally added to slave elements. The functions are written for general purpose, but it's put in the HD-audio directory as now, since HD-audio driver is the only user. It should be moved to the common place once after other drivers use vmaster. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ab40d4f12cda366ed1f308d2a041480769f9a77e Author: Ian Molton Date: Thu Jan 10 14:50:34 2008 +0100 [ALSA] soc - Preliminary ac97 drivers for Toshiba e800 PDAs Currently only the AUX channel is used (touchscreen) Signed-off-by: Ian Molton Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6cab2d3ddd54f2ef4872a4fca3d44655377737dd Author: Ben Dooks Date: Thu Jan 10 14:48:37 2008 +0100 [ALSA] S3C2412: suspend and resume support Support for suspend/resume for the S3C2412 ASoC IIS core driver. Signed-off-by: Ben Dooks Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 49646dfa2ae81e770da1c12c4fce227062ce4612 Author: Ben Dooks Date: Thu Jan 10 14:47:21 2008 +0100 [ALSA] ASoC: S3C2412 IIS driver S3C2412 SoC IIS support for ALSA/ASoC Signed-off-by: Ben Dooks Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 5cd919a2144f1beee7fb2e18ef6b8bee7105f554 Author: Graeme Gregory Date: Thu Jan 10 14:44:58 2008 +0100 [ALSA] soc - Support suspend and resume of the I2S interface on s3c24xx Signed-off-by: Graeme Gregory Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 96d90e19307ce590097295026a2e1b36618ddd01 Author: Graeme Gregory Date: Thu Jan 10 14:44:24 2008 +0100 [ALSA] soc - Reinitialise DMA on every resume This one changes the DMA initialisation as it turns out the DMA driver in s3c24xx doesnt store registers between suspend/resume so you have to re-initialise the channels on every resume. Signed-off-by: Graeme Gregory Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2d6a4ac9eeb8e8eb0343a2c761b2c132957d2b71 Author: Liam Girdwood Date: Thu Jan 10 14:43:48 2008 +0100 [ALSA] soc - Initial WM8753 TLV support for capture mixer Signed-off-by: Liam Girdwood Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0a22b87de0467bbc2ce863d54b55c3a7b649ba74 Author: Mark Brown Date: Thu Jan 10 14:53:48 2008 +0100 [ALSA] Bump ASoC core version number Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4b67d35504d005e94328558ee2c8f661a46aaaf4 Author: Mark Brown Date: Thu Jan 10 14:41:46 2008 +0100 [ALSA] soc - Don't lock the codec list in snd_soc_dapm_new_widgets() snd_soc_dapm_new_widgets() takes the codec lock when adding new widgets, causing lockdep warnings when applications later call down through ALSA to adjust controls. Since widgets are only added during probe this lock should be unneeded so don't take it. Thanks to Dmitry Baryshkov for reporting this issue. Cc: Dmitry Baryshkov Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9af6d9562414568ecadf96aaef5b88e7e8b19821 Author: Laim Girdwood Date: Thu Jan 10 14:41:02 2008 +0100 [ALSA] soc - Add support for passing kcontrols with events Signed-off-by: Laim Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6c59e6c4129cd80834837b58a42216f0432a4f58 Author: Liam Girdwood Date: Thu Jan 10 14:40:16 2008 +0100 [ALSA] soc - Clean up tabs Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1b075e3f7323f85f7e9cc7b6ae7a36c33d9ce76e Author: Milan plzik Date: Thu Jan 10 14:39:46 2008 +0100 [ALSA] soc - Fix power switching support for DAPM_SWITCH widgets Signed-off-by: Milan plzik Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4ccab3e72e211c40d868045c7d3216948999bcf7 Author: Liam Girdwood Date: Thu Jan 10 14:39:01 2008 +0100 [ALSA] soc - Ensure PCMs are suspended This fixes a bug whereby PCMs were not being suspended when the rest of the audio subsystem was suspended. Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3c1c47e0eb92264d555003ee2003f836e432615b Author: Liam Girdwood Date: Thu Jan 10 14:38:24 2008 +0100 [ALSA] soc - Add D1 power event to power down event sequence Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a7a4ac86b4754f44eb06221f3087debb4775d588 Author: Philipp Zabel Date: Thu Jan 10 14:37:42 2008 +0100 [ALSA] ASoC TLV support Add TLV support to ASoC. Signed-off-by: Philipp Zabel Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0b4d221b8d56deefca4984d01b3a010107ae1f72 Author: Liam Girdwood Date: Thu Jan 10 14:36:20 2008 +0100 [ALSA] soc - Add device level DAPM event Added a device level dapm event so that both the machine and codec are informed when dapm events occur. Signed-off-by: Liam Girdwood Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7570f29a545c7fdf29e913860320e0c09e60e45b Author: Joe Sauer Date: Thu Jan 10 14:34:56 2008 +0100 [ALSA] Fix inverted Phone volume WM9712 mixer control Signed-off-by: Joe Sauer Signed-off-by: Liam Girdwood Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2cad0ad6781a78a2b3911440b58e8de28318798c Author: Mark Brown Date: Thu Jan 10 14:33:07 2008 +0100 [ALSA] Update MAINTAINERS for ALSA SoC Add myself as a point of contact for the ALSA SoC subsystem and add a reference to the development GIT tree. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2f32d909f3a85a96074801f6cf20f93324f87646 Author: Matthew Ranostay Date: Thu Jan 10 13:06:26 2008 +0100 [ALSA] hda: STAC9228 VT fixes Moved 2 systems PCI_QUIRK values to STAC_DELL_BIOS. Also the second front HP jack is incorrect defined in the BIOS VT's for some laptops, this patch corrects this. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3d5fa2e59630a852f2dda7096885b64ffa03427d Author: Jiang zhe Date: Thu Jan 10 13:05:47 2008 +0100 [ALSA] hda-codec - Device ID for Macbook sound card Please refer to the [0003680] on ALSA bugtracking system. The user found that 'model=mbp3' works and provided the ID. From: Jiang zhe Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8c427226ed549af67396794e86246bf2d361ff8f Author: Kailang Yang Date: Thu Jan 10 13:03:59 2008 +0100 [ALSA] hda-codec - Update realtek codec support 1. Support HP rp5700 2. Fixed alc_subsystem_id function (Bug fixed and support Desktop) 3. Support ASUS EP20 Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 17596a80d3b57763f6d111fa95416559bad9c8dc Author: Marcin Ślusarz Date: Wed Jan 9 17:56:07 2008 +0100 [ALSA] rawmidi: let sparse know what is going on _for real_ snd_rawmidi_kernel_read1/write1 weren't annotated but used copy_to_user/copy_from_user when one of parameters (kernel) was equal to 0 remove it and add properly annotated parameter Signed-off-by: Marcin Ślusarz Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a780c0aeb39e9251c1b48166380f4455871bc067 Author: Matthew Ranostay Date: Wed Jan 9 12:30:20 2008 +0100 [ALSA] hda: 92HD71BXX Mono Mute Support Added a mono output mute mixer for the 92hd71bxx family of codecs, this also removes the need for the mono out node to explicitly unmuted in the core init. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9004acc70e8c49c50c4c7b652f906f1e0ed5709d Author: Takashi Iwai Date: Tue Jan 8 18:13:27 2008 +0100 [ALSA] Remove sound/driver.h This header file exists only for some hacks to adapt alsa-driver tree. It's useless for building in the kernel. Let's move a few lines in it to sound/core.h and remove it. With this patch, sound/driver.h isn't removed but has just a single compile warning to include it. This should be really killed in future. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 31e8960b35975ed235d283d6fb95d0e28dffded0 Author: Takashi Iwai Date: Tue Jan 8 18:09:57 2008 +0100 [ALSA] Remove PCM sleep_min and tick The 'tick' in PCM is set (again) via sw_params. And, nobody uses this feature at all except for a command line option of aplay. (This is literally 'nobody', as I checked alsa-lib API calls in all programs in major distros.) Above all, if we need finer wake-ups for the position update, it's basically an issue that the driver should solve, not tuned by each application. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 130755108ba03461f69da990e54e02a254accd23 Author: Takashi Iwai Date: Tue Jan 8 18:08:14 2008 +0100 [ALSA] PCM - clean up snd_pcm_lib_read/write Introduce a common helper function for snd_pcm_lib_read and snd_pcm_lib_write for cleaning up the code. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d948035a928400ae127c873fbf771389bee18949 Author: Takashi Iwai Date: Tue Jan 8 18:05:26 2008 +0100 [ALSA] Remove PCM xfer_align sw params The xfer_align sw_params parameter has never been used in a sane manner, and no one understands what this does exactly. The current implementation looks also buggy because it allows write of shorter size than xfer_align. So, if you do partial writes, the write isn't actually aligned at all. Removing this parameter will make some pcm_lib_* code more readable (and less buggy). Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit fa5717f2099aadb2083d5df4d19af8f9685fa03e Author: Takashi Iwai Date: Tue Jan 8 18:00:04 2008 +0100 [ALSA] Fix PCM write blocking The snd_pcm_lib_write1() may block in some weird condition: - the stream isn't started - avail_min is big (e.g. period size) - partial write up to buffer_size - avail_min The patch fixes this invalid blocking problem. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8ace4f3c9d83fd60e7539526a3a70bf5730db8c0 Author: Takashi Iwai Date: Tue Jan 8 17:57:26 2008 +0100 [ALSA] Remove indirect control access This patch removes the indirect control access to the control elements. The indirect access has never been used and is even broken on 32bit ioctl wrapper. Let's clean it up. The pointers still remain in snd_ctl_elem_* structs just to make sure that the struct size won't change. Once after checking the size consistency, we can get rid of them, too. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 38f8b397e15033b716f0b550f0ec780ad3d890e6 Author: Takashi Iwai Date: Tue Jan 8 17:19:22 2008 +0100 [ALSA] hda-codec - Add model=laptop for HP 350 laptop Added the proper model=laptop for HP 350 laptop with Cxt5045 codec. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 86c53bd26b431767438c65f89863471be177f0f7 Author: Jonathan Woithe Date: Tue Jan 8 12:33:19 2008 +0100 [ALSA] hda-codec - Add test model for ALC268 This implements a test model for the ALC268. It depends on the feature added by alc260-test-eapd-0.2.diff. This patch also adds a mention of the ALC260 test model to ALSA-Configuration.txt since this seems to have been missed. Signed-off-by: Jonathan Woithe Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f8225f6d1f68c3d0a0fe844dc40a11cd432a853b Author: Jonathan Woithe Date: Tue Jan 8 12:16:54 2008 +0100 [ALSA] hda-codec - Add EAPD controls for ALC260 test model This implements a switch control for the EAPD signal output by the ALC26x chips. Since some laptops may utilise this to activate useful things it is handy to have a control for this in the ALC26x test models. The patch includes the control in the ALC260 test model. Signed-off-by: Jonathan Woithe Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a713b5834731f32757b30de038dcb995afac2ad1 Author: Jaroslav Kysela Date: Tue Jan 8 12:24:01 2008 +0100 [ALSA] PCM core - remove SNDRV_PCM_TSTAMP_MMAP condition in snd_pcm_status() The condition caused that the returned ring buffer position does not match with timestamp when SNDRV_PCM_TSTAMP_MMAP mode was enabled. Removing condition makes unified behaviour and interrupt based timestamp can be accessed via PCM_IOCTL_SYNC_PTR or mmaped status area. Signed-off-by: Jaroslav Kysela commit 0678accd2da33873455ef8d41d847bd550727159 Author: Matthew Ranostay Date: Tue Jan 8 12:10:50 2008 +0100 [ALSA] hda: Dynamically create digital gain mixers Dynamically create digital gain mixers for dmics that have out-amp support. Also some 92HD73xx's codecs don't have DMIC gains, so this also prevents creating dead mixers. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 5aba4f8ec72b2b880c694b5ce58e67be508f7b7a Author: Takashi Iwai Date: Mon Jan 7 15:16:37 2008 +0100 [ALSA] hda-intel - Support multiple devices It turned out that there can be multiple HD-audio devices on a single machine (e.g. on-board audio and HDMI on graphic cards), so we need to support multiple devices with snd-hda-intel driver. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f11b799282201fbd8c88b51815176a902b1f15b8 Author: Julia Lawall Date: Mon Jan 7 13:33:45 2008 +0100 [ALSA] sound: Use time_before, time_before_eq, etc. The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. A simplified version of the semantic patch making this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ change_compare_np @ expression E; @@ ( - jiffies <= E + time_before_eq(jiffies,E) | - jiffies >= E + time_after_eq(jiffies,E) | - jiffies < E + time_before(jiffies,E) | - jiffies > E + time_after(jiffies,E) ) @ include depends on change_compare_np @ @@ #include @ no_include depends on !include && change_compare_np @ @@ #include + #include // Signed-off-by: Julia Lawall Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1bc9eed379399484d3f5d5a0834674983969bc1e Author: Krzysztof Helt Date: Mon Jan 7 12:24:45 2008 +0100 [ALSA] es18xx: Enable wavetable input from ESS chips This patch enables wavetable chips ES689/ES69X connected to ESS ES18xx chips. The wavetable chip uses FM DAC if the clock signal from the wavetable is active. It has no effect if there is no ESS wavetable chip present. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ebf00c54a6e1be0ae25d41236a063747c74ed5bf Author: Jerone Young Date: Mon Jan 7 12:22:18 2008 +0100 [ALSA] hda-codec - Add IEC958 digital out support for Lenovo Thinkpads T61/X61 This patch adds IEC958 digital out support for the AD1984 sound card. This card can be found in Lenovo Thinkapds T61/X61. The digital out is not located on the Thinkpad, but optional docking station (it's coxial digital out). I've add this support as it is done the exact same way for the AD1983 & AD1884. I have tested this patch with my Lenovo Thinkpad T61 hooked up to a docking station (that has the digital coxial) and then run to my home theater reciever. Works like a charm :-) Signed-off-by: Jerone Young Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c481fca3e68155459e9805dc8c303e012ccbee54 Author: Matthew Ranostay Date: Mon Jan 7 12:18:28 2008 +0100 [ALSA] hda: STAC927x VREF fix Some laptops incorrectly assume the front input jack as a line in instead of a microphone in. Which in turn disables the voltage reference, in which non-amplified input is not possible. This patch enables VREF80 for the input jack. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 740eb8358f2bf337fd4ec62abb5b8cca7c652e5a Author: Clemens Ladisch Date: Fri Jan 4 09:22:20 2008 +0100 [ALSA] oxygen: use uintptr_t in pointer casts When we store the DMA channel number in the substream's private_data pointer, use uintptr_t as an intermediate step when casting from/to unsigned int to prevent the compiler from whining when the pointer size is different. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 93521d274b7fb4e6da5772768683e4984783d9e7 Author: Andrew Morton Date: Mon Dec 24 14:40:56 2007 +0100 [ALSA] sound/usb/usbaudio.c: fix build with CONFIG_PM=n sound/usb/usbaudio.c: In function 'usb_audio_suspend': sound/usb/usbaudio.c:3674: error: implicit declaration of function 'snd_pcm_sus\pend_all' Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7db756f2b1aab15b2d4834ebb373bb5dc07d95dc Author: Takashi Iwai Date: Mon Dec 24 14:36:09 2007 +0100 [ALSA] hda-codec - Sort ad1986a cfg table Sort the ad1986a config table by PCI SSID (the last toshiba entry was added wrongly). Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1b8ff22fa8d724e7f4367ec220c2c44ae38743fc Author: Clemens Ladisch Date: Sun Dec 23 19:52:08 2007 +0100 [ALSA] add Asus Xonar driver Add the snd-virtuoso driver for the Asus Virtuoso 200 chip used on the PCI and PCI-E models of the Xonar sound card. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit d0ce9946c52e7bdf95afb09553775cf28b752254 Author: Clemens Ladisch Date: Sun Dec 23 19:50:57 2007 +0100 [ALSA] add CMI8788 driver Add the snd-oxygen driver for the C-Media CMI8788 (Oxygen) chip, used on the Asound A-8788, AuzenTech X-Meridian, Bgears b-Enspirer, Club3D Theatron DTS, HT-Omega Claro, Razer Barracuda AC-1, Sondigo Inferno, and TempoTec HIFIER sound cards. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit a9b3aa8a0a203b9b62e15c465ba7d4797a6a2c79 Author: Jiang Zhe Date: Thu Dec 20 13:13:13 2007 +0100 [ALSA] hda-codec - alc268 input_mux should be a selector instead of mixer According to the [0003659], the node 0x23,0x24 is a selector. I checked the alc268 spec on the REALTEK website and it showed that they were selectors indeed. However, current code implement the alc268 input_mux in a mixer way. Signed-off-by: Jiang Zhe Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6b7eb1960d3fd713205277e86da72a6e3979c9ac Author: Jiang Zhe Date: Thu Dec 20 13:01:28 2007 +0100 [ALSA] hda-codec - Device ID for Toshiba laptop which uses AD1986A The model laptop-eapd get rid of the high-pitched noise. (ALSA bug#3662) Signed-off-by: Jiang Zhe Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6e7939bb4de289d4e5176b08f1d00e42e0a07d77 Author: Herton Ronaldo Krzesinski Date: Wed Dec 19 17:49:02 2007 +0100 [ALSA] hda-codec - Fix capture mixers of ALC662 models The commit that added support for ASUS P701 eeepc also changed the mixers of other ALC662 models, duplicating entries for the Capture items, making them to not work anymore. This fixes it by removing duplicated entries using where possible the common alc662_capture_mixer. Also alc662_capture_mixer should use alc662* functions and not alc882 (I checked /proc/asound/card0/codec* on an eepc model and it's ok). Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit aa9673cf31c7daca42a9713c8aa604bce280e85d Author: Harald Welte Date: Wed Dec 19 15:37:49 2007 +0100 [ALSA] neo1973: ASoC include pathname fix Fix s3c24xx include file path changes in asoc driver Signed-off-by: Harald Welte Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 358ce0cf3f147802ef81aa53d5b341f633d608d1 Author: Clemens Ladisch Date: Wed Dec 19 14:25:24 2007 +0100 [ALSA] usb-audio: add UR-80 PCM quirk Add a quirk entry to handle Edirol UR-80 audio I/O. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 3982d17e3d38850908ed3400cb5a68fdc623877d Author: Andrew Paprocki Date: Wed Dec 19 12:13:44 2007 +0100 [ALSA] hda-codec - Add missing #defines (and 1 rename) in hda_codec.h Added AC_VERB_GET_DIGI_CONVERT_2 and renamed AC_VERB_GET_DIGI_CONVERT to AC_VERB_GET_DIGI_CONVERT_1 to stay consistent with the SET variants. Added AC_VERB_GET_GPIO_UNSOLICITED_RSP_MASK, AC_VERB_SET_GPIO_UNSOLICITED_RSP_MASK, and AC_PINCAP_LR_SWAP. The missing fields were listed in the ALC883 datasheet rev 1.3. Signed-off-by: Andrew Paprocki Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1697055e6c82ee5e99f459c15619605782eb7fcc Author: Takashi Iwai Date: Tue Dec 18 18:05:52 2007 +0100 [ALSA] hda-codec - Fix invalid access to non-existing dmux on STAC The digital mux on STAC codecs doesn't always exist although the driver builds dmux enum mixer elements unconditionally. Now the driver creates 'digital input source' mixer elements only when dmux is available. Also, the patch adds the missing dmux definition for STAC925x. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8432395fd9124aa9408f61c94aa743878b4ddaf9 Author: Timur Tabi Date: Tue Dec 18 15:42:53 2007 +0100 [ALSA] cs4270: wrong sample rate when CONFIG_SND_SOC_CS4270_VD33_ERRATA is set When CONFIG_SND_SOC_CS4270_VD33_ERRATA is set, there was a mismatch between the mclk_ratios[] and cs4270_mode_ratios[] arrays. The two arrays have been merged and code has been shuffled. One side effect is that the cs4270_set_dai_sysclk() and cs4270_set_dai_fmt() functions are available only if I2C has been enabled. Signed-off-by: Timur Tabi Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b7d2a8035a382ad268aba8c0612797b4f2625f61 Author: Joe Perches Date: Tue Dec 18 13:14:21 2007 +0100 [ALSA] include/sound/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 561de31a23a8a5d23baeb8b2ce7c6102cb649616 Author: Joe Perches Date: Tue Dec 18 13:13:47 2007 +0100 [ALSA] sound/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f488d9fcc84692ca0060b4e16c1c61a8d514cea8 Author: Hans-Christian Egtvedt Date: Mon Dec 17 17:30:06 2007 +0100 [ALSA] at73c213: replace spinlock in mixer functions with a mutex This patch fixes the locking bug in the at73c213 SPI sound driver. This bug was triggered because spinlocks were wrapped around the spi_sync call which might sleep. The fix was to add a mutex to the sound driver and replace the spinlocks in the mixer functions with mutex lock/unlock. Tested on STK1000/STK1002. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ac3e37412c195f1b48fe06327eb4ad0c072a1222 Author: Takashi Iwai Date: Mon Dec 17 17:14:18 2007 +0100 [ALSA] hda-codec - sort pci quirk list Sort pci quirk list in the order of PCI SSID. This makes easier to find out the buggy duplicated entries. Thanks to Andy Shevchenko for providing the sort script. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f78dfac904325a996b8f97b045647898cc1ccc40 Author: Takashi Iwai Date: Mon Dec 17 16:24:04 2007 +0100 [ALSA] Add missing device link Added the missing link to struct device from the card instance. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 48ecb7e879ea172a0b3fd432ad49a870d7be6a59 Author: Takashi Iwai Date: Mon Dec 17 14:32:49 2007 +0100 [ALSA] hda-codec - Avoid overload of PCM volume on Cx5045 codec The PCM volume of Cx5045 codec has overload that isn't useful but rather harmful. Add a hack to override the amp info to set the max level 0 dB. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8e9068b1c7a154246f4cee93fd68c862b81b04e1 Author: Matthew Ranostay Date: Mon Dec 17 11:58:13 2007 +0100 [ALSA] hda: STAC927x DMIC Cleanup Cleaned up STAC927x and added several subsystem id's for more laptops. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 38fcaf8efcac6f89dd3dafa3df17f49fcf3403ba Author: Andrew Paprocki Date: Mon Dec 17 11:49:44 2007 +0100 [ALSA] hda-codec - Fix definition of AC_KNBCAP_DELTA to match spec AC_KNBCAP_DELTA is incorrectly defined as (1<<8). According to the Intel HDA spec, this is bit 7 after AC_KNBCAP_NUM_STEPS which is a 0x7f mask. Signed-off-by: Andrew Paprocki Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 5a7f261921cf482e17bb9d6641bef8f9c57b7409 Author: Takashi Iwai Date: Mon Dec 17 11:44:25 2007 +0100 [ALSA] Add SNDRV_PCM_IOCTL_TSTAMP back to compat ioctl The replaced one should be re-added for older alsa-lib. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 28e9e47384d333239a8335b439a92a13d29f91d6 Author: Jaroslav Kysela Date: Mon Dec 17 09:02:22 2007 +0100 [ALSA] PCM - added back TSTAMP ioctl for PCM (for old alsa-lib binaries) Signed-off-by: Jaroslav Kysela commit f85bf29c9435baf927e1817e6b43c9429b84f822 Author: Oliver Neukum Date: Fri Dec 14 14:42:41 2007 +0100 [ALSA] usb audio suspend support This patch implements suspend/resume support for USB audio devices. It works with the microphone in my camera. Signed-off-by: Oliver Neukum Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 175859bf1602c7ee38d720daa14a287072cc2b72 Author: David Dillow Date: Fri Dec 14 14:40:23 2007 +0100 [ALSA] sis7019: support the SiS 7019 Audio Accelerator Basic audio support for the SiS 7019 Audio Accelerator as found in the SiS 55x SoC. There is currently no synth support at the moment, but audio playback and capture with two periods per buffer has seen extensive use. Arbitrary period and buffer sizes (with multiple periods per buffer) have seen light testing, but are believed to be production ready. Signed-off-by: David Dillow Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3b378e1f7e5b372a88189398f3946fd55da5923a Author: Marcin Ślusarz Date: Fri Dec 14 12:59:50 2007 +0100 [ALSA] sound/core/seq: move declarations of globally visible variables to proper headers sound/core/seq: move declarations of globally visible variables to proper headers Signed-off-by: Marcin Ślusarz Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 36b9cdfea64650069d985c5999cb5c2b6f8b85fb Author: Marcin Ślusarz Date: Fri Dec 14 12:58:45 2007 +0100 [ALSA] info_oss: move prototype of snd_card_info_read_oss to info.h info_oss: move prototype of snd_card_info_read_oss to info.h Signed-off-by: Marcin Ślusarz Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 67c393172c00a710121d61bb7aff31b1e4f44b8d Author: Marcin Ślusarz Date: Fri Dec 14 12:53:21 2007 +0100 [ALSA] pcm_lib: fix sparse warning about different signedness pcm_lib: fix sparse warning about different signedness Signed-off-by: Marcin Ślusarz Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit be3e0115e3732d77d357724a394ee465e5d0b872 Author: Marcin Ślusarz Date: Fri Dec 14 12:52:53 2007 +0100 [ALSA] pcm_lib: fix sparse warning about shadowing 'n' symbol pcm_lib: fix sparse warning about shadowing 'n' symbol Signed-off-by: Marcin Ślusarz Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 757d5a7561842dd89c79d079a3c0935cd49afb9b Author: Marcin Ślusarz Date: Fri Dec 14 12:51:24 2007 +0100 [ALSA] via82xx: minor optimization in snd_via82xx_free via82xx: minor optimization in snd_via82xx_free don't check X, when we just checked !X before goto Signed-off-by: Marcin Ślusarz Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b05e578740b5e58b729857321048c4babb24bf2b Author: Marcin Ślusarz Date: Fri Dec 14 12:50:16 2007 +0100 [ALSA] pcm_native: fix sparse warning about shadowing 'state' symbol pcm_native: fix sparse warning about shadowing 'state' symbol Signed-off-by: Marcin Ślusarz Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit cd0b4ac839529e0f458e83946f49f3f30b7b5be8 Author: Takashi Iwai Date: Fri Dec 14 12:18:52 2007 +0100 [ALSA] sb16 - Suppress compile warning sound/isa/sb/sb16_csp.c: In function ‘snd_sb_csp_new’: sound/isa/sb/sb16_csp.c:121: warning: ‘version’ may be used uninitialized in this function Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 5050b0921a0f838314b1b9c4d7c16d5c8ed8c1fc Author: Andrew Morton Date: Fri Dec 14 12:13:12 2007 +0100 [ALSA] copy_ctl_value_from_user() warning fix sound/core/control_compat.c: In function 'copy_ctl_value_from_user': sound/core/control_compat.c:222: warning: 'count' may be used uninitialized in this function Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6b587ef9a15fa2e1859faf5a8937702ef6c12616 Author: Takashi Iwai Date: Fri Dec 14 12:10:26 2007 +0100 [ALSA] Fix old tstamp ioctl for compat_ioctl Replaced the old SNDRV_PCM_IOCTL_TSTAMP with the new one in PCM compat_ioctl. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 541eee8768b60ffc233f5ca0796a4cef54df699b Author: Matthew Ranostay Date: Fri Dec 14 12:08:04 2007 +0100 [ALSA] hda: Added more 92HD71 codecs Added more codecs to the 92HD71 family, as well as support for several that don't have an analog mixer. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 71685b90d2efab9ff3c94b7b1169e83449ab3a1f Author: Matthew Ranostay Date: Fri Dec 14 12:07:31 2007 +0100 [ALSA] hda: 92HD73 DMIC Amps Changed hardware gain mixers for the digital mic's from HDA_OUTPUT to HDA_INPUT. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 695005cfe4808e300bf76d73012c664bcae90566 Author: Johannes Stezenbach Date: Thu Dec 13 17:51:00 2007 +0100 [ALSA] hda-intel: Enable Analog CD Input from internal ATAPI connector on Asus M2N-SLI Enable Analog CD Input from internal ATAPI connector on Asus M2N-SLI. Signed-off-by: Johannes Stezenbach Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e1f0d6690817d1296161094106b23a0be9ee6ca0 Author: Matthew Ranostay Date: Thu Dec 13 17:47:21 2007 +0100 [ALSA] hda: Added STAC92HD73 support Added support for new STAC92HD73 family of codecs. Additionally added features for multiple analog loopbacks, and multiple dmux mixers. Regression testing for the analog loopback changes for STAC9205 and STAC9274D completed with any issues, as well for the dmux changes. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a8848bd6476102ff1d3bbe56662a18d6ada8674f Author: Andy Shevchenko Date: Thu Dec 13 17:32:26 2007 +0100 [ALSA] hda-codec - Initial support of the Mitac 8252D (based on ALC883) The attached patch adds initial support of the Mitac 8252D (http://www.mitac-mtc.com.tw/English/products/8252Dspec.htm). Working: - Front speakers (volume + mute) - Center/LFE speakers (volume + mute) - HP out (with Front Volume) - HP individual mute switch - HP Jack sense - Front Mic and its volume Not tested: - external mic and its volume Not working while now: - Mic Jack sense Questionable: - is Mic have Jack sense? - one or two Mic volume controls? - CD/Line-in: presense in the mixer Signed-off-by: Andy Shevchenko Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f6a92248aef841f14a5806cc299c431e7809c733 Author: Kailang Yang Date: Thu Dec 13 16:52:54 2007 +0100 [ALSA] hda-codec - Add ALC889/ALC267/ALC269 support Added the support of new Realtek codecs: 1. New ALC889 Support 2. New ALC267 Support 3. New ALC269 Support Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f7278fd0a57ea6cde4988ab820851b01be20daef Author: Josepch Chan Date: Thu Dec 13 16:40:40 2007 +0100 [ALSA] hda-codec - Add support for VIA VT1708B HD audio codec This patch adds support for VIA new HD audio codec, VT1708B. Signed-off-by: Josepch Chan Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 64e0e2d987f5e803f001c853a433ef2fc51640cb Author: Rene Herman Date: Thu Dec 13 16:29:33 2007 +0100 [ALSA] Update descriptions of isapnp-specific module options Signed-off-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit eb415b8f6d1b259ea31b3093df958054380f7f8f Author: Nick Piggin Date: Thu Dec 13 16:16:40 2007 +0100 [ALSA] alsa: usx2y nopage Convert alsa usx2y driver from nopage to fault. Signed-off-by: Nick Piggin Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3ad5afcd5fa91a00a9a19b9e39958acd9a3a25d7 Author: Nick Piggin Date: Thu Dec 13 16:15:00 2007 +0100 [ALSA] alsa: nopage Convert ALSA from nopage to fault. Switch from OOM to SIGBUS if the resource is not available. Signed-off-by: Nick Piggin Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit bba8dee78218752c6457d0dac9f5faa17755ac95 Author: Takashi Iwai Date: Thu Dec 13 13:13:31 2007 +0100 [ALSA] hda-codec - Device ID for MSI L745 Added the model targa-2ch-dig for MSL L745 (ALSA bug#3641). Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 67a7be7e9c1523cec8aa10c8d744fe70f778a093 Author: Jaroslav Kysela Date: Thu Dec 13 10:36:03 2007 +0100 [ALSA] PCM - fixed SNDRV_PCM_FORMAT_U24_BE silence constant Reported by Timur Tabi . Signed-off-by: Jaroslav Kysela commit b751eef1fdffca5532344285f2fad0c60d2f0158 Author: Jaroslav Kysela Date: Thu Dec 13 10:19:42 2007 +0100 [ALSA] Use posix clock monotonic for PCM and timer timestamps We need an accurate and continuous (monotonic) time sources to do accurate synchronization among more timing sources. This patch allows to enable monotonic timestamps for ALSA PCM devices and enables monotonic timestamps for ALSA timer devices. Signed-off-by: Jaroslav Kysela commit 25543fa785a32ce22e7374ba403eb6d38854d037 Author: Clemens Ladisch Date: Tue Dec 11 08:55:16 2007 +0100 [ALSA] cmipci: document 'Modem' control version check Add a comment that explains why the 'Modem' control doesn't work with newer chips. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 69a07304d52cc1080fa650c4ba7a82eed3cd143c Author: Clemens Ladisch Date: Mon Dec 10 12:28:52 2007 +0100 [ALSA] cmipci: disable 'Modem' control on version 39 or newer chips On version 39 or newer chips, we better remove the 'Modem' control because this register bit now mutes the front channels of the multichannel stream. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit befceea90b17792cb03cc4e22f3329c89621bba3 Author: Takashi Iwai Date: Mon Dec 3 17:08:40 2007 +0100 [ALSA] echoaudio - convert from semaphore to mutex Converted from semaphore to mutex. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e3cde64af44624030e7635881a5d1932c353a335 Author: Andy Shevchenko Date: Mon Dec 3 16:50:58 2007 +0100 [ALSA] hda-codec - Fix typo in the ALC883 initial code The attached patch should fix typo in auto initialization verbs for ALC883 codec. Signed-off-by: Andy Shevchenko Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6632d64b0b596b9588b607806ac6d36c8c2c9696 Author: Pavel Hofman Date: Mon Dec 3 12:44:28 2007 +0100 [ALSA] switching rate in STAC9460 codec of Prodigy192 * support for switching rate in STAC9460 - using set_rate_val of the akm infrastructure * listing all STAC9460 registers in proc * disabling mpu401 device for Prodigy192 - otherwise the currently flawed mpu401 code hangs kernel when opening the midi device * removing old unused commented-out code Signed-off-by: Pavel Hofman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit acec30ffffe1eee07e3202cff03e7ca8350d250f Author: Pavel Hofman Date: Mon Dec 3 12:37:17 2007 +0100 [ALSA] I2C fix for ice1724 adding i2c busy wait before sending device address to prevent reading bogus data. Signed-off-by: Pavel Hofman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 109c53f840e551d6e99ecfd8b0131a968332c89f Author: Rene Herman Date: Fri Nov 30 17:59:25 2007 +0100 [ALSA] sound/isa: kill pnp_resource_change This removes the pnp_resource_change use from the ALSA ISAPnP drivers. In 2.4 these were useful in providing an easy path to setting the resources, but in 2.6 they retain function as a layering violation only. This makes for a nice cleanup (-550 lines) of ALSA but moreover, ALSA is the only remaining user of pnp_init_resource_table(), pnp_resource_change() and pnp_manual_config_dev() (and, in fact, of 'struct pnp_resource_table') in the tree outide of drivers/pnp itself meaning it makes for more cleanup potential inside the PnP layer. Thomas Renninger acked their removal from that side, you did from the ALSA side (CC list just copied from that thread). Against current alsa-kernel HG. Many more potential cleanups in there, but this _only_ removes the pnp_resource_change code. Compile tested against current alsa-kernel HG and compile- and use-tested against 2.6.23.x (few offsets). Cc: Thomas Renninger Signed-off-by: Rene Herman Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit df1deb67532ea26f1a033a5f48bf34b30bec8e1d Author: Julia Lawall Date: Wed Nov 28 11:58:56 2007 +0100 [ALSA] sound/core/memalloc.c: Add missing pci_dev_put There should be a pci_dev_put when breaking out of a loop that iterates over calls to pci_get_device and similar functions. In this case, the return under the initial if needs a pci_dev_put in the same way that the return under the subsequent for loop has a pci_dev_put. This was fixed using the following semantic patch. // @@ type T; identifier d; expression e; @@ T *d; ... while ((d = \(pci_get_device\|pci_get_device_reverse\|pci_get_subsys\|pci_get_class\)(..., d)) != NULL) {... when != pci_dev_put(d) when != e = d ( return d; | + pci_dev_put(d); ? return ...; ) ...} // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 1005f66fd7175916db013dc98ca6b7cec26e5f81 Author: Takashi Iwai Date: Tue Nov 27 15:27:17 2007 +0100 [ALSA] ice1712 - Fix word clock status control on Delta 1010LT The 'Word Clock Status' control on Delta 1010LT checks the CS8427 error register too strictly and almost always returns 1 (unlocked). It should check only the lock status bit. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7829d0eccbddc7431cc9af662c7cd3442b5598bd Author: Daniel Mack Date: Mon Nov 26 09:00:56 2007 +0100 [ALSA] usb-caiaq - add support for Kore controller 2 Added support for Native Instrument's Kore controller 2. This device has no audio but MIDI, input devices and ALSA controllers only. Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 389619f1063ed21cf237e2a8081be42e66d3c9a6 Author: Ville Syrjala Date: Mon Nov 26 08:58:24 2007 +0100 [ALSA] soc/wm8731: Fix stereo mixer controls Disable the simultaneous load feature for the line in and headphone out volume registers. This allows left and right volume levels to be controlled separately. Signed-off-by: Ville Syrjala Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d47ac4338301c373eca9d817ec9c6e33b069ac51 Author: Takashi Iwai Date: Mon Nov 26 08:58:48 2007 +0100 [ALSA] drivers - Add missing snd_card_set_dev() Added the missing call of snd_card_set_dev() in drivers/* Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4f1895b0b5fbbd40299d85a07a6cd1742d1d1e1a Author: Joe Perches Date: Mon Nov 26 08:44:15 2007 +0100 [ALSA] sound/isa: Add missing 'space' Signed-off-by: Joe Perches Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 682fc0a5fe1a309a9a1860a0d50a2c6977d961cd Author: Takashi Iwai Date: Mon Nov 26 08:45:43 2007 +0100 [ALSA] emu10k1x - Add missing snd_card_set_dev call Added the missing snd_card_set_dev() call. This will fix the incomplete sysfs entry for this card. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3d3909ffe57174ee10a2ba2cdd75a7c7383f1983 Author: Takashi Iwai Date: Fri Nov 23 15:41:44 2007 +0100 [ALSA] aoa - fix compile warning Set a proper error code in the error path of i2sbus_attach_codec(). Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit df86d1149f4b7b77158755b85b85f94e7bade32f Author: Heikki Lindholm Date: Fri Nov 23 15:37:48 2007 +0100 [ALSA] add number of periods constraint to snd-aoa The aoa driver is not specifying constraints on number of periods, and, it seems, it might end with a non-integer number, which it cannot deal with. Fix by adding a proper constraint. Signed-off-by: Heikki Lindholm Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7c7fc2d44b7a660846115e65b67772b6742a14d8 Author: Takashi Iwai Date: Fri Nov 23 13:14:23 2007 +0100 [ALSA] Fix PCM MMAP time-stamp mode When MMAP time-stamp mode is given, it's supposed to update the time-stamp only at period boundary. However, it currently updates at each status call so this is just useless. The patch fixes this misbehavior. Also it fixes the wrong check of tstamp_mode (don't use bit-and for enum). Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7f6301cdfad5469312d266bcec3f1a02a8e8b5af Author: Takashi Iwai Date: Thu Nov 22 11:51:54 2007 +0100 [ALSA] caiaq - remove ifdef Remove ifdef and fix Makefile for conditional builds. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8e3cd08ed8e590952aa9a656758cb24d4ba898f8 Author: Daniel Mack Date: Thu Nov 22 11:40:04 2007 +0100 [ALSA] caiaq - add control API and more input features - added support for all input controllers on Native Instrument's 'Kore controller'. - added ALSA controls to switch LEDs on 'RigKontrol 2', 'RigKontrol3', 'Audio Kontrol 1' and 'Kore controller'. - added ALSA controls to switch input mode, software lock and ground lift features on 'Audio 8 DJ'. Signed-off-by: Daniel Mack Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e5f73e2ae813aa216b480728548e5ffbebcc170a Author: Dmitry Torokhov Date: Wed Nov 21 16:47:03 2007 +0100 [ALSA] caiaq - input device support must depend on CONFIG_INPUT Signed-off-by: Dmitry Torokhov Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b18b493f27bfb0d112a54ef24a1db32e898abff9 Author: Dmitry Torokhov Date: Wed Nov 21 16:45:23 2007 +0100 [ALSA] caiaq - misc input handling fixes - link input device with its parent so that it placed in proper spot in sysfs hierarchy - drivers that allow changing their keymaps should use private copy of the keymap so that one instance of a device does not affect another instance - it is preferred for drivers to properly set up input_dev->phys to help userspace locate devices - drivers should use usb_to_input_id(), or perform endianess conversion, themselves, otherwise ID is not correct on big-endian boxes - whitespace and formatting cleanup Acked-by: Daniel Mack Signed-off-by: Dmitry Torokhov Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ee6df2e1849403b5805018193a1454f6d39f9498 Author: Takashi Iwai Date: Tue Nov 20 18:32:08 2007 +0100 [ALSA] caiaq - Fix indent in Kconfig Fix indent of caiaq in Kconfig to the same level as others. Just a tidy up. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4581aa36fc8273579f6b7979adc4f4e666460a8d Author: Takashi Iwai Date: Tue Nov 20 18:31:22 2007 +0100 [ALSA] dbri - Fix broken change for value range checks The last patch for value range checks included a broken merge result. Now fixed properly. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit dec44dbe017f824ce46cdd66b39fa9b98a076ce1 Author: Kamalesh Babulal Date: Tue Nov 20 15:12:33 2007 +0100 [ALSA] powermac - Fix typos The kernel build fails, with following error CC sound/ppc/tumbler.o sound/ppc/tumbler.c: In function ‘snapper_get_capture_source’: sound/ppc/tumbler.c:812: error: ‘union ’ has no member named ‘value’ sound/ppc/tumbler.c: In function ‘snapper_put_capture_source’: sound/ppc/tumbler.c:824: error: ‘union ’ has no member named ‘enuemerated’ make[2]: *** [sound/ppc/tumbler.o] Error 1 make[1]: *** [sound/ppc] Error 2 make: *** [sound] Error 2 Signed-off-by: Kamalesh Babulal Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f673dc829bc8a9805d82df14a3e08b94f3d6fd50 Author: Takashi Iwai Date: Mon Nov 19 11:56:26 2007 +0100 [ALSA] hda-codec - Revert volume knob controls in STAC codecs Volume knob controls with STAC codecs seem to cause problems with some devices. Volumes change very slowly or silent suddenly. It's likely due to conflict between the software and the hardware volume knob setup. Since we'll have a virtual master control in future, it's safer to remove this control completely right now. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e171613949e350966f5cc8c9b0023a5f746f7a5d Author: Takashi Iwai Date: Fri Nov 16 17:52:39 2007 +0100 [ALSA] hda-intel - Show more volume-knob attributes Show more attributs of volume-knob widgets. Also don't put empty lines when no connection list is found. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9b1fffddc80949fb4aa93fdcc57544bc2108ced3 Author: Ingo Molnar Date: Fri Nov 16 15:20:28 2007 +0100 [ALSA] snd hda suspend latency: shorten codec read not sleeping for every codec read/write but doing a short udelay and a conditional reschedule has cut suspend+resume latency by about 1 second on my T60. Signed-off-by: Ingo Molnar Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 27da183402ac5ca7d5a4c4704c4a405cd1009c43 Author: Wolke Liu Date: Fri Nov 16 11:06:30 2007 +0100 [ALSA] HDA-Intel - Add support for RV6xx HDMI audio This patch is to add R6xx HDMI audio support. Meanwhile, the device ID in the previous patch is changed. I have checked the patch from Herton Ronaldo Krzesinski, it's right as our spec said. :) Signed-off-by: Wolke Liu Signed-off-by: Andrea Zhang Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4b6c26aff30343ac95a111b1658e72f94bf51291 Author: Takashi Iwai Date: Thu Nov 15 16:18:14 2007 +0100 [ALSA] at73c213 - Use common callback Use snd_ctl_boolean_mono_info callback to simplify. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3b892467786410f26dffc2c7bccd3ea445604037 Author: Takashi Iwai Date: Thu Nov 15 16:17:24 2007 +0100 [ALSA] Check value range in ctl callbacks Check the value ranges in ctl put callbacks properly (in the rest drivers). Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 498ade1a133dffd0f3ee90952737045d56e6689a Author: Takashi Iwai Date: Thu Nov 15 16:16:32 2007 +0100 [ALSA] aoa - Check value range in ctl callbacks Check the value ranges in ctl put callbacks properly in aoa drivers. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 02ff1324930675599694bb1285afc4341f98a7a1 Author: Takashi Iwai Date: Thu Nov 15 16:15:29 2007 +0100 [ALSA] ak4xxx - Check value ranges in ctl callbacks Check the value ranges in ctl put callbacks properly in ak4xxx-adda driver. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d4079ac49a08e36d6839a9ceb26aec8c24c9ed82 Author: Takashi Iwai Date: Thu Nov 15 16:14:12 2007 +0100 [ALSA] powermac - Check value range in ctl callbacks Check the value ranges in ctl put callbacks properly in snd-powermac driver. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d05ab185b770de96399766be6bcb5769ab99bc09 Author: Takashi Iwai Date: Thu Nov 15 16:13:32 2007 +0100 [ALSA] vxpocket - Check value range in ctl callbacks Check the value ranges in ctl put callbacks in vxpocket driver. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9c45ba100501c206658f356ea1db3263947b9a30 Author: Takashi Iwai Date: Thu Nov 15 16:05:26 2007 +0100 [ALSA] ice1724 - Clean up ctl callbacks in se.c Clean up ctl callbacks of SE-200PCI driver. Also make sure to check the value ranges. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4e98d6a7ce934b19bffb309f2522b22384355fef Author: Takashi Iwai Date: Thu Nov 15 15:58:13 2007 +0100 [ALSA] pci - check value range in ctl callbacks Check the value ranges in ctl put callbacks properly in the rest of PCI drivers. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ab2dac2bdcf562dd616bd1fadddf5078ae7c3d83 Author: Takashi Iwai Date: Thu Nov 15 15:56:47 2007 +0100 [ALSA] mixart - Check value range in ctl callbacks Check the value ranges in ctl put callbacks properly. Also fixed some coding style issues around that. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9cd17cd2409ddbe9853575569cfd97561fa86b14 Author: Takashi Iwai Date: Thu Nov 15 15:56:07 2007 +0100 [ALSA] ice1724 - Check value ranges in ctl callbacks Check the value ranges in ctl put callbacks properly. Also fixed the wrong access type to enum elements in aureon.c. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 68ea7b2f2d8c1effd662fded04e9a589cb640da6 Author: Takashi Iwai Date: Thu Nov 15 15:54:38 2007 +0100 [ALSA] hda-codec - Check value range in ctl callbacks Check the value ranges in ctl put callbacks properly so that invalid values won't be stored or written to registers. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7e39e2273a9b8182ed1b21af5444e29843fc06ca Author: Takashi Iwai Date: Thu Nov 15 13:16:02 2007 +0100 [ALSA] emu10k1 - Check value ranges in ctl callbacks Check value ranges in ctl callbacks properly. This fixes the unexpected crash due to wrong value assignment. Also, remove invalid comments in the last patch. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 44d0a879951a90a4eb463fb1d3b91942f97f36ca Author: Vladimir Barinov Date: Wed Nov 14 17:07:17 2007 +0100 [ALSA] ASoC TLV320AIC3X codec driver This patch adds ALSA SoC support for TI TLV320AIC3X audio codecs. The features that are supported: o Capture/Playback/Bypass. o 16/20/24/32 bit audio. o 8k - 96k sample rates. o codec master only mode o DAPM. Signed-off-by: Vladimir Barinov Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3a749730afc224ac11f4eff3df58a42494a0f035 Author: Julia Lawall Date: Wed Nov 14 14:30:43 2007 +0100 [ALSA] sound/pci: Drop unnecessary continue Continue is not needed at the bottom of a loop. The semantic patch implementing this change is as follows: @@ @@ for (...;...;...) { ... if (...) { ... - continue; } } Signed-off-by: Julia Lawall Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 61dc35de78d2b28e3c28fd7a352ef8c4ff63f42d Author: Takashi Iwai Date: Wed Nov 14 12:26:44 2007 +0100 [ALSA] hda-codec - Add model=hp-tc-t5735 for ALC262 Added the missing model string for the new support of HP TC T5735. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 66d2a9d659ccc6ecf51d606fea9d1058d357f453 Author: Kailang Yang Date: Wed Nov 14 12:06:21 2007 +0100 [ALSA] hda-codec - Add support of HP Thin Client T5735 Added the support of HP Thin Client T5735 [0x103c 0x302f] with ALC262 codec. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 83a28a09c8d02d29c17e903ca713d9b8f4159ad4 Author: James Courtier-Dutton Date: Mon Nov 12 14:55:19 2007 +0000 [ALSA] emu10k1: Add mixer controls parameter checking. Signed-off-by: James Courtier-Dutton Signed-off-by: Jaroslav Kysela commit 40c1d30871346c7428d3876fc4c6b593b1b875f2 Author: Jiang Zhe Date: Mon Nov 12 13:05:16 2007 +0100 [ALSA] hda-codec - Avoid wrong speaker-auto mute via mic jack When a mic jack is set up as the multiple I/O, it may issue the automute function wrongly. This patch fixes the wrong automute detection. Signed-off-by: Jiang Zhe Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit bcecd9bd96a5ba598e4b671a55f05b32284987da Author: Jiang Zhe Date: Mon Nov 12 12:57:03 2007 +0100 [ALSA] hda-codec - Add workaround for multiple HPs Dell laptops have multiple HP jacks that can be used for multi-channel outputs. The current auto pincfg handles the speaker as the primary output and thus cannot handle the multi-channel configuration for such cases. This patch adds a workaround to fix this issue by swapping the HP and speaker during multi-channel setup routines. Signed-off-by: Jiang Zhe Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7f9310c1c98abfd85d070f9122695901531e48a4 Author: Jiang Zhe Date: Mon Nov 12 12:43:37 2007 +0100 [ALSA] hda-codec - Update dell-m82 model pin config Updated dell-m82 model pin config table. The old config doesn't work with Dell 1210 and co. Signed-off-by: Jiang Zhe Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 27caac81f33c85bfc745c75a8bc1f8107077ef56 Author: Nicolas Kaiser Date: Mon Nov 12 12:25:02 2007 +0100 [ALSA] sound/pci: remove duplicated defines Remove duplicated defines. (From their use it looks like 'midiDataOutx are written to rather than read from.) Signed-off-by: Nicolas Kaiser Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 5dbc94791005608c57674fba04dd6b5e19ba9342 Author: Jiri Olsa Date: Mon Nov 12 12:15:42 2007 +0100 [ALSA] sound: remove dead config symbol from sound code remove dead config symbols from sound code Signed-off-by: Jiri Olsa Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6a7b8cf4766803c2e16cf118a2998c7095c2c7e3 Author: Stanislav Brabec Date: Mon Nov 12 12:11:10 2007 +0100 [ALSA] use convenient treble scale on WM8750 On Zaurus SL-C3200 (terrier/spitz) based on WM8750, treble scale is inconveniently reverted (increase level = decrease treble), in opposite to bass scale, which uses convenient scale. Fix ALSA WM8750 mixer treble to use convenient treble scale (increase = increase treble level) From: Stanislav Brabec Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 85db3848c59610c47f64f67677e875abfcff1c3f Author: Takashi Iwai Date: Thu Nov 8 09:09:58 2007 +0100 [ALSA] Update SNDRV_HWDEP_IFACE_LAST Updated the forgotten SNDRV_HWDEP_IFACE_LAST to point the really last member. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6bab53377eecc19d3d66bcbf2ec8d2f8d99abc43 Author: Nicolas Kaiser Date: Wed Nov 7 18:31:43 2007 +0100 [ALSA] sound/pci: remove line duplications in defines Remove line duplications in defines. Acked-by: Thomas Sailer Signed-off-by: Nicolas Kaiser Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b222fe50f28ea14b7fde202d143c534dedf9bca9 Author: Matthew Ranostay Date: Wed Nov 7 15:54:45 2007 +0100 [ALSA] hda: STAC9228 Subsystem update Added more laptops subsystem id's that have STAC9228 DMIC support. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b46be727286a93056db851ababc85c0ac3f2f91c Author: Timofei Bondarenko Date: Wed Nov 7 15:50:52 2007 +0100 [ALSA] cmipci - allow capture of raw spdif subframes Enable capturing of raw 32bit IEC958_SUBFRAME. The 24-bits PCM data can be obtained using iec958 plugin. Known problem: captured stream may begin with either left or right subframe. Since the iec958 plugin doesn't decode preamble it may swap the channels sometime. Signed-off-by: Timofei Bondarenko Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit feb77712b0e780f04507cdda0529088ff0f3286f Author: Timofei Bondarenko Date: Wed Nov 7 15:49:57 2007 +0100 [ALSA] cmipci - utilize ADC48K44K bit Setting the ADC48K44K greatly improves capture quality at 48k sampling rate. With this bit clear ADC does ZOH interpolation of every 22th sample at 48k. At frequencies higher than 48k there ADC performs a little better with ADC48K44K bit set. At 44.1k ADC performs a little better with this bit clear. At frequencies below 44.1k there is no difference. Signed-off-by: Timofei Bondarenko Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b98f9334e25c463fbfbb1cc468c66845e1c8e46a Author: Takashi Iwai Date: Wed Nov 7 14:18:01 2007 +0100 [ALSA] hda-codec - new PCI SSID for HP machines Added new PCI SSIDs for HP machines with ALC262 codec. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9b35947fcd697001332d0bb2adf6fbc419f5dd4f Author: Matthew Ranostay Date: Wed Nov 7 13:03:12 2007 +0100 [ALSA] hda: STAC92HD71 codec mixer Added analog loopback support and missing ADC capture mixer for the STAC92HD71 codec family. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 690eceb58ca900a55ae0cec5e8770ac166a881d8 Author: Manuel Lauss Date: Tue Nov 6 11:56:17 2007 +0100 [ALSA] ASoC: sh: improve generated code for HAC module (AC97) Change loops in ac97_read/write functions to count down to zero rather than up. Gcc will then use the 'dt' (decrement-and-test) op instead of an increment/compare op-pair. Signed-off-by: Manuel Lauss Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e035b841015251062316cb60b47d1f11d2703f6d Author: Matthew Ranostay Date: Tue Nov 6 11:53:55 2007 +0100 [ALSA] hda: Added new IDT codec family Added initial support for the STAC92HD71BXX family of codecs. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2797f724cdde5b3c630f6422a1cc3a21772728dd Author: Herton Ronaldo Krzesinski Date: Mon Nov 5 18:21:56 2007 +0100 [ALSA] HDA-Intel - Add support for RV610/RV630 HDMI audio The Audio interface on HD2400/HD2600 cards isn't currently detected by snd-hda-intel. I added missing pci device ids for RV610 and RV630, but I only had a HD2400 pro card to test, where now the audio interface is detected (and no need to change patch_atihdmi.c, as the codec vendor id remains 0x1002aa01 for which we already have an entry there). I also couldn't test if sound pass-trough is ok (and I don't know how to), but at least now the device is detected. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit dddefd0d706da7d981e8e397231df257f0122a49 Author: Joachim Foerster Date: Mon Nov 5 15:48:36 2007 +0100 [ALSA] [ML403-AC97CR] Fix capture/periodic overrun bug We have to do fairly accurate counting of the minimal periods, instead of being lazy and just setting the number to zero as soon as one period elapses. Signed-off-by: Joachim Foerster Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a9f00d8df2115b396f13ea74b835f18215a871cc Author: Joachim Foerster Date: Mon Nov 5 16:06:01 2007 +0100 [ALSA] Xilinx ML403 AC97 Controller Reference device driver Add ALSA support for the opb_ac97_controller_ref_v1_00_a ip core found in Xilinx' ML403 reference design. Known issue: Currently this driver hits a WARN_ON_ONCE(1) statement in kernel/irq/resend.c (line 70). According to Linus (http://lkml.org/lkml/2007/8/5/5) this may be ignored, right? I haven't had a look into this 'problem' yet. Signed-off-by: Joachim Foerster Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f1f208d0b4fb79f99d2ca5031c61ff5b52e42e75 Author: Matthew Ranostay Date: Mon Nov 5 15:30:13 2007 +0100 [ALSA] hda: STAC9228 DMIC Added support for the dmics and enabled EAPD for several laptops with STAC9228 cards. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d9f9b8baa0fbdba93b0ebb8e5b3ec042a6b4a8fb Author: Tobin Davis Date: Mon Nov 5 15:13:51 2007 +0100 [ALSA] HDA: Add Asus VX1 support Simple patch to add the Asus VX1 laptop to the Analog Devices pci quirk list. Signed-off-by: Tobin Davis Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 755c48abd8ec228a9e3c3bf9b36850ef5a12cc9c Author: Timofei Bondarenko Date: Wed Oct 31 17:36:20 2007 +0100 [ALSA] cmipci at 96kHz This patch adds support for 88.2k, 96k, and 128k samplerates on cmi8738-55 chip. Analog playback works fine on all channels. Analog capture works well too, though the extra samples seems interpolated by hardware. spdif playback and capture works fine. Signed-off-by: Timofei Bondarenko Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f889fa91ad47e6fcb530abf1184ca9f1473d3c72 Author: Takashi Iwai Date: Wed Oct 31 15:49:32 2007 +0100 [ALSA] hda-codec - Improve the auto-configuration Some small improvements on autocfg stuff: - sort HP pins by sequence number, too - move sole mic pin to AUTO_PIN_MIC instead of AUTO_PIN_FRONT_MIC - ditto for line-in pin Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 69b1f1e8337fc94a7ea0730588960e82676dc2dc Author: Timofei Bondarenko Date: Tue Oct 30 15:28:14 2007 +0100 [ALSA] usb-audio - SB Live24-External better handling This patch improves support for 'SB Live 24-bit Extarnal' USB card. 1) This card can go into muted state when a headphones connected or disconnected. So notify mixer about changes in headphone jack. 2) Add LED controls and procfs support just as in similar Audigy 2 NX card. 3) Rename 'PCM Capture' conrol to 'Mic Capture' to reflect reality: the card may adjust microphone input level only. Signed-off-by: Timofei Bondarenko Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 045765253c610cb5acebb22ae94d759f586d9521 Author: Takashi Iwai Date: Tue Oct 30 12:43:40 2007 +0100 [ALSA] opl3 - Fix build errors I applied a wrong patch for 'opl3 - simplify exclusive access lock'. Fixed now. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e5723b41abe559bafc52591dcf8ee19cc131d3a1 Author: Takashi Iwai Date: Tue Oct 30 12:17:17 2007 +0100 [ALSA] Remove sequencer instrument layer Remove sequencer instrument layer from the tree. This mechanism hasn't been used much with the actual devices. The only reasonable user was OPL3 loader, and now it was rewritten to use hwdep instead. So, let's remove the rest of rotten codes. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 05c1afe75fcebf456017ec186811cf1599f4360e Author: Takashi Iwai Date: Tue Oct 30 11:59:15 2007 +0100 [ALSA] opl3 - simplify exclusive access lock Use the exclusive access lock in hwdep instead of the own one. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 224a033252bba46c5c8b5df625f5e781ca138f48 Author: Takashi Iwai Date: Tue Oct 30 11:49:22 2007 +0100 [ALSA] opl3 - Use hwdep for patch loading Use the hwdep device for loading OPL2/3 patch data instead of the messy sequencer instrument layer. Due to this change, the sbiload program should be updated, too. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ceac4bf34e14d9040d16b35fd97a92d6e951ccf4 Author: Takashi Iwai Date: Mon Oct 29 10:49:43 2007 +0100 [ALSA] Dreamcast AICA sound - Get rid of annoying compiler warning This patch supresses an annoying compiler warning that the variable err may be used uninitialised. Signed-off by: Adrian McMenamin Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 54720a2481e67e622d5ee40a5130fd45f5c57c14 Author: Krzysztof Helt Date: Mon Oct 29 10:48:40 2007 +0100 [ALSA] ac97_patch: compilation warning fix This patch kills these two compilation warnings if power management is disabled: sound/pci/ac97/ac97_patch.h:86: warning: 'snd_ac97_restore_status' declared 'static' but never defined sound/pci/ac97/ac97_patch.h:87: warning: 'snd_ac97_restore_iec958' declared 'static' but never defined Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 304cd07f92027af7e92d742d9554c3be9fa4d4cf Author: Takashi Iwai Date: Fri Oct 26 15:10:15 2007 +0200 [ALSA] Introduce slots option to snd module Introduced the global 'slots' option to snd module. This option provides an alternative way to handle the order of multiple sound card instances. It's an easier approach to avoid conflict with hotplug devices, and can be used together with the existing 'order' option of each card driver. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e97a516701cfc3c4b27444212208884214d10c20 Author: Takashi Iwai Date: Fri Oct 26 14:56:36 2007 +0200 [ALSA] hda-codec - Show more information in proc file Show the current EAPD status and volume-knob status in proc file. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 040956fabbc16b9ce746a03d2b589052e1771138 Author: Ivan Kuten Date: Fri Oct 26 14:53:47 2007 +0200 [ALSA] soc - ln2440sbc ac97 support This patch adds ac97 support for ln2440sbc board from LittleChips. This board is based on s3c2440 SoC + AC97 Realtek ALC650 codec. Existing s3c2443 implementation is slightly modified because s3c2440 and s3c2443 have different AC97 interrupts. Signed-off-by: Ivan Kuten Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f651b50b9d1ab44f7b09d1ef28ba702903732fd3 Author: Tobin Davis Date: Fri Oct 26 12:40:47 2007 +0200 [ALSA] HDA: Add support for Samsung Q1 Ultra Vista edition This patch adds full record and playback support for the Samsung Q1 Ultra - Vista model (different codec than the earlier Q1 Ultra models). Signed-off-by: Tobin Davis Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9674513d60e7f3bdde1e4739ed81b2daaee74df7 Author: Takashi Iwai Date: Thu Oct 25 11:46:24 2007 +0200 [ALSA] via82xx - Fix quirk for Shuttle AK32VN Fix quirk for Shuttle AK32VN. It works better with DXS_SRC, and needs HP_ONLY ac97 quirk. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 27ed7ceda58d147dea27cd7443915f140c2665a6 Author: Takashi Iwai Date: Wed Oct 24 18:18:11 2007 +0200 [ALSA] ad1848 - Fix print format Fixed the print format for debug message. Spotted by Matthew Wilcox. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 3f03f7c586471f376eab497ab33394ab086f5301 Author: Michael Opdenacker Date: Wed Oct 24 10:59:44 2007 +0200 [ALSA] writing-an-alsa-driver.tmpl: English style improvements This patch brings some English style improvements throughout the document, as well as 1 or 2 extra technical details. Signed-off-by: Michael Opdenacker Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f31639b8c5916f58441b529c9c364715921b29af Author: Shin-ya Okada Date: Tue Oct 23 15:08:18 2007 +0200 [ALSA] ice1724 - Add support of Onkyo SE-90PCI and SE-200PCI Added the support for Onkyo SE-90PCI and SE-200PCI boards. Signed-off-by: Shin-ya Okada Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 18fe4ac25811ff4006844b6e575acdc9103cbaba Author: Mike Rapoport Date: Mon Oct 22 17:41:08 2007 +0200 [ALSA] soc - Add 'Mono Playback Switch' to WM9712 codec driver The following patch adds 'Mono Playback Switch' control to WM9712 codec SoC driver. Also, it fixes Treble, Bass and Mono playback volume inversion bits. Signed-off-by: Mike Rapoport Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 61bae0934eddeb51b2559186dfd79a7a6ed3a90a Author: Takashi Iwai Date: Mon Oct 22 17:05:35 2007 +0200 [ALSA] hda-codec - Add model for Fujitsu V5505 Added model=laptop for Fujitsu V5505 with Cxt5405 codec. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 83eef75bfeee7bdaf034e30e8f3737b393264b1e Author: Matthew Ranostay Date: Mon Oct 22 12:27:10 2007 +0200 [ALSA] hda: STAC9228 updated DMUX nid Changed the dmux for STAC9228 from ADC1MUX to ADC0MUX to avoid confusion. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 47744f638a6ee6a9e47cf47cdc6f215d096cb4fc Author: Matthew Ranostay Date: Fri Oct 19 08:19:56 2007 +0200 [ALSA] hda: Add dmux to STAC 9228 Added a dmux to the STAC9228 cards with DMIC support. And added a STAC_DIGITAL_INPUT_SOURCE macro for repeating mixer code. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7f16859a8335449c8bf75ce4edd8040a57e2b678 Author: Matthew Ranostay Date: Thu Oct 18 17:38:17 2007 +0200 [ALSA] hda-codec - Add STAC9228 DMIC support Added the missing STAC9228 DMIC support. Also added a new vendor id tag for IDT. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b995d76da070440c1e5687c0c13c8fbe51222ea2 Author: Takashi Iwai Date: Wed Oct 17 10:41:06 2007 +0200 [ALSA] hda-codec - Add missing eeepc-p701 model for ALC662 Added the missing model string 'eeepc-p701' for ALC662 codec. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e95035c61a4c3dae1aa543a5bf5b39846daca061 Author: Rusty Russell Date: Thu Jan 31 18:00:47 2008 +1100 lguest: fix mis-merge against hpa's TSS renaming drivers/lguest/x86/core.c: In function ‘copy_in_guest_info’: drivers/lguest/x86/core.c:97: error: ‘struct x86_hw_tss’ has no member named ‘esp1’ Signed-off-by: Rusty Russell Signed-off-by: Linus Torvalds commit 24af8cb86973dde9bf8df51bef923fda8718bdb5 Author: Olof Johansson Date: Thu Jan 31 00:41:30 2008 -0600 POWERPC: Set dma_data correctly for direct_ops on pasemi More late-caught fallout from the mainline merge. Commit 35e4a6e26d0c6bc7f32087db61f0fb3666531183 ("[POWERPC] Use archdata.dma_data in dma_direct_ops and add the offset") claimed "Now that all platforms using dma_direct_offset setup the archdata.dma_data correctly, ..." ..but nope -- the pasemi iommu setup code that disables translation on the DMA pci device didn't set dma_data correctly. This fixes it. Signed-off-by: Olof Johansson Signed-off-by: Linus Torvalds commit e0f2677f0d21cfff9d45160343e6246417e55d02 Author: Eric Miao Date: Thu Jan 31 00:59:31 2008 -0500 Input: pxa27x_keypad - also enable on PXA3xx Signed-off-by: Eric Miao Signed-off-by: Dmitry Torokhov commit 76cb44e1a853f9c438ccf62eb5006f089430da72 Author: Eric Miao Date: Thu Jan 31 00:59:23 2008 -0500 Input: pxa27x_keypad - add debounce_interval to the keypad platform data Currently, only one debounce_interval is introduced for both direct and matrix keys. This is true in most cases, although the keypad controller supports different debounce for direct/matrix keys. Some platforms do require this to be tuned, instead of the default reset value of 100ms. Rotary encoder will always use zero debounce time for now to achieve certain sensitivity. Signed-off-by: Eric Miao Signed-off-by: Dmitry Torokhov commit 9c60debd2a666dc0e8466dee556af30ea68e97d2 Author: Eric Miao Date: Thu Jan 31 00:59:15 2008 -0500 Input: pxa27x_keypad - use device resources for I/O memory mapping and IRQ 1. use ioremap() for registers access, this improves the portability of the driver (e.g. same IP on different processor with different I/O memory range), and make it possible to remove those registers definition in pxa-regs.h as PXA is undergoing a clean-up of that header file 2. use device specific IRQ instead of hardcoded IRQ_KEYPAD, same reason as above 3. clean up the error handling path in _probe() 4. remove DRIVER_NAME and use pdev->name when necessary, we don't actually need a constant string literals Signed-off-by: Eric Miao Signed-off-by: Dmitry Torokhov commit 62059d9e912717abbfb875440621d935d091f289 Author: Eric Miao Date: Thu Jan 31 00:59:03 2008 -0500 Input: pxa27x_keypad - enable rotary encoders and direct keys 1. Rotary encoder events can be configured either as relative events as the legacy code does or as any specified key code, this is useful on some platform which uses the rotary keys as KEY_{UP/DOWN/LEFT/RIGHT} 2. Add support for direct keys, the corresponding keycodes for each direct key can now be specified within the platform data 3. Remove the direct/rotary key detection code from the IRQ handler to dedicated functions to improve readability Signed-off-by: Eric Miao Signed-off-by: Dmitry Torokhov commit d7416f9eaa5427f47648973aac3a65e7a0eeda04 Author: Eric Miao Date: Thu Jan 31 00:58:52 2008 -0500 Input: pxa27x_keypad - introduce pxa27x_keypad_config() Introduce pxa27x_keypad_config() for keypad registers configuration and remove the reg_kpc, reg_kprec from platform data structure so that configurations of keypad registers can be centralized to a single function. It can also be re-used when resuming. Signed-off-by: Eric Miao Signed-off-by: Dmitry Torokhov commit 1814db69698479eec2c000a43c83b5f263f6fbb6 Author: Eric Miao Date: Thu Jan 31 00:58:37 2008 -0500 Input: pxa27x_keypad - introduce driver structure and use KEY() to define matrix keys 1. Introduce the "struct pxa27x_keypad" structure for driver specific information, such as "struct clk", generated matrix key codes and so on 2. Use KEY() macro to define matrix keys, instead of original 8x8 map this makes definition easier with keypad where keys are sparse 3. Keep a generated array in "struct pxa27x_keypad" for fast lookup 4. Separate the matrix scan into a dedicated function for readability and report only those keys whose state has been changed, instead of report all states 5. Make use of KPAS to decide the faster path if only one key has been detected Signed-off-by: Eric Miao Signed-off-by: Dmitry Torokhov commit 1a1cd739a4b985f87c47e2809db7e240dba2c385 Author: Eric Miao Date: Thu Jan 31 00:58:00 2008 -0500 Input: pxa27x_keypad - remove pin configuration from the driver The pin configurations will slowly be moved to the board specific code at initialization thus to make the driver more generic. Signed-off-by: Eric Miao Signed-off-by: Dmitry Torokhov commit 0e5f11aa80bd01d048f374cc64ef0819ad7d86f2 Author: Eric Miao Date: Thu Jan 31 00:56:46 2008 -0500 Input: pxa27x_keypad - rename the driver (was pxa27x_keyboard) The controller should really be called keypad, and also align the naming of functions and structures to use "pxa27x_keypad" as prefix, instead of "pxakbd". Signed-off-by: Eric Miao Signed-off-by: Dmitry Torokhov commit cec69c376be132a6afdc55b8090a389eaa3cd770 Author: Jan Engelhardt Date: Thu Jan 31 00:43:32 2008 -0500 Input: constify function pointer tables (seq_operations) Signed-off-by: Jan Engelhardt Signed-off-by: Dmitry Torokhov commit 8af03e782cae1e0a0f530ddd22301cdd12cf9dc0 Merge: 6232665... 99e1391... Author: Linus Torvalds Date: Thu Jan 31 13:37:27 2008 +1100 Merge branch 'for-2.6.25' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'for-2.6.25' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (454 commits) [POWERPC] Cell IOMMU fixed mapping support [POWERPC] Split out the ioid fetching/checking logic [POWERPC] Add support to cell_iommu_setup_page_tables() for multiple windows [POWERPC] Split out the IOMMU logic from cell_dma_dev_setup() [POWERPC] Split cell_iommu_setup_hardware() into two parts [POWERPC] Split out the logic that allocates struct iommus [POWERPC] Allocate the hash table under 1G on cell [POWERPC] Add set_dma_ops() to match get_dma_ops() [POWERPC] 83xx: Clean up / convert mpc83xx board DTS files to v1 format. [POWERPC] 85xx: Only invalidate TLB0 and TLB1 [POWERPC] 83xx: Fix typo in mpc837x compatible entries [POWERPC] 85xx: convert sbc85* boards to use machine_device_initcall [POWERPC] 83xx: rework platform Kconfig [POWERPC] 85xx: rework platform Kconfig [POWERPC] 86xx: Remove unused IRQ defines [POWERPC] QE: Explicitly set address-cells and size cells for muram [POWERPC] Convert StorCenter DTS file to /dts-v1/ format. [POWERPC] 86xx: Convert all 86xx DTS files to /dts-v1/ format. [PPC] Remove 85xx from arch/ppc [PPC] Remove 83xx from arch/ppc ... commit 99e139126ab2e84be67969650f92eb37c12ab5cd Author: Michael Ellerman Date: Wed Jan 30 11:03:44 2008 +1100 [POWERPC] Cell IOMMU fixed mapping support This patch adds support for setting up a fixed IOMMU mapping on certain cell machines. For 64-bit devices this avoids the performance overhead of mapping and unmapping pages at runtime. 32-bit devices are unable to use the fixed mapping. The fixed mapping is established at boot, and maps all of physical memory 1:1 into device space at some offset. On machines with < 30 GB of memory we setup the fixed mapping immediately above the normal IOMMU window. For example a machine with 4GB of memory would end up with the normal IOMMU window from 0-2GB and the fixed mapping window from 2GB to 6GB. In this case a 64-bit device wishing to DMA to 1GB would be told to DMA to 3GB, plus any offset required by firmware. The firmware offset is encoded in the "dma-ranges" property. On machines with 30GB or more of memory, we are unable to place the fixed mapping above the normal IOMMU window as we would run out of address space. Instead we move the normal IOMMU window to coincide with the hash page table, this region does not need to be part of the fixed mapping as no device should ever be DMA'ing to it. We then setup the fixed mapping from 0 to 32GB. Signed-off-by: Michael Ellerman Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit c96b51265ad4658eb82fd4379c98b9beb98f99d0 Author: Michael Ellerman Date: Wed Jan 30 01:14:02 2008 +1100 [POWERPC] Split out the ioid fetching/checking logic Split out the ioid fetching and checking logic so we can use it elsewhere in a subsequent patch. Signed-off-by: Michael Ellerman Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 41347917280bcd96619441dae20507711608b4b8 Author: Michael Ellerman Date: Wed Jan 30 01:14:01 2008 +1100 [POWERPC] Add support to cell_iommu_setup_page_tables() for multiple windows Add support to cell_iommu_setup_page_tables() for handling two windows, the dynamic window and the fixed window. A fixed window size of 0 indicates that there is no fixed window at all. Currently there are no callers who pass a non-zero fixed window, but the upcoming fixed IOMMU mapping patch will change that. Signed-off-by: Michael Ellerman Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 86865771ea213d756b03e1f2ff44d3f811672762 Author: Michael Ellerman Date: Wed Jan 30 01:14:01 2008 +1100 [POWERPC] Split out the IOMMU logic from cell_dma_dev_setup() Split the IOMMU logic out from cell_dma_dev_setup() into a separate function. If we're not using dma_direct_ops or dma_iommu_ops we don't know what the hell's going on, so BUG. Signed-off-by: Michael Ellerman Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 7fc67afc436cf7f74d8cc697012696187332fc35 Author: Michael Ellerman Date: Wed Jan 30 01:14:00 2008 +1100 [POWERPC] Split cell_iommu_setup_hardware() into two parts Split cell_iommu_setup_hardware() into two parts. Split the page table setup into cell_iommu_setup_page_tables() and the bits that kick the hardware into cell_iommu_enable_hardware(). Signed-off-by: Michael Ellerman Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 209bfbb4780190754a6383ad052e59ce8b5bedeb Author: Michael Ellerman Date: Wed Jan 30 01:13:59 2008 +1100 [POWERPC] Split out the logic that allocates struct iommus Split out the logic that allocates a struct iommu into a separate function. This can fail however the calling code has never cared - so just return if we can't allocate an iommu. Signed-off-by: Michael Ellerman Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 41d824bf61b507c001868861cddda25eaab23cd7 Author: Michael Ellerman Date: Wed Jan 30 01:13:59 2008 +1100 [POWERPC] Allocate the hash table under 1G on cell In order to support the fixed IOMMU mapping (in a subsequent patch), we need the hash table to be inside the IOMMUs DMA window. This is usually 2G, but let's make sure the hash table is under 1G as that will satisfy the IOMMU requirements and also means the hash table will be on node 0. Signed-off-by: Michael Ellerman Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 1f62a1626e53e7b851e3e059cbd2fdc99cb85c05 Author: Michael Ellerman Date: Wed Jan 30 01:13:58 2008 +1100 [POWERPC] Add set_dma_ops() to match get_dma_ops() Signed-off-by: Michael Ellerman Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 6232665040f9a23fafd9d94d4ae8d5a2dc850f65 Merge: 94ed294... c18d125... Author: Linus Torvalds Date: Thu Jan 31 11:48:53 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 * git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: alpha: fix x86.git merge build error ia64: on UP percpu variables are not small memory model x86: fix arch/x86/kernel/test_nx.c modular build bug s390: use generic percpu linux-2.6.git POWERPC: use generic per cpu ia64: use generic percpu SPARC64: use generic percpu percpu: change Kconfig to HAVE_SETUP_PER_CPU_AREA modules: fold percpu_modcopy into module.c x86: export copy_from_user_ll_nocache[_nozero] x86: fix duplicated TIF on 64-bit commit 94ed294c20ef07fffa40817c68155fba35dd67f1 Merge: 5bdeae4... 384170d... Author: Linus Torvalds Date: Thu Jan 31 11:40:18 2008 +1100 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: (26 commits) firewire: fw-sbp2: Use sbp2 device-provided mgt orb timeout for logins firewire: fw-sbp2: increase login orb reply timeout, fix "failed to login" firewire: replace subtraction with bitwise and firewire: fw-core: react on bus resets while the config ROM is being fetched firewire: enforce access order between generation and node ID, fix "giving up on config rom" firewire: fw-cdev: use device generation, not card generation firewire: fw-sbp2: use device generation, not card generation firewire: fw-sbp2: try to increase reconnect_hold (speed up reconnection) firewire: fw-sbp2: skip unnecessary logout firewire vs. ieee1394: clarify MAINTAINERS firewire: fw-ohci: Dynamically allocate buffers for DMA descriptors firewire: fw-ohci: CycleTooLong interrupt management firewire: Fix extraction of source node id firewire: fw-ohci: Bug fixes for packet-per-buffer support firewire: fw-ohci: Fix for dualbuffer three-or-more buffers firewire: fw-sbp2: remove unused misleading macro firewire: fw-sbp2: prepare for s/g chaining firewire: fw-sbp2: refactor workq and kref handling ieee1394: ohci1394: don't schedule IT tasklets on IR events ieee1394: sbp2: raise default transfer size limit ... commit bd45ac0c5daae35e7c71138172e63df5cf644cf6 Merge: 4eece4c... 5bdeae4... Author: Paul Mackerras Date: Thu Jan 31 11:25:51 2008 +1100 Merge branch 'linux-2.6' commit 4eece4ccf997c0e6d8fdad3d842e37b16b8d705f Merge: cda13dd... 4fb4c55... Author: Paul Mackerras Date: Thu Jan 31 10:50:17 2008 +1100 Merge branch 'for-2.6.25' of git://git.secretlab.ca/git/linux-2.6-mpc52xx commit 5bdeae46be6dfe9efa44a548bd622af325f4bdb4 Merge: d145c72... 1ceea82... Author: Linus Torvalds Date: Thu Jan 31 09:36:35 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] use SGI_HAS_INDYDOG for INDYDOG depends commit d145c7253c8cb2ed8a75a8839621b0bb8f778820 Merge: 44c3b59... 84f12e3... Author: Linus Torvalds Date: Thu Jan 31 09:35:32 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: (27 commits) lguest: use __PAGE_KERNEL instead of _PAGE_KERNEL lguest: Use explicit includes rateher than indirect lguest: get rid of lg variable assignments lguest: change gpte_addr header lguest: move changed bitmap to lg_cpu lguest: move last_pages to lg_cpu lguest: change last_guest to last_cpu lguest: change spte_addr header lguest: per-vcpu lguest pgdir management lguest: make pending notifications per-vcpu lguest: makes special fields be per-vcpu lguest: per-vcpu lguest task management lguest: replace lguest_arch with lg_cpu_arch. lguest: make registers per-vcpu lguest: make emulate_insn receive a vcpu struct. lguest: map_switcher_in_guest() per-vcpu lguest: per-vcpu interrupt processing. lguest: per-vcpu lguest timers lguest: make hypercalls use the vcpu struct lguest: make write() operation smp aware ... Manual conflict resolved (maybe even correctly, who knows) in drivers/lguest/x86/core.c commit 44c3b59102e3ecc7a01e9811862633e670595e51 Merge: 3b470ac... f71ea9d... Author: Linus Torvalds Date: Thu Jan 31 09:32:24 2008 +1100 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6: security: compile capabilities by default selinux: make selinux_set_mnt_opts() static SELinux: Add warning messages on network denial due to error SELinux: Add network ingress and egress control permission checks NetLabel: Add auditing to the static labeling mechanism NetLabel: Introduce static network labels for unlabeled connections SELinux: Allow NetLabel to directly cache SIDs SELinux: Enable dynamic enable/disable of the network access checks SELinux: Better integration between peer labeling subsystems SELinux: Add a new peer class and permissions to the Flask definitions SELinux: Add a capabilities bitmap to SELinux policy version 22 SELinux: Add a network node caching mechanism similar to the sel_netif_*() functions SELinux: Only store the network interface's ifindex SELinux: Convert the netif code to use ifindex values NetLabel: Add IP address family information to the netlbl_skbuff_getattr() function NetLabel: Add secid token support to the NetLabel secattr struct NetLabel: Consolidate the LSM domain mapping/hashing locks NetLabel: Cleanup the LSM domain hash functions NetLabel: Remove unneeded RCU read locks commit 3b470ac43fcd9848fa65e58e54875ad75be61cec Merge: 2c57ee6... c847c85... Author: Linus Torvalds Date: Thu Jan 31 09:31:37 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6: PPC: Fix powerpc vio_find_name to not use devices_subsys Driver core: add bus_find_device_by_name function Module: check to see if we have a built in module with the same name x86: fix runtime error in arch/x86/kernel/cpu/mcheck/mce_amd_64.c Driver core: Fix up build when CONFIG_BLOCK=N commit 2c57ee6f924c95e4dce61ed4776fb3f62e1b9f92 Merge: f389e9f... 2f52d58... Author: Linus Torvalds Date: Thu Jan 31 09:30:10 2008 +1100 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: (249 commits) KVM: Move apic timer migration away from critical section KVM: Put kvm_para.h include outside __KERNEL__ KVM: Fix unbounded preemption latency KVM: Initialize the mmu caches only after verifying cpu support KVM: MMU: Fix dirty page setting for pages removed from rmap KVM: Portability: Move kvm_fpu to asm-x86/kvm.h KVM: x86 emulator: Only allow VMCALL/VMMCALL trapped by #UD KVM: MMU: Merge shadow level check in FNAME(fetch) KVM: MMU: Move kvm_free_some_pages() into critical section KVM: MMU: Switch to mmu spinlock KVM: MMU: Avoid calling gfn_to_page() in mmu_set_spte() KVM: Add kvm_read_guest_atomic() KVM: MMU: Concurrent guest walkers KVM: Disable vapic support on Intel machines with FlexPriority KVM: Accelerated apic support KVM: local APIC TPR access reporting facility KVM: Print data for unimplemented wrmsr KVM: MMU: Add cache miss statistic KVM: MMU: Coalesce remote tlb flushes KVM: Expose ioapic to ia64 save/restore APIs ... commit f389e9fcecdec4c4cb890ad28ea30a87a579ec3e Merge: 2419505... 0fe410d... Author: Linus Torvalds Date: Thu Jan 31 09:29:31 2008 +1100 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm: (21 commits) dlm: static initialization improvements dlm: clean ups dlm: Sanity check namelen before copying it dlm: keep cached master rsbs during recovery dlm: change error message to debug dlm: fix possible use-after-free dlm: limit dir lookup loop dlm: reject normal unlock when lock is waiting for lookup dlm: validate messages before processing dlm: reject messages from non-members dlm: another call to confirm_master in receive_request_reply dlm: recover locks waiting for overlap replies dlm: clear ast_type when removing from astqueue dlm: use fixed errno values in messages dlm: swap bytes for rcom lock reply dlm: align midcomms message buffer dlm: close othercons dlm: use dlm prefix on alloc and free functions dlm: don't print common non-errors dlm: proper prototypes ... commit 2419505acc479d2f1feed94d195b0554a64269a4 Merge: caf03fe... 203a512... Author: Linus Torvalds Date: Thu Jan 31 09:28:49 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (21 commits) [SCSI] Revert "[SCSI] aacraid: fib context lock for management ioctls" [SCSI] bsg: copy the cmd_type field to the subordinate request for bidi [SCSI] handle scsi_init_queue failure properly [SCSI] destroy scsi_bidi_sdb_cache in scsi_exit_queue [SCSI] scsi_debug: add XDWRITEREAD_10 support [SCSI] scsi_debug: add bidi data transfer support [SCSI] scsi_debug: add get_data_transfer_info helper function [SCSI] remove use_sg_chaining [SCSI] bidirectional: fix up for the new blk_end_request code [SCSI] bidirectional command support [SCSI] implement scsi_data_buffer [SCSI] tgt: use scsi_init_io instead of scsi_alloc_sgtable [SCSI] aic7xxx: fix warnings with CONFIG_PM disabled [SCSI] aic79xx: fix warnings with CONFIG_PM disabled [SCSI] aic7xxx: fix ahc_done check SCB_ACTIVE for tagged transactions [SCSI] sgiwd93: use cached memory access to make driver work on IP28 [SCSI] zfcp: fix sense_buffer access bug [SCSI] ncr53c8xx: fix sense_buffer access bug [SCSI] aic79xx: fix sense_buffer access bug [SCSI] hptiop: fix sense_buffer access bug ... commit caf03feb61bc47dda6dca69a2abb1f5d57dc681e Author: Randy Dunlap Date: Wed Jan 30 11:51:00 2008 -0800 docbook: fix block api fatal error Fix docbook fatal error: docproc: linux-2.6.24-git8/block/ll_rw_blk.c: No such file or directory Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit a63ca8f65dd38519144d727c16e1a38342a474b8 Author: Randy Dunlap Date: Wed Jan 30 11:51:08 2008 -0800 docbook: fix drivers/base/class warning Fix kernel-doc empty line warning: Warning(linux-2.6.24-git8//drivers/base/class.c:866): bad line: Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit c18d1250c7425dddd2633ce4eaf03d5015e68a0f Author: Thomas Gleixner Date: Wed Jan 30 23:27:58 2008 +0100 alpha: fix x86.git merge build error a5a19c63f4e55e32dc0bc3d936d7f94793d8b380 removed the include of asm/pgalloc.h from asm-generic/tlb.h. That works fine on most architectures, but broke ALPHA. Fixup ALPHA by adding the include to asm-alpha/tlbflush.h Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit ab6e14b712e2d8e0c4dd3cf1a72083b52104853a Author: Ingo Molnar Date: Wed Jan 30 23:27:58 2008 +0100 ia64: on UP percpu variables are not small memory model Tony says: | The CONFIG_SMP=n path in ia64 makes quite radical changes ... rather | than putting all the per-cpu stuff into the top 64K of address space | and providing a per-cpu TLB mapping for that range to a different | physical address ... it just makes all the per-cpu stuff link as ordinary | variables in .data. the new generic percpu code got confused about this as PER_CPU_ATTRIBUTES was defined even on UP, so it picked up that small memory model - which was not possible to get linked. The right fix is to only define that on SMP. This resolved the build failures in my cross-compiling environment. also link these variables into the .percpu section even on UP - some assembly code has offset dependencies. (such as GET_IA64_MCA_DATA() in arch/ia64/kernel/mca_asm.S) Signed-off-by: Ingo Molnar Acked-by: Tony Luck commit 18fbef9e5242e146fe0264cf719a498785102841 Author: Ingo Molnar Date: Wed Jan 30 23:27:58 2008 +0100 x86: fix arch/x86/kernel/test_nx.c modular build bug fix this modular build bug: > CC [M] arch/x86/kernel/test_nx.o > {standard input}: Assembler messages: > {standard input}:58: Error: cannot represent relocation type BFD_RELOC_64 > {standard input}:59: Error: cannot represent relocation type BFD_RELOC_64 > make[2]: *** [arch/x86/kernel/test_nx.o] Error 1 > make[1]: *** [arch/x86/kernel] Error 2 Reported-by: Adrian Bunk Signed-off-by: Ingo Molnar commit f034347470e486835ccdcd7a5bb2ceb417be11c4 Author: travis@sgi.com Date: Wed Jan 30 23:27:58 2008 +0100 s390: use generic percpu linux-2.6.git Change s390 percpu.h to use asm-generic/percpu.h Signed-off-by: Mike Travis Acked-by: Martin Schwidefsky Signed-off-by: Ingo Molnar commit 56f902051dd040e8a735a225caf0e3e4ffb0a6c5 Author: travis@sgi.com Date: Wed Jan 30 23:27:58 2008 +0100 POWERPC: use generic per cpu Powerpc has a way to determine the address of the per cpu area of the currently executing processor via the paca and the array of per cpu offsets is avoided by looking up the per cpu area from the remote paca's (copying x86_64). Cc: Paul Mackerras Cc: Geert Uytterhoeven Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar Acked-by: Olof Johansson Tested-by: Geoff Levand commit 05991bef104051d47e2160ee9499186aff7da5ad Author: travis@sgi.com Date: Wed Jan 30 23:27:58 2008 +0100 ia64: use generic percpu ia64 has a special processor specific mapping that can be used to locate the offset for the current per cpu area. Cc: linux-ia64@vger.kernel.org Signed-off-by: Mike Travis Acked-by: Tony Luck Signed-off-by: Ingo Molnar commit 3afc620229ccc8214ef96fd0e7db26d79f788167 Author: travis@sgi.com Date: Wed Jan 30 23:27:58 2008 +0100 SPARC64: use generic percpu Sparc64 has a way of providing the base address for the per cpu area of the currently executing processor in a global register. Sparc64 also provides a way to calculate the address of a per cpu area from a base address instead of performing an array lookup. Cc: David Miller Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 988c388ad48f790253850e369dd3e6fdf44ef603 Author: travis@sgi.com Date: Wed Jan 30 23:27:58 2008 +0100 percpu: change Kconfig to HAVE_SETUP_PER_CPU_AREA Change: config ARCH_SETS_UP_PER_CPU_AREA to: config HAVE_SETUP_PER_CPU_AREA Cc: Andi Kleen Cc: Tony Luck Cc: David Miller Cc: Sam Ravnborg Cc: Rusty Russell Cc: Geert Uytterhoeven Cc: linuxppc-dev@ozlabs.org Cc: linux-ia64@vger.kernel.org Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar commit 6ddfee0e79e141550376177b355d6c90ba6da88c Author: travis@sgi.com Date: Wed Jan 30 23:27:58 2008 +0100 modules: fold percpu_modcopy into module.c percpu_modcopy() is defined multiple times in arch files. However, the only user is module.c. Put a static definition into module.c and remove the definitions from the arch files. Signed-off-by: Ingo Molnar commit 914c82694cadbab511f2aee8a59c89be2938bace Author: Andrew Morton Date: Wed Jan 30 23:27:57 2008 +0100 x86: export copy_from_user_ll_nocache[_nozero] Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 4bc408a5b9fed59f8b23ae81bab4e964726bd8b8 Author: Mathieu Desnoyers Date: Wed Jan 30 23:27:57 2008 +0100 x86: fix duplicated TIF on 64-bit commit 7e9916040b3020d0f36d68bb7512e3b80b623097 and commit eee3af4a2c83a97fff107ddc445d9df6fded9ce4 Both use the same TIF number (25) in thread_info_64.h. This patch changes the TIF ids. Signed-off-by: Mathieu Desnoyers Signed-off-by: Ingo Molnar commit 3f79b1e94002791a42837a46b5817e87a0ac0873 Author: Jiri Kosina Date: Wed Jan 30 16:34:52 2008 -0500 Input: i8042 - add Fujitsu-Siemens Amilo Pro 2010 to nomux list Reported-by: Hans Aschauer Signed-off-by: Jiri Kosina Signed-off-by: Dmitry Torokhov commit b4d62de16283d096e2e0dfe9d3395f5ba1b1352e Author: Bruce Duncan Date: Wed Jan 30 16:34:34 2008 -0500 Input: i8042 - enable DMI quirks on x86-64 If firmware does not implement AUX_LOOP comand in 32 bit mode it is unlikely to implement it in 64 bit mode. Same goes for active multiplexing. See: http://bugzilla.kernel.org/show_bug.cgi?id=9664 Signed-off-by: Dmitry Torokhov commit 5799ddb54e829c92b23b7a3bf5133923cb908116 Author: Carlos Corbacho Date: Wed Jan 30 16:34:12 2008 -0500 Input: i8042 - add Dritek quirk for Acer Aspire 9110 The Acer Aspire 9110 series also requires the Dritek quirk to enable the extra scancodes. Signed-off-by: Carlos Corbacho Signed-off-by: Dmitry Torokhov commit e17bb1de3b7f7569152c71a51e0bafe5419ab54a Author: Richard Purdie Date: Wed Jan 30 16:33:59 2008 -0500 Input: add input event to APM event bridge This patch adds a very simple input power event to APM user suspend event bridge. Its currently only works for the systems using the emulated APM driver but could easily be extended to work with anything with a true APM BIOS too. This covers a standard embedded system need which is to suspend when the user presses a suspend button. It leaves options open to system integrators to ignore (or unload) this code and implement their own more complex event handling system. Its hidden behind the EMBEDDED Kconfig option since its only likely to be of use to embedded style systems. It can be built as a module so the "hardcoded" policy can easily be removed from the kernel at runtime if desired too. Signed-off-by: Richard Purdie Signed-off-by: Dmitry Torokhov commit d182c10c842007984e12b3b816df2b10d997cc8e Author: Dmitry Torokhov Date: Wed Jan 30 16:33:40 2008 -0500 Input: mousedev - use BIT_MASK instead of BIT Signed-off-by: Dmitry Torokhov commit 384170da9384b7bb3650c0c9b9d17ba0f7bde4ff Author: Jarod Wilson Date: Fri Jan 25 23:31:12 2008 -0500 firewire: fw-sbp2: Use sbp2 device-provided mgt orb timeout for logins To be more compliant with section 7.4.8 of the SBP-2 specification, use the mgt_ORB_timeout specified in the SBP-2 device's config rom for login ORB attempts (though with some sanity checks). A happy side-effect is that certain device and controller combinations that sometimes take more than 20 seconds to get synced up (like my laptop with just about any SBP-2 device) now function more reliably. Signed-off-by: Jarod Wilson Signed-off-by: Stefan Richter (silenced sparse) commit a4c379c1979fbc417099cd22ba16735bc3625bbf Author: Jarod Wilson Date: Sat Jan 19 13:15:05 2008 +0100 firewire: fw-sbp2: increase login orb reply timeout, fix "failed to login" Increase (and rename) the login orb reply timeout value to 20s to match that of the old firewire stack. 2s simply didn't give many devices enough time to spin up and reply. Fixes inability to recognize some devices. Failure mode was "orb reply timed out"/"failed to login". Signed-off-by: Jarod Wilson Signed-off-by: Stefan Richter (style, comments, changelog) commit 8f9f963e5d9853dbc5fa5091f15ae64f423d3d89 Author: Jarod Wilson Date: Wed Jan 23 16:05:45 2008 -0500 firewire: replace subtraction with bitwise and Replace an unnecessary subtraction with a bitwise AND when determining the value of ext_tcode in fw_fill_transaction() to save a cpu cycle or two in a somewhat critical path. Signed-off-by: Jarod Wilson Signed-off-by: Stefan Richter commit f8d2dc39389d6ccc0def290dc4b7eb71d68645a2 Author: Stefan Richter Date: Fri Jan 25 17:53:49 2008 +0100 firewire: fw-core: react on bus resets while the config ROM is being fetched read_rom() obtained a fresh new fw_device.generation for each read transaction. Hence it was able to continue reading in the middle of the ROM even if a bus reset happened. However the device may have modified the ROM during the reset. We would end up with a corrupt fetched ROM image then. Although all of this is quite unlikely, it is not impossible. Therefore we now restart reading the ROM if the bus generation changed. Note, the memory barrier in read_rom() is still necessary according to tests by Jarod Wilson, despite of the ->generation access being moved up in the call chain. Signed-off-by: Stefan Richter This is essentially what I've been beating on locally, and I've yet to hit another config rom read failure with it. Signed-off-by: Jarod Wilson commit b5d2a5e04e6a26cb3f77af8cbc31e74c361d706c Author: Stefan Richter Date: Fri Jan 25 18:57:41 2008 +0100 firewire: enforce access order between generation and node ID, fix "giving up on config rom" fw_device.node_id and fw_device.generation are accessed without mutexes. We have to ensure that all readers will get to see node_id updates before generation updates. Fixes an inability to recognize devices after "giving up on config rom", https://bugzilla.redhat.com/show_bug.cgi?id=429950 Signed-off-by: Stefan Richter Reviewed by Nick Piggin . Verified to fix 'giving up on config rom' issues on multiple system and drive combinations that were previously affected. Signed-off-by: Jarod Wilson Signed-off-by: Kristian Høgsberg commit cf5a56ac8083dd04ffe8b9b2ec7895e9bcff44bc Author: Stefan Richter Date: Thu Jan 24 01:53:51 2008 +0100 firewire: fw-cdev: use device generation, not card generation We have to use the fw_device.generation here, not the fw_card.generation, because the generation must never be newer than the node ID when we emit a transaction. This cannot be guaranteed with fw_card.generation. Signed-off-by: Stefan Richter Verified in concert with subsequent memory barriers patch to fix 'giving up on config rom' issues on multiple system and drive combinations that were previously affected. Signed-off-by: Jarod Wilson commit 5a8a1bcd15dfb9f177f3605fe6b9ba2bef2bf55a Author: Stefan Richter Date: Thu Jan 24 01:53:19 2008 +0100 firewire: fw-sbp2: use device generation, not card generation There was a small window where a login or reconnect job could use an already updated card generation with an outdated node ID. We have to use the fw_device.generation here, not the fw_card.generation, because the generation must never be newer than the node ID when we emit a transaction. This cannot be guaranteed with fw_card.generation. Furthermore, the target's and initiator's node IDs can be obtained from fw_device and fw_card. Dereferencing their underlying topology objects is not necessary. Signed-off-by: Stefan Richter Verified in concert with subsequent memory barriers patch to fix 'giving up on config rom' issues on multiple system and drive combinations that were previously affected. Signed-off-by: Jarod Wilson commit 14dc992aa782f8759c6d117d4322db62f62600ce Author: Stefan Richter Date: Sun Jan 20 01:25:31 2008 +0100 firewire: fw-sbp2: try to increase reconnect_hold (speed up reconnection) Ask the target to grant 4 seconds instead of the standard and minimum of 1 second window after bus reset for reconnection. This accelerates reconnection if there are more than one targets on the bus: If a login and inquiry to one target blocks the fw-sbp2 workqueue for more than 1s after bus reset, we now still can reconnect to the other target. Before that, fw-sbp2's reconnect attempts would be rejected with "error status: 0:9" (function rejected), and fw-sbp2 would finally re-login. All those futile reconnect attemps cost extra time until the target which needs re-login is ready for I/O again. The reconnect timeout field in the login ORB doesn't have to be honored by the target though. I found that we could get up to - allegedly 32768s from an old OXFW911 firmware - 256s from LSI bridges - 4s from OXUF922 and OXFW912 bridges, - 2s from TI bridges, - only the standard 1s from Initio and Prolific bridges and from Apple OpenFirmware in target mode. We just try to get 4 seconds which already covers the case of a few HDDs on the same bus quite nicely. A minor drawback occurs in the following (rare and impractical) border case: - two initiators are there, initiator 1 holds an exclusive login to a target, - initiator 1 goes off the bus, - target refuses login attempts from initiator 2 until reconnect_hold seconds after bus reset. An alternative approach to the issue at hand would be to parallelize fw-sbp2's reconnect and login work. Signed-off-by: Stefan Richter Acked-by: Jarod Wilson commit 4dccd020d7ca5e673d7804cc4ff80fbf58d8a37e Author: Stefan Richter Date: Sun Jan 20 01:24:26 2008 +0100 firewire: fw-sbp2: skip unnecessary logout Don't attempt to send a logout ORB if the target was already unplugged or had its link switched off. If two targets are attached, this enhances the chance to quickly reconnect to the remaining target when one target is plugged out. Signed-off-by: Stefan Richter Acked-by: Jarod Wilson commit f148e20cef696e30a370d4f7cb9aeb46273fdd6e Author: Stefan Richter Date: Sat Jan 12 12:32:44 2008 +0100 firewire vs. ieee1394: clarify MAINTAINERS Maintainers like to receive less mail, and submitters like to have to Cc less recipients. Signed-off-by: Stefan Richter commit fe5ca63430d640c3a922e5d7c6dd411ab6a2e077 Author: David Moore Date: Sun Jan 6 17:21:41 2008 -0500 firewire: fw-ohci: Dynamically allocate buffers for DMA descriptors Previously, the fw-ohci driver used fixed-length buffers for storing descriptors for isochronous receive DMA programs. If an application (such as libdc1394) generated a DMA program that was too large, fw-ohci would reach the limit of its fixed-sized buffer and return an error to userspace. This patch replaces the fixed-length ring-buffer with a linked-list of page-sized buffers. Additional buffers can be dynamically allocated and appended to the list when necessary. For a particular context, buffers are kept around after use and reused as necessary, so there is no allocation taking place after the DMA program is generated for the first time. In addition, the buffers it uses are coherent for DMA so there is no syncing required before and after writes. This syncing wasn't properly done in the previous version of the code. - This is the fourth version of my patch that replaces a fixed-length buffer for DMA descriptors with a dynamically allocated linked-list of buffers. As we discovered with the last attempt, new context programs are sometimes queued from interrupt context, making it unacceptable to call tasklet_disable() from context_get_descriptors(). This version of the patch uses ohci->lock for all locking needs instead of tasklet_disable/enable. There is a new requirement that context_get_descriptors() be called while holding ohci->lock. It was already held for the AT context, so adding the requirement for the iso context did not seem particularly onerous. In addition, this has the side benefit of allowing iso queue to be safely called from concurrent user-space threads, which previously was not safe. Signed-off-by: David Moore Signed-off-by: Kristian Høgsberg Signed-off-by: Jarod Wilson - Fixes the following issues: - Isochronous reception stopped prematurely if an application used a larger buffer. (Reproduced with coriander.) - Isochronous reception stopped after one or a few frames on VT630x in OHCI 1.0 mode. (Fixes reception in coriander, but dvgrab still doesn't work with these chips.) Patch update: struct member alignment, whitespace nits Signed-off-by: Stefan Richter commit bb9f2206b60ace29e49a057fbd9be86d79d86200 Author: Stefan Richter Date: Sat Dec 22 22:14:52 2007 +0100 firewire: fw-ohci: CycleTooLong interrupt management The firewire-ohci driver so far lacked the ability to resume cycle master duty after that condition happened, as added to ohci1394 in Linux 2.6.18 by commit 57fdb58fa5a140bdd52cf4c4ffc30df73676f0a5. This ports this patch to fw-ohci. The "cycle too long" condition has been seen in practice - with IIDC cameras if a mode with packets too large for a speed is chosen, - sporadically when capturing DV on a VIA VT6306 card with ohci1394/ ieee1394/ raw1394/ dvgrab 2. https://bugzilla.redhat.com/show_bug.cgi?id=415841#c7 (This does not fix Fedora bug 415841.) Signed-off-by: Stefan Richter commit 478b233eda81bfe41307512b8336fd688c6553e0 Author: Rabin Vincent Date: Fri Dec 21 23:02:15 2007 +0530 firewire: Fix extraction of source node id Fix extraction of the source node id from the packet header. Signed-off-by: Rabin Vincent Signed-off-by: Stefan Richter commit bcee893c6cba88badd292b636f33a8677c0dd962 Author: David Moore Date: Wed Dec 19 15:26:38 2007 -0500 firewire: fw-ohci: Bug fixes for packet-per-buffer support This patch corrects a number of bugs in the current OHCI 1.0 packet-per-buffer support: 1. Correctly deal with payloads that cross a page boundary. The previous version would not split the descriptor at such a boundary, potentially corrupting unrelated memory. 2. Allow user-space to specify multiple packets per struct fw_cdev_iso_packet in the same way that dual-buffer allows. This is signaled by header_length being a multiple of header_size. This multiple determines the number of packets. The payload size allocated per packet is determined by dividing the total payload size by the number of packets. 3. Make sync support work properly for packet-per-buffer. I have tested this patch with libdc1394 by forcing my OHCI 1.1 controller to use the packet-per-buffer support instead of dual-buffer. I would greatly appreciate testing by those who have a DV devices and other types of iso streamers to make sure I didn't cause any regressions. Stefan, with this patch, I'm hoping that libdc1394 will work with all your OHCI 1.0 controllers now. The one bit of future work that remains for packet-per-buffer support is the automatic compaction of short payloads that I discussed with Kristian. Signed-off-by: David Moore Signed-off-by: Stefan Richter commit 0642b6577f1d455ed99e2da4a4d9216a866d2449 Author: David Moore Date: Wed Dec 19 03:09:18 2007 -0500 firewire: fw-ohci: Fix for dualbuffer three-or-more buffers This patch fixes the problem where different OHCI 1.1 controllers behave differently when a received iso packet straddles three or more buffers when using the dual-buffer receive mode. Two changes are made in order to handle this situation: 1. The packet sync DMA descriptor is given a non-zero header length and non-zero payload length. This is because zero-payload descriptors are not discussed in the OHCI 1.1 specs and their behavior is thus undefined. Instead we use a header size just large enough for a single header and a payload length of 4 bytes for this first descriptor. 2. As we process received packets in the context's tasklet, read the packet length out of the headers. Keep track of the running total of the packet length as "excess_bytes", so we can ignore any descriptors where no packet starts or ends. These descriptors may not have had their first_res_count or second_res_count fields updated by the controller so we cannot rely on those values. The main drawback of this patch is that the excess_bytes value might get "out of sync" with the packet descriptors if something strange happens to the DMA program. I'm not if such a thing could ever happen, but I appreciate any suggestions in making it more robust. Also, the packet-per-buffer support may need a similar fix to deal with issue 1, but I haven't done any work on that yet. Stefan, I'm hoping that with this patch, all your OHCI 1.1 controllers will work properly with an unmodified version of libdc1394. Signed-off-by: David Moore Signed-off-by: Stefan Richter commit 4b11ea96a08a0f97a16edba55a615354c6d846b5 Author: Stefan Richter Date: Sun Dec 16 17:32:11 2007 +0100 firewire: fw-sbp2: remove unused misleading macro SBP2_MAX_SECTORS is nowhere used in fw-sbp2. It merely got copied over from sbp2 where it played a role in the past. Signed-off-by: Stefan Richter commit b7811da2d94d8e1f77015ec9afa4575ddc9981a4 Author: Stefan Richter Date: Tue Jan 15 21:10:50 2008 +0100 firewire: fw-sbp2: prepare for s/g chaining Signed-off-by: Stefan Richter commit 285838eb22ef0db77b464da70b7352cdbfffc939 Author: Stefan Richter Date: Wed Nov 7 01:12:51 2007 +0100 firewire: fw-sbp2: refactor workq and kref handling This somewhat reduces the size of firewire-sbp2.ko. Signed-off-by: Stefan Richter commit 85c5798b09e9248f29edbc42f10b99842661e85c Author: Stefan Richter Date: Sun Dec 16 20:53:13 2007 +0100 ieee1394: ohci1394: don't schedule IT tasklets on IR events Bug noted by Pieter Palmers: Isochronous transmit tasklets were scheduled on isochronous receive events, in addition to the proper isochronous receive tasklets. http://marc.info/?l=linux1394-devel&m=119783196222802 Signed-off-by: Stefan Richter commit 4e6343a10b6afb5b036db35c4a0f0aa1333232e1 Author: Stefan Richter Date: Sun Dec 16 17:31:26 2007 +0100 ieee1394: sbp2: raise default transfer size limit This patch speeds up sbp2 a little bit --- but more importantly, it brings the behavior of sbp2 and fw-sbp2 closer to each other. Like fw-sbp2, sbp2 now does not limit the size of single transfers to 255 sectors anymore, unless told so by a blacklist flag or by module load parameters. Only very old bridge chips have been known to need the 255 sectors limit, and we have got one such chip in our hardwired blacklist. There certainly is a danger that more bridges need that limit; but I prefer to have this issue present in both fw-sbp2 and sbp2 rather than just one of them. An OXUF922 with 400GB 7200RPM disk on an S400 controller is sped up by this patch from 22.9 to 23.5 MB/s according to hdparm. The same effect could be achieved before by setting a higher max_sectors module parameter. On buses which use 1394b beta mode, sbp2 and fw-sbp2 will now achieve virtually the same bandwidth. Fw-sbp2 only remains faster on 1394a buses due to fw-core's gap count optimization. Signed-off-by: Stefan Richter commit 3e75b493fbfad5d70831a2f7267c7cd8b8fec71f Author: Stefan Richter Date: Sat Dec 15 14:11:41 2007 +0100 ieee1394: remove unused code The code has been in "#if 0 - #endif" since Linux 2.6.12. Signed-off-by: Stefan Richter commit c7ea990f87f9fbe6a7183c03f7993b3360454834 Author: Stefan Richter Date: Sat Dec 15 14:04:42 2007 +0100 ieee1394: small cleanup after "nopage" Signed-off-by: Stefan Richter commit 61db81214bcef33a41325bdc436fb515b697fcdb Author: Nick Piggin Date: Wed Dec 5 18:15:53 2007 +1100 ieee1394: nopage Convert ieee1394 from nopage to fault. Remove redundant vma range checks (correct resource range check is retained). Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Stefan Richter commit a5c52df8bce65971b8db95149ebc1c5f1026af45 Author: Joe Perches Date: Mon Nov 19 17:48:10 2007 -0800 ieee1394: Add missing "space" Signed-off-by: Joe Perches Signed-off-by: Stefan Richter commit 825f1df545ab0289185373b0eaf06fb0b3487422 Author: Stefan Richter Date: Sun Nov 4 14:59:24 2007 +0100 ieee1394: sbp2: s/g list access cosmetics Replace sg->length by sg_dma_len(sg). Rename a variable for shorter line lengths and eliminate some superfluous local variables. Signed-off-by: Stefan Richter commit 8c4ac0949f7779cd4cc8c618f1b07e6113682010 Author: Stefan Richter Date: Tue Jan 15 21:11:28 2008 +0100 ieee1394: sbp2: prepare for s/g chaining Signed-off-by: Stefan Richter commit 203a512f0976e8ba85df36d76b40af6c80239121 Author: James Bottomley Date: Tue Jan 29 16:17:15 2008 -0500 [SCSI] Revert "[SCSI] aacraid: fib context lock for management ioctls" This reverts commit a119ee8ee3045bf559d4cf02d72b112f3de2a15b. Adaptec found this was causing system lockups. Signed-off-by: James Bottomley commit 40f620286dd08e29c995ca631f45e8d03f4fe1be Author: James Bottomley Date: Fri Jan 25 20:05:55 2008 -0600 [SCSI] bsg: copy the cmd_type field to the subordinate request for bidi This fixes a problem in SCSI where we use the (previously uninitialised) cmd_type via blk_pc_request() to set up the transfer in scsi_init_sgtable(). Acked-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 3d9dd6eef888658d26ebea0cc24d15d2a93ab015 Author: FUJITA Tomonori Date: Fri Jan 25 23:25:14 2008 +0900 [SCSI] handle scsi_init_queue failure properly scsi_init_queue is expected to clean up allocated things when it fails. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit b172b6e99e948b6abb180082cfeb8f9b1450ebff Author: FUJITA Tomonori Date: Fri Jan 25 23:25:13 2008 +0900 [SCSI] destroy scsi_bidi_sdb_cache in scsi_exit_queue Needs to call kmem_cache_destroy for scsi_bidi_sdb_cache in scsi_exit_queue. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit c639d14e2f70d086842d37fb8e4f5ab9bd56af2e Author: FUJITA Tomonori Date: Wed Jan 23 01:32:01 2008 +0900 [SCSI] scsi_debug: add XDWRITEREAD_10 support Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 072d0bb3ce3507ac6e101ca8ce0b94c5777c62ed Author: FUJITA Tomonori Date: Wed Jan 23 01:32:00 2008 +0900 [SCSI] scsi_debug: add bidi data transfer support This enables fill_from_dev_buffer and fetch_to_dev_buffer to handle bidi commands. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 3de9f944797177e405dcab05f12560a497c019bb Author: FUJITA Tomonori Date: Wed Jan 23 01:31:59 2008 +0900 [SCSI] scsi_debug: add get_data_transfer_info helper function This adds get_data_transfer_info helper function that get lha and sectors for READ_* and WRITE_* commands (and XDWRITEREAD_10 later). Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit d3f46f39b7092594b498abc12f0c73b0b9913bde Author: James Bottomley Date: Tue Jan 15 11:11:46 2008 -0600 [SCSI] remove use_sg_chaining With the sg table code, every SCSI driver is now either chain capable or broken (or has sg_tablesize set so chaining is never activated), so there's no need to have a check in the host template. Also tidy up the code by moving the scatterlist size defines into the SCSI includes and permit the last entry of the scatterlist pools not to be a power of two. Signed-off-by: James Bottomley commit b8de16318410f6f8611a879678a531237e4aadc9 Author: Kiyoshi Ueda Date: Fri Jan 18 12:02:15 2008 -0500 [SCSI] bidirectional: fix up for the new blk_end_request code Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: James Bottomley commit 6f9a35e2dafa0f855ab051c11bdbf739745ff6f5 Author: Boaz Harrosh Date: Thu Dec 13 13:50:53 2007 +0200 [SCSI] bidirectional command support At the block level bidi request uses req->next_rq pointer for a second bidi_read request. At Scsi-midlayer a second scsi_data_buffer structure is used for the bidi_read part. This bidi scsi_data_buffer is put on request->next_rq->special. Struct scsi_cmnd is not changed. - Define scsi_bidi_cmnd() to return true if it is a bidi request and a second sgtable was allocated. - Define scsi_in()/scsi_out() to return the in or out scsi_data_buffer from this command This API is to isolate users from the mechanics of bidi. - Define scsi_end_bidi_request() to do what scsi_end_request() does but for a bidi request. This is necessary because bidi commands are a bit tricky here. (See comments in body) - scsi_release_buffers() will also release the bidi_read scsi_data_buffer - scsi_io_completion() on bidi commands will now call scsi_end_bidi_request() and return. - The previous work done in scsi_init_io() is now done in a new scsi_init_sgtable() (which is 99% identical to old scsi_init_io()) The new scsi_init_io() will call the above twice if needed also for the bidi_read command. Only at this point is a command bidi. - In scsi_error.c at scsi_eh_prep/restore_cmnd() make sure bidi-lld is not confused by a get-sense command that looks like bidi. This is done by puting NULL at request->next_rq, and restoring. [jejb: update to sg_table and resolve conflicts also update to blk-end-request and resolve conflicts] Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 30b0c37b27485a9cb897bfe3824f6f517b8c80d6 Author: Boaz Harrosh Date: Thu Dec 13 13:47:40 2007 +0200 [SCSI] implement scsi_data_buffer In preparation for bidi we abstract all IO members of scsi_cmnd, that will need to duplicate, into a substructure. - Group all IO members of scsi_cmnd into a scsi_data_buffer structure. - Adjust accessors to new members. - scsi_{alloc,free}_sgtable receive a scsi_data_buffer instead of scsi_cmnd. And work on it. - Adjust scsi_init_io() and scsi_release_buffers() for above change. - Fix other parts of scsi_lib/scsi.c to members migration. Use accessors where appropriate. - fix Documentation about scsi_cmnd in scsi_host.h - scsi_error.c * Changed needed members of struct scsi_eh_save. * Careful considerations in scsi_eh_prep/restore_cmnd. - sd.c and sr.c * sd and sr would adjust IO size to align on device's block size so code needs to change once we move to scsi_data_buff implementation. * Convert code to use scsi_for_each_sg * Use data accessors where appropriate. - tgt: convert libsrp to use scsi_data_buffer - isd200: This driver still bangs on scsi_cmnd IO members, so need changing [jejb: rebased on top of sg_table patches fixed up conflicts and used the synergy to eliminate use_sg and sg_count] Signed-off-by: Boaz Harrosh Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit bb52d82f45df3a2661d88befba7c79a7db8be496 Author: Boaz Harrosh Date: Thu Dec 13 16:14:27 2007 -0800 [SCSI] tgt: use scsi_init_io instead of scsi_alloc_sgtable If we export scsi_init_io()/scsi_release_buffers() instead of scsi_{alloc,free}_sgtable() from scsi_lib than tgt code is much more insulated from scsi_lib changes. As a bonus it will also gain bidi capability when it comes. [jejb: rebase on to sg_table and fix up rejections] Signed-off-by: Boaz Harrosh Acked-by: FUJITA Tomonori Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 03e7925d0737d99086acee6263424dafa34e45ae Author: FUJITA Tomonori Date: Sun Jan 27 00:08:19 2008 +0900 [SCSI] aic7xxx: fix warnings with CONFIG_PM disabled CC [M] drivers/scsi/aic7xxx/aic7xxx_osm_pci.o drivers/scsi/aic7xxx/aic7xxx_osm_pci.c:148: warning: 'ahc_linux_pci_dev_suspend' defined but not used drivers/scsi/aic7xxx/aic7xxx_osm_pci.c:166: warning: 'ahc_linux_pci_dev_resume' defined but not used This moves aic7xxx_pci_driver struct, removes some forward declarations, and adds some ifdef CONFIG_PM. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 67eb63364ede1a16ea60b4de0dca64ca35868082 Author: FUJITA Tomonori Date: Sun Jan 27 00:08:18 2008 +0900 [SCSI] aic79xx: fix warnings with CONFIG_PM disabled CC [M] drivers/scsi/aic7xxx/aic79xx_osm_pci.o drivers/scsi/aic7xxx/aic79xx_osm_pci.c:101: warning: 'ahd_linux_pci_dev_suspend' defined but not used drivers/scsi/aic7xxx/aic79xx_osm_pci.c:121: warning: 'ahd_linux_pci_dev_resume' defined but not used This moves aic79xx_pci_driver struct, removes some forward declarations, and adds some ifdef CONFIG_PM. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 969ceffb6696ac361db9dbc33c83f855dbdb1528 Author: David Milburn Date: Fri Jan 25 12:16:18 2008 -0600 [SCSI] aic7xxx: fix ahc_done check SCB_ACTIVE for tagged transactions The driver only needs to check the SCB_ACTIVE flag if the SCB is not in the untagged queue. If the driver is in error recovery, you may end panic'ing on a TUR that is in the untagged queue. Attempting to queue an ABORT message CDB: 0x0 0x0 0x0 0x0 0x0 0x0 SCB 3 done'd twice This patch is included in Adaptec's 6.3.11 driver on their website. Signed-off-by: James Bottomley commit 2adbfa333ad2c365bd27f3cf21ae464501d9619d Author: Thomas Bogendoerfer Date: Sun Jan 27 00:25:53 2008 +0100 [SCSI] sgiwd93: use cached memory access to make driver work on IP28 SGI IP28 machines would need special treatment (enable adding addtional wait states) when accessing memory uncached. To avoid this pain I changed the driver to use only cached access to memory. Signed-off-by: Thomas Bogendoerfer Signed-off-by: James Bottomley commit 9d058ecfd444d247b7448e0ef44647514d91a4f2 Author: FUJITA Tomonori Date: Sun Jan 27 12:41:50 2008 +0900 [SCSI] zfcp: fix sense_buffer access bug The commit de25deb18016f66dcdede165d07654559bb332bc changed scsi_cmnd.sense_buffer from a static array to a dynamically allocated buffer. We can't access to sense_buffer in '&cmd->sense_buffer' way. Signed-off-by: FUJITA Tomonori Acked-by: Christof Schmitt Signed-off-by: James Bottomley commit 149d6bafc4f19784798cf5154bd1f5ff7e407194 Author: FUJITA Tomonori Date: Sun Jan 27 12:41:51 2008 +0900 [SCSI] ncr53c8xx: fix sense_buffer access bug The commit de25deb18016f66dcdede165d07654559bb332bc changed scsi_cmnd.sense_buffer from a static array to a dynamically allocated buffer. We can't access to sense_buffer in '&cmd->sense_buffer' way. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit c1c9ce52c8674a981af5104e16f3d63f76521563 Author: FUJITA Tomonori Date: Sun Jan 27 12:41:09 2008 +0900 [SCSI] aic79xx: fix sense_buffer access bug The commit de25deb18016f66dcdede165d07654559bb332bc changed scsi_cmnd.sense_buffer from a static array to a dynamically allocated buffer. We can't access to sense_buffer in '&cmd->sense_buffer' way. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit c372f4a82fa3d98e2641664ed79e48dddef48097 Author: FUJITA Tomonori Date: Sun Jan 27 10:22:26 2008 +0900 [SCSI] hptiop: fix sense_buffer access bug &cmnd->sense_buffer now zeroes the wrong thing. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit de15c2017ccbc88c43403a52dd90376d577ef637 Author: Nathan Lynch Date: Sat Jan 26 16:07:30 2008 -0600 [SCSI] sym53c8xx: fix bad memset argument in sym_set_cam_result_error On a big powerpc box I got the following oops with 2.6.24-git2: sym0: <1010-66> rev 0x1 at pci 0000:d0:01.0 irq 215 sym0: No NVRAM, ID 7, Fast-80, LVD, parity checking sym0: SCSI BUS has been reset. scsi0 : sym-2.2.3 target0:0:8: FAST-40 WIDE SCSI 80.0 MB/s ST (25 ns, offset 31) scsi 0:0:8:0: Direct-Access IBM ST318305LC C509 PQ: 0 ANSI: 3 target0:0:8: tagged command queuing enabled, command queue depth 16. target0:0:8: Beginning Domain Validation target0:0:8: asynchronous target0:0:8: wide asynchronous target0:0:8: FAST-80 WIDE SCSI 160.0 MB/s DT (12.5 ns, offset 31) target0:0:8: FAST-80 WIDE SCSI 160.0 MB/s DT (12.5 ns, offset 31) Unable to handle kernel paging request for data at address 0x00000000 Faulting instruction address: 0xc000000000038460 cpu 0x25: Vector: 300 (Data Access) at [c00000000f567840] pc: c000000000038460: .memcpy+0x60/0x280 lr: d000000000050280: .sym_set_cam_result_error+0xfc/0x1e0 [sym53c8xx] sp: c00000000f567ac0 msr: 8000000000009032 dar: 0 dsisr: 42000000 current = 0xc000006d1e0af0a0 paca = 0xc0000000004afc00 pid = 0, comm = swapper enter ? for help [link register ] d000000000050280 .sym_set_cam_result_error+0xfc/0x1e0 [sym53c8xx] [c00000000f567ac0] c00000000f567b80 (unreliable) [c00000000f567b80] d0000000000552b8 .sym_complete_error+0x12c/0x1bc [sym53c8xx] [c00000000f567c20] d0000000000561a4 .sym_int_sir+0xaa4/0x1718 [sym53c8xx] [c00000000f567d00] d000000000057e8c .sym_interrupt+0x4e4/0x6ec [sym53c8xx] [c00000000f567dc0] d00000000004fdf4 .sym53c8xx_intr+0x6c/0xdc [sym53c8xx] [c00000000f567e50] c0000000000a83e0 .handle_IRQ_event+0x7c/0xec [c00000000f567ef0] c0000000000aa344 .handle_fasteoi_irq+0x130/0x1f0 [c00000000f567f90] c00000000002a538 .call_handle_irq+0x1c/0x2c [c000004d5e0b3a90] c00000000000c320 .do_IRQ+0x108/0x1d0 [c000004d5e0b3b20] c000000000004790 hardware_interrupt_entry+0x18/0x1c The memset() in sym_set_cam_result_error() would appear to be trashing the scsi_cmnd struct instead of clearing sense_buffer. Signed-off-by: Nathan Lynch Signed-off-by: James Bottomley commit 0fe410d3f3b1496190f37ef74cd089229cef97fa Author: Denis Cheng Date: Tue Jan 29 13:50:16 2008 +0800 dlm: static initialization improvements also change name_prefix from char pointer to char array. Signed-off-by: Denis Cheng Signed-off-by: David Teigland commit dbcfc34733d1ae37e7a78c9e4e5325451223a5eb Author: David Teigland Date: Tue Jan 29 14:52:10 2008 -0600 dlm: clean ups A couple small clean-ups. Remove unnecessary wrapper-functions in rcom.c, and remove unnecessary casting and an unnecessary ASSERT in util.c. Signed-off-by: David Teigland commit 2a79289e87f3b6487b5fd23c8569f32097057fb4 Author: Patrick Caulfeld Date: Thu Jan 17 10:25:28 2008 +0000 dlm: Sanity check namelen before copying it The 32/64 compatibility code in the DLM does not check the validity of the lock name length passed into it, so it can easily overwrite memory if the value is rubbish (as early versions of libdlm can cause with unlock calls, it doesn't zero the field). This patch restricts the length of the name to the amount of data actually passed into the call. Signed-off-by: Patrick Caulfield Signed-off-by: David Teigland commit 85f0379aa0f9366bb6918e2e898a915231176fbd Author: David Teigland Date: Wed Jan 16 13:02:31 2008 -0600 dlm: keep cached master rsbs during recovery To prevent the master of an rsb from changing rapidly, an unused rsb is kept on the "toss list" for a period of time to be reused. The toss list was being cleared completely for each recovery, which is unnecessary. Much of the benefit of the toss list can be maintained if nodes keep rsb's in their toss list that they are the master of. These rsb's need to be included when the resource directory is rebuilt during recovery. Signed-off-by: David Teigland commit 594199ebaae5d77f025974dfcfa6651cc81325a8 Author: David Teigland Date: Wed Jan 16 11:03:41 2008 -0600 dlm: change error message to debug The invalid lockspace messages are normal and can appear relatively often. They should be suppressed without debugging enabled. Signed-off-by: David Teigland commit ce5246b972f7514af899a63c0faf831d05ed5ee1 Author: David Teigland Date: Mon Jan 14 15:48:58 2008 -0600 dlm: fix possible use-after-free The dlm_put_lkb() can free the lkb and its associated ua structure, so we can't depend on using the ua struct after the put. Signed-off-by: David Teigland commit 755b5eb8bac90b35dc901465a06081aaad94e9ae Author: David Teigland Date: Wed Jan 9 10:37:39 2008 -0600 dlm: limit dir lookup loop In a rare case we may need to repeat a local resource directory lookup due to a race with removing the rsb and removing the resdir record. We'll never need to do more than a single additional lookup, though, so the infinite loop around the lookup can be removed. In addition to being unnecessary, the infinite loop is dangerous since some other unknown condition may appear causing the loop to never break. Signed-off-by: David Teigland commit 42dc1601a9a31e8da767a4a9c37bad844b3698ab Author: David Teigland Date: Wed Jan 9 10:30:45 2008 -0600 dlm: reject normal unlock when lock is waiting for lookup Non-forced unlocks should be rejected if the lock is waiting on the rsb_lookup list for another lock to establish the master node. Signed-off-by: David Teigland commit c54e04b00fe027da30ada5af76b6749772dd644a Author: David Teigland Date: Wed Jan 9 09:59:41 2008 -0600 dlm: validate messages before processing There was some hit and miss validation of messages that has now been cleaned up and unified. Before processing a message, the new validate_message() function checks that the lkb is the appropriate type, process-copy or master-copy, and that the message is from the correct nodeid for the the given lkb. Other checks and assertions on the lkb type and nodeid have been removed. The assertions were particularly bad since they would panic the machine instead of just ignoring the bad message. Although other recent patches have made processing old message unlikely, it still may be possible for an old message to be processed and caught by these checks. Signed-off-by: David Teigland commit 46b43eed7018bab3a4e8c259eed27697b9170cb8 Author: David Teigland Date: Tue Jan 8 16:24:00 2008 -0600 dlm: reject messages from non-members Messages from nodes that are no longer members of the lockspace should be ignored. When nodes are removed from the lockspace, recovery can sometimes complete quickly enough that messages arrive from a removed node after recovery has completed. When processed, these messages would often cause an error message, and could in some cases change some state, causing problems. Signed-off-by: David Teigland commit aec64e1be2225c6fc64499594d23257c6adf6168 Author: David Teigland Date: Tue Jan 8 15:37:47 2008 -0600 dlm: another call to confirm_master in receive_request_reply When a failed request (EBADR or ENOTBLK) is unlocked/canceled instead of retried, there may be other lkb's waiting on the rsb_lookup list for it to complete. A call to confirm_master() is needed to move on to the next waiting lkb since the current one won't be retried. Signed-off-by: David Teigland commit 601342ce022b964f756b67f2eb99b605c1afa3ed Author: David Teigland Date: Mon Jan 7 16:15:05 2008 -0600 dlm: recover locks waiting for overlap replies When recovery looks at locks waiting for replies, it fails to consider locks that have already received a reply for their first remote operation, but not received a reply for secondary, overlapping unlock/cancel. The appropriate stub reply needs to be called for these waiters. Appears when we start doing recovery in the presence of a many overlapping unlock/cancel ops. Signed-off-by: David Teigland commit 8a358ca8e738b6226b004efea462ac28c0a2bbb1 Author: David Teigland Date: Mon Jan 7 15:55:18 2008 -0600 dlm: clear ast_type when removing from astqueue The lkb_ast_type field indicates whether the lkb is on the astqueue list. When clearing locks for a process, lkb's were being removed from the astqueue list without clearing the field. If release_lockspace then happened immediately afterward, it could try to remove the lkb from the list a second time. Appears when process calls libdlm dlm_release_lockspace() which first closes the ls dev triggering clear_proc_locks, and then removes the ls (a write to control dev) causing release_lockspace(). Signed-off-by: David Teigland commit 861e2369e9e7e003677f99f22c4d1f05d3ed66d3 Author: David Teigland Date: Tue Jan 15 15:43:24 2008 -0600 dlm: use fixed errno values in messages Some errno values differ across platforms. So if we return things like -EINPROGRESS from one node it can get misinterpreted or rejected on another one. This patch fixes up the errno values passed on the wire so that they match the x86 ones (so as not to break the protocol), and re-instates the platform-specific ones at the other end. Many thanks to Fabio for testing this patch. Initial patch from Patrick. Signed-off-by: Patrick Caulfield Signed-off-by: Fabio M. Di Nitto Signed-off-by: David Teigland commit 550283e30ccec5ddab9749a77b0022ebcaf0f3af Author: Fabio M. Di Nitto Date: Tue Jan 15 15:13:36 2008 -0600 dlm: swap bytes for rcom lock reply DLM_RCOM_LOCK_REPLY messages need byte swapping. Signed-off-by: Fabio M. Di Nitto Signed-off-by: David Teigland commit e7847d35ac39fe92c94540e88ac3d0e177f52d9e Author: Fabio M. Di Nitto Date: Wed Jan 30 10:56:42 2008 -0600 dlm: align midcomms message buffer gcc does not guarantee that an auto buffer is 64bit aligned. This change allows sparc64 to work. Signed-off-by: Fabio M. Di Nitto Signed-off-by: David Teigland commit 2f52d58c92d971bf421f461ad06eb93fb4f34981 Author: Avi Kivity Date: Wed Jan 16 12:49:30 2008 +0200 KVM: Move apic timer migration away from critical section Migrating the apic timer in the critical section is not very nice, and is absolutely horrible with the real-time port. Move migration to the regular vcpu execution path, triggered by a new bitflag. Cc: Thomas Gleixner Signed-off-by: Avi Kivity commit a03d7f4b544f699bbdd3cf14692bd8f476cb9d24 Author: Glauber de Oliveira Costa Date: Tue Jan 15 13:10:15 2008 -0200 KVM: Put kvm_para.h include outside __KERNEL__ kvm_para.h potentially contains definitions that are to be used by userspace, so it should not be included inside the __KERNEL__ block. To protect its own data structures, kvm_para.h already includes its own __KERNEL__ block. Signed-off-by: Glauber de Oliveira Costa Acked-by: Amit Shah Signed-off-by: Avi Kivity commit 6c14280125a374d4c279a68276f97245e03e3f68 Author: Avi Kivity Date: Tue Jan 15 18:27:32 2008 +0200 KVM: Fix unbounded preemption latency When preparing to enter the guest, if an interrupt comes in while preemption is disabled but interrupts are still enabled, we miss a preemption point. Fix by explicitly checking whether we need to reschedule. Signed-off-by: Thomas Gleixner Signed-off-by: Avi Kivity commit 97db56ce6cc2a0766b536cc227a1da20acc5d82f Author: Avi Kivity Date: Sun Jan 13 13:23:56 2008 +0200 KVM: Initialize the mmu caches only after verifying cpu support Otherwise we re-initialize the mmu caches, which will fail since the caches are already registered, which will cause us to deinitialize said caches. Signed-off-by: Avi Kivity commit 75e68e607896c84310dee37c783c45220e56ce8c Author: Izik Eidus Date: Sat Jan 12 23:49:09 2008 +0200 KVM: MMU: Fix dirty page setting for pages removed from rmap Right now rmap_remove won't set the page as dirty if the shadow pte pointed to this page had write access and then it became readonly. This patches fixes that, by setting the page as dirty for spte changes from write to readonly access. Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit 6f723c7911e7827091586ae63f4040874eeb75e5 Author: Christian Ehrhardt Date: Tue Jan 8 08:04:50 2008 +0100 KVM: Portability: Move kvm_fpu to asm-x86/kvm.h This patch moves kvm_fpu asm-x86/kvm.h to allow every architecture to define an own representation used for KVM_GET_FPU/KVM_SET_FPU. Signed-off-by: Christian Ehrhardt Acked-by: Carsten Otte Acked-by: Zhang Xiantao Signed-off-by: Avi Kivity commit 571008daccc17c03ccec810922c2bcaed86b15c1 Author: Sheng Yang Date: Wed Jan 2 14:49:22 2008 +0800 KVM: x86 emulator: Only allow VMCALL/VMMCALL trapped by #UD When executing a test program called "crashme", we found the KVM guest cannot survive more than ten seconds, then encounterd kernel panic. The basic concept of "crashme" is generating random assembly code and trying to execute it. After some fixes on emulator insn validity judgment, we found it's hard to get the current emulator handle the invalid instructions correctly, for the #UD trap for hypercall patching caused troubles. The problem is, if the opcode itself was OK, but combination of opcode and modrm_reg was invalid, and one operand of the opcode was memory (SrcMem or DstMem), the emulator will fetch the memory operand first rather than checking the validity, and may encounter an error there. For example, ".byte 0xfe, 0x34, 0xcd" has this problem. In the patch, we simply check that if the invalid opcode wasn't vmcall/vmmcall, then return from emulate_instruction() and inject a #UD to guest. With the patch, the guest had been running for more than 12 hours. Signed-off-by: Feng (Eric) Liu Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 5882842f9b86179e1fe2e17e35e0e46a268d04e4 Author: Dong, Eddie Date: Wed Jan 2 14:29:08 2008 +0800 KVM: MMU: Merge shadow level check in FNAME(fetch) Remove the redundant level check when fetching shadow pte for present & non-present spte. Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Avi Kivity commit eb787d10af8045dd00d4d4c9a8e90fa495f1b0c1 Author: Avi Kivity Date: Mon Dec 31 15:27:49 2007 +0200 KVM: MMU: Move kvm_free_some_pages() into critical section If some other cpu steals mmu pages between our check and an attempt to allocate, we can run out of mmu pages. Fix by moving the check into the same critical section as the allocation. Signed-off-by: Avi Kivity commit aaee2c94f7a1f7726e360a6cfb40173bd552bcff Author: Marcelo Tosatti Date: Thu Dec 20 19:18:26 2007 -0500 KVM: MMU: Switch to mmu spinlock Convert the synchronization of the shadow handling to a separate mmu_lock spinlock. Also guard fetch() by mmap_sem in read-mode to protect against alias and memslot changes. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit d7824fff896a1698a07a8046dc362f4500c302f7 Author: Avi Kivity Date: Sun Dec 30 12:29:05 2007 +0200 KVM: MMU: Avoid calling gfn_to_page() in mmu_set_spte() Since gfn_to_page() is a sleeping function, and we want to make the core mmu spinlocked, we need to pass the page from the walker context (which can sleep) to the shadow context (which cannot). [marcelo: avoid recursive locking of mmap_sem] Signed-off-by: Avi Kivity commit 7ec54588210df29ea637e6054489bc942c0ef371 Author: Marcelo Tosatti Date: Thu Dec 20 19:18:23 2007 -0500 KVM: Add kvm_read_guest_atomic() In preparation for a mmu spinlock, add kvm_read_guest_atomic() and use it in fetch() and prefetch_page(). Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 10589a4699bb978c781ce73bbae8ca942c5250c9 Author: Marcelo Tosatti Date: Thu Dec 20 19:18:22 2007 -0500 KVM: MMU: Concurrent guest walkers Do not hold kvm->lock mutex across the entire pagefault code, only acquire it in places where it is necessary, such as mmu hash list, active list, rmap and parent pte handling. Allow concurrent guest walkers by switching walk_addr() to use mmap_sem in read-mode. And get rid of the lockless __gfn_to_page. [avi: move kvm_mmu_pte_write() locking inside the function] [avi: add locking for real mode] [avi: fix cmpxchg locking] Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 774ead3ad9bcbc05ef6aaebb9bdf8b4c3126923b Author: Avi Kivity Date: Wed Dec 26 13:57:04 2007 +0200 KVM: Disable vapic support on Intel machines with FlexPriority FlexPriority accelerates the tpr without any patching. Signed-off-by: Avi Kivity commit b93463aa59d67b21b4921e30bd5c5dcc7c35ffbd Author: Avi Kivity Date: Thu Oct 25 16:52:32 2007 +0200 KVM: Accelerated apic support This adds a mechanism for exposing the virtual apic tpr to the guest, and a protocol for letting the guest update the tpr without causing a vmexit if conditions allow (e.g. there is no interrupt pending with a higher priority than the new tpr). Signed-off-by: Avi Kivity commit b209749f528488c4c0d20a42c0fbcbf49e6933b3 Author: Avi Kivity Date: Mon Oct 22 16:50:39 2007 +0200 KVM: local APIC TPR access reporting facility Add a facility to report on accesses to the local apic tpr even if the local apic is emulated in the kernel. This is basically a hack that allows userspace to patch Windows which tends to bang on the tpr a lot. Signed-off-by: Avi Kivity commit 565f1fbd9d2f766dcfed5db90b89ef80afe8b49a Author: Avi Kivity Date: Wed Dec 19 12:02:40 2007 +0200 KVM: Print data for unimplemented wrmsr This can help diagnosing what the guest is trying to do. In many cases we can get away with partial emulation of msrs. Signed-off-by: Avi Kivity commit dfc5aa00cbe888d3a9ea97775bbac74cb1c1a1d8 Author: Avi Kivity Date: Tue Dec 18 19:47:18 2007 +0200 KVM: MMU: Add cache miss statistic Signed-off-by: Avi Kivity commit caa5b8a5ed27708521e0667649699fea202043b2 Author: Eddie Dong Date: Tue Dec 18 06:08:27 2007 +0800 KVM: MMU: Coalesce remote tlb flushes Host side TLB flush can be merged together if multiple spte need to be write-protected. Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Avi Kivity commit ec10f4750db5e810cafef114a592428f8242b640 Author: Zhang Xiantao Date: Mon Dec 17 20:27:27 2007 +0800 KVM: Expose ioapic to ia64 save/restore APIs IA64 also needs to see ioapic structure in irqchip. Signed-off-by: xiantao.zhang@intel.com Signed-off-by: Avi Kivity commit 5736199afba8a8bb60a1ea282ab72857d6b16400 Author: Zhang Xiantao Date: Mon Dec 17 14:21:40 2007 +0800 KVM: Move kvm_vcpu_kick() to x86.c Moving kvm_vcpu_kick() to x86.c. Since it should be common for all archs, put its declarations in Signed-off-by: Zhang Xiantao Signed-off-by: Avi Kivity commit 0eb8f4984824b8a811d44963995133f47813330a Author: Zhang Xiantao Date: Mon Dec 17 14:16:14 2007 +0800 KVM: Move ioapic code to common directory. Move ioapic code to common, since IA64 also needs it. Signed-off-by: Zhang Xiantao Signed-off-by: Avi Kivity commit 82470196fa346f50ab4071935597017de33c9ee3 Author: Zhang Xiantao Date: Mon Dec 17 13:59:56 2007 +0800 KVM: Move irqchip declarations into new ioapic.h and lapic.h This allows reuse of ioapic in ia64. Signed-off-by: Zhang Xiantao Signed-off-by: Avi Kivity commit 0fce5623ba248d3af0d7fb719d5ac367cc9d5192 Author: Avi Kivity Date: Sun Dec 16 11:13:16 2007 +0200 KVM: Move drivers/kvm/* to virt/kvm/ Signed-off-by: Avi Kivity commit edf884172e9828c6234b254208af04655855038d Author: Avi Kivity Date: Sun Dec 16 11:02:48 2007 +0200 KVM: Move arch dependent files to new directory arch/x86/kvm/ This paves the way for multiple architecture support. Note that while ioapic.c could potentially be shared with ia64, it is also moved. Signed-off-by: Avi Kivity commit 9584bf2c93f56656dba0de8f6c75b54ca7995143 Author: Ryan Harper Date: Thu Dec 13 10:21:10 2007 -0600 KVM: VMX: Add printk_ratelimit in vmx_intr_assist Add printk_ratelimit check in front of printk. This prevents spamming of the message during 32-bit ubuntu 6.06server install. Previously, it would hang during the partition formatting stage. Signed-off-by: Ryan Harper Signed-off-by: Avi Kivity commit 0711456c0d78335d24e4f92aa40d32c78fd44aa8 Author: Zhang Xiantao Date: Fri Dec 14 10:23:23 2007 +0800 KVM: Portability: Move kvm_vm_stat to x86.h This patch moves kvm_vm_stat to x86.h, and every arch can define its own kvm_vm_stat in $arch.h Signed-off-by: Zhang Xiantao Acked-by: Carsten Otte Signed-off-by: Avi Kivity commit bfc6d222bdb1123d12c1193bcd7c755e6617b405 Author: Zhang Xiantao Date: Fri Dec 14 10:20:16 2007 +0800 KVM: Portability: Move round_robin_prev_vcpu and tss_addr to kvm_arch This patches moves two fields round_robin_prev_vcpu and tss to kvm_arch. Signed-off-by: Zhang Xiantao Acked-by: Carsten Otte Signed-off-by: Avi Kivity commit d7deeeb02cf73fd98cb71a6a0a5dffab9ef79556 Author: Zhang Xiantao Date: Fri Dec 14 10:17:34 2007 +0800 KVM: Portability: move vpic and vioapic to kvm_arch This patches moves two fields vpid and vioapic to kvm_arch Signed-off-by: Zhang Xiantao Acked-by: Carsten Otte Signed-off-by: Avi Kivity commit f05e70ac03a6614af12194a014b338ec5594cb5c Author: Zhang Xiantao Date: Fri Dec 14 10:01:48 2007 +0800 KVM: Portability: Move mmu-related fields to kvm_arch This patches moves mmu-related fields to kvm_arch. Signed-off-by: Zhang Xiantao Acked-by: Carsten Otte Signed-off-by: Avi Kivity commit d69fb81f0554fb980e4b1d3db4e44351c2c4a4a2 Author: Zhang Xiantao Date: Fri Dec 14 09:54:20 2007 +0800 KVM: Portability: Move memslot aliases to new struct kvm_arch This patches create kvm_arch to hold arch-specific kvm fileds and moves fields naliases and aliases to kvm_arch. Signed-off-by: Zhang Xiantao Acked-by: Carsten Otte Signed-off-by: Avi Kivity commit 77b4c255af34e73ea1efd1c3384bbe91361c81e6 Author: Zhang Xiantao Date: Fri Dec 14 09:49:26 2007 +0800 KVM: Portability: Move kvm_vcpu_stat to x86.h This patches moves kvm_vcpu_stat to x86.h, so every arch can define its own kvm_vcpu_stat structure. Signed-off-by: Zhang Xiantao Acked-by: Carsten Otte Signed-off-by: Avi Kivity commit d17fbbf7384d3b639f3c3299b5248ec4c4404556 Author: Zhang Xiantao Date: Fri Dec 14 09:45:31 2007 +0800 KVM: Portability: Expand the KVM_VCPU_COMM in kvm_vcpu structure. This patches removes KVM_COMM macro, original it is hold kvm_vcpu common fields. Signed-off-by: Zhang Xiantao Acked-by: Carsten Otte Signed-off-by: Avi Kivity commit d657a98e3c20537d8b4d44aef51cf4311d96f2b0 Author: Zhang Xiantao Date: Fri Dec 14 09:41:22 2007 +0800 KVM: Portability: Move kvm_vcpu definition back to kvm.h This patches moves kvm_vcpu definition to kvm.h, and finally kvm.h includes x86.h. Signed-off-by: Zhang Xiantao Acked-by: Carsten Otte Signed-off-by: Avi Kivity commit 1d737c8a68736db36e0aa502ace9da240704c5ae Author: Zhang Xiantao Date: Fri Dec 14 09:35:10 2007 +0800 KVM: Portability: Split mmu-related static inline functions to mmu.h Since these functions need to know the details of kvm or kvm_vcpu structure, it can't be put in x86.h. Create mmu.h to hold them. Signed-off-by: Zhang Xiantao Acked-by: Carsten Otte Signed-off-by: Avi Kivity commit ad312c7c79f781c822e37effe41307503a2bb85b Author: Zhang Xiantao Date: Thu Dec 13 23:50:52 2007 +0800 KVM: Portability: Introduce kvm_vcpu_arch Move all the architecture-specific fields in kvm_vcpu into a new struct kvm_vcpu_arch. Signed-off-by: Zhang Xiantao Acked-by: Carsten Otte Signed-off-by: Avi Kivity commit 682c59a3f3f211ed555b17144f2d82eb8286a1db Author: Zhang Xiantao Date: Tue Dec 11 20:36:00 2007 +0800 KVM: Portability: Move kvm{pic,ioapic} accesors to x86 specific code Signed-off-by: Zhang Xiantao Signed-off-by: Avi Kivity commit 2bacc55c7c3c61e356aef06b9a319b4cee90b519 Author: Marcelo Tosatti Date: Wed Dec 12 10:46:12 2007 -0500 KVM: MMU: emulated cmpxchg8b should be atomic on i386 Emulate cmpxchg8b atomically on i386. This is required to avoid a guest pte walker from seeing a splitted write. [avi: make it compile] Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 62b9abaaf8423a3a38b938831b3b8431a6607ad8 Author: Joerg Roedel Date: Tue Dec 11 15:36:57 2007 +0100 KVM: SVM: support writing 0 to K8 performance counter control registers This lets SVM ignore writes of the value 0 to the performance counter control registers. Thus enabling them will still fail in the guest, but a write of 0 which keeps them disabled is accepted. This is required to boot Windows Vista 64bit. [avi: avoid fall-thru in switch statement] Signed-off-by: Joerg Roedel Signed-off-by: Markus Rechberger Signed-off-by: Avi Kivity commit 722f6ecbcf3e53809236b36e6dfd9042924a2d51 Author: Joerg Roedel Date: Wed Dec 12 12:37:24 2007 +0100 KVM: LAPIC: minor debugging compile fix This patch fixes a compile error of the LAPIC code with APIC debugging enabled. Signed-off-by: Joerg Roedel Signed-off-by: Markus Rechberger Signed-off-by: Avi Kivity commit 7819026eefee53eaaac3fdce1a2f157c7ea943fe Author: Marcelo Tosatti Date: Tue Dec 11 19:12:27 2007 -0500 KVM: MMU: Fix SMP shadow instantiation race There is a race where VCPU0 is shadowing a pagetable entry while VCPU1 is updating it, which results in a stale shadow copy. Fix that by comparing the contents of the cached guest pte with the current guest pte after write-protecting the guest pagetable. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 1d075434149c38d457c30d1f11d9c39210b0bb79 Author: Joerg Roedel Date: Thu Dec 6 21:02:25 2007 +0100 KVM: SVM: Exit to userspace if write to cr8 and not using in-kernel apic With this patch KVM on SVM will exit to userspace if the guest writes to CR8 and the in-kernel APIC is disabled. Signed-off-by: Joerg Roedel Signed-off-by: Markus Rechberger Signed-off-by: Avi Kivity commit e833240f3c1b0b415efb14eaa102718769d5f063 Author: Avi Kivity Date: Sun Dec 9 18:43:00 2007 +0200 KVM: MMU: Use mmu_set_spte() for real-mode shadows In addition to removing some duplicated code, this also handles the unlikely case of real-mode code updating a guest page table. This can happen when one vcpu (in real mode) touches a second vcpu's (in protected mode) page tables, or if a vcpu switches to real mode, touches page tables, and switches back. Signed-off-by: Avi Kivity commit bc750ba860d978fcaac1e0db28774b1f38ae8193 Author: Avi Kivity Date: Sun Dec 9 18:39:41 2007 +0200 KVM: MMU: Adjust mmu_set_spte() debug code for gpte removal Signed-off-by: Avi Kivity commit 1c4f1fd6d5692614e8dc75ee53f7be590f1e878b Author: Avi Kivity Date: Sun Dec 9 17:40:31 2007 +0200 KVM: MMU: Move set_pte() into guest paging mode independent code As set_pte() no longer references either a gpte or the guest walker, we can move it out of paging mode dependent code (which compiles twice and is generally nasty). Signed-off-by: Avi Kivity commit 2fbf4cf13f777e1f61ee692fe67d16bddd747700 Author: Avi Kivity Date: Sun Dec 9 17:33:46 2007 +0200 KVM: MMU: Remove walker argument to set_pte() Unused. Signed-off-by: Avi Kivity commit e3f955042219a595b1c3208e12c20860f23f72fb Author: Avi Kivity Date: Sun Dec 9 17:32:30 2007 +0200 KVM: MMU: Pass pte dirty flag to set_pte() instead of calculating it on-site This allows us to remove its dependency on pt_element_t. Signed-off-by: Avi Kivity commit b4ab019ce71efe30790b5aaa396549a16bb20608 Author: Avi Kivity Date: Sun Dec 9 17:27:52 2007 +0200 KVM: MMU: No need to pick up nx bit from guest pte We already set it according to cumulative access permissions. Signed-off-by: Avi Kivity commit 41074d07c78b086b18fc2af590caef05dbcca568 Author: Avi Kivity Date: Sun Dec 9 17:00:02 2007 +0200 KVM: MMU: Fix inherited permissions for emulated guest pte updates When we emulate a guest pte write, we fail to apply the correct inherited permissions from the parent ptes. Now that we store inherited permissions in the shadow page, we can use that to update the pte permissions correctly. Signed-off-by: Avi Kivity commit bedbe4ee86195dcd899577828714cc1413beb571 Author: Avi Kivity Date: Sun Dec 9 16:52:56 2007 +0200 KVM: MMU: Move pte access calculation into a helper function Signed-off-by: Avi Kivity commit 8d87a03aea43535a92efbb180e0ceac94d4bb5db Author: Avi Kivity Date: Sun Dec 9 16:37:36 2007 +0200 KVM: MMU: Set nx bit correctly on shadow ptes While the page table walker correctly generates a guest page fault if a guest tries to execute a non-executable page, the shadow code does not mark it non-executable. This means that if a guest accesses an nx page first with a read access, then subsequent code fetch accesses will succeed. Fix by setting the nx bit on shadow ptes. Signed-off-by: Avi Kivity commit fe135d2ceb3d7dc08151b3cbad96565d02cc8676 Author: Avi Kivity Date: Sun Dec 9 16:15:46 2007 +0200 KVM: MMU: Simplify calculation of pte access The nx bit is awkwardly placed in the 63rd bit position; furthermore it has a reversed meaning compared to the other bits, which means we can't use a bitwise and to calculate compounded access masks. So, we simplify things by creating a new 3-bit exec/write/user access word, and doing all calculations in that. Signed-off-by: Avi Kivity commit b3e4e63fd9ee8cd5d9047b89e0d463d5c48ee5b5 Author: Marcelo Tosatti Date: Fri Dec 7 07:56:58 2007 -0500 KVM: MMU: Use cmpxchg for pte updates on walk_addr() In preparation for multi-threaded guest pte walking, use cmpxchg() when updating guest pte's. This guarantees that the assignment of the dirty bit can't be lost if two CPU's are faulting the same address simultaneously. [avi: fix kunmap_atomic() parameters] Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 80a8119ca3f021037b8513d39dbb0ffd1af86b20 Author: Avi Kivity Date: Thu Dec 6 19:50:00 2007 +0200 KVM: SVM: Trap access to the cr8 register Later we may be able to use the virtual tpr feature, but for now, just trap it. Signed-off-by: Avi Kivity commit 6e3d5dfbad4d8c29bdf8ed160f91f955f0efc12b Author: Avi Kivity Date: Thu Dec 6 18:14:14 2007 +0200 KVM: x86 emulator: Fix stack instructions on 64-bit mode Stack instructions are always 64-bit on 64-bit mode; many of the emulated stack instructions did not take that into account. Fix by adding a 'Stack' bitflag and setting the operand size appropriately during the decode stage (except for 'push r/m', which is in a group with a few other instructions, so it gets its own treatment). This fixes random crashes on Vista x64. Signed-off-by: Avi Kivity commit 152ff9be2ed11e76ed3014b94eacdd6bc9275518 Author: Joerg Roedel Date: Thu Dec 6 15:46:52 2007 +0100 KVM: SVM: Emulate read/write access to cr8 This patch adds code to emulate the access to the cr8 register to the x86 instruction emulator in kvm. This is needed on svm, where there is no hardware decode for control register access. Signed-off-by: Joerg Roedel Signed-off-by: Markus Rechberger Signed-off-by: Avi Kivity commit e5314067f6a77688a3d36548e7618430ce4a6236 Author: Avi Kivity Date: Thu Dec 6 16:32:45 2007 +0200 KVM: VMX: Avoid exit when setting cr8 if the local apic is in the kernel With apic in userspace, we must exit to userspace after a cr8 write in order to update the tpr. But if the apic is in the kernel, the exit is unnecessary. Noticed by Joerg Roedel. Signed-off-by: Avi Kivity commit e934c9c1c8742872a53efb84966d9c1d7b8c8e24 Author: Avi Kivity Date: Thu Dec 6 16:15:02 2007 +0200 KVM: x86 emulator: fix eflags preparation for emulation We prepare eflags for the emulated instruction, then clobber it with an 'andl'. Fix by popping eflags as the last thing in the sequence. Patch taken from Xen (16143:959b4b92b6bf) Signed-off-by: Avi Kivity commit 7ee5d940f5064a7a4f0e53a8ffe755bc26a8b0f1 Author: Avi Kivity Date: Sun Nov 25 15:22:50 2007 +0200 KVM: Use generalized exception queue for injecting #UD Signed-off-by: Avi Kivity commit c1a5d4f990ce034bcb19aebbb910c07019e60f6b Author: Avi Kivity Date: Sun Nov 25 14:12:03 2007 +0200 KVM: Replace #GP injection by the generalized exception queue Signed-off-by: Avi Kivity commit c3c91fee5195ba5176a6da5ddc2a2822243eb79f Author: Avi Kivity Date: Sun Nov 25 14:04:58 2007 +0200 KVM: Replace page fault injection by the generalized exception queue Signed-off-by: Avi Kivity commit 298101da2f507c13eaf179ee4507a7c0fe3e7b06 Author: Avi Kivity Date: Sun Nov 25 13:41:11 2007 +0200 KVM: Generalize exception injection mechanism Instead of each subarch doing its own thing, add an API for queuing an injection, and manage failed exception injection centerally (i.e., if an inject failed due to a shadow page fault, we need to requeue it). Signed-off-by: Avi Kivity commit 4bf8ed8dd2781a5e7603a83f8ee1d4f5aa04ebc4 Author: Marcelo Tosatti Date: Tue Dec 4 13:42:16 2007 -0500 KVM: MMU: Remove unused prev_shadow_ent variable from fetch() Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit e4a533a416936753882060bf743222576713fde8 Author: npiggin@suse.de Date: Wed Dec 5 18:15:52 2007 +1100 KVM: Convert KVM from ->nopage() to ->fault() Signed-off-by: Nick Piggin Cc: kvm-devel@lists.sourceforge.net Cc: avi@qumranet.com Cc: linux-kernel@vger.kernel.org Signed-off-by: Avi Kivity commit 53e0aa7b65ec0d66e34e4d356a641c725cc2e519 Author: Hollis Blanchard Date: Mon Dec 3 16:15:26 2007 -0600 KVM: Portability: Create kvm_arch_vcpu_runnable() function This abstracts the detail of x86 hlt and INIT modes into a function. Signed-off-by: Hollis Blanchard Acked-by: Carsten Otte Signed-off-by: Avi Kivity commit e01a1b570f66ad318239517adbcc2cbe368d0a46 Author: Hollis Blanchard Date: Mon Dec 3 15:30:25 2007 -0600 KVM: Portability: Stop including x86-specific headers in kvm_main.c Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit e2174021cfa535dbcaef02dc6f2897019c30731d Author: Hollis Blanchard Date: Mon Dec 3 15:30:24 2007 -0600 KVM: Portability: Move IO device definitions to its own header file Signed-off-by: Hollis Blanchard Acked-by: Carsten Otte Signed-off-by: Avi Kivity commit d77a39d982431ef9efc7e7a1690cee2ce252b95e Author: Hollis Blanchard Date: Mon Dec 3 15:30:23 2007 -0600 KVM: Portability: Move address types to their own header file Signed-off-by: Hollis Blanchard Acked-by: Carsten Otte Signed-off-by: Avi Kivity commit b1fd3d30ba46360fc94d40ee8dc1f7a4338b19be Author: Zhang Xiantao Date: Sun Dec 2 22:53:07 2007 +0800 KVM: Extend ioapic code to support iosapic iosapic supports an additional mmio EOI register compared to ioapic. Signed-off-by: Zhang Xiantao Signed-off-by: Avi Kivity commit 0c7ac28d3dd27d718493aae4bbc7de89a2d9d386 Author: Zhang Xiantao Date: Sun Dec 2 22:49:09 2007 +0800 KVM: Replace dest_Lowest_Prio and dest_Fixed with self-defined macros Change dest_Loest_Prio -> IOAPIC_LOWEST_PRIORITY dest_Fixed -> IOAPIC_FIXED the original names are x86 specific, while the ioapic code will be reused for ia64. Signed-off-by: Zhang Xiantao Signed-off-by: Avi Kivity commit 8be5453f95933340a42c6e7fc7b66f3bb786fddd Author: Zhang Xiantao Date: Sun Dec 2 22:35:57 2007 +0800 KVM: Replace kvm_lapic with kvm_vcpu in ioapic/lapic interface This patch replaces lapic structure with kvm_vcpu in ioapic.c, making ioapic independent of the local apic, as required by ia64. Signed-off-by: Zhang Xiantao Signed-off-by: Avi Kivity commit 2b5203ee6828e9cabab1e1fb42e53d72ab9351a6 Author: Carlo Marcelo Arenas Belon Date: Sat Dec 1 06:17:11 2007 -0600 KVM: SVM: Remove KVM specific defines for MSR_EFER This patch removes the KVM specific defines for MSR_EFER that were being used in the svm support file and migrates all references to use instead the ones from the kernel headers that are used everywhere else and that have the same values. Signed-off-by: Carlo Marcelo Arenas Belon Signed-off-by: Avi Kivity commit fb56dbb31c4738a3918db81fd24da732ce3b4ae6 Author: Avi Kivity Date: Sun Dec 2 10:50:06 2007 +0200 KVM: Export include/linux/kvm.h only if $ARCH actually supports KVM Currently, make headers_check barfs due to , which includes, not existing. Rather than add a zillion s, export kvm.h only if the arch actually supports it. Signed-off-by: Avi Kivity commit d23087847184a7417fc69bdfaa8a32834b447bef Author: Zhang Xiantao Date: Thu Nov 29 15:35:39 2007 +0800 KVM: Correct kvm_init() error paths not freeing bad_pge. Signed-off-by: Zhang Xiantao Signed-off-by: Avi Kivity commit f77bc6a420eba845605ff1d53cadf55f94c5e8b7 Author: Zhang Xiantao Date: Wed Nov 21 04:36:41 2007 +0800 KVM: Portability: Move KVM_INTERRUPT vcpu ioctl to x86.c Other archs doesn't need it. Signed-off-by: Zhang Xiantao Signed-off-by: Avi Kivity commit 018a98db74d4cc8967cfc570197b14bcbdddb579 Author: Avi Kivity Date: Tue Nov 27 19:30:56 2007 +0200 KVM: x86 emulator: unify four switch statements into two Unify the special instruction switch with the regular instruction switch, and the two byte special instruction switch with the regular two byte instruction switch. That makes it much easier to find an instruction or the place an instruction needs to be added in. Signed-off-by: Avi Kivity commit 111de5d60c589bca02b49dce076ca588618e0d1c Author: Avi Kivity Date: Tue Nov 27 19:14:21 2007 +0200 KVM: x86 emulator: unify two switches The rep prefix cleanup left two switch () statements next to each other. Unify them. Signed-off-by: Avi Kivity commit b9fa9d6bc6ac617170c4cf21ca764eb187618c0d Author: Avi Kivity Date: Tue Nov 27 19:05:37 2007 +0200 KVM: x86 emulator: Move rep processing before instruction execution Currently rep processing is handled somewhere in the middle of instruction processing. Move it to a sensible place. Signed-off-by: Avi Kivity commit 51e296258cba41759ff0de5da110d8d52675ee67 Author: Jerone Young Date: Mon Nov 26 08:33:53 2007 -0600 KVM: Add ifdef in irqchip struct for x86 only structures This patch fixes a small issue where sturctures: kvm_pic_state kvm_ioapic_state are defined inside x86 specific code and may or may not be defined in anyway for other architectures. The problem caused is one cannot compile userspace apps (ex. libkvm) for other archs since a size cannot be determined for these structures. Signed-off-by: Jerone Young Signed-off-by: Avi Kivity commit d7e5117a2568f7407e98ca85155511ecfe4f0631 Author: Guillaume Thouvenin Date: Mon Nov 26 13:49:09 2007 +0100 KVM: x86 emulator: cmps instruction Add emulation for the cmps instruction. This lets OpenBSD boot on kvm. Signed-off-by: Guillaume Thouvenin Signed-off-by: Avi Kivity commit e8d8d7fe8877c594c08f40cc7c013626cfe3e9cc Author: Sheng Yang Date: Fri Nov 16 16:29:15 2007 +0800 KVM: x86 emulator: Rename 'cr2' to 'memop' Previous patches have removed the dependency on cr2; we can now stop passing it to the emulator and rename uses to 'memop'. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 448353caeab1d9180f12194a80790859ddbeebd5 Author: Izik Eidus Date: Mon Nov 26 14:08:14 2007 +0200 KVM: MMU: mark pages that were inserted to the shadow pages table as accessed Mark guest pages as accessed when removed from the shadow page tables for better lru processing. Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit eb9774f0d675922d780f23cbb747f474b0573dea Author: Avi Kivity Date: Sun Nov 25 17:45:31 2007 +0200 KVM: Remove misleading check for mmio during event injection mmio was already handled in kvm_arch_vcpu_ioctl_run(), so no need to check again. Signed-off-by: Avi Kivity commit f21b8bf4cc4091b23669987124fd13f758abf6d6 Author: Avi Kivity Date: Thu Nov 22 14:16:12 2007 +0200 KVM: x86 emulator: address size and operand size overrides are sticky Current implementation is to toggle, which is incorrect. Patch ported from corresponding Xen code. Signed-off-by: Avi Kivity commit 90e0a28f6b7241c7793f2ebd540c349580170446 Author: Guillaume Thouvenin Date: Thu Nov 22 11:32:09 2007 +0100 KVM: x86 emulator: Make a distinction between repeat prefixes F3 and F2 cmps and scas instructions accept repeat prefixes F3 and F2. So in order to emulate those prefixed instructions we need to be able to know if prefixes are REP/REPE/REPZ or REPNE/REPNZ. Currently kvm doesn't make this distinction. This patch introduces this distinction. Signed-off-by: Guillaume Thouvenin Signed-off-by: Avi Kivity commit e9f85cde99fa011db256f6683ba81d155e0d3f57 Author: Zhang Xiantao Date: Thu Nov 22 11:20:33 2007 +0800 KVM: Portability: Move unalias_gfn to arch dependent file Non-x86 archs don't need this mechanism. Move it to arch, and keep its interface in common. Signed-off-by: Zhang Xiantao Acked-by: Carsten Otte Signed-off-by: Avi Kivity commit 83ff3b9d4a0ade8f8eb9757fd4b36c501ba161e4 Author: Sheng Yang Date: Wed Nov 21 14:33:25 2007 +0800 KVM: VMX: Remove the secondary execute control dependency on irqchip The state of SECONDARY_VM_EXEC_CONTROL shouldn't depend on in-kernel IRQ chip, this patch fix this. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 0771671749b59a507b6da4efb931c44d9691e248 Author: Dan Kenigsberg Date: Wed Nov 21 17:10:04 2007 +0200 KVM: Enhance guest cpuid management The current cpuid management suffers from several problems, which inhibit passing through the host feature set to the guest: - No way to tell which features the host supports While some features can be supported with no changes to kvm, others need explicit support. That means kvm needs to vet the feature set before it is passed to the guest. - No support for indexed or stateful cpuid entries Some cpuid entries depend on ecx as well as on eax, or on internal state in the processor (running cpuid multiple times with the same input returns different output). The current cpuid machinery only supports keying on eax. - No support for save/restore/migrate The internal state above needs to be exposed to userspace so it can be saved or migrated. This patch adds extended cpuid support by means of three new ioctls: - KVM_GET_SUPPORTED_CPUID: get all cpuid entries the host (and kvm) supports - KVM_SET_CPUID2: sets the vcpu's cpuid table - KVM_GET_CPUID2: gets the vcpu's cpuid table, including hidden state [avi: fix original KVM_SET_CPUID not removing nx on non-nx hosts as it did before] Signed-off-by: Dan Kenigsberg Signed-off-by: Avi Kivity commit 6d4e4c4fca5be806b888d606894d914847e82d78 Author: Avi Kivity Date: Wed Nov 21 16:41:05 2007 +0200 KVM: Disallow fork() and similar games when using a VM We don't want the meaning of guest userspace changing under our feet. Signed-off-by: Avi Kivity commit 76c35c6e99cb46b936b88cc795c9c886e7fe7bd4 Author: Avi Kivity Date: Wed Nov 21 15:32:41 2007 +0200 KVM: MMU: Rename 'release_page' Rename the awkwardly named variable. Signed-off-by: Avi Kivity commit 4db3531487bdde4027b701da7c1b8d094ae2cc91 Author: Avi Kivity Date: Wed Nov 21 15:28:32 2007 +0200 KVM: MMU: Rename variables of type 'struct kvm_mmu_page *' These are traditionally named 'page', but even more traditionally, that name is reserved for variables that point to a 'struct page'. Rename them to 'sp' (for "shadow page"). Signed-off-by: Avi Kivity commit 1d28f5f4a4984be4cd7200ed512c94517c13e392 Author: Avi Kivity Date: Wed Nov 21 15:01:44 2007 +0200 KVM: Remove gpa_to_hpa() Converting last uses along the way. Signed-off-by: Avi Kivity commit 0d81f2966a61953c4cc7397342f5f907b3a6e257 Author: Avi Kivity Date: Wed Nov 21 14:57:44 2007 +0200 KVM: MMU: Remove gva_to_hpa() No longer used. Signed-off-by: Avi Kivity commit 3f3e7124f66df2d36751b0c97eabe38a13752fff Author: Avi Kivity Date: Wed Nov 21 14:54:16 2007 +0200 KVM: MMU: Simplify nonpaging_map() Instead of passing an hpa, pass a regular struct page. Signed-off-by: Avi Kivity commit 1755fbcc6666906cada43c1c839ca1fc6616d4a6 Author: Avi Kivity Date: Wed Nov 21 14:44:45 2007 +0200 KVM: MMU: Introduce gfn_to_gpa() Converting a frame number to an address is tricky since the data type changes size. Introduce a function to do it. This fixes an actual bug when accessing guest ptes. Signed-off-by: Avi Kivity commit 38c335f1f57bd9edc3cd894e8f5f3fc133320ad3 Author: Avi Kivity Date: Wed Nov 21 14:20:22 2007 +0200 KVM: MMU: Adjust page_header_update_slot() to accept a gfn instead of a gpa Signed-off-by: Avi Kivity commit 230c9a8f2354dc51f55bf81147f408d8fc2f3dd1 Author: Avi Kivity Date: Wed Nov 21 14:16:30 2007 +0200 KVM: MMU: Merge set_pte() and set_pte_common() Since set_pte() is now the only caller of set_pte_common(), merge the two functions. Signed-off-by: Avi Kivity commit 050e64992f90abee4e1e77b57fe7abf1ba22d330 Author: Avi Kivity Date: Wed Nov 21 14:11:49 2007 +0200 KVM: MMU: Remove set_pde() It is now identical to set_pte(). Signed-off-by: Avi Kivity commit 4e542370c7570bdb582ab8c751ab899ff9e4214a Author: Avi Kivity Date: Wed Nov 21 14:08:40 2007 +0200 KVM: MMU: Remove extra gaddr parameter from set_pte_common() Similar information is available in the gfn parameter, so use that. Signed-off-by: Avi Kivity commit da928521b7a095e85f6ac92a6c106bca7e17625f Author: Avi Kivity Date: Wed Nov 21 13:54:47 2007 +0200 KVM: MMU: Move pse36 handling to the guest walker Signed-off-by: Avi Kivity commit 5fb07ddb183eb4728f240e09c3305d271ce61d48 Author: Avi Kivity Date: Wed Nov 21 12:35:07 2007 +0200 KVM: MMU: Introduce and use gpte_to_gfn() Instead of repretitively open-coding this. Signed-off-by: Avi Kivity commit b238f7bc2dd5e0e8ecbd28863d6d03e490c652ce Author: Izik Eidus Date: Tue Nov 20 12:02:12 2007 +0200 KVM: MMU: Code cleanup Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit d835dfecd00fd770288dcd9a46c0e0966d526fdf Author: Avi Kivity Date: Wed Nov 21 02:57:59 2007 +0200 KVM: Don't bother the mmu if cr3 load doesn't change cr3 If the guest requests just a tlb flush, don't take the vm lock and drop the mmu context pointlessly. Signed-off-by: Avi Kivity commit 79539cec0c3c38d35a1e3e5310d2c562ae6e82b8 Author: Avi Kivity Date: Wed Nov 21 02:06:21 2007 +0200 KVM: MMU: Avoid unnecessary remote tlb flushes when guest updates a pte If all we're doing is increasing permissions on a pte (typical for demand paging), then there's not need to flush remote tlbs. Worst case they'll get a spurious page fault. Signed-off-by: Avi Kivity commit 0f74a24c59b814c1c8085251cbea48d339f0c7c6 Author: Avi Kivity Date: Tue Nov 20 23:01:14 2007 +0200 KVM: Add statistic for remote tlb flushes Signed-off-by: Avi Kivity commit e5a4c8cad952d6e060991841f3632578ab3ae133 Author: Avi Kivity Date: Tue Nov 20 21:39:54 2007 +0200 KVM: MMU: Implement guest page fault bypass for nonpae I spent an hour worrying why I see so many guest page faults on FC6 i386. Turns out bypass wasn't implemented for nonpae. Implement it so it doesn't happen again. Signed-off-by: Avi Kivity commit 26e5215fdc6cf7b5a8b1269134095abbb7338b3c Author: Avi Kivity Date: Tue Nov 20 15:30:24 2007 +0200 KVM: Split vcpu creation to avoid vcpu_load() before preemption setup Split kvm_arch_vcpu_create() into kvm_arch_vcpu_create() and kvm_arch_vcpu_setup(), enabling preemption notification between the two. This mean that we can now do vcpu_load() within kvm_arch_vcpu_setup(). Signed-off-by: Avi Kivity commit 0de10343b3ca7aa34dd606145748f73ed19f627e Author: Zhang Xiantao Date: Tue Nov 20 16:25:04 2007 +0800 KVM: Portability: Split kvm_set_memory_region() to have an arch callout Moving !user_alloc case to kvm_arch to avoid unnecessary code logic in non-x86 platform. Signed-off-by: Zhang Xiantao Signed-off-by: Avi Kivity commit 3ad82a7e874c5d6c4045090cc01d7794dd9eb21c Author: Zhang Xiantao Date: Tue Nov 20 13:11:38 2007 +0800 KVM: Recalculate mmu pages needed for every memory region change Instead of incrementally changing the mmu cache size for every memory slot operation, recalculate it from scratch. This is simpler and safer. Signed-off-by: Zhang Xiantao Signed-off-by: Avi Kivity commit 6226686954c4cce3d63ffe1777e60360fcbf0b83 Author: Avi Kivity Date: Tue Nov 20 13:15:52 2007 +0200 KVM: x86 emulator: prefetch up to 15 bytes of the instruction executed Instead of fetching one byte at a time, prefetch 15 bytes (or until the next page boundary) to avoid guest page table walks. Signed-off-by: Avi Kivity commit 93a0039c8d93074d5f92dfb69f6a7d453905d002 Author: Avi Kivity Date: Tue Nov 20 12:49:31 2007 +0200 KVM: x86 emulator: retire ->write_std() Theoretically used to acccess memory known to be ordinary RAM, it was never implemented. It is questionable whether it is possible to implement it correctly. Signed-off-by: Avi Kivity commit b4231d61807cac8d9d257eb6979c1685fa9a171f Author: Izik Eidus Date: Tue Nov 20 11:49:33 2007 +0200 KVM: MMU: Selectively set PageDirty when releasing guest memory Improve dirty bit setting for pages that kvm release, until now every page that we released we marked dirty, from now only pages that have potential to get dirty we mark dirty. Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit 2065b3727ecdb64450597d70f7e13af00b85dbd8 Author: Izik Eidus Date: Tue Nov 20 11:30:04 2007 +0200 KVM: MMU: Fix potential memory leak with smp real-mode When we map a page, we check whether some other vcpu mapped it for us and if so, bail out. But we should decrease the refcount on the page as we do so. Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit 2d2a7b9cff7f6324e69daa3ab76799641a94a0e8 Author: Avi Kivity Date: Tue Nov 20 11:45:14 2007 +0200 KVM: Export include/asm-x86/kvm.h Signed-off-by: Avi Kivity commit a162dd58736d446f52ca45b170508c3a5868807b Author: Jerone Young Date: Mon Nov 19 17:06:37 2007 -0600 KVM: Portability: Move cpuid structures to This patch moves structures: kvm_cpuid_entry kvm_cpuid from include/linux/kvm.h to include/asm-x86/kvm.h Signed-off-by: Jerone Young Signed-off-by: Avi Kivity commit 244d57ece94b56692c61f2d507d1251b5844c550 Author: Jerone Young Date: Mon Nov 19 17:06:36 2007 -0600 KVM: Portability: Move kvm_sregs and msr structures to Move structures: kvm_sregs kvm_msr_entry kvm_msrs kvm_msr_list from include/linux/kvm.h to include/asm-x86/kvm.h Signed-off-by: Avi Kivity commit 3a56b20104f51bd6caf07e49fa1e3c09bee222e5 Author: Jerone Young Date: Mon Nov 19 17:06:35 2007 -0600 KVM: Portability: Move kvm_segment & kvm_dtable structure to This patch moves structures: kvm_segment kvm_dtable from include/linux/kvm.h to include/asm-x86/kvm.h Signed-off-by: Jerone Young Signed-off-by: Avi Kivity commit d9ecf9281069c4c8dd429e1eb61cb7e0f3dda6b4 Author: Jerone Young Date: Mon Nov 19 17:06:34 2007 -0600 KVM: Portability: Move structure lapic_state to This patch moves structure lapic_state from include/linux/kvm.h to include/asm-x86/kvm.h Signed-off-by: Jerone Young Signed-off-by: Avi Kivity commit 19d30b164417e7580d7f8c495a03137e1a45d4a7 Author: Jerone Young Date: Mon Nov 19 17:06:33 2007 -0600 KVM: Portability: Move kvm_regs to This patch moves structure kvm_regs to include/asm-x86/kvm.h. Each architecture will need to create there own version of this structure. Signed-off-by: Jerone Young Signed-off-by: Avi Kivity commit da1386a5bc43fa0faf17089a68c2991cf1d526c8 Author: Jerone Young Date: Mon Nov 19 17:06:32 2007 -0600 KVM: Portability: Move x86 pic strutctures This patch moves structures: kvm_pic_state kvm_ioapic_state to inclue/asm-x86/kvm.h. Signed-off-by: Jerone Young Signed-off-by: Avi Kivity commit f6a40e3bdf5fe0a7d7d7f2dbc5b10158fbdad968 Author: Jerone Young Date: Mon Nov 19 17:06:31 2007 -0600 KVM: Portability: Move kvm_memory_alias to asm/kvm.h This patch moves sturct kvm_memory_alias from include/linux/kvm.h to include/asm-x86/kvm.h. Also have include/linux/kvm.h include include/asm/kvm.h. Signed-off-by: Jerone Young Signed-off-by: Avi Kivity commit 7faa8f6fcc119ce680a90a5f011841b466b1e161 Author: Hollis Blanchard Date: Mon Nov 19 14:04:44 2007 -0600 KVM: Move misplaced comment Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit d40ccc6246ed19ca529043998942a6b450c0e498 Author: Hollis Blanchard Date: Mon Nov 19 14:04:43 2007 -0600 KVM: Correct consistent typo: "destory" -> "destroy" Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 00fc9f5ae5988fb180f5a288451a741b35cc806e Author: Hollis Blanchard Date: Mon Nov 19 14:04:45 2007 -0600 KVM: Remove unused "rmap_overflow" variable Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 971535ff65da2e967a1105a3b2fa3693fc83ca8f Author: Avi Kivity Date: Mon Nov 19 18:44:15 2007 +0200 KVM: MMU: Remove unused variable Signed-off-by: Avi Kivity commit 3e021bf5053bc45448e43cf1d7d020ddf1409714 Author: Izik Eidus Date: Mon Nov 19 11:16:57 2007 +0200 KVM: Simplify kvm_clear_guest_page() Use kvm_write_guest_page() with empty_zero_page, instead of doing kmap and memset. Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit ec8d4eaefc06636eb8fc83610c6605168796b4f7 Author: Izik Eidus Date: Mon Nov 19 11:28:19 2007 +0200 KVM: MMU: Change guest pte access to kvm_{read,write}_guest() Things are simpler and more regular this way. Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit 15b00f32d53f31fe194b17ca0384a37756b55be2 Author: Jan Kiszka Date: Mon Nov 19 10:21:45 2007 +0100 KVM: VMX: Force seg.base == (seg.sel << 4) in real mode Ensure that segment.base == segment.selector << 4 when entering the real mode on Intel so that the CPU will not bark at us. This fixes some old protected mode demo from http://www.x86.org/articles/pmbasics/tspec_a1_doc.htm. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 54f1585a8d0131bc3993902d4441f4049daed0d5 Author: Zhang Xiantao Date: Mon Nov 19 15:24:28 2007 +0800 KVM: Portability: Move some function declarations to x86.h Signed-off-by: Zhang Xiantao Signed-off-by: Avi Kivity commit ec6d273deb56b1607e2acaad3df4bca42f135cd7 Author: Zhang Xiantao Date: Mon Nov 19 15:08:31 2007 +0800 KVM: Move some static inline functions out from kvm.h into x86.h Signed-off-by: Zhang Xiantao Signed-off-by: Avi Kivity commit 2b3ccfa0c5c7738a08f473b5d00b78f87935de72 Author: Zhang Xiantao Date: Mon Nov 19 14:56:05 2007 +0800 KVM: Portability: Move vcpu regs enumeration definition to x86.h Signed-off-by: Zhang Xiantao Signed-off-by: Avi Kivity commit ea4a5ff80c24a25034a0c0468f6d1f47d1782076 Author: Zhang Xiantao Date: Mon Nov 19 14:40:47 2007 +0800 KVM: Portability: Move struct kvm_x86_ops definition to x86.h Signed-off-by: Zhang Xiantao Signed-off-by: Avi Kivity commit cd6e8f87efb74d91100d84894021dd12fea1a8a5 Author: Zhang Xiantao Date: Mon Nov 19 14:33:37 2007 +0800 KVM: Portability: Move some macro definitions from kvm.h to x86.h Signed-off-by: Zhang Xiantao Signed-off-by: Avi Kivity commit 56c6d28a9afdca0d48dd618276e055f19c0306bb Author: Zhang Xiantao Date: Sun Nov 18 20:43:21 2007 +0800 KVM: Portability: MMU initialization and teardown split Move out kvm_mmu init and exit functionality from kvm_main.c Signed-off-by: Zhang Xiantao Signed-off-by: Avi Kivity commit 5bb064dcdeb7ab341e2f8a3e2fc34faa63b1662c Author: Zhang Xiantao Date: Sun Nov 18 20:29:43 2007 +0800 KVM: Portability: Move kvm_vcpu_ioctl_get_dirty_log to arch-specific file Meanwhile keep the interface in common, and leave as more logic in common as possible. Signed-off-by: Zhang Xiantao Signed-off-by: Avi Kivity commit 9327fd1195b77e67b86db8c1c1c4c4f7db009b00 Author: Amit Shah Date: Thu Nov 15 18:38:46 2007 +0200 KVM: Make unloading of FPU state when putting vcpu arch-independent Instead of having each architecture do it individually, we do this in the arch-independent code (just x86 as of now). [avi: add svm to the mix, which was added to mainline during the 2.6.24-rc process] Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit 4cee576493b6abc95cc7447a65f1b9d2b40b8f20 Author: Avi Kivity Date: Sun Nov 18 16:37:07 2007 +0200 KVM: MMU: Add some mmu statistics Signed-off-by: Avi Kivity commit ba1389b7a04de07e6231693b7ebb34f5b5d1a3e6 Author: Avi Kivity Date: Sun Nov 18 16:24:12 2007 +0200 KVM: Extend stats support for VM stats This is in addition to the current virtual cpu statistics. Signed-off-by: Avi Kivity commit f2b5756bb3fbdca912c4890e444c18650389d8ae Author: Avi Kivity Date: Sun Nov 18 15:17:51 2007 +0200 KVM: Add instruction emulation statistics commit f096ed8588b53bf802b84862c6c4d00d25d1ed72 Author: Avi Kivity Date: Sun Nov 18 13:54:33 2007 +0200 KVM: Add fpu_reload counter Measure the number of times we switch the fpu state. Signed-off-by: Avi Kivity commit e1beb1d37c3187aa12c6463bd15ba594e9986761 Author: Avi Kivity Date: Sun Nov 18 13:50:24 2007 +0200 KVM: Replace 'light_exits' stat with 'host_state_reload' This is a little more accurate (since it counts actual reloads, not potential reloads), and reverses the sense of the statistic to measure a bad event like most of the other stats (e.g. we want to minimize all counters). Signed-off-by: Avi Kivity commit d19a9cd275b0fdc793d1bb8b644b7aad0517e4bc Author: Zhang Xiantao Date: Sun Nov 18 18:43:45 2007 +0800 KVM: Portability: Add two hooks to handle kvm_create and destroy vm Add two arch hooks to handle kvm_create_vm and kvm destroy_vm. Now, just put io_bus init and destory in common. Signed-off-by: Zhang Xiantao Signed-off-by: Avi Kivity commit a16b043cc96db4a01abb337bef4a51cebcfcbb1b Author: Zhang Xiantao Date: Fri Nov 16 14:38:21 2007 +0800 KVM: Remove __init attributes for kvm_init_debug and kvm_init_msr_list Since their callers are not declared with __init. Signed-off-by: Zhang Xiantao Signed-off-by: Avi Kivity commit 56919c5c97aa07b150311c5c9802af07872ee2b0 Author: Joe Perches Date: Mon Nov 12 20:06:51 2007 -0800 KVM: Remove ptr comparisons to 0 Fix sparse warnings "Using plain integer as NULL pointer" Signed-off-by: Joe Perches Signed-off-by: Avi Kivity commit 8b0067913d9d0439d4cf3c1f7314ba71fc7b2958 Author: Zhang Xiantao Date: Fri Nov 16 13:05:55 2007 +0800 KVM: Portability: Make kvm_vcpu_ioctl_translate arch dependent Move kvm_vcpu_ioctl_translate to arch, since mmu would be put under arch. Signed-off-by: Zhang Xiantao Signed-off-by: Avi Kivity commit e08aa78ae5747c6e1dc525e8a40f23c2ea61d757 Author: Avi Kivity Date: Thu Nov 15 18:06:18 2007 +0200 KVM: VMX: Consolidate register usage in vmx_vcpu_run() We pass vcpu, vmx->fail, and vmx->launched to assembly code, but all three are fields within vmx. Consolidate by only passing in vmx and offsets for the rest. Signed-off-by: Avi Kivity commit 018d00d2fef27fc65f2917bec8f72b93615c18e1 Author: Zhang Xiantao Date: Thu Nov 15 23:07:47 2007 +0800 KVM: Portability: move KVM_CHECK_EXTENSION Make KVM_CHECK_EXTENSION code into a function, all archs can define its capability independently. Signed-off-by: Zhang Xiantao Acked-by: Carsten Otte Signed-off-by: Avi Kivity commit a7e6c88a78b7c3d67491bf90b2b95e66437dbdb6 Author: Sheng Yang Date: Thu Nov 15 14:52:28 2007 +0800 KVM: x86 emulator: modify 'lods', and 'stos' not to depend on CR2 The current 'lods' and 'stos' is depending on incoming CR2 rather than decode memory address from registers. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit f8c16bbaa9e14b309ffcf29cac0ea377a35b0dd2 Author: Zhang Xiantao Date: Wed Nov 14 20:40:21 2007 +0800 KVM: Portability: Move x86 specific code from kvm_init() to kvm_arch() Signed-off-by: Zhang Xiantao Acked-by: Carsten Otte Signed-off-by: Avi Kivity commit cb498ea2ce1d3f3c0bc0a2522241dca10263e437 Author: Zhang Xiantao Date: Wed Nov 14 20:39:31 2007 +0800 KVM: Portability: Combine kvm_init and kvm_init_x86 Will be called once arch module registers itself. Signed-off-by: Zhang Xiantao Acked-by: Carsten Otte Signed-off-by: Avi Kivity commit e9b11c17552afe684e9e5d0444309a3ddf410116 Author: Zhang Xiantao Date: Wed Nov 14 20:38:21 2007 +0800 KVM: Portability: Add vcpu and hardware management arch hooks Add the following hooks: void decache_vcpus_on_cpu(int cpu); int kvm_arch_vcpu_init(struct kvm_vcpu *vcpu); void kvm_arch_vcpu_uninit(struct kvm_vcpu *vcpu); void kvm_arch_vcpu_free(struct kvm_vcpu *vcpu); void kvm_arch_vcpu_load(struct kvm_vcpu *vcpu, int cpu); void kvm_arch_vcpu_put(struct kvm_vcpu *vcpu); struct kvm_vcpu *kvm_arch_vcpu_create(struct kvm *kvm, unsigned int id); void kvm_arch_vcpu_destory(struct kvm_vcpu *vcpu); int kvm_arch_vcpu_reset(struct kvm_vcpu *vcpu); void kvm_arch_hardware_enable(void *garbage); void kvm_arch_hardware_disable(void *garbage); int kvm_arch_hardware_setup(void); void kvm_arch_hardware_unsetup(void); void kvm_arch_check_processor_compat(void *rtn); Signed-off-by: Zhang Xiantao Signed-off-by: Avi Kivity commit 97896d04a14669b146c17d779b81ec7a339deeb3 Author: Zhang Xiantao Date: Wed Nov 14 20:09:30 2007 +0800 KVM: Portability: Move kvm_x86_ops to x86.c Signed-off-by: Zhang Xiantao Acked-by: Carsten Otte Signed-off-by: Avi Kivity commit d825ed0a97b8e82597dd652bfe51fed3fa9b3c9a Author: Zhang Xiantao Date: Wed Nov 14 20:08:51 2007 +0800 KVM: Portability: Move some includes to x86.c Move some includes to x86.c from kvm_main.c, since the related functions have been moved to x86.c Signed-off-by: Zhang Xiantao Acked-by: Carsten Otte Signed-off-by: Avi Kivity commit e0506bcba5992650b1190de9125f5963a30f32e2 Author: Izik Eidus Date: Sun Nov 11 22:10:22 2007 +0200 KVM: Change kvm_{read,write}_guest() to use copy_{from,to}_user() This changes kvm_write_guest_page/kvm_read_guest_page to use copy_to_user/read_from_user, as a result we get better speed and better dirty bit tracking. Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit 539cb6608ca804e7805d8e88c83377d991a552b1 Author: Izik Eidus Date: Sun Nov 11 22:05:04 2007 +0200 KVM: introduce gfn_to_hva() Convert a guest frame number to the corresponding host virtual address. Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit f9d46eb0e4a5b5e0926ca61c19f8c8bbb9496b28 Author: Izik Eidus Date: Sun Nov 11 22:02:22 2007 +0200 KVM: add kvm_is_error_hva() Check for the "error hva", an address outside the user address space that signals a bad gfn. Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit 1a6f4d7fbd11e539630cd5637311a4e55fae60ef Author: Avi Kivity Date: Sun Nov 11 18:37:32 2007 +0200 KVM: Simplify CPU_TASKS_FROZEN cpu notifier handling Signed-off-by: Avi Kivity commit 906e608b05b87b650e509491e41c89575358df5e Author: Izik Eidus Date: Sun Nov 11 14:48:17 2007 +0200 KVM: x86 emulator: remove 8 bytes operands emulator for call near instruction it is removed beacuse it isnt supported on a real host Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit e5edaa01c4cea5f60c617fac989c6458df0ecc4e Author: Eddie Dong Date: Sun Nov 11 12:28:35 2007 +0200 KVM: VMX: wbinvd exiting Add wbinvd VM Exit support to prepare for pass-through device cache emulation and also enhance real time responsiveness. Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Avi Kivity commit 8a70cc3d0f4877f862ac9cace2e61e4e5116b502 Author: Eddie Dong Date: Sun Nov 11 12:27:20 2007 +0200 KVM: VMX: Comment VMX primary/secondary exec ctl definitions Add comments for secondary/primary Processor-Based VM-execution controls. Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Avi Kivity commit 9c8cba3761d4741cfd53ecc40604fac01f52128a Author: Avi Kivity Date: Thu Nov 22 11:42:59 2007 +0200 KVM: Fix faults during injection of real-mode interrupts If vmx fails to inject a real-mode interrupt while fetching the interrupt redirection table, it fails to record this in the vectoring information field. So we detect this condition and do it ourselves. Signed-off-by: Avi Kivity commit 1155f76a8166ae6fc88e7d73eb6817eb9012d476 Author: Avi Kivity Date: Thu Nov 22 11:30:47 2007 +0200 KVM: VMX: Read & store IDT_VECTORING_INFO_FIELD We'll want to write to it in order to fix real-mode irq injection problems, but it is a read-only field. Storing it in a variable solves that issue. Signed-off-by: Avi Kivity commit 9c5623e3e42e94927d02a6693875badf15692970 Author: Avi Kivity Date: Thu Nov 8 18:19:20 2007 +0200 KVM: VMX: Use vmx to inject real-mode interrupts Instead of injecting real-mode interrupts by writing the interrupt frame into guest memory, abuse vmx by injecting a software interrupt. We need to pretend the software interrupt instruction had a length > 0, so we have to adjust rip backward. This lets us not to mess with writing guest memory, which is complex and also sleeps. Signed-off-by: Avi Kivity commit 12264760e46077a65c1240ac0b27dfa34b402158 Author: Dor Laor Date: Wed Nov 7 16:20:06 2007 +0200 KVM: Add make_page_dirty() to kvm_clear_guest_page() Every write access to guest pages should be tracked. Signed-off-by: Dor Laor Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit b6c7a5dccf9471f4891df722dbd0700ce56eb2e2 Author: Hollis Blanchard Date: Thu Nov 1 14:16:10 2007 -0500 KVM: Portability: Move x86 vcpu ioctl handlers to x86.c Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit d075206073286dca84768137af0a0bf3d11f0663 Author: Hollis Blanchard Date: Wed Oct 31 17:24:25 2007 -0500 KVM: Portability: Move x86 FPU handling to x86.c Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 8776e5194f7bb847906e3561c4dba12ed66ebfb6 Author: Hollis Blanchard Date: Wed Oct 31 17:24:24 2007 -0500 KVM: Portability: Move x86 instruction emulation code to x86.c Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 417bc3041f5e66df1ce7f03d8fc481c3b12f250a Author: Hollis Blanchard Date: Wed Oct 31 17:24:23 2007 -0500 KVM: Portability: Make exported debugfs data architecture-specific Signed-off-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 1c73ef66502311d9aff7fed7d7f970288329c6cb Author: Avi Kivity Date: Thu Nov 1 06:31:28 2007 +0200 KVM: x86 emulator: Hoist modrm and abs decoding into separate functions Signed-off-by: Avi Kivity commit 3b6fff198c2ae3ca87ee8c9103d52ac9e8f40dd5 Author: Uri Lublin Date: Tue Oct 30 10:42:09 2007 +0200 KVM: Make mark_page_dirty() work for aliased pages too. Recommended by Izik Eidus. Signed-off-by: Uri Lublin Signed-off-by: Avi Kivity commit 9f1ef3f8f5f8ade2561d969181b152c225b82a3e Author: Avi Kivity Date: Wed Oct 31 11:21:06 2007 +0200 KVM: Simplify decode_register_operand() calling convention Now that rex_prefix is part of the decode cache, there is no need to pass it along. Signed-off-by: Avi Kivity commit 33615aa956521923eab0552994b5961cd3034042 Author: Avi Kivity Date: Wed Oct 31 11:15:56 2007 +0200 KVM: x86 emulator: centralize decoding of one-byte register access insns Instructions like 'inc reg' that have the register operand encoded in the opcode are currently specially decoded. Extend decode_register_operand() to handle that case, indicated by having DstReg or SrcReg without ModRM. Signed-off-by: Avi Kivity commit 3c118e24af821d68dca0ba81e9499820c840c133 Author: Avi Kivity Date: Wed Oct 31 10:27:04 2007 +0200 KVM: x86 emulator: Extract the common code of SrcReg and DstReg Share the common parts of SrcReg and DstReg decoding. Signed-off-by: Avi Kivity commit de7d789acd7f373268194bb48dc0690c975ab8e6 Author: Carsten Otte Date: Tue Oct 30 18:44:25 2007 +0100 KVM: Portability: Move pio emulation functions to x86.c This patch moves implementation of the following functions from kvm_main.c to x86.c: free_pio_guest_pages, vcpu_find_pio_dev, pio_copy_data, complete_pio, kernel_pio, pio_string_write, kvm_emulate_pio, kvm_emulate_pio_string The function inject_gp, which was duplicated by yesterday's patch series, is removed from kvm_main.c now because it is not needed anymore. Signed-off-by: Carsten Otte Acked-by: Hollis Blanchard Signed-off-by: Avi Kivity commit bbd9b64e37aff5aa715ec5e168425790f5983bf1 Author: Carsten Otte Date: Tue Oct 30 18:44:21 2007 +0100 KVM: Portability: Move x86 emulation and mmio device hook to x86.c This patch moves the following functions to from kvm_main.c to x86.c: emulator_read/write_std, vcpu_find_pervcpu_dev, vcpu_find_mmio_dev, emulator_read/write_emulated, emulator_write_phys, emulator_write_emulated_onepage, emulator_cmpxchg_emulated, get_setment_base, emulate_invlpg, emulate_clts, emulator_get/set_dr, kvm_report_emulation_failure, emulate_instruction The following data type is moved to x86.c: struct x86_emulate_ops emulate_ops Signed-off-by: Carsten Otte Acked-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 15c4a6406f6c40632260861e1db7c539e79dcf1a Author: Carsten Otte Date: Tue Oct 30 18:44:17 2007 +0100 KVM: Portability: Move kvm_get/set_msr[_common] to x86.c This patch moves the implementation of the functions of kvm_get/set_msr, kvm_get/set_msr_common, and set_efer from kvm_main.c to x86.c. The definition of EFER_RESERVED_BITS is moved too. Signed-off-by: Carsten Otte Acked-by: Hollis Blanchard Signed-off-by: Avi Kivity commit aab61cc0d28f6fab0c2c9137d95dea54c7dbcf46 Author: Anthony Liguori Date: Mon Oct 29 15:15:20 2007 -0500 KVM: Fix gfn_to_page() acquiring mmap_sem twice KVM's nopage handler calls gfn_to_page() which acquires the mmap_sem when calling out to get_user_pages(). nopage handlers are already invoked with the mmap_sem held though. Introduce a __gfn_to_page() for use by the nopage handler which requires the lock to already be held. This was noticed by tglx. Signed-off-by: Anthony Liguori Signed-off-by: Avi Kivity commit f78e0e2ee498e8f847500b565792c7d7634dcf54 Author: Sheng Yang Date: Mon Oct 29 09:40:42 2007 +0800 KVM: VMX: Enable memory mapped TPR shadow (FlexPriority) This patch based on CR8/TPR patch, and enable the TPR shadow (FlexPriority) for 32bit Windows. Since TPR is accessed very frequently by 32bit Windows, especially SMP guest, with FlexPriority enabled, we saw significant performance gain. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit a03490ed29d2771c675d4d9c0ffe22e19a1757f3 Author: Carsten Otte Date: Mon Oct 29 16:09:35 2007 +0100 KVM: Portability: Move control register helper functions to x86.c This patch moves the definitions of CR0_RESERVED_BITS, CR4_RESERVED_BITS, and CR8_RESERVED_BITS along with the following functions from kvm_main.c to x86.c: set_cr0(), set_cr3(), set_cr4(), set_cr8(), get_cr8(), lmsw(), load_pdptrs() The static function wrapper inject_gp is duplicated in kvm_main.c and x86.c for now, the version in kvm_main.c should disappear once the last user of it is gone too. The function load_pdptrs is no longer static, and now defined in x86.h for the time being, until the last user of it is gone from kvm_main.c. Signed-off-by: Carsten Otte Reviewed-by: Christian Borntraeger Acked-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 6866b83ed7240bf4a7c50836ee10f61c8534503f Author: Carsten Otte Date: Mon Oct 29 16:09:10 2007 +0100 KVM: Portability: move get/set_apic_base to x86.c This patch moves the implementation of get_apic_base and set_apic_base from kvm_main.c to x86.c Signed-off-by: Carsten Otte Reviewed-by: Christian Borntraeger Acked-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 5fb76f9be1a050a25e21a44ab2003c9d36a72a77 Author: Carsten Otte Date: Mon Oct 29 16:08:51 2007 +0100 KVM: Portability: Move memory segmentation to x86.c This patch moves the definition of segment_descriptor_64 for AMD64 and EM64T from kvm_main.c to segment_descriptor.h. It also adds a proper #ifndef...#define...#endif around that header file. The implementation of segment_base is moved from kvm_main.c to x86.c. Signed-off-by: Carsten Otte Reviewed-by: Christian Borntraeger Acked-by: Hollis Blanchard Signed-off-by: Avi Kivity commit 1fe779f8eccd16e527315e1bafd2b3a876ff2489 Author: Carsten Otte Date: Mon Oct 29 16:08:35 2007 +0100 KVM: Portability: Split kvm_vm_ioctl v3 This patch splits kvm_vm_ioctl into archtecture independent parts, and x86 specific parts which go to kvm_arch_vcpu_ioctl in x86.c. The patch is unchanged since last submission. Common ioctls for all architectures are: KVM_CREATE_VCPU, KVM_GET_DIRTY_LOG, KVM_SET_USER_MEMORY_REGION x86 specific ioctls are: KVM_SET_MEMORY_REGION, KVM_GET/SET_NR_MMU_PAGES, KVM_SET_MEMORY_ALIAS, KVM_CREATE_IRQCHIP, KVM_CREATE_IRQ_LINE, KVM_GET/SET_IRQCHIP KVM_SET_TSS_ADDR Signed-off-by: Carsten Otte Reviewed-by: Christian Borntraeger Acked-by: Hollis Blanchard Signed-off-by: Avi Kivity commit b733bfb524af69612f85c36a511f0109c5e3fe8d Author: Avi Kivity Date: Sun Oct 28 18:52:05 2007 +0200 KVM: MMU: Topup the mmu memory preallocation caches before emulating an insn Emulation may cause a shadow pte to be instantiated, which requires memory resources. Make sure the caches are filled to avoid an oops. Signed-off-by: Avi Kivity commit 3067714cf59bd4a6dbf788b709485bc62c1ff845 Author: Avi Kivity Date: Sun Oct 28 18:48:59 2007 +0200 KVM: Move page fault processing to common code The code that dispatches the page fault and emulates if we failed to map is duplicated across vmx and svm. Merge it to simplify further bugfixing. Signed-off-by: Avi Kivity commit c7e75a3db4ecd952e7a5562cea1b27007bf0c01c Author: Avi Kivity Date: Sun Oct 28 16:34:25 2007 +0200 KVM: x86 emulator: don't depend on cr2 for mov abs emulation The 'mov abs' instruction family (opcodes 0xa0 - 0xa3) still depends on cr2 provided by the page fault handler. This is wrong for several reasons: - if an instruction accessed misaligned data that crosses a page boundary, and if the fault happened on the second page, cr2 will point at the second page, not the data itself. - if we're emulating in real mode, or due to a FlexPriority exit, there is no cr2 generated. So, this change adds decoding for this instruction form and drops reliance on cr2. Signed-off-by: Avi Kivity commit fe7935d49fbe33308c1b5f0e35137989da851010 Author: Laurent Vivier Date: Thu Oct 25 14:18:54 2007 +0200 KVM: SVM: Let gcc to choose which registers to save (i386) This patch lets GCC to determine which registers to save when we switch to/from a VCPU in the case of AMD i386 * Original code saves following registers: ebx, ecx, edx, esi, edi, ebp * Patched code: - informs GCC that we modify following registers using the clobber description: ebx, ecx, edx, esi, edi - rbp is saved (pop/push) because GCC seems to ignore its use in the clobber description. Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit 54a08c0449683f763dc69e653d17e8c120e16299 Author: Laurent Vivier Date: Thu Oct 25 14:18:53 2007 +0200 KVM: SVM: Let gcc to choose which registers to save (x86_64) This patch lets GCC to determine which registers to save when we switch to/from a VCPU in the case of AMD x86_64. * Original code saves following registers: rbx, rcx, rdx, rsi, rdi, rbp, r8, r9, r10, r11, r12, r13, r14, r15 * Patched code: - informs GCC that we modify following registers using the clobber description: rbx, rcx, rdx, rsi, rdi r8, r9, r10, r11, r12, r13, r14, r15 - rbp is saved (pop/push) because GCC seems to ignore its use in the clobber description. Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit ff593e5abebd899b0b41c11280e2fbeff4103375 Author: Laurent Vivier Date: Thu Oct 25 14:18:55 2007 +0200 KVM: VMX: Let gcc to choose which registers to save (i386) This patch lets GCC to determine which registers to save when we switch to/from a VCPU in the case of intel i386. * Original code saves following registers: eax, ebx, ecx, edx, edi, esi, ebp (using popa) * Patched code: - informs GCC that we modify following registers using the clobber description: ebx, edi, rsi - doesn't save eax because it is an output operand (vmx->fail) - cannot put ecx in clobber description because it is an input operand, but as we modify it and we want to keep its value (vcpu), we must save it (pop/push) - ebp is saved (pop/push) because GCC seems to ignore its use the clobber description. - edx is saved (pop/push) because it is reserved by GCC (REGPARM) and cannot be put in the clobber description. - line "mov (%%esp), %3 \n\t" has been removed because %3 is ecx and ecx is restored just after. Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit c20363006af64cf397519da5e984b18e6bdffd82 Author: Laurent Vivier Date: Thu Oct 25 14:18:52 2007 +0200 KVM: VMX: Let gcc to choose which registers to save (x86_64) This patch lets GCC to determine which registers to save when we switch to/from a VCPU in the case of intel x86_64. * Original code saves following registers: rax, rbx, rcx, rdx, rsi, rdi, rbp, r8, r9, r10, r11, r12, r13, r14, r15 * Patched code: - informs GCC that we modify following registers using the clobber description: rbx, rdi, rsi, r8, r9, r10, r11, r12, r13, r14, r15 - doesn't save rax because it is an output operand (vmx->fail) - cannot put rcx in clobber description because it is an input operand, but as we modify it and we want to keep its value (vcpu), we must save it (pop/push) - rbp is saved (pop/push) because GCC seems to ignore its use in the clobber description. - rdx is saved (pop/push) because it is reserved by GCC (REGPARM) and cannot be put in the clobber description. - line "mov (%%rsp), %3 \n\t" has been removed because %3 is rcx and rcx is restored just after. - line ASM_VMX_VMWRITE_RSP_RDX() is moved out of the ifdef/else/endif Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit cbc9402297b9a233981f74587786364cda21c771 Author: Izik Eidus Date: Thu Oct 25 00:29:55 2007 +0200 KVM: Add ioctl to tss address from userspace, Currently kvm has a wart in that it requires three extra pages for use as a tss when emulating real mode on Intel. This patch moves the allocation internally, only requiring userspace to tell us where in the physical address space we can place the tss. Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit e0d62c7f48605119a7f9fa632e77561c89928963 Author: Izik Eidus Date: Wed Oct 24 23:57:46 2007 +0200 KVM: Add kernel-internal memory slots Reserve a few memory slots for kernel internal use. This is good for case you have to register memory region and you want to be sure it was not registered from userspace, and for case you want to register a memory region that won't be seen from userspace. Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit 210c7c4d7f200f00ec34960a8c96bb990cbd266d Author: Izik Eidus Date: Wed Oct 24 23:52:57 2007 +0200 KVM: Export memory slot allocation mechanism Remove kvm memory slot allocation mechanism from the ioctl and put it to exported function. Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit 80b14b5b32cb0a98234283daf9b5a6643e1a1ef3 Author: Izik Eidus Date: Thu Oct 25 11:54:04 2007 +0200 KVM: Unmap kernel-allocated memory on slot destruction kvm_vm_ioctl_set_memory_region() is able to remove memory in addition to adding it. Therefore when using kernel swapping support for old userspaces, we need to munmap the memory if the user request to remove it Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit 5f43238d036fb30e73563e81e42d9c6f1de5551a Author: Christian Borntraeger Date: Thu Oct 11 15:34:17 2007 +0200 KVM: Per-architecture hypercall definitions Currently kvm provides hypercalls only for x86* architectures. To provide hypercall infrastructure for other kvm architectures I split kvm_para.h into a generic header file and architecture specific definitions. Signed-off-by: Christian Borntraeger Signed-off-by: Avi Kivity commit 8c392696e749171531d155ea5cefdfc1c970fd18 Author: Eddie Dong Date: Wed Oct 10 12:15:54 2007 +0200 KVM: Split IOAPIC reset function and export for kernel RESET Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Avi Kivity commit 2fcceae145645ec6a4fab0a806bb674d7484d97b Author: Eddie Dong Date: Wed Oct 10 12:14:25 2007 +0200 KVM: Export PIC reset for kernel device reset Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Avi Kivity commit 60395224d94945544f1f9dce5566981844bf0e77 Author: Avi Kivity Date: Sun Oct 21 11:03:36 2007 +0200 KVM: Add a might_sleep() annotation to gfn_to_page() This will help trap accesses to guest memory in atomic context. Signed-off-by: Avi Kivity commit e00c8cf29b9798eb9918469b0cce1766e0ae40d7 Author: Avi Kivity Date: Sun Oct 21 11:00:39 2007 +0200 KVM: Move vmx_vcpu_reset() out of vmx_vcpu_setup() Split guest reset code out of vmx_vcpu_setup(). Besides being cleaner, this moves the realmode tss setup (which can sleep) outside vmx_vcpu_setup() (which is executed with preemption enabled). [izik: remove unused variable] Signed-off-by: Avi Kivity commit 34c16eecf78ed4cf01f39ac7211f5b57942ec899 Author: Zhang Xiantao Date: Sat Oct 20 15:34:38 2007 +0800 KVM: Portability: Split kvm_vcpu into arch dependent and independent parts (part 1) First step to split kvm_vcpu. Currently, we just use an macro to define the common fields in kvm_vcpu for all archs, and all archs need to define its own kvm_vcpu struct. Signed-off-by: Zhang Xiantao Signed-off-by: Avi Kivity commit 8d4e1288ebb753d3140d81cb349f22b0a6829a4a Author: Anthony Liguori Date: Thu Oct 18 09:59:34 2007 -0500 KVM: Allocate userspace memory for older userspace Allocate a userspace buffer for older userspaces. Also eliminate phys_mem buffer. The memset() in kvmctl really kills initial memory usage but swapping works even with old userspaces. A side effect is that maximum guest side is reduced for older userspace on i386. Signed-off-by: Anthony Liguori Signed-off-by: Avi Kivity commit e56a7a28e21aa2d1af659d8f38952411ce9ae40e Author: Christian Borntraeger Date: Thu Oct 18 14:39:10 2007 +0200 KVM: Use virtual cpu accounting if available for guest times. ppc and s390 offer the possibility to track process times precisely by looking at cpu timer on every context switch, irq, softirq etc. We can use that infrastructure as well for guest time accounting. We need to account the used time before we change the state. This patch adds a call to account_system_vtime to kvm_guest_enter and kvm_guest exit. If CONFIG_VIRT_CPU_ACCOUNTING is not set, account_system_vtime is defined in hardirq.h as an empty function, which means this patch does not change the behaviour on other platforms. I compile tested this patch on x86 and function tested the patch on s390. Signed-off-by: Christian Borntraeger Signed-off-by: Avi Kivity commit 8a7ae055f3533b520401c170ac55e30628b34df5 Author: Izik Eidus Date: Thu Oct 18 11:09:33 2007 +0200 KVM: MMU: Partial swapping of guest memory This allows guest memory to be swapped. Pages which are currently mapped via shadow page tables are pinned into memory, but all other pages can be freely swapped. The patch makes gfn_to_page() elevate the page's reference count, and introduces kvm_release_page() that pairs with it. Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit cea7bb21280e3a825e64b54740edc5d3e6e4193c Author: Izik Eidus Date: Wed Oct 17 19:17:48 2007 +0200 KVM: MMU: Make gfn_to_page() always safe In case the page is not present in the guest memory map, return a dummy page the guest can scribble on. This simplifies error checking in its users. Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit 9647c14c98687d0abf5197e74b9d1448ab6ebb95 Author: Izik Eidus Date: Tue Oct 16 14:43:46 2007 +0200 KVM: MMU: Keep a reverse mapping of non-writable translations The current kvm mmu only reverse maps writable translation. This is used to write-protect a page in case it becomes a pagetable. But with swapping support, we need a reverse mapping of read-only pages as well: when we evict a page, we need to remove any mapping to it, whether writable or not. Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit 98348e9507ace5fda95432ff8ca23f13e7f66176 Author: Izik Eidus Date: Tue Oct 16 14:42:30 2007 +0200 KVM: MMU: Add rmap_next(), a helper for walking kvm rmaps Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit b284be576471b1521dd04c0845beedb790cbb9d7 Author: Nitin A Kamble Date: Tue Oct 16 18:23:27 2007 -0700 KVM: x86 emulator: cmc, clc, cli, sti Instruction: cmc, clc, cli, sti opcodes: 0xf5, 0xf8, 0xfa, 0xfb respectively. [avi: fix reference to EFLG_IF which is not defined anywhere] Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit 42bf3f0a1f5a25be26e6bb53162cdee82410310d Author: Avi Kivity Date: Wed Oct 17 12:18:47 2007 +0200 KVM: MMU: Simplify page table walker Simplify the walker level loop not to carry so much information from one loop to the next. In addition to being complex, this made kmap_atomic() critical sections difficult to manage. As a result of this change, kmap_atomic() sections are limited to actually touching the guest pte, which allows the other functions called from the walker to do sleepy operations. This will happen when we enable swapping. Signed-off-by: Avi Kivity commit d77a25074a8f845401f0eb786ebb8996e45d9e22 Author: Nitin A Kamble Date: Fri Oct 12 17:40:33 2007 -0700 KVM: x86 emulator: Implement emulation of instruction: inc & dec Instructions: inc r16/r32 (opcode 0x40-0x47) dec r16/r32 (opcode 0x48-0x4f) Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit 3176bc3e59cc4e30ac10888f08124b31969a7a88 Author: Avi Kivity Date: Tue Oct 16 17:22:08 2007 +0200 KVM: Rename KVM_TLB_FLUSH to KVM_REQ_TLB_FLUSH We now have a new namespace, KVM_REQ_*, for bits in vcpu->requests. Signed-off-by: Avi Kivity commit ab6ef34b906546d85d92dbc3e0fb4e01cce05f62 Author: Avi Kivity Date: Tue Oct 16 16:23:22 2007 +0200 KVM: Move apic timer interrupt backlog processing to common code Beside the obvious goodness of making code more common, this prevents a livelock with the next patch which moves interrupt injection out of the critical section. Signed-off-by: Avi Kivity commit e25e3ed56fce591e09477b0ce043d90f97988f37 Author: Laurent Vivier Date: Fri Oct 12 11:01:59 2007 +0200 KVM: Add some \n in ioapic_debug() Add new-line at end of debug strings. Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit e4d47f404b59adf22f639fedc943db99f090f9ee Author: Qing He Date: Mon Sep 24 17:39:41 2007 +0800 KVM: apic round robin cleanup If no apic is enabled in the bitmap of an interrupt delivery with delivery mode of lowest priority, a warning should be reported rather than select a fallback vcpu Signed-off-by: Qing He Signed-off-by: Eddie (Yaozu) Dong Signed-off-by: Avi Kivity commit 313a3dc75da20630e549441932a7654223f8d72a Author: Carsten Otte Date: Thu Oct 11 19:16:52 2007 +0200 KVM: Portability: split kvm_vcpu_ioctl This patch splits kvm_vcpu_ioctl into archtecture independent parts, and x86 specific parts which go to kvm_arch_vcpu_ioctl in x86.c. Common ioctls for all architectures are: KVM_RUN, KVM_GET/SET_(S-)REGS, KVM_TRANSLATE, KVM_INTERRUPT, KVM_DEBUG_GUEST, KVM_SET_SIGNAL_MASK, KVM_GET/SET_FPU Note that some PPC chips don't have an FPU, so we might need an #ifdef around KVM_GET/SET_FPU one day. x86 specific ioctls are: KVM_GET/SET_LAPIC, KVM_SET_CPUID, KVM_GET/SET_MSRS An interresting aspect is vcpu_load/vcpu_put. We now have a common vcpu_load/put which does the preemption stuff, and an architecture specific kvm_arch_vcpu_load/put. In the x86 case, this one calls the vmx/svm function defined in kvm_x86_ops. Signed-off-by: Carsten Otte Reviewed-by: Christian Borntraeger Reviewed-by: Christian Ehrhardt Signed-off-by: Avi Kivity commit c4fcc2724628c6548748ec80a90b548fc300e81f Author: Avi Kivity Date: Thu Oct 11 15:30:21 2007 +0200 KVM: MMU: When updating the dirty bit, inform the mmu about it Since the mmu uses different shadow pages for dirty large pages and clean large pages, this allows the mmu to drop ptes that are now invalid. Signed-off-by: Avi Kivity commit 5df34a86f917024b67f9e7c850153390973cdfe3 Author: Avi Kivity Date: Thu Oct 11 15:22:59 2007 +0200 KVM: MMU: Move dirty bit updates to a separate function Signed-off-by: Avi Kivity commit 6bfccdc9ae55bb2e0be2e015d7d1ba061f4071c5 Author: Avi Kivity Date: Thu Oct 11 15:13:49 2007 +0200 KVM: MMU: Instantiate real-mode shadows as user writable shadows This is consistent with real-mode permissions. Signed-off-by: Avi Kivity commit cc70e7374df1e3a56d718e8ca330619f316511a6 Author: Avi Kivity Date: Thu Oct 11 15:12:24 2007 +0200 KVM: MMU: Disable write access on clean large pages By forcing clean huge pages to be read-only, we have separate roles for the shadow of a clean large page and the shadow of a dirty large page. This is necessary because different ptes will be instantiated for the two cases, even for read faults. Signed-off-by: Avi Kivity commit c22e3514fceb2f514093ce1d19a2f660ac7347ae Author: Avi Kivity Date: Thu Oct 11 15:08:41 2007 +0200 KVM: MMU: Fix nx access bit for huge pages We must set the bit before the shift, otherwise the wrong bit gets set. Signed-off-by: Avi Kivity commit e3c5e7ec9efe0ebd47fa812cc86f01c51905edf6 Author: Avi Kivity Date: Thu Oct 11 12:32:30 2007 +0200 KVM: Move guest pte dirty bit management to the guest pagetable walker This is more consistent with the accessed bit management, and makes the dirty bit available earlier for other purposes. Signed-off-by: Avi Kivity commit 4a4c99248713e878e1e2880015d01049aec805f3 Author: Anthony Liguori Date: Wed Oct 10 20:08:41 2007 -0500 KVM: MMU: More struct kvm_vcpu -> struct kvm cleanups This time, the biggest change is gpa_to_hpa. The translation of GPA to HPA does not depend on the VCPU state unlike GVA to GPA so there's no need to pass in the kvm_vcpu. Signed-off-by: Anthony Liguori Signed-off-by: Avi Kivity commit f67a46f4aa1212b38696ac6b6a82b4323cea61aa Author: Anthony Liguori Date: Wed Oct 10 19:25:50 2007 -0500 KVM: MMU: Clean up MMU functions to take struct kvm when appropriate Some of the MMU functions take a struct kvm_vcpu even though they affect all VCPUs. This patch cleans up some of them to instead take a struct kvm. This makes things a bit more clear. The main thing that was confusing me was whether certain functions need to be called on all VCPUs. Signed-off-by: Anthony Liguori Signed-off-by: Avi Kivity commit 043405e10001fe7aae60c46a57189515f13a6468 Author: Carsten Otte Date: Wed Oct 10 17:16:19 2007 +0200 KVM: Move x86 msr handling to new files x86.[ch] Signed-off-by: Carsten Otte Signed-off-by: Avi Kivity commit 6fc138d2278078990f597cb1f62fde9e5b458f96 Author: Izik Eidus Date: Tue Oct 9 19:20:39 2007 +0200 KVM: Support assigning userspace memory to the guest Instead of having the kernel allocate memory to the guest, let userspace allocate it and pass the address to the kernel. This is required for s390 support, but also enables features like memory sharing and using hugetlbfs backed memory. Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit d77c26fce93d07802db97498959587eb9347b31d Author: Mike Day Date: Mon Oct 8 09:02:08 2007 -0400 KVM: CodingStyle cleanup Signed-off-by: Mike D. Day Signed-off-by: Avi Kivity commit 7e620d16b8838bc0ad5b27d2dd55796270cd588c Author: Rusty Russell Date: Mon Oct 8 10:55:29 2007 +1000 KVM: Remove gratuitous casts from lapic.c Since vcpu->apic is of the correct type, there's not need to cast. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 76fafa5e22bd82e92d2734852ba23f17322d675a Author: Rusty Russell Date: Mon Oct 8 10:50:48 2007 +1000 KVM: Hoist kvm_create_lapic() into kvm_vcpu_init() Move kvm_create_lapic() into kvm_vcpu_init(), rather than having svm and vmx do it. And make it return the error rather than a fairly random -ENOMEM. This also solves the problem that neither svm.c nor vmx.c actually handles the error path properly. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit d589444e924bc72e42fa94853f9096589d69374d Author: Rusty Russell Date: Mon Oct 8 10:48:30 2007 +1000 KVM: Add kvm_free_lapic() to pair with kvm_create_lapic() Instead of the asymetry of kvm_free_apic, implement kvm_free_lapic(). And guess what? I found a minor bug: we don't need to hrtimer_cancel() from kvm_main.c, because we do that in kvm_free_apic(). Also: 1) kvm_vcpu_uninit should be the reverse order from kvm_vcpu_init. 2) Don't set apic->regs_page to zero before freeing apic. Signed-off-by: Rusty Russell Signed-off-by: Avi Kivity commit 82ce2c96831f049a37118733ced5c8f7c8848102 Author: Izik Eidus Date: Tue Oct 2 18:52:55 2007 +0200 KVM: Allow dynamic allocation of the mmu shadow cache size The user is now able to set how many mmu pages will be allocated to the guest. Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit 195aefde9cc2cee38dd54ef92a866721fba4413e Author: Izik Eidus Date: Mon Oct 1 22:14:18 2007 +0200 KVM: Add general accessors to read and write guest memory Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit 290fc38da8187b53b78dd4d5ab27a20b88ef8b61 Author: Izik Eidus Date: Thu Sep 27 14:11:22 2007 +0200 KVM: Remove the usage of page->private field by rmap When kvm uses user-allocated pages in the future for the guest, we won't be able to use page->private for rmap, since page->rmap is reserved for the filesystem. So we move the rmap base pointers to the memory slot. A side effect of this is that we need to store the gfn of each gpte in the shadow pages, since the memory slot is addressed by gfn, instead of hfn like struct page. Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit f566e09fc2c9f4164e1f0017c8c1c7a18bad7d72 Author: Avi Kivity Date: Sun Sep 30 11:02:53 2007 +0200 KVM: VMX: Simplify vcpu_clear() Now that smp_call_function_single() knows how to call a function on the current cpu, there's no need to check explicitly. Signed-off-by: Avi Kivity commit eae5ecb5b9043812968fae7ad9d74bf5e7a50245 Author: Avi Kivity Date: Sun Sep 30 10:50:12 2007 +0200 KVM: VMX: Don't clear the vmcs if the vcpu is not loaded on any processor Noted by Eddie Dong. Signed-off-by: Avi Kivity commit b4c6abfef400c0f74d9b86a149a6719706cfdbbc Author: Laurent Vivier Date: Tue Sep 25 13:36:40 2007 +0200 KVM: x86 emulator: Any legacy prefix after a REX prefix nullifies its effect This patch modifies the management of REX prefix according behavior I saw in Xen 3.1. In Xen, this modification has been introduced by Jan Beulich. http://lists.xensource.com/archives/html/xen-changelog/2007-01/msg00081.html Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit a22436b7b8ec9b14a0451d9ac0fdc9d370bd7800 Author: Laurent Vivier Date: Mon Sep 24 17:00:58 2007 +0200 KVM: Purify x86_decode_insn() error case management The only valid case is on protected page access, other cases are errors. Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit e4f8e03956de4b1a1dc4bbbdefa9c973d01ee91f Author: Qing He Date: Mon Sep 24 17:22:13 2007 +0800 KVM: x86_emulator: no writeback for bt Signed-off-by: Qing He Signed-off-by: Avi Kivity commit a01af5ec5163cdc51c00f6dcb22d7766199377cf Author: Laurent Vivier Date: Mon Sep 24 11:10:56 2007 +0200 KVM: x86 emulator: Remove no_wb, use dst.type = OP_NONE instead Remove no_wb, use dst.type = OP_NONE instead, idea stollen from xen-3.1 Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit 05f086f87ef17da70d5f4e9b063e9ea31ab20f28 Author: Laurent Vivier Date: Mon Sep 24 11:10:55 2007 +0200 KVM: x86 emulator: remove _eflags and use directly ctxt->eflags. Remove _eflags and use directly ctxt->eflags. Caching eflags is not needed as it is restored to vcpu by kvm_main.c:emulate_instruction() from ctxt->eflags only if emulation doesn't fail. Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit 8cdbd2c9bf3108c41563eef586f22fa8b5174de0 Author: Laurent Vivier Date: Mon Sep 24 11:10:54 2007 +0200 KVM: x86 emulator: split some decoding into functions for readability To improve readability, move push, writeback, and grp 1a/2/3/4/5/9 emulation parts into functions. Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit 217648638ccb62dfeea5ac5fe768539cdee61ed0 Author: Ryan Harper Date: Tue Sep 18 14:05:16 2007 -0500 KVM: MMU: Ignore reserved bits in cr3 in non-pae mode This patch removes the fault injected when the guest attempts to set reserved bits in cr3. X86 hardware doesn't generate a fault when setting reserved bits. The result of this patch is that vmware-server, running within a kvm guest, boots and runs memtest from an iso. Signed-off-by: Ryan Harper Signed-off-by: Avi Kivity commit 12b7d28fc102b772eb70f98491587ec5ee717baf Author: Avi Kivity Date: Sun Sep 23 14:10:49 2007 +0200 KVM: MMU: Make flooding detection work when guest page faults are bypassed When we allow guest page faults to reach the guests directly, we lose the fault tracking which allows us to detect demand paging. So we provide an alternate mechnism by clearing the accessed bit when we set a pte, and checking it later to see if the guest actually used it. Signed-off-by: Avi Kivity commit c7addb902054195b995114df154e061c7d604f69 Author: Avi Kivity Date: Sun Sep 16 18:58:32 2007 +0200 KVM: Allow not-present guest page faults to bypass kvm There are two classes of page faults trapped by kvm: - host page faults, where the fault is needed to allow kvm to install the shadow pte or update the guest accessed and dirty bits - guest page faults, where the guest has faulted and kvm simply injects the fault back into the guest to handle The second class, guest page faults, is pure overhead. We can eliminate some of it on vmx using the following evil trick: - when we set up a shadow page table entry, if the corresponding guest pte is not present, set up the shadow pte as not present - if the guest pte _is_ present, mark the shadow pte as present but also set one of the reserved bits in the shadow pte - tell the vmx hardware not to trap faults which have the present bit clear With this, normal page-not-present faults go directly to the guest, bypassing kvm entirely. Unfortunately, this trick only works on Intel hardware, as AMD lacks a way to discriminate among page faults based on error code. It is also a little risky since it uses reserved bits which might become unreserved in the future, so a module parameter is provided to disable it. Signed-off-by: Avi Kivity commit 51c6cf662b4b361a09fbd324f4c67875d9bcfbea Author: Avi Kivity Date: Wed Aug 29 03:48:05 2007 +0300 KVM: VMX: Further reduce efer reloads KVM avoids reloading the efer msr when the difference between the guest and host values consist of the long mode bits (which are switched by hardware) and the NX bit (which is emulated by the KVM MMU). This patch also allows KVM to ignore SCE (syscall enable) when the guest is running in 32-bit mode. This is because the syscall instruction is not available in 32-bit mode on Intel processors, so the SCE bit is effectively meaningless. Signed-off-by: Avi Kivity commit 3427318fd2244737a466a06a93c5fe579852f871 Author: Laurent Vivier Date: Tue Sep 18 11:27:37 2007 +0200 KVM: Call x86_decode_insn() only when needed Move emulate_ctxt to kvm_vcpu to keep emulate context when we exit from kvm module. Call x86_decode_insn() only when needed. Modify x86_emulate_insn() to not modify the context if it must be re-entered. Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit 1be3aa47182e94944e57b176a5c4ee4e74f1ce33 Author: Laurent Vivier Date: Tue Sep 18 11:27:27 2007 +0200 KVM: emulate_instruction() calls now x86_decode_insn() and x86_emulate_insn() emulate_instruction() calls now x86_decode_insn() and x86_emulate_insn(). x86_emulate_insn() is x86_emulate_memop() without the decoding part. Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit 8b4caf6650808024c37ec4b29cf81b308af998b1 Author: Laurent Vivier Date: Tue Sep 18 11:27:19 2007 +0200 KVM: x86 emulator: move all decoding process to function x86_decode_insn() Split the decoding process into a new function x86_decode_insn(). Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit e4e03deda83b1f2fc37ccbfc1eef27e86e8ed4e9 Author: Laurent Vivier Date: Tue Sep 18 11:52:50 2007 +0200 KVM: x86 emulator: move all x86_emulate_memop() to a structure Move all x86_emulate_memop() common variables between decode and execute to a structure decode_cache. This will help in later separating decode and emulate. struct decode_cache { u8 twobyte; u8 b; u8 lock_prefix; u8 rep_prefix; u8 op_bytes; u8 ad_bytes; struct operand src; struct operand dst; unsigned long *override_base; unsigned int d; unsigned long regs[NR_VCPU_REGS]; unsigned long eip; /* modrm */ u8 modrm; u8 modrm_mod; u8 modrm_reg; u8 modrm_rm; u8 use_modrm_ea; unsigned long modrm_ea; unsigned long modrm_val; }; Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit a7ddce3afc8326870b9e5e02fa41e028bffb10a5 Author: Laurent Vivier Date: Tue Sep 18 11:26:38 2007 +0200 KVM: x86 emulator: remove unused functions Remove #ifdef functions never used Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit 7aa81cc04781b5b99a0647ec04533599d78cd219 Author: Anthony Liguori Date: Mon Sep 17 14:57:50 2007 -0500 KVM: Refactor hypercall infrastructure (v3) This patch refactors the current hypercall infrastructure to better support live migration and SMP. It eliminates the hypercall page by trapping the UD exception that would occur if you used the wrong hypercall instruction for the underlying architecture and replacing it with the right one lazily. A fall-out of this patch is that the unhandled hypercalls no longer trap to userspace. There is very little reason though to use a hypercall to communicate with userspace as PIO or MMIO can be used. There is no code in tree that uses userspace hypercalls. [avi: fix #ud injection on vmx] Signed-off-by: Anthony Liguori Signed-off-by: Avi Kivity commit aca7f96600b170e470b3056aba0ed8d7df8d330d Author: Anthony Liguori Date: Mon Sep 17 14:57:49 2007 -0500 KVM: x86 emulator: Add vmmcall/vmcall to x86_emulate (v3) Add vmmcall/vmcall to x86_emulate. Future patch will implement functionality for these instructions. Signed-off-by: Anthony Liguori Signed-off-by: Avi Kivity commit dd430ca20c40ecccd6954a7efd13d4398f507728 Merge: 60e2331... afadcd7... Author: Linus Torvalds Date: Thu Jan 31 00:40:09 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 * git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: (890 commits) x86: fix nodemap_size according to nodeid bits x86: fix overlap between pagetable with bss section x86: add PCI IDs to k8topology_64.c x86: fix early_ioremap pagetable ops x86: use the same pgd_list for PAE and 64-bit x86: defer cr3 reload when doing pud_clear() x86: early boot debugging via FireWire (ohci1394_dma=early) x86: don't special-case pmd allocations as much x86: shrink some ifdefs in fault.c x86: ignore spurious faults x86: remove nx_enabled from fault.c x86: unify fault_32|64.c x86: unify fault_32|64.c with ifdefs x86: unify fault_32|64.c by ifdef'd function bodies x86: arch/x86/mm/init_32.c printk fixes x86: arch/x86/mm/init_32.c cleanup x86: arch/x86/mm/init_64.c printk fixes x86: unify ioremap x86: fixes some bugs about EFI memory map handling x86: use reboot_type on EFI 32 ... commit 60e233172eabdd1f831bd48631b9626ce2279d9b Author: Linus Torvalds Date: Thu Jan 31 00:30:15 2008 +1100 [net] Gracefully handle shared e1000/1000e driver PCI ID's Both the old e1000 driver and the new e1000e driver can drive some PCI-Express e1000 cards, and we should avoid ambiguity about which driver will pick up the support for those cards when both drivers are enabled. This solves the problem by having the old driver support those cards if the new driver isn't configured, but otherwise ceding support for PCI Express versions of the e1000 chipset to the newer driver. Thus allowing both legacy configurations where only the old driver is active (and handles all chips it knows about) and the new configuration with the new driver handling the more modern PCIE variants. Acked-by: Jeff Garzik Signed-off-by: Linus Torvalds commit 44c45eb911845ec58fc3e26cc8994ba868ea2572 Author: Linus Torvalds Date: Thu Jan 31 00:26:10 2008 +1100 Make !NETFILTER_ADVANCED enable IP6_NF_MATCH_IPV6HEADER We want IPV6HEADER matching for the non-advanced default netfilter configuration, since it's part of the standard netfilter setup of at least some distributions (eg Fedora). Otherwise NETFILTER_ADVANCED loses much of its point, since even non-advanced users would have to enable all the advanced options just to get a working IPv6 netfilter setup. Signed-off-by: Linus Torvalds commit afadcd788f37bfa62d92662e54a720c26c91becf Author: Yinghai Lu Date: Wed Jan 30 13:34:12 2008 +0100 x86: fix nodemap_size according to nodeid bits memnode.map is s16 array because of nodeid is 16 bit now. so need to increase the nodemap_size according to that bits. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9198715763e8d0fd7fb7578c07916a5313e28b9d Author: Yinghai Lu Date: Wed Jan 30 13:34:12 2008 +0100 x86: fix overlap between pagetable with bss section one early crash on one 8 node 256g machine: Command line: console=uart8250,io,0x3f8,115200n8 initrd=kernel.org/mydisk11_x86_64.gz rw root=/dev/ram0 debug initcall_debug apic=debug acpi.debug_level=0x0000000f pci=routeirq ip=dhcp load_ramdisk=1 ramdisk_size=131072 BOOT_IMAGE=kernel.org/bzImage_2.6.25_k8.1 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009bc00 (usable) BIOS-e820: 000000000009bc00 - 00000000000a0000 (reserved) BIOS-e820: 00000000000e6000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 00000000dffe0000 (usable) BIOS-e820: 00000000dffe0000 - 00000000dffee000 (ACPI data) BIOS-e820: 00000000dffee000 - 00000000dffff050 (ACPI NVS) BIOS-e820: 00000000dffff050 - 00000000e0000000 (reserved) BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved) BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved) BIOS-e820: 00000000ff700000 - 0000000100000000 (reserved) BIOS-e820: 0000000100000000 - 0000004020000000 (usable) Early serial console at I/O port 0x3f8 (options '115200n8') console [uart0] enabled end_pfn_map = 67239936 Kernel panic - not syncing: Duplicated early reservation d40000-e42000 Pid: 0, comm: swapper Not tainted 2.6.24-smp-g5a514e21-dirty #3 Call Trace: [] lapic_get_maxlvt+0x0/0x10 [] clear_local_APIC+0x5/0xcf [] disable_local_APIC+0x5/0x17 [] smp_send_stop+0x46/0x4c [] panic+0x94/0x13e [] sctp_eps_proc_init+0x12/0x34 [] reserve_early+0x30/0x6c [] init_memory_mapping+0x2cd/0x2dc [] setup_arch+0x21f/0x44e [] start_kernel+0x6f/0x2c7 [] _sinittext+0x1cc/0x1d3 it turns out there is overlap between pgtable and bss... in System.map we have ffffffff80d40420 b rsi_table ffffffff80d40620 B krb5_seq_lock ffffffff80d40628 b i.20437 ffffffff80d40630 b xprt_rdma_inline_write_padding ffffffff80d40638 b sunrpc_table_header ffffffff80d40640 b zero ffffffff80d40644 b min_memreg ffffffff80d40648 b rpcrdma_tk_lock_g ffffffff80d40650 B sctp_assocs_id_lock ffffffff80d40658 B proc_net_sctp ffffffff80d40660 B sctp_assocs_id ffffffff80d40680 B sysctl_sctp_mem ffffffff80d40690 B sysctl_sctp_rmem ffffffff80d406a0 B sysctl_sctp_wmem ffffffff80d406b0 b sctp_ctl_socket ffffffff80d406b8 b sctp_pf_inet6_specific ffffffff80d406c0 b sctp_pf_inet_specific ffffffff80d406c8 b sctp_af_v4_specific ffffffff80d406d0 b sctp_af_v6_specific ffffffff80d406d8 b sctp_rand.33270 ffffffff80d406dc b sctp_memory_pressure ffffffff80d406e0 b sctp_sockets_allocated ffffffff80d406e4 b sctp_memory_allocated ffffffff80d406e8 b sctp_sysctl_header ffffffff80d406f0 b zero ffffffff80d406f4 A __bss_stop ffffffff80d406f4 A _end need to round up table_start to PAGE_SIZE. also make the panic more informative. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bb4a1d644a84e7e9d1d1fa9d1c7d1017b02e0947 Author: Joachim Deguara Date: Wed Jan 30 13:34:12 2008 +0100 x86: add PCI IDs to k8topology_64.c This just adds the PCI IDs of AMD's family 10h and 11h CPU's northbridges to k8topology discovery. Signed-off-by: Joachim Deguara Signed-off-by: Andi Kleen Acked-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f6df72e71eba621b2f5c49b3a763116fac748f6e Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:34:11 2008 +0100 x86: fix early_ioremap pagetable ops Put appropriate pagetable update hooks in so that paravirt knows what's going on in there. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e3ed910db221768f8fd6192b13373e17d61bcdf0 Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:34:11 2008 +0100 x86: use the same pgd_list for PAE and 64-bit Use a standard list threaded through page->lru for maintaining the pgd list on PAE. This is the same as 64-bit, and seems saner than using a non-standard list via page->index. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fa28ba21cec24d3fa1279bcae7e5d5ff6224635a Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:34:11 2008 +0100 x86: defer cr3 reload when doing pud_clear() PAE mode requires that we reload cr3 in order to guarantee that changes to the pgd will be noticed by the processor. This means that in principle pud_clear needs to reload cr3 every time. However, because reloading cr3 implies a tlb flush, we want to avoid it where possible. pud_clear() is only used in a couple of places: - in free_pmd_range(), when pulling down a range of process address space, and - huge_pmd_unshare() In both cases, the calling code will do a a tlb flush anyway, so there's no need to do it within pud_clear(). In free_pmd_range(), the pud_clear is immediately followed by pmd_free_tlb(); we can hook that to make the mmu_gather do an unconditional full flush to make sure cr3 gets reloaded. In huge_pmd_unshare, it is followed by flush_tlb_range, which always results in a full cr3-reload tlb flush. Signed-off-by: Jeremy Fitzhardinge Cc: Andi Kleen Cc: Linus Torvalds Cc: H. Peter Anvin Cc: William Irwin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f212ec4b7b4d84290f12c9c0416cdea283bf5f40 Author: Bernhard Kaindl Date: Wed Jan 30 13:34:11 2008 +0100 x86: early boot debugging via FireWire (ohci1394_dma=early) This patch adds a new configuration option, which adds support for a new early_param which gets checked in arch/x86/kernel/setup_{32,64}.c:setup_arch() to decide wether OHCI-1394 FireWire controllers should be initialized and enabled for physical DMA access to allow remote debugging of early problems like issues ACPI or other subsystems which are executed very early. If the config option is not enabled, no code is changed, and if the boot paramenter is not given, no new code is executed, and independent of that, all new code is freed after boot, so the config option can be even enabled in standard, non-debug kernels. With specialized tools, it is then possible to get debugging information from machines which have no serial ports (notebooks) such as the printk buffer contents, or any data which can be referenced from global pointers, if it is stored below the 4GB limit and even memory dumps of of the physical RAM region below the 4GB limit can be taken without any cooperation from the CPU of the host, so the machine can be crashed early, it does not matter. In the extreme, even kernel debuggers can be accessed in this way. I wrote a small kgdb module and an accompanying gdb stub for FireWire which allows to gdb to talk to kgdb using remote remory reads and writes over FireWire. An version of the gdb stub fore FireWire is able to read all global data from a system which is running a a normal kernel without any kernel debugger, without any interruption or support of the system's CPU. That way, e.g. the task struct and so on can be read and even manipulated when the physical DMA access is granted. A HOWTO is included in this patch, in Documentation/debugging-via-ohci1394.txt and I've put a copy online at ftp://ftp.suse.de/private/bk/firewire/docs/debugging-via-ohci1394.txt It also has links to all the tools which are available to make use of it another copy of it is online at: ftp://ftp.suse.de/private/bk/firewire/kernel/ohci1394_dma_early-v2.diff Signed-Off-By: Bernhard Kaindl Tested-By: Thomas Renninger Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6194ba6ff6ccf8d5c54c857600843c67aa82c407 Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:34:11 2008 +0100 x86: don't special-case pmd allocations as much In x86 PAE mode, stop treating pmds as a special case. Previously they were always allocated and freed with the pgd. The modifies the code to be the same as 64-bit mode, where they are allocated on demand. This is a step on the way to unifying 32/64-bit pagetable allocation as much as possible. There is a complicating wart, however. When you install a new reference to a pmd in the pgd, the processor isn't guaranteed to see it unless you reload cr3. Since reloading cr3 also has the side-effect of flushing the tlb, this is an expense that we want to avoid whereever possible. This patch simply avoids reloading cr3 unless the update is to the current pagetable. Later patches will optimise this further. Signed-off-by: Jeremy Fitzhardinge Cc: Andi Kleen Cc: Linus Torvalds Cc: H. Peter Anvin Cc: William Irwin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fd40d6e3188b12c59696d6cb4a6f26333814d66f Author: Harvey Harrison Date: Wed Jan 30 13:34:11 2008 +0100 x86: shrink some ifdefs in fault.c The change from current to tsk in do_page_fault is safe as this is set at the very beginning of the function. Removes a likely() annotation from the 64-bit version, this could have instead been added to 32-bit. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5b727a3b0158a129827c21ce3bfb0ba997e8ddd0 Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:34:11 2008 +0100 x86: ignore spurious faults When changing a kernel page from RO->RW, it's OK to leave stale TLB entries around, since doing a global flush is expensive and they pose no security problem. They can, however, generate a spurious fault, which we should catch and simply return from (which will have the side-effect of reloading the TLB to the current PTE). This can occur when running under Xen, because it frequently changes kernel pages from RW->RO->RW to implement Xen's pagetable semantics. It could also occur when using CONFIG_DEBUG_PAGEALLOC, since it avoids doing a global TLB flush after changing page permissions. Signed-off-by: Jeremy Fitzhardinge Cc: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b406ac61e94875723540bd56e26f634afdeef489 Author: Harvey Harrison Date: Wed Jan 30 13:34:11 2008 +0100 x86: remove nx_enabled from fault.c On !PAE 32-bit, _PAGE_NX will be 0, making is_prefetch always return early. The test is sufficient on PAE as __supported_pte_mask is updated in the same places as nx_enabled in init_32.c which also takes disable_nx into account. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c61e211d9989e4c112d3d58db12ad58f9016a3c8 Author: Harvey Harrison Date: Wed Jan 30 13:34:11 2008 +0100 x86: unify fault_32|64.c Unify includes in moved fault.c. Modify Makefiles to pick up unified file. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f8c2ee224d8397364835204c6c0130d08c2e644c Author: Harvey Harrison Date: Wed Jan 30 13:34:10 2008 +0100 x86: unify fault_32|64.c with ifdefs Elimination of these ifdefs can be done in a unified file. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1156e098c5fc142ceaf091f0627109225a9db894 Author: Harvey Harrison Date: Wed Jan 30 13:34:10 2008 +0100 x86: unify fault_32|64.c by ifdef'd function bodies It's about time to get on with unifying these files, elimination of the ugly ifdefs can occur in the unified file. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d7d119d777d7ed22c4095915e9c985a8b75bfe5f Author: Ingo Molnar Date: Wed Jan 30 13:34:10 2008 +0100 x86: arch/x86/mm/init_32.c printk fixes printk fixes. NOP in terms of functionality, but strings got a bit larger due to the KERN_ markers that were added. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8550eb99821b3f78cddfd19964f30e8bc4e429e0 Author: Ingo Molnar Date: Wed Jan 30 13:34:10 2008 +0100 x86: arch/x86/mm/init_32.c cleanup Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 10f22dde556d1ed41d55355d1fb8ad495f9810c8 Author: Ingo Molnar Date: Wed Jan 30 13:34:10 2008 +0100 x86: arch/x86/mm/init_64.c printk fixes Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 14a62c34b134d24f7fedb8fd66028ecdcffb32c8 Author: Thomas Gleixner Date: Wed Jan 30 13:34:10 2008 +0100 x86: unify ioremap Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a3828064be4ed8e95907d3943e7af13cb709694d Author: Huang, Ying Date: Wed Jan 30 13:34:10 2008 +0100 x86: fixes some bugs about EFI memory map handling This patch fixes some bugs of EFI memory handing code. - On x86_64, it is possible that EFI memory map can not be mapped via identity map, so efi_map_memmap is removed, just use early_ioremap. - On i386, the EFI memory map mapping take effect cross paging_init, so it is not necessary to use efi_map_memmap. - EFI memory map is unmapped in efi_enter_virtual_mode to avoid early_ioremap leak. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bed23c67fe077b4d66cb3329263d7cfa33b3fd67 Author: Huang, Ying Date: Wed Jan 30 13:34:10 2008 +0100 x86: use reboot_type on EFI 32 This patch makes reboot_type of BOOT_EFI is used on i386 too. Because correpsonding reboot code of i386 and x86_64 is merged. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 19f0dda91e0dcb38c97bbfcff62b108a3bbc7907 Author: Harvey Harrison Date: Wed Jan 30 13:34:10 2008 +0100 x86: unify page fault oops printing This changes the oops dumping format for page faults to be similar between X86_32 and 64. This is the first user of printk_address on X86_32. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b3279c7fd7acf807ab8395d16658514e8c222a37 Author: Harvey Harrison Date: Wed Jan 30 13:34:10 2008 +0100 x86: introduce show_fault_oops helper to fault_32|64.c This will help when unifying the oops dumping code on 32/64 bit. No functional changes. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 35f3266ffbee7ff8ca0474dc8dfa3b73d5a1d1ef Author: Harvey Harrison Date: Wed Jan 30 13:34:09 2008 +0100 x86: add is_errata100 helper to fault_32|64.c Further towards unifying these files, add another helper in same spirit as is_errata93. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 29caf2f98cdb266dffb50dfd412f951e8d46f719 Author: Harvey Harrison Date: Wed Jan 30 13:34:09 2008 +0100 x86: add is_f00f_bug helper to fault_32|64.c Further towards unifying these files, add another helper in same spirit as is_errata93. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9af993a92623e022c176459fa6607a564b9a7eaf Author: Ingo Molnar Date: Wed Jan 30 13:34:09 2008 +0100 x86: make ioremap() UC by default Yes! A mere 120 c_p_a() fixing and rewriting patches later, we are now confident that we can enable UC by default for ioremap(), on x86 too. Every other architectures was doing this already. Doing so makes Linux more robust against MTRR mixups (which might go unnoticed if BIOS writers test other OSs only - where PAT might override bad MTRRs defaults). Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0879750f5d75dee0546316b7b0e83fb6cd258ad7 Author: Thomas Gleixner Date: Wed Jan 30 13:34:09 2008 +0100 x86: cpa cleanup the 64-bit alias math Cleanup the address calculations, which are necessary to identify the high/low alias mappings of the kernel on 64 bit machines. Instead of calling __pa/__va back and forth, calculate the physical address once and base the other calculations on it. Add understandable constants so we can use the already available within() helper. Also add comments, which help mere mortals to understand what this code does. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 86f03989d99cfa2e1216cdd7aa996852236909cf Author: Ingo Molnar Date: Wed Jan 30 13:34:09 2008 +0100 x86: cpa: fix the self-test Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit aba8391f7323294e88e3a665513434aba4042a7d Author: Ingo Molnar Date: Wed Jan 30 13:34:09 2008 +0100 x86: rodata config hookup Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8f46924600e30b140445f5b84abe9b80d2fff5fb Author: Ingo Molnar Date: Wed Jan 30 13:34:09 2008 +0100 x86: enable CONFIG_DEBUG_PAGEALLOC more widely make CONFIG_DEBUG_PAGEALLOC universally available. CONFIG_HIBERNATION and CONFIG_HUGETLBFS was disabling it, for no particular reason. If there are any unfixed bugs here we'll fix it, but do not disable vital debugging facilities like that .. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ee01f1122ceb02a2c9b7142c5dd17b49e59ba774 Author: Ingo Molnar Date: Wed Jan 30 13:34:09 2008 +0100 x86: init memory debugging debug incorrect/late access to init memory, by permanently unmapping the init memory ranges. Depends on CONFIG_DEBUG_PAGEALLOC=y. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1a4872529e13265d05ffae75b8d09697540016d2 Author: Arjan van de Ven Date: Wed Jan 30 13:34:09 2008 +0100 x86: move misplaced rodata check call It looks like a mismerge put the rodata self-check in the wrong spot; move it to the right place after marking the .rodata section read only. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4c61afcdb2cd4be299c1442b33adf312b695e2d7 Author: Ingo Molnar Date: Wed Jan 30 13:34:09 2008 +0100 x86: fix clflush_page_range logic only present ptes must be flushed. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 3b233e52f70bf102078b2c0c3f7f86a441689056 Author: Thomas Gleixner Date: Wed Jan 30 13:34:08 2008 +0100 x86: optimize clflush clflush is sufficient to be issued on one CPU. The invalidation is broadcast throughout the coherence domain. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit cd8ddf1a2800026dd58433333cce7a65cbc6c6d2 Author: Thomas Gleixner Date: Wed Jan 30 13:34:08 2008 +0100 x86: clflush_page_range needs mfence clflush is an unordered operation with respect to other memory traffic, including other CLFLUSH instructions. This needs proper fencing with mfence. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit af1e6844d60057774910a2d08bd75b67d73ba7d5 Author: Thomas Gleixner Date: Wed Jan 30 13:34:08 2008 +0100 x86: cpa: rename global_flush_tlb() to cpa_flush_all() The function name global_flush_tlb() suggests something different from what the function really does. Rename it to cpa_flush_all(), which is an understandable counterpart to cpa_flush_range(). no global visibility of the old API anymore. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 57a6a46aa26d6e39c62daf8b3b96e94f76e6846f Author: Thomas Gleixner Date: Wed Jan 30 13:34:08 2008 +0100 x86: cpa: implement clflush optimization Use clflush on CPUs which support this. clflush is only used when the page attribute operation has been successful. On CPUs which do not support clflush and in the case of error the old fashioned global_flush_tlb() is called. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 56744546b3e5379177a70e7306c6283f727e4732 Author: Thomas Gleixner Date: Wed Jan 30 13:34:08 2008 +0100 x86: cpa use the new set_clr function Convert cpa_set and cpa_clear to call the new set_clr function. Seperate out the debug helpers. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit ff31452b6ea5032f26f16140d45dc6596260cd9c Author: Thomas Gleixner Date: Wed Jan 30 13:34:08 2008 +0100 x86: cpa create set_and_clr function Create a set_and_clr function to avoid the duplicate loops. Allows also to do combined operations for optimization. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 72932c7ad2cc309b0ba6149aa31faa26aaee54d5 Author: Thomas Gleixner Date: Wed Jan 30 13:34:08 2008 +0100 x86: cpa move the flush into set and clear functions To avoid the modification of the flush code for the clflush implementation, move the flush into the set and clear functions and provide helper functions for the debugging code. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit edeed30589f5defe63ce6aaae56f2b7c855e4520 Author: Arjan van de Ven Date: Wed Jan 30 13:34:08 2008 +0100 x86: add testcases for RODATA and NX protections/attributes Latest update; I now have 4 NX tests, but 2 fail so they're #if 0'd. I also cleaned up the NX test code quite a bit, and got rid of the ugly exception table sorting stuff. From: Arjan van de Ven This patch adds testcases for the CONFIG_DEBUG_RODATA configuration option as well as the NX CPU feature/mappings. Both testcases can move to tests/ once that patch gets merged into mainline. (I'm half considering moving the rodata test into mm/init.c but I'll wait with that until init.c is unified) As part of this I had to fix a not-quite-right alignment in the vmlinux.lds.h for the RODATA sections, which lead to 1 page less being marked read only. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit adafdf6a4e45f2d1051e10aebe13025e89dbdf6d Author: Ingo Molnar Date: Wed Jan 30 13:34:08 2008 +0100 x86: ioremap KERN_INFO Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6eade8ff461fdf13ec6780602eb5618e0bdaa972 Author: Thomas Gleixner Date: Wed Jan 30 13:34:08 2008 +0100 x86: cpa: clean up change_page_attr_set/clear() Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4692a1450b4d1000a942022b088c8791749dd65e Author: Ingo Molnar Date: Wed Jan 30 13:34:07 2008 +0100 x86: cpa: fix loop Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a72a08a4b61cb8868606a69b744848552e92062b Author: Thomas Gleixner Date: Wed Jan 30 13:34:07 2008 +0100 x86: cpa: fix split thinko Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3c1df68b848b39270752ff8d4b956cc4a4dce0f6 Author: Arjan van de Ven Date: Wed Jan 30 13:34:07 2008 +0100 x86: make sure initmem is writable When we free initmem, various rodata and CPA checks may have left memory read only.. this patch ensures that the memory is writable before we free it. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 488fd99588bf23da951b524a806e44feaa1aa366 Author: Arjan van de Ven Date: Wed Jan 30 13:34:07 2008 +0100 x86: fix pageattr-selftest In Ingo's testing, he found a bug in the CPA selftest code. What would happen is that the test would call change_page_attr_addr on a range of memory, part of which was read only, part of which was writable. The only thing the test wanted to change was the global bit... What actually happened was that the selftest would take the permissions of the first page, and then the change_page_attr_addr call would then set the permissions of the entire range to this first page. In the rodata section case, this resulted in pages after the .rodata becoming read only... which made the kernel rather unhappy in many interesting ways. This is just another example of how dangerous the cpa API is (was); this patch changes the test to use the incremental clear/set APIs instead, and it changes the clear/set implementation to work on a 1 page at a time basis. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5398f9854f60d670e8ef1ea08c0e0310f253eeb1 Author: Ingo Molnar Date: Wed Jan 30 13:34:07 2008 +0100 x86: remove flush_agp_mappings() Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d7c8f21a8cad0228c7c5ce2bb6dbd95d1ee49d13 Author: Thomas Gleixner Date: Wed Jan 30 13:34:07 2008 +0100 x86: cpa: move flush to cpa The set_memory_* and set_pages_* family of API's currently requires the callers to do a global tlb flush after the function call; forgetting this is a very nasty deathtrap. This patch moves the global tlb flush into each of the callers Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d1028a154c65d7fadd1b2d0276c077014d401ec7 Author: Arjan van de Ven Date: Wed Jan 30 13:34:07 2008 +0100 x86: make various pageattr.c functions static change_page_attr_add is only used in pageattr.c now, so we can make this function static. change_page_attr() isn't used anywere at all anymore; this function is a really bad API anyway so just remove the bloat entirely. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f62d0f008e889915c93631c04d4c7d871f05bea7 Author: Ingo Molnar Date: Wed Jan 30 13:34:07 2008 +0100 x86: cpa: set_memory_notpresent() Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d806e5ee20f62a892b09aa59559f143d465285db Author: Thomas Gleixner Date: Wed Jan 30 13:34:06 2008 +0100 x86: cpa: convert ioremap to new API Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5f8681529cb243b3a492e55f2da9d632ad0d5e32 Author: Thomas Gleixner Date: Wed Jan 30 13:34:06 2008 +0100 x86: fix ioremap API Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 266b9f8727976769e2ed2dad77ac9295f37e321e Author: Thomas Gleixner Date: Wed Jan 30 13:34:06 2008 +0100 x86: fix ioremap RAM check Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 950f9d95bed1a366434d3597ea75f5b9d772d74f Author: Thomas Gleixner Date: Wed Jan 30 13:34:06 2008 +0100 x86: fix the missing BIOS area check in page_is_ram page_is_ram has a FIXME since ages, which reminds to sanity check the BIOS area between 640k and 1M, which is sometimes falsely reported as RAM in the e820 tables. Implement the sanity check. Move the BIOS range defines from pageattr.c into e820.h to avoid duplicate defines. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5f5192b9feeff6a96c97c143c3ca558fdbe2dc8e Author: Thomas Gleixner Date: Wed Jan 30 13:34:06 2008 +0100 x86: move page_is_ram() function Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e1271f686a0e376aa6ee97984c16f91a787e4480 Author: Arjan van de Ven Date: Wed Jan 30 13:34:06 2008 +0100 x86: deprecate change_page_attr() for drivers With the introduction of the new API, no driver or non-archcore code needs to use c-p-a anymore, so this patch also deprecates the EXPORT_SYMBOL of CPA (it's a horrible API after all). Signed-off-by: Arjan van de Ven Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6d238cc4dc8a36a3915c26202fe49f58a0683fb9 Author: Arjan van de Ven Date: Wed Jan 30 13:34:06 2008 +0100 x86: convert CPA users to the new set_page_ API This patch converts various users of change_page_attr() to the new, more intent driven set_page_*/set_memory_* API set. Signed-off-by: Arjan van de Ven Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 75cbade8ea3127a84e3da7c2c15808e54f0df7e8 Author: Arjan van de Ven Date: Wed Jan 30 13:34:06 2008 +0100 x86: a new API for drivers/etc to control cache and other page attributes Right now, if drivers or other code want to change, say, a cache attribute of a page, the only API they have is change_page_attr(). c-p-a is a really bad API for this, because it forces the caller to know *ALL* the attributes he wants for the page, not just the 1 thing he wants to change. So code that wants to set a page uncachable, needs to be aware of the NX status as well etc etc etc. This patch introduces a set of new APIs for this, set_pages_ and set_memory_, that offer a logical change to the user, and leave all attributes not implied by the requested logical change alone. Signed-off-by: Arjan van de Ven Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e81d5dc41b67349c06e80658227c9156738f0df1 Author: Ingo Molnar Date: Wed Jan 30 13:34:06 2008 +0100 x86: cpa: move clflush_cache_range() Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e64c8aa0c5e5d23730b2d702297e01cd7fe53144 Author: Thomas Gleixner Date: Wed Jan 30 13:34:05 2008 +0100 x86: unify ioremap_32 and _64 Unify the now identical ioremap_32.c and ioremap_64.c into the same ioremap.c file. No code changed. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 240d3a7c47e3fb9c2533f63e9e323a25d91d0643 Author: Thomas Gleixner Date: Wed Jan 30 13:34:05 2008 +0100 x86: unify ioremap Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e4c1b977f0036c00ebabb60375cb63d0de9d43fa Author: Thomas Gleixner Date: Wed Jan 30 13:34:05 2008 +0100 x86: use remove_vm_are in ioremap_32 error path When ioremap_page_range fails, then we can use remove_vm_area instead of vunmap safely. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4b40fcee131847069543cc60a3a79887743c53db Author: Thomas Gleixner Date: Wed Jan 30 13:34:05 2008 +0100 x86: __iomem annotations Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e9332cacd74b25548a517b8dd4fff0216f7907db Author: Thomas Gleixner Date: Wed Jan 30 13:34:05 2008 +0100 x86: switch to change_page_attr_addr in ioremap_32.c Use change_page_attr_addr() instead of change_page_attr(), which simplifies the code significantly and matches the 64bit implementation. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 74ff2857f099951020a47420872f5c1460f32c27 Author: Thomas Gleixner Date: Wed Jan 30 13:34:05 2008 +0100 x86: make c_p_a unconditional in ioremap Make c_p_a unconditional for ioremap and iounmap. This ensures complete consistency of the flags which are handed to ioremap_page_range and the real flags in the mappings. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f87519e8f4f1de9b39a40e56479a7ad2443169dd Author: Thomas Gleixner Date: Wed Jan 30 13:34:05 2008 +0100 x86: introduce max_pfn_mapped 64bit uses end_pfn_map and 32bit uses max_low_pfn. There are several files which have #ifdef'ed defines which map either to end_pfn_map or max_low_pfn. Replace this by a universal define and clean up all the other instances. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 3cbd09e482ade50d212511d4693bd754d4d9dd55 Author: Thomas Gleixner Date: Wed Jan 30 13:34:05 2008 +0100 x86: cleanup ioremap includes Get rid of the douplicate define of ISA_START/END_ADDRESS and use the same headers in 32 and 64 bit code. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 91eebf40b3cb5abd76e813e17dbc320ff2ea3295 Author: Thomas Gleixner Date: Wed Jan 30 13:34:05 2008 +0100 x86: style cleanup of ioremap code Fix the coding style before going further. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 1aaf74e919be54be0023c3124923fb537c7fb772 Author: Thomas Gleixner Date: Wed Jan 30 13:34:05 2008 +0100 x86: fix ioremap pgprot inconsistency The pgprot flags which are handed into ioremap_page_range() are different to those which are set in change_page_attr(). The ioremap_page_range flags are executable, while the c_p_a flags are not. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit a40343497e8983cdf07fde99c9081ee62b96f745 Author: Thomas Gleixner Date: Wed Jan 30 13:34:04 2008 +0100 x86: fix ioremap pgprot inconsistency The pgprot flags which are handed into ioremap_page_range() are different to those which are set in change_page_attr(). The ioremap_page_range flags are executable, while the c_p_a flags are not. Also make the mappings global (which is a NOP currently on 32bit, although CPUs from PPRO+ onwards support it, but that's a separate fix.) Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit ed724be65fa18833244d81b484e425fc838837fa Author: Arjan van de Ven Date: Wed Jan 30 13:34:04 2008 +0100 x86: turn the check_exec function into function that What the check_exec() function really is trying to do is enforce certain bits in the pgprot that are required by the x86 architecture, but that callers might not be aware of (such as NX bit exclusion of the BIOS area for BIOS based PCI access; it's not uncommon to ioremap the BIOS region for various purposes and normally ioremap() memory has the NX bit set). This patch turns the check_exec() function into static_protections() which also is now used to make sure the kernel text area remains non-NX and that the .rodata section remains read-only. If the architecture ends up requiring more such mandatory prot settings for specific areas, this is now a reasonable place to add these. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f316fe687521fad5ad2fd8389397c38aa97439d2 Author: Ingo Molnar Date: Wed Jan 30 13:34:04 2008 +0100 x86: cpa: make self-test depend on DEBUG_KERNEL Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1c17f4d615f34a4ecfcf9132d643126b226f5e79 Author: Huang, Ying Date: Wed Jan 30 13:34:04 2008 +0100 x86: ioremap_nocache fix This patch fixes a bug of ioremap_nocache. ioremap_nocache() will call __ioremap() with flags != 0 to do the real work, which will call change_page_attr_addr() if phys_addr + size - 1 < (end_pfn_map << PAGE_SHIFT). But some pages between 0 ~ end_pfn_map << PAGE_SHIFT are not mapped by identity map, this will make change_page_attr_addr failed. This patch is based on latest x86 git and has been tested on x86_64 platform. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d2e626f45cc450c00f5f98a89b8b4c4ac3c9bf5f Author: Ingo Molnar Date: Wed Jan 30 13:34:04 2008 +0100 x86: add PAGE_KERNEL_EXEC_NOCACHE add PAGE_KERNEL_EXEC_NOCACHE. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4c881ca1819da180b047f87eedeb9a5957918705 Author: Huang, Ying Date: Wed Jan 30 13:34:04 2008 +0100 x86: fix NX bit handling in change_page_attr() This patch fixes a bug of change_page_attr/change_page_attr_addr on Intel i386/x86_64 CPUs. After changing page attribute to be executable with these functions, the page remains un-executable on Intel i386/x86_64 CPU. Because on Intel i386/x86_64 CPU, only if the "NX" bits of all three level page tables are cleared (PAE is enabled), the corresponding page is executable (refer to section 4.13.2 of Intel 64 and IA-32 Architectures Software Developer's Manual). So, the bug is fixed through clearing the "NX" bit of PMD when splitting the huge PMD. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8192206df093e8fc607b5072ce71a930d44f8638 Author: Ingo Molnar Date: Wed Jan 30 13:34:04 2008 +0100 x86: change cpa to pfn based change CPA to pfn based. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 687c4825b6ccab69b85f266ae925500b27aab6c2 Author: Ingo Molnar Date: Wed Jan 30 13:34:04 2008 +0100 x86: keep the BIOS area executable keep the BIOS area executable. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 30551bb3ce9257a2352b3cb4e45010d415cc0ad5 Author: Thomas Gleixner Date: Wed Jan 30 13:34:04 2008 +0100 x86: add PG_LEVEL enum this way PG_LEVEL_1GB will be an easy change. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0a663088cd6ff9e89f285ae7689e6eee46cfb54c Author: Thomas Gleixner Date: Wed Jan 30 13:34:04 2008 +0100 x86: clean up lookup_address() declarations Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e4b71dcf54fa90fc30fb901bbce7e38a46467af7 Author: Ingo Molnar Date: Wed Jan 30 13:34:04 2008 +0100 x86: clean up arch/x86/mm/pageattr.c do some leftover cleanups in the now unified arch/x86/mm/pageattr.c file. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4554ab95c2b9d6b0ee9cf2a7ed3df665422acebb Author: Ingo Molnar Date: Wed Jan 30 13:34:03 2008 +0100 x86: re-add clflush_cache_range() Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b195bc00ef8c2ccf8cc744e5ff9470cb08b45d76 Author: Ingo Molnar Date: Wed Jan 30 13:34:03 2008 +0100 x86: unify pageattr_32.c and pageattr_64.c unify the now perfectly identical pageattr_32/64.c files - no code changed. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6050be70d8f7e3952fcc31fcf1fa8a7cbaa18312 Author: Ingo Molnar Date: Wed Jan 30 13:34:03 2008 +0100 x86: prepare for pageattr.c unification Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 44af6c41e6a055a0b9bd0d2067cfbc8e9f6a24df Author: Ingo Molnar Date: Wed Jan 30 13:34:03 2008 +0100 x86: backmerge 64-bit details into 32-bit pageattr.c backmerge 64-bit details into 32-bit pageattr.c. the pageattr_32.c and pageattr_64.c files are now identical. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 31a0717cbc6191fc56326fdf95548d87055686e3 Author: Ingo Molnar Date: Wed Jan 30 13:34:03 2008 +0100 x86: enable DEBUG_PAGEALLOC on 64-bit enable CONFIG_DEBUG_PAGEALLOC=y on 64-bit kernels too. preliminary testing shows that it's working fine. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ace63e3743ae59fc0cce48450bd2e410776b4148 Author: Ingo Molnar Date: Wed Jan 30 13:34:03 2008 +0100 x86: add kernel_map_pages() to 64-bit needed for DEBUG_PAGEALLOC support and for unification. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f5a50ce1bf53a07cb7d0bab1a87e62cc4f34f0ab Author: Ingo Molnar Date: Wed Jan 30 13:34:03 2008 +0100 x86: return -EINVAL in __change_page_attr(), instead of 0 careful: might change driver behavior - but this is the right return value. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 674d67269e79f6697c3480363b28c9b9934fa60c Author: Ingo Molnar Date: Wed Jan 30 13:34:03 2008 +0100 x86: clean up differences between 64-bit and 32-bit Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6faa4c53b2f06fd271060761ce27f4f53289175c Author: Ingo Molnar Date: Wed Jan 30 13:34:03 2008 +0100 x86: 64-bit, add the new split_large_page() function Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 44136717e06b888c2d3129a80abf9ac79233f1eb Author: Ingo Molnar Date: Wed Jan 30 13:34:03 2008 +0100 x86: 64-bit pageattr.c, prepare for unification Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d9db847f29bec9957c53fbdc05d65c4286235005 Author: Ingo Molnar Date: Wed Jan 30 13:34:02 2008 +0100 x86: change 64-bit pageattr to use set_pte_atomic() NOP change - same as set_pte(). Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0d82494ebd256bfff2336689271367f9284b4865 Author: Ingo Molnar Date: Wed Jan 30 13:34:02 2008 +0100 x86: change 64-bit __change_page_attr() to struct page Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 34eff1d75b26eac5c04f9c5b52ba9e3bf1dd8877 Author: Ingo Molnar Date: Wed Jan 30 13:34:01 2008 +0100 x86: simplify __change_page_attr() Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b65e6390fb99ca93877ffc1c84e93c857f32dafc Author: Ingo Molnar Date: Wed Jan 30 13:34:01 2008 +0100 x86: introduce native_set_pte_atomic() on 64-bit too Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a5c62514885a778016c03dbba833d4ff6786e30c Author: Ingo Molnar Date: Wed Jan 30 13:34:00 2008 +0100 x86: clean up and simplify 64-bit split_large_page() Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5e5224a77eb4c68a982c8096945b0af902f9d655 Author: Ingo Molnar Date: Wed Jan 30 13:34:00 2008 +0100 x86: unify header part of pageattr_64.c Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d6ee09a2a0865f5640592e73ca5da4b06404b200 Author: Ingo Molnar Date: Wed Jan 30 13:33:59 2008 +0100 x86: simplify pageattr_64.c simplify pageattr_64.c. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a5f55035f63cf040b4a7161226ec35520cc10daa Author: Ingo Molnar Date: Wed Jan 30 13:33:59 2008 +0100 x86: prepare for the unification of the cpa code prepare for the unification of the cpa code, by unifying the lookup_address() logic between 32-bit and 64-bit. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bbb09f5cfcde7e4cf1466111d671ac4a62931148 Author: Ingo Molnar Date: Wed Jan 30 13:33:59 2008 +0100 x86: prepare for the unification of the cpa code prepare for the unification of the cpa code, by unifying the lookup_address() logic between 32-bit and 64-bit. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 55ce29ba16f82a31424a98988cf37c3babe1b7c8 Author: Ingo Molnar Date: Wed Jan 30 13:33:58 2008 +0100 x86: cpa self-test, WARN_ON() add a WARN_ON() to the cpa-self-test failure branch. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 12d6f21eacc21d84a809829543f2fe45c7e37319 Author: Ingo Molnar Date: Wed Jan 30 13:33:58 2008 +0100 x86: do not PSE on CONFIG_DEBUG_PAGEALLOC=y get more testing of the c_p_a() code done by not turning off PSE on DEBUG_PAGEALLOC. this simplifies the early pagetable setup code, and tests the largepage-splitup code quite heavily. In the end, all the largepages will be split up pretty quickly, so there's no difference to how DEBUG_PAGEALLOC worked before. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9a3dc7804e9856668caef41efc54179e61ffccc0 Author: Ingo Molnar Date: Wed Jan 30 13:33:57 2008 +0100 x86: cpa: simplify locking further simplify cpa locking: since the largepage-split is a slowpath, use the pgd_lock for the whole operation, intead of the mmap_sem. This also makes it suitable for DEBUG_PAGEALLOC purposes again. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7afe15b9d888050435cd154906828df88d4e667d Author: Ingo Molnar Date: Wed Jan 30 13:33:57 2008 +0100 x86: simplify cpa largepage split, #3 simplify cpa largepage split: push the reference protection bits into the largepage-splitting function. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5508a7489659f1eed108d3ae7c2d36c8794ee330 Author: Ingo Molnar Date: Wed Jan 30 13:33:56 2008 +0100 x86: cpa self-test fixes cpa self-test fixes. change_page_attr_addr() was buggy, it passed in a virtual address as a physical one. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bb5c2dbd57d93a36b0386dd783dd95e0cbaaa23f Author: Ingo Molnar Date: Wed Jan 30 13:33:56 2008 +0100 x86: further cpa largepage-split cleanups further cpa largepage-split cleanups: make the splitup isolated functionality, without leaking details back into __change_page_attr(). Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 97f99fedf27f337e2d3d95ca01e321beb26edc3d Author: Ingo Molnar Date: Wed Jan 30 13:33:55 2008 +0100 x86: simplify 32-bit cpa largepage splitting simplify 32-bit cpa largepage splitting: do a pure split and repeat the pte lookup to get the new pte modified. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 78c94abaea55df7003f3ad0e5b6c78ee1cc860bb Author: Ingo Molnar Date: Wed Jan 30 13:33:55 2008 +0100 x86: simplify the 32-bit cpa code simplify the 32-bit cpa code. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a2172e2586f6662af996e47f417bb718c37cf8d2 Author: Huang, Ying Date: Wed Jan 30 13:33:55 2008 +0100 x86: fix some bugs about EFI runtime code mapping This patch fixes some bugs of making EFI runtime code executable. - Use change_page_attr in i386 too. Because the runtime code may be mapped not through ioremap. - If there is no _PAGE_NX in __supported_pte_mask, the change_page_attr is not called. - Make efi_ioremap map pages as PAGE_KERNEL_EXEC_NOCACHE, because EFI runtime code may be mapped through efi_ioremap. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cd58289667293593b04fd315ec7f2f37589134cb Author: Ingo Molnar Date: Wed Jan 30 13:33:54 2008 +0100 x86: fix more non-global TLB flushes fix more __flush_tlb() instances, out of caution. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1a2b441231ddc12b785940000320894bfa02bd82 Author: Andi Kleen Date: Wed Jan 30 13:33:54 2008 +0100 x86: fix early_ioremap() on 64-bit Fix early_ioremap() on x86-64 I had ACPI failures on several machines since a few days. Symptom was NUMA nodes not getting detected or worse cores not getting detected. They all came from ACPI not being able to read various of its tables. I finally bisected it down to Jeremy's "put _PAGE_GLOBAL into PAGE_KERNEL" change. With that the fix was fairly obvious. The problem was that early_ioremap() didn't use a "_all" flush that would affect the global PTEs too. So with global bits getting used everywhere now an early_ioremap would not actually flush a mapping if something else was mapped previously on that slot (which can happen with early_iounmap inbetween) This patch changes all flushes in init_64.c to be __flush_tlb_all() and fixes the problem here. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 934d15854d04e8ca2495d8f5698164df990d5d66 Author: Andi Kleen Date: Wed Jan 30 13:33:53 2008 +0100 x86: remove set_kernel_exec() The SMP trampoline always runs in real mode, so making it executable in the page tables doesn't make much sense because it executes before page tables are set up. That was the only user of set_kernel_exec(). Remove set_kernel_exec(). Signed-off-by: Andi Kleen Acked-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1e8e23bc469a11fc190a6bace857075d83dc2555 Author: Andi Kleen Date: Wed Jan 30 13:33:53 2008 +0100 x86: introduce canon_pgprot() Introduce canon_pgprot() Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 895bdc29956e5c9e9e101b2b1c2f0ed34130f945 Author: Andi Kleen Date: Wed Jan 30 13:33:52 2008 +0100 x86: c_p_a() make it more robust against use of PAT bits Use the page table level instead of the PSE bit to check if the PTE is for a 4K page or not. This makes the code more robust when the PAT bit is changed because the PAT bit on 4K pages is in the same position as the PSE bit. Signed-off-by: Andi Kleen Acked-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3c868823413d76bdd80c643603be8ab09dcb4d65 Author: Andi Kleen Date: Wed Jan 30 13:33:52 2008 +0100 x86: c_p_a() fix: reorder TLB / cache flushes to follow Intel recommendation Intel recommends to first flush the TLBs and then the caches on caching attribute changes. c_p_a() previously did it the other way round. Reorder that. The procedure is still not fully compliant to the Intel documentation because Intel recommends a all CPU synchronization step between the TLB flushes and the cache flushes. However on all new Intel CPUs this is now meaningless anyways because they support Self-Snoop and can skip the cache flush step anyway. [ mingo@elte.hu: decoupled from clflush and ported it to x86.git ] Signed-off-by: Andi Kleen Acked-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6ba9b7d8f0fe786954015ce5c0ef1837d5df56b7 Author: Andi Kleen Date: Wed Jan 30 13:33:52 2008 +0100 x86: fix c_p_a() boot crash fix: > hm, i just found a failing 64-bit .config while testing your CPA > patchset: > > [ 1.916541] CPA mapping 4k 0 large 2048 gb 0 x 0[0-0] miss 0 > [ 1.919874] Unable to handle kernel paging request at 000000000335aea8 RIP: > [ 1.919874] [] change_page_attr+0x3/0x61 > [ 1.919874] PGD 0 > [ 1.919874] Oops: 0000 [1] > [ 1.919874] CPU 0 This handles addresses which don't have a mem_map entry. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit aaa0e89023656c078c67cbd0460fc2ccbf3323c6 Author: Andi Kleen Date: Wed Jan 30 13:33:51 2008 +0100 x86: don't drop NX bit in pte modifier functions on 32-bit The pte_* modifier functions that cleared bits dropped the NX bit on 32bit PAE because they only worked in int, but NX is in bit 63. Fix that by adding appropiate casts so that the arithmetic happens as long long on PAE kernels. I decided to just use 64bit arithmetic instead of open coding like pte_modify() because gcc should generate good enough code for that now. Signed-off-by: Andi Kleen Acked-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c6ca18eb759c43ae20d953ef90c3de4557f9342a Author: Andi Kleen Date: Wed Jan 30 13:33:51 2008 +0100 x86: add pte_pgprot to 32-bit 64bit already had it. Needed for later patches. Signed-off-by: Andi Kleen Acked-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c93c82bbea20bef627dbe8e34a4bc8e526217104 Author: Andi Kleen Date: Wed Jan 30 13:33:50 2008 +0100 x86: shrink __PAGE_KERNEL/__PAGE_KERNEL_EXEC on non PAE kernels No need to make it 64bit there. Signed-off-by: Andi Kleen Acked-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a3ae91b0a02a4ca0088f30d572c848f5d522573a Author: Andi Kleen Date: Wed Jan 30 13:33:50 2008 +0100 x86: cpa: remove unnecessary masking of address virt_to_page does not care about the bits below the page granuality. So don't mask them. Signed-off-by: Andi Kleen Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5b016432a768d94c707aee02a202c95d163f27c4 Author: Andi Kleen Date: Wed Jan 30 13:33:50 2008 +0100 x86: cpa: use wbinvd() macro instead of inline assembly in 64bit c_p_a() Signed-off-by: Andi Kleen Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0e3a95492989e452a33e5df9b51365da574b854d Author: Ingo Molnar Date: Wed Jan 30 13:33:49 2008 +0100 x86: early_ioremap_init(), enhance warnings enhance the debug warning in early_ioremap_init(). Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 927222b102186a6cc3e43e25062fcd18c800435e Author: Ingo Molnar Date: Wed Jan 30 13:33:49 2008 +0100 x86: fix EISA ioremap Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d701fda8601fe267fbd3648f108f0e751305101b Author: Ingo Molnar Date: Wed Jan 30 13:33:48 2008 +0100 x86: fix early_ioremap()/btmap fix a long-standing weakness of the early-ioremap allocator: it uses a single pgd entry for the boot mappings, and was not properly protecting itself against crossing a 2MB (4MB) boundary. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d690b2afd5a7a02816386aa704c8c0b1aca8d2de Author: Ingo Molnar Date: Wed Jan 30 13:33:47 2008 +0100 x86: add early_ioremap() leak detection Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 793b24a2dd0d695c748efba7b2295e7f9fdd3139 Author: Huang, Ying Date: Wed Jan 30 13:33:45 2008 +0100 x86: make early_ioremap_debug early_param This patch makes "early_ioremap_debug" a early parameter, because "early_ioreamp/early_iounmap" is only used during early boot stage. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d18d6d65efc2f5a3ff9a41528fbcb716b2e32615 Author: Ingo Molnar Date: Wed Jan 30 13:33:45 2008 +0100 x86: early_ioremap(), debugging add early_ioremap() debug printouts via the early_ioremap_debug boot option. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bd796ed0232a036f5ab14ac68d0a05f791ebcc3b Author: Ingo Molnar Date: Wed Jan 30 13:33:45 2008 +0100 x86: add debug warnings to early_ioremap() Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a8efa1cd51d6f6407df5f42d8f1a7e9fc7178d1a Author: Ingo Molnar Date: Wed Jan 30 13:33:45 2008 +0100 x86: increase the number of boot-mappings increase max early_ioremap() remapping size from 64K to 256K. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1b42f51630c7eebce6fb780b480731eb81afd325 Author: Ingo Molnar Date: Wed Jan 30 13:33:45 2008 +0100 x86: enhance early_ioremap() - allow nesting of up to 4 levels Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 64a8f852a20e90bf3018d3ace5b7f514f39db4cd Author: Huang, Ying Date: Wed Jan 30 13:33:44 2008 +0100 x86: early_ioremap_reset fix This patch fixes a bug of early_ioremap_reset. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit beacfaac3f23b30814aafee37a055257c7062ef3 Author: Huang, Ying Date: Wed Jan 30 13:33:44 2008 +0100 x86 32-bit boot: rename bt_ioremap() to early_ioremap() This patch renames bt_ioremap to early_ioremap, which is used in x86_64. This makes it easier to merge i386 and x86_64 usage. [ mingo@elte.hu: fix ] Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4716e79c9946044a53a65418cfba04836f6a5c36 Author: Huang, Ying Date: Wed Jan 30 13:33:44 2008 +0100 x86: replace boot_ioremap() with enhanced bt_ioremap() - remove boot_ioremap() This patch replaces boot_ioremap invokation with bt_ioremap and removes the boot_ioremap implementation. Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0947b2f31ca1ea1211d3cde2dbd8fcec579ef395 Author: Huang, Ying Date: Wed Jan 30 13:33:44 2008 +0100 i386 boot: replace boot_ioremap with enhanced bt_ioremap - enhance bt_ioremap This patch makes it possible for bt_ioremap() to be used before paging_init(), via providing an early implementation of set_fixmap() that can be used before paging_init(). This way boot_ioremap() can be replaced by bt_ioremap(). Signed-off-by: Huang Ying Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4138cc3418f5eaa7524ff8e927102863f1ba0ea5 Author: Siddha, Suresh B Date: Wed Jan 30 13:33:43 2008 +0100 x86: set strong uncacheable where UC is really desired Also use _PAGE_PWT for all the mappings which need uncache mapping. Instead of existing PAT2 which is UC- (and can be overwritten by MTRRs), we now use PAT3 which is strong uncacheable. This makes it consistent with pgprot_noncached() Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fbd3bfd87f91e6a454f3f61f67ee745f0cb59aa4 Author: Joerg Roedel Date: Wed Jan 30 13:33:43 2008 +0100 x86: use __PAGE_KERNEL_EXEC in ioremap_64.c This patch replaces the manual permission setup for pages in ioremap_64.c with the pre-defined __PAGE_KERNEL_EXEC value. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 718f94974d59f57a57480d2448beee05720ab237 Author: Thomas Gleixner Date: Wed Jan 30 13:33:43 2008 +0100 x86: cleanup boot_ioremap_32.c Coding style cleanup before modifying the file. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 851339b1ffc2b215c7c4e448465e78a4c2f643f2 Author: Ingo Molnar Date: Wed Jan 30 13:33:43 2008 +0100 x86: clean up arch/x86/mm/pageattr-test.c fix 15 checkpatch warnings. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fa2d8369a1e0e5dd0fdaaba9d40ca5187f4cd20b Author: Andi Kleen Date: Wed Jan 30 13:33:43 2008 +0100 x86: c_p_a(), add simple self test at boot Since change_page_attr() is tricky code it is good to have some regression test code. This patch maps and unmaps some random pages in the direct mapping at boot and then dumps the state and does some simple sanity checks. Add it with a CONFIG option. Signed-off-by: Andi Kleen Acked-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f0646e43acb18f0e00b00085dc88bc3f403e7930 Author: Ingo Molnar Date: Wed Jan 30 13:33:43 2008 +0100 x86: return the page table level in lookup_address() based on this patch from Andi Kleen: | Subject: CPA: Return the page table level in lookup_address() | From: Andi Kleen | | Needed for the next change. | | And change all the callers. and ported it to x86.git. Signed-off-by: Andi Kleen Acked-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a5a5dc31794c3271c066835ad2c90c58a3805569 Author: Andi Kleen Date: Wed Jan 30 13:33:42 2008 +0100 x86: add pte accessors for the global bit Needed for some test code. Signed-off-by: Andi Kleen Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4c3c4b4513a361cc6ac5ee8677695260c4f0f25f Author: Andi Kleen Date: Wed Jan 30 13:33:42 2008 +0100 x86: clean up pte_exec - Rename it to pte_exec() from pte_exec_kernel(). There is nothing kernel specific in there. - Move it into the common file because _PAGE_NX is 0 on !PAE and then pte_exec() will be always evaluate to true. Signed-off-by: Andi Kleen Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e66a95127dc4273d3573eb03657991f7bbd5dca3 Author: Harvey Harrison Date: Wed Jan 30 13:33:42 2008 +0100 x86: add dump_pagetable helper to X86_32 Similar to x86 64-bit. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0c42f392767d3592e1cf676857d398ef69be7c9c Author: Andi Kleen Date: Wed Jan 30 13:33:42 2008 +0100 c_p_a(): do a simple self test at boot When CONFIG_DEBUG_RODATA is enabled undo the ro mapping and redo it again. This gives some simple testing for change_page_attr(). Signed-off-by: Andi Kleen Acked-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b4416a1be86b0c7bdde4e6ba526715c1a055746f Author: Ingo Molnar Date: Wed Jan 30 13:33:41 2008 +0100 x86: clean up arch/x86/mm/pageattr_64.c clean up arch/x86/mm/pageattr_64.c. no code changed: text data bss dec hex filename 1751 16 0 1767 6e7 pageattr_64.o.before 1751 16 0 1767 6e7 pageattr_64.o.after Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9f4c815ce7ab53150f17c97a382f136a8fb68044 Author: Ingo Molnar Date: Wed Jan 30 13:33:41 2008 +0100 x86: clean up arch/x86/mm/pageattr_32.c clean up arch/x86/mm/pageattr_32.c. no code changed: text data bss dec hex filename 1255 40 0 1295 50f pageattr_32.o.before 1255 40 0 1295 50f pageattr_32.o.after Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6371b495991debfd1417b17c2bc4f7d7bae05739 Author: Ingo Molnar Date: Wed Jan 30 13:33:40 2008 +0100 x86: change ioremap() to default to uncached Prepare ioremap() to default to uncached. This will be the safest - but first we have to fix CPA. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5a96f4a55c3b0bfd40771a973b173e1b94909559 Author: Yinghai Lu Date: Wed Jan 30 13:33:40 2008 +0100 x86: fix recursion in arch/x86/kernel/cpu/mcheck/mce_amd_64.c remove the recursion from this function. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 508bebbb1f211fbf3f392feea44218045096f240 Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:33:40 2008 +0100 x86: allocate and initialize unshared pmds If SHARED_KERNEL_PMD is false, then we need to allocate and initialize the kernel pmd. We can easily piggy-back this onto the existing pmd prepopulation code. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8fe3deef013bebdbed1f75ae59ef9707fb6e5cc7 Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:33:40 2008 +0100 x86: preallocate pmds at pgd creation time In PAE mode, an update to the pgd requires a cr3 reload to make sure the processor notices the changes. Since this also has the side-effect of flushing the tlb, its an expensive operation which we want to avoid where possible. This patch mitigates the cost of installing the initial set of pmds on process creation by preallocating them when the pgd is allocated. This avoids up to three tlb flushes during exec, as it creates the new process address space while the pagetable is in active use. The pmds will be freed as part of the normal pagetable teardown in free_pgtables, which is called in munmap and process exit. However, free_pgtables will only free parts of the pagetable which actually contain mappings, so stray pmds may still be attached to the pgd at pgd_free time. We must mop them up to prevent a memory leak. Signed-off-by: Jeremy Fitzhardinge Cc: Andi Kleen Cc: Linus Torvalds Cc: H. Peter Anvin Cc: William Irwin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1c70e9bd832642b712181e32d1bbf2436058a3df Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:33:39 2008 +0100 xen: deal with pmd being allocated/freed Deal properly with pmd-level pages being allocated and freed dynamically. We can handle them more or less the same as pte pages. Also, deal with early_ioremap pagetable manipulations. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a5a19c63f4e55e32dc0bc3d936d7f94793d8b380 Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:33:39 2008 +0100 x86: demacro asm-x86/pgalloc_32.h Convert macros into inline functions, for better type-checking. This patch required a little bit of fiddling with headers in order to make __(pte|pmd)_free_tlb inline rather than macros. asm-generic/tlb.h includes asm/pgalloc.h, though it doesn't directly use any pgalloc definitions. I removed this include to avoid an include cycle, but it may cause secondary compile failures by things depending on the indirect inclusion; arch/x86/mm/hugetlbpage.c was one such place; there may be others. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6c435456dc91ace468b4e9d72ad0e13dafa22a45 Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:33:39 2008 +0100 x86: add mm parameter to paravirt_alloc_pd Add mm to paravirt_alloc_pd, partly to make it consistent with paravirt_alloc_pt, and because later changes will make use of it. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a89780f3b84f9a421e2608580b55f12b3ac4f9c2 Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:33:39 2008 +0100 xen: fix mismerge in masking pte flags Looks like a mismerge/misapply dropped one of the cases of pte flag masking for Xen. Also, only mask the flags for present ptes. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 261a5ec36befbe6bae069be14f45e618dcd35146 Author: Yinghai Lu Date: Wed Jan 30 13:33:39 2008 +0100 x86: change aper valid checking sequence old sequence: size ==> >4G ==> point to RAM changed to: >4G ==> point to RAM ==> size some bios even leave aper to unclear, so check size at last. To avoid reporting: Node 0: Aperture @ 4a42000000 size 32 MB Aperture too small (32 MB) with this change we will get: Node 0: Aperture @ 4a42000000 size 32 MB Aperture beyond 4G. Ignoring. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit dff244af014144e4ac87dfc5b6e450dc8832710e Author: Alistair John Strachan Date: Wed Jan 30 13:33:39 2008 +0100 x86: force enable HPET on (some?) ICH9 boards Some consumer ICH9 boards (such as the Abit IP35 Pro) do not provide a BIOS option for enabling the HPET. The same ICH workaround used for 6,7,8 can be applied to 9. Here I enable the only PCI id that was visible on my system. I have confirmed the HPETs work both from userspace and as a clocksource for the running kernel (2.6.24 here) after applying this patch. Force enabled HPET at base address 0xfed00000 hpet clockevent registered hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0, 0 hpet0: 4 64-bit timers, 14318180 Hz Signed-off-by: Alistair John Strachan Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 23916d49155552767726f116daf32dfb2aa3af23 Author: Yinghai Lu Date: Wed Jan 30 13:33:39 2008 +0100 x86: not set boot cpu in cpu_online_map in smp_prepare_boot_cpu() in init/main.c boot_cpu_init() does that before. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 07035f076febf5fd791edbdac0e6d3f2f0e00a01 Author: Yinghai Lu Date: Wed Jan 30 13:33:38 2008 +0100 x86: not set boot cpu in cpu_present_map again in init/main.c boot_cpu_init() already does that before setup_arch Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 778cb929adaef0eb4cce74403c0f918d2751cd8f Author: Ian Campbell Date: Wed Jan 30 13:33:38 2008 +0100 x86: unify arch/x86/boot/compressed/misc_??.c Remainder of unification can occur inplace. size reports no change in arch/x86/boot/compressed/vmlinux. Signed-off-by: Ian Campbell Cc: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4c83d6536e7bcc8c0c1319c66337f3f2c89cd06a Author: Ian Campbell Date: Wed Jan 30 13:33:38 2008 +0100 x86: unify variable names in arch/x86/boot/compressed/misc_??.c size reports no change in arch/x86/boot/compressed/vmlinux. Signed-off-by: Ian Campbell Cc: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8751f97486e071b73240e0a0c08e3b663766e45f Author: Ian Campbell Date: Wed Jan 30 13:33:38 2008 +0100 x86: unify headers in arch/x86/boot/compressed/misc_??.c size reports no change in arch/x86/boot/compressed/vmlinux. Signed-off-by: Ian Campbell Cc: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 818a08f8a5681d54532af8263099bb5561afa0c1 Author: Ian Campbell Date: Wed Jan 30 13:33:38 2008 +0100 x86: unify whitespace and comments in arch/x86/boot/compressed/misc_??.c size reports no change in arch/x86/boot/compressed/vmlinux. Signed-off-by: Ian Campbell Cc: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6b3c0426a765dcae277ce9eb06d865a2f109cf48 Author: Ian Campbell Date: Wed Jan 30 13:33:38 2008 +0100 x86: unify strings in arch/x86/boot/compressed/misc_??.c There seems to be a preference for the 64 bit version so use that on 32 bit and drop the stray leading "." Signed-off-by: Ian Campbell Cc: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f18c0e792057059eab9a8ce929af424ff8a4a90f Author: Ian Campbell Date: Wed Jan 30 13:33:38 2008 +0100 x86: unify arch/x86/boot/compressed/vmlinux_??.scr The files are now identical so merge them. size reports no change in arch/x86/boot/compressed/vmlinux. Signed-off-by: Ian Campbell Cc: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 20514e9f6e6221884afada04fbbbde651d3d8654 Author: Ian Campbell Date: Wed Jan 30 13:33:38 2008 +0100 x86: switch to .rodata.compressed in arch/x86/boot/compressed/vmlinux_??.scr vmlinux_64 and vmlinux_32.scr are now identical size shows an expected movement from .text to .rodata and 4 extra bytes of padding. Signed-off-by: Ian Campbell Cc: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 004426eb295b5fff53ed606d5f7495f23674f2c8 Author: Ian Campbell Date: Wed Jan 30 13:33:37 2008 +0100 x86: unify whitespace in arch/x86/boot/compressed/vmlinux_??.scr size reports no change in arch/x86/boot/compressed/vmlinux. Signed-off-by: Ian Campbell Cc: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit afe0bc63ae5fdc642a6181e1b514434f901e39ba Author: Ian Campbell Date: Wed Jan 30 13:33:37 2008 +0100 x86: unify whitespace and comments in arch/x86/boot/compressed/vmlinux_??.lds size reports no change in arch/x86/boot/compressed/vmlinux. Signed-off-by: Ian Campbell Cc: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c6c2d7a084d14a8a701be84872aa1b77d2945f46 Author: Sam Ravnborg Date: Wed Jan 30 13:33:37 2008 +0100 x86: fix usage of .section .sched.text in assembler code Without this patch the linker will generate a section named .sched.text.1 which is unexpected. This is because the gcc generated section has "ax" but the assembler usage of .sched.text lacks the "ax" specifier. It would be better to have a definition we could use from assembler code but I did not find a suitable header file for it. Signed-off-by: Sam Ravnborg Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit adb8daed46356d1772e8bd8def1b70c8cb58ce12 Author: Sam Ravnborg Date: Wed Jan 30 13:33:37 2008 +0100 x86: fix section mismatch warning in setup_64.c Fix the following warning: WARNING: arch/x86/kernel/built-in.o(.cpuinit.text+0x7a3): Section mismatch: reference to .init.text:amd_detect_cmp in 'init_amd' The function amd_detect_cmp were annotated __init and was only used from init_amd() which are annotated __cpuinit. Annotate amd_detect_cmp() with _cpuinit to fix it. Signed-off-by: Sam Ravnborg Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3eaf5efae72b33bc6132e9590e5d4bf11532f8c4 Author: Sam Ravnborg Date: Wed Jan 30 13:33:37 2008 +0100 x86: fix section mismatch warning in topology.c Fix following warning: WARNING: arch/x86/kernel/built-in.o(__ksymtab+0x2b0): Section mismatch: reference to .cpuinit.text:arch_register_cpu in '__ksymtab_arch_register_cpu' Annotating exported symbols are wrong. Previously the warning were hidden by avoiding the export in the non HOTPLUG_CPU case but the improved checks in modpost caught it anyway. Fix it by removing the __cpuinit annotation and rearrange the code a bit to save one ifdef/endif pair. Signed-off-by: Sam Ravnborg Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1e296f578a8ef70b314315a2bfc7b036f947803f Author: Sam Ravnborg Date: Wed Jan 30 13:33:37 2008 +0100 x86: fix section mismatch warning in srat_64.c Fix the following warnings: WARNING: arch/x86/mm/built-in.o(.text+0x1abc): Section mismatch: reference to .init.data:nodes_parsed in 'unparse_node' WARNING: arch/x86/mm/built-in.o(.text+0x1ac6): Section mismatch: reference to .cpuinit.data:apicid_to_node in 'unparse_node' WARNING: arch/x86/mm/built-in.o(.text+0x1ad2): Section mismatch: reference to .cpuinit.data:apicid_to_node in 'unparse_node' unparse_node are static and only used by acpi_scan_nodes which is already annotated __init. So we annotate unparse_node with __init. Signed-off-by: Sam Ravnborg Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 85b74d6c119a7dae882569e57925eaafecc07859 Author: Sam Ravnborg Date: Wed Jan 30 13:33:37 2008 +0100 x86: fix section mismatch warning in early-quirks.c Fix following warnings: WARNING: arch/x86/kernel/built-in.o(.text+0x139e1): Section mismatch: reference to .init.data:early_qrk in 'check_dev_quirk' WARNING: arch/x86/kernel/built-in.o(.text+0x139f5): Section mismatch: reference to .init.data:early_qrk in 'check_dev_quirk' WARNING: arch/x86/kernel/built-in.o(.text+0x13a0c): Section mismatch: reference to .init.data:early_qrk in 'check_dev_quirk' WARNING: arch/x86/kernel/built-in.o(.text+0x13a12): Section mismatch: reference to .init.data:early_qrk in 'check_dev_quirk' WARNING: arch/x86/kernel/built-in.o(.text+0x13a1a): Section mismatch: reference to .init.data:early_qrk in 'check_dev_quirk' WARNING: arch/x86/kernel/built-in.o(.text+0x13a36): Section mismatch: reference to .init.data:early_qrk in 'check_dev_quirk' WARNING: arch/x86/kernel/built-in.o(.text+0x13a42): Section mismatch: reference to .init.data: Warning was caused by access to the __initdata annotated variable from the non-annotated static function check_dev_quirk(). check_dev_quirk() were only used from a function annotated __init so add __init annotation to check_dev_quirk() to fix it. Signed-off-by: Sam Ravnborg Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 87d7e98012e60d36cdb6c9c6a6cd1dec7c2b5a1c Author: Sam Ravnborg Date: Wed Jan 30 13:33:37 2008 +0100 x86: fix section mismatch warning in acpi/boot.c Fix following warning: WARNING: arch/x86/kernel/built-in.o(.text+0x10ea0): Section mismatch: reference to .cpuinit.data:num_processors in 'acpi_unmap_lsapic' The exported function acpi_unmap_lsapic() references the variable num_processors that is annotated __cpuinitdata. Remove the annotation of num_processors as we never know when an exported function are called. And drop the needless initialsation to 0. Warning was seen on 64 bit but similar pattern were seen in 32 bit - so fix it up there too. Signed-off-by: Sam Ravnborg Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4c02ad1efdd1293d6fdd453a2f27ad993458dcd1 Author: Sam Ravnborg Date: Wed Jan 30 13:33:37 2008 +0100 x86: fix section mismatch warning in process_*.c Fix the following warning: WARNING: arch/x86/kernel/built-in.o(.text+0x3): Section mismatch: reference to .cpuinit.data:force_mwait in 'mwait_usable' [Seen on 64 bit only but similar pattern exist on 32 bit so fix it there too] mwait_usable() were only used by a function annotated __cpuinit so annotate mwait_usable() with __cpuinit to fix the warning. Signed-off-by: Sam Ravnborg Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b48ed48a7816aafedb260cafe872a55757b9489e Author: Sam Ravnborg Date: Wed Jan 30 13:33:36 2008 +0100 x86: fix section mismatch warning in mcheck/mce_amd_64.c Fix following warning: WARNING: arch/x86/kernel/cpu/mcheck/built-in.o(.text+0x1584): Section mismatch: reference to .cpuinit.text:threshold_create_device in 'threshold_cpu_callback' threshold_cpu_callback() is only used by threshold_cpu_notifier. threshold_cpu_notifier is only used for cpu hot plug as it is registered using register_hotcpu_notifier(). Mark them both __cpuinit to fix the warning. Signed-off-by: Sam Ravnborg Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1e35669d017eac5bea4739f927b28e64731504e1 Author: Sam Ravnborg Date: Wed Jan 30 13:33:36 2008 +0100 x86: fix section mismatch warning in mcheck/mce_64.c Fix following warning: WARNING: arch/x86/kernel/cpu/mcheck/built-in.o(.text+0x752): Section mismatch: reference to .cpuinit.text:mce_create_device in 'mce_cpu_callback' mce_cpu_callback() is only used by mce_cpu_notofier. The notifier is only used for hotplugable cpu's as it is registered using register_hotcpu_notifier(), Annotate them both __cpuinit to fix the warning. Signed-off-by: Sam Ravnborg Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ff472a114ca11f5354912745fbb94bb66ec10916 Author: Florian Fainelli Date: Wed Jan 30 13:33:36 2008 +0100 x86: add the RDC machine specific reboot fixup The RDC R-321x SoC needs a reboot fixup which uses its internal hardware watchdog set to reset the CPU on next tick. Signed-off-by: Florian Fainelli Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5e3a77e9a9b7bfc1f69f51fe6d34aa649887980c Author: Florian Fainelli Date: Wed Jan 30 13:33:36 2008 +0100 x86: add support for the RDC R-321x SoC This patch adds support for the RDC R-321x system-on-chip, also known as R-861x-(G). It uses the generic GPIO API and has support for the on-chip hardware watchdog. Build-fix from: Randy Dunlap Signed-off-by: Florian Fainelli Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0acf8e3447b893ff921863c2a4258e210d584452 Author: Florian Fainelli Date: Wed Jan 30 13:33:36 2008 +0100 pci: add PCI identifiers for the RDC devices This patch defines the PCI identifiers found in the RDC R-321x System-on-Chip. Signed-off-by: Florian Fainelli Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a608295935d237bdbe95eefdba1e3fa40676df31 Author: Florian Fainelli Date: Wed Jan 30 13:33:35 2008 +0100 x86: add generic GPIO support to x86 This patch adds the generic GPIO support to the x86 architecture. We do the same as for MIPS, we let the machine override the gpio callbacks and provide defaults one in mach-generic. Signed-off-by: Florian Fainelli Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ade761496dcd0aea1c41da21d5a6ced4897f02e7 Author: Andres Salomon Date: Wed Jan 30 13:33:35 2008 +0100 x86: GEODE: update GPIO API to support setting multiple GPIOs at once The existing Geode GPIO API only allows for updating one GPIO at once. There are instances where users want to update multiple GPIOs at once. With the current API, they are given two choices; either ignore the GPIO API: outl(0xc000, gpio_base + GPIO_OUTPUT_VAL); outl(0xc000, gpio_base + GPIO_OUTPUT_ENABLE); Alternatively, call each GPIO update separately: geode_gpio_set(14, GPIO_OUTPUT_VAL); geode_gpio_set(15, GPIO_OUTPUT_VAL); geode_gpio_set(14, GPIO_OUTPUT_ENABLE); geode_gpio_set(15, GPIO_OUTPUT_ENABLE); Neither are desirable. This patch changes the GPIO API to allow for setting of multiple GPIOs at once; rather than being passed an integer, we pass a bitmask and provide a translation function. The above code would now look like this: geode_gpio_set(geode_gpio(14)|geode_gpio(15), GPIO_OUTPUT_VAL); geode_gpio_set(geode_gpio(14)|geode_gpio(15), GPIO_OUTPUT_ENABLE); Since there are no upstream users of the GPIO API yet (afaik), best to change this now. This also adds a bit of sanity checking; it is no longer possible to use a GPIO above 28. Note the semantics of geode_gpio_isset() have changed: geode_gpio_isset(geode_gpio(3)|geode_gpio(4), ...) will only return true iff both GPIOs are set. Signed-off-by: Andres Salomon Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 519efbc0b3b6004a3b98d66a446bce30852c8171 Author: Andreas Herrmann3 Date: Wed Jan 30 13:33:35 2008 +0100 x86: fix cpu MHz reporting for AMD family 0x11 Fix cpu MHz reporting for AMD family 0x11 when powernow-k8 is disabled. Just adhere to the CONSTANT_TSC feature bit for AMD CPUs when deciding whether cpu_khz needs calibration. The additional check for CPU family is not needed and prevents calibration for future CPUs. Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cd7d72bb27a8c7502a602bdc299f1bb0a9357975 Author: Ingo Molnar Date: Wed Jan 30 13:33:35 2008 +0100 x86: improve MTRR trimming messages improve the MTTR trimming messages and also trigger a WARN_ON() so that kerneloops.org can pick it up and categorize it. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9a1b62fe858ba6780a9aeb4ab5f7751038a6c15d Author: Minoru Usui Date: Wed Jan 30 13:33:35 2008 +0100 x86: fix NUMA emulation on 64-bit I found a small bug of NUMA emulation code for x86_64. (CONFIG_NUMA_EMU) If machine is non-NUMA, find_node_by_addr() should return NUMA_NO_NODE, but current implementation code returns existent maximum NUMA node number + 1. This is not existent NUMA node number. However, this behaviour does not affect NUMA emulation fortunately, because acpi_fake_nodes() that is caller of find_node_by_addr() gets pxm (proximity domain) by node_to_pxm() from non-existent NUMA node number that was returned by find_node_by_addr(). node_to_pxm() returns PXM_INVAL that means illegal or non-existent NUMA node number. Signed-off-by: Minoru Usui Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 53391fa20cab6df6b476a5a0ad6be653c9de0c46 Author: Yi Yang Date: Wed Jan 30 13:33:34 2008 +0100 cpufreq: fix obvious condition statement error The function __cpufreq_set_policy in file drivers/cpufreq/cpufreq.c has a very obvious error: if (policy->min > data->min && policy->min > policy->max) { ret = -EINVAL; goto error_out; } This condtion statement is wrong because it returns -EINVAL only if policy->min is greater than policy->max (in this case, "policy->min > data->min" is true for ever.). In fact, it should return -EINVAL as well if policy->max is less than data->min. The correct condition should be: if (policy->min > data->max || policy->max < data->min) { The following test result testifies the above conclusion: Before applying this patch: [root@yangyi-dev /]# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies 2394000 1596000 [root@yangyi-dev /]# echo 1596000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq [root@yangyi-dev /]# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 1596000 [root@yangyi-dev /]# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 1596000 [root@yangyi-dev /]# echo "2000000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq -bash: echo: write error: Invalid argument [root@yangyi-dev /]# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 1596000 [root@yangyi-dev /]# echo "0" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq [root@yangyi-dev /]# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 1596000 [root@yangyi-dev /]# echo "1595000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq [root@yangyi-dev /]# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 1596000 [root@yangyi-dev /]# After applying this patch: [root@yangyi-dev /]# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies 2394000 1596000 [root@yangyi-dev /]# echo 1596000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq [root@yangyi-dev /]# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 1596000 [root@yangyi-dev /]# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 1596000 [root@localhost /]# echo "2000000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq -bash: echo: write error: Invalid argument [root@localhost /]# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 1596000 [root@localhost /]# echo "0" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq -bash: echo: write error: Invalid argument [root@localhost /]# echo "1595000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq -bash: echo: write error: Invalid argument [root@localhost /]# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 1596000 [root@localhost /]# echo "1596000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq [root@localhost /]# echo "2394000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq [root@localhost /]# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 2394000 [root@localhost /] Signed-off-by: Yi Yang Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1ce357129a55a791318e23f5d7b8a9f1352858aa Author: travis@sgi.com Date: Wed Jan 30 13:33:33 2008 +0100 x86: early cpu_to_node fix in numa_64.c Both of these references to cpu_to_node() can potentially occur before the "late" cpu_to_node map is setup. Therefore, they should be changed to use early_cpu_to_node(). Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e6c4dc6c36b01d33a2e0c8a89828d8dd44fb4c1b Author: Willy Tarreau Date: Wed Jan 30 13:33:33 2008 +0100 x86: GEODE add the "mfgptfix" boot time option to fix MFGPT timers The new "mfgptfix" boot command line option may be usd to fix MFGPT timers on AMD Geode platforms when the BIOS has incorrectly applied a workaround. TinyBIOS version 0.98 is known to be affected, 0.99 fixes the problem by letting the user disable the workaround. Signed-off-by: Willy Tarreau Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 45078cb5e2fb5a0e55c373755ed45b43d901f9e4 Author: Hiroshi Shimamoto Date: Wed Jan 30 13:33:33 2008 +0100 x86: remove struct cpu_model_info No one uses struct cpu_model_info on x86_64 now. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 85e2aeea80b453800c19e7713d85c8f91ed97b5b Author: Cyrill Gorcunov Date: Wed Jan 30 13:33:33 2008 +0100 x86: use KSYM_NAME_LEN Use KSYM_NAME_LEN instead of numeric value Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3effef1f3bbc2a63cc79c9eda789642ac06067b3 Author: Yinghai Lu Date: Wed Jan 30 13:33:33 2008 +0100 x86: should use array directly for early_ptr Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ac629a98bf98bfe66bf0a674b22be3474ee6a9a4 Author: Yinghai Lu Date: Wed Jan 30 13:33:33 2008 +0100 x86: remove duplicated line about Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit dd5af90a7f3d79e04b7eace9a98644dbf2038f4d Author: Mike Travis Date: Wed Jan 30 13:33:32 2008 +0100 x86/non-x86: percpu, node ids, apic ids x86.git fixup Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3212bff370c2f22e4987c6679ba485654cefb178 Author: Yinghai Lu Date: Wed Jan 30 13:33:32 2008 +0100 x86: left over fix for leak of early_ioremp in dmi_scan Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 093af8d7f0ba3c6be1485973508584ef081e9f93 Author: Yinghai Lu Date: Wed Jan 30 13:33:32 2008 +0100 x86_32: trim memory by updating e820 when MTRRs are not covering the whole e820 table, we need to trim the RAM and need to update e820. reuse some code on 64-bit as well. here need to add early_get_cap and use it in early_cpu_detect, and move mtrr_bp_init early. The code successfully trimmed the memory map on Justin's system: from: [ 0.000000] BIOS-e820: 0000000100000000 - 000000022c000000 (usable) to: [ 0.000000] modified: 0000000100000000 - 0000000228000000 (usable) [ 0.000000] modified: 0000000228000000 - 000000022c000000 (reserved) According to Justin it makes quite a difference: | When I boot the box without any trimming it acts like a 286 or 386, | takes about 10 minutes to boot (using raptor disks). Signed-off-by: Yinghai Lu Tested-by: Justin Piszcz Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 11201e603d28a1cb7a4bb1d65f39e61629c97a28 Author: Ingo Molnar Date: Wed Jan 30 13:33:32 2008 +0100 x86: fix DEBUG_RODATA kconfig text fix kconfig text and make DEBUG_RODATA default. this helps debugging quite a bit. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8a45eb31d832af5441703bf447c97f786ff850a4 Author: Jan Engelhardt Date: Wed Jan 30 13:33:32 2008 +0100 x86: constify function pointer tables Signed-off-by: Jan Engelhardt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 42d545c9a4c0d3faeab658a40165c3da2dda91b2 Author: Eduardo Pereira Habkost Date: Wed Jan 30 13:33:32 2008 +0100 x86: remove depends on X86_32 from PARAVIRT & PARAVIRT_GUEST With this, the paravirt_ops code can be enabled on x86_64 also. Each guest implementation (Xen, VMI, lguest) now depends on X86_32. The dependencies can be dropped for each one when they start to support x86_64. Signed-off-by: Eduardo Habkost Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e61bd94a36a9f2c394d75ebe3614fe0a612bcf2d Author: Eduardo Pereira Habkost Date: Wed Jan 30 13:33:32 2008 +0100 x86: allow enabling PARAVIRT without any guest implementation This will allow people to enable the paravirt_ops code even when no guest support is enabled, for broader testing of the paravirt_ops code. Signed-off-by: Eduardo Habkost Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 612a95b4e053b8a06319049191fd2dce9c970189 Author: Andi Kleen Date: Wed Jan 30 13:33:32 2008 +0100 x86: remove iBCS support ibcs2 support has never been supported on 2.6 kernels as far as I know, and if it has it must have been an external patch. Anyways, if anybody applies an external patch they could as well readd the ibcs checking code to the ELF loader in the same patch. But there is no reason to keep this code running in all Linux kernels. This will save at least two strcmps each ELF execution. No deprecation period because it could not have been used anyway. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f8f76481bc2803aea03ff213c7e1405b53f7e488 Author: Bernhard Walle Date: Wed Jan 30 13:33:31 2008 +0100 rtc: use the IRQ callback interface in (old) RTC driver the previous patch in the old RTC driver. It also removes the direct rtc_interrupt() call from arch/x86/kernel/hpetc.c so that there's finally no (code) dependency to CONFIG_RTC in arch/x86/kernel/hpet.c. Because of this, it's possible to compile the drivers/char/rtc.ko driver as module and still use the HPET emulation functionality. This is also expressed in Kconfig. Signed-off-by: Bernhard Walle Cc: Alessandro Zummo Cc: David Brownell Cc: Andi Kleen Cc: john stultz Cc: Robert Picco Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1bdbdaacf774f2979ed4cb0c4a4316c9e578c897 Author: Bernhard Walle Date: Wed Jan 30 13:33:28 2008 +0100 x86, rtc: make CONFIG_HPET_EMULATE_RTC usable from modules enabled, then interrupts don't work for the rtc-cmos driver which results in RTC_AIE*, RTC_PIE* and RTC_ALM being unusable. This affects hwclock from util-linux-ng at least on i386 since that uses RTC_PIE_ON. (For x86-64, a polling method is used for unknown reasons.) This patch series now 1. export the functions from arch/x86/kernel/hpet.c that the old char/rtc driver uses to work around that problem, 2. makes it possible to compile the old rtc driver as module, while still having CONFIG_HPET_EMULATE_RTC enabled and 3. makes use of the exported functions in (1) in the new rtc-cmos driver. This patch: This patch makes the RTC emulation functions in arch/x86/kernel/hpet.c usable for kernel modules. It - exports the functions (EXPORT_SYMBOL_GPL()), - adds an interface to register the interrupt callback function instead of using only a fixed callback function and - replaces the rtc_get_rtc_time() function which depends on CONFIG_RTC with a call to get_rtc_time() which is defined in include/asm-generic/rtc.h. The only dependency to CONFIG_RTC is the call to rtc_interrupt() which is removed by the next patch. After this, there's no (code) dependency of this functions to CONFIG_RTC=y any more. Signed-off-by: Bernhard Walle Cc: Alessandro Zummo Cc: David Brownell Cc: Andi Kleen Cc: john stultz Cc: Robert Picco Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8b2f7ffffe7f247ba237322fee78c528ba88f16b Author: Sam Ravnborg Date: Wed Jan 30 13:33:28 2008 +0100 x86: fix Section mismatch: reference to .init.text:lguest_entry fix: > WARNING: vmlinux.o(.data+0x4): Section mismatch: reference to .init.text:lguest_entry (between 'subarch_entries' and 'stack_start') Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5756dd59f118daacd68ee971a2381360ef769c48 Author: Ian Campbell Date: Wed Jan 30 13:33:27 2008 +0100 x86_32: always run the full set of paging state. I am preparing to convert the boot time page table to the kernels native format. To achieve that I need to enable PAE. Enabling PSE and the no execute bit would not hurt. So this patch modifies the boot cpu path to execute all of the kernels enable code if and only if we have the proper bits set in mmu_cr4_features. Signed-off-by: Eric W. Biederman Signed-off-by: Ian Campbell Cc: H. Peter Anvin Cc: Andi Kleen Cc: Mika Penttilä Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 503595010f2024b236fd2636a7318fe64c794d6c Author: Ian Campbell Date: Wed Jan 30 13:33:27 2008 +0100 x86_32: remove unnecessary use of %ebx as the boot cpu flag Currently in head_32.S there are two ways we test to see if we are the boot cpu. By looking at %ebx and by looking at the static variable ready. When changing things around I have found that it gets tricky to preserve %ebx. So this patch just switches head.S over to the more reliable test of always using ready. Hopefully later we can kill these tests entirely. Signed-off-by: Eric W. Biederman Signed-off-by: Ian Campbell Cc: H. Peter Anvin Cc: Andi Kleen Cc: Mika Penttilä Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4323838215184f5a2f081e0d17b8d60731b03164 Author: travis@sgi.com Date: Wed Jan 30 13:33:25 2008 +0100 x86: change size of node ids from u8 to s16 Change the size of node ids for X86_64 from u8 to s16 to accomodate more than 32k nodes and allow for NUMA_NO_NODE (-1) to be sign extended to int. Cc: David Rientjes Cc: Yinghai Lu Cc: Eric Dumazet Signed-off-by: Mike Travis Reviewed-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 409a7b859ddb6e0a615d9f3ccddedaec218c56b6 Author: Mel Gorman Date: Wed Jan 30 13:33:25 2008 +0100 x86: relax restrictions on setting CONFIG_NUMA on x86, #2 The FLATMEM memory model references a global mem_map and max_mapnr. This is incompatible with how memory models used for NUMA view the world. Builds fail if FLATMEM && NUMA are set on x86. This patch forbids that combination of config items. This is consistent with x86_64 enforcements. Signed-off-by: Mel Gorman Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1b000a5dbeb2f34bc03d45ebdf3f6d24a60c3aed Author: Mel Gorman Date: Wed Jan 30 13:33:25 2008 +0100 x86: make NUMA work on 32-bit The DISCONTIG memory model on x86 32 bit uses a remap allocator early in boot. The objective is that portions of every node are mapped in to the kernel virtual area (KVA) in place of ZONE_NORMAL so that node-local allocations can be made for pgdat and mem_map structures. With SPARSEMEM, the amount that is set aside is insufficient for all the mem_maps to be allocated. During the boot process, it falls back to using the bootmem allocator. This breaks assumptions that SPARSEMEM makes about the layout of the mem_map in memory and results in a VM_BUG_ON triggering due to pfn_to_page() returning garbage values. This patch only enables the remap allocator for use with DISCONTIG. Without SRAT support, a compile-error occurs because ACPI table parsing functions are only available in x86-64. This patch also adds no-op stubs and prints a warning message. What likely needs to be done is sharing the table parsing functions between 32 and 64 bit if they are compatible. Signed-off-by: Mel Gorman Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a5ff677c2fb10567d1e750fb9e4417d95081071b Author: Harvey Harrison Date: Wed Jan 30 13:33:25 2008 +0100 x86: make printk_address available on X86_32 Small fomatting fixes to 64-bit as well, trailing whitespace and extra semicolon, also move the ifdefs for CONFIG_KALLSYMS into the function itself. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 625d6cffcac1c96faa18d629f1271d63af0e05f2 Author: Mike Travis Date: Wed Jan 30 13:33:25 2008 +0100 x86: fix early cpu_to_node panic from nr_free_zone_pages call early_cpu_to_node() since per_cpu(cpu_to_node_map) might not be setup yet. I also had to export x86_cpu_to_node_map_early_ptr because of some calls from the network code to numa_node_id(): net/ipv4/netfilter/arp_tables.c: net/ipv4/netfilter/ip_tables.c: net/ipv4/netfilter/ip_tables.c: Signed-off-by: Mike Travis Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c84d6af881be84687fa924f16b2f4b4690354165 Author: Alan Cox Date: Wed Jan 30 13:33:25 2008 +0100 x86: reboot: remove inb_p usage We are driving a motherboard port so use a 2uS explicit delay at this point. Signed-off-by: Alan Cox Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 08b6d290f977d8145804fd2b9bc2c331f2484f8e Author: Sam Ravnborg Date: Wed Jan 30 13:33:25 2008 +0100 xen: fix section usage in xen-head.S and setup.c additional section for .init.text appending a number. A side effect of this was a section mismatch warning because modpost did not recognize a .init.text section named .init.text.1: WARNING: vmlinux.o(.text.head+0x247): Section mismatch: reference to .init.text.1:start_kernel (between 'is386' and 'check_x87') Fix this by hardcoding the "ax" in the pushsection. Thanks to Torlaf for reporting this. Alan Modra provided the hint that made me able to locate the root cause of this warning. And Mike Frysinger told me how to properly fix it using __INIT/__FINIT. Fix following Section mismatch warning in addition: WARNING: vmlinux.o(.text+0x14c8): Section mismatch: reference to .init.data:vsyscall_int80_start (between 'fiddle_vdso' and 'xen_setup_features') fiddle_vdso was only used from a __init function - so declare it __init. Signed-off-by: Sam Ravnborg Cc: Jeremy Fitzhardinge Cc: Chris Wright Cc: WANG Cong Cc: Toralf Förster Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e68decb52104388ed6c6218be926e10e6cde2814 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:33:24 2008 +0100 x86: export __supported_pte_mask export __supported_pte_mask variable as GPL symbol. lguest is a user of it. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit dbae595249bdbacd852e677f9b3e995f65c16781 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:33:24 2008 +0100 x86: export check_tsc_unstable Exporrt check_tsc_unstable function as GPL symbol. lguest is a user of it. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 518edc93f8b29bc3e31a13ced0af27c602feed8f Author: Harvey Harrison Date: Wed Jan 30 13:33:24 2008 +0100 x86: update reliability argument to printk_address Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 084662580ddc282f38b31da62af5d75208a59b12 Author: Harvey Harrison Date: Wed Jan 30 13:33:24 2008 +0100 x86: add vdso32-int80-syms.lds to .gitignore One of the generated files was missed in gitignore. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9c5ba48958acf6d584f57e9169ad7ecc80ccc390 Author: Ingo Molnar Date: Wed Jan 30 13:33:24 2008 +0100 x86: clean up paging_init() Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 75f2ce033168ff435e72bf5bb615176d9930e77f Author: Ingo Molnar Date: Wed Jan 30 13:33:24 2008 +0100 x86: get_cycles() fix Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fc7250ab38346762c567813794b80ee6c57dfed6 Author: Yinghai Lu Date: Wed Jan 30 13:33:24 2008 +0100 x86: only support sparsemem sparsemem is only one supported, so could remove FLAT_NODE_MEM related, that is only needed !SPARSEMEM Signed-off-by: Yinghai Lu Reviewed-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 70edcd77a0d6d0f8731c826764f5eb6732f521e9 Author: Ingo Molnar Date: Wed Jan 30 13:33:24 2008 +0100 genirq: stackdump after the "Trying to free already-free IRQ" message these bugs are harder to find than they seem, a stackdump helps. make it dependent on CONFIG_DEBUG_SHIRQ so that people can turn it off if it annoys them. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 17abecfe651c862cd31b1f9e8ef6cfc29083f00d Author: Ingo Molnar Date: Wed Jan 30 13:33:24 2008 +0100 x86: fix up alternatives with lockdep enabled An older binutils bug caused us to not fix up alternatives. This problem involved mutex.c but we dont do lockdep section tricks there anymore, so this workaround is moot. Keep the printk nevertheless, just in case ... We can remove that later on. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ad8ca495bd3e03e6751fc0c6a6af44018ebb4036 Author: Ingo Molnar Date: Wed Jan 30 13:33:24 2008 +0100 x86: add warning to check_tsc_warp() add warning to check_tsc_warp() - if get_cycles() does not progress. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit df43510b18b8439465b4b58556f0495b5f5d771e Author: Ingo Molnar Date: Wed Jan 30 13:33:23 2008 +0100 x86: check_tsc_warp() slowness fix 100 million max # of loops is a bit too much - reduce it to 10 million. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ade1af77129dea6e335b525ed3be3b846bc1ec13 Author: Jan Engelhardt Date: Wed Jan 30 13:33:23 2008 +0100 x86: remove unneded casts x86: remove unneeded casts Signed-off-by: Jan Engelhardt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d729ab35ee1367b7690458ae9e050571cb055bd3 Author: Harvey Harrison Date: Wed Jan 30 13:33:23 2008 +0100 x86: use v8086_mode helper, trivial unification Use v8086_mode inline in fault_32.c, no functional change also ifdef the section for 32-bit only and add to fault_64.c Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5f5cd8fd60c71ce47d2ce4e60e7ccbc306e91c64 Author: Ingo Molnar Date: Wed Jan 30 13:33:23 2008 +0100 x86: add debug of invalid per_cpu map accesses dont crash survivable situations. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c49a4955ea504c82f6b690491639bba5b8c1dc47 Author: travis@sgi.com Date: Wed Jan 30 13:33:22 2008 +0100 x86: add debug of invalid per_cpu map accesses Provide a means to trap usages of per_cpu map variables before they are setup. Define CONFIG_DEBUG_PER_CPU_MAPS to activate. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 602a54a8cab2759fceb20b3e0c2a27c4eac005df Author: travis@sgi.com Date: Wed Jan 30 13:33:21 2008 +0100 x86: change bios_cpu_apicid to percpu data variable fixup Change static bios_cpu_apicid array to a per_cpu data variable. This includes using a static array used during initialization similar to the way x86_cpu_to_apicid[] is handled. There is one early use of bios_cpu_apicid in apic_is_clustered_box(). The other reference in cpu_present_to_apicid() is called after smp_set_apicids() has setup the percpu version of bios_cpu_apicid. Signed-off-by: Mike Travis Reviewed-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0164fe16247ac2e1b697a9bf0e71df81497c4709 Author: Mike Travis Date: Wed Jan 30 13:33:21 2008 +0100 x86: fix early NUMA-id access Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 834beda15ecc43c110c0a6ac39ec1aa79f891716 Author: travis@sgi.com Date: Wed Jan 30 13:33:21 2008 +0100 x86: change NR_CPUS arrays in numa_64 fixup Change the following static arrays sized by NR_CPUS to per_cpu data variables: char cpu_to_node_map[NR_CPUS]; fixup: - Split cpu_to_node function into "early" and "late" versions so that x86_cpu_to_node_map_early_ptr is not EXPORT'ed and the cpu_to_node inline function is more streamlined. - This also involves setting up the percpu maps as early as possible. - Fix X86_32 NUMA build errors that previous version of this patch caused. V2->V3: - add early_cpu_to_node function to keep cpu_to_node efficient - move and rename smp_set_apicids() to setup_percpu_maps() - call setup_percpu_maps() as early as possible V1->V2: - Removed extraneous casts - Fix !NUMA builds with '#ifdef CONFIG_NUMA" Signed-off-by: Mike Travis Reviewed-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ac72e7888a612dccfbc15b34698aad441bdfda10 Author: Andi Kleen Date: Wed Jan 30 13:33:21 2008 +0100 x86: add generic clearcpuid=... option Add a generic option to clear any cpuid bit. I added it because it was very easy to add with the new generic cpuid disable bitmap and perhaps it will be useful in the future. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 191679fdfa63342752ff6a094a2522ae939b8d0c Author: Andi Kleen Date: Wed Jan 30 13:33:21 2008 +0100 x86: add noclflush option To disable CLFLUSH usage, especially in change_page_attr(). Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 404ee5b14b68d3cba287c2596588b83790c49f7b Author: Andi Kleen Date: Wed Jan 30 13:33:20 2008 +0100 x86: convert TSC disabling to generic cpuid disable bitmap Fix from: Ian Campbell Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8424950b5e85543a494b5d940bb2f5f9f16f56a9 Author: Andi Kleen Date: Wed Jan 30 13:33:20 2008 +0100 x86: don't disable RDTSC in userland for 32bit notsc Modern 32bit userland doesn't even boot when the TSC is disabled because ld.so tends to contain RDTSCs. So make notsc only effective for the kernel, similar to 64bit. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 135302577bb964ebf23376e2d991405ef4ff0457 Author: Andi Kleen Date: Wed Jan 30 13:33:20 2008 +0100 x86: convert some existing cpuid disable options to new generic bitmap This convers nofxsr, mem=nopentium and nosep to use the new generic cpuid disable bitmap instead of using own variables. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7d851c8d3db0f79b92c8b14361779ede8acd2488 Author: Andi Kleen Date: Wed Jan 30 13:33:20 2008 +0100 x86: add framework to disable CPUID bits on the command line There are already various options to disable specific cpuid bits on the command line. They all use their own variable. Add a generic mask to make this easier in the future. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f95f2f7b9d7a3da79a833a8fd78a5154cc4b3107 Author: Eduardo Habkost Date: Wed Jan 30 13:33:20 2008 +0100 x86: fill in missing pv_mmu_ops entries for PAGETABLE_LEVELS >= 3 This finally makes paravirt-ops able to compile and boot under x86_64. Signed-off-by: Eduardo Habkost Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d8dd8eec57254adac48e46c6d191cb24161d8b4d Author: Eduardo Habkost Date: Wed Jan 30 13:33:20 2008 +0100 x86: don't set pagetable_setup_{start,done} hooks on 64-bit paravirt_pagetable_setup_{start,done}() are not used (yet) under x86_64, and native_pagetable_setup_{start,done}() don't exist on x86_64. So they don't need to be set. Signed-off-by: Eduardo Habkost Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9042219cd8d43b81322b826d463dd6e52acae6cf Author: Eduardo Habkost Date: Wed Jan 30 13:33:20 2008 +0100 x86: include/asm-x86/paravirt.h: x86_64 mmu operations Add .set_pgd field to pv_mmu_ops. Implement pud_val(), __pud(), set_pgd(), pud_clear(), pgd_clear(). pud_clear() and pgd_clear() are implemented simply using set_pud() and set_pmd(). They don't have a field at pv_mmu_ops. Signed-off-by: Eduardo Habkost Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1fe91514a3dc07ab540bc891589c46aaa47e92f6 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:33:19 2008 +0100 x86: change function orders in paravirt.h __pmd, pmd_val and set_pud are used before they are defined (as static) We move them a little up in the file, so it doesn't happen. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fbf519240c840f51e4d4af35c3c19e1df160dc48 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:33:19 2008 +0100 x86: provide __parainstructions section This patch adds the __parainstructions section to vmlinux.lds.S. It's needed for the patching system. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a59153dceb860f810b2ecd2504162309291edd4c Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:33:19 2008 +0100 x86: add asm_offset PARAVIRT constants This patch adds the constant PARAVIRT needs in asm_offsets_64.c Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 88b4755f0fa8f5075ac0182f07852acbb397e140 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:33:19 2008 +0100 x86: fill pv_cpu_ops structure with cr8 fields This patch fills in the read and write cr8 fields with their native version. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 94ea03cdda520f0c0dc80cbb4674ab9a33749ee2 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:33:19 2008 +0100 x86: provide read and write cr8 paravirt hooks Since the cr8 manipulation functions ended up staying in the tree, they can't be defined just when PARAVIRT is off: In this patch, those functions are defined for the PARAVIRT case too. [ mingo@elte.hu: fixes ] Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4c9890c246121d070deb8cf5cf53e80caffc4dde Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:33:19 2008 +0100 x86: puts read and write cr8 into pv_cpu_ops This patch adds room for read and write_cr8 functions back in pv_cpu_ops struct Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 046627130591993fd04acef9aebccf70fdad3702 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:33:19 2008 +0100 x86: put generic mm_hooks include into PARAVIRT With PARAVIRT, we actually have arch_{dup,exit}_mmap functions, so we can't include the generic header Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b03878307a78ba0248f6f8d24279c846f1a26f6e Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:33:19 2008 +0100 x86: provide a native_init_IRQ function on 64-bit x86_64 lacks a native_init_IRQ() function, so we turn the arch's init_IRQ() function into a native construct Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8a650ce297c723ebe7da17ec2890f6971438aee1 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:33:19 2008 +0100 x86: add stringify header We use a __stringify construction at paravirt_patch_64.c. It's better practice to include the stringify header directly Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 47db4c3e932dbf889f34aab8aac2b1391581a9a5 Author: Yinghai Lu Date: Wed Jan 30 13:33:18 2008 +0100 x86: checking aperture report for node instead currently when gart iommu is enabled by BIOS or previous we got " Checking aperture... CPU 0: aperture @4000000 size 64MB CPU 1: aperture @4000000 size 64MB " we should use use Node instead. we will get " Checking aperture... Node 0: aperture @4000000 size 64MB Node 1: aperture @4000000 size 64MB " Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 74ff305b05b0974b30022a48145075e6d9a7fb2b Author: Hiroshi Shimamoto Date: Wed Jan 30 13:33:18 2008 +0100 x86: move select_idle_routine() call after detect_ht() Move the select_idle_routine() call to after the detect_ht() call at identify_cpu() on 64-bit. This change is for printing the polling idle and HT enabled warning message properly. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 27415a4fe369e07a1393ae52c8ed8e48aabed5a9 Author: Hiroshi Shimamoto Date: Wed Jan 30 13:33:18 2008 +0100 x86: move warning message of polling idle and HT enabled The warning message at idle_setup() is never shown because smp_num_sibling hasn't been updated at this point yet. Move this polling idle and HT enabled warning to select_idle_routine(). I also implement this warning on 64-bit kernel. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2274c33ebdfbb848e7291849e662d36519b52bf4 Author: Yinghai Lu Date: Wed Jan 30 13:33:18 2008 +0100 x86: msr for AMD Fam 10h mmio Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 67926892ef7a7fbc76de607120d44416019fdf07 Author: Michael Opdenacker Date: Wed Jan 30 13:33:18 2008 +0100 x86: fix unconditional arch/x86/kernel/pcspeaker.o compiling do not add the pcspkr platform device if pcspkr support is disabled. Signed-off-by: Michael Opdenacker Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 71617bf140fd5a35645527502cd330f84045d40c Author: Yinghai Lu Date: Wed Jan 30 13:33:18 2008 +0100 x86: only call early_init_amd one time Andi's patch " x86: move X86_FEATURE_CONSTANT_TSC into early cpu feature detection Need this in the next patch in time_init and that happens early. This includes a minor fix on i386 where early_intel_workarounds() [which is now called early_init_intel] really executes early as the comments say. " calling early_init_amd in early_identify_cpu and identify_cpu two times. this patch remove the one in identify_cpu Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 99fc8d424bc5d803fe92cad56c068fe64e73747a Author: Jesse Barnes Date: Wed Jan 30 13:33:18 2008 +0100 x86, 32-bit: trim memory not covered by wb mtrrs On some machines, buggy BIOSes don't properly setup WB MTRRs to cover all available RAM, meaning the last few megs (or even gigs) of memory will be marked uncached. Since Linux tends to allocate from high memory addresses first, this causes the machine to be unusably slow as soon as the kernel starts really using memory (i.e. right around init time). This patch works around the problem by scanning the MTRRs at boot and figuring out whether the current end_pfn value (setup by early e820 code) goes beyond the highest WB MTRR range, and if so, trimming it to match. A fairly obnoxious KERN_WARNING is printed too, letting the user know that not all of their memory is available due to a likely BIOS bug. Something similar could be done on i386 if needed, but the boot ordering would be slightly different, since the MTRR code on i386 depends on the boot_cpu_data structure being setup. This patch fixes a bug in the last patch that caused the code to run on non-Intel machines (AMD machines apparently don't need it and it's untested on other non-Intel machines, so best keep it off). Further enhancements and fixes from: Yinghai Lu Andi Kleen Signed-off-by: Jesse Barnes Tested-by: Justin Piszcz Cc: Andi Kleen Cc: "Eric W. Biederman" Cc: Yinghai Lu Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 03252919b79891063cf99145612360efbdf9500b Author: Andi Kleen Date: Wed Jan 30 13:33:18 2008 +0100 x86: print which shared library/executable faulted in segfault etc. messages v3 They now look like: hal-resmgr[13791]: segfault at 3c rip 2b9c8caec182 rsp 7fff1e825d30 error 4 in libacl.so.1.1.0[2b9c8caea000+6000] This makes it easier to pinpoint bugs to specific libraries. And printing the offset into a mapping also always allows to find the correct fault point in a library even with randomized mappings. Previously there was no way to actually find the correct code address inside the randomized mapping. Relies on earlier patch to shorten the printk formats. They are often now longer than 80 characters, but I think that's worth it. [includes fix from Eric Dumazet to check d_path error value] Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d3432896dae72ee97deb850ad7bbc30329d32c0d Author: Andi Kleen Date: Wed Jan 30 13:33:17 2008 +0100 x86: don't disable the APIC if it hasn't been mapped yet When the kernel panics early for some unrelated reason there would be eventually an early exception inside panic because clear_local_APIC tried to disable the not yet mapped APIC. Check for that explicitely. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ca74a6f84e68b44867022f4a4f3ec17c087c864e Author: Andi Kleen Date: Wed Jan 30 13:33:17 2008 +0100 x86: optimize lock prefix switching to run less frequently On VMs implemented using JITs that cache translated code changing the lock prefixes is a quite costly operation that forces the JIT to throw away and retranslate a lot of code. Previously a SMP kernel would rewrite the locks once for each CPU which is quite unnecessary. This patch changes the code to never switch at boot in the normal case (SMP kernel booting with >1 CPU) or only once for SMP kernel on UP. This makes a significant difference in boot up performance on AMD SimNow! Also I expect it to be a little faster on native systems too because a smp switch does a lot of text_poke()s which each synchronize the pipeline. v1->v2: Rename max_cpus v1->v2: Fix off by one in UP check (Thomas Gleixner) Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 751752789162fde69474edfa15935d0a77c0bc17 Author: Andi Kleen Date: Wed Jan 30 13:33:17 2008 +0100 x86: replace hard coded reservations in 64-bit early boot code with dynamic table On x86-64 there are several memory allocations before bootmem. To avoid them stomping on each other they used to be all hard coded in bad_area(). Replace this with an array that is filled as needed. This cleans up the code considerably and allows to expand its use. Cc: peterz@infradead.org Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit edcd81199dbad5db11ae91b507cec1d46dd94a49 Author: Harvey Harrison Date: Wed Jan 30 13:33:16 2008 +0100 x86: unify printk strings in fault_32|64.c Adding the address of the faulting library missed removing a line ending from X86_32. Also update the shorter printk format for X86_32 in fault_64.c to make it easier to se the remaining differences. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 27cc2a812eb504f4aadff5baa862da715fb0f886 Author: Andi Kleen Date: Wed Jan 30 13:33:16 2008 +0100 x86: use shorter addresses in i386 segfault printks Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0c07ee38c9d4eb081758f5ad14bbffa7197e1aec Author: Andi Kleen Date: Wed Jan 30 13:33:16 2008 +0100 x86: use the correct cpuid method to detect MWAIT support for C states Previously there was a AMD specific quirk to handle the case of AMD Fam10h MWAIT not supporting any C states. But it turns out that CPUID already has ways to detectly detect that without using special quirks. The new code simply checks if MWAIT supports at least C1 and doesn't use it if it doesn't. No more vendor specific code. Note this is does not simply clear MWAIT because MWAIT can be still useful even without C states. Credit goes to Ben Serebrin for pointing out the (nearly) obvious. Cc: "Andreas Herrmann" Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 30d432dfab2bcfd021d352e2058fae6b9405caeb Author: Andi Kleen Date: Wed Jan 30 13:33:16 2008 +0100 x86: move MWAIT idle check to generic CPU initialization on 32-bit Previously it was only run for Intel CPUs, but AMD Fam10h implements MWAIT too. This matches 64bit behaviour. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f6e8e28410c017adb273983057023a17a8791ad3 Author: Harvey Harrison Date: Wed Jan 30 13:33:16 2008 +0100 x86: rename stack_pointer to kernel_trap_sp Choose a less generic name for such a special case. Add a comment explaining the odd use in X86_32. Change the one user of stack_pointer. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit dbe3533b7f687402651e893d5b3a7b66f22d6487 Author: Harvey Harrison Date: Wed Jan 30 13:33:16 2008 +0100 x86: clean up ptrace.h Leave definition of pt_regs in its own section, move all kernel code to section afterwards, unify prototype definitions, has some conditional prototypes to make it clear what was only defined in 32 and 64 bit. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 90d43d728d22a5e20c63c8db1cfb497210768f19 Author: Harvey Harrison Date: Wed Jan 30 13:33:16 2008 +0100 x86: unify pt_regs accessors ptrace.h Unify the definiton of: v8086_mode user_mode user_mode_vm stack_pointer instruction_pointer frame_pointer in ptrace.h to make it clear where the differences are between 32 and 64 bit. Changes macros to static inlines as well. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 064954761254ef17fae2b84fb5a034d48a769143 Author: Hiroshi Shimamoto Date: Wed Jan 30 13:33:16 2008 +0100 x86: kdump failure kdump needs ELF_CORE_COPY_REGS in crash_save_cpu(). This lack of the macro causes the following BUG. SysRq : Trigger a crashdump ------------[ cut here ]------------ kernel BUG at include/linux/elfcore.h:105! invalid opcode: 0000 [1] PREEMPT SMP Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 770181d99098bc141031fe0a4b1d6221258c1182 Author: Dmitri Vorobiev Date: Wed Jan 30 13:33:16 2008 +0100 x86_32: remove the useless NR_syscalls macro This is against current x86.git. The size of the system call table for 32-bit x86 kernels is obtained by compile-time calculation of the sys_call_table array, not from the value, which the NR_syscalls macro expands to. This trivial patch removes the fossil macro. Manually tested by grepping the x86 files for the "NR_syscalls" string. No relevant use cases found. Build-tested using allyesconfig, allnoconfig and a couple of randconfig instances. All builds successfully finished. Runtime test performed using a stripped-down Debian-ish config. The system booted successfully. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e34cda04d4ec0114185459eb101a2245563bbeba Author: Kyle McMartin Date: Wed Jan 30 13:33:15 2008 +0100 x86: 64-bit, remove redundant cpu_has_ definitions PSE, PGE, XMM, XMM2, and FXSR are defined as required features, and will be optimized to a constant at compile time. Remove their redundant definitions. Signed-off-by: Kyle McMartin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 316390b093e9b80f8ab13b3eea82f912e186bbf6 Author: travis@sgi.com Date: Wed Jan 30 13:33:15 2008 +0100 x86: fixup NR-CPUS patch for numa This patch removes the EXPORT_SYMBOL for: x86_cpu_to_node_map_init x86_cpu_to_node_map_early_ptr ... thus fixing the section mismatch problem. Also, the mem -> node hash lookup is fixed. Signed-off-by: Mike Travis Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 28c6075c72a312986f6d7802005251bdb91ca80c Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:33:15 2008 +0100 x86/paravirt: make set_pud operation common Remove duplicate set_pud()s. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 60b3f626dee9f0b1b656918e40e211822c18200d Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:33:15 2008 +0100 x86/paravirt: make set_pmd operation common Remove duplicate set_pmd()s. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4eed80cd7a1668df6ddd884f9474beccc81ef3f7 Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:33:15 2008 +0100 x86/paravirt: make set_pte operations common Remove duplicate set_pte* operations. PAE still needs to have special variants of some of these because it can't atomically update a 64-bit pte, so there's still some duplication. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a632da2fc9c1e4e8021c5665fc34201fea485dcf Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:33:15 2008 +0100 x86/paravirt: common implementation for pmd value ops Remove duplicate __pmd/pmd_val functions. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ef38503e034f82ad16a75a9dfea40ed7adaf00a8 Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:33:15 2008 +0100 x86/paravirt: common implementation for pgd value ops Remove duplicate __pgd/pgd_val functions. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 773221f46f82dc2f277dacc331d9d2ef2c690cb6 Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:33:15 2008 +0100 x86/paravirt: common implementation for pte value ops Remove duplicate __pte/pte_val functions. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5b8dd1e95b5f2b7b80cfc7e6bb709603aef8bbc1 Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:33:15 2008 +0100 x86/paravirt: rearrange common mmu_ops Rearrange the various pagetable mmu_ops to remove duplication. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2f98b2faac1b5fec327edbde945cdf7f7a53f351 Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:33:14 2008 +0100 add native_pud_val and _pmd_val for 2 and 3 Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 118c890961a2ca456947d72ebe0ce43de07907f0 Author: Andrew Morton Date: Wed Jan 30 13:33:14 2008 +0100 arch/x86/mm/numa_64.c: section fix WARNING: vmlinux.o(__ksymtab+0x670): Section mismatch: reference to .init.data:x86_cpu_to_node_map_init (between '__ksymtab_x86_cpu_to_node_map_init' and '__ksymtab_node_data') Cc: Matthew Dobson Cc: Mike Travis Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 693e3c560317577a29c625d89f6745d5c7cfd918 Author: Mike Travis Date: Wed Jan 30 13:33:14 2008 +0100 x86: reduce memory and intra-node effects Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4dbf7af6442a9a882855bed0d999659ac413e3ac Author: Jan Beulich Date: Wed Jan 30 13:33:14 2008 +0100 x86: adjust/fix LDT handling for Xen Based on patch from Jan Beulich . Don't rely on kmalloc(PAGE_SIZE) returning PAGE_SIZE aligned memory (Xen requires GDT *and* LDT to be page-aligned). Using the page allocator interface also removes the (albeit small) slab allocator overhead. The same change being done for 64-bits for consistency. Further, the Xen hypercall interface expects the LDT address to be virtual, not machine. [ Adjusted to unified ldt.c - Jeremy ] Signed-off-by: Jan Beulich Acked-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c0400030b28e95fd477fdfe8ba8acb0af21e5c15 Author: Jan Beulich Date: Wed Jan 30 13:33:14 2008 +0100 x86-64: clean up linker script Remove the dead .text.lock. Move _etext and __{start,stop}___ex_table into their sections. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c11b68bc8b1f7c7daaea2220e0a8d9f7d391cb8d Author: Alan Cox Date: Wed Jan 30 13:33:14 2008 +0100 x86: serverworks: IRQ routing needs no _p I can find no reason for the _p on the serverworks IRQ routing logic, and a review of the documentation contains no indication that any such delay is needed so lets try this Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 466eed22d127a1f16e1251cdc54a9f8f944140c0 Author: Alan Cox Date: Wed Jan 30 13:33:14 2008 +0100 x86: isolate PIC/PIT in/out calls Rather than remove and/or mangle inb_p/outb_p we want to remove the use of them from inappropriate places. For the PIC/PIT this may eventually depend on 32/64bitism or similar so start by adding inb/outb_pit and inb/outb_pic so that we can make them use any scheme we settle on without disturbing the existing, correct (for ISA), port 0x80 usage. (eg we can make inb_pit use udelay without messing up inb_p). Floppy already does this for the fdc. That really only leaves the CMOS as a core logic item to tackle, and bits of parallel port handling in the chipset layers. Signed-off-by: Alan Cox Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fb8830e72d9bd86f1e7b6886cb1886c391130f86 Author: Abhishek Sagar Date: Wed Jan 30 13:33:13 2008 +0100 x86: fix singlestep handling in reenter_kprobe Highlight peculiar cases in singles-step kprobe handling. In reenter_kprobe(), a breakpoint in KPROBE_HIT_SS case can only occur when single-stepping a breakpoint on which a probe was installed. Since such probes are single-stepped inline, identifying these cases is unambiguous. All other cases leading up to KPROBE_HIT_SS are possible bugs. Identify and WARN_ON such cases. Signed-off-by: Abhishek Sagar Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0723a69a63beec1ca6e792239ef75d0181387ef0 Author: Benjamin LaHaise Date: Wed Jan 30 13:33:13 2008 +0100 x86: fix synchronize_rcu(): high latency on idle system an otherwise idle system takes about 3 ticks per network interface in unregister_netdev() due to multiple calls to synchronize_rcu(), which adds up to quite a few seconds for tearing down thousands of interfaces. By flushing pending rcu callbacks in the idle loop, the system makes progress hundreds of times faster. If this is indeed a sane thing to, it probably needs to be done for other architectures than x86. And yes, the network stack shouldn't call synchronize_rcu() quite so much, but fixing that is a little more involved. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6b8be6df7f971919622d152d144c8798ad7fd160 Author: John Reiser Date: Wed Jan 30 13:33:13 2008 +0100 x86: add ENDPROC() markers The ENDPROCs() were not used everywhere. Some code used just END() instead, while other code used nothing. um/sys-i386/checksum.S didn't #include . I also got confused because gcc puts the .type near the ENTRY, while ENDPROC puts it on the opposite end. Signed off by: John Reiser Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fdfe8aa84dd78cfdff427d0520f5974fb5e9c220 Author: Harvey Harrison Date: Wed Jan 30 13:33:13 2008 +0100 x86: function ifdefs in fault_32|64.c Add caller of is_errata93() to X86_32, ifdef'd to do nothing. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6f4d368ef9e9f91aa0019c11e90773ea32d94625 Author: Harvey Harrison Date: Wed Jan 30 13:33:13 2008 +0100 x86: last of trivial fault_32|64.c unification Comments, indentation, printk format. Uses task_pid_nr() on X86_64 now, but this is always defined to task->pid. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 608566b4edda5079c7812c2108a89c0fcf2894bb Author: Harvey Harrison Date: Wed Jan 30 13:33:12 2008 +0100 x86: do_page_fault small unification Copy the prefetch of map_sem from X86_64 and move the check notify_page_fault (soon to be kprobe_handle_fault) out of the unlikely if() statement. This makes the X86_32|64 pagefault handlers closer to each other. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f2857ce92023409df1544737d5b3499b4630a183 Author: Harvey Harrison Date: Wed Jan 30 13:33:12 2008 +0100 x86: remove last user of get_segment_eip is_prefetch was the last user of get_segment_eip and only on X86_32. This function returned the faulting instruction's address and set the upper segment limit. Instead, use the convert_ip_to_linear helper and rely on probe_kernel_address to do the segment checks which was already done everywhere the segment limit was being checked on X86_32. Remove get_segment_eip as well. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 37cd9cf3dafed82f7cf905785883300f6ff7c818 Author: Harvey Harrison Date: Wed Jan 30 13:33:12 2008 +0100 x86: common x86_32|64 naming Rename convert_rip_to_linear to convert_ip_to_linear for shared X86_32|64 use. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f13bd3e7935f7020f7c622bf3f8cae8eee757a53 Author: Harvey Harrison Date: Wed Jan 30 13:33:12 2008 +0100 x86: use wrmsrl in kprobes.c, step.c Where x86_32 passed zero in the high 32 bits, use wrmsrl which will zero extend for us. This allows ifdefs for 32/64 bit to be eliminated. Eliminate ifdef in step.c. Similar cleanup was done when unifying kprobes_32|64.c and wrmsr() was chosen there over wrmsrl(). This patch changes these to wrmsrl. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e8c10ef9dde3ab7b7d7db6804859d9daf38f01c4 Author: travis@sgi.com Date: Wed Jan 30 13:33:12 2008 +0100 x86: change bios_cpu_apicid to percpu data variable Change static bios_cpu_apicid array to a per_cpu data variable. This includes using a static array used during initialization similar to the way x86_cpu_to_apicid[] is handled. There is one early use of bios_cpu_apicid in apic_is_clustered_box(). The other reference in cpu_present_to_apicid() is called after smp_set_apicids() has setup the percpu version of bios_cpu_apicid. [ mingo@elte.hu: build fix ] Signed-off-by: Mike Travis Reviewed-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ea348f3e58f43a27c8ac414dd3a14ee59528b86a Author: travis@sgi.com Date: Wed Jan 30 13:33:12 2008 +0100 x86: change NR_CPUS arrays in acpi-cpufreq Change the following static arrays sized by NR_CPUS to per_cpu data variables: acpi_cpufreq_data *drv_data[NR_CPUS] Signed-off-by: Mike Travis Reviewed-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit df3825c56dd70a4d7796041388f3cfe51c1db832 Author: travis@sgi.com Date: Wed Jan 30 13:33:11 2008 +0100 x86: change NR_CPUS arrays in numa_64 Change the following static arrays sized by NR_CPUS to per_cpu data variables: char cpu_to_node_map[NR_CPUS]; Signed-off-by: Mike Travis Reviewed-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3b41908902df1dba141cd7de1a727bb03718a654 Author: travis@sgi.com Date: Wed Jan 30 13:33:11 2008 +0100 x86: cleanup x86_cpu_to_apicid references Clean up references to x86_cpu_to_apicid. Removes extraneous comments and standardizes on "x86_*_early_ptr" for the early kernel init references. Signed-off-by: Mike Travis Reviewed-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 30964d54e94229f567a7312a0e6666f9deb6a488 Author: travis@sgi.com Date: Wed Jan 30 13:33:11 2008 +0100 x86: change NR_CPUS arrays in topology Change the following static arrays sized by NR_CPUS to per_cpu data variables: i386_cpu cpu_devices[NR_CPUS]; (And change the struct name to x86_cpu.) Signed-off-by: Mike Travis Reviewed-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 24b0d22b7b63bfc71853faf64e76cd45701ecf2a Author: travis@sgi.com Date: Wed Jan 30 13:33:11 2008 +0100 x86: change NR_CPUS arrays in smpboot_64 Change the following static arrays sized by NR_CPUS to per_cpu data variables: task_struct *idle_thread_array[NR_CPUS]; This is only done if CONFIG_HOTPLUG_CPU is defined as otherwise, the array is removed after initialization anyways. Signed-off-by: Mike Travis Reviewed-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2c6b8c030cfca334c3d700ee504036c585c4c6a3 Author: travis@sgi.com Date: Wed Jan 30 13:33:11 2008 +0100 x86: change NR_CPUS arrays in powernow-k8 Change the following static arrays sized by NR_CPUS to per_cpu data variables: powernow_k8_data *powernow_data[NR_CPUS]; Signed-off-by: Mike Travis Reviewed-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3cc87e3f4042a099fb649c5df33d3ccfae36173f Author: travis@sgi.com Date: Wed Jan 30 13:33:11 2008 +0100 x86: change size of node ids from u8 to u16 Change the size of node ids from 8 bits to 16 bits to accomodate more than 256 nodes. Signed-off-by: Mike Travis Reviewed-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ef97001f3d869d7cc1956e0cc0d89e514e3f7db0 Author: travis@sgi.com Date: Wed Jan 30 13:33:10 2008 +0100 x86: change size of APICIDs from u8 to u16 Change the size of APICIDs from u8 to u16. This partially supports the new x2apic mode that will be present on future processor chips. (Chips actually support 32-bit APICIDs, but that change is more intrusive. Supporting 16-bit is sufficient for now). Signed-off-by: Jack Steiner I've included just the partial change from u8 to u16 apicids. The remaining x2apic changes will be in a separate patch. In addition, the fake_node_to_pxm_map[] and fake_apicid_to_node[] tables have been moved from local data to the __initdata section reducing stack pressure when MAX_NUMNODES and MAX_LOCAL_APIC are increased in size. Signed-off-by: Mike Travis Reviewed-by: Christoph Lameter Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a1bf250a6f31afb8caac166ae50dc7b89c38084c Author: Chris Wright Date: Wed Jan 30 13:33:10 2008 +0100 x86: refactor ioport unification Refactor ioport unification to pull out common code. Cc: mboton@gmail.com Cc: Kevin Winchester Cc: Zach Brown Cc: "H. Peter Anvin" Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9718769d298f8642d5ef41eb5f55669d7c5b9fd6 Author: Chris Wright Date: Wed Jan 30 13:33:10 2008 +0100 x86: fix ioport unification on 32-bit ioport unification was broken for 32-bit; it was missing the acutal pushf/popf EFLAGS manipulation (set_iopl_mask()). Also, use of volatile looks like leftover cruft. Cc: mboton@gmail.com Cc: Kevin Winchester Cc: Zach Brown Cc: "H. Peter Anvin" Signed-off-by: Chris Wright Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ccafa59a0061d7c44d15d02403120fd02b52c667 Author: mboton@gmail.com Date: Wed Jan 30 13:33:10 2008 +0100 x86: ioport_{32|64}.c unification ioport_{32|64}.c unification. This patch unifies the code from the ioport_32.c and ioport_64.c files. Tested and working fine with i386 and x86_64 kernels. Signed-off-by: Miguel Botón Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit aaf230424204864e2833dcc1da23e2cb0b9f39cd Author: Yinghai Lu Date: Wed Jan 30 13:33:09 2008 +0100 x86: disable the GART early, 64-bit For K8 system: 4G RAM with memory hole remapping enabled, or more than 4G RAM installed. when try to use kexec second kernel, and the first doesn't include gart_shutdown. the second kernel could have different aper position than the first kernel. and second kernel could use that hole as RAM that is still used by GART set by the first kernel. esp. when try to kexec 2.6.24 with sparse mem enable from previous kernel (from RHEL 5 or SLES 10). the new kernel will use aper by GART (set by first kernel) for vmemmap. and after new kernel setting one new GART. the position will be real RAM. the _mapcount set is lost. Bad page state in process 'swapper' page:ffffe2000e600020 flags:0x0000000000000000 mapping:0000000000000000 mapcount:1 count:0 Trying to fix it up, but a reboot is needed Backtrace: Pid: 0, comm: swapper Not tainted 2.6.24-rc7-smp-gcdf71a10-dirty #13 Call Trace: [] bad_page+0x63/0x8d [] __free_pages_ok+0x7c/0x2a5 [] free_all_bootmem_core+0xd0/0x198 [] numa_free_all_bootmem+0x3b/0x76 [] mem_init+0x3b/0x152 [] start_kernel+0x236/0x2c2 [] _sinittext+0x11a/0x121 and [ffffe2000e600000-ffffe2000e7fffff] PMD ->ffff81001c200000 on node 0 phys addr is : 0x1c200000 RHEL 5.1 kernel -53 said: PCI-DMA: aperture base @ 1c000000 size 65536 KB new kernel said: Mapping aperture over 65536 KB of RAM @ 3c000000 So could try to disable that GART if possible. According to Ingo > hm, i'm wondering, instead of modifying the GART, why dont we simply > _detect_ whatever GART settings we have inherited, and propagate that > into our e820 maps? I.e. if there's inconsistency, then punch that out > from the memory maps and just dont use that memory. > > that way it would not matter whether the GART settings came from a [old > or crashing] Linux kernel that has not called gart_iommu_shutdown(), or > whether it's a BIOS that has set up an aperture hole inconsistent with > the memory map it passed. (or the memory map we _think_ i tried to pass > us) > > it would also be more robust to only read and do a memory map quirk > based on that, than actively trying to change the GART so early in the > bootup. Later on we have to re-enable the GART _anyway_ and have to > punch a hole for it. > > and as a bonus, we would have shored up our defenses against crappy > BIOSes as well. add e820 modification for gart inconsistent setting. gart_fix_e820=off could be used to disable e820 fix. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a261670aed2b5b77a20ce9b15fed57abeb126c0e Author: Yinghai Lu Date: Wed Jan 30 13:33:09 2008 +0100 x86: cleanup setup_node_zones called by paging_init() setup_node_zones() calcuates some variables but only use them when FLAT_NODE_MEM_MAP is set so change the MACRO postion to avoid calculating. also change it to static, and rename it to flat_setup_node_zones(). Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 94878efdd0815fe3a4159007b1454b25c7696d53 Author: Ingo Molnar Date: Wed Jan 30 13:33:09 2008 +0100 x86: early fault debugging improvement Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0d64484f7ea12ca04211b497e94634c3d27cf3fb Author: Ingo Molnar Date: Wed Jan 30 13:33:09 2008 +0100 x86: fix DMI ioremap leak Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 306c142f99caef5a30a0d61a39a956c069941b63 Author: Ingo Molnar Date: Wed Jan 30 13:33:08 2008 +0100 x86: pat: e820 cleanup NOP change. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e91a3b4353577c7d38b77dd1293fc3d0a173e8e6 Author: Ingo Molnar Date: Wed Jan 30 13:33:08 2008 +0100 x86: smp_scan_config() debugging printouts These are useful in figuring out early-mapping problems. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit aafbd7eb2057edfc9a17b258e3f0258a4e6d8198 Author: Arjan van de Ven Date: Wed Jan 30 13:33:08 2008 +0100 x86: make printk_address regs->ip always reliable printk_address()'s second parameter is the reliability indication, not the ebp. If we're printing regs->ip we're reliable by definition, so pass a 1 here. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a25bd94964e87b1b93903a822fba5025d995d4da Author: Arjan van de Ven Date: Wed Jan 30 13:33:08 2008 +0100 x86: add the "print code before the trapping instruction" feature to 64 bit The 32 bit x86 tree has a very useful feature that prints the Code: line for the code even before the trapping instrution (and the start of the trapping instruction is then denoted with a <>). Unfortunately, the 64 bit x86 tree does not yet have this feature, making diagnosing backtraces harder than needed. This patch adds this feature in the same was as the 32 bit tree has (including the same kernel boot parameter), and including a bugfix to make the code use probe_kernel_address() rarther than a buggy (deadlocking) __get_user. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6dab27784b2a97823b522e1cb88e40be40a93d45 Author: Arjan van de Ven Date: Wed Jan 30 13:33:08 2008 +0100 x86: add a simple backtrace test module During the work on the x86 32 and 64 bit backtrace code I found it useful to have a simple test module to test a process and irq context backtrace. Since the existing backtrace code was buggy, I figure it might be useful to have such a test module in the kernel so that maybe we can even detect such bugs earlier.. [ mingo@elte.hu: build fix ] Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 80b51f310b6f55006a265d087b8f48744e65663d Author: Arjan van de Ven Date: Wed Jan 30 13:33:07 2008 +0100 x86: use the stack frames to get exact stack-traces for CONFIG_FRAMEPOINTER on x86-64 x86 32 bit already has this feature: This patch uses the stack frames with frame pointer into an exact stack trace, by following the frame pointer. This only affects kernels built with the CONFIG_FRAME_POINTER config option enabled, and greatly reduces the amount of noise in oopses. This code uses the traditional method of doing backtraces, but if it finds a valid frame pointer chain, will use that to show which parts of the backtrace are reliable and which parts are not Due to the fragility and importance of the backtrace code, this needs to be well reviewed and well tested before merging into mainlne. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e4a94568b18c5d7d72741ebde5736d77d235743c Author: Arjan van de Ven Date: Wed Jan 30 13:33:07 2008 +0100 x86: turn 64 bit x86 HANDLE_STACK into print_context_stack like 32 bit has This patch turns the x86 64 bit HANDLE_STACK macro in the backtrace code into a function, just like 32 bit has. This is needed pre work in order to get exact backtraces for CONFIG_FRAME_POINTER to work. The function and it's arguments are not the same as 32 bit; due to the exception/interrupt stack way of x86-64 there are a few differences. This patch should not have any behavior changes, only code movement. Due to the fragility and importance of the backtrace code, this needs to be well reviewed and well tested before merging into mainlne. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5bc27dc2f55fd3043597b5a8de6536183f28a449 Author: Arjan van de Ven Date: Wed Jan 30 13:33:07 2008 +0100 x86: pull bp calculation earlier into the backtrace path Right now, we take the stack pointer early during the backtrace path, but only calculate bp several functions deep later, making it hard to reconcile the stack and bp backtraces (as well as showing several internal backtrace functions on the stack with bp based backtracing). This patch moves the bp taking to the same place we take the stack pointer; sadly this ripples through several layers of the back tracing stack, but it's not all that bad in the end I hope. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e9d4efddbec3d852d435b370b9c40ff7ac24afe6 Author: Arjan van de Ven Date: Wed Jan 30 13:33:07 2008 +0100 x86: improve the 32 bit Frame Pointer backtracer to also use the traditional backtrace The 32 bit Frame Pointer backtracer code checks if the EBP is valid to do a backtrace; however currently on a failure it just gives up and prints nothing. That's not very nice; we can do better and still print a decent backtrace. This patch changes the backtracer to use the regular backtracing algorithm at the same time as the EBP backtracer; the EBP backtracer is basically used to figure out which part of the backtrace are reliable vs those which are likely to be noise. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bc850d6b374fffd08336996f4b4d3bbd6bf427f6 Author: Arjan van de Ven Date: Wed Jan 30 13:33:07 2008 +0100 x86: add the capability to print fuzzy backtraces For enhancing the 32 bit EBP based backtracer, I need the capability for the backtracer to tell it's customer that an entry is either reliable or unreliable, and the backtrace printing code then needs to print the unreliable ones slightly different. This patch adds the basic capability, the next patch will add a user of this capability. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3d1f7cae883ce4aac99c661562111a25d52effe0 Author: Arjan van de Ven Date: Wed Jan 30 13:33:06 2008 +0100 x86: fix 32-bit FRAME_POINTER chasing code The current x86 32 bit FRAME_POINTER chasing code has a nasty bug in that the EBP tracer doesn't actually update the value of EBP it is tracing, so that the code doesn't actually switch to the irq stack properly. The result is a truncated backtrace: WARNING: at timeroops.c:8 kerneloops_regression_test() (Not tainted) Pid: 0, comm: swapper Not tainted 2.6.24-0.77.rc4.git4.fc9 #1 [] show_trace_log_lvl+0x1a/0x2f [] show_trace+0x12/0x14 [] dump_stack+0x6c/0x72 [] kerneloops_regression_test+0x44/0x46 [timeroops] [] run_timer_softirq+0x127/0x18f [] __do_softirq+0x78/0xff [] do_softirq+0x74/0xf7 ======================= This patch fixes the code to update EBP properly, and to check the EIP before printing (as the non-framepointer backtracer does) so that the same test backtrace now looks like this: WARNING: at timeroops.c:8 kerneloops_regression_test() Pid: 0, comm: swapper Not tainted 2.6.24-rc7 #4 [] show_trace_log_lvl+0x1a/0x2f [] show_trace+0x12/0x14 [] dump_stack+0x6a/0x70 [] kerneloops_regression_test+0x3b/0x3d [timeroops] [] run_timer_softirq+0x11b/0x17c [] __do_softirq+0x42/0x94 [] do_softirq+0x50/0xb6 [] irq_exit+0x37/0x67 [] do_IRQ+0x9a/0xaf [] common_interrupt+0x2e/0x34 [] cpuidle_idle_call+0x52/0x78 [] cpu_idle+0x46/0x60 [] rest_init+0x43/0x45 [] start_kernel+0x279/0x27f ======================= This shows that the backtrace goes all the way down to user context now. This bug was found during the port to 64 bit of the frame pointer backtracer. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 076f9776f5d8d131b36955db8641aba3893c2c1b Author: Ingo Molnar Date: Wed Jan 30 13:33:06 2008 +0100 x86: make early printk selectable on 64-bit as well Enable CONFIG_EMBEDDED to select CONFIG_EARLY_PRINTK on 64-bit as well. saves ~2K: text data bss dec hex filename 7290283 3672091 1907848 12870222 c4624e vmlinux.before 7288373 3671795 1907848 12868016 c459b0 vmlinux.after Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8866cd9dc9d0bbadcf361a14e0cdfecb66473087 Author: Roland McGrath Date: Wed Jan 30 13:33:06 2008 +0100 x86: early_idt_handler improvements, 64-bit It's not too pretty, but I found this made the "PANIC: early exception" messages become much more reliably useful: 1. print the vector number, 2. print the %cs value, 3. handle error-code-pushing vs non-pushing vectors. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d504e39efd4e64a1a6e01dc85fd8a33fdb196dce Author: Randy Dunlap Date: Wed Jan 30 13:33:05 2008 +0100 x86: discover_ebda section mismatch Fix section mismatches. discover_ebda() can be __init. WARNING: vmlinux.o(.text+0x738a): Section mismatch: reference to .init.data:ebda_addr (between 'discover_ebda' and 'get_model_name') WARNING: vmlinux.o(.text+0x73c4): Section mismatch: reference to .init.data:ebda_size (between 'discover_ebda' and 'get_model_name') Signed-off-by: Randy Dunlap Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9d09951da948c0ca30944df2a9b78e68d6e0744c Author: Thomas Gleixner Date: Wed Jan 30 13:33:04 2008 +0100 x86: preset apic clockevents multiplicator The check for an unitialized clock event device triggers, when the local apic timer is registered as a dummy clock event device for broadcasting. Preset the multiplicator to avoid a false positive. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c2b84b30b8c8bbccf4d2e32f8a3a70ad09ba9ab8 Author: Thomas Gleixner Date: Wed Jan 30 13:33:04 2008 +0100 x86: sanity check APIC timer frequency Check the APIC timer calibration result for sanity. When the frequency is out of range, issue a warning and disable the local APIC timer. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 387faedb1dee2e917811acd05902cc36142a4850 Author: H. Peter Anvin Date: Wed Jan 30 13:33:04 2008 +0100 x86 setup: correct the base in the GDT_ENTRY() macro The GDT_ENTRY() macro in pm.c would incorrectly cut the bottom 8 bits off the base. We didn't define any bases with the bottom 8 bits nonzero, so it is a non-manifest bug, but it's still a bug. Pointed out by John Smith . Cc: John Smith Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit acd644bb4abb4d9f0ba6b9ec2b356263971ef9d0 Author: H. Peter Anvin Date: Wed Jan 30 13:33:04 2008 +0100 x86 setup: guard the heap against invalid stack setups If we use the bootloader-provided stack pointer, we might end up in a situation where the bootloader (incorrectly) pointed the stack in the middle of our heap. Catch this by simply comparing the computed heap end value to the stack pointer minus the defined stack size. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1a8514e04e3f0249a75f66225e99cdf48d305be7 Author: H. Peter Anvin Date: Wed Jan 30 13:33:03 2008 +0100 x86 setup: push video mode setup as late as possible Push video mode setup as late as possible; messages issued through the BIOS interface after video mode setup will either not be seen (for framebuffer modes) or will screw up the cursor (for text modes.) In particular, this makes the EDD probing message show up correctly. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b710763608f1bfc8d4cd346e508f3f4878af361e Author: H. Peter Anvin Date: Wed Jan 30 13:33:03 2008 +0100 x86 setup: add note to use edd=off on EDD probing hangs Tell the user to specify edd=off in the case of EDD probing hangs. Per LKML discussion. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 70d8abf5df857ca7befe02e5d61fde807420a54c Author: H. Peter Anvin Date: Wed Jan 30 13:33:03 2008 +0100 x86 setup: add missing prototype; formatting fix Add prototype for cmdline_find_option_bool() missing from: x86 setup: early cmdline parser handle boolean options Also, fix up a minor formatting error in that patch. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f7775016c66c2f45125f22968c351c88868ee7a3 Author: H. Peter Anvin Date: Wed Jan 30 13:33:03 2008 +0100 x86 setup: OK -> ok (no need to scream) Unnecessary capitals are shouting; no need for it here. Thus, change "OK" to "ok" and add a space. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e479c8306f898fcdb9b36179071eae6338a17364 Author: devzero@web.de Date: Wed Jan 30 13:33:03 2008 +0100 x86 setup: be more verbose when probing EDD On early boot, probing the Bios for EDD happens without any message. Enhanced Disk Drive Services (EDD) is a mechanism to match x86 BIOS device names (int13 device 80h) to Linux device names (e.g. /dev/sda, /dev/hda) There are buggy Bios out there having problems with EDD. This can be problems with the Bios itself or with addon cards, too. This patch is adds an informational message on early boot. CONFIG_EDD is not set with defconfig, but with allmodconfig (i.e. CONFIG_EDD=m) so the EDD probe may be active on early boot on many systems nowadays. I can tell, that the probe is active on SuSE distro and with that I have seen more than one system hanging endlessly with those "black screen with a blinking cursor in the the upper left" on installation, making it difficult for the end- user to find out, what`s the issue. For sure I have seen this on FujitsuSiemens PCs with i810 and with i815 chipset. This one also honours the "quiet" bootparam. Also see: http://marc.info/?l=linux-kernel&m=119781937207969&w=2 http://marc.info/?l=linux-kernel&m=119783934032326&w=2 http://marc.info/?l=linux-kernel&m=119783678529100&w=2 Signed-off-by: Roland Kletzing Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 32d0b9898029b7b3c7f161d31f57c4831d9049eb Author: devzero@web.de Date: Wed Jan 30 13:33:02 2008 +0100 x86 setup: early cmdline parser handle boolean options This patch extends the early commandline parser to support boolean options. The current version in mainline only supports parsing "option=arg" value pairs. With this it should be easy making other messages like "Uncompressing kernel" honour the "quiet" parameter, too. Signed-off-by: Roland Kletzing Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 811a0fff5d6e80e18e06be88e0fb685f3924bf8f Author: H. Peter Anvin Date: Wed Jan 30 13:33:02 2008 +0100 x86 setup: fix constraints in segment accessor functions Fix the operand constraints for the segment accessor functions, {rd,wr}{fs,gs}*. In particular, the 8-bit functions used "r" constraints instead of "q" constraints. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1cac5004e953506166e980da5776d5cc1c176d79 Author: H. Peter Anvin Date: Wed Jan 30 13:33:02 2008 +0100 x86 setup: display VESA graphics modes in vga=ask menu Display VESA graphics modes, with their mode IDs, in the vga=ask menu. Most VESA mode numbers are platform-dependent, so it helps to have an easy way to display them. Based in part on a patch by Petr Vandrovec . Cc: Petr Vandrovec Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 02a7b425e82cd0052e5eaedbae81a522c6aae6c4 Author: H. Peter Anvin Date: Wed Jan 30 13:33:02 2008 +0100 x86 setup: use X86_CR0_PE macro instead of hard-coded constant To set CR0.PE, use the X86_CR0_PE macro defined in instead of hardcoding it as a constant (1). Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 88089519f302f1296b4739be45699f06f728ec31 Author: H. Peter Anvin Date: Wed Jan 30 13:33:02 2008 +0100 x86 setup: initialize LDTR and TR to make life easier to Intel VT Intel VT doesn't like to engage when the protected-mode state isn't fully initialized. Make life easier for it by initializing LDTR (to null) and TR (to a dummy hunk of low memory which will never actually be touched.) Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c4d9ba6da9f050ebb7e0d70769e3dca0fd45334f Author: H. Peter Anvin Date: Wed Jan 30 13:33:01 2008 +0100 x86 setup: make PM transition more paranoid; cleanup 32-bit entry Make the transition to protected mode more paranoid by having back-to-back near jump (to synchronize the 386/486 prefetch queue) and far jump (to set up the code segment.) While we're at it, zero as many registers as practical (for future expandability of the 32-bit entry interface) and enter 32-bit mode with a valid stack. Note that the 32-bit code cannot rely on this stack, or we'll break all other existing users of the 32-bit entrypoint, but it may make debugging hacks easier to write. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2a6648e65a2939b80c44262975176a15bac3a75e Author: H. Peter Anvin Date: Wed Jan 30 13:33:01 2008 +0100 x86: : boot GDT entries are 32/64-independent The boot GDT entries are common between 32- and 64-bit mode, so move them to common code instead of having two identical copies. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1017579a8c6ad6f32154e41ddfdf96d1efbb21b4 Author: Harvey Harrison Date: Wed Jan 30 13:33:01 2008 +0100 x86: trivial whitespace in kprobes.c Signed-off-by: Harvey Harrison Acked-by: Masami Hiramatsu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1379a5ce3ffc549a7ff3daffc49c5e1c372717a3 Author: Harvey Harrison Date: Wed Jan 30 13:33:00 2008 +0100 x86: move get_segment_eip() to step.c get_segment_eip has similarities to convert_rip_to_linear(), and is used in a similar context. Move get_segment_eip to step.c to allow easier consolidation. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3d97775a80a03013abe1fd681620925f884ad18a Author: Hiroshi Shimamoto Date: Wed Jan 30 13:33:00 2008 +0100 x86: move out tick_nohz_stop_sched_tick() call from the loop Move out tick_nohz_stop_sched_tick() call from the loop in cpu_idle same as 32-bit version. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d50efc6c40620b2e11648cac64ebf4a824e40382 Author: Ingo Molnar Date: Wed Jan 30 13:33:00 2008 +0100 x86: fix UML and -regparm=3 introduce the "asmregparm" calling convention: for functions implemented in assembly with a fixed regparm input parameters calling convention. mark the semaphore and rwsem slowpath functions with that. Signed-off-by: Ingo Molnar Signed-off-by: Miklos Szeredi Signed-off-by: Thomas Gleixner commit 3a556b26a2718e48aa2b6ce06ea4875ddcd0778e Author: Nick Piggin Date: Wed Jan 30 13:33:00 2008 +0100 x86: big ticket locks This implements ticket lock support for more than 255 CPUs on x86. The code gets switched according to the configured NR_CPUS. Signed-off-by: Nick Piggin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 938f667198179dc0c8424e2cfac9cd9fe405bee3 Author: Paolo Ciarrocchi Date: Wed Jan 30 13:33:00 2008 +0100 x86: coding style fixes in arch/x86/pci/fixup.c Simple coding style fixes. no code changed: text data bss dec hex filename 3139 576 194 3909 f45 fixup.o.before 3139 576 194 3909 f45 fixup.o.after md5: 9a3467057478b2d99962bdd448282eeb fixup.o.before.asm 9a3467057478b2d99962bdd448282eeb fixup.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b3a5acc17c4ad9c28c00ee5e5271de1b1285d22b Author: Harvey Harrison Date: Wed Jan 30 13:32:59 2008 +0100 x86: use fixup_exception() in traps_64.c Use the fixup_exception() helper instead of the open-coded search_extable() users. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 318aa296c329625916c47703eab906d6ebf13930 Author: Harvey Harrison Date: Wed Jan 30 13:32:59 2008 +0100 x86: more users of PF_ constants in fault_32|64.c Should be the last of the error_code tests that could use the PF_ defines. Makes X86_32|64 a little closer. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a604b38036bee1483fb98a520c69895d5d6276a6 Author: Harvey Harrison Date: Wed Jan 30 13:32:59 2008 +0100 x86: introduce __die helper to X86_32 Small step towards unifying traps_32|64.c. No functional changes. Pull out a small helper from an if() statement in die(). Marked as __kprobes as eventually we will want to call this from do_page_fault similar to how X86_64 does it. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c68461b67d97739707b3fc57618f22091791f2af Author: Nikanth Karthikesan Date: Wed Jan 30 13:32:59 2008 +0100 x86: change x86 machine check handler to use unlocked_ioctl instead The machine check handler registers ioctl handler that is called with the BKL held. Changing to register unlocked_ioctl instead. Also mce ioctl handler does not seem to need any lock protection. To: Andi Kleen Cc: linux-kernel@vger.kernel.org Cc: kernel-janitors@vger.kernel.org Change the Machine check handler to use unlocked_ioctl instead of ioctl handler. Also the mce ioctl handler does not need any lock protection. Signed-off-by: Nikanth Karthikesan Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f29192320f22f1617d50a9c790862603eeef64e6 Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:32:59 2008 +0100 x86/pgtable: explain constant sign extension problem When the _PAGE_FOO constants are defined as (1ul << _PAGE_BIT_FOO), they become unsigned longs. In 32-bit PAE mode, these end up being implicitly cast to 64-bit types when used to manipulate a pte, and because they're unsigned the top 32-bits are 0, destroying the upper bits of the pte. When _PAGE_FOO constants are given a signed integer type, the cast to 64-bits will sign-extend so that the upper bits are all ones, preserving the upper pte bits in manipulations. Explain this in a prominent place. Signed-off-by: Jeremy Fitzhardinge Cc: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 015c8dd0cb3b380cb4c3930968250c719d1dd303 Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:32:58 2008 +0100 xen: mask out PWT too The hypervisor doesn't allow PCD or PWT to be set on guest ptes, so make sure they're masked out. Also, fix up some previous mispatching. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4891645e764d2e181b834509a689fcd12e890c10 Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:32:58 2008 +0100 x86: unify paravirt pagetable accessors Put all the defines for mapping pagetable operations to their native versions (for the non-paravirt case) into one place. Make the corresponding changes to paravirt.h. The tricky part here is that when a pagetable entry can't be updated atomically (ie, 32-bit PAE), we need special handlers for pte_clear, set_pte_atomic and set_pte_present. However, the other two modes don't need special handling for these, and can use a common set_pte(_at) path. [ mingo@elte.hu: fixes ] Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8405b122ad0dd75354b3bfed4de9a96514fd40cb Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:32:58 2008 +0100 x86: unify zero_page definition Move ZERO_PAGE/empty_zero_page to common place. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d8d89827fc0c9c2ea6ac4c22e14e30586a856f58 Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:32:58 2008 +0100 x86: fix warning &ptep->pte isn't always an unsigned long *, so cast it to avoid a warning. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 195466dc4b9b8a4cc89d37ea1211746f3afbc941 Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:32:58 2008 +0100 x86: pgtable: unify pte accessors Make various pte accessors common. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e33287013585e96180c575288bf1db22bee47b52 Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:32:58 2008 +0100 x86/vmi: fix compilation as a result of pte_t changes Fix various compilation problems as a result of changing pte_t. Signed-off-by: Jeremy Fitzhardinge Cc: Zachary Amsden Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c8e5393ab38564d2f45b560a2f95bc8f9ff6f823 Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:32:57 2008 +0100 x86: page.h: make pte_t a union to always include Make sure pte_t, whatever its definition, has a pte element with type pteval_t. This allows common code to access it without needing to be specifically parameterised on what pagetable mode we're compiling for. For 32-bit, this means that pte_t becomes a union with "pte" and "{ pte_low, pte_high }" (PAE) or just "pte_low" (non-PAE). Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b7fff536d0ad45c4810f9b99845c707ceadc3afc Author: Ingo Molnar Date: Wed Jan 30 13:32:57 2008 +0100 x86: fix pte_modify() bug fix sign extension bug in PTE_MASK / _PTE_CHG_MASK. this resolves the following bootup crash on PAE systems: [ 94.710726] init[1]: segfault at 00000004 ip 49471cbb sp bff0c6c0 error 4 [ 94.717764] init[1]: segfault at 00000004 ip 49471cbb sp bff0c6c0 error 4 [ 94.724772] init[1]: segfault at 00000004 ip 49471cbb sp bff0c6c0 error 4 [ 94.731777] init[1]: segfault at 00000004 ip 49471cbb sp bff0c6c0 error 4 Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 38472311679d8784c2934d071ddda23d9b3fe264 Author: Ingo Molnar Date: Wed Jan 30 13:32:57 2008 +0100 x86: unify pgtable accessors which use, #2 based on: Subject: x86: unify pgtable accessors which use supported_pte_mask From: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6fdc05d4794056e0b98901646c4b68c60a01d5eb Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:32:57 2008 +0100 x86: unify pgtable accessors which use Make users of supported_pte_mask common. This has the side-effect of introducing the variable for 32-bit non-PAE, but I think its a pretty small cost to simplify the code. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c3bcfb57e1e64b9b2f8b2d90564826637e21c5ea Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:32:57 2008 +0100 x86: mask NX from pte_pfn In 32-bit PAE, mask NX from pte_pfn, since it isn't part of the PFN. This code is due for unification anyway, but this fixes a latent bug. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4614139c6a74fe02c85f702ba9c0e57f8e38647e Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:32:56 2008 +0100 x86/pgtable: unify pagetable accessors, #6 Unify functions to test and set bits in pagetable entries. NOP: only moves existing code around, without any change to it. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e8a4852453c5af27d2a9c606e76809afa3dedb64 Author: Ingo Molnar Date: Wed Jan 30 13:32:56 2008 +0100 x86/pgtable: unify pagetable accessors, #5 reorder. NOP. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7d00a1ae54779db1bec03fa575cf53d99cb6cc48 Author: Ingo Molnar Date: Wed Jan 30 13:32:56 2008 +0100 x86/pgtable: unify pagetable accessors, #4 add new ops to 32-bit. based on: Subject: x86/pgtable: unify pagetable accessors From: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1444d2da4468f30daff47cacfd98acbd7baf43a7 Author: Ingo Molnar Date: Wed Jan 30 13:32:56 2008 +0100 x86/pgtable: unify pagetable accessors, #3 change the pte_mk inlines to the unified format. Non-NOP! based on: Subject: x86/pgtable: unify pagetable accessors From: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 92ac166f3a776afc51766395076ffcfde112740a Author: Ingo Molnar Date: Wed Jan 30 13:32:55 2008 +0100 x86/pgtable: unify pagetable accessors, #2 change the pte_dirty/* inlines to the unified format. Non-NOP! based on: Subject: x86/pgtable: unify pagetable accessors From: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit dcbae6b377d78190954055ef2d8909ae83ff57de Author: Ingo Molnar Date: Wed Jan 30 13:32:55 2008 +0100 x86/pgtable: unify pagetable accessors, #1 based on: Subject: x86/pgtable: unify pagetable accessors From: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 61f38226def55d972cfd0e789971e952525ff8e5 Author: Ingo Molnar Date: Wed Jan 30 13:32:55 2008 +0100 x86/pgtable: fix constant sign extension problem based on: Subject: x86/pgtable: fix constant sign extension problem From: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 925596a017bbd045ff711b778256f459e50a1192 Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:32:55 2008 +0100 x86: avoid name conflict for Voyager leave_mm Avoid a conflict between Voyager's leave_mm and asm-x86/mmu.h's leave_mm. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6c3866558213ff706d8331053386915371ad63ec Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:32:55 2008 +0100 x86: move all asm/pgtable constants into one place 32 and 64-bit use the same flags for pagetable entries, so make them all common. [ mingo@elte.hu: fixes ] Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 82bc03fc158e28c90d7ed9919410776039cb4e14 Author: Ingo Molnar Date: Wed Jan 30 13:32:54 2008 +0100 x86: add PWT to NOCACHE flags add PWT bit to NOCACHE flags. No real difference to CPUs, but needed later for PAT. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7375931a27bbe687e03ae3c28178920b0c66a87d Author: Paolo Ciarrocchi Date: Wed Jan 30 13:32:54 2008 +0100 x86: coding style fixes in arch/x86/ia32/audit.c Fix one error reported by checkpatch, it now reports: total: 0 errors, 0 warnings, 42 lines checked Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bac4894dfa9c75c297b905e2ea88caaa5768f1e2 Author: Mel Gorman Date: Wed Jan 30 13:32:54 2008 +0100 x86: make NUMA work on 32-bit again On 32-bit NUMA, the memmap representing struct pages on each node is allocated from node-local memory if possible. As only node-0 has memory from ZONE_NORMAL, the memmap must be mapped into low memory. This is done by reserving space in the Kernel Virtual Area (KVA) for the memmap belonging to other nodes by taking pages from the end of ZONE_NORMAL and remapping the other nodes memmap into those virtual addresses. The node boundaries are then adjusted so that the region of pages is not used and it is marked as reserved in the bootmem allocator. This reserved portion of the KVA is PMD aligned althought strictly speaking that requirement could be lifted (see thread at http://lkml.org/lkml/2007/8/24/220). The problem is that when aligned, there may be a portion of ZONE_NORMAL at the end that is not used for memmap and does not have an initialised memmap nor is it marked reserved in the bootmem allocator. Later in the boot process, these pages are freed and a storm of Bad page state messages result. This patch marks these pages reserved that are wasted due to alignment in the bootmem allocator so they are not accidently freed. It is worth noting that memory from node-0 is wasted where it could have been put into ZONE_HIGHMEM on NUMA machines. Worse, the KVA is always reserved from the location of real memory even when there is plenty of spare virtual address space. This patch also makes sure that reserve_bootmem() is not called with a 0-length size in numa_kva_reserve(). When this happens, it usually means that a kernel built for Summit is being booted on a normal machine. The resulting BUG_ON() is misleading so it is caught here. Signed-off-by: Mel Gorman Signed-off-by: Andy Whitcroft Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 87e8407f9ad2a2df901c4b690ab0a2bf0fb168c5 Author: Markus Metzger Date: Wed Jan 30 13:32:54 2008 +0100 x86, ptrace: add bts_struct size to status command Return the size of bts_struct in the PTRACE_BTS_STATUS command. Change types to u32. Signed-off-by: Markus Metzger Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 58f6f6ea1d5031f998b5e7d640d7bc45ed86d0c8 Author: Ingo Molnar Date: Wed Jan 30 13:32:54 2008 +0100 x86: migration helpers for KVM migration helpers for KVM. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4fc2fba804cae404d2665e23b8cbd46d5f63a07e Author: Pavel Machek Date: Wed Jan 30 13:32:54 2008 +0100 x86: unify arch/x86/kernel/acpi/sleep*.c Unify arch/x86/kernel/acpi/sleep*.c Pretty trivial unification; when two functions differed, it was usually in error handling, and better of the two was picked up. Signed-off-by: Pavel Machek Looks-okay-to: Rafael J. Wysocki Tested-by: Rafael J. Wysocki Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 8a19da7b7f16d8360e39035f6ab96686e835522b Author: Ingo Molnar Date: Wed Jan 30 13:32:53 2008 +0100 x86: clean up arch/x86/mm/fault_64.c clean up arch/x86/mm/fault_64.c a bit. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8c1c9356429741a82ff176d0f3400fb9e06b2a30 Author: Ananth N Mavinakayanahalli Date: Wed Jan 30 13:32:53 2008 +0100 x86: kprobes: add kprobes smoke tests that run on boot Here is a quick and naive smoke test for kprobes. This is intended to just verify if some unrelated change broke the *probes subsystem. It is self contained, architecture agnostic and isn't of any great use by itself. This needs to be built in the kernel and runs a basic set of tests to verify if kprobes, jprobes and kretprobes run fine on the kernel. In case of an error, it'll print out a message with a "BUG" prefix. This is a start; we intend to add more tests to this bucket over time. Thanks to Jim Keniston and Masami Hiramatsu for comments and suggestions. Tested on x86 (32/64) and powerpc. Signed-off-by: Ananth N Mavinakayanahalli Acked-by: Masami Hiramatsu Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 3334052a321aca0ffecb54244d666311f98f5487 Author: travis@sgi.com Date: Wed Jan 30 13:32:53 2008 +0100 x86: unify percpu.h Form a single percpu.h from percpu_32.h and percpu_64.h. Both are now pretty small so this is simply adding them together. Cc: Rusty Russell Signed-off-by: Christoph Lameter Signed-off-by: Mike Travis Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 072a1e6953d2caffbad7d217ae51cdc61125960f Author: travis@sgi.com Date: Wed Jan 30 13:32:52 2008 +0100 x86: use generic percpu on 64-bit x86_64 provides an optimized way to determine the local per cpu area offset through the pda and determines the base by accessing a remote pda. Cc: Rusty Russell Cc: Andi Kleen Signed-off-by: Christoph Lameter Signed-off-by: Mike Travis Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 0af8a5ccc51ee2269712c90ab09c91b0150f4224 Author: travis@sgi.com Date: Wed Jan 30 13:32:52 2008 +0100 x86_32: use generic percpu.h x86_32 only provides a special way to obtain the local per cpu area offset via x86_read_percpu. Otherwise it can fully use the generic handling. Cc: ak@suse.de Signed-off-by: Christoph Lameter Signed-off-by: Mike Travis Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit acdac87202a408133ee8f7985076de9d2e0dc5ab Author: travis@sgi.com Date: Wed Jan 30 13:32:52 2008 +0100 percpu: make the asm-generic/percpu.h more "generic" - add support for PER_CPU_ATTRIBUTES - fix generic smp percpu_modcopy to use per_cpu_offset() macro. Add the ability to use generic/percpu even if the arch needs to override several aspects of its operations. This will enable the use of generic percpu.h for all arches. An arch may define: __per_cpu_offset Do not use the generic pointer array. Arch must define per_cpu_offset(cpu) (used by x86_64, s390). __my_cpu_offset Can be defined to provide an optimized way to determine the offset for variables of the currently executing processor. Used by ia64, x86_64, x86_32, sparc64, s/390. SHIFT_PTR(ptr, offset) If an arch defines it then special handling of pointer arithmentic may be implemented. Used by s/390. (Some of these special percpu arch implementations may be later consolidated so that there are less cases to deal with.) Cc: Rusty Russell Cc: Andi Kleen Signed-off-by: Christoph Lameter Signed-off-by: Mike Travis Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5280e004fc22314122c84978c0b6a741cf96dc0f Author: travis@sgi.com Date: Wed Jan 30 13:32:52 2008 +0100 percpu: move arch XX_PER_CPU_XX definitions into linux/percpu.h - Special consideration for IA64: Add the ability to specify arch specific per cpu flags - remove .data.percpu attribute from DEFINE_PER_CPU for non-smp case. The arch definitions are all the same. So move them into linux/percpu.h. We cannot move DECLARE_PER_CPU since some include files just include asm/percpu.h to avoid include recursion problems. Cc: Rusty Russell Cc: Andi Kleen Signed-off-by: Christoph Lameter Signed-off-by: Mike Travis Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b32ef636a59aad12f9f9b5dc34c93222842c58ba Author: travis@sgi.com Date: Wed Jan 30 13:32:51 2008 +0100 percpu: use a kconfig variable to signal arch specific percpu setup The use of the __GENERIC_PERCPU is a bit problematic since arches may want to run their own percpu setup while using the generic percpu definitions. Replace it through a kconfig variable. Cc: Rusty Russell Cc: Andi Kleen Signed-off-by: Christoph Lameter Signed-off-by: Mike Travis Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit cf8fa920cb4271f17e0265c863d64bea1b31941a Author: H. Peter Anvin Date: Wed Jan 30 13:32:51 2008 +0100 i386: handle an initrd in highmem (version 2) The boot protocol has until now required that the initrd be located in lowmem, which makes the lowmem/highmem boundary visible to the boot loader. This was exported to the bootloader via a compile-time field. Unfortunately, the vmalloc= command-line option breaks this part of the protocol; instead of adding yet another hack that affects the bootloader, have the kernel relocate the initrd down below the lowmem boundary inside the kernel itself. Note that this does not rely on HIGHMEM being enabled in the kernel. Signed-off-by: H. Peter Anvin Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6d7d7433750c7c6eec93d7b3206019e329228686 Author: Huang, Ying Date: Wed Jan 30 13:32:51 2008 +0100 x86 boot : export boot_params via debugfs for debugging This patch export the boot parameters via debugfs for debugging. The files added are as follow: boot_params/data : binary file for struct boot_params boot_params/version : boot protocol version This patch is based on 2.6.24-rc5-mm1 and has been tested on i386 and x86_64 platform. This patch is based on the Peter Anvin's proposal. Signed-off-by: Huang Ying Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4d022e35fd7e07c522c7863fee6f07e53cf3fc14 Author: Miguel Boton Date: Wed Jan 30 13:32:51 2008 +0100 x86: reboot_{32|64}.c unification reboot_{32|64}.c unification patch. This patch unifies the code from the reboot_32.c and reboot_64.c files. It has been tested in computers with X86_32 and X86_64 kernels and it looks like all reboot modes work fine (EFI restart system hasn't been tested yet). Probably I made some mistakes (like I usually do) so I hope we can identify and fix them soon. Signed-off-by: Miguel Boton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 71c339116a216b181fc5e203ef51a033fe5e38cf Author: Arjan van de Ven Date: Wed Jan 30 13:32:50 2008 +0100 debug: add the end-of-trace marker and the module list to Unlike oopses, WARN_ON() currently does't print the loaded modules list. This makes it harder to take action on certain bug reports. For example, recently there were a set of WARN_ON()s reported in the mac80211 stack, which were just signalling a driver bug. It takes then anther round trip to the bug reporter (if he responds at all) to find out which driver is at fault. Another issue is that, unlike oopses, WARN_ON() doesn't currently printk the helpful "cut here" line, nor the "end of trace" marker. Now that WARN_ON() is out of line, the size increase due to this is minimal and it's worth adding. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 79b4cc5ee7a8086ac2c9c0afa52e6d687ce1ffef Author: Arjan van de Ven Date: Wed Jan 30 13:32:50 2008 +0100 debug: move WARN_ON() out of line A quick grep shows that there are currently 1145 instances of WARN_ON in the kernel. Currently, WARN_ON is pretty much entirely inlined, which makes it hard to enhance it without growing the size of the kernel (and getting Andrew unhappy). This patch build on top of Olof's patch that introduces __WARN, and places the slowpath out of line. It also uses Ingo's suggestion to not use __FUNCTION__ but to use kallsyms to do the lookup; this saves a ton of extra space since gcc doesn't need to store the function string twice now: 3936367 833603 624736 5394706 525112 vmlinux.before 3917508 833603 624736 5375847 520767 vmlinux-slowpath 15Kb savings... Signed-off-by: Arjan van de Ven CC: Andrew Morton CC: Olof Johansson Acked-by: Matt Meckall Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3a6a62f96f168d192fb0cc9c0b5ee2584740b32d Author: Olof Johansson Date: Wed Jan 30 13:32:50 2008 +0100 debug: introduce __WARN() Introduce __WARN() in the generic case, so the generic WARN_ON() can use arch-specific code for when the condition is true. Signed-off-by: Olof Johansson Cc: Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f315decbd05fefbca09bd492ae54eaa334ba826b Author: Abhishek Sagar Date: Wed Jan 30 13:32:50 2008 +0100 x86: kprobes change kprobe_handler flow Signed-off-by: Abhishek Sagar Signed-off-by: Quentin Barnes Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4c4915627f94a81a834a7a65dee83acdfb45788c Author: Eric Dumazet Date: Wed Jan 30 13:32:50 2008 +0100 x86: make arch/x86/kernel/acpi/wakeup_32.S use a separate While examining vmlinux namelist on i386 (nm -v vmlinux) I noticed : c01021d0 t es7000_rename_gsi c010221a T es7000_start_cpu c0103000 T thread_saved_pc and c0113218 T acpi_restore_state_mem c0113219 T acpi_save_state_mem c0114000 t wakeup_code This is because arch/x86/kernel/acpi/wakeup_32.S forces a .text alignment of 4096 bytes. (I have no idea if it is really needed, since arch/x86/kernel/acpi/wakeup_64.S uses a 16 bytes alignment *only*) So arch/x86/kernel/built-in.o also has this alignment arch/x86/kernel/built-in.o: file format elf32-i386 Sections: Idx Name Size VMA LMA File off Algn 0 .text 00018c94 00000000 00000000 00001000 2**12 CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE But as arch/x86/kernel/acpi/wakeup_32.o is not the first object linked into arch/x86/kernel/built-in.o, linker had to build several holes to meet alignement requirements, because of .o nestings in the kbuild process. This can be solved by using a special section, .text.page_aligned, so that no holes are needed. # size vmlinux.before vmlinux.after text data bss dec hex filename 4619942 422838 458752 5501532 53f25c vmlinux.before 4610534 422838 458752 5492124 53cd9c vmlinux.after This saves 9408 bytes Signed-off-by: Eric Dumazet Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0c2bd5a5e3b9469c6ab2b96c403980f192db0bf7 Author: Ingo Molnar Date: Wed Jan 30 13:32:49 2008 +0100 x86: clean up include/asm-x86/calling.h clean up include/asm-x86/calling.h. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e3cfac84cfbc8c9f17817573befc0f4913b1a4dc Author: Andi Kleen Date: Wed Jan 30 13:32:49 2008 +0100 x86: mark memory_setup __init Otherwise WARNING: vmlinux.o(.text+0x64a9): Section mismatch: reference to .init.text:machine_specific_memory_setup (between 'memory_setup' and 'show_cpuinfo') Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a9a832902fccc958caa339677dbff766e51b02c3 Author: Andi Kleen Date: Wed Jan 30 13:32:49 2008 +0100 x86: Set CFQ as default in 32-bit defconfig Someone complained that the 32-bit defconfig contains AS as default IO scheduler. Change that to CFQ. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a6b68076fd5d7de04e6847ed9d7d212e7dd6beb5 Author: Andi Kleen Date: Wed Jan 30 13:32:49 2008 +0100 x86: compile apm and voyager module only when selected in Kconfig Previously the complete files were #ifdef'ed, but now handle that in the Makefile. May save a minor bit of compilation time. [ Stephen Rothwell : build dependency fix ] Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 37f30e21d6be046e948fce1dfa4a968cf5abcf89 Author: Andi Kleen Date: Wed Jan 30 13:32:49 2008 +0100 x86: document fdimage/isoimage completely in make help Add missing targets and missing options in x86 make help [ mingo@elte.hu: more whitespace cleanups ] Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3898534d85e2da8cedab1ceb6ab9328c61f2c1ce Author: Andi Kleen Date: Wed Jan 30 13:32:49 2008 +0100 x86: remove CPU capabitilites printks on 32-bit I don't know of any case where they have been useful and they look ugly. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 96d97cf03b3d68e6c857623da93acd522b2b7e1a Author: Andi Kleen Date: Wed Jan 30 13:32:48 2008 +0100 x86: add /proc/irq/*/spurious to dump the spurious irq debugging state This is useful to debug problems with interrupt handlers that return sometimes IRQ_NONE. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9e094c17ee2b85130ab7b2ea37456f6867eb687a Author: Andi Kleen Date: Wed Jan 30 13:32:48 2008 +0100 genirq: turn irq debugging options into module params This allows to change them at runtime using sysfs. No need to reboot to set them. I only added aliases (kernel.noirqdebug etc.) so the old options still work. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b899c5ed2ef3af3429abd8046197255f179ea496 Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:32:44 2008 +0100 x86/efi: fix improper use of lvalue # HG changeset patch # User Jeremy Fitzhardinge # Date 1199391030 28800 # Node ID 5d35c92fdf0e2c52edbb6fc4ccd06c7f65f25009 # Parent 22f6a5902285b58bfc1fbbd9e183498c9017bd78 x86/efi: fix improper use of lvalue pgd_val is no longer valid as an lvalue, so don't try to assign to it. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 11b7c7dc945b8802c459baa3304c1b501d2bf872 Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:32:44 2008 +0100 x86: page.h: move things back to their own files # HG changeset patch # User Jeremy Fitzhardinge # Date 1199321648 28800 # Node ID 22f6a5902285b58bfc1fbbd9e183498c9017bd78 # Parent bba9287641ff90e836d090d80b5c0a846aab7162 x86: page.h: move things back to their own files Oops, asm/page.h has turned into an #ifdef hellhole. Move 32/64-specific things back to their own headers to make it somewhat comprehensible... Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e62f4473f32a882a537b32cb7202da8d5d7c4f1f Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:32:44 2008 +0100 x86: page.h: move remaining bits and pieces # HG changeset patch # User Jeremy Fitzhardinge # Date 1199319657 28800 # Node ID bba9287641ff90e836d090d80b5c0a846aab7162 # Parent d617b72a0cc9d14bde2087d065c36d4ed3265761 x86: page.h: move remaining bits and pieces Move the remaining odds and ends into page.h. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 98fd5aee348f0420afd1c636790d50aaaec6ceec Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:32:43 2008 +0100 x86: page.h: move pa and va related things # HG changeset patch # User Jeremy Fitzhardinge # Date 1199319656 28800 # Node ID d617b72a0cc9d14bde2087d065c36d4ed3265761 # Parent 3bd7db6e85e66e7f3362874802df26a82fcb2d92 x86: page.h: move pa and va related things Move and unify the virtual<->physical address space conversion functions. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6724a1d2fc6b40d55f232b8dacc12a915878bdc7 Author: Ingo Molnar Date: Wed Jan 30 13:32:43 2008 +0100 x86: page.h: move and unify types for pagetable entry, #6 based on: Subject: x86: page.h: move and unify types for pagetable entry From: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 881d90d0daaeac018b0d5beb739dd825ccee0143 Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:32:43 2008 +0100 x86: page.h: move and unify types for pagetable entry # HG changeset patch # User Jeremy Fitzhardinge # Date 1199319654 28800 # Node ID 3bd7db6e85e66e7f3362874802df26a82fcb2d92 # Parent f7e7db3facd9406545103164f9be8f9ba1a2b549 x86: page.h: move and unify types for pagetable entry definitions This patch: 1. Defines arch-specific types for the contents of a pagetable entry. That is, 32-bit entries for 32-bit non-PAE, and 64-bit entries for 32-bit PAE and 64-bit. However, even though the latter two are the same size, they're defined with different types in order to retain compatibility with printk format strings, etc. 2. Defines arch-specific pte_t. This is different because 32-bit PAE defines it in two halves, whereas 32-bit PAE and 64-bit define it as a single entry. All the other pagetable levels can be defined in a common way. This also defines arch-specific pte_val/make_pte functions. 3. Define PAGETABLE_LEVELS for each architecture variation, for later use. 4. Define common pagetable entry accessors in a paravirt-compatible way. (64-bit does not yet use paravirt-ops in any way). 5. Convert a few instances of using a *_val() as an lvalue where it is no longer a macro. There are still places in the 64-bit code which use pte_val() as an lvalue. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 38f0f12793a490ac633dbba2418172b7abfa077e Author: Ingo Molnar Date: Wed Jan 30 13:32:43 2008 +0100 x86: page.h: move and unify types for pagetable entry, #5 based on: Subject: x86: page.h: move and unify types for pagetable entry From: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d6e3cf63e927310f65e21132f1d1c50e3aa4c2b0 Author: Ingo Molnar Date: Wed Jan 30 13:32:43 2008 +0100 x86: page.h: move and unify types for pagetable entry, #4 Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ba2b6c525eec459e1c6397f0f3eaeeafad153eab Author: Ingo Molnar Date: Wed Jan 30 13:32:42 2008 +0100 x86: page.h: move and unify types for pagetable entry, #3 based on: Subject: x86: page.h: move and unify types for pagetable entry From: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7a2389b457a03f226b441b5c53f9808d4eefdcea Author: Ingo Molnar Date: Wed Jan 30 13:32:42 2008 +0100 x86: page.h: move and unify types for pagetable entry, #2 based on: Subject: x86: page.h: move and unify types for pagetable entry From: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3da1bcc2659de27094592e5a037d0b1d59351e03 Author: Ingo Molnar Date: Wed Jan 30 13:32:42 2008 +0100 x86: page.h: move and unify types for pagetable entry, #1 based on: Subject: x86: page.h: move and unify types for pagetable entry From: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 74ef649fe847fdfbd3e1732d21b923f59ca04e8c Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:32:42 2008 +0100 x86: add _AT() macro to conditionally cast # HG changeset patch # User Jeremy Fitzhardinge # Date 1199317452 28800 # Node ID f7e7db3facd9406545103164f9be8f9ba1a2b549 # Parent 4d9a413a0f4c1d98dbea704f0366457b5117045d x86: add _AT() macro to conditionally cast Define _AT(type, value) to conditionally cast a value when compiling C code, but not when used in assembler. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 345b904c3f7c24fbfadfee7cddd5896d13b176d9 Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:32:42 2008 +0100 x86: page.h: unify page copying and clearing # HG changeset patch # User Jeremy Fitzhardinge # Date 1199317362 28800 # Node ID 4d9a413a0f4c1d98dbea704f0366457b5117045d # Parent ba0ec40a50a7aef1a3153cea124c35e261f5a2df x86: page.h: unify page copying and clearing Move, and to some extent unify, the various page copying and clearing functions. The only unification here is that both architectures use the same function for copying/clearing user and kernel pages. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 83a5101bf2fa7dcf09ffd436078a021d32c97f85 Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:32:41 2008 +0100 x86: page.h: unify constants # HG changeset patch # User Jeremy Fitzhardinge # Date 1199317360 28800 # Node ID ba0ec40a50a7aef1a3153cea124c35e261f5a2df # Parent c45c263179cb78284b6b869c574457df088027d1 x86: page.h: unify constants There are many constants which are shared by 32 and 64-bit. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9566e91d494ed0668edf88f852de7f251fe8fe9a Author: Andreas Herrmann Date: Wed Jan 30 13:32:41 2008 +0100 x86: fix detection of CONSTANT_TSC bit for AMD CPUs Commits - c52f61fcbdb2aa84f0e4d831ef07f375e6b99b2c (x86: allow TSC clock source on AMD Fam10h and some cleanup) - e30436f05d456efaff77611e4494f607b14c2782 (x86: move X86_FEATURE_CONSTANT_TSC into early cpu feature detection) are supposed to fix the detection of contant TSC for AMD CPUs. Unfortunately on x86_64 it does still not work with current x86/mm. For a Phenom I still get: ... TSC calibrated against PM_TIMER Marking TSC unstable due to TSCs unsynchronized time.c: Detected 2288.366 MHz processor. ... We have to set c->x86_power in early_identify_cpu to properly detect the CONSTANT_TSC bit in early_init_amd. Attached patch fixes this issue. Following the relevant boot messages when the fix is used: ... TSC calibrated against PM_TIMER time.c: Detected 2288.279 MHz processor. ... Initializing CPU#1 ... checking TSC synchronization [CPU#0 -> CPU#1]: passed. ... Initializing CPU#2 ... checking TSC synchronization [CPU#0 -> CPU#2]: passed. ... Booting processor 3/4 APIC 0x3 ... checking TSC synchronization [CPU#0 -> CPU#3]: passed. Brought up 4 CPUs ... Patch is against x86/mm (v2.6.24-rc8-672-ga9f7faa). Please apply. Set c->x86_power in early_identify_cpu. This ensures that X86_FEATURE_CONSTANT_TSC can properly be set in early_init_amd. Signed-off-by: Andreas Herrmann Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ddb25f9ac1c4b4f9ba0bdacd7850a921a0c6886c Author: Andi Kleen Date: Wed Jan 30 13:32:41 2008 +0100 x86: don't disable TSC in any C states on AMD Fam10h The ACPI code currently disables TSC use in any C2 and C3 states. But the AMD Fam10h BKDG documents that the TSC will never stop in any C states when the CONSTANT_TSC bit is set. Make this disabling conditional on CONSTANT_TSC not set on AMD. I actually think this is true on Intel too for C2 states on CPUs with p-state invariant TSC, but this needs further discussions with Len to really confirm :-) So far it is only enabled on AMD. Cc: lenb@kernel.org Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 32c7553f824d0d76771404f0e11d6059f82e8de7 Author: Andi Kleen Date: Wed Jan 30 13:32:41 2008 +0100 x86: remove explicit C3 TSC check on 64bit Trust the ACPI code to disable TSC instead when C3 is used. AMD Fam10h does not disable TSC in any C states so the check was incorrect there anyways after the change to handle this like Intel on AMD too. This allows to use the TSC when C3 is disabled in software (acpi.max_c_state=2), but the BIOS supports it anyways. Match i386 behaviour. Cc: lenb@kernel.org Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 51fc97b93545e71cec578d6771bceeb92bc2d50b Author: Andi Kleen Date: Wed Jan 30 13:32:40 2008 +0100 x86: allow TSC clock source on AMD Fam10h and some cleanup After a lot of discussions with AMD it turns out that TSC on Fam10h CPUs is synchronized when the CONSTANT_TSC cpuid bit is set. Or rather that if there are ever systems where that is not true it would be their BIOS' task to disable the bit. So finally use TSC gettimeofday on Fam10h by default. Or rather it is always used now on CPUs where the AMD specific CONSTANT_TSC bit is set. This gives a nice speed bost for gettimeofday() on these systems which tends to be by far the most common v/syscall. On a Fam10h system here TSC gtod uses about 20% of the CPU time of acpi_pm based gtod(). This was measured on 32bit, on 64bit it is even better because TSC gtod() can use a vsyscall and stay in ring 3, which acpi_pm doesn't. The Intel check simply checks for CONSTANT_TSC too without hardcoding Intel vendor. This is equivalent on 64bit because all 64bit capable Intel CPUs will have CONSTANT_TSC set. On Intel there is no CPU supplied CONSTANT_TSC bit currently, but we synthesize one based on hardcoded knowledge which steppings have p-state invariant TSC. So the new logic is now: On CPUs which have the AMD specific CONSTANT_TSC bit set or on Intel CPUs which are new enough to be known to have p-state invariant TSC always use TSC based gettimeofday() Cc: lenb@kernel.org Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2b16a2353814a513cdb5c5c739b76a19d7ea39ce Author: Andi Kleen Date: Wed Jan 30 13:32:40 2008 +0100 x86: move X86_FEATURE_CONSTANT_TSC into early cpu feature detection Need this in the next patch in time_init and that happens early. This includes a minor fix on i386 where early_intel_workarounds() [which is now called early_init_intel] really executes early as the comments say. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 68071a96655c883b316da9ef497f6dec8953529f Author: Andi Kleen Date: Wed Jan 30 13:32:40 2008 +0100 x86: remove the now unused X86_FEATURE_SYNC_RDTSC we need to know whether RDTSC is synchronous or not. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 92767af0e3904b4d35ed547fb514ff6cb227e678 Author: Ingo Molnar Date: Wed Jan 30 13:32:40 2008 +0100 x86: fix sched_clock() [ andi@firstfloor.org: build fix ] Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6d63de8dbcda98511206897562ecfcdacf18f523 Author: Andi Kleen Date: Wed Jan 30 13:32:39 2008 +0100 x86: remove get_cycles_sync rdtsc is now speculation-safe, so no need for the sync variants of the APIs. [ mingo@elte.hu: removed the nsec_barrier() complication. ] Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f06e4ec1c15691b0cfd2397ae32214fa36c90d71 Author: Ingo Molnar Date: Wed Jan 30 13:32:39 2008 +0100 x86: read_tsc sync make native_read_tsc() always non-speculative. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e4026440130b84101f2da7f5a0c7a3b046173d3c Author: Ingo Molnar Date: Wed Jan 30 13:32:39 2008 +0100 x86: map vsyscalls early enough map vsyscalls early enough. This is important if a __vsyscall_fn function is used by other kernel code too. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cdc7957d1954908a39a6964e9c6f643916e76c4b Author: Ingo Molnar Date: Wed Jan 30 13:32:39 2008 +0100 x86: move native_read_tsc() offline move native_read_tsc() offline. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fde1b3fa947c2512e3715962ebb1d3a6a9b9bb7d Author: Andi Kleen Date: Wed Jan 30 13:32:38 2008 +0100 x86: introduce rdtsc_barrier() rdtsc_barrier() is a new barrier primitive that stops RDTSC speculation to avoid races with timer interrupts on other CPUs. It expands either to LFENCE (for Intel CPUs) or MFENCE (for AMD CPUs) which stops RDTSC on all currently known microarchitectures that implement SSE. On CPUs without SSE there is generally no RDTSC speculation. [ mingo@elte.hu: renamed it to rdtsc_barrier() and made it x86-only ] Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2a10e7c41254941cac87be1eccdcb6379ce097f5 Author: WANG Cong Date: Wed Jan 30 13:32:38 2008 +0100 git-x86: unbreak UML Acked-by: Jeff Dike Signed-off-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bd61643ef6139ba44142f2ba6e79e03267e6b54a Author: Andi Kleen Date: Wed Jan 30 13:32:38 2008 +0100 x86: move nop declarations into separate include file Moving things out of processor.h is always a good thing. Also needed to avoid include loop in later patch. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6d5f718a497375f853d90247f5f6963368e89803 Author: Ingo Molnar Date: Wed Jan 30 13:32:38 2008 +0100 x86: lfence fix LFENCE is available on XMM2 or higher Intel CPUs - not XMM or higher... this caused boot failures on XMM1 & !XMM1 capable CPUs. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 707fa8ed923b1b6a3d7af0d386b0b3abad28ed19 Author: Andi Kleen Date: Wed Jan 30 13:32:37 2008 +0100 x86: Implement support to synchronize RDTSC with LFENCE on Intel CPUs According to Intel RDTSC can be always synchronized with LFENCE on all current CPUs. Implement the necessary CPUID bit for that. It is unclear yet if that is true for all future CPUs too, but if there's another way the kernel can be always updated. Cc: asit.k.mallick@intel.com Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit de4218634e3df6d73a3e6cdfdf3a17fa3bc7e013 Author: Andi Kleen Date: Wed Jan 30 13:32:37 2008 +0100 x86: implement support to synchronize RDTSC through MFENCE on AMD CPUs According to AMD RDTSC can be synchronized through MFENCE. Implement the necessary CPUID bit for that. Cc: andreas.herrmann3@amd.com Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 27efeb67714608b28c0b213cceb6080749435c6b Author: Andi Kleen Date: Wed Jan 30 13:32:36 2008 +0100 x86: make ptrace.h safe to include from assembler code Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3aa88cdf6bcc9e510c0707581131b821a7d3b7cb Author: Carlos R. Mafra Date: Wed Jan 30 13:32:36 2008 +0100 x86: clean up k8topology.c This patch fixes all errors pointed out by checkpatch.pl. errors lines of code errors/KLOC arch/x86/mm/k8topology_64.c (before) 72 185 389.1 arch/x86/mm/k8topology_64.c (after) 0 185 0 No code changed. text data bss dec hex filename 1506 0 0 1506 5e2 k8topology_64.o.after 1506 0 0 1506 5e2 k8topology_64.o.before md5sum: f9f48331a7eca4fc60d2a03369dc5f53 k8topology_64.o.after f9f48331a7eca4fc60d2a03369dc5f53 k8topology_64.o.before Signed-off-by: Carlos R. Mafra Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ff8a03a623d8e9a7431b4236a901c02634cd5d43 Author: Hiroshi Shimamoto Date: Wed Jan 30 13:32:36 2008 +0100 x86: clean up apic_32.c, take 2 More white space and coding style clean up. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f2633105cd92b793dd6a6f623b4140287d46160a Author: Ingo Molnar Date: Wed Jan 30 13:32:36 2008 +0100 x86: debug: double-check the empty zero page temporary debugging - remove before this hits v2.6.25. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 48ddb154cf55fb1e292af49c270b950ef2c6ef32 Author: Yinghai Lu Date: Wed Jan 30 13:32:36 2008 +0100 x86: not clear empty_zero_page again empty_zero_page is in .bss section, and it is cleared in clear_bss by x86_64_start_kernel(). So don't clear that again in mem_init Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e83a5fdca89970f87e06f87a1d18be22b161e2ba Author: Hiroshi Shimamoto Date: Wed Jan 30 13:32:35 2008 +0100 x86: clean up apic_32/64.c White space and coding style clean up. Make apic_32/64.c similar. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c4aba4a8ec795124394bc79e3e8dbbc319338a98 Author: Harvey Harrison Date: Wed Jan 30 13:32:35 2008 +0100 x86: introduce force_sig_info_fault helper to X86_64 Use the force_sig_info_fault helper from X86_32 in X86_64. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1dc85be087d6645575847dc23c37147a2352312b Author: Harvey Harrison Date: Wed Jan 30 13:32:35 2008 +0100 x86: begin fault_{32|64}.c unification Move X86_32 only get_segment_eip to X86_64 Move X86_64 only is_errata93 to X86_32 Change X86_32 loop in is_prefetch to highlight the differences between them. Fold the logic from __is_prefetch in as well on X86_32. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b6795e65f158d12d3124379fc50ec156ae60f888 Author: Harvey Harrison Date: Wed Jan 30 13:32:34 2008 +0100 x86: fault_32.c cleanup We get die() from kdebug.h, no need for forward declaration. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b75f53dba8a4a61fda1ff7e0fb0fe3b0d80e0c64 Author: Carlos R. Mafra Date: Wed Jan 30 13:32:33 2008 +0100 x86: fix style errors in nmi_int.c This patch fixes most errors detected by checkpatch.pl. errors lines of code errors/KLOC arch/x86/oprofile/nmi_int.c (after) 1 461 2.1 arch/x86/oprofile/nmi_int.c (before) 60 477 125.7 No code changed. size: text data bss dec hex filename 2675 264 472 3411 d53 nmi_int.o.after 2675 264 472 3411 d53 nmi_int.o.before md5sum: 847aea0cc68fe1a2b5e7019439f3b4dd nmi_int.o.after 847aea0cc68fe1a2b5e7019439f3b4dd nmi_int.o.before Signed-off-by: Carlos R. Mafra Reviewed-by: Jesper Juhl Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b506a9d08bae9336ff9223c8a46a37bf27bd924a Author: Quentin Barnes Date: Wed Jan 30 13:32:32 2008 +0100 x86: code clarification patch to Kprobes arch code When developing the Kprobes arch code for ARM, I ran across some code found in x86 and s390 Kprobes arch code which I didn't consider as good as it could be. Once I figured out what the code was doing, I changed the code for ARM Kprobes to work the way I felt was more appropriate. I've tested the code this way in ARM for about a year and would like to push the same change to the other affected architectures. The code in question is in kprobe_exceptions_notify() which does: ==== /* kprobe_running() needs smp_processor_id() */ preempt_disable(); if (kprobe_running() && kprobe_fault_handler(args->regs, args->trapnr)) ret = NOTIFY_STOP; preempt_enable(); ==== For the moment, ignore the code having the preempt_disable()/ preempt_enable() pair in it. The problem is that kprobe_running() needs to call smp_processor_id() which will assert if preemption is enabled. That sanity check by smp_processor_id() makes perfect sense since calling it with preemption enabled would return an unreliable result. But the function kprobe_exceptions_notify() can be called from a context where preemption could be enabled. If that happens, the assertion in smp_processor_id() happens and we're dead. So what the original author did (speculation on my part!) is put in the preempt_disable()/preempt_enable() pair to simply defeat the check. Once I figured out what was going on, I considered this an inappropriate approach. If kprobe_exceptions_notify() is called from a preemptible context, we can't be in a kprobe processing context at that time anyways since kprobes requires preemption to already be disabled, so just check for preemption enabled, and if so, blow out before ever calling kprobe_running(). I wrote the ARM kprobe code like this: ==== /* To be potentially processing a kprobe fault and to * trust the result from kprobe_running(), we have * be non-preemptible. */ if (!preemptible() && kprobe_running() && kprobe_fault_handler(args->regs, args->trapnr)) ret = NOTIFY_STOP; ==== The above code has been working fine for ARM Kprobes for a year. So I changed the x86 code (2.6.24-rc6) to be the same way and ran the Systemtap tests on that kernel. As on ARM, Systemtap on x86 comes up with the same test results either way, so it's a neutral external functional change (as expected). This issue has been discussed previously on linux-arm-kernel and the Systemtap mailing lists. Pointers to the by base for the two discussions: http://lists.arm.linux.org.uk/lurker/message/20071219.223225.1f5c2a5e.en.html http://sourceware.org/ml/systemtap/2007-q1/msg00251.html Signed-off-by: Quentin Barnes Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Tested-by: Ananth N Mavinakayahanalli Acked-by: Ananth N Mavinakayahanalli commit 3f4380a1e0ea44bc1062ca55e8e479ddcda369fc Author: Cyrill Gorcunov Date: Wed Jan 30 13:32:32 2008 +0100 x86: get rid of checkpatch.pl complains on apm_32.c This patch eliminates most of code-style errors discovered by checkpatch.pl on arch/x86/kernel/apm_32.c no code changed: text data bss dec hex filename 12142 1837 84 14063 36ef apm_32.o.before 12142 1837 84 14063 36ef apm_32.o.after md5: 2676b881ad55e387da4a995e8b9ee372 apm_32.o.before.asm 2676b881ad55e387da4a995e8b9ee372 apm_32.o.after.asm Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1c858087cd49d36b2f25b4fc2a47e39ac6cf09df Author: Adrian Bunk Date: Wed Jan 30 13:32:32 2008 +0100 x86: default to PCI=y PCI is one of the few hardware stuff where defaulting to y makes sense. Signed-off-by: Adrian Bunk Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 037f52aca499d9d4e18d03824ce1cd481330c778 Author: Sam Ravnborg Date: Wed Jan 30 13:32:32 2008 +0100 x86: gitignore arch/x86/vdso files Teach git to ignore generated files in arch/x86/vdso/* Signed-off-by: Sam Ravnborg Cc: Roland McGrath Cc: "H. Peter Anvin" Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8eed92605334f1cd8fd025631f6a61522746b124 Author: Cyrill Gorcunov Date: Wed Jan 30 13:32:31 2008 +0100 x86: coding style cleanup for kernel/bootflag.c This patch eliminates checkpatch.pl complaints on bootflag.c No code changed: text data bss dec hex filename 321 8 0 329 149 bootflag.o.before 321 8 0 329 149 bootflag.o.after md5: 9c1b474bcf25ddc1724a29c19880043f bootflag.o.before.asm 9c1b474bcf25ddc1724a29c19880043f bootflag.o.after.asm Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ff3cf856120743c7386e8f6ab9f08e068886ce5c Author: Ingo Molnar Date: Wed Jan 30 13:32:31 2008 +0100 x86: hlt on early crash H. Peter Anvin wrote: > It probably should actually HLT, to avoid sucking power, and stressing > the thermal system. We're dead at this point, and the early 486's > which had problems with HLT will lock up - we don't care. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 39657b6546558469734eb960f7c0c9492111096f Author: Andrew Morton Date: Wed Jan 30 13:32:31 2008 +0100 git-x86: drivers/pnp/pnpbios/bioscalls.c build fix drivers/pnp/pnpbios/bioscalls.c:64: warning: (near initialization for 'bad_bios_desc.') Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fb0328e2e6407d6f48a608aefa62b2be91989e7e Author: Nick Piggin Date: Wed Jan 30 13:32:31 2008 +0100 x86: reduce CONFIG_X86_PPRO_FENCE bloat CONFIG_X86_PPRO_FENCE bloats text: i386 allmodconf: size mm/built-in.o text data bss dec hex text ratio vanilla: 163082 20372 40120 223574 36956 100.00% bugfix : 163509 20372 40120 224001 36b01 0.26% noppro : 162191 20372 40120 222683 365db - 0.55% both : 162267 20372 40120 222759 36627 - 0.50% (+0.05% vs noppro) So with the ppro memory ordering bug out of the way, the PG_uptodate fix only adds 76 bytes of text. allow this config to be specified by distros. [ mingo@elte.hu: x86.git merge ] Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 583d0e90ea52f02ae4d103359ee59e8218799e27 Author: Sam Ravnborg Date: Wed Jan 30 13:32:31 2008 +0100 x86: unify arch/x86/lib/Makefile(s) Trivial unification of Makefiles for the x86 specific library part. Linking order is slightly modified but should be harmless. Tested doing a defconfig build before and after and saw no build changes. It adds almost as many lines as it deletes - bacause I broke a few lines up fo readability in the Makefile. Signed-off-by: Sam Ravnborg Cc: "H. Peter Anvin" Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit db569afa4e69ceaf89b3723a8f9cd2846ed09c76 Author: Sam Ravnborg Date: Wed Jan 30 13:32:30 2008 +0100 x86: unify arch/x86/boot/compressed/Makefile(s) Trivial unification of the two Makefiles. Tested doing a defconfig build for both 32 and 64 bit and no build changes occured. Signed-off-by: Sam Ravnborg Cc: "H. Peter Anvin" Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6b0c3d44d33e9429dbc568dc7fd3aee3774c5707 Author: Sam Ravnborg Date: Wed Jan 30 13:32:27 2008 +0100 x86: unify arch/x86/kernel/Makefile(s) Combine the 32 and 64 bit specific Makefiles in one file. While doing so link order was (almost) preserved on 32 bit but on 64 bit link order changed a lot. Patch was checked with defconfig + allyesconfig builds. The same .o files were linked in these configurations. To keep readability of the Makefiles a few Kconfig symbols was added/modified and it was checked that they were not used anywhere else. Signed-off-by: Sam Ravnborg Cc: "H. Peter Anvin" Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d531b4fd2fa3c619d973ea639476f172d5a3732d Author: Sam Ravnborg Date: Wed Jan 30 13:32:27 2008 +0100 x86: teach vdso to clean A few files remained after 'make clean' in arch/x86/vdso/. Teach vdso to clean up those files in a bit brutal fashion. The filenames are just hardcoded in the Makefile. Signed-off-by: Sam Ravnborg Cc: Roland McGrath Cc: "H. Peter Anvin" Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4ba7e5cd499a72983e6d011e76c1d8fad896d310 Author: Sam Ravnborg Date: Wed Jan 30 13:32:23 2008 +0100 x86: biarch support for 32 bit builds beautified There were no reason to mess around with CC, AS and LD. Fixing this up avoided duplicated option for ld. A small fixlet were needed in boot/Makefile which assumed that CC were modified. Signed-off-by: Sam Ravnborg Cc: "H. Peter Anvin" Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 25dfeeb757bdf06521d65973676b21dac1d26d20 Author: Sam Ravnborg Date: Wed Jan 30 13:32:21 2008 +0100 x86: share more options between 32 and 64 bit build On recommendation from Andi Kleen share a few more options between 32 and 64 bit builds. A defconfig build for i386 did not show any difference in size of text and data. The additional shared options are: -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow Signed-off-by: Sam Ravnborg Cc: "H. Peter Anvin" Cc: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0a6ef376d4baf298aaa2db71794df821a0d7795c Author: Sam Ravnborg Date: Wed Jan 30 13:32:20 2008 +0100 x86: unification of arch/x86/Makefiles Unify the 32 and 64 bit specific Makefiles. The unification was simplest to do in one step although the readability of the patch suffers a bit from this. Noteworthy remarks on the unification: - The 64 bit cpu stuff should be moved to Makefile_32.cpu but I did not feel confident doing it due to subtle differences - The use of cflags-y were abandoned since we have seen one bug where we did wrong due to missing assignment to KBUILD_CFLAGS. The cc-option marcro uses KBUILD_CFLAGS. - The "No need to remake" line are deleted. It caused "make -B" to fail - For 64 bit the sub architecture stuff is not used. - The way head64.o is specified could be nicer - but it awaits the introduction of head32.o (which seems like a win to introduce for readability) - Patch is checkpatch clean Patch is tested by doing a defconfig build for i386 and x86_64 and in both cases monitoring that only relevant files were recompiled when applying the patch. [ mingo@elte.hu: build fix ] Signed-off-by: Sam Ravnborg Cc: "H. Peter Anvin" Cc: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b97601563704751162b122c652d7f390b8f480d2 Author: Harvey Harrison Date: Wed Jan 30 13:32:19 2008 +0100 x86: kprobes change kprobe_handler flow Make the control flow of kprobe_handler more obvious. Collapse the separate if blocks/gotos with if/else blocks this unifies the duplication of the check for a breakpoint instruction race with another cpu. Create two jump targets: preempt_out: re-enables preemption before returning ret out: only returns ret Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 33cb52438341d6e2d7e06e3b64ed776bc54a2ca4 Author: Harvey Harrison Date: Wed Jan 30 13:32:19 2008 +0100 x86: cosmetic fixes fault_{32|64}.c First step towards unifying these files. - Checkpatch trailing whitespace fixes - Checkpatch indentation of switch statement fixes - Checkpatch single statement ifs need no braces fixes - Checkpatch consistent spacing after comma fixes - Introduce defines for pagefault error bits from X86_64 and add useful comment from X86_32. Use these defines in X86_32 where obvious. - Unify comments between 32|64 bit - Small ifdef movement for CONFIG_KPROBES in notify_page_fault() - Introduce X86_64 only case statement No Functional Changes. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1d16b53e387b255d8e30f00594220b23b1290e6b Author: Julia Lawall Date: Wed Jan 30 13:32:19 2008 +0100 arch/x86/kernel/io_apic_{64,32}.c: use time_before The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. A simplified version of the semantic patch making this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ change_compare_np @ expression E; @@ ( - jiffies <= E + time_before_eq(jiffies,E) | - jiffies >= E + time_after_eq(jiffies,E) | - jiffies < E + time_before(jiffies,E) | - jiffies > E + time_after(jiffies,E) ) @ include depends on change_compare_np @ @@ #include @ no_include depends on !include && change_compare_np @ @@ #include + #include // Signed-off-by: Julia Lawall Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4f2479f03c06e29d7d9e1e02191f8b5ba8ad4eef Author: Julia Lawall Date: Wed Jan 30 13:32:18 2008 +0100 arch/x86/kernel/apm_32.c: use time_before, time_before_eq, The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. A simplified version of the semantic patch making this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ change_compare_np @ expression E; @@ ( - jiffies <= E + time_before_eq(jiffies,E) | - jiffies >= E + time_after_eq(jiffies,E) | - jiffies < E + time_before(jiffies,E) | - jiffies > E + time_after(jiffies,E) ) @ include depends on change_compare_np @ @@ #include @ no_include depends on !include && change_compare_np @ @@ #include + #include // Signed-off-by: Julia Lawall Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e5fc3161969b3c82c8c61af8c8d360e39977ae2e Author: Julia Lawall Date: Wed Jan 30 13:32:17 2008 +0100 arch/x86/ia32: use time_before, time_before_eq, etc. The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. A simplified version of the semantic patch making this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ change_compare_np @ expression E; @@ ( - jiffies <= E + time_before_eq(jiffies,E) | - jiffies >= E + time_after_eq(jiffies,E) | - jiffies < E + time_before(jiffies,E) | - jiffies > E + time_after(jiffies,E) ) @ include depends on change_compare_np @ @@ #include @ no_include depends on !include && change_compare_np @ @@ #include + #include // [ mingo@elte.hu: merge to x86.git ] Signed-off-by: Julia Lawall Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 31f80e45ea26008939790b4363a4fdcff240e0d6 Author: Harvey Harrison Date: Wed Jan 30 13:32:16 2008 +0100 x86: kprobes remove fix_riprel #ifdef Move #ifdef around function definiton into the function and unconditionally return on X86_32. Saves an ifdef from the one callsite. [ mingo@elte.hu: minor cleanup. ] Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9930927f36ac3e39ffa674dc23ef06f13c39cef7 Author: Harvey Harrison Date: Wed Jan 30 13:32:14 2008 +0100 x86: introduce REX prefix helper for kprobes Fold some small ifdefs into a helper function. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e419190683cdeeda9be69af1dbc77031478559af Author: Andrew Morton Date: Wed Jan 30 13:32:13 2008 +0100 x86: arch/x86/math-emu/errors.c: fix printk warnings arch/x86/math-emu/errors.c:163: warning: format '%ld' expects type 'long int', but argument 3 has type 'u32' arch/x86/math-emu/errors.c:175: warning: format '%ld' expects type 'long int', but argument 3 has type 'u32' arch/x86/math-emu/errors.c:175: warning: format '%ld' expects type 'long int', but argument 4 has type 'u32' arch/x86/math-emu/errors.c:175: warning: format '%ld' expects type 'long int', but argument 5 has type 'u32' arch/x86/math-emu/errors.c:175: warning: format '%ld' expects type 'long int', but argument 6 has type 'u32' Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7271339347653f6d652bb47aaee1f57d936002f6 Author: Andrew Morton Date: Wed Jan 30 13:32:13 2008 +0100 x86: arch/x86/kernel/cpu/mcheck/k7.c checkpatch fixes #88: FILE: arch/x86/kernel/cpu/mcheck/k7.c:34: + rdmsr(MSR_IA32_MC0_STATUS+i*4,low, high); ^ ERROR: need space after that ',' (ctx:VxV) #142: FILE: arch/x86/kernel/cpu/mcheck/p4.c:170: + rdmsr(MSR_IA32_MC0_STATUS+i*4,low, high); ^ ERROR: need space after that ',' (ctx:VxV) #180: FILE: arch/x86/kernel/cpu/mcheck/p6.c:34: + rdmsr(MSR_IA32_MC0_STATUS+i*4,low, high); ^ total: 3 errors, 0 warnings, 114 lines checked Your patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. Please run checkpatch prior to sending patches Cc: Min Zhang Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b912a1c73739b6016ced049552392a148c1736c8 Author: Andrew Morton Date: Wed Jan 30 13:32:12 2008 +0100 x86: arch/x86/kernel/cpu/mcheck/ checkpatch fixes #40: FILE: arch/x86/kernel/cpu/mcheck/k7.c:46: + snprintf (misc, 20, "[%08x%08x]", ahigh, alow); WARNING: line over 80 characters #45: FILE: arch/x86/kernel/cpu/mcheck/k7.c:50: + snprintf (addr, 24, " at %08x%08x", ahigh, alow); WARNING: no space between function name and open parenthesis '(' #45: FILE: arch/x86/kernel/cpu/mcheck/k7.c:50: + snprintf (addr, 24, " at %08x%08x", ahigh, alow); WARNING: no space between function name and open parenthesis '(' #48: FILE: arch/x86/kernel/cpu/mcheck/k7.c:52: + printk (KERN_EMERG "CPU %d: Bank %d: %08x%08x%s%s\n", WARNING: no space between function name and open parenthesis '(' #65: FILE: arch/x86/kernel/cpu/mcheck/p4.c:161: + printk (KERN_DEBUG "CPU %d: EIP: %08x EFLAGS: %08x\n" WARNING: no space between function name and open parenthesis '(' #88: FILE: arch/x86/kernel/cpu/mcheck/p4.c:182: + snprintf (misc, 20, "[%08x%08x]", ahigh, alow); WARNING: line over 80 characters #93: FILE: arch/x86/kernel/cpu/mcheck/p4.c:186: + snprintf (addr, 24, " at %08x%08x", ahigh, alow); WARNING: no space between function name and open parenthesis '(' #93: FILE: arch/x86/kernel/cpu/mcheck/p4.c:186: + snprintf (addr, 24, " at %08x%08x", ahigh, alow); WARNING: no space between function name and open parenthesis '(' #96: FILE: arch/x86/kernel/cpu/mcheck/p4.c:188: + printk (KERN_EMERG "CPU %d: Bank %d: %08x%08x%s%s\n", WARNING: no space between function name and open parenthesis '(' #120: FILE: arch/x86/kernel/cpu/mcheck/p6.c:46: + snprintf (misc, 20, "[%08x%08x]", ahigh, alow); WARNING: line over 80 characters #125: FILE: arch/x86/kernel/cpu/mcheck/p6.c:50: + snprintf (addr, 24, " at %08x%08x", ahigh, alow); WARNING: no space between function name and open parenthesis '(' #125: FILE: arch/x86/kernel/cpu/mcheck/p6.c:50: + snprintf (addr, 24, " at %08x%08x", ahigh, alow); WARNING: no space between function name and open parenthesis '(' #128: FILE: arch/x86/kernel/cpu/mcheck/p6.c:52: + printk (KERN_EMERG "CPU %d: Bank %d: %08x%08x%s%s\n", total: 0 errors, 13 warnings, 100 lines checked Your patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. Please run checkpatch prior to sending patches Cc: Min Zhang Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9e8b6d90ac973939c4605236d140ae64d459622b Author: Min Zhang Date: Wed Jan 30 13:32:11 2008 +0100 arch/x86/kernel/cpu/mcheck/p4.c: cleanups SMP, the machine check exception dispatches all logical processors within a physical package to the machine-check exception handler, so the printk within each handler outputs concurrently and makes the output unreadable. Refer to Intel system programming guide Part 1 Section 7.8.5 http://developer.intel.com/design/processor/manuals/253668.pdf Signed-off-by: Min Zhang Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8b2cb7a8f531d6ca72a8aff873b9bb1c6b3122ba Author: Huang, Ying Date: Wed Jan 30 13:32:11 2008 +0100 x86: 32-bit EFI runtime service support: fixes in sync with 64-bit support support according to fixes of x86_64 support. - Delete efi_rt_lock because it is used during system early boot, before SMP is initialized. - Change local_flush_tlb() to __flush_tlb_all() to flush global page mapping. - Clean up includes. - Revise Kconfig description. - Enable noefi kernel parameter on i386. Signed-off-by: Huang Ying Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bfd074e05bdb69652d24ebc60b126899174ca788 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:32:11 2008 +0100 replace x86_read/write_per_cpu with a common function. x86_read_per_cpu() and its writeish sister are not present in x86_64. So in this patch, we replace them with __get_cpu_var(), which is present in both Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 53fd13cff04ce27ff3e8d3eb7e5ad4f56b580f2f Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:32:10 2008 +0100 x86: patching functions on 64-bit Like i386, x86_64 also need to include its own patching function. (Well, if you're not in a hurry, and don't care about speed, you don't really _need_ ;-)) So here they are. Not much different in essence from i386 Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2f485ef568372af4680c4e2f8490efb9f2523b05 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:32:10 2008 +0100 x86: move patching code to arch-specific file. The core patching code for paravirt is sufficiently different among i386 and x86_64, and we move them to specific files. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 21438f7c138f0b893a32df3cc77434e39a2145f8 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:32:09 2008 +0100 x86: add CLBR_ defines for 64-bit x86_64 needs a potentially larger clobber list than i386, due to its calling convention. So we add more CLBR_ defines for it. Note that CLBR_ANY is different for each of the architectures, since it comprises the notion of "All call clobbers in this architecture" Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1954448fb0c03dd5e301d7bef2dda71cd9b2fcf2 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:32:09 2008 +0100 x86: cleanup CLI_STRING, STI_STRING and friends Since the advent of ticket locking, CLI_STRING, STI_STRING, and friends are not used anymore. They can now be safely deleted. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 72fe4858544292ad64600765cb78bc02298c6b1c Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:32:08 2008 +0100 x86: replace privileged instructions with paravirt macros The assembly code in entry_64.S issues a bunch of privileged instructions, like cli, sti, swapgs, and others. Paravirt guests are forbidden to do so, and we then replace them with macros that will do the right thing. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e801f864ec7e5b149bd05337800e419f408523bb Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:32:08 2008 +0100 x86: adds paravirt hook for swapgs This patch adds paravirt hook for swapgs operation, which is a privileged operation in x86_64. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4a8c4c4e10d1bc2c3bd80caabb6a76a66849f7e8 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:32:07 2008 +0100 x86: add macro for privileged 64-bit operation i386 has a macro GET_CR0_INTO_EAX, used in early trap handling code. x86_64 has similar needs, only it needs to put cr2 into rcx. We provide a macro for such task, in the same way Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2e47d3e6c35bb5b78fea2b2584c7eeaf782f138d Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:32:07 2008 +0100 x86: change irq functions to accomodate 64-bit This patch changes the irq handling function definitions in paravirt.h (like raw_local_irq_disable) to accomodate for x86_64. The differences are in the calling convention. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6057fc827b3a9f2fe5db18b882ebf96500500b64 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:32:06 2008 +0100 x86: adjust assembly macros on 64-bit as well. This patch adjust the paravirt macros used in assembly code to accomodate for x86_64 as well. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 658be9d395630d30a501c850bde90ac791a678c9 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:32:06 2008 +0100 x86: change assembly definition of paravirt_patch_site To account for differences in x86_64, we change the macros that create raw instances of the paravirt_patch_site struct. We need to align 64-pointers to 64-bit boundaries, so we add an alignment directive. Also, we need to make room for a word-sized pointer, instead of a fixed 32-bit one Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e5aaac443635c7c6f842f0bf8169f71f3236d574 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:32:05 2008 +0100 x86: provide paravirtualized hook for rdtscp This patch adds a field in pv_cpu_ops for a paravirtualized hook for rdtscp, needed for x86_64. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f72a9ef979c5a828c64deb88ebba743f7d899907 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:32:05 2008 +0100 x86: cleanup write_tsc write_tsc() does not need to be enclosed in any paravirt closure, as it uses wrmsr(). So we rip off the duplicate in msr.h and the definition from paravirt.h Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a4746364da0c7caa155cc945a5c10312e7925b46 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:32:05 2008 +0100 x86: adjust PVOP_CALL/VCALL macros for 64-bit This patch adjust the PVOP_VCALL and PVOP_CALL macros to work with x86_64. It has a different calling convention, and we use auxiliary macros to account for both calling conventions as cleanly as possible Comments are adjusted accordingly. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b1df07bd6674a84fbd9248759dc3fa3ff5c78e5b Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:32:04 2008 +0100 x86: change paravirt_32.c name This patch changes paravirt_32.c to paravirt.c. The goal is to have paravirt support in x86_64, so we do it in a common file Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c6334593c61c71ab2e666c015eef13995736f49a Author: Markus Metzger Date: Wed Jan 30 13:32:04 2008 +0100 x86, ptrace: overflow signal API Establish the user API for sending a user-defined signal to the traced task on a BTS buffer overflow. This should complete the user API for the BTS ptrace extension. The patches so far implement wrap-around overflow handling as is needed for debugging. The remaining open is another overflow handling mechanism that sends a signal to the traced task on a buffer overflow. This will take some more time from my side. Since, from a user perspective, this occurs behind the scenes, the patch set should already be useful. More features may/will be added on top of it (overflow signal, pageable back-up buffers, kernel tracing, core file support, profiling, ...). Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cba4b65d359268c40679ca75ac92c0b93cecf6de Author: Markus Metzger Date: Wed Jan 30 13:32:03 2008 +0100 x86, ptrace: add buffer size checks Pass the buffer size for (most) ptrace commands that pass user-allocated buffers and check that size before accessing the buffer. Unfortunately, PTRACE_BTS_GET already uses all 4 parameters. Commands that access user buffers return the number of bytes or records read or written. Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e6ae5d9540727b0e2e5e2fbeb683c84671ed0a31 Author: Markus Metzger Date: Wed Jan 30 13:32:03 2008 +0100 x86, ptrace: support 32bit-cross-64bit BTS recording Support BTS recording of 32bit and 64bit tasks from 32bit or 64bit tasks. Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit da35c37198132abebf877cca2ad3c6d9bcd84282 Author: Markus Metzger Date: Wed Jan 30 13:32:03 2008 +0100 x86, ptrace: rlimit BTS buffer allocation Check the rlimit of the tracing task for total and locked memory when allocating the BTS buffer. Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 59e87cdcd268daa85c0732e147c59e0c1bacd704 Author: Masami Hiramatsu Date: Wed Jan 30 13:32:02 2008 +0100 x86: move deeply indented code to reenter_kprobe Move some deeply indented code related to re-entrance processing from kprobe_handler() to reenter_kprobe(). Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 40102d4a41312ad4134c0b802ad074445ce8b17b Author: Harvey Harrison Date: Wed Jan 30 13:32:02 2008 +0100 x86: add reenter_kprobe helper [ mhiramat@redhat.com: updated it to latest x86.git ] Factor common X86_32, X86_64 kprobe reenter logic from deeply indented section to helper function. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston commit ddc66df876fd33d3956f3c3acc1ae334b16eedee Author: Masami Hiramatsu Date: Wed Jan 30 13:32:01 2008 +0100 x86: fix kprobe_handler reenable preemption Fix a preemption bug in kprobe_handler(). It has to call preempt_enable() before returning. Signed-off-by: Masami Hiramatsu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bde6f5f59c2b2b48a7a849c129d5b48838fe77ee Author: Venki Pallipadi Date: Wed Jan 30 13:32:01 2008 +0100 x86: voluntary leave_mm before entering ACPI C3 Aviod TLB flush IPIs during C3 states by voluntary leave_mm() before entering C3. The performance impact of TLB flush on C3 should not be significant with respect to C3 wakeup latency. Also, CPUs tend to flush TLB in hardware while in C3 anyways. On a 8 logical CPU system, running make -j2, the number of tlbflush IPIs goes down from 40 per second to ~ 0. Total number of interrupts during the run of this workload was ~1200 per second, which makes it ~3% savings in wakeups. There was no measurable performance or power impact however. [ akpm@linux-foundation.org: symbol export fixes. ] Signed-off-by: Venkatesh Pallipadi Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7d409d6057c7244f8757ce15245f6df27271be0c Author: Ingo Molnar Date: Wed Jan 30 13:32:00 2008 +0100 x86: add some pirq debugging we use a few static mapping rules in our pirq routing functions, and for example regression f3ac84324fd94 was due to the pirq being out of range of the remapping array. Put in a few WARN_ON_ONCE() lines so that we get notified about any such out-of-bound incidents. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9f8daccaa05c14e5643bdd4faf5aed9cc8e6f11e Author: Gary Hade Date: Wed Jan 30 13:31:59 2008 +0100 PCI: remove default PCI expansion ROM memory allocation increasing number of PCI slots in large multi-node systems. The kernel currently attempts by default to allocate memory for all PCI expansion ROMs so there has also been an increasing number of PCI memory allocation failures seen on these systems. This occurs because the BIOS either (1) provides insufficient PCI memory resource for all the expansion ROMs or (2) provides adequate PCI memory resource for expansion ROMs but provides the space in kernel unexpected BIOS assigned P2P non-prefetch windows. The resulting PCI memory allocation failures may be benign when related to memory requests for expansion ROMs themselves but in some cases they can occur when attempting to allocate space for more critical BARs. This can happen when a successful expansion ROM allocation request consumes memory resource that was intended for a non-ROM BAR. We have seen this happen during PCI hotplug of an adapter that contains a P2P bridge where successful memory allocation for an expansion ROM BAR on device behind the bridge consumed memory that was intended for a non-ROM BAR on the P2P bridge. In all cases the allocation failure messages can be very confusing for users. This patch addresses the issue by changing the kernel default behavior so that expansion ROM memory allocations are no longer attempted by default when the BIOS has not assigned a specific address range to the expansion ROM BAR. This was done by changing the 'pci=rom' boot option behavior for BIOS unassigned expansion ROMs to actually match it's current kernel-parameters.txt description which already implies "off" by default. Behavior for BIOS assigned expansion ROMs implemented in pcibios_assign_resources() [arch/x86/pci/i386.c] is unchanged. Signed-off-by: Gary Hade Cc: Greg KH Cc: Jan Beulich Acked-by: "Jun'ichi Nomura" Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bca25bafbb390eeec376ac994954b99489d198ec Author: Parag Warudkar Date: Wed Jan 30 13:31:59 2008 +0100 x86: fix dmi_alloc() to not advance alloc index in case of dmi_alloc() for CONFIG_X86_64 is defined to allocate from a static array and it maintains a allocation index which is advanced each time allocation is attempted - it gets incremented even if an allocation fails thereby depriving any future request that may be small enough to be satisfied from the array. Fix this by first testing if allocation is going to be possible and incrementing alloc index only then. Signed-off-by: Parag Warudkar Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 79da4721117fcf188b4b007b775738a530f574da Author: Parag Warudkar Date: Wed Jan 30 13:31:59 2008 +0100 x86: fix DMI out of memory problems People with HP Desktops (including me) encounter couple of DMI errors during boot - dmi_save_oem_strings_devices: out of memory and dmi_string: out of memory. On some HP desktops the DMI data include OEM strings (type 11) out of which only few are meaningful and most other are empty. DMI code religiously creates copies of these 27 strings (65 bytes each in my case) and goes OOM in dmi_string(). If DMI_MAX_DATA is bumped up a little then it goes and fails in dmi_save_oem_strings while allocating dmi_devices of sizeof(struct dmi_device) corresponding to these strings. On x86_64 since we cannot use alloc_bootmem this early, the code uses a static array of 2048 bytes (DMI_MAX_DATA) for allocating the memory DMI needs. It does not survive the creation of empty strings and devices. Fix this by detecting and not newly allocating empty strings and instead using a one statically defined dmi_empty_string. Also do not create a new struct dmi_device for each empty string - use one statically define dmi_device with .name=dmi_empty_string and add that to the dmi_devices list. On x64 this should stop the OOM with same current size of DMI_MAX_DATA and on x86 this should save a good amount of (27*65 bytes + 27*sizeof(struct dmi_device) bootmem. Compile and boot tested on both 32-bit and 64-bit x86. Signed-off-by: Parag Warudkar Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit aca46ba29298810b329518b96f97ace985027b59 Author: Ingo Molnar Date: Wed Jan 30 13:31:58 2008 +0100 x86: remove unused include/asm-x86/processor_32/64.h remove unused include/asm-x86/processor_32/64.h. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2f66dcc933f012cd487c5ebf5d400e50b1d5c488 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:57 2008 +0100 x86: finish processor.h integration What's left in processor_32.h and processor_64.h cannot be cleanly integrated. However, it's just a couple of definitions. They are moved to processor.h around ifdefs, and the original files are deleted. Note that there's much less headers included in the final version. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7ba65c7e17a292fe1e6e48fd38d1b1ecb626b586 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:57 2008 +0100 x86: remove __init modifier from header declaration This patch removes the __init modifier from an extern function declaration in acpi.h. Besides not being strictly needed, it requires the inclusion of linux/init.h, which is usually not even included directly, increasing header mess by a lot. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fdadd54db5e9f05e673eb08746bf2bea460d9f0d Author: Roland McGrath Date: Wed Jan 30 13:31:56 2008 +0100 x86: x86 ptrace generic requests This removes duplicated code by calling the generic ptrace_request and compat_ptrace_request functions for the things they already handle. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bb61682b3f31dec7d058cae2f6edd2275248a704 Author: Roland McGrath Date: Wed Jan 30 13:31:56 2008 +0100 x86: x86 core dump TLS This makes ELF core dumps of 32-bit processes include a new note type NT_386_TLS (0x200) giving the contents of the TLS slots in struct user_desc format. This lets post mortem examination figure out what the segment registers mean like the debugger does with get_thread_area on a live process. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a06b24e8bf03f8677f81e0f5eb03544b60fe250f Author: Roland McGrath Date: Wed Jan 30 13:31:56 2008 +0100 x86: x86 ia32_binfmt removal Remove the old ia32_binfmt.c file, which is no longer used. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a97f52e67890fda6b373c1c1895ff1c1c69b36c8 Author: Roland McGrath Date: Wed Jan 30 13:31:55 2008 +0100 x86: compat_binfmt_elf This switches x86-64's 32-bit ELF support to use the shared fs/compat_binfmt_elf.c code instead of our own ia32_binfmt.c. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 60b3b9af35aad66345e395be911e46fb8443f0c5 Author: Roland McGrath Date: Wed Jan 30 13:31:55 2008 +0100 x86: x86 user_regset cleanup This removes a bunch of dead code that is no longer needed now that the user_regset interfaces are being used for all these jobs. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5a4646a4efed8c835f76c3b88f3155f6ab5b8d9b Author: Roland McGrath Date: Wed Jan 30 13:31:54 2008 +0100 x86: x86 ptrace user_regset This cleans up the PTRACE_*REGS* request code so each one is just a simple call to copy_regset_to_user or copy_regset_from_user. The ptrace layouts already match the user_regset formats (core dump formats). Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 975511be74d1b82bf041aaed2861a242abfe3886 Author: Roland McGrath Date: Wed Jan 30 13:31:54 2008 +0100 x86: x86 CORE_DUMP_USE_REGSET This switches x86 to the user_regset-based code for ELF core dumps. The core dumps come out exactly the same as before. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 070459d95e132726a6ac0c8204f0b5ef653bd824 Author: Roland McGrath Date: Wed Jan 30 13:31:53 2008 +0100 x86: x86 user_regset_view This defines task_user_regset_view and the tables describing the x86 user_regset layouts for 32 and 64. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 91e7b707a4776185f91f03bd052aa53af820094e Author: Roland McGrath Date: Wed Jan 30 13:31:52 2008 +0100 x86: x86 user_regset general regs This adds accessor functions in the user_regset style for the general registers (struct user_regs_struct). Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4c79a2d8e5b7e0a2f987ace9b6af9e7a1655447b Author: Roland McGrath Date: Wed Jan 30 13:31:52 2008 +0100 x86: x86 user_regset TLS This adds accessor functions in the user_regset style for the TLS data. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1bd5718ce58fb49ac158653380fa200f4759daad Author: Roland McGrath Date: Wed Jan 30 13:31:51 2008 +0100 x86: x86 TLS desc_struct cleanup This cleans up the TLS code to use struct desc_struct and to separate the encoding and installation magic from the interface wrappers. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1eeaed7679eab3666d2d8c964d060c2169b3813b Author: Roland McGrath Date: Wed Jan 30 13:31:51 2008 +0100 x86: x86 i387 cleanup This removes all the old code that is no longer used after the i387 unification and cleanup. The i387_64.h is renamed to i387.h with no changes, but since it replaces the nonempty one-line stub i387.h it looks like a big diff and not a rename. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4421011120b2304e5c248ae4165a2704588aedf1 Author: Roland McGrath Date: Wed Jan 30 13:31:50 2008 +0100 x86: x86 i387 user_regset This revamps the i387 code to be shared across 32-bit, 64-bit, and 32-on-64. It does so by consolidating the code in one place based on the user_regset accessor interfaces. This switches 32-bit to using the i387_64.h header and 64-bit to using the i387.c that was previously i387_32.c, but that's what took the least cleanup in each file. Here i387.h is stubbed to always include i387_64.h rather than renaming the file, to keep this diff smaller and easier to read. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b7b71725fb9584454bfe5f231223bd63421798fb Author: Roland McGrath Date: Wed Jan 30 13:31:50 2008 +0100 x86: i387 renaming This renames arch/x86/kernel/{i387_32.c => i387.c}. This is a pure renaming, but paves the way for merging the 32-bit and 64-bit versions of this code. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ff0ebb23c6eedc9ac0d84638489d806b30bde8b0 Author: Roland McGrath Date: Wed Jan 30 13:31:49 2008 +0100 x86: x86 user_regset math_emu This converts the ptrace/signal accessors for i387 math_emu state to the user_regset interface style, and calls these from the old interfaces. It also cleans up math_emulate's ptrace check to be a single-step check, which is what it really wants. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cc927a25bd704448b18b095c658cbfdd79dab865 Author: Roland McGrath Date: Wed Jan 30 13:31:49 2008 +0100 x86: x86 i387 header cleanup This moves some code into asm-x86/i387_64.h in preparation for unifying this code between 32 and 64. The 32-bit versions of some things are copied in some existing names changed to match 32-bit names and share code. For 64, save_i387 is moved into an inline from i387_64.c; this matches restore_i387, which is already an inline, and makes sense since there is exactly one caller (in signal_64.c). The save_i387 function could use more cosmetic cleanup, but it is just moved verbatim in this patch. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 99f8ecdf4506010feda26ffe4ac0d23962947106 Author: Roland McGrath Date: Wed Jan 30 13:31:48 2008 +0100 x86: x86 i387 unify structs The i387_fxsave_struct formats really have the same layout on 32 and 64, with only some slightly different use of a few fields. The i387_fsave_struct and i387_soft_struct formats are never used by 64-bit kernels, but it doesn't hurt to have the unused types in the union and cuts down on the amount of #ifdef hair required throughout the i387 code. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 863aec860259f287797f886c3f373389cdafc8e3 Author: Roland McGrath Date: Wed Jan 30 13:31:48 2008 +0100 x86: x86-64 wired cpu_has macros This adds hard-wired definitions for the remaining cpu_has_* macros that correspond to flags required-features.h demands are set for 64-bit. Using these can efficiently avoid some #ifdef's when merging 32-bit and 64-bit code together. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c269f19617f508cc5c29c0b064c1a437d7011a46 Author: Roland McGrath Date: Wed Jan 30 13:31:48 2008 +0100 x86: compat_sys_ptrace This adds a generic definition of compat_sys_ptrace that calls compat_arch_ptrace, parallel to sys_ptrace/arch_ptrace. Some machines needing this already define a function by that name. The new generic function is defined only on machines that put #define __ARCH_WANT_COMPAT_SYS_PTRACE into asm/ptrace.h. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 032d82d9065dec0e26718eca376c2029e4bd0595 Author: Roland McGrath Date: Wed Jan 30 13:31:47 2008 +0100 x86: compat_ptrace_request This adds a compat_ptrace_request that is the analogue of ptrace_request for the things that 32-on-64 ptrace implementations can share in common. So far there are just a couple of requests handled generically. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 16c3e389e7a7254ff8dc7029ac4fbe996c3c75bf Author: Roland McGrath Date: Wed Jan 30 13:31:47 2008 +0100 x86: ptrace_request peekdata/pokedata This makes ptrace_request handle {PEEK,POKE}{TEXT,DATA} directly. Every arch_ptrace that could call generic_ptrace_peekdata already has a default case calling ptrace_request, so this keeps things simpler for the arch code. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5bde4d181793be84351bc21c256d8c71cfcd313a Author: Roland McGrath Date: Wed Jan 30 13:31:47 2008 +0100 x86: user_regset user-copy helpers This defines two new inlines in linux/regset.h, for use in arch_ptrace implementations and the like. These provide simplified wrappers for using the user_regset interfaces to copy thread regset data into the caller's user-space memory. The inlines are trivial, but make the common uses in places such as ptrace implementation much more concise, easier to read, and less prone to code-copying errors. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b9d36d5d000294a128f7f174fe67623a10e29d61 Author: Roland McGrath Date: Wed Jan 30 13:31:46 2008 +0100 x86: compat_binfmt_elf Kconfig This adds Kconfig and Makefile bits to build fs/compat_binfmt_elf.c, just added. Each arch that wants to use this file needs to add a "select COMPAT_BINFMT_ELF" line in its Kconfig bits that enable COMPAT. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2f79e48ae2651fff08d08dab3acf1294467c1155 Author: Roland McGrath Date: Wed Jan 30 13:31:46 2008 +0100 x86: compat_binfmt_elf This adds fs/compat_binfmt_elf.c, a wrapper around fs/binfmt_elf.c for 32-bit ELF support on 64-bit kernels. It can replace all the hand-rolled versions of this that each 32/64 arch has, which are all about the same. To use this, an arch's asm/elf.h has to define at least a few compat_* macros that parallel the various macros that fs/binfmt_elf.c uses for native support. There is no attempt to deal with compat macros for the core dump format support. To use this file, the arch has to define compat_gregset_t for linux/elfcore-compat.h and #define CORE_DUMP_USE_REGSET. The 32-bit compatible formats should come automatically from task_user_regset_view called on a 32-bit task. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bae3f7c39dee5951bcbedeaedb6744f882a00173 Author: Roland McGrath Date: Wed Jan 30 13:31:45 2008 +0100 x86: user_regset helpers This adds some inlines to linux/regset.h intended for arch code to use in its user_regset get and set functions. These make it pretty easy to deal with the interface's optional kernel-space or user-space pointers and its generalized access to a part of the register data at a time. In simple cases where the internal data structure matches the exported layout (core dump format), a get function can be nothing but a call to user_regset_copyout, and a set function a call to user_regset_copyin. In other cases the exported layout is usually made up of a few pieces each stored contiguously in a different internal data structure. These helpers make it straightforward to write a get or set function by processing each contiguous chunk of the data in order. The start_pos and end_pos arguments are always constants, so these inlines collapse to a small amount of code. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4206d3aa1978e44f58bfa4e1c9d8d35cbf19c187 Author: Roland McGrath Date: Wed Jan 30 13:31:45 2008 +0100 elf core dump: notes user_regset This modifies the ELF core dump code under #ifdef CORE_DUMP_USE_REGSET. It changes nothing when this macro is not defined. When it's #define'd by some arch header (e.g. asm/elf.h), the arch must support the user_regset (linux/regset.h) interface for reading thread state. This provides an alternate version of note segment writing that is based purely on the user_regset interfaces. When CORE_DUMP_USE_REGSET is set, the arch need not define macros such as ELF_CORE_COPY_REGS and ELF_ARCH. All that information is taken from the user_regset data structures. The core dumps come out exactly the same if arch's definitions for its user_regset details are correct. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3aba481fc94d83ff630d4b7cd2f7447010c4c6df Author: Roland McGrath Date: Wed Jan 30 13:31:44 2008 +0100 elf core dump: notes reorg This pulls out the code for writing the notes segment of an ELF core dump into separate functions. This cleanly isolates into one cluster of functions everything that deals with the note formats and the hooks into arch code to fill them. The top-level elf_core_dump function itself now deals purely with the generic ELF format and the memory segments. This only moves code around into functions that can be inlined away. It should not change any behavior at all. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bdf88217b70dbb18c4ee27a6c497286e040a6705 Author: Roland McGrath Date: Wed Jan 30 13:31:44 2008 +0100 x86: user_regset header The new header defines the types struct user_regset and struct user_regset_view, with some associated declarations. This new set of interfaces will become the standard way for arch code to expose user-mode machine-specific state. A single set of entry points into arch code can do all the low-level work in one place to fill the needs of core dumps, ptrace, and any other user-mode debugging facilities that might come along in the future. For existing arch code to adapt to the user_regset interfaces, each arch can work from the code it already has to support core files and ptrace. The formats you want for user_regset are the core file formats. The only wrinkle in adapting old ptrace implementation code as user_regset get and set functions is that these functions can be called on current as well as on another task_struct that is stopped and switched out as for ptrace. For some kinds of machine state, you may have to load it directly from CPU registers or otherwise differently for current than for another thread. (Your core dump support already handles this in elf_core_copy_regs for current and elf_core_copy_task_regs for other tasks, so just check there.) The set function should also be made to work on current in case that entails some special cases, though this was never required before for ptrace. Adding this flexibility covers the arch needs to open the door to more sophisticated new debugging facilities that don't always need to context-switch to do every little thing. The copyin/copyout helper functions (in a later patch) relieve the arch code of most of the cumbersome details of the flexible get/set interfaces. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0ddc9cc8fdfe3df7a90557e66069e3da2c584725 Author: Harvey Harrison Date: Tue Dec 18 03:58:10 2007 -0800 x86: unify module_{32|64}.h This adds one case to the MODULE_PROC_FAMILY block testing for X86_64. There are no new things defined on X86_64 than there were before. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e7b5e11eaaa8ef93a34e68016de51152d0d62911 Author: Harvey Harrison Date: Wed Jan 30 13:31:43 2008 +0100 x86: kprobes leftover cleanups Eliminate __always_inline, all of these static functions are only called once. Minor whitespace cleanup. Eliminate one supefluous return at end of void function. Change the one #ifndef to #ifdef to match the sense of the rest of the config tests. Signed-off-by: Harvey Harrison Acked-by: Masami Hiramatsu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ab4a574ef23cfa801a5078f7d7c2f2b76ecd6d91 Author: Joe Perches Date: Wed Jan 30 13:31:42 2008 +0100 arch/x86/: spelling fixes Spelling fixes. Signed-off-by: Joe Perches Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 85f2adf16955460c98131360f3d76aeb51aba073 Author: Harvey Harrison Date: Wed Jan 30 13:31:42 2008 +0100 x86: use helper in fault_64.c Use the fixup_exception() helper in fault_64.c Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6d48583ba9ade609634e694fc35ea62b7a8adaaa Author: Harvey Harrison Date: Wed Jan 30 13:31:41 2008 +0100 x86: unify extable_{32|64}.c Introduce fixup_exception() on 64-bit and use it in kprobes to eliminate an #ifdef. Only 64-bit needs search_extable() due to a stepping bug. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 46265df040533f57c191bb2b019d6b25c3bf1f34 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:41 2008 +0100 x86: move i387 definitions to processor.h This patch moves i387 definitions from processor_32.h and processor_64.h to processor.h. They are different. Very different. And there's appearently nothing we can do about it, so they're enclosed inside ifdefs. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ea5e3593a493298c69b8c4a958628feace930478 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:40 2008 +0100 x86: unify asm nops There's only one difference between the NOPs used in asm code for i386 and x86_64: i386 has a lot more variants. The code is moved to processor.h, and adjusted accordingly. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ae2e15eb3b6c2a011bee615470bf52d2beb99a4b Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:40 2008 +0100 x86: unify prefetch operations This patch moves the prefetch[w]? functions to processor.h Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1a53905adddf6cc6d795bd7e988c60a19773f72e Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:39 2008 +0100 x86: move definitions to processor.h This patch moves definitions that are present in only one of the files (between processor_32.h and processor_64.h), to processor.h. They're mostly structures and function definitions. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fc87e9061a5635fe1b367dad95498846dd5eda31 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:38 2008 +0100 x86: unify mm_segment_t definition This patch moves the mm_segment_t structure definition to processor.h This makes mmsegment.h file useless, and it is deleted. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2c1c468a382e64afccacdfe03fa4c0615cd4264f Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:37 2008 +0100 x86: remove legacy stuff from processor_64.h This patch removes definitions and macros that are not used anymore from processor_64.h Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5300db887e251276eaab2801af297acf4b53b9eb Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:33 2008 +0100 x86: unify x86_cpuinfo struct. x86_cpuinfo is one more to the family of "not fundamentally different" structs. It's unified in processor.h, with very specific fields enclosed around ifdefs. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 26996dd22b3cbc9dbe18cf908d2f844a116b6ec1 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:31 2008 +0100 x86: change bitwise operations to get a void parameter. This patch changes the bitwise operations in bitops.h to get a void pointers as a parameter. Before this patch, a lot of warnings can be seen. They're gone after it. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit dbcb4660246c240a159b4037067fdedb563a63cb Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:31 2008 +0100 x86: unify TASK_ALIGN definitions This patch moves the TASK_ALIGN constraints to common header. The base of it is the same for x86_64 and i386. The only difference is the presence of vSMP in x86_64. As it's not a worry in i386, we can safely use the same code for both. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cb38d377337cadd73fe4c582f77c5273685aeb71 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:31 2008 +0100 x86: unify thread struct. The thread_struct is not fundamentally different between architectures, and this patch puts it in the common header. What's really unique for each of them is enclosed in ifdefs. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7818a1e0294debee02d5135e17b89f28b8871887 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:31 2008 +0100 x86: provide 64-bit with a load_sp0 function. Paravirt guests need to inform the underlying hypervisor whenever the sp0 tss field changes. i386 already has such a function, and we use it for x86_64 too. There's an unnecessary (for 64-bit) msr handling part in the original version, and it is placed around an ifdef. Making no more sense in processor_32.h, it is moved to the common header Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ca241c75037b32e0216a68e39ad2801d04fa1f87 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:31 2008 +0100 x86: unify tss_struct Although slighly different, the tss_struct is very similar in x86_64 and i386. The really different part, which matchs the hardware vision of it, is now called x86_hw_tss, and each of the architectures provides yours. It's then used as a field in the outter tss_struct. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0ccb8acc51693a2aef0f38024943808046d81251 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:27 2008 +0100 x86: unify current_text_addr current_text_addr() has a different implementation in x86_64 and i386, but it is not fundamentally different. I stick to the i386 implementation, that seem to be a common base, and move it to processor.h Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 683e0253dbd12554b2ee969b15e68105252bff57 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:27 2008 +0100 x86: unify common parts of processor.h This patch moves the pieces of processor_32.h and processor_64 that are equal to processor.h. Only what's exactly the same is moved around, the rest not being touched. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 62d7d7ed11760a0fea40e4fc6f0553e721d00443 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:27 2008 +0100 x86: move the definition of set_iopl_mask to common header This patch moves the definition of set_iopl_mask to processor.h, instead of letting it at processor_32.h. For x86_64, nothing is done, as we don't really need such a function. However, having it on both arches saves us from putting an ifdef in the pv_cpu_ops struct. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1b46cbe0ccaad25786526601bc54426f2e2abb20 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:27 2008 +0100 x86: unify paravirt pieces of processor.h This patch unifies the paravirt pieces of processor.h The functionality present in 32 bit, but not (yet) in 64-bit, like load_sp0 is _not_ done here, and let to a different patch. With this unification, we get paravirt for free in x86_64 processor.h Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c72dcf83ff8585c95739abffa3be7c87ca63d66b Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:27 2008 +0100 x86: move load_cr3 to a common place. There are currently two definitions of load_cr3, that essentially do the same thing. This patch moves them all to processor.h. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 746ff60f2627626fca0d8ddbf6b1f04d505782f4 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:27 2008 +0100 x86: move desc_empty to where they belong This patch moves the (duplicated) desc_empty implementation to desc.h, where the descriptor things belong. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 053de044411111da00272d1b4e174e7dd743f499 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:27 2008 +0100 x86: get rid of _MASK flags There's no need for the *_MASK flags (TF_MASK, IF_MASK, etc), found in processor.h (both _32 and _64). They have a one-to-one mapping with the EFLAGS value. This patch removes the definitions, and use the already existent X86_EFLAGS_ version when applicable. [ roland@redhat.com: KVM build fixes. ] Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 73018a66e70fa631935192e5ed6ef8fa2d20b22d Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:26 2008 +0100 x86: move tsc definitions to were they belong This patch wipes out the definitions of tsc_disable from processor_32.h and move it to tsc.h, were it belongs Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7bcbc78dea92fdf0947fa48e248da3c993a5690f Author: Neil Horman Date: Wed Jan 30 13:31:26 2008 +0100 x86: clean up arch/x86/kernel/early-quirks.c clean up checkpatch errors. No code changed. text data bss dec hex filename 705 120 0 825 339 early-quirks.o.before 705 120 0 825 339 early-quirks.o.after Signed-off-by: Neil Horman Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3b095a04e71243bd0f1679c04f1e8d73a3c9c5a9 Author: Cyrill Gorcunov Date: Wed Jan 30 13:31:26 2008 +0100 x86: cleanup i387_32.c according to checkpatch clean up checkpatch warnings/errors on i387_32.c The old and new i387_32.s (asm listings) were checked with diff to be identical so it's safe to apply this patch. Signed-off-by: Cyrill Gorcunov Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3c233d1334ffc8de63a4b6a6a86c40961aed335e Author: Harvey Harrison Date: Wed Jan 30 13:31:26 2008 +0100 x86: unify kexec_{32|64}.h One section collecting all constant defines. Ifdef the asm blocks for X86_32/64. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Reviewed-by: Vivek Goyal commit 01c57fb6a3eefc34da17be1399453c0800bcff68 Author: Harvey Harrison Date: Wed Jan 30 13:31:26 2008 +0100 x86: local.h fix checkpatch warnings Mostly space after comma, one space after if. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5638f99394d478bcba6384ac7c51e763d1a3a448 Author: Harvey Harrison Date: Wed Jan 30 13:31:26 2008 +0100 x86: unify local_{32|64}.h Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8ee5797a91bdb713b4031741b33bd035f9c43870 Author: Harvey Harrison Date: Wed Jan 30 13:31:26 2008 +0100 x86: introduce asm helpers in local_{32|64}.h Handle the use of long on X86_32 and quad on X86_64 Signed-off-by: Harvey Harrison Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 992b95920a311db3267659ea17160e4812a05830 Author: Harvey Harrison Date: Wed Jan 30 13:31:26 2008 +0100 x86: fix asm memory constraints in local_64.h Use the shorter +m form rather than =m and m. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4ad02718345783a3b84bae1895917666b779850d Author: Harvey Harrison Date: Wed Jan 30 13:31:26 2008 +0100 x86: clean up local_{32|64}.h Common prefix from both files moved to local.h Change __inline__ to inline Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fe758fb1192790f8e465a7f59efe47ca73717d3e Author: Cyrill Gorcunov Date: Wed Jan 30 13:31:25 2008 +0100 x86: clean up include/asm-x86/pda.h clean up include/asm-x86/pda.h, as suggested by checkpatch.pl. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c6b48324325ffb637c3aafb2d795408febf40198 Author: Neil Horman Date: Wed Jan 30 13:31:25 2008 +0100 x86, kexec: force x86 arches to boot kdump kernels on boot cpu Recently a kdump bug was discovered in which a system would hang inside calibrate_delay during the booting of the kdump kernel. This was caused by the fact that the jiffies counter was not being incremented during timer calibration. The root cause of this problem was found to be a bios misconfiguration of the hypertransport bus. On system affected by this hang, the bios had assigned APIC ids which used extended apic bits (more than the nominal 4 bit ids's), but failed to configure bit 17 of the hypertransport transaction config register, which indicated that the mask for the destination field of interrupt packets accross the ht bus (see section 3.3.9 of http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/26094.PDF). If a crash occurs on a cpu with an APIC id that extends beyond 4 bits, it will not recieve interrupts during the kdump kernel boot, and this hang will be the result. The fix is to add this patch, whcih add an early pci quirk check, to forcibly enable this bit in the httcfg register. This enables all cpus on a system to receive interrupts, and allows kdump kernel bootup to procede normally. Signed-off-by: Neil Horman Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 41e191e85a122ad822deb7525a015410012e6c70 Author: Ingo Molnar Date: Wed Jan 30 13:31:24 2008 +0100 x86: replace outb_p() with udelay(2) in drivers/input/mouse/pc110pad.c replace outb_p() with udelay(2). This is a real ISA device so it likely needs this particular delay. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ded9aa0db815b4e1271001561e177755cb8b9468 Author: Jan Beulich Date: Wed Jan 30 13:31:24 2008 +0100 x86: also define AT_VECTOR_SIZE_ARCH The patch introducing this left out x86-64, despite it also having extra entries. [ mingo@elte.hu: re-merged this to after the unification patches. ] Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e94271017f0933b29362a3c9dea5a6b9d04d98e1 Author: Jan Beulich Date: Wed Jan 30 13:31:24 2008 +0100 x86: adjust enable_NMI_through_LVT0() Its previous use in a call to on_each_cpu() was pointless, as at the time that code gets executed only one CPU is online. Further, the function can be __cpuinit, and for this to work without CONFIG_HOTPLUG_CPU setup_nmi() must also get an attribute (this one can even be __init; on 64-bits check_timer() also was lacking that attribute). Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cae4595764cb3b08f6517e99bac1e3862854b1a1 Author: Jan Beulich Date: Wed Jan 30 13:31:23 2008 +0100 x86: make __{save,restore}_processor_state static .. allowing to remove their declarations from a global include file (the symbols don't exist for anything but x86). Likewise for 64-bits' fix_processor_context(), just that that one was properly declared in an arch-specific header. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3e7622f9d7807a0a826d042cafc211cd1a29448c Author: Jan Beulich Date: Wed Jan 30 13:31:23 2008 +0100 x86: move to .rodata/.init.data The array is never written, and on 64-bits it's not even being used past initial boot. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 22f5991c85dec1281cce5c8df9ee92b43b1738c8 Author: Jan Beulich Date: Wed Jan 30 13:31:23 2008 +0100 x86-64: honor notify_die() returning NOTIFY_STOP This requires making die() return a value, making its callers honor this (and be prepared that it may return), and making oops_end() have two additional parameters. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d88879b2d0225da3ba460bbdb8361bb049653671 Author: Jan Beulich Date: Wed Jan 30 13:31:21 2008 +0100 x86-64: make pda's cpunumber and nodenumber unsigned This generally allows better code to be generated, since the zero- extension during 32-bit operations comes for free (needed when the result is used as array index or similar), whereas sign extension must be done explicitly and frequently requires a one byte larger instruction due to the necessary rex64 prefix. Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bdb4f156064e5f627213af82292eb8b5cf2dc5aa Author: Jan Beulich Date: Wed Jan 30 13:31:21 2008 +0100 i386: hard_{en,dis}able_TSC can be static Signed-off-by: Jan Beulich Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d6be29b871e285d33be0e3025929e2d6bcabb0c0 Author: Masami Hiramatsu Date: Wed Jan 30 13:31:21 2008 +0100 x86: kprobes code for x86 unification This patch unifies kprobes code. - Unify kprobes_*.h to kprobes.h - Unify kprobes_*.c to kprobes.c (Differences are separated by ifdefs) - Most differences are related to REX prefix and rip relatives. - Two inline assembly code are different. - One difference in kprobe_handlre() - One fixup exception code is different, but it will be unified if mm/extable_*.c are unified. - Merge history logs into arch/x86/kernel/kprobes.c. Signed-off-by: Masami Hiramatsu Signed-off-by: Jim Keniston Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8533bbe9f87b01f49ff951f665ea1988252fa3c2 Author: Masami Hiramatsu Date: Wed Jan 30 13:31:21 2008 +0100 x86: prepare kprobes code for x86 unification This patch cleanup kprobes code on x86 for unification. This patch is based on Arjan's previous work. - Remove spurious whitespace changes - Add harmless includes - Make the 32/64 files more identical - Generalize structure fields' and local variable name. - Wrap accessing to stack address by macros. - Modify bitmap making macro. - Merge fixup code into is_riprel() and change its name to fix_riprel(). - Set MAX_INSN_SIZE to 16 on both arch. - Use u32 for bitmaps on both architectures. - Clarify some comments. Signed-off-by: Masami Hiramatsu Signed-off-by: Arjan van de Ven Signed-off-by: Jim Keniston Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit da07ab0375897bb9e108b28129df140ecd3ee94e Author: Masami Hiramatsu Date: Wed Jan 30 13:31:21 2008 +0100 x86: return probe-booster for x86-64 This patch adds kretprobe-booster to kprobes_64.c. - Changes are based on x86-32. - Rewrite register saving/restoring code Signed-off-by: Masami Hiramatsu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit aa470140e86e45723cf8387292edbce9106ddc1f Author: Masami Hiramatsu Date: Wed Jan 30 13:31:21 2008 +0100 x86: kprobe-booster for x86-64 This patch adds kprobe-booster to kprobes_64.c. - Changes are based on x86-32. - Add REX prefix checking code. Signed-off-by: Masami Hiramatsu Signed-off-by: Jim Keniston Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 314cdbefd1fd0a7acf3780e9628465b77ea6a836 Author: Nick Piggin Date: Wed Jan 30 13:31:21 2008 +0100 x86: FIFO ticket spinlocks Introduce ticket lock spinlocks for x86 which are FIFO. The implementation is described in the comments. The straight-line lock/unlock instruction sequence is slightly slower than the dec based locks on modern x86 CPUs, however the difference is quite small on Core2 and Opteron when working out of cache, and becomes almost insignificant even on P4 when the lock misses cache. trylock is more significantly slower, but they are relatively rare. On an 8 core (2 socket) Opteron, spinlock unfairness is extremely noticable, with a userspace test having a difference of up to 2x runtime per thread, and some threads are starved or "unfairly" granted the lock up to 1 000 000 (!) times. After this patch, all threads appear to finish at exactly the same time. The memory ordering of the lock does conform to x86 standards, and the implementation has been reviewed by Intel and AMD engineers. The algorithm also tells us how many CPUs are contending the lock, so lockbreak becomes trivial and we no longer have to waste 4 bytes per spinlock for it. After this, we can no longer spin on any locks with preempt enabled and cannot reenable interrupts when spinning on an irq safe lock, because at that point we have already taken a ticket and the would deadlock if the same CPU tries to take the lock again. These are questionable anyway: if the lock happens to be called under a preempt or interrupt disabled section, then it will just have the same latency problems. The real fix is to keep critical sections short, and ensure locks are reasonably fair (which this patch does). Signed-off-by: Nick Piggin Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 95c354fe9f7d6decc08a92aa26eb233ecc2155bf Author: Nick Piggin Date: Wed Jan 30 13:31:20 2008 +0100 spinlock: lockbreak cleanup The break_lock data structure and code for spinlocks is quite nasty. Not only does it double the size of a spinlock but it changes locking to a potentially less optimal trylock. Put all of that under CONFIG_GENERIC_LOCKBREAK, and introduce a __raw_spin_is_contended that uses the lock data itself to determine whether there are waiters on the lock, to be used if CONFIG_GENERIC_LOCKBREAK is not set. Rename need_lockbreak to spin_needbreak, make it use spin_is_contended to decouple it from the spinlock implementation, and make it typesafe (rwlocks do not have any need_lockbreak sites -- why do they even get bloated up with that break_lock then?). Signed-off-by: Nick Piggin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a95d67f87e1a5f1b4429be3ba3bf7b4051657908 Author: Markus Metzger Date: Wed Jan 30 13:31:20 2008 +0100 x86, ptrace: new ptrace BTS API Here's the new ptrace BTS API that supports two different overflow handling mechanisms (wrap-around and buffer-full-signal) to support two different use cases (debugging and profiling). It further combines buffer allocation and configuration. Opens: - memory rlimit - overflow signal What would be the right signal to use? Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e4811f2568c55e595a7bf15a3b9aba863b31fb94 Author: Markus Metzger Date: Wed Jan 30 13:31:20 2008 +0100 x86, ptrace: change BTS GET ptrace interface Change the ptrace interface to mimick an array from newst to oldest. Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3c68904fee1459b6d51040864e15d19098eedef7 Author: Markus Metzger Date: Wed Jan 30 13:31:20 2008 +0100 x86, ptrace: use jiffies for BTS timestamps Replace sched_clock() with jiffies for BTS timestamps. Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2f4aaf53c21e644ba0f581ce62b985d767388c64 Author: Markus Metzger Date: Wed Jan 30 13:31:20 2008 +0100 x86, ptrace: remove bad comment Remove no longer correct comment. Signed-off-by: Markus Metzger Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f6e0eba1b133192e298052d616e9e17356d32517 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:20 2008 +0100 x86: avoid ifdefs in desc.h, getting rid of pack_ldt and pack_tss By Andi Kleen's suggestion, this patch removes pack_ldt() and pack_tss() wrappers in favour of a general wrapper. It saves us an ifdef and some lines of code, but more importantly, it's more elegant. No functional change is made, although the object code is expected to be different. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2215e69d2cf5024647f9a034807990590d25dd4e Author: Huang, Ying Date: Wed Jan 30 13:31:19 2008 +0100 x86 boot: use E820 memory map on EFI 32 platform Because the EFI memory map are converted to e820 memory map in bootloader, the EFI memory map handling code is removed to clean up. Signed-off-by: Huang Ying Cc: Andi Kleen Cc: "H. Peter Anvin" Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e429795c68d3001ecae74f6465420c9f043b0ece Author: Huang, Ying Date: Wed Jan 30 13:31:19 2008 +0100 x86: EFI runtime service support: remove duplicated code from efi_32.c This patch removes the duplicated code between efi_32.c and efi.c. Signed-off-by: Huang Ying Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9ad65e4748f55e3159283d7fa9d54fb30c086113 Author: Huang, Ying Date: Wed Jan 30 13:31:19 2008 +0100 x86: EFI runtime service support: document for EFI runtime services This patch adds document for EFI x86_64 runtime services support. Signed-off-by: Chandramouli Narayanan Signed-off-by: Huang Ying Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit de18c850af701ac9512b7239e88fa45e4c168771 Author: Huang, Ying Date: Wed Jan 30 13:31:19 2008 +0100 x86: EFI runtime service support: EFI runtime services This patch adds support for several EFI runtime services for EFI x86_64 system. The EFI support for emergency_restart is added. Signed-off-by: Chandramouli Narayanan Signed-off-by: Huang Ying Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5b83683f32b113d07edfb67a33ce389fc624423d Author: Huang, Ying Date: Wed Jan 30 13:31:19 2008 +0100 x86: EFI runtime service support This patch adds basic runtime services support for EFI x86_64 system. The main file of the patch is the addition of efi_64.c for x86_64. This file is modeled after the EFI IA32 avatar. EFI runtime services initialization are implemented in efi_64.c. Some x86_64 specifics are worth noting here. On x86_64, parameters passed to EFI firmware services need to follow the EFI calling convention. For this purpose, a set of functions named efi_call ( is the number of parameters) are implemented. EFI function calls are wrapped before calling the firmware service. The duplicated code between efi_32.c and efi_64.c is placed in efi.c to remove them from efi_32.c. Signed-off-by: Chandramouli Narayanan Signed-off-by: Huang Ying Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8c8b8859b64baf6d7c33900e8720c7bafe775b2c Author: Daniel Walker Date: Wed Jan 30 13:31:17 2008 +0100 mcheck mce_64: mce_read_sem to mutex Converted to a mutex, and changed the name to mce_read_mutex. Signed-off-by: Daniel Walker Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fa20efd2fcd9349770113c6f72fc76ce437b62f5 Author: Aaron Durbin Date: Wed Jan 30 13:31:17 2008 +0100 x86: add ACPI reboot option Add the ability to reboot an x86_64 based machine using the RESET_REG in the FADT ACPI table. Signed-off-by: Aaron Durbin Cc: Len Brown Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5f561d3be8f0db54f9b4fc5cb5db05343f372431 Author: Ingo Molnar Date: Wed Jan 30 13:31:17 2008 +0100 x86: dummy placeholder for acpi/reboot.h dummy placeholder for acpi/reboot.h Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 634e49723b08d15f4cb9860ea86547fbd2eeae18 Author: Jeff Dike Date: Wed Jan 30 13:31:17 2008 +0100 uml: add asm-um/asm.h git-x86.patch introduces asm-x86/asm.h. UML needs to follow this with an asm/asm.h of its own. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1e160cc3f3b5c38bba79c58172e82c1e24934546 Author: Andrew Morton Date: Wed Jan 30 13:31:17 2008 +0100 x86: __vdso_getcpu() warning fix arch/x86/vdso/vgetcpu.c: In function '__vdso_getcpu': arch/x86/vdso/vgetcpu.c:22: warning: pointer targets in passing argument 1 of 'native_read_tscp' differ in signedness Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 341d8854d38fe6e7655f7748babae5c25a51aa70 Author: Harvey Harrison Date: Wed Jan 30 13:31:17 2008 +0100 x86: remove fastcall from include/asm-x86 Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 75604d7f7f1ee93e4d19d9e19f4497b7ed842f2a Author: Harvey Harrison Date: Wed Jan 30 13:31:17 2008 +0100 x86: remove all definitions with fastcall fastcall is always defined to be empty, remove it from arch/x86 Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 56c4da454de1264e381256f658f61b9ef690dd21 Author: Harvey Harrison Date: Wed Jan 30 13:31:17 2008 +0100 core: remove last users of empty FASTCALL macro FASTCALL is always empty after the x86 removal. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6b7d190b14d478c759be22dcb7ee4695a711b562 Author: Harvey Harrison Date: Wed Jan 30 13:31:16 2008 +0100 x86: remove last users of FASTCALL FASTCALL() is always empty. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 332540d5fe7f3370bb860090e4b906340a2e2afb Author: Harvey Harrison Date: Wed Jan 30 13:31:14 2008 +0100 UML: remove remaining FASTCALL uses With the x86 removal, FASTCALL is always empty now. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c81c6ca45a69478c7877b729af1942d2b80ef582 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:14 2008 +0100 x86: unify set_tss_desc This patch unifies the set_tss_desc between i386 and x86_64, which can now have a common implementation. After the old functions are removed from desc_{32,64}.h, nothing important is left, and the files can be removed. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 507f90c9f92592e7630b1c1e87bf92d2c9858cc6 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:14 2008 +0100 x86: move _set_gate and its users to a common location This patch moves _set_gate and its users to desc.h. We can now use common code for x86_64 and i386. [ mingo@elte.hu: set_system_gate() fixes for nasty crashes. ] Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 54cd0eac7286b83ef1a657d2dddd74e0556209e7 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:14 2008 +0100 x86: unify paravirt pieces of descriptor handling With the types used to access descriptors in x86_64 and i386 now being the same, the code that effectively handles them can now be easily shared. This patch moves the paravirt part of desc_32.h into desc.h, and then, we get paravirt support in x86_64 for free. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cc6978528cbd475d952e0eb5073375839dfb600e Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:14 2008 +0100 x86: modify get_desc_base This patch makes get_desc_base() receive a struct desc_struct, and then uses its internal fields to compute the base address. This is done at both i386 and x86_64, and then it is moved to common header Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 26048d75e8d6c840742468667f4a7ab8c2df74c9 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:14 2008 +0100 x86: use the same data type for tls_array. This patch changes the type of tls_array in x86_64 to a desc_struct. Now, both i386 and x86_64 tls_array have the same type, and code accessing it can be shared. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 881c2975d02b6575c417a6eee40868d60a9ecba9 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:14 2008 +0100 x86: unify non-paravirt parts of desc.h This patch unifies the non-paravirt part of desc_{32,64}.h into desc.h. Most of it, is simply common code, that is moved to the shared header. The only exception is the set_ldt_desc in desc_64.h, which is changed - included its name - to accomodate for the way the ldt is set up in i386. Also, constant definitions used in desc_32.h are moved to desc_defs.h Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 59fbed775aa5a6f352bfbde6b40508b541086b7e Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:14 2008 +0100 x86: move constants to desc_defs.h this patch moves constant definitions regarding descriptor types from desc_32.h to desc_defs.h. The change from defines to enum to comply with previous versions in desc_defs.h Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 75b8bb3e56ca09a467fbbe5229bc68627f7445be Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:13 2008 +0100 x86: change write_ldt_entry signature this patch changes the signature of write_ldt_entry. Signed-off-by: Glauber de Oliveira Costa CC: Zachary Amsden CC: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 014b15be30c04622d130946ab7c0a9101b523a8a Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:13 2008 +0100 x86: change write_gdt_entry signature. This patch changes the write_gdt_entry function signature. Instead of the old "a" and "b" parameters, it now receives a pointer to a desc_struct, and the size of the entry being handled. This is because x86_64 can have some 16-byte entries as well as 8-byte ones. Signed-off-by: Glauber de Oliveira Costa CC: Zachary Amsden CC: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 18245d5b6e54ca76b60b687e43eb893f9e9dd611 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:13 2008 +0100 x86: provide tss_desc Provide a new type, tss_desc, to represent the tss descriptor in a unified way accross x86_64 and i386 Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 80fbb69a8d1268ef48dfe21da80e68cb01922f31 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:13 2008 +0100 x86: introduce fill_ldt This patch introduces fill_ldt(), which populates a ldt descriptor from a user_desc in once, instead of relying in the LDT_entry_a and LDT_entry_b macros Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5af725026fe902bf81f1b90b1b9d9ee4b9e1eb6a Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:13 2008 +0100 x86: modify write_ldt function This patch modifies the write_ldt() function to make use of the new struct desc_struct instead of entry_1 and entry_2 entries Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 25deca53e9b74a899efd3ae1f4493f4f2ce36846 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:13 2008 +0100 x86: introduce ldt_desc type. this patch introduces ldt_desc type to account for the differences in the ldt descriptor in x86_64 and i386 Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8d947344c47a40626730bb80d136d8daac9f2060 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:12 2008 +0100 x86: change write_idt_entry signature this patch changes write_idt_entry signature. It now takes a gate_desc instead of the a and b parameters. It will allow it to be later unified between i386 and x86_64. Signed-off-by: Glauber de Oliveira Costa CC: Zachary Amsden CC: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 010d4f8221cf51a2ab8b037d0149506b397d073f Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:12 2008 +0100 x86: introduce gate_desc type. To account for the differences in gate descriptor in i386 and x86_64 a gate_desc type is introduced. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7e6ebe1432b04c2980cd030c9f0d1ed480e1fe4d Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:12 2008 +0100 x86: removed unused variable This variable is not used anywere, and is then removed Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f6dc247cac1a8ee64e59019c3b948d23f3b1a36f Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:12 2008 +0100 x86: change gdt acessor macro name This patch changes the name of x86_64 macro used to access the per-cpu gdt. It is now equal to the i386 version, which will allow code to be shared. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6b68f01baa810e9f63fbf39e9d5c3ef1d94a966f Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:12 2008 +0100 x86: unify struct desc_ptr This patch unifies struct desc_ptr between i386 and x86_64. They can be expressed in the exact same way in C code, only having to change the name of one of them. As Xgt_desc_struct is ugly and big, this is the one that goes away. There's also a padding field in i386, but it is not really needed in the C structure definition. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6842ef0e85a9cc1295f3ef933a230f863b01eb0f Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:11 2008 +0100 x86: unify desc_struct This patch aims to make the access of struct desc_struct variables equal across architectures. In this patch, I unify the i386 and x86_64 versions under an anonymous union, keeping the way they are accessed untouched (a and b for 32-bit code, individual bit-fields for 64-bit). This solution is not beautiful, but will allow us to integrate common code that differed by the way descriptors were used. This is to be viewed incrementally. There's simply too much code to be fixed at once. In the future, goal is to set up in a single way of acessing the desc_struct fields. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 746ef0cd0c7190d570c65b8e39a4ac67550ae43a Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:11 2008 +0100 x86: prepare 64-bit architecture initialization for paravirt This patch prepares the x86_64 architecture initialization for paravirt. It requires a memory initialization step, which is done by implementing 64-bit version for machine_specific_memory_setup, and putting an ARCH_SETUP hook, for guest-dependent initialization. This last step is done akin to i386 Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Steven Rostedt Acked-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ba082427ae6ffbf8e48a26ae4f72f4501a6b80c1 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:10 2008 +0100 x86: tweak io_64.h for paravirt. We need something here because we can't call in and out instructions directly. However, we have to be careful, because no indirections are allowed in misc_64.c , and paravirt_ops is a kind of one. So just call it directly there Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Steven Rostedt Acked-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ee238e5ca66858f80170f87724f84d67183b069a Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:10 2008 +0100 x86: prepare time related functions for paravirt This patch add provisions for time related functions so they can be later replaced by paravirt versions. it basically encloses {g,s}et_wallclock inside the already existent functions update_persistent_clock and read_persistent_clock, and defines {s,g}et_wallclock to the core of such functions. it also allow for a later-on-game time initialization, as done by i386. Paravirt guests can set a function to do their own initialization this way. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Steven Rostedt Acked-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 49a697871e2edcbc9cc682466bc4f2316b854d23 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:10 2008 +0100 x86: turn priviled operation into a macro in head_64.S under paravirt, read cr2 cannot be issued directly anymore. So wrap it in a macro, defined to the operation itself in case paravirt is off, but to something else if we have paravirt in the game Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Steven Rostedt Acked-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 70fd93c9d9e07dd2ea4465df76a0ddd414fd21ac Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:10 2008 +0100 x86: export cpu_gdt_descr With paravirualization, hypervisors needs to handle the gdt, that was right to this point only used at very early inialization code. Hypervisors (lguest being the current case) are commonly modules, so make it an export Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Steven Rostedt Acked-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 21db5584f955652a6e34afa7d3dbd72dd6c82a89 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:10 2008 +0100 x86: export math_state_restore Export math_state_restore symbol, so it can be used for hypervisors. They are commonly loaded as modules (lguest being an example). Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Steven Rostedt Acked-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2355188570790930718fb72444cddc2959039d9d Author: Ingo Molnar Date: Wed Jan 30 13:31:10 2008 +0100 x86: avoid build warning fix this build warning: include/asm/topology_32.h: In function 'node_to_first_cpu': include/asm/topology_32.h:66: warning: unused variable 'mask' Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 675a0813609f9097e323261b1cc4b9dc3f50d40b Author: Harvey Harrison Date: Wed Jan 30 13:31:10 2008 +0100 x86: unify mmap_{32|64}.c mmap_is_ia32 always true for X86_32, or while emulating IA32 on X86_64 Randomization not supported on X86_32 in legacy layout. Both layouts allow randomization on X86_64. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f3f20de87c03a90add5e34806c28a03a0d60bde0 Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:31:09 2008 +0100 x86: clean up mm/init_32.c Some code reformatting in init_32.c. No functional change. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 27ec161f93b8f018e0270a5383ea1d1c36f00c8a Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:31:09 2008 +0100 x86: kill mk_pte_huge It only has a single use, which can be trivially replaced. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5fd1fe9c582e00ca0a98f852cd693dc3caf607a0 Author: Ingo Molnar Date: Wed Jan 30 13:31:09 2008 +0100 x86: clean up drivers/char/rtc.c tons of style cleanup in drivers/char/rtc.c - no code changed: text data bss dec hex filename 6400 384 32 6816 1aa0 rtc.o.before 6400 384 32 6816 1aa0 rtc.o.after since we seem to have a number of open breakages in this code we might as well start with making the code more readable and maintainable. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6b4b05bd790389962e6fcfc862562e7fa239c9d2 Author: Randy Dunlap Date: Wed Jan 30 13:31:09 2008 +0100 x64/page.h: convert some macros to inlines Convert clear_page/copy_page macros to inline functions for type-checking. Andrew wants to extirpate these ugly macros. (Ingo too. Thomas as well. Please send us more "kill ugly macros" patches! :-) Signed-off-by: Randy Dunlap Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b23be399da88a5008b1db4db06f03146b25cdc52 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:09 2008 +0100 x86: remove arch specific segment headers This file puts the remainder of the arch specificic segment headers in segment.h. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 15ee09b40831ae88eb8a804a647b6935eb8b7114 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:09 2008 +0100 x86: unify common parts of segment.h Although segment handling in i386 and x86_64 are very different, there's a common part. Put them in segment.h instead of arch specific headers Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cef189508b2f043fdc2e354645803b6ce004aac3 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:09 2008 +0100 x86: put get_kernel_rpl in a common location This macro is useful for both i386 and x86_64, so put it in a common location, where both arches can grab it. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit eee3af4a2c83a97fff107ddc445d9df6fded9ce4 Author: Markus Metzger Date: Wed Jan 30 13:31:09 2008 +0100 x86, ptrace: support for branch trace store(BTS) Resend using different mail client Changes to the last version: - split implementation into two layers: ds/bts and ptrace - renamed TIF's - save/restore ds save area msr in __switch_to_xtra() - make block-stepping only look at BTF bit Signed-off-by: Markus Metzger Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7796931f542518092d1fd2fb7cf1f1d96e0cd4b5 Author: Jeff Dike Date: Wed Jan 30 13:31:08 2008 +0100 UML: change sigcontext fields to match x86 git-x86, in commit 70aa1bd3839e3ec74ce65316528a82570e8de666, changed a lot of the sigcontext field names. This patch changes UML usage to match. I also changed includes of generic headers from "" to <>. Signed-off-by: Jeff Dike Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d46d7d754014a299fa9b3400d080e09bfe4d629f Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:08 2008 +0100 x86: unify system.h This patch finishes the unification of system.h file. i386 needs a constant to be defined, and it is defined inside an ifdef. Other than that, pretty much nothing but includes are left in the arch specific headers, and they are deleted. [ mingo@elte.hu: 64-bit needs the cr8 access inlines. ] Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0a3b4d151a8e57f50ce5a12c7ea5ec9965cf0b5a Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:08 2008 +0100 x86: move switch_to macro to system.h This patch moves the switch_to() macro to system.h As those macros are fundamentally different between i386 and x86_64, they are enclosed around an ifdef. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 833d8469b102365f427f7791e79ec1843ff5f164 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:08 2008 +0100 x86: unify smp parts of system.h The memory barrier parts of system.h are not very different between i386 and x86_64, the main difference being the availability of instructions, which we handle with the use of ifdefs. They are consolidated in system.h file, and then removed from the arch-specific headers. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 62fe164c5b036f4bdb19fbfb8f18a75631e67eee Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:08 2008 +0100 x86: remove unused macro Mr. Grep says warn_if_not_ulong() is not used anymore anywhere in the code. So, we remove it. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d3ca901f94b3299dfe3a814770d751844608419f Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:08 2008 +0100 x86: unify paravirt parts of system.h This patch moves the i386 control registers manipulation functions, wbinvd, and clts functions to system.h. They are essentially the same as in x86_64. With this, system.h paravirt comes for free in x86_64. [ mingo@elte.hu: reintroduced the cr8 bits - needed for resume images ] Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a6b4655258efd39b590e519815ed43bb74cd7188 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:08 2008 +0100 x86: unify load_segment macro This patch unifies the load_segment() macro, making them equal in both x86_64 and i386 architectures. The common version goes to system.h, and the old are deleted. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d89542229b657bdcce6a6f76168f9098ee3e9344 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:08 2008 +0100 x86: put together equal pieces of system.h This patch puts together pieces of system_{32,64}.h that looks like the same. It's the first step towards integration of this file. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e34907ae180f4fe6c28bb4516c679c2f81b0c9ed Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:08 2008 +0100 x86: remove volatile keyword from clflush. the p parameter is an explicit memory reference, and is enough to prevent gcc to being nasty here. The volatile seems completely not needed. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 929fd589135ed417663f1b75b8031c9cf6687700 Author: Joerg Roedel Date: Wed Jan 30 13:31:08 2008 +0100 x86: some whitespace cleanups in paging code This patch does some whitespace cleanups in the paging code to fix some checkpatch.pl warnings of my formerly merged cleanup patches. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 954683a2c19696114894384e34f858bb9f455b11 Author: Andrew Morton Date: Wed Jan 30 13:31:07 2008 +0100 x86: PIE executable randomization, uninlining Cc: "Luck, Tony" Cc: Arjan van de Ven Cc: Jakub Jelinek Cc: Jiri Kosina Cc: KAMEZAWA Hiroyuki Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bb1ad8205be4cb95e3286d7442596da6fd70409f Author: Andrew Morton Date: Wed Jan 30 13:31:07 2008 +0100 x86: PIE executable randomization, checkpatch fixes #39: FILE: arch/ia64/ia32/binfmt_elf32.c:229: +elf32_map (struct file *filep, unsigned long addr, struct elf_phdr *eppnt, int prot, int type, unsigned long unused) WARNING: no space between function name and open parenthesis '(' #39: FILE: arch/ia64/ia32/binfmt_elf32.c:229: +elf32_map (struct file *filep, unsigned long addr, struct elf_phdr *eppnt, int prot, int type, unsigned long unused) WARNING: line over 80 characters #67: FILE: arch/x86/kernel/sys_x86_64.c:80: + new_begin = randomize_range(*begin, *begin + 0x02000000, 0); ERROR: use tabs not spaces #110: FILE: arch/x86/kernel/sys_x86_64.c:185: + ^I mm->cached_hole_size = 0;$ ERROR: use tabs not spaces #111: FILE: arch/x86/kernel/sys_x86_64.c:186: + ^I^Imm->free_area_cache = mm->mmap_base;$ ERROR: use tabs not spaces #112: FILE: arch/x86/kernel/sys_x86_64.c:187: + ^I}$ ERROR: use tabs not spaces #141: FILE: arch/x86/kernel/sys_x86_64.c:216: + ^I^I/* remember the largest hole we saw so far */$ ERROR: use tabs not spaces #142: FILE: arch/x86/kernel/sys_x86_64.c:217: + ^I^Iif (addr + mm->cached_hole_size < vma->vm_start)$ ERROR: use tabs not spaces #143: FILE: arch/x86/kernel/sys_x86_64.c:218: + ^I^I mm->cached_hole_size = vma->vm_start - addr;$ ERROR: use tabs not spaces #157: FILE: arch/x86/kernel/sys_x86_64.c:232: + ^Imm->free_area_cache = TASK_UNMAPPED_BASE;$ ERROR: need a space before the open parenthesis '(' #291: FILE: arch/x86/mm/mmap_64.c:101: + } else if(mmap_is_legacy()) { WARNING: braces {} are not necessary for single statement blocks #302: FILE: arch/x86/mm/mmap_64.c:112: + if (current->flags & PF_RANDOMIZE) { + mm->mmap_base += ((long)rnd) << PAGE_SHIFT; + } WARNING: line over 80 characters #314: FILE: fs/binfmt_elf.c:48: +static unsigned long elf_map (struct file *, unsigned long, struct elf_phdr *, int, int, unsigned long); WARNING: no space between function name and open parenthesis '(' #314: FILE: fs/binfmt_elf.c:48: +static unsigned long elf_map (struct file *, unsigned long, struct elf_phdr *, int, int, unsigned long); WARNING: line over 80 characters #429: FILE: fs/binfmt_elf.c:438: + eppnt, elf_prot, elf_type, total_size); ERROR: need space after that ',' (ctx:VxV) #480: FILE: fs/binfmt_elf.c:939: + elf_prot, elf_flags,0); ^ total: 9 errors, 7 warnings, 461 lines checked Your patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. Please run checkpatch prior to sending patches Cc: "Luck, Tony" Cc: Arjan van de Ven Cc: Jakub Jelinek Cc: Jiri Kosina Cc: KAMEZAWA Hiroyuki Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cc503c1b43e002e3f1fed70f46d947e2bf349bb6 Author: Jiri Kosina Date: Wed Jan 30 13:31:07 2008 +0100 x86: PIE executable randomization main executable of (specially compiled/linked -pie/-fpie) ET_DYN binaries onto a random address (in cases in which mmap() is allowed to perform a randomization). The code has been extraced from Ingo's exec-shield patch http://people.redhat.com/mingo/exec-shield/ [akpm@linux-foundation.org: fix used-uninitialsied warning] [kamezawa.hiroyu@jp.fujitsu.com: fixed ia32 ELF on x86_64 handling] Signed-off-by: Jiri Kosina Cc: KAMEZAWA Hiroyuki Cc: Arjan van de Ven Cc: Roland McGrath Cc: Jakub Jelinek Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 82f74e7159749cc511ebf5954a7b9ea6ad634949 Author: Harvey Harrison Date: Wed Jan 30 13:31:07 2008 +0100 x86: unify include/asm-x86/linkage_[32|64].h Remove definitions of FASTCALL/fastcall from linkage_32 as compiled with -regparm=3 by default since 2.6.20 and should no longer be needed. CONFIG X86_64 and CONFIG_X86_ALIGNMENT_16 are mutually exclusive as found in Kconfig.cpu so it should be fine to test them separately. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c210d24986dc19e387c10508c0bc2faadadc1a2e Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:07 2008 +0100 x86: integrate 32-bit and 64-bit code in msr.h This patches proceeds with the integration of msr.h, making the code unified, instead of having a version for each architecture. We stick with the native_* functions, and then paravirt comes for free. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 56ec1ddcff967e51d98427e4efcbfc90de67efe3 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:07 2008 +0100 x86: make fixups wordsize agnostic This patch uses the _ASM_ALIGN and _ASM_PTR macros to make the fixups in native_read/write_msr_safe look the same for x86_64 and i386. Besides using this macros, we also have to take the explicit instruction suffixes out. It's okay because all this instructions uses registers, and can be sized by them. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c9dcda5ce46c395c5c99003e259e1973dface640 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:07 2008 +0100 x86: change write msr functions interface This patche changes the native_write_msr() and friends interface to explicitly take 2 32-bit registers instead of a 64-bit value. The change will ease the merge with 64-bit code. As the 64-bit value will be passed as two registers anyway in i386, the PVOP_CALL interface has to account for that and use low/high parameters It would force the x86_64 version to be different. The change does not make i386 generated code less efficient. As said above, it would get the values from two registers anyway. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b8d1fae7dbde6a1227fa142acecb48dc3dd63817 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:07 2008 +0100 x86: change rdpmc interface the rdpmc instruction gets a counter argument in rcx. However, the i386 version was ignoring it. To make both x86_64 and i386 versions the same, as well as to comply with the instruction semantics, this parameter is added in the i386 version Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8f12dea6135d0a55b151dcb4c6bbe211f5f8d35d Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:06 2008 +0100 x86: introduce native_read_tscp Targetting paravirt, this patch introduces native_read_tscp, in place of rdtscp() macro. When in a paravirt guest, this will involve a function call, and thus, cannot be done in the vdso area. These users then have to call the native version directly Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c758ecf62ad94ddfeb4e7d8a5498bdcb2e3c85db Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:03 2008 +0100 x86: unify cpuid functions cpuid is not very different between i386 and x86_64. We move away the x86_64 version from msr.h, and unify them at processor.h, where they belong. cpuid() paravirt then comes for free. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4e87173eacfd0d798aeeba14026893797826bc93 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:03 2008 +0100 x86: split get_cycles_sync This patch splits get_cycles_sync() into __get_cycles_sync(), and the rdtscll part. Paravirt guests cannot issue rdtscl directly, as it involves a function call in vdso area. So, using the __get_cycles_sync() base, we introduce vget_cycles_sync, which then calls the native version of rdtscll. Ideally, however, a guest should define its own clocksource, together with a vread function Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 16e2011be67b8625c1c600f9742c2279be3c0c68 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:03 2008 +0100 x86: allow sched clock to be overridden by paravirt This patch turns the sched_clock into native_sched_clock. sched clock becomes a weak symbol, which can then give its place to a paravirt definition. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 751de83c0c94a5235f14cff8549d3b39e745eb2b Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:03 2008 +0100 x86: unify msr smp funcs The functions under #ifdef CONFIG_SMP in msr.h are the same for both x86_64 and i386, and this patches removes one of them, putting them in a single location Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fe58fc8f40257948c2f9fc5a56863077ce3138f0 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:31:03 2008 +0100 x86: wipe out traditional opt from x86_64 Makefile Among other things, using -traditional as a gcc option stops us from using macro token pasting, which is a feature we heavily rely on. There was still a use of -traditional in arch/x86/kernel/Makefile_64, which this patch removes. I don't see any problems building kernels in my x86_64 box without -traditional. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Steven Rostedt Acked-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 96daa8cd53945a1220d2b2f4a44bc57f0cc46760 Author: Harvey Harrison Date: Wed Jan 30 13:31:03 2008 +0100 x86: use def_bool where possible in Kconfig.cpu x86: Use def_bool where possible in Kconfig.cpu Change occurances of: bool default X to: def_bool X Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6612538ca9b38f0f45d0aec2aae8992c43313705 Author: Hiroshi Shimamoto Date: Wed Jan 30 13:31:03 2008 +0100 x86: clean up process_32/64.c White space and coding style clean up. Make process_32/64.c similar. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3c2362e629cdc16ea7472c5f14b6c2076aba58db Author: Harvey Harrison Date: Wed Jan 30 13:31:03 2008 +0100 x86: use def_bool where possible Change occurances of: bool default X to: def_bool X Change ocurances of: bool "Foo" default X to: def_bool X prompt "Foo" Shows no difference in generated config for allmodconfig/allyesconfig. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 40842bf50e0719bcfe817fec2fe8b0b98dcdb244 Author: Joerg Roedel Date: Wed Jan 30 13:31:02 2008 +0100 x86: use __PAGE_KERNEL* instead of _KERNPG_TABLE This minor cleanup replaces _KERNPG_TABLE with the __PAGE_KERNEL* for 2MB PTEs in the 64-bit memory initialization code. The __PAGE_KERNEL* defines are more appropriate for PTEs. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1c6f70309900c47eeaef12c97b206fcccde1ebe2 Author: Joerg Roedel Date: Wed Jan 30 13:31:02 2008 +0100 x86: define all _PAGE_* in terms of _PAGE_BIT_* on 64-bit This patch defines the _PAGE_* paging attributes in pgtable_64.h in terms of the former defined _PAGE_BIT_* values. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2ba7deef09dad6662dc4fa8b275af8d0794fd9fc Author: Len Brown Date: Wed Jan 30 13:31:02 2008 +0100 x86: 32-bit IOAPIC: de-fang IRQ compression commit c434b7a6aedfe428ad17cd61b21b125a7b7a29ce (x86: avoid wasting IRQs for PCI devices) created a concept of "IRQ compression" on i386 to conserve IRQ numbers on systems with many sparsely populated IO APICs. The same scheme was also added to x86_64, but later removed when x86_64 recieved an IRQ over-haul that made it unnecessary -- including per-CPU IRQ vectors that greatly increased the IRQ capacity on the machine. i386 has not received the analogous over-haul, and thus a previous attempt to delete IRQ compression from i386 was rejected on the theory that there may exist machines that actually need it. The fact is that the author of IRQ compression patch was unable to confirm the actual existence of such a system. As a result, all i386 kernels with IOAPIC support pay the following: 1. confusion IRQ compression re-names the traditional IOAPIC pin numbers (aka ACPI GSI's) into sequential IRQ #s: ACPI: PCI Interrupt 0000:00:1c.0[A] -> GSI 20 (level, low) -> IRQ 16 ACPI: PCI Interrupt 0000:00:1c.1[B] -> GSI 21 (level, low) -> IRQ 17 ACPI: PCI Interrupt 0000:00:1c.2[C] -> GSI 22 (level, low) -> IRQ 18 ACPI: PCI Interrupt 0000:00:1c.3[D] -> GSI 23 (level, low) -> IRQ 19 ACPI: PCI Interrupt 0000:00:1c.4[A] -> GSI 20 (level, low) -> IRQ 16 This makes /proc/interrupts look different depending on system configuration and device probe order. It is also different than the x86_64 kernel running on the exact same system. As a result, programmers get confused when comparing systems. 2. complexity The IRQ code in Linux is already overly complex, and IRQ compression makes it worse. There have already been two bug workarounds related to IRQ compression -- the IRQ0 timer workaround and the VIA PCI IRQ workaround. 3. size All i386 kernels with IOAPIC support contain an int[4096] -- a 4 page array to contain the renamed IRQs. So while the irq compression code on i386 should really be deleted -- even before merging the x86_64 irq-overhaul, this patch simply disables it on all high volume systems to avoid problems #1 and #2 on most all i386 systems. A large system with pin numbers >=64 will still have compression to conserve limited IRQ numbers for sparse IOAPICS. However, the vast majority of the planet, those with only pin numbers < 64 will use an identity GSI -> IRQ mapping. Signed-off-by: Len Brown Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Acked-by: "Eric W. Biederman" commit faca62273b602ab482fb7d3d940dbf41ef08b00e Author: H. Peter Anvin Date: Wed Jan 30 13:31:02 2008 +0100 x86: use generic register name in the thread and tss structures This changes size-specific register names (eip/rip, esp/rsp, etc.) to generic names in the thread and tss structures. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 25149b62d3e6a3e737af39bd4a0b4e97de0811b7 Author: Roland McGrath Date: Wed Jan 30 13:31:02 2008 +0100 x86: x86 ptrace merge removals This removes the old separate 64-bit and ia32 ptrace source files. They are no longer used. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cbc9d9d98215f08ed998228e7bce88502d1ce360 Author: Roland McGrath Date: Wed Jan 30 13:31:02 2008 +0100 x86: x86 ptrace merge complete This switches over the 64-bit build to use the shared ptrace code, instead of the old ptrace_64.c and arch/x86/ia32/ptrace32.c code. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 099cd6e9dac84baafdef00c3955ee68e71282f86 Author: Roland McGrath Date: Wed Jan 30 13:31:01 2008 +0100 x86: x86 ia32 ptrace arch merge This moves the sys32_ptrace code into arch/x86/kernel/ptrace.c, verbatim except for a few hard-coded sizes replaced with sizeof. Here this code can use the shared local functions in this file. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cb757c41f3c2e1ac6f950f9d070e9849983efc18 Author: Roland McGrath Date: Wed Jan 30 13:31:01 2008 +0100 x86: x86 ia32 ptrace getreg/putreg merge This reimplements the 64-bit IA32-emulation register access functions in arch/x86/kernel/ptrace.c, where they can share some guts with the native access functions directly. These functions are not used yet, but this paves the way to move IA32 ptrace support into this file to share its local functions. [akpm@linuxfoundation.org: Build fix] Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 86976cd805eccf46d9b720bb188a540fc5769427 Author: Roland McGrath Date: Wed Jan 30 13:31:01 2008 +0100 x86: x86 ptrace merge syscall trace This moves the 64-bit syscall tracing functions into ptrace.c, so that ptrace_64.c becomes entirely obsolete. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e9c86c789f067f75211cedb3f13aa58369b0d14a Author: Roland McGrath Date: Wed Jan 30 13:31:01 2008 +0100 x86: x86 ptrace arch merge This adds 64-bit support to arch_ptrace in arch/x86/kernel/ptrace.c, so this function can be used for native ptrace on both 32 and 64. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2047b08be67b70875d8765fc81d34ce28041bec3 Author: Roland McGrath Date: Wed Jan 30 13:31:01 2008 +0100 x86: x86 ptrace getreg/putreg merge This merges 64-bit support into the low-level register access functions in arch/x86/kernel/ptrace.c, paving the way to share this file between 32-bit and 64-bit builds. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 06ee1b687ac91698ccd47fa652d5b3cf1bfcd806 Author: Roland McGrath Date: Wed Jan 30 13:31:01 2008 +0100 x86: x86 ptrace getreg/putreg cleanup This cleans up the getreg/putreg functions to move the special cases (segment registers and eflags) out into their own subroutines. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e39c2891415b3b5c7381ece06bb45b3c7bdd4342 Author: Roland McGrath Date: Wed Jan 30 13:31:01 2008 +0100 x86: ptrace FLAG_MASK cleanup This cleans up the FLAG_MASK macro to use symbolic constants instead of a magic number. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d52e9d690fff1fd9d0ccffe375fd01b700f82a64 Author: Roland McGrath Date: Wed Jan 30 13:31:01 2008 +0100 x86: ptrace_32 renamed This renames ptrace_32.c back to ptrace.c, in preparation for merging the 32/64 versions of these files. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0f5340933f9bacb403f49baaf8073320e3984841 Author: Roland McGrath Date: Wed Jan 30 13:30:59 2008 +0100 x86: x86-32 thread_struct.debugreg This replaces the debugreg[7] member of thread_struct with individual members debugreg0, etc. This saves two words for the dummies 4 and 5, and harmonizes the code between 32 and 64. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d277fb89dfb042deba04a8e765718cc8b3825e85 Author: Roland McGrath Date: Wed Jan 30 13:30:58 2008 +0100 x86: x86-64 ia32 ptrace get/putreg32 current task This generalizes the getreg32 and putreg32 functions so they can be used on the current task, as well as on a task stopped in TASK_TRACED and switched off. This lays the groundwork to share this code for all kinds of user-mode machine state access, not just ptrace. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5fd4d16bd59a9fc84ca94c4fce4abc23fe219108 Author: Roland McGrath Date: Wed Jan 30 13:30:58 2008 +0100 x86: x86-32 ptrace get/putreg current task This generalizes the getreg and putreg functions so they can be used on the current task, as well as on a task stopped in TASK_TRACED and switched off. This lays the groundwork to share this code for all kinds of user-mode machine state access, not just ptrace. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ce90f340855d7a9b3bec24f0fe49a76904242387 Author: Roland McGrath Date: Wed Jan 30 13:30:58 2008 +0100 x86: x86-64 ptrace get/putreg current task This generalizes the getreg and putreg functions so they can be used on the current task, as well as on a task stopped in TASK_TRACED and switched off. This lays the groundwork to share this code for all kinds of user-mode machine state access, not just ptrace. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9e714bed644cb463489b9250774a4b0fb352cabc Author: Roland McGrath Date: Wed Jan 30 13:30:58 2008 +0100 x86: x86-32 ptrace whitespace This canonicalizes the indentation in the getreg and putreg functions. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 80976c0867b7537d77511492d3180b8093b0ba3d Author: Roland McGrath Date: Wed Jan 30 13:30:58 2008 +0100 x86: x86-64 ptrace whitespace This canonicalizes the indentation in the getreg and putreg functions. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ff14c6164bd532a6dc9025c07d3b562f839f00a9 Author: Roland McGrath Date: Wed Jan 30 13:30:57 2008 +0100 x86: x86-64 ia32 ptrace pt_regs cleanup This cleans up the getreg32/putreg32 functions to use struct pt_regs in a straightforward fashion, instead of equivalent ugly pointer arithmetic. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 35d0991ffa544945d2e1992169c097286b7c0bfb Author: Roland McGrath Date: Wed Jan 30 13:30:57 2008 +0100 x86: eflags enum This removes the EF_* enum from . It is no longer used, and duplicates the X86_EFLAGS_* constants from . Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a46ff73d53f011de1dfc1983b05db2c04d193713 Author: Roland McGrath Date: Wed Jan 30 13:30:57 2008 +0100 x86: setup64 eflags constants This cleans up arch/x86/kernel/setup64.c to use the X86_EFLAGS_* constants from instead of the EF_* enum in . Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 742fa54a62be6a263df14a553bf832724471dfbe Author: H. Peter Anvin Date: Wed Jan 30 13:30:56 2008 +0100 x86: use generic register names in struct sigcontext Switch struct sigcontext (defined in ) to using register names withut e- or r-prefixes for both 32- and 64-bit x86. This is intended as a preliminary step in unifying this code between architectures. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 153d5f2e5787c74e9cbb6b6687c9b04be1b59893 Author: H. Peter Anvin Date: Wed Jan 30 13:30:56 2008 +0100 x86: use generic register names in struct user_regs_struct Switch struct user_regs_struct (defined in , which is no longer exported to userspace) to using register names without e- or r-prefixes for both 32 and 64 bit x86. This is intended as a preliminary step in unifying this code between architectures. Also, be a bit more strict in truncating 32-bit "extended" segment register values to 16 bits. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 65ea5b0349903585bfed9720fa06f5edb4f1cd25 Author: H. Peter Anvin Date: Wed Jan 30 13:30:56 2008 +0100 x86: rename the struct pt_regs members for 32/64-bit consistency We have a lot of code which differs only by the naming of specific members of structures that contain registers. In order to enable additional unifications, this patch drops the e- or r- size prefix from the register names in struct pt_regs, and drops the x- prefixes for segment registers on the 32-bit side. This patch also performs the equivalent renames in some additional places that might be candidates for unification in the future. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 53756d3722172815f52272b28c6d5d5e9639adde Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:30:55 2008 +0100 x86: add set/clear_cpu_cap operations The patch to suppress bitops-related warnings added a pile of ugly casts. Many of these were related to the management of x86 CPU capabilities. Clean these up by adding specific set/clear_cpu_cap macros, and use them consistently. Signed-off-by: Jeremy Fitzhardinge Cc: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5548fecdff5617ba3a2f09f0e585e1ac6e1bd25c Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:30:55 2008 +0100 x86: clean up bitops-related warnings Add casts to appropriate places to silence spurious bitops warnings. Signed-off-by: Jeremy Fitzhardinge Cc: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1c54d77078056cde0f195b1a982cb681850efc08 Author: Jeremy Fitzhardinge Date: Wed Jan 30 13:30:55 2008 +0100 x86: partial unification of asm-x86/bitops.h This unifies the set/clear/test bit functions of asm/bitops.h. I have not attempted to merge the bit-finding functions, since they rely on the machine word size and can't be easily restructured to work generically without a lot of #ifdefs. In particular, the 64-bit code can assume the presence of conditional move instructions, whereas 32-bit needs to be more careful. The inline assembly for the bit operations has been changed to remove explicit sizing hints on the instructions, so the assembler will pick the appropriate instruction forms depending on the architecture and the context. Signed-off-by: Jeremy Fitzhardinge Cc: Andi Kleen Cc: Linus Torvalds Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7bf0c23ed24b0d95a2a717f86dce1f210e16f8a5 Author: Mike Travis Date: Wed Jan 30 13:30:55 2008 +0100 x86: prevent dereferencing non-allocated per_cpu variables 'for_each_possible_cpu(i)' when there's a _remote possibility_ of dereferencing a non-allocated per_cpu variable involved. All files except mm/vmstat.c are x86 arch. Thanks to pageexec@freemail.hu for pointing this out. Signed-off-by: Mike Travis Cc: Christoph Lameter Cc: Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0fa376e027f0bd71368e1485f863f0dff8f7c897 Author: Roland McGrath Date: Wed Jan 30 13:30:55 2008 +0100 x86: PTRACE_SINGLEBLOCK This adds the PTRACE_SINGLEBLOCK request on x86, matching the ia64 feature. The implementation comes from the generic ptrace code and relies on the low-level machine support provided by arch_has_block_step() et al. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1ecc798c67645e0ee6eb028cb988b71b3edf4b40 Author: Roland McGrath Date: Wed Jan 30 13:30:54 2008 +0100 x86: debugctlmsr kprobes This adjusts the x86 kprobes implementation to cope with per-thread MSR_IA32_DEBUGCTLMSR being set for user mode. I haven't delved deep enough into the kprobes code to be really sure this covers all the cases where the user-mode BTF setting needs to be cleared or restored. It looks about right to me. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 10faa81e102e2b7695f386812055cd2ef9e44b4c Author: Roland McGrath Date: Wed Jan 30 13:30:54 2008 +0100 x86: debugctlmsr arch_has_block_step This implements user-mode step-until-branch on x86 using the BTF bit in MSR_IA32_DEBUGCTLMSR. It's just like single-step, only less so. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7e9916040b3020d0f36d68bb7512e3b80b623097 Author: Roland McGrath Date: Wed Jan 30 13:30:54 2008 +0100 x86: debugctlmsr context switch This adds low-level support for a per-thread value of MSR_IA32_DEBUGCTLMSR. The per-thread value is switched in when TIF_DEBUGCTLMSR is set. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0a049bb0ab807b4a95dce9cd0b603c01c199a287 Author: Roland McGrath Date: Wed Jan 30 13:30:54 2008 +0100 x86: debugctlmsr kconfig This adds the (internal) Kconfig macro CONFIG_X86_DEBUGCTLMSR, to be defined when configuring to support only hardware that definitely supports MSR_IA32_DEBUGCTLMSR with the BTF flag. The Intel documentation says "P6 family" and later processors all have it. I think the Kconfig dependencies are right to have it set for those and unset for others (i.e., when 586 and earlier are supported). Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d2499d8b6c94df02629631807dd96deae7aa7637 Author: Roland McGrath Date: Wed Jan 30 13:30:54 2008 +0100 x86: debugctlmsr constants This adds constant macros for a few of the bits in MSR_IA32_DEBUGCTLMSR. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5b88abbf770a0e1975c668743100f42934f385e8 Author: Roland McGrath Date: Wed Jan 30 13:30:53 2008 +0100 ptrace: generic PTRACE_SINGLEBLOCK This makes ptrace_request handle PTRACE_SINGLEBLOCK along with PTRACE_CONT et al. The new generic code makes use of the arch_has_block_step macro and generic entry points on machines that define them. [ mingo@elte.hu: bugfix ] Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit dc802c2d2e66e2d1544e023bfd4be6cdee48d57b Author: Roland McGrath Date: Wed Jan 30 13:30:53 2008 +0100 ptrace: arch_has_block_step This defines the new macro arch_has_block_step() in linux/ptrace.h, a default for when asm/ptrace.h does not define it. This is the analog of arch_has_single_step() for step-until-branch on machines that have it. It declares the new user_enable_block_step function, which goes with the existing user_enable_single_step and user_disable_single_step. This is not used yet, but paves the way to harmonize on this interface for the arch-specific calls on all machines. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d9771e8c50020bb1b4ca9eca9c188874ff126aa4 Author: Roland McGrath Date: Wed Jan 30 13:30:52 2008 +0100 x86: x86-32 ptrace debugreg cleanup This cleans up the 32-bit ptrace code to separate the guts of the debug register access from the implementation of PTRACE_PEEKUSR and PTRACE_POKEUSR. The new functions ptrace_[gs]et_debugreg match the new 64-bit entry points for parity, but they don't need to be global. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d0f081758260e9221729cabbc3aba63d89b8c8d4 Author: Roland McGrath Date: Wed Jan 30 13:30:52 2008 +0100 x86: x86-64 ia32 ptrace debugreg cleanup This cleans up the ia32 compat ptrace code to use shared code from native ptrace for the implementation guts of debug register access. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 962ff3804d31a4d090bbcbd3d06a4b63e3a5b5fd Author: Roland McGrath Date: Wed Jan 30 13:30:52 2008 +0100 x86: x86-64 ptrace debugreg cleanup This cleans up the 64-bit ptrace code to separate the guts of the debug register access from the implementation of PTRACE_PEEKUSR and PTRACE_POKEUSR. The new functions ptrace_[gs]et_debugreg are made global so that the ia32 code can later be changed to call them too. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e4aed6cc45f06acd35e3dfbbaf632c5d5aa897c0 Author: Roland McGrath Date: Wed Jan 30 13:30:52 2008 +0100 x86-64 ptrace: use task_pt_regs This cleans up the 64-bit ptrace code to use task_pt_regs instead of its own redundant code that does the same thing a different way. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 62a97d447b511bf4f0f0aa8cdccfb9ed1c934c8b Author: Roland McGrath Date: Wed Jan 30 13:30:52 2008 +0100 x86-32 ptrace: use task_pt_regs This cleans up the 32-bit ptrace code to use task_pt_regs instead of its own redundant code that does the same thing a different way. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d6f4fb7558ee8138fe86e2778bc16e3794d0baa2 Author: Roland McGrath Date: Wed Jan 30 13:30:51 2008 +0100 powerpc: ptrace generic resume This removes the handling for PTRACE_CONT et al from the powerpc ptrace code, so it uses the new generic code via ptrace_request. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2a84b0d71973692b291f03a870c4d0d13f722d79 Author: Roland McGrath Date: Wed Jan 30 13:30:51 2008 +0100 powerpc: arch_has_single_step This defines the new standard arch_has_single_step macro. It makes the existing set_single_step and clear_single_step entry points global, and renames them to the new standard names user_enable_single_step and user_disable_single_step, respectively. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 227195d4a6185e81855f56ed9bc815cad9a39398 Author: Roland McGrath Date: Wed Jan 30 13:30:51 2008 +0100 x86-32: ptrace generic resume This removes the handling for PTRACE_CONT et al from the 32-bit ptrace code, so it uses the new generic code via ptrace_request. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 18982c158f9c255d437713e63a93270d07408674 Author: Roland McGrath Date: Wed Jan 30 13:30:51 2008 +0100 x86-64: ptrace generic resume This removes the handling for PTRACE_CONT et al from the 64-bit ptrace code, so it uses the new generic code via ptrace_request. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 36df29d7994180cf7f0ccc5d46495855d56d2721 Author: Roland McGrath Date: Wed Jan 30 13:30:51 2008 +0100 ptrace: generic resume This makes ptrace_request handle all the ptrace requests that wake up the traced task. These do low-level ptrace implementation magic that is not arch-specific and should be kept out of arch code. The implementations on each arch usually do the same thing. The new generic code makes use of the arch_has_single_step macro and generic entry points to handle PTRACE_SINGLESTEP. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e1f287735c1e58c653b516931b5d3dd899edcb77 Author: Roland McGrath Date: Wed Jan 30 13:30:50 2008 +0100 x86 single_step: TIF_FORCED_TF This changes the single-step support to use a new thread_info flag TIF_FORCED_TF instead of the PT_DTRACE flag in task_struct.ptrace. This keeps arch implementation uses out of this non-arch field. This changes the ptrace access to eflags to mask TF and maintain the TIF_FORCED_TF flag directly if userland sets TF, instead of relying on ptrace_signal_deliver. The 64-bit and 32-bit kernels are harmonized on this same behavior. The ptrace_signal_deliver approach works now, but this change makes the low-level register access code reliable when called from different contexts than a ptrace stop, which will be possible in the future. The 64-bit do_debug exception handler is also changed not to clear TF from user-mode registers. This matches the 32-bit kernel's behavior. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7122ec8158b0f88befd94f4da8feae2c8d08d1b4 Author: Roland McGrath Date: Wed Jan 30 13:30:50 2008 +0100 x86: single_step: share code This removes the single-step code from ptrace_32.c and uses the step.c code shared with the 64-bit kernel. The two versions of the code were nearly identical already, so the shared code has only a couple of simple #ifdef's. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5f76cb1f6c42e7575256595f85b8b97d84ec669e Author: Roland McGrath Date: Wed Jan 30 13:30:50 2008 +0100 x86: single_step 0xf0 This fixes the 64-bit single-step handling code's instruction decoder to grok the 0xf0 (lock) prefix, which the 32-bit code already does correctly. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3f80c1adc900769f2070432419da3b5ddbf066fc Author: Roland McGrath Date: Wed Jan 30 13:30:50 2008 +0100 x86: single_step segment macros This cleans up the single-step code to use the asm/segment.h macros for segment selector magic bits, rather than its own constant. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fa1e03eae2f38e7b38095301b043da9c274d2284 Author: Roland McGrath Date: Wed Jan 30 13:30:50 2008 +0100 x86: single_step moved This moves the single-step support code from ptrace_64.c into a new file step.c, verbatim. This paves the way for consolidating this code between 64-bit and 32-bit versions. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7f232343e0ea37ffc0a552cdbd4825482c949281 Author: Roland McGrath Date: Wed Jan 30 13:30:48 2008 +0100 x86: arch_has_single_step This defines the new standard arch_has_single_step macro. It makes the existing set_singlestep and clear_singlestep entry points global, and renames them to the new standard names user_enable_single_step and user_disable_single_step, respectively. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 77c03dcd448aa4c7be45f4edb97381ef463e3911 Author: Roland McGrath Date: Wed Jan 30 13:30:48 2008 +0100 x86: remove TRAP_FLAG This gets rid of the local constant macro TRAP_FLAG. It's redundant with the public constant macro X86_EFLAGS_TF. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2608a6584a0a32d3251dfafad31d9f8b2c784466 Author: Roland McGrath Date: Wed Jan 30 13:30:48 2008 +0100 x86: segment selector macros This copies into asm-x86/segment_64.h some macros from asm-x86/segment_32.h for dissecting segment selectors. This lets other code use these macros uniformly on 32/64-bit rather than duplicating the constants elsewhere. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fb7fa8f1741c91f6c6e958762155abe9339476ca Author: Roland McGrath Date: Wed Jan 30 13:30:47 2008 +0100 ptrace: arch_has_single_step This defines the new macro arch_has_single_step() in linux/ptrace.h, a default for when asm/ptrace.h does not define it. It declares the new user_enable_single_step and user_disable_single_step functions. This is not used yet, but paves the way to harmonize on this interface for the arch-specific calls on all machines. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 022eb43419f896a3647f769cdc3b5e13a8fb8ee7 Author: Andrew Morton Date: Wed Jan 30 13:30:47 2008 +0100 x86: kmap_atomic() debugging [ mingo@elte.hu: cleanups and made dependent on CONFIG_DEBUG_HIGHMEM. this caught a handful of bugs already, so lets apply it. If it gets things wrong we'll disable it. ] Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2c0b8a7578f7653e1e5312a5232e8ead563cf477 Author: Mathieu Desnoyers Date: Wed Jan 30 13:30:47 2008 +0100 x86: fall back on interrupt disable in cmpxchg8b on 80386 and 80486 Actually, on 386, cmpxchg and cmpxchg_local fall back on cmpxchg_386_u8/16/32: it disables interruptions around non atomic updates to mimic the cmpxchg behavior. The comment: /* Poor man's cmpxchg for 386. Unsuitable for SMP */ already present in cmpxchg_386_u32 tells much about how this cmpxchg implementation should not be used in a SMP context. However, the cmpxchg_local can perfectly use this fallback, since it only needs to be atomic wrt the local cpu. This patch adds a cmpxchg_486_u64 and uses it as a fallback for cmpxchg64 and cmpxchg64_local on 80386 and 80486. Q: but why is it called cmpxchg_486 when the other functions are called A: Because the standard cmpxchg is missing only on 386, but cmpxchg8b is missing both on 386 and 486. Citing Intel's Instruction set reference: cmpxchg: This instruction is not supported on Intel processors earlier than the Intel486 processors. cmpxchg8b: This instruction encoding is not supported on Intel processors earlier than the Pentium processors. Q: What's the reason to have cmpxchg64_local on 32 bit architectures? Without that need all this would just be a few simple defines. A: cmpxchg64_local on 32 bits architectures takes unsigned long long parameters, but cmpxchg_local only takes longs. Since we have cmpxchg8b to execute a 8 byte cmpxchg atomically on pentium and +, it makes sense to provide a flavor of cmpxchg and cmpxchg_local using this instruction. Also, for 32 bits architectures lacking the 64 bits atomic cmpxchg, it makes sense _not_ to define cmpxchg64 while cmpxchg could still be available. Moreover, the fallback for cmpxchg8b on i386 for 386 and 486 is a However, cmpxchg64_local will be emulated by disabling interrupts on all architectures where it is not supported atomically. Therefore, we *could* turn cmpxchg64_local into a cmpxchg_local, but it would make the 386/486 fallbacks ugly, make its design different from cmpxchg/cmpxchg64 (which really depends on atomic operations and cannot be emulated) and require the __cmpxchg_local to be expressed as a macro rather than an inline function so the parameters would not be fixed to unsigned long long in every case. So I think cmpxchg64_local makes sense there, but I am open to suggestions. Q: Are there any callers? A: I am actually using it in LTTng in my timestamping code. I use it to work around CPUs with asynchronous TSCs. I need to update 64 bits values atomically on this 32 bits architecture. Changelog: - Ran though checkpatch. Signed-off-by: Mathieu Desnoyers Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5f627f8e122a163ce53908d55e088247db31f1d7 Author: Ralf Baechle Date: Wed Jan 30 13:30:47 2008 +0100 mips, x86: optimize the i8259 code a bit The timer code always calls the clock_event_device set_net_event and set_mode methods with interrupts disabled, so no need to use spin_lock_irqsave / spin_unlock_irqrestore for those. Signed-off-by: Ralf Baechle Acked-by:Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b263295dbffd33b0fbff670720fa178c30e3392a Author: Christoph Lameter Date: Wed Jan 30 13:30:47 2008 +0100 x86: 64-bit, make sparsemem vmemmap the only memory model Use sparsemem as the only memory model for UP, SMP and NUMA. Measurements indicate that DISCONTIGMEM has a higher overhead than sparsemem. And FLATMEMs benefits are minimal. So I think its best to simply standardize on sparsemem. Results of page allocator tests (test can be had via git from slab git tree branch tests) Measurements in cycle counts. 1000 allocations were performed and then the average cycle count was calculated. Order FlatMem Discontig SparseMem 0 639 665 641 1 567 647 593 2 679 774 692 3 763 967 781 4 961 1501 962 5 1356 2344 1392 6 2224 3982 2336 7 4869 7225 5074 8 12500 14048 12732 9 27926 28223 28165 10 58578 58714 58682 (Note that FlatMem is an SMP config and the rest NUMA configurations) Memory use: SMP Sparsemem ------------- Kernel size: text data bss dec hex filename 3849268 397739 1264856 5511863 541ab7 vmlinux total used free shared buffers cached Mem: 8242252 41164 8201088 0 352 11512 -/+ buffers/cache: 29300 8212952 Swap: 9775512 0 9775512 SMP Flatmem ----------- Kernel size: text data bss dec hex filename 3844612 397739 1264536 5506887 540747 vmlinux So 4.5k growth in text size vs. FLATMEM. total used free shared buffers cached Mem: 8244052 40544 8203508 0 352 11484 -/+ buffers/cache: 28708 8215344 2k growth in overall memory use after boot. NUMA discontig: text data bss dec hex filename 3888124 470659 1276504 5635287 55fcd7 vmlinux total used free shared buffers cached Mem: 8256256 56908 8199348 0 352 11496 -/+ buffers/cache: 45060 8211196 Swap: 9775512 0 9775512 NUMA sparse: text data bss dec hex filename 3896428 470659 1276824 5643911 561e87 vmlinux 8k text growth. Given that we fully inline virt_to_page and friends now that is rather good. total used free shared buffers cached Mem: 8264720 57240 8207480 0 352 11516 -/+ buffers/cache: 45372 8219348 Swap: 9775512 0 9775512 The total available memory is increased by 8k. This patch makes sparsemem the default and removes discontig and flatmem support from x86. [ akpm@linux-foundation.org: allnoconfig build fix ] Acked-by: Andi Kleen Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4ebd1290ba12121d66285cc06987ca97bcdfc55b Author: Borislav Petkov Date: Wed Jan 30 13:30:46 2008 +0100 x86: vmlinux_32.lds.S: remove repeated comment from the x86-32 linker script Remove repeated comment from the linker script for the x86-32 target. Signed-off-by: Borislav Petkov Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9de819fe72fc6979ddd18aa04ef9e2af5aa8bc5f Author: Yinghai Lu Date: Wed Jan 30 13:30:46 2008 +0100 x86: do not set boot cpu in cpu_online_map at x86_64_start_kernel() In init/main.c boot_cpu_init() does that later. Signed-off-by: Yinghai Lu Cc: Zachary Amsden Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 949ec325c79add68af13705b68a885a1efb84234 Author: Yinghai Lu Date: Wed Jan 30 13:30:46 2008 +0100 x86: set cpu_index to nr_cpus instead of 0 Some BIOSes that support two/four dualcore/quadcore systems, will get: ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled) Processor #0 15:1 APIC version 16 ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled) Processor #1 15:1 APIC version 16 ACPI: LAPIC (acpi_id[0x03] lapic_id[0x02] enabled) Processor #2 15:1 APIC version 16 ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] enabled) Processor #3 15:1 APIC version 16 ACPI: LAPIC (acpi_id[0x05] lapic_id[0x84] disabled) ACPI: LAPIC (acpi_id[0x06] lapic_id[0x85] disabled) ACPI: LAPIC (acpi_id[0x07] lapic_id[0x86] disabled) ACPI: LAPIC (acpi_id[0x08] lapic_id[0x87] disabled) ACPI: LAPIC (acpi_id[0x09] lapic_id[0x88] disabled) ACPI: LAPIC (acpi_id[0x0a] lapic_id[0x89] disabled) ACPI: LAPIC (acpi_id[0x0b] lapic_id[0x8a] disabled) ACPI: LAPIC (acpi_id[0x0c] lapic_id[0x8b] disabled) ACPI: LAPIC (acpi_id[0x0d] lapic_id[0x8c] disabled) ACPI: LAPIC (acpi_id[0x0e] lapic_id[0x8d] disabled) ACPI: LAPIC (acpi_id[0x0f] lapic_id[0x8e] disabled) ACPI: LAPIC (acpi_id[0x10] lapic_id[0x8f] disabled) SMP: Allowing 16 CPUs, 12 hotplug CPUs the /proc/cpuinfo will show a bunch of NULL cpus with cpu_index=0 so assign impossible cpu_index value at first instead of 0. Signed-off-by: Yinghai Lu Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b3ca74a2bfc66262d21443b160815eb26d6699e6 Author: Vladimir Berezniker Date: Wed Jan 30 13:30:46 2008 +0100 x86: sanitize user specified e820 memmap values Sanitize user specified e820 memory ranges, using the same logic that is applied to the values returned by the BIOS. This ensures consistent handling regardless of the source of the memory mappings. Allows overriding portions of the memory map without specifying one in it's entirety (memmap=exactmap). E.g. marking a range of bad RAM as reserved with memmap=48M$528M BIOS supplied range BIOS-e820: 0000000000100000 - 000000007fe80000 (usable) becomes user: 0000000000100000 - 0000000021000000 (usable) user: 0000000021000000 - 0000000024000000 (reserved) user: 0000000024000000 - 000000007fe80000 (usable) Previously this did not work, as the original BIOS range was left untouched while the user defined range was appended to the end of the memory map. [ tglx: arch/x86 adaptation ] Signed-off-by: Vladimir Berezniker Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit efd1ca52d04d2f6df337a3332cee56cd60e6d4c4 Author: Roland McGrath Date: Wed Jan 30 13:30:46 2008 +0100 x86: TLS cleanup This consolidates the four different places that implemented the same encoding magic for the GDT-slot 32-bit TLS support. The old tls32.c was renamed and is now only slightly modified to be the shared implementation. Signed-off-by: Roland McGrath Cc: Andrew Morton Cc: Zachary Amsden Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 13abd0e50433092c41551bc13c32268028b6d663 Author: Roland McGrath Date: Wed Jan 30 13:30:45 2008 +0100 x86: tls32 moved This renames arch/x86/ia32/tls32.c to arch/x86/kernel/tls.c, which does nothing now but paves the way to consolidate this code for 32-bit too. Signed-off-by: Roland McGrath Cc: Andrew Morton Cc: Zachary Amsden Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 12c3cbbb7e3218b1c3ed4c97b3496fc3f94ea967 Author: Roland McGrath Date: Wed Jan 30 13:30:45 2008 +0100 x86: desc_empty This replaces the desc_empty macro with an inline. It now handles easily any of the four different types used between 32/64 code to refer to these 8 bytes. It's identical in both asm-x86/processor_64.h and asm-x86/processor_32.h, so if these files ever get merged this function can be in the common code. This also removes the desc_equal macro because nothing uses it. Signed-off-by: Roland McGrath Cc: Andrew Morton Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit df5d438e33d7fc914ba9b6e0d6b019a8966c5fcc Author: Roland McGrath Date: Wed Jan 30 13:30:45 2008 +0100 x86: ptrace fs/gs_base The fs_base and gs_base fields are available in user_regs_struct. But reading these via ptrace (PTRACE_GETREGS or PTRACE_PEEKUSR) does not give a reliably useful value. The thread_struct fields are 0 when do_arch_prctl decided to use a GDT slot instead of MSR_FS_BASE, which it does for a value under 1<<32. This changes ptrace access to fs_base and gs_base to work like PTRACE_ARCH_PRCTL does. That is, it reads the base address that user-mode memory access using the fs/gs instruction prefixes will use, regardless of how it's being implemented in the kernel. The MSR vs GDT is an implementation detail that is pretty much hidden from userland in the actual using, and there is no reason that ptrace should give the internal implementation picture rather than the user-mode semantic picture. In the case of setting the value, this can implicitly change the fsindex/gsindex value (also separately in user_regs_struct), which is what happens when the thread calls arch_prctl itself. In a PTRACE_SETREGS, the fs_base change will come after the fsindex change due to the order of the struct, and so a change the debugger made to fs_base will have the effect intended, another part of the user_regs_struct will now differ when read back from what the debugger wrote. This makes PTRACE_ARCH_PRCTL obsolete. We could consider declaring it deprecated and removing it one day, though there is no hurry. For the foreseeable future, debuggers have to assume an old kernel that does not report reliable fs_base/gs_base values in user_regs_struct and stick to PTRACE_ARCH_PRCTL anyway. Signed-off-by: Roland McGrath Cc: Andrew Morton Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 91394eb0975b3771dde7071a0825c6df6c20ff8a Author: Roland McGrath Date: Wed Jan 30 13:30:45 2008 +0100 x86: use get_desc_base This changes a couple of places to use the get_desc_base function. They were duplicating the same calculation with different equivalent code. Signed-off-by: Roland McGrath Cc: Andrew Morton Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 859c0a5b9ca8eba2d65fa42f02505d76f8a712c7 Author: Roland McGrath Date: Wed Jan 30 13:30:44 2008 +0100 x86: get_desc_base This defines the get_desc_base function in asm-x86/desc_64.h to match the one in desc_32.h. If these two files ever get merged together, this function could be the same in both. Signed-off-by: Roland McGrath Cc: Andrew Morton Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cadd516422d9382313144aa58f9e46ee7a2c0a28 Author: Roland McGrath Date: Wed Jan 30 13:30:44 2008 +0100 x86 vDSO: canonicalize sysenter .eh_frame Some assembler versions automagically optimize .eh_frame contents, changing their size. The CFI in sysenter.S was not using optimal formatting, so it would be changed by newer/smarter assemblers. This ran afoul of the wired constant for padding out the other vDSO images to match its size. This changes the original hand-coded source to use the optimal format encoding for its operations. That leaves nothing more for a fancy assembler to do, so the sizes will match the wired-in expected size regardless of the assembler version. Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 16e48e7e7929d841273d87027079660bca5e37bd Author: Roland McGrath Date: Wed Jan 30 13:30:44 2008 +0100 x86 vDSO: makefile cleanup This cleans up the arch/x86/vdso/Makefile rules for vdso.so to share more code with the vdso32-*.so rules and remove old cruft. Signed-off-by: Roland McGrath Cc: Andrew Morton Cc: Linus Torvalds Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 69d0627a7f6e891189124d784d2fa90cae7c449a Author: Roland McGrath Date: Wed Jan 30 13:30:44 2008 +0100 x86 vDSO: reorder vdso32 code This reorders the code in the 32-bit vDSO images to put the signal trampolines first and __kernel_vsyscall after them. The order does not matter to userland, it just uses what AT_SYSINFO or e_entry says. Since the signal trampolines are the same size in both versions of the vDSO, putting them first is the simplest way to get the addresses to line up. This makes it work to use a more compact layout for the vDSO. Signed-off-by: Roland McGrath Cc: Andrew Morton Cc: Linus Torvalds Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 16f4bc738d616962a844e80f7b1fcb52c626542a Author: Roland McGrath Date: Wed Jan 30 13:30:44 2008 +0100 x86 vDSO: ia32 vsyscall removal This removes all the old vsyscall code from arch/x86/ia32/ that is no longer used because arch/x86/vdso/ code has replaced it. Signed-off-by: Roland McGrath Cc: Andrew Morton Cc: Linus Torvalds Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit af65d64845a90c8f2fc90b97e2148ff74672e979 Author: Roland McGrath Date: Wed Jan 30 13:30:43 2008 +0100 x86 vDSO: consolidate vdso32 This makes x86_64's ia32 emulation support share the sources used in the 32-bit kernel for the 32-bit vDSO and much of its setup code. The 32-bit vDSO mapping now behaves the same on x86_64 as on native 32-bit. The abi.syscall32 sysctl on x86_64 now takes the same values that vm.vdso_enabled takes on the 32-bit kernel. That is, 1 means a randomized vDSO location, 2 means the fixed old address. The CONFIG_COMPAT_VDSO option is now available to make this the default setting, the same meaning it has for the 32-bit kernel. (This does not affect the 64-bit vDSO.) The argument vdso32=[012] can be used on both 32-bit and 64-bit kernels to set this paramter at boot time. The vdso=[012] argument still does this same thing on the 32-bit kernel. Signed-off-by: Roland McGrath Cc: Andrew Morton Cc: Linus Torvalds Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 00f8b1bc0e44ba94fb33e1fbd8ac82841d7cc570 Author: Roland McGrath Date: Wed Jan 30 13:30:43 2008 +0100 x86 vDSO: ia32 vdso32-syscall build This puts the syscall version of the 32-bit vDSO in arch/x86/vdso/vdso32/ for 64-bit IA32 support. This is not used yet, but it paves the way for consolidating the 32-bit vDSO source and build logic all in one place. Signed-off-by: Roland McGrath Cc: Andrew Morton Cc: Linus Torvalds Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 36197c92a20c142fc2a068e0366053d770fa0096 Author: Roland McGrath Date: Wed Jan 30 13:30:43 2008 +0100 x86 vDSO: ia32 sysenter_return This changes the 64-bit kernel's support for the 32-bit sysenter instruction to use stored fields rather than constants for the user-mode return address, as the 32-bit kernel does. This adds a sysenter_return field to struct thread_info, as 32-bit has. There is no observable effect from this yet. It makes the assembly code independent of the 32-bit vDSO mapping address, paving the way for making the vDSO address vary as it does on the 32-bit kernel. [ akpm@linux-foundation.org: build fix on !CONFIG_IA32_EMULATION ] Signed-off-by: Roland McGrath Cc: Andrew Morton Cc: Linus Torvalds Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0aa97fb22624f18e5925d702ab0364d3838cfd91 Author: Roland McGrath Date: Wed Jan 30 13:30:43 2008 +0100 x86 vDSO: ia32_sysenter_target This harmonizes the name for the entry point from the 32-bit sysenter instruction across 32-bit and 64-bit kernels. Signed-off-by: Roland McGrath Cc: Andrew Morton Cc: Linus Torvalds Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f288f32dc51042fd3a493b85b226e63f1ad3edcc Author: Roland McGrath Date: Wed Jan 30 13:30:42 2008 +0100 x86 vDSO: vdso32 setup This moves arch/x86/kernel/sysenter_32.c to arch/x86/vdso/vdso32-setup.c, keeping all the code relating only to vDSO magic in the vdso/ subdirectory. This is a pure renaming, but it paves the way to consolidating the code for dealing with 32-bit vDSOs across CONFIG_X86_32 and CONFIG_IA32_EMULATION. Signed-off-by: Roland McGrath Cc: Andrew Morton Cc: Linus Torvalds Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 85a93b95dcd24023e0590ba4852ebff29208491a Author: Roland McGrath Date: Wed Jan 30 13:30:42 2008 +0100 x86 vDSO: i386 vdso32 install This enables 'make vdso_install' for i386 as on x86_64 and powerpc. Signed-off-by: Roland McGrath Cc: Andrew Morton Cc: Linus Torvalds Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4707c4717a5a6f375f3300bbccff1d46dcf75b25 Author: Roland McGrath Date: Wed Jan 30 13:30:42 2008 +0100 x86 vDSO: absolute relocs This updates the exceptions for absolute relocs for the new symbol name convention used for symbols extracted from the vDSO images. Signed-off-by: Roland McGrath Cc: Andrew Morton Cc: Linus Torvalds Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6c3652efcafa6a6d795093362cb4290c84994b5c Author: Roland McGrath Date: Wed Jan 30 13:30:42 2008 +0100 x86 vDSO: i386 vdso32 This makes the i386 kernel use the new vDSO build in arch/x86/vdso/vdso32/ to replace the old one from arch/x86/kernel/. Signed-off-by: Roland McGrath Cc: Andrew Morton Cc: Linus Torvalds Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0249c9c1e7505c2b020bcc6deaf1e0415de9943e Author: Roland McGrath Date: Wed Jan 30 13:30:42 2008 +0100 x86 vDSO: vdso32 build This builds the 32-bit vDSO images in the arch/x86/vdso subdirectory. Nothing uses the images yet, but this paves the way for consolidating the vDSO build logic all in one place. The new images use a linker script sharing the layout parts from vdso-layout.lds.S with the 64-bit vDSO. A new vdso32-syms.lds is generated in the style of vdso-syms.lds. Signed-off-by: Roland McGrath Cc: Andrew Morton Cc: Linus Torvalds Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0c2f51a7d2546f65e4198cccd6a56e2a8b857677 Author: Roland McGrath Date: Wed Jan 30 13:30:42 2008 +0100 x86 vDSO: arch/x86/vdso/vdso32 This moves the i386 vDSO sources into arch/x86/vdso/vdso32/, a new directory. This patch is a pure renaming, but paves the way for consolidating the vDSO build logic. Signed-off-by: Roland McGrath Cc: Andrew Morton Cc: Linus Torvalds Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 108b545137b03ec1d6a5765017d57f86056bf57c Author: Roland McGrath Date: Wed Jan 30 13:30:41 2008 +0100 x86 vDSO: harmonize asm-offsets This change harmonizes the asm-offsets macros used in the 32-bit vDSO across 32-bit and 64-bit builds. It's a purely cosmetic change for now, but it paves the way for consolidating the 32-bit vDSO builds. Signed-off-by: Roland McGrath Cc: Andrew Morton Cc: Linus Torvalds Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f6b46ebf904f69a73907a5e6b1ed2228e3f03d9e Author: Roland McGrath Date: Wed Jan 30 13:30:41 2008 +0100 x86 vDSO: new layout This revamps the vDSO linker script to lay things out with the best packing of the data and good, separate alignment of the code. The rigid layout using VDSO_TEXT_OFFSET no longer matters to the kernel. I've moved the layout parts of the linker script into a new include file, vdso-layout.lds.S; this is in preparation for sharing the script for the 32-bit vDSO builds too. Signed-off-by: Roland McGrath Cc: Andrew Morton Cc: Linus Torvalds Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2b9c97e16101e8dc2b0810d6f932d475a051d785 Author: Roland McGrath Date: Wed Jan 30 13:30:41 2008 +0100 x86 vDSO: remove vdso-syms.o Get rid of vdso-syms.o from the kernel link. We don't need it any more. Signed-off-by: Roland McGrath Cc: Andrew Morton Cc: Linus Torvalds Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7f3646aa16f496201e045183402c6614fa27b0c7 Author: Roland McGrath Date: Wed Jan 30 13:30:41 2008 +0100 x86 vDSO: use vdso-syms.lds This patch changes the kernel's references to addresses in the vDSO image to be based on the symbols defined by vdso-syms.lds instead of the old vdso-syms.o symbols. This is all wrapped up in a macro defined by the new asm-x86/vdso.h header; that's the only place in the kernel source that has to know the details of the scheme for getting vDSO symbol values. Signed-off-by: Roland McGrath Cc: Andrew Morton Cc: Linus Torvalds Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5b93049337301d6fbd3cf55db99b34e6b0dbd3a3 Author: Roland McGrath Date: Wed Jan 30 13:30:40 2008 +0100 x86 vDSO: generate vdso-syms.lds This patch adds a new way of extracting symbols from the built vDSO image. This is much simpler and less fragile than using ld -R; it removes the need to control the DSO layout quite so exactly. I was clearly unduly distracted by clever ld uses when I did the original vDSO implementation. Signed-off-by: Roland McGrath Cc: Andrew Morton Cc: Linus Torvalds Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c1d171a002942ea2d93b4fbd0c9583c56fce0772 Author: Jiri Kosina Date: Wed Jan 30 13:30:40 2008 +0100 x86: randomize brk Randomize the location of the heap (brk) for i386 and x86_64. The range is randomized in the range starting at current brk location up to 0x02000000 offset for both architectures. This, together with pie-executable-randomization.patch and pie-executable-randomization-fix.patch, should make the address space randomization on i386 and x86_64 complete. Arjan says: This is known to break older versions of some emacs variants, whose dumper code assumed that the last variable declared in the program is equal to the start of the dynamically allocated memory region. (The dumper is the code where emacs effectively dumps core at the end of it's compilation stage; this coredump is then loaded as the main program during normal use) iirc this was 5 years or so; we found this way back when I was at RH and we first did the security stuff there (including this brk randomization). It wasn't all variants of emacs, and it got fixed as a result (I vaguely remember that emacs already had code to deal with it for other archs/oses, just ifdeffed wrongly). It's a rare and wrong assumption as a general thing, just on x86 it mostly happened to be true (but to be honest, it'll break too if gcc does something fancy or if the linker does a non-standard order). Still its something we should at least document. Note 2: afaik it only broke the emacs *build*. I'm not 100% sure about that (it IS 5 years ago) though. [ akpm@linux-foundation.org: deuglification ] Signed-off-by: Jiri Kosina Cc: Arjan van de Ven Cc: Roland McGrath Cc: Jakub Jelinek Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7b83dae7aa31db4f6d6e78c3c6d490a7ac58699c Author: Robert Richter Date: Wed Jan 30 13:30:40 2008 +0100 x86: extended interrupt LVT support for AMD Barcelona Also macro definitions in apicdef.h has been updated. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 739f33b38bf88312447e38ae8b7ac3acdbb72a6b Author: Andi Kleen Date: Wed Jan 30 13:30:40 2008 +0100 x86: untable __init references between IO data Earlier patch added IO APIC setup into local APIC setup. This caused modpost warnings. Fix them by untangling setup_local_APIC() and splitting it into smaller functions. The IO APIC initialization is only called for the BP init. Also removed some outdated debugging code and minor cleanup. [ tglx: arch/x86 adaptation ] Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3f6e5a12b8384ab9816ba6703f4b4be87ac94b5a Author: Yinghai Lu Date: Wed Jan 30 13:30:39 2008 +0100 x86: use core id bits for apicid_to_node initialization We shoud use core id bits instead of max cores, in case later with AMD downcores Quad core Opteron. [ tglx: arch/x86 adaptation ] Signed-off-by: Yinghai Lu Signed-off-by: Andi Kleen Cc: Christoph Lameter Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a860b63c41f241c685245127a3d32f352cb04c12 Author: Yinghai Lu Date: Wed Jan 30 13:30:39 2008 +0100 x86: store core id bits in cpuinfo_x8 We need to store core id bits to cpuinfo_x86 in early_identify_cpu. So we use it to create acpiid_to_node array in k8topolgy.c Signed-off-by: Yinghai Lu Signed-off-by: Andi Kleen Cc: Christoph Lameter Cc: Andi Kleen Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8c4385d7f5b77415156c9b900016cc8161d49f17 Author: Adrian Bunk Date: Wed Jan 30 13:30:39 2008 +0100 x86: remove -maccumulate-outgoing-args on 32-bit Contrary to the comment "newer gccs do it by default", newer gcc versions default to -maccumulate-outgoing-args only with CONFIG_CC_OPTIMIZE_FOR_SIZE=n, and then only with some CPU settings. Measured with an i386 defconfig, gcc 4.2.1 and kernel 2.6.23-rc1 ("orig" is the plain kernel, "changed is with -maccumulate-outgoing-args removed): $ ls -la vmlinux* -rwxrwxr-x 1 bunk bunk 6269713 2007-07-24 22:19 vmlinux.changed -rwxrwxr-x 1 bunk bunk 6425361 2007-07-24 22:19 vmlinux.orig $ size vmlinux.* text data bss dec hex filename 4493465 504108 614400 5611973 55a1c5 vmlinux.changed 4646160 504108 614400 5764668 57f63c vmlinux.orig $ That's a 2.5% size increase that does for sure hurt small systems. If the stack unwinder ever comes back and needs this as indicated in the comment, adding it to the cflags when the user enabled the unwinder should be a better option. [ tglx: arch/x86 adaptation ] Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1c69524c2e5b83e52a098ebdeb4a8b52169f6a03 Author: Yinghai Lu Date: Wed Jan 30 13:30:39 2008 +0100 x86: clear IO_APIC before enabing apic error vector. 4 socket quad core, 8 socket quad core will do apic ID lifting for BSP. But io-apic regs for ExtINT still use 0 as dest. so when we enable apic error vector in BSP, we will get one APIC error. CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line) CPU: L2 Cache: 512K (64 bytes/line) CPU 0/4 -> Node 0 CPU: Physical Processor ID: 1 CPU: Processor Core ID: 0 SMP alternatives: switching to UP code ACPI: Core revision 20070126 enabled ExtINT on CPU#0 ESR value after enabling vector: 00000000, after 0000000c APIC error on CPU0: 0c(08) ENABLING IO-APIC IRQs Synchronizing Arb IDs. So move enable_IO_APIC from setup_IO_APIC into setup_local_APIC and call it before enabling the ACPI error vector. [ tglx: arch/x86 adaptation ] Signed-off-by: Yinghai Lu Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 04e1ba852132c9ad006affcd5b8c8606295170b0 Author: Thomas Gleixner Date: Wed Jan 30 13:30:39 2008 +0100 x86: cleanup kernel/setup_64.c Clean it up before applying more patches to it. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5cabbd97b10229159919ff17f746b69742cec84d Author: Steven Rostedt Date: Wed Jan 30 13:30:39 2008 +0100 x86: remove unused tsk_thread from asm-offsets_64.c So this patch simply removes the "thread" from asm-offsets.c since I can't find an owner for it. Signed-off-by: Steven Rostedt Cc: Andrew Morton Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7ebad705340f35276326ed93a43190e62f725f77 Author: Dave Jones Date: Wed Jan 30 13:30:39 2008 +0100 x86: use CR0 defines. Signed-off-by: Dave Jones Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 3578facf737dc9a60ed19a83458bd9cfdc2af233 Author: Thomas Gleixner Date: Wed Jan 30 13:30:38 2008 +0100 x86: merge resume-trace.h variants Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 3367e56f26a3a8647784328ffa846fe8021a5b79 Author: Thomas Gleixner Date: Wed Jan 30 13:30:38 2008 +0100 x86: merge topology.h variants Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b4ea9299df1fa04dbd51840f60918a63ff6a8a44 Author: Thomas Gleixner Date: Wed Jan 30 13:30:38 2008 +0100 x86: consolidate toloplogy_32/64.h Reorder defines and do white space / coding style cleanups to get a readable diff. Also convert the macros to inline functions. Move the pci related inlines to pci.h Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit fe21a445b98c9d52f02f3412d7a2fd39784f3b22 Author: Thomas Gleixner Date: Wed Jan 30 13:30:38 2008 +0100 x86: adjust numa 32 namespace Use the 64bit numa variable names for numa32 as well. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 7462894a7cb03b54b9139f31fab5928366752a78 Author: Thomas Gleixner Date: Wed Jan 30 13:30:38 2008 +0100 x86: fixup numa 64 namespace Using a variable name, which is the same as a macro name is not really smart. Change the variable names and fixup all users. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e3cfe529dd87dd3354789546676fef2e808822e4 Author: Thomas Gleixner Date: Wed Jan 30 13:30:37 2008 +0100 x86: cleanup numa_64.c Clean it up before applying more patches. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit e1d9197862ff4d950dab45669b7f37b5ec3219d8 Author: Thomas Gleixner Date: Wed Jan 30 13:30:37 2008 +0100 x86: merge include/asm-x86/sparsemem.h Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 8a423ff0c4a0472607bbed6790fdaeec54af2ebb Author: Thomas Gleixner Date: Wed Jan 30 13:30:37 2008 +0100 x86: merge include/asm-x86/sparsemem.h Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4757d7d8d00c5f8b2c176ca03b0a8eabbc206664 Author: Thomas Gleixner Date: Wed Jan 30 13:30:37 2008 +0100 x86: put all kern_addr_valid() incarnations to pgtable.h Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 0b80fc721bed2635c7f0b198e1c862a4596dc2cd Author: Thomas Gleixner Date: Wed Jan 30 13:30:36 2008 +0100 x86: merge acpi_32/64.h Merge the files. [ mingo@elte.hu: build fix ] Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 8a999410135602d98bd007e835dc21c0c279ad72 Author: Thomas Gleixner Date: Wed Jan 30 13:30:36 2008 +0100 x86: cleanup acpi_32/64.h Fix coding style to get a readable diff Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit ae9d983be1eefac4b5efad69a188e7ac89a75797 Author: Thomas Gleixner Date: Wed Jan 30 13:30:36 2008 +0100 x86: cleanup smp.h variants Bring the smp.h variants into sync to prepare merging and paravirt support. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c2805aa1d8ae51c7582d2ccbd736afa545cf5cc4 Author: Thomas Gleixner Date: Wed Jan 30 13:30:35 2008 +0100 x86: merge mpspec variants The delta is now minimal. Merge them Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 64883ab0e3386d72112a9091d886352a7b4b8bf6 Author: Thomas Gleixner Date: Wed Jan 30 13:30:35 2008 +0100 x86: cleanup mpspec variants Bring the mpspec variants into sync to prepare merging and paravirt support. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d291cf83639a0e0b67ff783b6ed29c0a747d4901 Author: Thomas Gleixner Date: Wed Jan 30 13:30:35 2008 +0100 x86: merge tlbflush.h variants The delta is now minimal. Merge them Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 0b9c99b6f21c2e9e00938e9c57942ed71bfe4d21 Author: Thomas Gleixner Date: Wed Jan 30 13:30:35 2008 +0100 x86: cleanup tlbflush.h variants Bring the tlbflush.h variants into sync to prepare merging and paravirt support. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1075cf7a959f72833e54dd2d4f885617e58e3e0a Author: Thomas Gleixner Date: Wed Jan 30 13:30:34 2008 +0100 x86: merge spinlock.h variants Merge them finally together Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit cf244e30f5b50763cbe85f7de30923d12999e38d Author: Thomas Gleixner Date: Wed Jan 30 13:30:34 2008 +0100 x86: spinlock_32/64 substitute types and instructions Use _slock_t for the spinlock data types and replace the instructions by string defines, which makes the code of 32/64 bit versions more or less identical. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 3b23ed84ec34f04f54f7d5b1e35f258d64a7a5fb Author: Thomas Gleixner Date: Wed Jan 30 13:30:34 2008 +0100 x86: spinlock_32/64 match the jump labels and symbols Match the jump labels in the 32/64 variants and switch the 64bit version to symbols, so the functions are almost identical except for the operand size now. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6514f93a2ce643ef5914eae7ce49b978e1d356aa Author: Thomas Gleixner Date: Wed Jan 30 13:30:34 2008 +0100 x86: use immediates instead of RW_LOCK_BIAS_STR Use immediate instead of the RW_LOCK_BIAS_STR. Makes the code more readable and gets rid of the string constant. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit a33fff3a033f2e8a930067ad608c21e1f86bffab Author: Thomas Gleixner Date: Wed Jan 30 13:30:34 2008 +0100 x86: fix asm constraints in spinlock_32/64.h Use the correct constraints for the spinlock assembler functions. read (modify) write functions need "+m" instead of "=m" Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2fed0c507cf0101d511366f36e8573f403dbfea5 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:30:33 2008 +0100 x86: consolidate spinlock.h The cli and sti instructions need to be replaced by paravirt hooks. For the i386 architecture, this is already done. The code requirements aren't much different from x86_64 POV, so this part is consolidated in the common header Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Steven Rostedt Acked-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6abcd98ffafbff81f0bfd7ee1d129e634af13245 Author: Glauber de Oliveira Costa Date: Wed Jan 30 13:30:33 2008 +0100 x86: irqflags consolidation This patch consolidates the irqflags include files containing common paravirt definitions. The native definition for interrupt handling, halt, and such, are the same for 32 and 64 bit, and they are kept in irqflags.h. the differences are split in the arch-specific files. The syscall function, irq_enable_sysexit, has a very specific i386 naming, and its name is then changed to a more general one. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Steven Rostedt Acked-by: Jeremy Fitzhardinge Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 416b72182ac3f3f4931ed17d0256b1d805d1b553 Author: Hiroshi Shimamoto Date: Wed Jan 30 13:30:33 2008 +0100 x86: clean up nmi_32/64.c clean up and make nmi_32/64.c more similar. - white space and coding style clean up. - nmi_cpu_busy is available on CONFIG_SMP. - move functions __acpi_nmi_enable, acpi_nmi_enable, __acpi_nmi_disable and acpi_nmi_disable. - make variables name more similar. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6ea8bad1c06c8ccde381f1c848afe6a245bb33b5 Author: clameter@sgi.com Date: Wed Jan 30 13:30:32 2008 +0100 x86: clean up stack allocation and free Clean up the allocation and freeing of stacks a bit by using a __GFP_ZERO flag instead of memset. Signed-off-by: Christoph Lameter Cc: Andi Kleen Cc: Mike Travis Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ec12fa5c80126b252ebcb474d12c832ec4647daa Author: Randy Dunlap Date: Wed Jan 30 13:30:32 2008 +0100 x86: bitops_32.h style cleanups Coding style cleanups in x86/bitops_32.h: - drop space in "* addr" - whitespace & indentation fixes - spello fixes Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c9cce83dd1d59f52e2c8f8c7d265ba4854c40785 Author: Bernhard Walle Date: Wed Jan 30 13:30:32 2008 +0100 x86: remove extern declarations for code, data, bss resources This patch removes the extern struct resource declarations for data_resource, code_resource and bss_resource on x86 and declares that three structures as static as done on other architectures like IA64. On i386, these structures are moved to setup_32.c (from e820_32.c) because that's code that is not specific to e820 and also required on EFI systems. That makes the "extern" reference superfluous. On x86_64, data_resource, code_resource and bss_resource are passed to e820_reserve_resources() as arguments just as done on i386 and IA64. That also avoids the "extern" reference and it's possible to make it static. Signed-off-by: Bernhard Walle Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9773db2a301b089bb95907eec5ad1a2ef7fb4099 Author: Cyrill Gorcunov Date: Wed Jan 30 13:30:32 2008 +0100 x86: remove dead code in ia32-emu Remove useless second time checking of fsave argument in save_i387_ia32() routine. It's possible the compiler is doing the same but that is much better to remove the dead code explicitly. Signed-off-by: Cyrill Gorcunov Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 201c19948b879ed95ac986bc994af29d7cf4859f Author: Lucas Woods Date: Wed Jan 30 13:30:32 2008 +0100 x86: remove duplicate includes Signed-off-by: Lucas Woods Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2d2ee8de5f6d26ef2942e0b449aa68d9236d5777 Author: Paul Jimenez Date: Wed Jan 30 13:30:31 2008 +0100 x86: mtrr use type bool [RESEND AGAIN] This is a janitorish patch to 1) remove private TRUE/FALSE #def's in favor of using the standard enum from linux/stddef.h and 2) switch the variables holding those values to type 'bool' (from linux/types.h) since it both seems more appropriate and allows for potentially better optimization. As a truly minor aside, I removed a couple of comments documenting a 'do_safe' parameter that seems to no longer exist. Signed-off-by: Paul Jimenez Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3e7593966be6f6d29a15138c0c96b961d437f2f5 Author: Adrian Bunk Date: Wed Jan 30 13:30:31 2008 +0100 x86: pci-dma_64.c: cleanups This patch contains the following cleanups: - make the needlessly global iommu_setup() static - remove the unused EXPORT_SYMBOL(iommu_merge) Signed-off-by: Adrian Bunk Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ed65260bb814a5c600a4e883f6bda73e287f5dec Author: Adrian Bunk Date: Wed Jan 30 13:30:31 2008 +0100 x86: pci-calgary_64.c: make a variable static "debugging" is a horrible name for a global variable - thankfully it can become static. Also put it out of __read_mostly so that gcc no longer has to emit it at all. Signed-off-by: Adrian Bunk Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 867ab545668385b903f9379019000383675c49b3 Author: Adrian Bunk Date: Wed Jan 30 13:30:31 2008 +0100 x86: nmi_64.c: make code static This patch makes the following needlessly global code static: - panic_on_timeout - setup_nmi_watchdog() Signed-off-by: Adrian Bunk Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 231fd906c5e71219bbc32618a8ed8b439d5dde98 Author: Adrian Bunk Date: Wed Jan 30 13:30:30 2008 +0100 x86 mce_64.c: make struct mcelog static This patch makes the needlessly global struct mcelog static. Signed-off-by: Adrian Bunk Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 52e3d90def24008c9b3435a1032d9a7f05766bce Author: Hiroshi Shimamoto Date: Wed Jan 30 13:30:30 2008 +0100 x86: io_apic_64.c: remove unused config check CONFIG_IRQBALANCE doesn't exist on x86_64. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 013d23e1567c4cebee0a2db5c8fa97b91b34ac2a Author: Adrian Bunk Date: Wed Jan 30 13:30:30 2008 +0100 x86 e820_64.c: make 2 functions static This patch makes the following needlessly global functions static: - e820_print_map() - early_panic() Signed-off-by: Adrian Bunk Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6b59257082e136fbbce1aa017575a451c0df0592 Author: H. Peter Anvin Date: Wed Jan 30 13:30:30 2008 +0100 x86: actually merge This actually merges into . Signed-off-by: H. Peter Anvin Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1d8a1f6b51f6b195dfdcf05821be97edede5664a Author: H. Peter Anvin Date: Wed Jan 30 13:30:30 2008 +0100 x86: prepare merger of Prepare for merging by making the 32- and 64-bit versions textually identical. This involves: - removing arbitrary header inclusion differences - reorganizing the 32-bit version slightly to match the 64-bit version - using to unify the assembly code - renaming struct paravirt_patch to struct paravirt_patch_site in the 64-bit version to match the 32-bit version; there are no references to struct paravirt_patch elsewhere in the tree. Signed-off-by: H. Peter Anvin Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2b8e05b5677d2b4f3cd218ee90a7332715cb262f Author: Paul Jimenez Date: Wed Jan 30 13:30:29 2008 +0100 x86: make i8259_64 more _32-like Howdy! Here's a simple janitorish patch for you: This patch mainly hinges around two includes and their ramifications: #include which provides cached_{slave,master}_mask #include which provides PIC_{MASTER,SLAVE}_{IMR,CMD} Adding these two includes and using those half dozen or so definitions removed 140+ lines of diffs between i8259_32.c and i8259_64.c, thus making it easier for the real substantitive differences between them to show up, and hopefully therefore making it easier to eventually merge the two. All the warnings that checkpatch.pl throws (missing spaces after commas and >80 character lines) exist intentionally to match i8259_32.c. Signed-off-by: Paul Jimenez Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f20ebee41882d28c965166e56c1331fbd28778bb Author: Thomas Gleixner Date: Wed Jan 30 13:30:29 2008 +0100 x86: move 8259 defines to i8259.h Move the i8259 defines and remove the now io_ports.h Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f0cd0af1b004f601f3cf96d9e001ffad9207f642 Author: Adrian Bunk Date: Wed Jan 30 13:30:29 2008 +0100 x86: unexport __{read,write}_lock_failed This patch removes the unused exports for __{read,write}_lock_failed. Signed-off-by: Adrian Bunk Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 99122a3fe74c4918cdc86a8d6d63b40240fa8881 Author: Dave Jones Date: Wed Jan 30 13:30:28 2008 +0100 x86: remove more bogus filenames in comments. Signed-off-by: Dave Jones Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 3abf024d2abb79614d8c4cb25a70d5596f77d0ad Author: Thomas Gleixner Date: Wed Jan 30 13:30:28 2008 +0100 x86: nuke a ton of unused exports Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit a72368dd37f6ae333fbab03598e46a995d91decc Author: Thomas Gleixner Date: Wed Jan 30 13:30:28 2008 +0100 x86: remove dead code and exports No users. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 02456c708eab4515121e5e581422fa3be14368d1 Author: Thomas Gleixner Date: Wed Jan 30 13:30:27 2008 +0100 x86: nuke a ton of dead hpet code No users, just ballast Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 16da2f93054fc379522b93afc71d49751bd8be2b Author: Thomas Gleixner Date: Wed Jan 30 13:30:27 2008 +0100 x86: smp_64.c: remove unused exports and cleanup while at it The exports are nowhere used. There is even no reason why they were ever introduced. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 081e10b96e971da2eba05ab1ecbf2c051fa119f6 Author: Thomas Gleixner Date: Wed Jan 30 13:30:27 2008 +0100 x86: clean up arch/x86/kernel/time_64.c includes Reduce the lets include all to the minimum. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 1122b134bcd6e77c5a4117952b8cbc55c8d018bc Author: Thomas Gleixner Date: Wed Jan 30 13:30:27 2008 +0100 x86: share rtc code Remove the rtc code from time_64.c and add the extra bits to the i386 path. The ACPI century check is probably valid for i386 as well, but this is material for a separate patch. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit fe599f9fbc5d470ec5b55d08f2bbb991ddecbbc8 Author: Thomas Gleixner Date: Wed Jan 30 13:30:26 2008 +0100 x86: isolate the rtc code for sharing The mach-default/mach_time.h code inline is moved to arch/x86/kernel/rtc.c and the header files are adjusted. Shrink the 3 dozen includes to the ones we really need. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6ce60b07e670e800c4c5cfe984ed5188e7a64135 Author: Thomas Gleixner Date: Wed Jan 30 13:30:26 2008 +0100 x86: unify mc146818rtc.h - prepare for sharing rtc code Unify mc146818rtc.h by adding the rtc_cmos_read/write functions to time_64.c. This is a preparatory patch to finaly share the rtc code, which is unsurprisingly similar. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4ec08da02f0fda16fbc8dfa040568facaa576790 Author: Thomas Gleixner Date: Wed Jan 30 13:30:26 2008 +0100 x86: remove the duplicated arch/x86/ia32/mmap32.c Use mmap_32.c in arch/x86/mm instead Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f8eeae682166e3b965dcdaf499932f4b63cc5b5d Author: Thomas Gleixner Date: Wed Jan 30 13:30:25 2008 +0100 x86: clean up arch/x86/mm/mmap_32/64.c White space and coding style clenaup. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit ed4aed98da8d042716d327a0b538dd8002c0a767 Author: Thomas Gleixner Date: Wed Jan 30 13:30:24 2008 +0100 x86: clean up arch/x86/kernel/vsmp_64.c White space and coding style clenaup. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 9a211abeaab74e2634669a64ebd82fac5d94d276 Author: Thomas Gleixner Date: Wed Jan 30 13:30:24 2008 +0100 x86: clean up ioport_32.c Remove unused variables, rename the "unused" argument to regp. It is used ! Codingstyle fixes. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f2f58178f497ca56501d44d79982621e19c5007f Author: Thomas Gleixner Date: Wed Jan 30 13:30:23 2008 +0100 x86: simplify set_bitmap in ioport_32.c Simplify set_bitmap(). This is not in a hotpath and we really can use the straight forward loop through those bits. A similar implementation is used in the 64 bit code as well. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 3ebc51d7c95425c3b4667fa042576fb1c6e2ea16 Author: Thomas Gleixner Date: Wed Jan 30 13:30:21 2008 +0100 x86: merge include/asm-x86/scatterlist.h Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit f28b8d608829aecd7343015a0df89f6b6e89d391 Author: Thomas Gleixner Date: Wed Jan 30 13:30:20 2008 +0100 x86: merge include/asm-x86/dma.h Almost identical. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2f18e47c89f1a29cc815cd225b72dd7fd86acffe Author: Thomas Gleixner Date: Wed Jan 30 13:30:20 2008 +0100 x86: merge futex_32/64.h Finally merge them together. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2f2239d1d53b06dd475634f79e1905f3775fcedc Author: Thomas Gleixner Date: Wed Jan 30 13:30:20 2008 +0100 x86: prepare merging futex_32/64.h Replace .quad/.long with a define and use the same asm syntax for i386 and x86. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 0e078e2f5060e06f9b3f32e55665ea835343440e Author: Thomas Gleixner Date: Wed Jan 30 13:30:20 2008 +0100 x86: prepare merging arch/x86/kernel/apic_32/64.c Shuffle code around, so we get a readable diff. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 3a12d93dc0b46bc710317272bf91640d7a8b6f18 Author: Thomas Gleixner Date: Wed Jan 30 13:30:20 2008 +0100 x86: make smp_local_timer_interrupt() static Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 87ebecf14ca4f669cb52be46c954f3d9201394b8 Author: Thomas Gleixner Date: Wed Jan 30 13:30:19 2008 +0100 x86: move ack_bad_irq into irq code Match i386, where we have this in the irq code. It belongs there. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 3e35a0e525253837fc0ea4d0e060de3302bd9537 Author: Thomas Gleixner Date: Wed Jan 30 13:30:19 2008 +0100 x86: move ioapic code where it belongs The commit 399287229c775a8962a852a761d65dc9475dec7c hacked the ioapic resource mapping into apic.c for no good reason. Move the code into io_apic_64.c where it belongs. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 84c873ed2a00eab3e8ac49dc7889d7aad142ce22 Author: Thomas Gleixner Date: Wed Jan 30 13:30:19 2008 +0100 x86: remove obsolte declarations from proto.h Nuke duplicate and obsolete crap from this ugly dump bin. There are still some entries left which need to be sorted out, but I'm tired of that puzzle game right now. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit eaf76e8b93dd5e7a53e2cd6db53f3ca18ca0fe4c Author: Thomas Gleixner Date: Wed Jan 30 13:30:19 2008 +0100 x86: remove duplicate start_kernel declaration start_kernel is already declared in a generic header file. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6fc30f9e292d2275248b6ee5ca903248b66efca1 Author: Thomas Gleixner Date: Wed Jan 30 13:30:18 2008 +0100 x86: remove obsolete nohpet declaration Lonely user is hpet.c, so no need to declare it elsewhere. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 70a20025632ca320316b5068326784d07c8ff351 Author: Thomas Gleixner Date: Wed Jan 30 13:30:18 2008 +0100 x86: move pmtmr related declarations Move more stuff out of proto.h Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 80ca9c98f50c11b63b87971594d7e38cba0bbcef Author: Thomas Gleixner Date: Wed Jan 30 13:30:18 2008 +0100 x86: move tsc related declarations tsc has also it's own header file. Nuke the stupid 64 bit ifdef while at it. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 40fec50ac4dd436b06630f415789e57200c5b06f Author: Thomas Gleixner Date: Wed Jan 30 13:30:18 2008 +0100 x86: move pda related declaration pda has its own header file as well. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit a89518b882283fdb3e11fb6d1929dc874b380ca8 Author: Thomas Gleixner Date: Wed Jan 30 13:30:17 2008 +0100 x86: move page related declaration end_pfn is in page.h, so end_pfn_map has a place there as well Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit aaa64e04f9af8c05a10ab3d67df44154742d15cf Author: Thomas Gleixner Date: Wed Jan 30 13:30:17 2008 +0100 x86: move numa related declarations More stuff shuffeled to the correct place Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit af7a78e9258ffcca681e080cbc857f854869144f Author: Thomas Gleixner Date: Wed Jan 30 13:30:17 2008 +0100 x86: move mce related declarations Move the mce related declarations where they belong, fix the users and remove 32bit dependency in mce.h Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 718fc13b4675470ea191522ef98b02a55d990fa1 Author: Thomas Gleixner Date: Wed Jan 30 13:30:17 2008 +0100 x86: move debug related declarations to kdebug.h Move them and fixup some users. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c9ff03428f24219b927d9d9d3c0c581622967794 Author: Thomas Gleixner Date: Wed Jan 30 13:30:16 2008 +0100 x86: move k8 related declarations Move k8 related declarations to k8.h and fix numa_64.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit fc36367211931cd503f050e4ceff5d9864cec817 Author: Thomas Gleixner Date: Wed Jan 30 13:30:16 2008 +0100 x86: move idle related declarations Move idle related declarations to processor_64.h, where the the others are as well. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 8c61b900ebb8ec5918ffd776ba1a61a5f022566d Author: Thomas Gleixner Date: Wed Jan 30 13:30:16 2008 +0100 x86: make early_indentify_cpu static early_indentify_cpu is only used in setup_64.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 376ff0352c24a5fa47f1250dd60937b5a9077672 Author: Thomas Gleixner Date: Wed Jan 30 13:30:16 2008 +0100 x86: move acpi and pci declarations Move acpi/pci related declarations to the correct headers and remove the duplicate. Build fix from: Andrew Morton Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 63fefb7d5bac6e65b5df2b7eb4aa56bb4bbadd48 Author: Thomas Gleixner Date: Wed Jan 30 13:30:15 2008 +0100 x86: remove duplicated declarations Remove declarations which are made already in the appropriate header file. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 67c5fc5c330f63360e26609534b219df1aaa03ca Author: Thomas Gleixner Date: Wed Jan 30 13:30:15 2008 +0100 x86: merge apic_32/64.h Unify apic.h variants. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 42e0a9aa5d467188687c6b705412578e53c14af6 Author: Thomas Gleixner Date: Wed Jan 30 13:30:15 2008 +0100 x86: use u32 for some lapic functions Use u32 so 32 and 64bit have the same interface. Andrew Morton: xen, lguest build fixes Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 3c6bb07ac1b4174318606a26f0de8ceb9f6d8133 Author: Thomas Gleixner Date: Wed Jan 30 13:30:15 2008 +0100 x86: use u32 for safe_apic_wait_icr_idle() Preperatory patch for merging apic headers. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 37e650c7c8a27de533d409b53c29f4135dcc7af6 Author: Thomas Gleixner Date: Wed Jan 30 13:30:14 2008 +0100 x86: rename get_maxlvt to lapic_get_maxlvt Use the same name for the 32 and 64 bit variant. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit cff90dbfe41f2c8eabe2d0a7e379829f4a9980af Author: Thomas Gleixner Date: Wed Jan 30 13:30:14 2008 +0100 x86: prepare unification of include/asm-x86/apic_32/64.h White space and coding style clenaup. Move the K8 local apic defines to apicdef.h, where they belong Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2d539553c96771bc8f77156f27500d35e1fe114c Author: Thomas Gleixner Date: Wed Jan 30 13:30:14 2008 +0100 x86: unify include/asm-x86/apicdef_32/64.h Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 77e463d1040d6310211ac5162729f5d4afc4dd8c Author: Thomas Gleixner Date: Wed Jan 30 13:30:14 2008 +0100 x86: merge arch/x86/kernel/ldt_32/64.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 70f5088dd5e9fbd3a71b3a5b01395c676158194b Author: Thomas Gleixner Date: Wed Jan 30 13:30:13 2008 +0100 x86: prepare arch/x86/kernel/ldt_32/64.c for merging White space and coding style cleanups. Change unsigned to int. There is no win when we compare mincount against pc->size, which is an int as well. Casting pc->size to unsigned just might hide real problems. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit fc2d625c4fac18e672a3b7c61af5de22d7ab7d87 Author: Thomas Gleixner Date: Wed Jan 30 13:30:13 2008 +0100 x86: introduce ldt_write accessor Create a ldt write accessor like the 32 bit one. Preparatory patch for merging ldt.c and anyway necessary for 64bit paravirt ops. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4edc8f5454814201d2fb222354284365b4f0537c Author: Thomas Gleixner Date: Wed Jan 30 13:30:13 2008 +0100 x86: clean up include/asm-x86/desc_64.h White space and coding style clenaup. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 78aa1f66f77da078357bd263fcac95fbf6bca15b Author: Thomas Gleixner Date: Wed Jan 30 13:30:13 2008 +0100 x86: clean up arch/x86/kernel/ldt_32/64.c White space and coding style clenaup. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2f36fa13ce49ffd000249feaedfcbefbcc83a72f Author: Thomas Gleixner Date: Wed Jan 30 13:30:12 2008 +0100 x86: clean up arch/x86/kernel/e820_64.c White space and coding style cleanup. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 05fccb0e3840248324a96b320562210410be73dc Author: Ingo Molnar Date: Wed Jan 30 13:30:12 2008 +0100 x86: code cleanups in arch/x86/kernel/pci-gart_64.c code cleanups: errors lines of code errors/KLOC arch/x86/kernel/pci-gart_64.c 183 748 244.6 arch/x86/kernel/pci-gart_64.c 0 790 0 Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e8d591dc710158bae6b53c8b7a0172351025c6e2 Author: Ingo Molnar Date: Wed Jan 30 13:30:12 2008 +0100 x86: lindent arch/i386/math-emu, cleanup manually clean up some of the damage that lindent caused. (this is a separate commit so that in the unlikely case of a typo we can bisect it down to the manual edits.) Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3d0d14f983b55a570b976976284df4c434af3223 Author: Ingo Molnar Date: Wed Jan 30 13:30:11 2008 +0100 x86: lindent arch/i386/math-emu lindent these files: errors lines of code errors/KLOC arch/x86/math-emu/ 2236 9424 237.2 arch/x86/math-emu/ 128 8706 14.7 no other changes. No code changed: text data bss dec hex filename 5589802 612739 3833856 10036397 9924ad vmlinux.before 5589802 612739 3833856 10036397 9924ad vmlinux.after the intent of this patch is to ease the automated tracking of kernel code quality - it's just much easier for us to maintain it if every file in arch/x86 is supposed to be clean. NOTE: it is a known problem of lindent that it causes some style damage of its own, but it's a safe tool (well, except for the gcc array range initializers extension), so we did the bulk of the changes via lindent, and did the manual fixups in a followup patch. the resulting math-emu code has been tested by Thomas Gleixner on a real 386 DX CPU as well, and it works fine. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a4ec1effce83796209a0258602b0cf50026d86f2 Author: Ingo Molnar Date: Wed Jan 30 13:30:10 2008 +0100 x86: mach-voyager, lindent lindent the mach-voyager files to get rid of more than 300 style errors: errors lines of code errors/KLOC arch/x86/mach-voyager/ [old] 409 3729 109.6 arch/x86/mach-voyager/ [new] 71 3678 19.3 Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 31183ba8fd05b6ddc67ab4d726167cbc52e1b346 Author: Ingo Molnar Date: Wed Jan 30 13:30:10 2008 +0100 x86: clean up arch/x86/kernel/aperture_64.c printk()s clean up arch/x86/kernel/aperture_64.c printk()s. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c140df973c07ac328aafd19d4f4c413f2f8902df Author: Ingo Molnar Date: Wed Jan 30 13:30:09 2008 +0100 x86: clean up arch/x86/kernel/aperture_64.c whitespace cleanup. No code changed: text data bss dec hex filename 2080 76 4 2160 870 aperture_64.o.before 2080 76 4 2160 870 aperture_64.o.after errors lines of code errors/KLOC arch/x86/kernel/aperture_64.c 114 299 381.2 arch/x86/kernel/aperture_64.c 0 315 0 Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5bafb671e20d2a3721589378681326197fc37a5f Author: Thomas Gleixner Date: Wed Jan 30 13:30:09 2008 +0100 x86: clean up arch/x86/ia32/mmap32.c White space and coding style clenaup. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6ec875666d826dc6ea228afc9f6b644165081ab5 Author: Thomas Gleixner Date: Wed Jan 30 13:30:08 2008 +0100 x86: clean up arch/x86/ia32/syscall32.c White space and coding style clenaup. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c202f298de59c17c0a9799dc0e1b9e0629347935 Author: Thomas Gleixner Date: Wed Jan 30 13:30:08 2008 +0100 x86: clean up arch/x86/ia32/sys_ia32.c White space and coding style clenaup. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5de15d42e4326b11ff9f3e733343fe7d4ece700b Author: Thomas Gleixner Date: Wed Jan 30 13:30:08 2008 +0100 x86: clean up arch/x86/ia32/ptrace32.c White space and coding style clenaup. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 2da06b4e5da96fff4f07cc35af1db407e1e21aa7 Author: Thomas Gleixner Date: Wed Jan 30 13:30:08 2008 +0100 x86: clean up arch/x86/ia32/ipc32.c White space and coding style cleanup. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 99b9cdf758af7004a716cf304dd5cd41af7db227 Author: Thomas Gleixner Date: Wed Jan 30 13:30:07 2008 +0100 x86: clean up arch/x86/ia32/ia32_signal.c White space and coding style clenaup. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 8edf8bee889a3d13ae2db0f7992821fb5dc78bfa Author: Thomas Gleixner Date: Wed Jan 30 13:30:07 2008 +0100 x86: clean up arch/x86/ia32/aout32.c White space and coding style clenaup. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit d94448b1fdc91ee1d235607f6bbe595464e4fbb9 Author: Thomas Gleixner Date: Wed Jan 30 13:30:07 2008 +0100 x86: clean up arch/x86/ia32/fpu32.c White space and coding style clenaup. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 7b11fb51567dedeaf6dc03f0135c0a8bb2399818 Author: H. Peter Anvin Date: Wed Jan 30 13:30:07 2008 +0100 x86: unify asm/cpufeature.h asm/cpufeature.h was already almost unified; this completes the job. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e845c06bced7f5f325e0f9aefd3207cd45c21ff2 Author: H. Peter Anvin Date: Wed Jan 30 13:30:06 2008 +0100 x86: add Create , with common definitions suitable for assembly unification. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 39d44a51474a52bec6d72d30ebc76f5159101d90 Author: Hiroshi Shimamoto Date: Wed Jan 30 13:30:06 2008 +0100 x86: enable irq in default_idle on 64-bit local_irq_enable() is missing after sched_clock_idle_wakeup_event(). Signed-off-by: Hiroshi Shimamoto Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5ee613b6751cd91db4b6bd7c1dc9d2f9cf65cde2 Author: Ingo Molnar Date: Wed Jan 30 13:30:06 2008 +0100 x86: idle wakeup event in the HLT loop do a proper idle-wakeup event on HLT as well - some CPUs stop the TSC in HLT too, not just when going through the ACPI methods. (the ACPI idle code already does this.) [ update the 64-bit side too, as noticed by Jiri Slaby. ] Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 53d517cdbaac704352b3d0c10fecb99e0b54572e Author: Guillaume Chazarain Date: Wed Jan 30 13:30:06 2008 +0100 x86: scale cyc_2_nsec according to CPU frequency scale the sched_clock() cyc_2_nsec scaling factor according to CPU frequency changes. [ mingo@elte.hu: simplified it and fixed it for SMP. ] Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 83bd01024b1fdfc41d9b758e5669e80fca72df66 Author: Roland McGrath Date: Wed Jan 30 13:30:06 2008 +0100 x86: protect against sigaltstack wraparound cf http://lkml.org/lkml/2007/10/3/41 To summarize: on Linux, SA_ONSTACK decides whether you are already on the signal stack based on the value of the SP at the time of a signal. If you are not already inside the range, you are not "on the signal stack" and so the new signal handler frame starts over at the base of the signal stack. sigaltstack (and sigstack before it) was invented in BSD. There, the SA_ONSTACK behavior has always been different. It uses a kernel state flag to decide, rather than the SP value. When you first take an SA_ONSTACK signal and switch to the alternate signal stack, it sets the SS_ONSTACK flag in the thread's sigaltstack state in the kernel. Thereafter you are "on the signal stack" and don't switch SP before pushing a handler frame no matter what the SP value is. Only when you sigreturn from the original handler context do you clear the SS_ONSTACK flag so that a new handler frame will start over at the base of the alternate signal stack. The undesireable effect of the Linux behavior is that an overflow of the alternate signal stack can not only go undetected, but lead to a ring buffer effect of clobbering the original handler frame at the base of the signal stack for each successive signal that comes just after the overflow. This is what Shi Weihua's test case demonstrates. Normally this does not come up because of the signal mask, but the test case uses SA_NODEFER for its SIGSEGV handler. The other subtle part of the existing Linux semantics is that a simple longjmp out of a signal handler serves to take you off the signal stack in a safe and reliable fashion without having used sigreturn (nor having just returned from the handler normally, which means the same). After the longjmp (or even informal stack switching not via any proper libc or kernel interface), the alternate signal stack stands ready to be used again. A paranoid program would allocate a PROT_NONE red zone around its alternate signal stack. Then a small overflow would trigger a SIGSEGV in handler setup, and be fatal (core dump) whether or not SIGSEGV is blocked. As with thread stack red zones, that cannot catch all overflows (or underflows). e.g., a local array as large as page size allocated in a function called from a handler, but not actually touched before more calls push more stack, could cause an overflow that silently pushes into some unrelated allocated pages. The BSD behavior does not do anything in particular about overflow. But it does at least avoid the wraparound or "ring buffer effect", so you'll just get a straightforward all-out overflow down your address space past the low end of the alternate signal stack. I don't know what the BSD behavior is for longjmp out of an SA_ONSTACK handler. The POSIX wording relating to sigaltstack is pretty minimal. I don't think it speaks to this issue one way or another. (The program that overflows its stack is clearly in undefined behavior territory of one sort or another anyhow.) Given the longjmp issue and the potential for highly subtle complications in existing programs relying on this in arcane ways deep in their code, I am very dubious about changing the behavior to the BSD style persistent flag. I think Shi Weihua's patches have a similar effect by tracking the SP used in the last handler setup. I think it would be sensible for the signal handler setup code to detect when it would itself be causing a stack overflow. Maybe something like the following patch (untested). This issue exists in the same way on all machines, so ideally they would all do a similar check. When it's the handler function itself or its callees that cause the overflow, rather than the signal handler frame setup alone crossing the boundary, this still won't help. But I don't see any way to distinguish that from the valid longjmp case. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f9fc58910ebc448b0b7d37af1bf57a896a78e9c4 Author: Ingo Molnar Date: Wed Jan 30 13:30:05 2008 +0100 x86: add DMI quirk for io-delay hangs on Compaq Presario V6000 laptops add the DMI strings provided by Islam Amer , for the Compaq Presario V6000 (Quanta/30B7). Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d0049e71c6e14a3b0a5b8cedaa1325a1a91fecb0 Author: Ingo Molnar Date: Wed Jan 30 13:30:05 2008 +0100 x86: make io_delay=0xed the default make io_delay=0xed the default. This frees up port 0x80 which is a debug port on some machines and locks up certain laptops. Testing only for now. Try the io_delay=0x80 boot option if this does not work for you. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6e7c402590b75b6b45138792445ee0f0315a8473 Author: Ingo Molnar Date: Wed Jan 30 13:30:05 2008 +0100 x86: various changes and cleanups to in_p/out_p delay details various changes to the in_p/out_p delay details: - add the io_delay=none method - make each method selectable from the kernel config - simplify the delay code a bit by getting rid of an indirect function call - add the /proc/sys/kernel/io_delay_type sysctl - change 'io_delay=standard|alternate' to io_delay=0x80 and io_delay=0xed - make the io delay config not depend on CONFIG_DEBUG_KERNEL Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Tested-by: "David P. Reed" commit b02aae9cf52956dfe1bec73f77f81a3d05d3902b Author: Rene Herman Date: Wed Jan 30 13:30:05 2008 +0100 x86: provide a DMI based port 0x80 I/O delay override. x86: provide a DMI based port 0x80 I/O delay override. Certain (HP) laptops experience trouble from our port 0x80 I/O delay writes. This patch provides for a DMI based switch to the "alternate diagnostic port" 0xed (as used by some BIOSes as well) for these. David P. Reed confirmed that port 0xed works for him and provides a proper delay. The symptoms of _not_ working are a hanging machine, with "hwclock" use being a direct trigger. Earlier versions of this attempted to simply use udelay(2), with the 2 being a value tested to be a nicely conservative upper-bound with help from many on the linux-kernel mailinglist but that approach has two problems. First, pre-loops_per_jiffy calibration (which is post PIT init while some implementations of the PIT are actually one of the historically problematic devices that need the delay) udelay() isn't particularly well-defined. We could initialise loops_per_jiffy conservatively (and based on CPU family so as to not unduly delay old machines) which would sort of work, but... Second, delaying isn't the only effect that a write to port 0x80 has. It's also a PCI posting barrier which some devices may be explicitly or implicitly relying on. Alan Cox did a survey and found evidence that additionally some drivers may be racy on SMP without the bus locking outb. Switching to an inb() makes the timing too unpredictable and as such, this DMI based switch should be the safest approach for now. Any more invasive changes should get more rigid testing first. It's moreover only very few machines with the problem and a DMI based hack seems to fit that situation. This also introduces a command-line parameter "io_delay" to override the DMI based choice again: io_delay= where "standard" means using the standard port 0x80 and "alternate" port 0xed. This retains the udelay method as a config (CONFIG_UDELAY_IO_DELAY) and command-line ("io_delay=udelay") choice for testing purposes as well. This does not change the io_delay() in the boot code which is using the same port 0x80 I/O delay but those do not appear to be a problem as David P. Reed reported the problem was already gone after using the udelay version. He moreover reported that booting with "acpi=off" also fixed things and seeing as how ACPI isn't touched until after this DMI based I/O port switch I believe it's safe to leave the ones in the boot code be. The DMI strings from David's HP Pavilion dv9000z are in there already and we need to get/verify the DMI info from other machines with the problem, notably the HP Pavilion dv6000z. This patch is partly based on earlier patches from Pavel Machek and David P. Reed. Signed-off-by: Rene Herman Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4c6b8b4d62fb4cb843c32db71e0a8301039908f3 Author: Mike Galbraith Date: Wed Jan 30 13:30:04 2008 +0100 x86: fix: s2ram + P4 + tsc = annoyance s2ram recently became useful here, except for the kernel's annoying habit of disabling my P4's perfectly good TSC. [ 107.894470] CPU 1 is now offline [ 107.894474] SMP alternatives: switching to UP code [ 107.895832] CPU0 attaching sched-domain: [ 107.895836] domain 0: span 1 [ 107.895838] groups: 1 [ 107.896097] CPU1 is down [ 3.726156] Intel machine check architecture supported. [ 3.726165] Intel machine check reporting enabled on CPU#0. [ 3.726167] CPU0: Intel P4/Xeon Extended MCE MSRs (12) available [ 3.726170] CPU0: Thermal monitoring enabled [ 3.726175] Back to C! [ 3.726708] Force enabled HPET at resume [ 3.726775] Enabling non-boot CPUs ... [ 3.727049] CPU0 attaching NULL sched-domain. [ 3.727165] SMP alternatives: switching to SMP code [ 3.727858] Booting processor 1/1 eip 3000 [ 3.727862] CPU 1 irqstacks, hard=b042f000 soft=b042d000 [ 3.738173] Initializing CPU#1 [ 3.798912] Calibrating delay using timer specific routine.. 5986.12 BogoMIPS (lpj=2993061) [ 3.798920] CPU: After generic identify, caps: bfebfbff 00000000 00000000 00000000 00004400 00000000 00000000 00000000 [ 3.798931] CPU: Trace cache: 12K uops, L1 D cache: 8K [ 3.798934] CPU: L2 cache: 512K [ 3.798936] CPU: Physical Processor ID: 0 [ 3.798938] CPU: After all inits, caps: bfebfbff 00000000 00000000 0000b080 00004400 00000000 00000000 00000000 [ 3.798946] Intel machine check architecture supported. [ 3.798952] Intel machine check reporting enabled on CPU#1. [ 3.798955] CPU1: Intel P4/Xeon Extended MCE MSRs (12) available [ 3.798959] CPU1: Thermal monitoring enabled [ 3.799161] CPU1: Intel(R) Pentium(R) 4 CPU 3.00GHz stepping 09 [ 3.799187] checking TSC synchronization [CPU#0 -> CPU#1]: [ 3.819181] Measured 63588552840 cycles TSC warp between CPUs, turning off TSC clock. [ 3.819184] Marking TSC unstable due to: check_tsc_sync_source failed. If check_tsc_warp() is called after initial boot, and the TSC has in the meantime been set (BIOS, user, silicon, elves) to a value lower than the last stored/stale value, we blame the TSC. Reset to pristine condition after every test. Signed-off-by: Mike Galbraith Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5c9c9bec0589be696c70c5efb448b17d5ab720e2 Author: Rafael J. Wysocki Date: Wed Jan 30 13:30:04 2008 +0100 x86: hibernation: document __save_processor_state() on x86 Document the fact that __save_processor_state() has to save all CPU registers referred to by the kernel in case a different kernel is used to load and restore a hibernation image containing it. Sigend-off-by: Rafael J. Wysocki Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9484b1eb4d05957d3114dc63026448eb66106c06 Author: Sam Ravnborg Date: Wed Jan 30 13:30:04 2008 +0100 x86: fix make mrproper Michael Opdenacker reported: For backward compatibility with earlier (< 2.6.24) kernels, arch/i386/boot/bzImage or arch/x86_64/boot/bzImage symbolic links to arch/x86/boot/bzImage are created when you build an x86 kernel. The arch/i386 or arch/x86_64 directories are then created for this only purpose. Issue: these generated directories and symbolic links are *not cleaned up* when you run "make mrproper" (and thus "make distclean"). This disturbs the production of patches, because the source tree is left with generated files and directories. Sam has an alternative fix: The directory is killed during make clean as opposed to make mrproper. Reported-by: Michael Opdenacker Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6378ddb592158db4b42197f1bc8666228800e379 Author: Venki Pallipadi Date: Wed Jan 30 13:30:04 2008 +0100 time: track accurate idle time with tick_sched.idle_sleeptime Current idle time in kstat is based on jiffies and is coarse grained. tick_sched.idle_sleeptime is making some attempt to keep track of idle time in a fine grained manner. But, it is not handling the time spent in interrupts fully. Make tick_sched.idle_sleeptime accurate with respect to time spent on handling interrupts and also add tick_sched.idle_lastupdate, which keeps track of last time when idle_sleeptime was updated. This statistics will be crucial for cpufreq-ondemand governor, which can shed some conservative gaurd band that is uses today while setting the frequency. The ondemand changes that uses the exact idle time is coming soon. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bbe4d18ac2e058c56adb0cd71f49d9ed3216a405 Author: john stultz Date: Wed Jan 30 13:30:03 2008 +0100 NTP: correct inconsistent ntp interval/tick_length usage I recently noticed on one of my boxes that when synched with an NTP server, the drift value reported for the system was ~283ppm. While in some cases, clock hardware can be that bad, it struck me as unusual as the system was using the acpi_pm clocksource, which is one of the more trustworthy and accurate clocksources on x86 hardware. I brought up another system and let it sync to the same NTP server, and I noticed a similar 280some ppm drift. In looking at the code, I found that the acpi_pm's constant frequency was being computed correctly at boot-up, however once the system was up, even without the ntp daemon running, the clocksource's frequency was being modified by the clocksource_adjust() function. Digging deeper, I realized that in the code that keeps track of how much the clocksource is skewing from the ntp desired time, we were using different lengths to establish how long an time interval was. The clocksource was being setup with the following interval: NTP_INTERVAL_LENGTH = NSEC_PER_SEC/NTP_INTERVAL_FREQ While the ntp code was using the tick_length_base value: tick_length_base ~= (tick_usec * NSEC_PER_USEC * USER_HZ) /NTP_INTERVAL_FREQ The subtle difference is: (tick_usec * NSEC_PER_USEC * USER_HZ) != NSEC_PER_SEC This difference in calculation was causing the clocksource correction code to apply a correction factor to the clocksource so the two intervals were the same, however this results in the actual frequency of the clocksource to be made incorrect. I believe this difference would affect all clocksources, although to differing degrees depending on the clocksource resolution. The issue was introduced when my HZ free ntp patch landed in 2.6.21-rc1, so my apologies for the mistake, and for not noticing it until now. The following patch, corrects the clocksource's initialization code so it uses the same interval length as the code in ntp.c. After applying this patch, the drift value for the same system went from ~283ppm to only 2.635ppm. I believe this patch to be good, however it does affect all arches and I've only tested on x86, so some caution is advised. I do think it would be a likely candidate for a stable 2.6.24.x release. Any thoughts or feedback would be appreciated. Signed-off-by: John Stultz Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 37a47db8d7f0f38dac5acf5a13abbc8f401707fa Author: Balaji Rao Date: Wed Jan 30 13:30:03 2008 +0100 x86: assign IRQs to HPET timers, fix Looks like IRQ 31 is assigned to timer 3, even without the patch! I wonder who wrote the number 31. But the manual says that it is zero by default. I think we should check whether the timer has been allocated an IRQ before proceeding to assign one to it. Here is a patch that does this. Signed-off-by: Balaji Rao Tested-by: Yinghai Lu Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e3f37a54f690d3e64995ea7ecea08c5ab3070faf Author: Balaji Rao Date: Wed Jan 30 13:30:03 2008 +0100 x86: assign IRQs to HPET timers The userspace API for the HPET (see Documentation/hpet.txt) did not work. The HPET_IE_ON ioctl was failing as there was no IRQ assigned to the timer device. This patch fixes it by allocating IRQs to timer blocks in the HPET. arch/x86/kernel/hpet.c | 13 +++++-------- drivers/char/hpet.c | 45 ++++++++++++++++++++++++++++++++++++++------- include/linux/hpet.h | 2 +- 3 files changed, 44 insertions(+), 16 deletions(-) Signed-off-by: Balaji Rao Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 45fe4fe19120a22f7339f5bb110447170c25fca9 Author: Ingo Molnar Date: Wed Jan 30 13:30:03 2008 +0100 x86: make clockevents more robust detect zero event-device multiplicators - they then cause division-by-zero crashes if a clockevent has been initialized incorrectly. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1a0c009ac53de4a7664a1239936f0bc258133156 Author: Thomas Gleixner Date: Wed Jan 30 13:30:03 2008 +0100 x86: unregister PIT clocksource when PIT is disabled The following scenario might leave PIT as a disfunctional clock source: PIT is registered as clocksource PM_TIMER is registered as clocksource and enables highres/dyntick mode PIT is switched to oneshot mode -> now the readout of PIT is bogus, but the user might select PIT via the sysfs override, which would break the box as the time readout is unusable. Unregister the PIT clocksource when the PIT clock event device is switched into shutdown / oneshot mode. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 4713e22ce81eb8b3353e16435362eb3d0ec95640 Author: Thomas Gleixner Date: Wed Jan 30 13:30:02 2008 +0100 clocksource: add unregister function to disable unusable clocksources On x86 the PIT might become an unusable clocksource. Add an unregister function to provide a possibilty to remove the PIT from the list of available clock sources. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 316da3b3fc8efa9a5d2c99e0d449f01ff38c6aba Author: Thomas Gleixner Date: Wed Jan 30 13:30:02 2008 +0100 x86: restrict PIT clocksource usage PIT clocksource is registered unconditionally even when HPET is enabled or when PIT is replaced by the local APIC timer. In both cases PIT can not be used as it is stopped and the readout would be stale. Prevent registering PIT in those cases. patch depends on: x86: offer is_hpet_enabled() on !CONFIG_HPET_TIMER too Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit df619e6bafeb8e129aba3173d384544d7fa6e3c2 Author: Ingo Molnar Date: Wed Jan 30 13:30:02 2008 +0100 x86: offer is_hpet_enabled() on !CONFIG_HPET_TIMER too offer is_hpet_enabled() on !CONFIG_HPET_TIMER too. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1ada5cba6a0318f90e45b38557e7b5206a9cba38 Author: Andi Kleen Date: Wed Jan 30 13:30:02 2008 +0100 clocksource: make clocksource watchdog cycle through online CPUs This way it checks if the clocks are synchronized between CPUs too. This might be able to detect slowly drifting TSCs which only go wrong over longer time. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1077f5a917b7c630231037826b344b2f7f5b903f Author: Parag Warudkar Date: Wed Jan 30 13:30:01 2008 +0100 clocksource.c: use init_timer_deferrable for clocksource_watchdog clocksource_watchdog can use a deferrable timer - reduces wakeups from idle per second. Signed-off-by: Parag Warudkar Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit efd9ac8630e89b9ee7ce64008bd7783952374f37 Author: Geert Uytterhoeven Date: Wed Jan 30 13:30:01 2008 +0100 time: fold __get_realtime_clock_ts() into getnstimeofday() - getnstimeofday() was just a wrapper around __get_realtime_clock_ts() - Replace calls to __get_realtime_clock_ts() by calls to getnstimeofday() - Fix bogus reference to get_realtime_clock_ts(), which never existed Signed-off-by: Geert Uytterhoeven Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1d76c2622813fbc692b0d323028cfef9ee36051a Author: Atsushi Nemoto Date: Wed Jan 30 13:30:01 2008 +0100 clocksource: make CLOCKSOURCE_MASK bullet-proof Signed-off-by: Atsushi Nemoto Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 186e3cb8a465bac010ee3b020768d2fa2b505aef Author: Thomas Gleixner Date: Wed Jan 30 13:30:01 2008 +0100 timer: clean up tick-broadcast.c clean up tick-broadcast.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b10db7f0d2b589a7f88dc3026e150756cb437a28 Author: Pavel Machek Date: Wed Jan 30 13:30:00 2008 +0100 time: more timer related cleanups I was confused by FSEC = 10^15 NSEC statement, plus small whitespace fixes. When there's copyright, there should be GPL. Signed-off-by: Pavel Machek Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4c9dc6412247abf4972080c51cd16a58c4009c19 Author: Pavel Machek Date: Wed Jan 30 13:30:00 2008 +0100 time: timer cleanups Small cleanups to tick-related code. Wrong preempt count is followed by BUG(), so it is hardly KERN_WARNING. Signed-off-by: Pavel Machek Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a6fa8e5a6172a5a5bc06ed04f34e50b36c978127 Author: Pavel Machek Date: Wed Jan 30 13:30:00 2008 +0100 time: clean hungarian notation from timers Clean up hungarian notation from timer code. Signed-off-by: Pavel Machek Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 213eca7f4888e9817e8076cdab6b9f7295c181f6 Author: Greg KH Date: Wed Jan 30 13:29:58 2008 +0100 kobj: fix threshold_init_device/kobject_uevent_env oops the logic in this function is just crazy. It's recursive, but we can circumvent the creation for the kobject and whole creation of the threshold_block if some conditions are met. That's why we see the allocate_threshold_blocks so many times in the callstack, yet only a few kobjects created. Then we blow up in kobject_uevent_env() on the first debug printk. Which means that we are just passing in garbage. Man, this is one time that comments in code would have been very nice to have, and why forward goto's into major code blocks are just evil... Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 84f12e39c856a8b1ab407f8216ecebaf4204b94d Author: Glauber de Oliveira Costa Date: Fri Jan 18 23:59:08 2008 -0200 lguest: use __PAGE_KERNEL instead of _PAGE_KERNEL x86_64 don't expose the intermediate representation with one underline, _PAGE_KERNEL, just the double-underlined one. Use it, to get a common ground between 32 and 64-bit Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Rusty Russell commit ca94f2bdd1be626361fcfbd474d6b8823ed39f74 Author: Glauber de Oliveira Costa Date: Fri Jan 18 23:59:07 2008 -0200 lguest: Use explicit includes rateher than indirect explicitly use ktime.h include explicitly use hrtimer.h include explicitly use sched.h include This patch adds headers explicitly to lguest sources file, to avoid depending on them being included somewhere else. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Rusty Russell commit 382ac6b3fbc0ea6a5697fc6caaf7e7de12fa8b96 Author: Glauber de Oliveira Costa Date: Thu Jan 17 19:19:42 2008 -0200 lguest: get rid of lg variable assignments We can save some lines of code by getting rid of *lg = cpu... lines of code spread everywhere by now. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Rusty Russell commit 934faab464c6a26ed1a226b6cf7111b35405dde1 Author: Glauber de Oliveira Costa Date: Thu Jan 17 19:18:08 2008 -0200 lguest: change gpte_addr header gpte_addr() does not depend on any guest information. So we wipe out the lg parameter from it completely. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Rusty Russell commit ae3749dcd8c31dcfbab14ea28c68a944c93f418f Author: Glauber de Oliveira Costa Date: Thu Jan 17 19:14:46 2008 -0200 lguest: move changed bitmap to lg_cpu events represented in the 'changed' bitmap are per-cpu, not per-guest. move it to the lg_cpu structure Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Rusty Russell commit f34f8c5fea079065671163c37d98328cff31980b Author: Glauber de Oliveira Costa Date: Thu Jan 17 19:13:26 2008 -0200 lguest: move last_pages to lg_cpu in our new model, pages are assigned to a virtual cpu, not to a guest. We move it to the lg_cpu structure. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Rusty Russell commit c40a9f4719d36841a2d7ff4fe866dce7bfb454b7 Author: Glauber de Oliveira Costa Date: Thu Jan 17 19:11:20 2008 -0200 lguest: change last_guest to last_cpu in our model, a guest does not run in a cpu anymore: a virtual cpu does. So we change last_guest to last_cpu Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Rusty Russell commit 2092aa277b0adfb8f4f47ab8a9ee00aff0ca7ed6 Author: Glauber de Oliveira Costa Date: Thu Jan 17 19:09:49 2008 -0200 lguest: change spte_addr header spte_addr does not depend on any guest information, so we wipe out the lg parameter completely. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Rusty Russell commit 1713608f280002d9ffc6de89d7de5cf367072d63 Author: Glauber de Oliveira Costa Date: Mon Jan 7 11:05:37 2008 -0200 lguest: per-vcpu lguest pgdir management this patch makes the pgdir management per-vcpu. The pgdirs pool is still guest-wide (although it'll probably need to grow when we are really executing more vcpus), but the pgdidx index is gone, since it makes no sense anymore. Instead, we use a per-vcpu index. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Rusty Russell commit 5e232f4f428c4266ba5cdae9f23ba19a0913dcf9 Author: Glauber de Oliveira Costa Date: Mon Jan 7 11:05:36 2008 -0200 lguest: make pending notifications per-vcpu this patch makes the pending_notify field, used to control pending notifications, per-vcpu, instead of per-guest Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Rusty Russell commit 4665ac8e28c30c2a015c617c55783c0bf3a49c05 Author: Glauber de Oliveira Costa Date: Mon Jan 7 11:05:35 2008 -0200 lguest: makes special fields be per-vcpu lguest struct have room for some fields, namely, cr2, ts, esp1 and ss1, that are not really guest-wide, but rather, vcpu-wide. This patch puts it in the vcpu struct Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Rusty Russell commit 66686c2ab08feb721ca4d98285fba64acdf6017f Author: Glauber de Oliveira Costa Date: Mon Jan 7 11:05:34 2008 -0200 lguest: per-vcpu lguest task management lguest uses tasks to control its running behaviour (like sending breaks, controlling halted state, etc). In a per-vcpu environment, each vcpu will have its own underlying task. So this patch makes the infrastructure for that possible Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Rusty Russell commit fc708b3e407dfd2e12ba9a6cf35bd0bffad1796d Author: Glauber de Oliveira Costa Date: Mon Jan 7 11:05:33 2008 -0200 lguest: replace lguest_arch with lg_cpu_arch. The fields found in lguest_arch are not really per-guest, but per-cpu (gdt, idt, etc). So this patch turns lguest_arch into lg_cpu_arch. It makes sense to have a per-guest per-arch struct, but this can be addressed later, when the need arrives. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Rusty Russell commit a53a35a8b485b9c16b73e5177bddaa4321971199 Author: Glauber de Oliveira Costa Date: Mon Jan 7 11:05:32 2008 -0200 lguest: make registers per-vcpu This is the most obvious per-vcpu field: registers. So this patch moves it from struct lguest to struct vcpu, and patch the places in which they are used, accordingly Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Rusty Russell commit a3863f68b0d7fe2073c0f4efe534ec87a685c4fa Author: Glauber de Oliveira Costa Date: Mon Jan 7 11:05:31 2008 -0200 lguest: make emulate_insn receive a vcpu struct. emulate_insn() needs to know about current eip, which will be, in the future, a per-vcpu thing. So in this patch, the function prototype is modified to receive a vcpu struct Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Rusty Russell commit 0c78441cf4dd66f66e23dc085f0cc1e3e8669b96 Author: Glauber de Oliveira Costa Date: Mon Jan 7 11:05:30 2008 -0200 lguest: map_switcher_in_guest() per-vcpu The switcher needs to be mapped per-vcpu, because different vcpus will potentially have different page tables (they don't have to, because threads will share the same). So our first step is the make the function receive a vcpu struct Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Rusty Russell commit 177e449dc5bd4cf8dc48d66abee61ddf34b126b9 Author: Glauber de Oliveira Costa Date: Mon Jan 7 11:05:29 2008 -0200 lguest: per-vcpu interrupt processing. This patch adapts interrupt processing for using the vcpu struct. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Rusty Russell commit ad8d8f3bc61ec712dd141e1029ae68c47fadc4a7 Author: Glauber de Oliveira Costa Date: Mon Jan 7 11:05:28 2008 -0200 lguest: per-vcpu lguest timers Here, I introduce per-vcpu timers. With this, we can have local expiries, needed for accounting time in smp guests Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Rusty Russell commit 73044f05a4ac65f2df42753e9566444b9d2a660f Author: Glauber de Oliveira Costa Date: Mon Jan 7 11:05:27 2008 -0200 lguest: make hypercalls use the vcpu struct this patch changes do_hcall() and do_async_hcall() interfaces (and obviously their callers) to get a vcpu struct. Again, a vcpu services the hypercall, not the whole guest Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Rusty Russell commit 7ea07a1500f05e06ebf0136763c781244f77a2a1 Author: Glauber de Oliveira Costa Date: Mon Jan 7 11:05:26 2008 -0200 lguest: make write() operation smp aware This patch makes the write() file operation smp aware. Which means, receiving the vcpu_id value through the offset parameter, and being well aware to which vcpu we're talking to. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Rusty Russell commit d0953d42c3445a120299fac9ad70e672d77898e9 Author: Glauber de Oliveira Costa Date: Mon Jan 7 11:05:25 2008 -0200 lguest: per-cpu run guest This patch makes the run_guest() routine use the lg_cpu struct. This is required since in a smp guest environment, there's no more the notion of "running the guest", but rather, it is "running the vcpu" Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Rusty Russell commit 4dcc53da49c2387078fe8ceb7a420d125e027fc6 Author: Glauber de Oliveira Costa Date: Mon Jan 7 11:05:24 2008 -0200 lguest: initialize vcpu this patch initializes the first vcpu in the initialize() routing, which is responsible for starting the process of putting the guest up. right now, as much of the fields are still not per-vcpu, it does not do much. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Rusty Russell commit e3283fa0cc5c4f9bde52339a40da89297e51b481 Author: Glauber de Oliveira Costa Date: Mon Jan 7 11:05:23 2008 -0200 lguest: adapt launcher to per-cpuness This patch makes uses of pread() and pwrite() in lguest launcher to communicate the vcpu id to the lguest driver. The id is kept in a thread variable, which means we'll span in the future, vcpus as threads. But right now, only the infrastructure is out there. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Rusty Russell commit badb1e04028e3e029ff9447d4aeb162a84ad68c2 Author: Glauber de Oliveira Costa Date: Mon Jan 7 11:05:22 2008 -0200 lguest: introduce vcpu struct this patch introduces a vcpu struct for lguest. In upcoming patches, more and more fields will be moved from the lguest struct to the vcpu Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Rusty Russell commit ec04b13f67be3c90b38c625f4b8bdfea54c1ff60 Author: Balaji Rao Date: Fri Dec 28 14:26:24 2007 +0530 lguest: Reboot support Reboot Implemented (Prevent fd leak, fix style and fix documentation --RR) Signed-off-by: Balaji Rao Signed-off-by: Rusty Russell commit 5c55841d16dbf7c759fa6fb2ecc5e615b86d17db Author: Glauber de Oliveira Costa Date: Thu Jan 17 22:32:50 2008 -0200 lguest: remove pv_info dependency Currently, lguest module can't be compiled without the PARAVIRT flag being on. This is a fake dependency, since the module itself shouldn't need any paravirt override. Reason for that is the reference to pv_info structure in initial loading tests. This patch removes it in favour of a more generic error message. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Rusty Russell commit 7ea08093e0ccbad030188ded3cb082d8b8094d35 Author: Glauber de Oliveira Costa Date: Fri Jan 18 00:16:43 2008 -0200 lguest: fix drivers/lguest Makefile entry Parts depend on CONFIG_LGUEST, not just CONFIG_LGUEST_GUEST Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Rusty Russell commit 85004cc367abc000aa36c0d0e270ab609a68b0cb Merge: 149a051... 3fbd67a... Author: Linus Torvalds Date: Wed Jan 30 19:54:24 2008 +1100 Merge git://git.linux-nfs.org/pub/linux/nfs-2.6 * git://git.linux-nfs.org/pub/linux/nfs-2.6: (118 commits) NFSv4: Iterate through all nfs_clients when the server recalls a delegation NFSv4: Deal more correctly with duplicate delegations NFS: Fix a potential race between umount and nfs_access_cache_shrinker() NFS: Add an asynchronous delegreturn operation for use in nfs_clear_inode nfs: convert NFS_*(inode) helpers to static inline nfs: obliterate NFS_FLAGS macro NFS: Address memory leaks in the NFS client mount option parser nfs4: allow nfsv4 acls on non-regular-files NFS: Optimise away the sigmask code in aio/dio reads and writes SUNRPC: Don't bother changing the sigmask for asynchronous RPC calls SUNRPC: rpcb_getport_sync() passes incorrect address size to rpc_create() SUNRPC: Clean up block comment preceding rpcb_getport_sync() SUNRPC: Use appropriate argument types in rpcb client SUNRPC: rpcb_getport_sync() should use built-in hostname generator SUNRPC: Clean up functions that free address_strings array NFS: NFS version number is unsigned NLM: Fix a bogus 'return' in nlmclnt_rpc_release NLM: Introduce an arguments structure for nlmclnt_init() NLM/NFS: Use cached nlm_host when calling nlmclnt_proc() NFS: Invoke nlmclnt_init during NFS mount processing ... commit 149a051f82d2b3860fe32fa182dbc83a66274894 Author: Jens Axboe Date: Tue Jan 29 22:25:18 2008 +0100 as-iosched: fix double locking bug in as_merged_requests() If the two requests belong to the same io context, we will attempt to lock the same lock twice. But swapping contexts is pointless in that case, so just check for rioc == nioc before doing the double lock and copy. Tested-by: Olof Johansson Signed-off-by: Jens Axboe commit 3fbd67ad61f6d5a09ea717b56c50bc5c3d8042a8 Author: Trond Myklebust Date: Sat Jan 26 01:06:40 2008 -0500 NFSv4: Iterate through all nfs_clients when the server recalls a delegation The same delegation may have been handed out to more than one nfs_client. Ensure that if a recall occurs, we return all instances. Signed-off-by: Trond Myklebust commit 57bfa89171e50cddf51a4f62c90e47c6259857b4 Author: Trond Myklebust Date: Fri Jan 25 16:38:18 2008 -0500 NFSv4: Deal more correctly with duplicate delegations If a (broken?) server hands out two different delegations for the same file, then we should return one of them. Signed-off-by: Trond Myklebust commit 6f23e3872cff238589f9bf39c71db2ea880c9a26 Author: Trond Myklebust Date: Fri Jan 25 16:38:17 2008 -0500 NFS: Fix a potential race between umount and nfs_access_cache_shrinker() Thanks to Yawei Niu for spotting the race. Signed-off-by: Trond Myklebust commit e6f810759505bc86c009854b82cc495ffd8eb020 Author: Trond Myklebust Date: Thu Jan 24 18:14:34 2008 -0500 NFS: Add an asynchronous delegreturn operation for use in nfs_clear_inode Otherwise, there is a potential deadlock if the last dput() from an NFSv4 close() or other asynchronous operation leads to nfs_clear_inode calling the synchronous delegreturn. Signed-off-by: Trond Myklebust commit 99fadcd76465842c014c88b8c9c19b457e9debc0 Author: Benny Halevy Date: Wed Jan 23 08:59:08 2008 +0200 nfs: convert NFS_*(inode) helpers to static inline Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 3a10c30acc4821ca000b52ed0edafd0d3bf26a52 Author: Benny Halevy Date: Wed Jan 23 08:58:59 2008 +0200 nfs: obliterate NFS_FLAGS macro use NFS_I(inode)->flags instead Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit fc6014771bde8a215a9a4ea24b45f76afeb3c922 Author: Chuck Lever Date: Wed Jan 16 16:38:10 2008 -0500 NFS: Address memory leaks in the NFS client mount option parser David Howells noticed that repeating the same mount option twice during an NFS mount request can result in orphaned memory in certain cases. Only the client_address and mount_server.hostname strings are initialized in the mount parsing loop, so those appear to be the only two pointers that might be written over by repeating a mount option. The strings in the nfs_server section of the nfs_parsed_mount_data structure are set only once after the options are parsed, thus these are not susceptible to being overwritten. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 3d1c550874bcaf0d9b7fb66f601caed109074f4b Author: J. Bruce Fields Date: Tue Jan 15 16:43:19 2008 -0500 nfs4: allow nfsv4 acls on non-regular-files The rfc doesn't give any reason it shouldn't be possible to set an attribute on a non-regular file. And if the server supports it, then it shouldn't be up to us to prevent it. Thanks to Erez for the report and Trond for further analysis. Signed-off-by: J. Bruce Fields Tested-by: Erez Zadok Signed-off-by: Trond Myklebust commit f3c391e89c92651105364c6645244118ec9b3952 Author: Trond Myklebust Date: Tue Jan 15 14:17:12 2008 -0500 NFS: Optimise away the sigmask code in aio/dio reads and writes There are no interruptible waits for asynchronous RPC tasks, so we don't need to wrap calls to rpc_run_task() with an rpc_clnt_sigmask/rpc_clnt_unsigmask pair. Instead we can wrap the wait_for_completion_interruptible() in nfs_direct_wait(). This means that we completely optimise away sigmask setting for the case of non-blocking aio/dio. Signed-off-by: Trond Myklebust commit 34f5b4662bf4b54f22b32ce76ce70eccd7ebc68a Author: Trond Myklebust Date: Tue Jan 15 14:17:11 2008 -0500 SUNRPC: Don't bother changing the sigmask for asynchronous RPC calls The caller will never sleep in rpc_execute, so don't bother setting the sigmask. Signed-off-by: Trond Myklebust commit afc881124b8aff83c7a28269ef9d9cfce543256c Author: Chuck Lever Date: Mon Jan 14 15:12:08 2008 -0500 SUNRPC: rpcb_getport_sync() passes incorrect address size to rpc_create() The variable "sin" is a pointer, so sizeof(sin) is the size of a pointer, not the size of thing that sin points to. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 67d60213627ec4391cc402bf95753eefde8522af Author: Chuck Lever Date: Mon Jan 14 15:12:01 2008 -0500 SUNRPC: Clean up block comment preceding rpcb_getport_sync() Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit f1ec08cb9492cab579f85f9d937c79788b1dfde3 Author: Chuck Lever Date: Mon Jan 14 15:11:53 2008 -0500 SUNRPC: Use appropriate argument types in rpcb client Clean up: Follow recommendations of Chapter 5 of Documentation/CodingStyle and use "u32" instead of "__u32" for types in definitions that are not shared with user space. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit b91e101fca70319f9ca839311bceff5f44dfc1ed Author: Chuck Lever Date: Mon Jan 14 15:11:46 2008 -0500 SUNRPC: rpcb_getport_sync() should use built-in hostname generator rpc_create() can already fill in the hostname with a string representation of the server's IP address, so remove redundant logic in in rpcb_getport_sync() that does that. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 33e01dc7f578813cda074ceaeaf68b0f3ffcc393 Author: Chuck Lever Date: Mon Jan 14 12:32:20 2008 -0500 SUNRPC: Clean up functions that free address_strings array Clean up: document the rule (kfree) and the exceptions (RPC_DISPLAY_PROTO and RPC_DISPLAY_NETID) when freeing the objects in a transport's address_strings array. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit c0e07cb68db353c0ffbb0f82401cf6d79c253aed Author: Chuck Lever Date: Mon Jan 14 12:32:05 2008 -0500 NFS: NFS version number is unsigned RPC protocol version numbers are unsigned. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 65fdf7d264213a9a8de44f9a20e002a26c267a76 Author: Trond Myklebust Date: Fri Jan 11 17:41:29 2008 -0500 NLM: Fix a bogus 'return' in nlmclnt_rpc_release Signed-off-by: Trond Myklebust commit 883bb163f84e0a54b29846c61621f52db3f27393 Author: Chuck Lever Date: Tue Jan 15 16:04:20 2008 -0500 NLM: Introduce an arguments structure for nlmclnt_init() Clean up: pass 5 arguments to nlmclnt_init() in a structure similar to the new nfs_client_initdata structure. Signed-off-by: Chuck Lever commit 1093a60ef34bb12010fe7ea4b780bee1c57cfbbe Author: Chuck Lever Date: Fri Jan 11 17:09:59 2008 -0500 NLM/NFS: Use cached nlm_host when calling nlmclnt_proc() Now that each NFS mount point caches its own nlm_host structure, it can be passed to nlmclnt_proc() for each lock request. By pinning an nlm_host for each mount point, we trade the overhead of looking up or creating a fresh nlm_host struct during every NLM procedure call for a little extra memory. We also restrict the nlmclnt_proc symbol to limit the use of this call to in-tree modules. Note that nlm_lookup_host() (just removed from the client's per-request NLM processing) could also trigger an nlm_host garbage collection. Now client-side nlm_host garbage collection occurs only during NFS mount processing. Since the NFS client now holds a reference on these nlm_host structures, they wouldn't have been affected by garbage collection anyway. Given that nlm_lookup_host() reorders the global nlm_host chain after every successful lookup, and that a garbage collection could be triggered during the call, we've removed a significant amount of per-NLM-request CPU processing overhead. Sidebar: there are only a few remaining references to the internals of NFS inodes in the client-side NLM code. The only references I found are related to extracting or comparing the inode's file handle via NFS_FH(). One is in nlmclnt_grant(); the other is in nlmclnt_setlockargs(). Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 9289e7f91add1c09c3ec8571a2080f7507730b8d Author: Chuck Lever Date: Fri Jan 11 17:09:52 2008 -0500 NFS: Invoke nlmclnt_init during NFS mount processing Cache an appropriate nlm_host structure in the NFS client's mount point metadata for later use. Note that there is no need to set NFS_MOUNT_NONLM in the error case -- if nfs_start_lockd() returns a non-zero value, its callers ensure that the mount request fails outright. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 52c4044d00fe703eb3fb18e0d8dfd1c196eb28be Author: Chuck Lever Date: Fri Jan 11 17:09:44 2008 -0500 NLM: Introduce external nlm_host set-up and tear-down functions We would like to remove the per-lock-operation nlm_lookup_host() call from nlmclnt_proc(). The new architecture pins an nlm_host structure to each NFS client superblock that has the "lock" mount option set. The NFS client passes in the pinned nlm_host structure during each call to nlmclnt_proc(). NFS client unmount processing "puts" the nlm_host so it can be garbage- collected later. This patch introduces externally callable NLM functions that handle mount-time nlm_host set up and tear-down. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 86d61d8638ddf9cdf87df26c7fa69b2804425fbe Author: Trond Myklebust Date: Mon Jan 7 21:16:56 2008 -0500 SUNRPC: Fix up constant string declarations in struct rpcbind_args ...and eliminate an unnecessary cast. Signed-off-by: Trond Myklebust commit b454ae906085cf7774fb4756746680c9b03b6f84 Author: Chuck Lever Date: Mon Jan 7 18:34:48 2008 -0500 SUNRPC: fewer conditionals in the format_ip_address routines Clean up: have the set up routines explicitly pass the strings to be used for the transport name and NETID. This removes a number of conditionals and dependencies on rpc_xprt.prot, which is overloaded. Tighten up type checking on the address_strings array while we're at it. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit cab6fc1b77c3ec4471d7d54ff6db9ad2dd59c2f5 Author: Chuck Lever Date: Thu Dec 20 14:55:11 2007 -0500 lockd: Eliminate harmless mixed sign comparison in nlmdbg_cookie2a() The cookie->len field is unsigned, so the loop index variable in nlmdbg_cookie2a() should also be unsigned. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 3d509e5454a0a5ac88bf3191ab65d85952c1de31 Author: Chuck Lever Date: Thu Dec 20 14:55:04 2007 -0500 NFS: nfs_write_end clean up Clean up: commit 4899f9c8 added nfs_write_end(), which introduces a conditional expression that returns an unsigned integer in one arm and a signed integer in the other. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit bf4285e75c3272ad9bfdeb886d247962bb2985f8 Author: Chuck Lever Date: Thu Dec 20 14:54:57 2007 -0500 NFS: Fix minor mixed sign comparison in NFS client's write logic Clean up: PAGE_CACHE_SIZE is unsigned, and nfs_pageio_init() takes a size_t. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit d24aae41b4d4141d4f3cffdbf4c31d85637ba691 Author: Chuck Lever Date: Thu Dec 20 14:54:49 2007 -0500 NFS: Use size_t for storing name lengths Clean up: always use the same type when handling buffer lengths. As a bonus, this prevents a mixed sign comparison in idmap_lookup_name. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit a661b77fc12a172edea4b709e37f8cd58a6bd500 Author: Chuck Lever Date: Thu Dec 20 14:54:42 2007 -0500 NFS: Fix use of copy_to_user() in idmap_pipe_upcall The idmap_pipe_upcall() function expects the copy_to_user() function to return a negative error value if the call fails, but copy_to_user() returns an unsigned long number of bytes that couldn't be copied. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 369af0f1166f7a637751110395496cee156b4297 Author: Chuck Lever Date: Thu Dec 20 14:54:35 2007 -0500 NFS: Clean up fs/nfs/idmap.c Clean up white space damage and use standard kernel coding conventions for return statements. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 7df089952fca41cb336733e1167c0a25e5a025d8 Author: Chuck Lever Date: Thu Dec 20 14:54:27 2007 -0500 SUNRPC: Fix use of copy_to_user() in gss_pipe_upcall() The gss_pipe_upcall() function expects the copy_to_user() function to return a negative error value if the call fails, but copy_to_user() returns an unsigned long number of bytes that couldn't be copied. Can rpc_pipefs actually retry a partially completed upcall read? If not, then gss_pipe_upcall() should punt any partial read, just like the upcall logic in net/sunrpc/cache.c. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 59dca3b28cb915745019d4f4c27d97b6b6ab12c6 Author: Trond Myklebust Date: Thu Jan 3 16:29:06 2008 -0500 NFS: Fix the 'proto=' mount option Currently, if you have a server mounted using networking protocol, you cannot specify a different value using the 'proto=' option on another mountpoint. Signed-off-by: Trond Myklebust commit 331702337f2b2e7cef40366ee207a25604df4671 Author: Trond Myklebust Date: Thu Dec 20 16:03:59 2007 -0500 NFS: Support per-mountpoint timeout parameters. Signed-off-by: Trond Myklebust commit 7a3e3e18e40848b6f01d44407ce86b91b8535fbd Author: Trond Myklebust Date: Thu Dec 20 16:03:57 2007 -0500 NFS: Ensure that we respect NFS_MAX_TCP_TIMEOUT It isn't sufficient just to limit timeout->to_initval, we also need to limit to_maxval. Signed-off-by: Trond Myklebust commit ba7392bb37cb12781890f45d7ddee1618e33a036 Author: Trond Myklebust Date: Thu Dec 20 16:03:55 2007 -0500 SUNRPC: Add support for per-client timeout values In order to be able to support setting the timeo and retrans parameters on a per-mountpoint basis, we move the rpc_timeout structure into the rpc_clnt. Signed-off-by: Trond Myklebust commit 2881ae74e68ecfe3b32a90936e5d93a9ba598c3a Author: Trond Myklebust Date: Thu Dec 20 16:03:54 2007 -0500 SUNRPC: Clean up the transport timeout initialisation Signed-off-by: Trond Myklebust commit 698b6d088e8a5d907596c689d5ae9109611c5b59 Author: Trond Myklebust Date: Thu Dec 20 16:03:53 2007 -0500 SUNRPC: cleanup for rpc_new_client() There is no reason why we shouldn't just pass the rpc_create_args. Signed-off-by: Trond Myklebust commit 69dd716c5ffd89f5ba14ffb871d633ecea74d13a Author: Trond Myklebust Date: Fri Dec 14 14:56:07 2007 -0500 NFSv4: Add socket proto argument to setclientid Signed-off-by: Trond Myklebust commit 3c7c7e4812e40e50a9ce9d687432ab5515cb3f2f Author: Chuck Lever Date: Mon Dec 10 14:59:35 2007 -0500 NFS: Pull covers off IPv6 address parsing Now that the needed IPv6 infrastructure is in place, allow the NFS client's IP address parser to generate AF_INET6 addresses. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 4c5680177012a2b5c0f3fdf58f4375dd84a1da67 Author: Chuck Lever Date: Mon Dec 10 14:59:28 2007 -0500 NFS: Support non-IPv4 addresses in nfs_parsed_mount_data Replace the nfs_server and mount_server address fields in the nfs_parsed_mount_data structure with a "struct sockaddr_storage" instead of a "struct sockaddr_in". Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Trond Myklebust commit 9412b92772c1d80ea8284583b6aad0260e13515f Author: Chuck Lever Date: Mon Dec 10 14:59:21 2007 -0500 NFS: Refactor mount option address parsing into separate function Refactor the logic to parse incoming text-based IP addresses. Use the in4_pton() function instead of the older in_aton(), following the lead of the in-kernel CIFS client. Later we'll add IPv6 address parsing using the matching in6_pton() function. For now we can't allow IPv6 address parsing: we must expand the size of the address storage fields in the nfs_parsed_mount_options struct before we can parse and store IPv6 addresses. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Trond Myklebust commit 338320345b40eb7c63592f40d25cbd58ccf99548 Author: Chuck Lever Date: Mon Dec 10 14:59:13 2007 -0500 NFS: Remove the NIPQUAD from nfs_try_mount In the name of address family compatibility, we can't have the NIP_FMT and NIPQUAD macros in nfs_try_mount(). Instead, we can make use of an unused mount option to display the mount server's hostname. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Trond Myklebust commit 6677d09513e35ac2f38d3a8c8a26fbd7bbcef192 Author: Chuck Lever Date: Mon Dec 10 14:59:06 2007 -0500 NFS: Adjust nfs_clone_mount structure to store "struct sockaddr *" Change the addr field in the nfs_clone_mount structure to store a "struct sockaddr *" to support non-IPv4 addresses in the NFS client. Note this is mostly a cosmetic change, and does not actually allow referrals using IPv6 addresses. The existing referral code assumes that the server returns a string that represents an IPv4 address. This code needs to support hostnames and IPv6 addresses as well as IPv4 addresses, thus it will need to be reorganized completely (to handle DNS resolution in user space). Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Trond Myklebust commit dcecae0ff44dceea7adb6bef5c8eb660fe87a93c Author: Chuck Lever Date: Mon Dec 10 14:58:59 2007 -0500 NFS: Change nfs4_set_client() to accept struct sockaddr * Adjust the arguments and callers of nfs4_set_client() to pass a "struct sockaddr *" instead of a "struct sockaddr_in *" to support non-IPv4 addresses in the NFS client. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Trond Myklebust commit d7422c472bbaa419876b91e8823c6219c4a144cb Author: Chuck Lever Date: Mon Dec 10 14:58:51 2007 -0500 NFS: Change nfs_get_client() to take sockaddr * Adjust arguments and callers of nfs_get_client() to pass a "struct sockaddr *" instead of "struct sockaddr_in *" to support non-IPv4 addresses. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Trond Myklebust commit ff052645c939b2fd8d467105adf98fa621cc244b Author: Chuck Lever Date: Mon Dec 10 14:58:44 2007 -0500 NFS: Change nfs_find_client() to take "struct sockaddr *" Adjust arguments and callers of nfs_find_client() to pass a "struct sockaddr *" instead of "struct sockaddr_in *" to support non-IPv4 addresses. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Trond: Also fix up protocol version number argument in nfs_find_client() to use the correct u32 type. Signed-off-by: Trond Myklebust commit c1d35866566bc2b270a82445271fcce1e391c4b9 Author: Chuck Lever Date: Mon Dec 10 14:58:29 2007 -0500 NFS: Change cb_recallargs to pass "struct sockaddr *" instead of sockaddr_in Change the addr field in the cb_recallargs struct to a "struct sockaddr *" to support non-IPv4 addresses. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Trond Myklebust commit 671beed7e28d9d27eef256862f6c1783a1da147e Author: Chuck Lever Date: Mon Dec 10 14:58:22 2007 -0500 NFS: Change cb_getattrargs to pass "struct sockaddr *" instead of sockaddr_in Change the addr field in the cb_getattrargs struct to a "struct sockaddr *" to support non-IPv4 addresses. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Trond Myklebust commit 6e4cffd7b2cf86022dcf9cceeb63f16ff852caa1 Author: Chuck Lever Date: Mon Dec 10 14:58:15 2007 -0500 NFS: Expand server address storage in nfs_client struct Prepare for managing larger addresses in the NFS client by widening the nfs_client struct's cl_addr field. Signed-off-by: Chuck Lever Cc: Aurelien Charbon (Modified to work with the new parameters for nfs_alloc_client) Signed-off-by: Trond Myklebust commit 3b0d3f93d01bb013c3dcf9555d2d111c91ac6a1e Author: Trond Myklebust Date: Thu Jan 3 13:28:58 2008 -0500 NFS: Add support for AF_INET6 addresses in __nfs_find_client() Introduce AF_INET6-specific address checking to __nfs_find_client(). Signed-off-by: Trond Myklebust commit 0d0f0c192df0282600c6d11c8cc252e7e7a80afc Author: Chuck Lever Date: Mon Dec 10 14:58:00 2007 -0500 NFS: Set default port for NFSv4, with support for AF_INET6 Create a helper function to set the default NFS port for NFSv4 mount points. The helper supports both AF_INET and AF_INET6 family addresses. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 04dcd6e3aceedff9fcc96ce3014688d5b642d627 Author: Chuck Lever Date: Mon Dec 10 14:57:53 2007 -0500 NFS: Make setting a port number agostic We'll need to set the port number of an AF_INET or AF_INET6 address in several places in fs/nfs/super.c, so introduce a helper that can manage this for us. We put this helper to immediate use. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit cdcd7f9abc8c95524376835fbe8e11c5f7bf588e Author: Chuck Lever Date: Mon Dec 10 14:57:45 2007 -0500 NFS: Verify IPv6 addresses properly Add support to nfs_verify_server_address for recognizing AF_INET6 addresses. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit fd00a8ff8e37815c9df49f5cf09786e441e1396b Author: Chuck Lever Date: Mon Dec 10 14:57:38 2007 -0500 NFS: Add support for AF_INET6 addresses in nfs_compare_super() Refactor nfs_compare_super() and add AF_INET6 support. Replace the generic memcmp() to document explicitly what parts of the addresses must match in this check, and make the comparison independent of the lengths of both addresses. A side benefit is both tests are more computationally efficient than a memcmp(). Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 3f43c6667acb4e02962b2829a4d4ebb6b6e6f70e Author: Chuck Lever Date: Mon Dec 10 14:57:31 2007 -0500 NFS: Address a couple of nits in nfs_follow_referral() Clean up: fix an outdated block comment, and address a comparison between a signed and unsigned integer. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 1d98fe6717c5786394268da430a4354f6205da54 Author: Chuck Lever Date: Mon Dec 10 14:57:23 2007 -0500 NFS: Move dprintks from callback.c to callback_proc.c Clean up: The client side peer address is available in callback_proc.c, so move a dprintk out of fs/nfs/callback.c and into fs/nfs/callback_proc.c. This is more consistent with other debugging messages, and the proc routines have more information about each request to display. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Trond Myklebust commit 5d8515caeb99940f5ed56d22a03aba20bbe7fdcb Author: Chuck Lever Date: Mon Dec 10 14:57:16 2007 -0500 NFS: eliminate NIPQUAD(clp->cl_addr.sin_addr) To ensure the NFS client displays IPv6 addresses properly, replace address family-specific NIPQUAD() invocations with a call to the RPC client to get a formatted string representing the remote peer's address. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Trond Myklebust commit d4d3c507493afd3c9d19fbe9762f44e790909dbe Author: Chuck Lever Date: Mon Dec 10 14:57:09 2007 -0500 NFS: Enable NFS client to generate CLIENTID strings with IPv6 addresses We recently added methods to RPC transports that provide string versions of the remote peer address information. Convert the NFSv4 SETCLIENTID procedure to use those methods instead of building the client ID out of whole cloth. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Trond Myklebust commit 4392f2592297876967191238a341667a6d4fc456 Author: Chuck Lever Date: Mon Dec 10 14:57:01 2007 -0500 NFS: Increase size of cl_ipaddr field to hold IPv6 addresses The nfs_client's cl_ipaddr field needs to be larger to hold strings that represent IPv6 addresses. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Trond Myklebust commit cc38bac3a0093b3b7928efc6ff8e9faf9e75f41d Author: Chuck Lever Date: Mon Dec 10 14:56:54 2007 -0500 NFS: Ensure NFSv4 SETCLIENTID send buffer is large enough Ensure that the RPC buffer size specified for NFSv4 SETCLIENTID procedures matches what we are encoding into the buffer. See the definition of struct nfs4_setclientid {} and the encode_setclientid() function. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 0fb2b7e945f55a8317e5f58db7c068aab5b825a1 Author: Chuck Lever Date: Mon Dec 10 14:56:46 2007 -0500 SUNRPC: Move universal address definitions to global header Universal addresses are defined in RFC 1833 and clarified in RFC 3530. We need to use them in several places in the NFS and RPC clients, so move the relevant definition and block comment to an appropriate global include file. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 0a48f5d70fa9e87269d076fe27f3563f4375c479 Author: Chuck Lever Date: Mon Dec 10 14:56:38 2007 -0500 SUNRPC: RPC version numbers are u32 Clean up: use correct type for RPC version numbers in rpcbind client. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 9f6ad26d2abfd9a2ec4a34b934ca75c4239ab8cf Author: Chuck Lever Date: Mon Dec 10 14:56:31 2007 -0500 SUNRPC: Fix socket address handling in rpcb_clnt Make sure rpcb_clnt passes the correct address length to rpc_create(). Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 510deb0d7035d4fd465627deb3a119ca854f9e00 Author: Chuck Lever Date: Mon Dec 10 14:56:24 2007 -0500 SUNRPC: rpc_create() default hostname should support AF_INET6 addresses If the ULP doesn't pass a hostname string to rpc_create(), it manufactures one based on the passed-in address. Be smart enough to handle an AF_INET6 address properly in this case. Move the default servername logic before the xprt_create_transport() call to simplify error handling in rpc_create(). Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 40c553193df41920de659f0446e5d214c862e827 Author: Trond Myklebust Date: Fri Dec 14 14:56:07 2007 -0500 NFS: Remove the redundant nfs_client->cl_nfsversion We can get the same information from the rpc_ops structure instead. Signed-off-by: Trond Myklebust commit c81468a1a766921f11ae44e8a99816ac8dc7b015 Author: Trond Myklebust Date: Fri Dec 14 14:56:05 2007 -0500 NFS: Clean up the nfs_find_client function. Signed-off-by: Trond Myklebust commit 3a498026eef9603c14037e73a4a94cfdb2fa44eb Author: Trond Myklebust Date: Fri Dec 14 14:56:04 2007 -0500 NFS: Clean up the nfs_client initialisation Signed-off-by: Trond Myklebust commit bfc69a456642a51c89dfd8e5184468857cb44f32 Author: Trond Myklebust Date: Mon Oct 15 18:18:29 2007 -0400 NFS: define a function to update nfsi->cache_change_attribute Signed-off-by: Trond Myklebust commit 5cce428d953cc3843b100e078dbc3c01c6411b85 Author: Chuck Lever Date: Fri Oct 26 13:33:01 2007 -0400 NFS: Remove an unneeded check in decode_compound_header_arg() Clean up: The header tag length is unsigned, so checking that it is less than zero is unnecessary. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit d45273ed6f4613e81701c3e896d9db200c288fff Author: Chuck Lever Date: Fri Oct 26 13:32:45 2007 -0400 NFS: Clean up address comparison in __nfs_find_client() The address comparison in the __nfs_find_client() function is deceptive. It uses a memcmp() to check a pair of u32 fields for equality. Not only is this inefficient, but usually memcmp() is used for comparing two *whole* sockaddr_in's (which includes comparisons of the address family and port number), so it's easy to mistake the comparison here for a whole sockaddr comparison, which it isn't. So for clarity and efficiency, we replace the memcmp() with a simple test for equality between the two s_addr fields. This should have no behavioral effect. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 6a0ed1de8ecee0cde21ea667891a03f6c84ecd66 Author: Chuck Lever Date: Fri Oct 26 13:32:40 2007 -0400 NFS: Clean up: copy hostname with kstrndup during mount processing Clean up: mount option parsing uses kstrndup in several places, rather than using kzalloc. Replace the few remaining uses of kzalloc with kstrndup, for consistency. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit e887cbcf911b2d16742832b38411559273ce5d77 Author: Chuck Lever Date: Fri Oct 26 13:32:29 2007 -0400 NFS: Remove support for the 'mountprog' option Remove the mount option that allows users to specify an alternate mountd program number. The client hasn't support setting an alternate mountd program number for a very long time. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit ad879cef8554e20f9b5ca356c878712eb671228c Author: Chuck Lever Date: Fri Oct 26 13:32:24 2007 -0400 NFS: Remove support for the 'nfsprog' option Remove the mount option that allows users to specify an alternate NFS program number. The client hasn't support setting an alternate NFS program number for a very long time. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 0eb2574121ef0ffbebe5335c66c227d1b987fa25 Author: Chuck Lever Date: Fri Oct 26 13:32:19 2007 -0400 NFS: Ensure that NFS version 4 mounts use NFS_PORT if nfsport wasn't set Text-based mount option parsing introduced a minor regression in the behavior of NFS version 4 mounts. NFS version 4 is not supposed to require a running rpcbind service on the server in order for a mount to succeed. In other words, if the mount options don't specify a port number, the port number is supposed to default to 2049. For earlier versions of NFS, the default port number was zero in order to cause the RPC client to autobind to the server's NFS service. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 28c494c5c8d425e15b7b82571e4df6d6bc34594d Author: Chuck Lever Date: Fri Oct 26 13:32:13 2007 -0400 NFS: Prevent nfs_getattr() hang during heavy write workloads POSIX requires that ctime and mtime, as reported by the stat(2) call, reflect the activity of the most recent write(2). To that end, nfs_getattr() flushes pending dirty writes to a file before doing a GETATTR to allow the NFS server to set the file's size, ctime, and mtime properly. However, nfs_getattr() can be starved when a constant stream of application writes to a file prevents nfs_wb_nocommit() from completing. This usually results in hangs of programs doing a stat against an NFS file that is being written. "ls -l" is a common victim of this behavior. To prevent starvation, hold the file's i_mutex in nfs_getattr() to freeze applications writes temporarily so the client can more quickly obtain clean values for a file's size, mtime, and ctime. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 464ad6b1ade186b53a1dae863361853326b85694 Author: Chuck Lever Date: Fri Oct 26 13:32:08 2007 -0400 NFS: Change sign of some loop indices in nfs4xdr.c Nit: Eliminate some mixed sign comparisons in loop indices. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit bcecff77a9c743ff67fdddeabc30ef76a6877886 Author: Chuck Lever Date: Fri Oct 26 13:32:03 2007 -0400 NFS: Use unsigned intermediates for manipulating header lengths (NFSv4 XDR) Clean up: prevent length underflow and mixed sign comparison when unmarshalling NFS version 4 getacl, readdir, and readlink replies. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit c957c526ef86e472359dadb4204dab8a503b687d Author: Chuck Lever Date: Fri Oct 26 13:31:57 2007 -0400 NFS: Use unsigned intermediates for manipulating header lengths (NFSv3 XDR) Clean up: prevent length underflow and mixed sign comparisons when unmarshalling NFS version 3 read, readdir, and readlink replies. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 6232dbbcffc617a5a47596b2ec347b24dc2dd2fd Author: Chuck Lever Date: Fri Oct 26 13:31:52 2007 -0400 NFS: Use unsigned intermediates for manipulating header lengths (NFSv2 XDR) Clean up: prevent length underflow and mixed sign comparisons when unmarshalling NFS version 2 read, readdir, and readlink replies. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 8a8c74bf94fcdec058062d331b3d9777910778ab Author: Chuck Lever Date: Fri Oct 26 13:31:47 2007 -0400 NFS: Ensure nfs_wcc_update_inode always converts file size to loff_t The nfs_wcc_update_inode() function omits logic to convert the type of the NFS on-the-wire value of a file's size (__u64) to the type of file size value stored in struct inode (loff_t, which is signed). Everywhere else in the NFS client I checked already correctly converts the file size type. This effects only very large files. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 9b45b74ce2234ca15131ec0725010c1da818df05 Author: Chuck Lever Date: Fri Oct 26 13:31:04 2007 -0400 SUNRPC: Remove an unneeded implicit type cast when calling rpc_depopulate() The two arguments of rpc_depopulate() that pass in inode numbers should use the same type as inode->i_ino: unsigned long. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 322e2efe6224be5de2852a7fddfac5cf11317af3 Author: Chuck Lever Date: Fri Oct 26 13:30:59 2007 -0400 SUNRPC: temp var should match return type of xdr_skb_read_actor The return type of xdr_skb_read_actor functions is size_t. This fixes a nit I unwittingly overlooked in commit dd456471. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 5d40a8a525c8165bafed233cf0f137e8d10d7e92 Author: Chuck Lever Date: Fri Oct 26 13:30:54 2007 -0400 SUNRPC: Check a return result Minor: Replace an empty if statement with a debugging dprintk. Signed-off-by: Chuck Lever Cc: Thomas Talpey Signed-off-by: Trond Myklebust commit d4b37ff73540ab90bee57b882a10b21e2f97939f Author: Chuck Lever Date: Fri Oct 26 13:30:49 2007 -0400 SUNRPC: Fix an unnecessary implicit type cast in rpcrdma_count_chunks() Nit: rl_nchunks is an unsigned integer, so pass it into rpcrdma_count_chunks() via an unsigned integer argument. This eliminates a harmless mixed sign comparison in rpcrdma_count_chunks() Signed-off-by: Chuck Lever Cc: Thomas Talpey Signed-off-by: Trond Myklebust commit 2a428b2b8fe2c270a5889086ebe3ab914e3ea7d8 Author: Chuck Lever Date: Fri Oct 26 13:30:43 2007 -0400 SUNRPC: Prevent mixed sign comparisons in rpcrdma_convert_iovs() Keep the type of the buffer position the same during iovec conversion to reduce the likelihood of unexpected results from comparisons and length computations. Signed-off-by: Chuck Lever Cc: Thomas Talpey Signed-off-by: Trond Myklebust commit c087567d3ffb2c7c61e091982e6ca45478394f1a Author: Trond Myklebust Date: Wed Jul 18 18:32:38 2007 -0400 SUNRPC: Remove the obsolete RPC_WAITQ macro Now that we've killed off all the users. Signed-off-by: Trond Myklebust commit a4a874990cbc1bc5df6f357c4f2d043cd1923e15 Author: Trond Myklebust Date: Wed Jul 18 13:24:19 2007 -0400 SUNRPC: Cleanup to remove the last users of the RPC_WAITQ declaration Signed-off-by: Trond Myklebust commit 47fe064831a2a949f6c1e0086f61a105e99ea867 Author: Trond Myklebust Date: Thu Oct 25 18:42:55 2007 -0400 SUNRPC: Unexport rpc_init_task() and rpc_execute() Signed-off-by: Trond Myklebust commit 0773769191d943358a8392fa86abd756d004c4b6 Author: Trond Myklebust Date: Thu Oct 25 18:42:54 2007 -0400 NFS/SUNRPC: Convert users of rpc_init_task+rpc_execute to rpc_run_task() Signed-off-by: Trond Myklebust commit e8f5d77c8029ff8f5dcd1dfc133aac0bbbffd92b Author: Trond Myklebust Date: Thu Oct 25 18:42:53 2007 -0400 SUNRPC: allow the caller of rpc_run_task to preallocate the struct rpc_task Signed-off-by: Trond Myklebust commit b5627943ab6fabbc13a45d92683363a3d08a249f Author: Trond Myklebust Date: Thu Oct 25 18:42:21 2007 -0400 SUNRPC: Remove the now unused function rpc_call_setup() Signed-off-by: Trond Myklebust commit 5138fde01161cd7976fdc51f6a17da73adaa6baf Author: Trond Myklebust Date: Sat Jul 14 15:40:01 2007 -0400 NFS/SUNRPC: Convert all users of rpc_call_setup() Replace use of rpc_call_setup() with rpc_init_task(), and in cases where we need to initialise task->tk_action, with rpc_call_start(). Signed-off-by: Trond Myklebust commit bdc7f021f3a1fade77adf3c2d7f65690566fddfe Author: Trond Myklebust Date: Sat Jul 14 15:40:00 2007 -0400 NFS: Clean up the (commit|read|write)_setup() callback routines Move the common code for setting up the nfs_write_data and nfs_read_data structures into fs/nfs/read.c, fs/nfs/write.c and fs/nfs/direct.c. Signed-off-by: Trond Myklebust commit b3ef8b3bb93300e58a4c4806207de3de4eb76f48 Author: Trond Myklebust Date: Thu Oct 25 18:32:34 2007 -0400 SUNRPC: Allow rpc_init_task() to initialise the rpc_task->tk_msg In preparation for the removal of rpc_call_setup(). Signed-off-by: Trond Myklebust commit 77de2c590ec72828156d85fa13a96db87301cc68 Author: Trond Myklebust Date: Thu Oct 25 18:40:21 2007 -0400 SUNRPC: Add a helper rpc_call_start() that initialises task->tk_action Signed-off-by: Trond Myklebust commit 5085925902cc4d93b9a4992936edd2aee70a5e15 Author: Trond Myklebust Date: Thu Oct 25 18:19:37 2007 -0400 SUNRPC: Mask signals across the call to rpc_call_setup() in rpc_run_task To ensure that the RPCSEC_GSS upcall is performed with the correct sigmask. Signed-off-by: Trond Myklebust commit 3ff7576ddac06c3d07089e241b40826d24bbf1ac Author: Trond Myklebust Date: Sat Jul 14 15:40:00 2007 -0400 SUNRPC: Clean up the initialisation of priority queue scheduling info. We want the default scheduling priority (priority == 0) to remain RPC_PRIORITY_NORMAL. Also ensure that the priority wait queue scheduling is per process id instead of sometimes being per thread, and sometimes being per inode. Signed-off-by: Trond Myklebust commit c970aa85e71bd581726c42df843f6f129db275ac Author: Trond Myklebust Date: Sat Jul 14 15:39:59 2007 -0400 SUNRPC: Clean up rpc_run_task Make it use the new task initialiser structure instead of acting as a wrapper. Signed-off-by: Trond Myklebust commit 84115e1cd4a3614c4e566d4cce31381dce3dbef9 Author: Trond Myklebust Date: Sat Jul 14 15:39:59 2007 -0400 SUNRPC: Cleanup of rpc_task initialisation Signed-off-by: Trond Myklebust commit e8914c65f7f8d4e8701b8e78a12b714872ea0402 Author: Trond Myklebust Date: Sat Jul 14 15:39:59 2007 -0400 SUNRPC: Restrict sunrpc client exports The sunrpc client exports are not meant to be part of any official kernel API: they can change at the drop of a hat. Mark them as internal functions using EXPORT_SYMBOL_GPL. Signed-off-by: Trond Myklebust commit a6eaf8bdf9308b51ec84e358915fc65400029519 Author: Trond Myklebust Date: Sat Jul 14 15:39:58 2007 -0400 SUNRPC: Move exported declarations to the function declarations Do this for all RPC client related functions and XDR functions. Signed-off-by: Trond Myklebust commit 93a44a75b97b9d8a03dd3d3f3247c3d0ec46aa4c Author: J. Bruce Fields Date: Tue Nov 6 13:06:03 2007 -0500 sunrpc: document the rpc_pipefs kernel api Add kerneldoc comments for the rpc_pipefs.c functions that are exported. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 663b8858dddbc8e634476960cc1c5f69dadba9b0 Author: Trond Myklebust Date: Tue Jan 1 18:42:12 2008 -0500 SUNRPC: Reconnect immediately whenever the server isn't refusing it. If we've disconnected from the server, rather than the other way round, then it makes little sense to wait 3 seconds before reconnecting. Signed-off-by: Trond Myklebust commit 62da3b24880bccd4ffc32cf8d9a7e23fab475bdd Author: Trond Myklebust Date: Tue Nov 6 18:44:20 2007 -0500 SUNRPC: Rename xprt_disconnect() xprt_disconnect() should really only be called when the transport shutdown is completed, and it is time to wake up any pending tasks. Rename it to xprt_disconnect_done() in order to reflect the semantical change. Signed-off-by: Trond Myklebust commit 3ebb067d92ebe5bcfd282acf12bade891d334d07 Author: Trond Myklebust Date: Tue Nov 6 18:40:12 2007 -0500 SUNRPC: Make call_status()/call_decode() call xprt_force_disconnect() Move the calls to xprt_disconnect() over to xprt_force_disconnect() in order to enable the transport layer to manage the state of the XPRT_CONNECTED flag. Ditto in xs_tcp_read_fraghdr(). Signed-off-by: Trond Myklebust commit 7272dcd31d56580dee7693c21e369fd167e137fe Author: Trond Myklebust Date: Tue Nov 6 18:28:53 2007 -0500 SUNRPC: xprt_autoclose() should not call xprt_disconnect() The transport layer should do that itself whenever appropriate. Note that the RDMA transport already assumes that it needs to call xprt_disconnect in xprt_rdma_close(). For TCP sockets, we want to call xprt_disconnect() only after the connection has been closed by both ends. Signed-off-by: Trond Myklebust commit e06799f958bf7f9f8fae15f0c6f519953fb0257c Author: Trond Myklebust Date: Mon Nov 5 15:44:12 2007 -0500 SUNRPC: Use shutdown() instead of close() when disconnecting a TCP socket By using shutdown() rather than close() we allow the RPC client to wait for the TCP close handshake to complete before we start trying to reconnect using the same port. We use shutdown(SHUT_WR) only instead of shutting down both directions, however we wait until the server has closed the connection on its side. Signed-off-by: Trond Myklebust commit ef80367071dce7d2533e79ae8f3c84ec42708dc8 Author: Trond Myklebust Date: Mon Dec 31 16:19:17 2007 -0500 SUNRPC: TCP clear XPRT_CLOSE_WAIT when the socket is closed for writes Signed-off-by: Trond Myklebust commit 3b948ae5be5e22532584113e2e02029519bbad8f Author: Trond Myklebust Date: Mon Nov 5 17:42:39 2007 -0500 SUNRPC: Allow the client to detect if the TCP connection is closed Add an xprt->state bit to enable the TCP ->state_change() method to signal whether or not the TCP connection is in the process of closing down. This will to be used by the reconnection logic in a separate patch. Signed-off-by: Trond Myklebust commit 67a391d72ca7efb387c30ec761a487e50a3ff085 Author: Trond Myklebust Date: Mon Nov 5 17:40:58 2007 -0500 SUNRPC: Fix TCP rebinding logic Currently the TCP rebinding logic assumes that if we're not using a reserved port, then we don't need to reconnect on the same port if a disconnection event occurs. This breaks most RPC duplicate reply cache implementations. Also take into account the fact that xprt_min_resvport and xprt_max_resvport may change while we're reconnecting, since the user may change them at any time via the sysctls. Ensure that we check the port boundaries every time we loop in xs_bind4/xs_bind6. Also ensure that if the boundaries change, we only scan the ports a maximum of 2 times. Signed-off-by: Trond Myklebust commit 66af1e558538137080615e7ad6d1f2f80862de01 Author: Trond Myklebust Date: Tue Nov 6 10:18:36 2007 -0500 SUNRPC: Fix a race in xs_tcp_state_change() When scheduling the autoclose RPC call, we want to ensure that we don't race against the test_bit() call in xprt_clear_locked(). Signed-off-by: Trond Myklebust commit ef818a28fac9bd214e676986d8301db0582b92a9 Author: Steve Dickson Date: Thu Nov 8 04:05:04 2007 -0500 NFS: Stop sillyname renames and unmounts from racing Added an active/deactive mechanism to the nfs_server structure allowing async operations to hold off umount until the operations are done. Signed-off-by: Steve Dickson Signed-off-by: Trond Myklebust commit 2f74c0a05612b9c2014b5b67833dba9b9f523948 Author: Trond Myklebust Date: Tue Jan 8 17:56:07 2008 -0500 NFSv4: Clean up the OPEN/CLOSE serialisation code Reduce the time spent locking the rpc_sequence structure by queuing the nfs_seqid only when we are ready to take the lock (when calling nfs_wait_on_sequence). Signed-off-by: Trond Myklebust commit acee478afc6ff7e1b8852d9a4dca1ff36021414d Author: Trond Myklebust Date: Tue Jan 22 17:13:07 2008 -0500 NFS: Clean up the write request locking. Ensure that we set/clear NFS_PAGE_TAG_LOCKED when the nfs_page is hashed. Signed-off-by: Trond Myklebust commit 8b1f9ee56e21e505a3d5d3e33f823006d1abdbaf Author: Trond Myklebust Date: Tue Jan 22 17:13:06 2008 -0500 NFS: Optimise nfs_vm_page_mkwrite() The current model locks the page twice for no good reason. Optimise by inlining the parts of nfs_write_begin()/nfs_write_end() that we care about. Signed-off-by: Trond Myklebust commit 77f111929d024165e736e919187cff017279bebe Author: Trond Myklebust Date: Mon Jan 28 19:43:19 2008 -0500 NFS: Ensure that we eject stale inodes as soon as possible Signed-off-by: Trond Myklebust commit d45b9d8baf41acb177abbbe6746b1dea094b8a28 Author: Trond Myklebust Date: Mon Jan 28 19:43:18 2008 -0500 NFS: Handle -ENOENT errors in unlink()/rmdir()/rename() If the server returns an ENOENT error, we still need to do a d_delete() in order to ensure that the dentry is deleted. Signed-off-by: Trond Myklebust commit 609005c319bc6062b95ed82e132884ed7e22cdb9 Author: Trond Myklebust Date: Mon Jan 28 19:42:59 2008 -0500 NFS: Sillyrename: in the case of a race, check aliases are really positive In nfs_do_call_unlink() we check that we haven't raced, and that lookup() hasn't created an aliased dentry to our sillydeleted dentry. If somebody has deleted the file on the server and the lookup() resulted in a negative dentry, then ignore... Signed-off-by: Trond Myklebust commit fccca7fc6aab4e6b519e2d606ef34632e4f50e33 Author: Trond Myklebust Date: Sat Jan 26 17:37:47 2008 -0500 NFS: Fix a sillyrename race... Ensure that readdir revalidates its data cache after blocking on sillyrename. Also fix a typo in nfs_do_call_unlink(): swap the ^= for an |=. The result is the same, since we've already checked that the flag is unset, but it makes the code more readable. Signed-off-by: Trond Myklebust commit 39bd4177ddbeb4c86e854d3d5c4a6a26088e601e Author: Patrick Caulfeld Date: Wed Jan 9 15:06:27 2008 +0000 dlm: close othercons This patch addresses a problem introduced with the last round of lowcomms patches where the 'othercon' connections do not get freed when the DLM shuts down. This results in the error message "slab error in kmem_cache_destroy(): cache `dlm_conn': Can't free all objects" and the DLM cannot be restarted without a system reboot. See bz#428119 Signed-off-by: Patrick Caulfield Signed-off-by: Fabio M. Di Nitto Signed-off-by: David Teigland commit 52bda2b5bab87c388848bbc0f4d28d04858d5a7d Author: David Teigland Date: Wed Nov 7 09:06:49 2007 -0600 dlm: use dlm prefix on alloc and free functions The dlm functions in memory.c should use the dlm_ prefix. Also, use kzalloc/kfree directly for dlm_direntry's, removing the wrapper functions. Signed-off-by: David Teigland commit 11b2498ba7c88343d91630d679c8f2aeb8d57c48 Author: David Teigland Date: Wed Nov 7 09:06:06 2007 -0600 dlm: don't print common non-errors Change log_error() to log_debug() for conditions that can occur in large number in normal operation. Signed-off-by: David Teigland commit e028398da7615dd3a795505ddf7942506bbb49bd Author: Adrian Bunk Date: Sat Nov 3 01:04:30 2007 +0100 dlm: proper prototypes This patch adds a proper prototype for some functions in fs/dlm/dlm_internal.h Signed-off-by: Adrian Bunk Signed-off-by: David Teigland commit 5b10ca19ea4859d3884d10a3eb8495de92089792 Author: Linus Torvalds Date: Wed Jan 30 09:54:54 2008 +1100 Mostly revert "e1000/e1000e: Move PCI-Express device IDs over to e1000e" The new e1000e driver is apparently not yet suitable for general use, so mark it experimental, and re-instate all the PCI-Express device IDs in the old and stable e1000 driver so that people (namely me) can continue to use a driver that actually works. Auke & co have been appraised of the situation. Cc: Auke Kok Cc: Jeff Garzik Cc: David Miller Signed-off-by: Linus Torvalds commit 6bd8fedaa16da1e24f38712ee759950d8c5f4f09 Author: Lon Hohberger Date: Thu Oct 25 18:51:54 2007 -0400 dlm: bind connections from known local address when using TCP A common problem occurs when multiple IP addresses within the same subnet are assigned to the same NIC. If we make a connection attempt to another address on the same subnet as one of those addresses, the connection attempt will not necessarily be routed from the address we want. In the case of the DLM, the other nodes will quickly drop the connection attempt, causing problems. This patch makes the DLM bind to the local address it acquired from the cluster manager when using TCP prior to making a connection, obviating the need for administrators to "fix" their systems or use clever routing tricks. Signed-off-by: Lon Hohberger Signed-off-by: Patrick Caulfield Signed-off-by: David Teigland commit f71ea9ddf0ff110f3fcbb89a46686bfba264014c Author: sergeh@us.ibm.com Date: Tue Jan 29 05:04:43 2008 -0800 security: compile capabilities by default Capabilities have long been the default when CONFIG_SECURITY=n, and its help text suggests turning it on when CONFIG_SECURITY=y. But it is set to default n. Default it to y instead. Signed-off-by: Serge Hallyn Acked-by: Matt LaPlante Signed-off-by: James Morris commit 374ea019cacfa8b69ae49eea993b74cb5968970b Author: Adrian Bunk Date: Tue Jan 29 00:11:52 2008 +0200 selinux: make selinux_set_mnt_opts() static selinux_set_mnt_opts() can become static. Signed-off-by: Adrian Bunk Signed-off-by: James Morris commit 71f1cb05f773661b6fa98c7a635d7a395cd9c55d Author: Paul Moore Date: Tue Jan 29 08:51:16 2008 -0500 SELinux: Add warning messages on network denial due to error Currently network traffic can be sliently dropped due to non-avc errors which can lead to much confusion when trying to debug the problem. This patch adds warning messages so that when these events occur there is a user visible notification. Signed-off-by: Paul Moore Signed-off-by: James Morris commit effad8df44261031a882e1a895415f7186a5098e Author: Paul Moore Date: Tue Jan 29 08:49:27 2008 -0500 SELinux: Add network ingress and egress control permission checks This patch implements packet ingress/egress controls for SELinux which allow SELinux security policy to control the flow of all IPv4 and IPv6 packets into and out of the system. Currently SELinux does not have proper control over forwarded packets and this patch corrects this problem. Special thanks to Venkat Yekkirala whose earlier work on this topic eventually led to this patch. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 13541b3adad2dc2f56761c5193c2b88db3597f0e Author: Paul Moore Date: Tue Jan 29 08:44:23 2008 -0500 NetLabel: Add auditing to the static labeling mechanism This patch adds auditing support to the NetLabel static labeling mechanism. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 8cc44579d1bd77ba3a32f2cb76fd9669c229c5fd Author: Paul Moore Date: Tue Jan 29 08:44:21 2008 -0500 NetLabel: Introduce static network labels for unlabeled connections Most trusted OSs, with the exception of Linux, have the ability to specify static security labels for unlabeled networks. This patch adds this ability to the NetLabel packet labeling framework. If the NetLabel subsystem is called to determine the security attributes of an incoming packet it first checks to see if any recognized NetLabel packet labeling protocols are in-use on the packet. If none can be found then the unlabled connection table is queried and based on the packets incoming interface and address it is matched with a security label as configured by the administrator using the netlabel_tools package. The matching security label is returned to the caller just as if the packet was explicitly labeled using a labeling protocol. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 5dbe1eb0cfc144a2b0cb1466e22bcb6fc34229a8 Author: Paul Moore Date: Tue Jan 29 08:44:18 2008 -0500 SELinux: Allow NetLabel to directly cache SIDs Now that the SELinux NetLabel "base SID" is always the netmsg initial SID we can do a big optimization - caching the SID and not just the MLS attributes. This not only saves a lot of per-packet memory allocations and copies but it has a nice side effect of removing a chunk of code. Signed-off-by: Paul Moore Signed-off-by: James Morris commit d621d35e576aa20a0ddae8022c3810f38357c8ff Author: Paul Moore Date: Tue Jan 29 08:43:36 2008 -0500 SELinux: Enable dynamic enable/disable of the network access checks This patch introduces a mechanism for checking when labeled IPsec or SECMARK are in use by keeping introducing a configuration reference counter for each subsystem. In the case of labeled IPsec, whenever a labeled SA or SPD entry is created the labeled IPsec/XFRM reference count is increased and when the entry is removed it is decreased. In the case of SECMARK, when a SECMARK target is created the reference count is increased and later decreased when the target is removed. These reference counters allow SELinux to quickly determine if either of these subsystems are enabled. NetLabel already has a similar mechanism which provides the netlbl_enabled() function. This patch also renames the selinux_relabel_packet_permission() function to selinux_secmark_relabel_packet_permission() as the original name and description were misleading in that they referenced a single packet label which is not the case. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 220deb966ea51e0dedb6a187c0763120809f3e64 Author: Paul Moore Date: Tue Jan 29 08:38:23 2008 -0500 SELinux: Better integration between peer labeling subsystems Rework the handling of network peer labels so that the different peer labeling subsystems work better together. This includes moving both subsystems to a single "peer" object class which involves not only changes to the permission checks but an improved method of consolidating multiple packet peer labels. As part of this work the inbound packet permission check code has been heavily modified to handle both the old and new behavior in as sane a fashion as possible. Signed-off-by: Paul Moore Signed-off-by: James Morris commit f67f4f315f31e7907779adb3296fb6682e755342 Author: Paul Moore Date: Tue Jan 29 08:38:21 2008 -0500 SELinux: Add a new peer class and permissions to the Flask definitions Add additional Flask definitions to support the new "peer" object class and additional permissions to the netif, node, and packet object classes. Also, bring the kernel Flask definitions up to date with the Fedora SELinux policies by adding the "flow_in" and "flow_out" permissions to the "packet" class. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 3bb56b25dbe0a4b44bd2ebceab6736d068e85068 Author: Paul Moore Date: Tue Jan 29 08:38:19 2008 -0500 SELinux: Add a capabilities bitmap to SELinux policy version 22 Add a new policy capabilities bitmap to SELinux policy version 22. This bitmap will enable the security server to query the policy to determine which features it supports. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 224dfbd81e1ff672eb46e7695469c395bd531083 Author: Paul Moore Date: Tue Jan 29 08:38:13 2008 -0500 SELinux: Add a network node caching mechanism similar to the sel_netif_*() functions This patch adds a SELinux IP address/node SID caching mechanism similar to the sel_netif_*() functions. The node SID queries in the SELinux hooks files are also modified to take advantage of this new functionality. In addition, remove the address length information from the sk_buff parsing routines as it is redundant since we already have the address family. Signed-off-by: Paul Moore Signed-off-by: James Morris commit da5645a28a15aed2e541a814ecf9f7ffcd4c4673 Author: Paul Moore Date: Tue Jan 29 08:38:10 2008 -0500 SELinux: Only store the network interface's ifindex Instead of storing the packet's network interface name store the ifindex. This allows us to defer the need to lookup the net_device structure until the audit record is generated meaning that in the majority of cases we never need to bother with this at all. Signed-off-by: Paul Moore Signed-off-by: James Morris commit e8bfdb9d0dfc1231a6a71e849dfbd4447acdfff6 Author: Paul Moore Date: Tue Jan 29 08:38:08 2008 -0500 SELinux: Convert the netif code to use ifindex values The current SELinux netif code requires the caller have a valid net_device struct pointer to lookup network interface information. However, we don't always have a valid net_device pointer so convert the netif code to use the ifindex values we always have as part of the sk_buff. This patch also removes the default message SID from the network interface record, it is not being used and therefore is "dead code". Signed-off-by: Paul Moore Signed-off-by: James Morris commit 75e22910cf0c26802b09dac2e34c13e648d3ed02 Author: Paul Moore Date: Tue Jan 29 08:38:04 2008 -0500 NetLabel: Add IP address family information to the netlbl_skbuff_getattr() function In order to do any sort of IP header inspection of incoming packets we need to know which address family, AF_INET/AF_INET6/etc., it belongs to and since the sk_buff structure does not store this information we need to pass along the address family separate from the packet itself. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 16efd45435fa695b501b7f73c3259bd7c77cc12c Author: Paul Moore Date: Tue Jan 29 08:37:59 2008 -0500 NetLabel: Add secid token support to the NetLabel secattr struct This patch adds support to the NetLabel LSM secattr struct for a secid token and a type field, paving the way for full LSM/SELinux context support and "static" or "fallback" labels. In addition, this patch adds a fair amount of documentation to the core NetLabel structures used as part of the NetLabel kernel API. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 1c3fad936acaf87b75055b95be781437e97d787f Author: Paul Moore Date: Tue Jan 29 08:37:57 2008 -0500 NetLabel: Consolidate the LSM domain mapping/hashing locks Currently we use two separate spinlocks to protect both the hash/mapping table and the default entry. This could be considered a bit foolish because it adds complexity without offering any real performance advantage. This patch removes the dedicated default spinlock and protects the default entry with the hash/mapping table spinlock. Signed-off-by: Paul Moore Signed-off-by: James Morris commit b64397e0b40e75b619aeef9a1fa21f79f801a3e8 Author: Paul Moore Date: Tue Jan 29 08:37:54 2008 -0500 NetLabel: Cleanup the LSM domain hash functions The NetLabel/LSM domain hash table search function used an argument to specify if the default entry should be returned if an exact match couldn't be found in the hash table. This is a bit against the kernel's style so make two separate functions to represent the separate behaviors. Signed-off-by: Paul Moore Signed-off-by: James Morris commit c783f1ce5712530ba404807c55d77ac782eb8a7d Author: Paul Moore Date: Tue Jan 29 08:37:52 2008 -0500 NetLabel: Remove unneeded RCU read locks This patch removes some unneeded RCU read locks as we can treat the reads as "safe" even without RCU. It also converts the NetLabel configuration refcount from a spinlock protected u32 into atomic_t to be more consistent with the rest of the kernel. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 9e97198dbf318be7958b57900d05b37c7e09ad7c Author: Jens Axboe Date: Tue Jan 29 21:05:57 2008 +0100 splice: fix problem with atime not being updated A bug report on nfsd that states that since it was switched to use splice instead of sendfile, the atime was no longer being updated on the input file. do_generic_mapping_read() does this when accessing the file, make splice do it for the direct splice handler. Signed-off-by: Jens Axboe commit 12f32bb31772e72d8cf52a29f961561bccc54c37 Author: Jan Engelhardt Date: Tue Jan 29 20:57:51 2008 +0100 block: constify function pointer tables Signed-off-by: Jan Engelhardt Signed-off-by: Jens Axboe commit e7d9dc9cfd9bcc9ca688fe7f94c0da7d0700bfe6 Author: Jens Axboe Date: Tue Jan 29 19:46:02 2008 +0100 cciss: fix bug in overriding ->data_len before completion For BLOCK_PC requests, we need that length for completing the request. Andrew Vasquez reported the following oops Hitting a consistent BUG() with recent Linus' linux-2.6.git: [ 12.941428] ------------[ cut here ]------------ [ 12.944874] kernel BUG at drivers/block/cciss.c:1260! [ 12.944874] invalid opcode: 0000 [1] SMP [ 12.944874] CPU 0 [ 12.944874] Modules linked in: [ 12.944874] Pid: 0, comm: swapper Not tainted 2.6.24 #43 [ 12.944874] RIP: 0010:[] [] cciss_softirq_done+0xbc/0x1bf [ 12.944874] RSP: 0018:ffffffff8063aed0 EFLAGS: 00010202 [ 12.944874] RAX: 0000000000000001 RBX: ffff8100cf800010 RCX: ffff81042f1253b0 [ 12.944874] RDX: ffff81042de398f0 RSI: ffff81042de398f0 RDI: 0000000000000001 [ 12.944874] RBP: ffff81042daa0000 R08: ffff81042f1253b0 R09: 0000000000000001 [ 12.944874] R10: 00000000000000fe R11: 0000000000000000 R12: 0000000000000002 [ 12.944874] R13: 0000000000000001 R14: ffff8100cf800000 R15: ffff81042de398f0 [ 12.944874] FS: 0000000000000000(0000) GS:ffffffff805bb000(0000) knlGS:0000000000000000 [ 12.944874] CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b [ 12.944874] CR2: 00002afed7eea340 CR3: 000000042dbba000 CR4: 00000000000006e0 [ 12.944874] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 12.944874] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 12.944874] Process swapper (pid: 0, threadinfo ffffffff805f4000, task ffffffff805624a0) [ 12.944874] Stack: 0000000000000000 ffffffff8063af10 0000000000000001 ffffffff80632d60 [ 12.944874] 0000000000000000 000000000000000a ffffffff805bb900 ffffffff8032038f [ 12.944874] ffffffff8063af10 ffffffff8063af10 ffffffff805bb940 ffffffff802346b4 [ 12.944874] Call Trace: [ 12.944874] [] blk_done_softirq+0x69/0x78 [ 12.944874] [] __do_softirq+0x6f/0xd8 [ 12.944874] [] call_softirq+0x1c/0x30 [ 12.944874] [] do_softirq+0x30/0x80 [ 12.944874] [] do_IRQ+0x72/0xd9 [ 12.944874] [] mwait_idle+0x0/0x46 [ 12.944874] [] default_idle+0x0/0x3d [ 12.944874] [] ret_from_intr+0x0/0xa [ 12.944874] [] mwait_idle+0x42/0x46 [ 12.944874] [] cpu_idle+0x6a/0xae [ 12.944874] [ 12.944874] [ 12.944874] Code: 0f 0b eb fe 48 8d 85 d8 c0 00 00 48 89 04 24 48 89 c7 e8 e5 [ 12.944874] RIP [] cciss_softirq_done+0xbc/0x1bf [ 12.944874] RSP [ 12.944903] ---[ end trace e9c631603f90d22f ]--- which is caused by blk_end_request() returning 'not done' for a request, since it gets asked to complete zero bytes. Signed-off-by: Jens Axboe commit e68b903c6b2b88c60050675b056648468f33ab54 Author: Martin K. Petersen Date: Tue Jan 29 19:14:08 2008 +0100 Expose hardware sector size Expose hardware sector size in sysfs queue directory. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 7da975a231ae8c11593fd79d1083215321be213a Author: Martin K. Petersen Date: Tue Jan 29 19:12:06 2008 +0100 Fix blktrace compile warning request_queue_t is deprecated Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 023ccde109b995bb99862bf9c87efd006b1d1885 Author: Jens Axboe Date: Tue Jan 29 14:08:06 2008 +0100 block: fix warning on compile with CONFIG_BLOCK struct io_context was not defined, just add an empty forward decl. Signed-off-by: Jens Axboe commit d6d48196961729b79509dcaeeb0f0fb4fbb47d29 Author: Jens Axboe Date: Tue Jan 29 14:04:06 2008 +0100 block: ll_rw_blk.c split, add blk-merge.c Signed-off-by: Jens Axboe commit db1d08c646e47f3c7835ecdabb51a906ec311f69 Author: Jens Axboe Date: Tue Jan 29 13:55:40 2008 +0100 block: remove dated (and wrong) comment in blk-core.c Signed-off-by: Jens Axboe commit 26b8256e2bb930a8e4d4d10aa74950d8921376b8 Author: Jens Axboe Date: Tue Jan 29 13:54:41 2008 +0100 block: get rid of unnecessary forward declarations in blk-core.c Signed-off-by: Jens Axboe commit 86db1e29772372155db08ff48a9ceb76e11a2ad1 Author: Jens Axboe Date: Tue Jan 29 14:53:40 2008 +0100 block: continue ll_rw_blk.c splitup Adds files for barrier handling, rq execution, io context handling, mapping data to requests, and queue settings. Signed-off-by: Jens Axboe commit 8324aa91d1e11a1fc25f209687a0b2e6c2ed47d0 Author: Jens Axboe Date: Tue Jan 29 14:51:59 2008 +0100 block: split tag and sysfs handling from blk-core.c Seperates the tag and sysfs handling from ll_rw_blk. Signed-off-by: Jens Axboe commit a168ee84c90b39ece357da127ab388f2f64db19c Author: Jens Axboe Date: Tue Jan 29 14:49:21 2008 +0100 block: first step of splitting ll_rw_blk, rename it Then we retain history in blk-core.c Signed-off-by: Jens Axboe commit 9bf722598fcd51073974850ae026b44389430ecc Author: Jens Axboe Date: Tue Jan 29 21:54:53 2008 +0100 xsysace: end request handling fix In ace_fsm_dostate(), the variable 'i' was used only for passing sector size of the request to end_that_request_first(). So I removed it and changed the code to pass the size in bytes directly to __blk_end_request() Signed-off-by: Jens Axboe commit 1ceea8243aa917ac7fc5a4a6585dea4789f7c20f Author: Thomas Bogendoerfer Date: Sun Dec 2 12:54:42 2007 +0100 [WATCHDOG] use SGI_HAS_INDYDOG for INDYDOG depends Use SGI_HAS_INDYDOG for INDYDOG depends. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Wim Van Sebroeck Cc: Ralf Baechle Signed-off-by: Andrew Morton commit 0ba6c33bcddc64a54b5f1c25a696c4767dc76292 Merge: 21af029... 85040bc... Author: Linus Torvalds Date: Tue Jan 29 22:54:01 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.25 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.25: (1470 commits) [IPV6] ADDRLABEL: Fix double free on label deletion. [PPP]: Sparse warning fixes. [IPV4] fib_trie: remove unneeded NULL check [IPV4] fib_trie: More whitespace cleanup. [NET_SCHED]: Use nla_policy for attribute validation in ematches [NET_SCHED]: Use nla_policy for attribute validation in actions [NET_SCHED]: Use nla_policy for attribute validation in classifiers [NET_SCHED]: Use nla_policy for attribute validation in packet schedulers [NET_SCHED]: sch_api: introduce constant for rate table size [NET_SCHED]: Use typeful attribute parsing helpers [NET_SCHED]: Use typeful attribute construction helpers [NET_SCHED]: Use NLA_PUT_STRING for string dumping [NET_SCHED]: Use nla_nest_start/nla_nest_end [NET_SCHED]: Propagate nla_parse return value [NET_SCHED]: act_api: use PTR_ERR in tcf_action_init/tcf_action_get [NET_SCHED]: act_api: use nlmsg_parse [NET_SCHED]: act_api: fix netlink API conversion bug [NET_SCHED]: sch_netem: use nla_parse_nested_compat [NET_SCHED]: sch_atm: fix format string warning [NETNS]: Add namespace for ICMP replying code. ... commit 21af0297c7e56024a5ccc4d8ad2a590f9ec371ba Merge: 5ea293a... a9d2517... Author: Linus Torvalds Date: Tue Jan 29 22:48:03 2008 +1100 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (68 commits) [MIPS] remove Documentation/mips/GT64120.README [MIPS] Malta: remaining bits of the board support code cleanup [MIPS] Malta: make the helper function static [MIPS] Malta: fix braces at single statement blocks [MIPS] Malta, Atlas: move an extern function declaration to the header file [MIPS] Malta: Use C89 style for comments [MIPS] Malta: else should follow close brace in malta_int.c [MIPS] Malta: remove a superfluous comment [MIPS] Malta: include instead of [MIPS] Malta, Atlas, Sead: remove an extern from .c files [MIPS] Malta: fix oversized lines in malta_int.c [MIPS] Malta: remove a dead function declaration [MIPS] Malta: use tabs not spaces [MIPS] Malta: set up the screen info in a separate function [MIPS] Malta: check the PCI clock frequency in a separate function [MIPS] Malta: use the KERN_ facility level in printk() [MIPS] Malta: use Linux kernel style for structure initialization [MIPS]: constify function pointer tables [MIPS] compat: handle argument endianess of sys32_(f)truncate64 with merge_64 [MIPS] Cobalt 64-bits kernels can be safely unmarked experimental ... commit 5ea293a9048d3a58cb0c840fa719d85ad14cba47 Merge: 03bc26c... d3883ec... Author: Linus Torvalds Date: Tue Jan 29 22:46:14 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: (79 commits) Remove references to "make dep" kconfig: document use of HAVE_* Introduce new section reference annotations tags: __ref, __refdata, __refconst kbuild: warn about ld added unique sections kbuild: add verbose option to Section mismatch reporting in modpost kconfig: tristate choices with mixed tristate and boolean values asm-generic/vmlix.lds.h: simplify __mem{init,exit}* dependencies remove __attribute_used__ kbuild: support ARCH=x86 in buildtar kconfig: remove "enable" kbuild: simplified warning report in modpost kbuild: introduce a few helpers in modpost kbuild: use simpler section mismatch warnings in modpost kbuild: link vmlinux.o before kallsyms passes kbuild: introduce new option to enhance section mismatch analysis Use separate sections for __dev/__cpu/__mem code/data compiler.h: introduce __section() all archs: consolidate init and exit sections in vmlinux.lds.h kbuild: check section names consistently in modpost kbuild: introduce blacklisting in modpost ... commit 03bc26cfefd6db756e6bc7fcda11dc17ada7be16 Merge: 8cd226c... 6494a93... Author: Linus Torvalds Date: Tue Jan 29 22:45:39 2008 +1100 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: Module: check to see if we have a built in module with the same name module: add module taint on ndiswrapper module: fix the module name length in param_sysfs_builtin module: make module_address_lookup safe module: better OOPS and lockdep coverage for loading modules module: Fix gratuitous sprintf in module.c module: wait for dependent modules doing init. module: Don't report discarded init pages as kernel text. commit 8cd226ca3f64f28c8123ebfaa6afe8dc8c18b174 Merge: 6b11d81... 4019191... Author: Linus Torvalds Date: Tue Jan 29 22:43:38 2008 +1100 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (50 commits) jbd2: sparse pointer use of zero as null jbd2: Use round-jiffies() function for the "5 second" ext4/jbd2 wakeup jbd2: Mark jbd2 slabs as SLAB_TEMPORARY jbd2: add lockdep support ext4: Use the ext4_ext_actual_len() helper function ext4: fix uniniatilized extent splitting error ext4: Check for return value from sb_set_blocksize ext4: Add stripe= option to /proc/mounts ext4: Enable the multiblock allocator by default ext4: Add multi block allocator for ext4 ext4: Add new functions for searching extent tree ext4: Add ext4_find_next_bit() ext4: fix up EXT4FS_DEBUG builds ext4: Fix ext4_show_options to show the correct mount options. ext4: Add EXT4_IOC_MIGRATE ioctl ext4: Add inode version support in ext4 vfs: Add 64 bit i_version support ext4: Add the journal checksum feature jbd2: jbd2 stats through procfs ext4: Take read lock during overwrite case. ... commit a9d2517c7a5c8028fbc5296d3af3c75597d3d180 Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:57 2008 +0300 [MIPS] remove Documentation/mips/GT64120.README Based upon the 2.4 kernel, the information presented in the Documentation/mips/GT64120.README file is outdated. Worse, the document contents are plain misleading nowadays because the text mentions files and directories, which have been deleted, moved or restructured for 2.6. This patch removes the documentation, which is no more valid. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 750dc31c480e5062b526134f090a029afd7e17fd Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:56 2008 +0300 [MIPS] Malta: remaining bits of the board support code cleanup This patch factors out the code, which handles the Bonito system controller. The case of not supporting the DMA coherency is handled separately to make the logic obvious. Besides, a couple of empty lines added to beautify the code even further. No functional changes introduced. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit ef7645cfe6f785de3bdc2ae6016924f46f614d61 Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:55 2008 +0300 [MIPS] Malta: make the helper function static One helper function can become static. This patch adds the needed keyword. No functional changes introduced. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit cd80d548594aae0ee915e01050279399cb14943b Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:54 2008 +0300 [MIPS] Malta: fix braces at single statement blocks This patch fixes a couple of warnings reported by checkpatch.pl. No functional changes introduced. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit bbdda5e1fe9c1a5b34a2b552910f5f4c0dc24485 Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:53 2008 +0300 [MIPS] Malta, Atlas: move an extern function declaration to the header file This was compile-tested using default configs for the boards affected by this change. This patch does not introduce any functional changes. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit ae9cef0b7949c0d528962127f2bccf7c753949df Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:52 2008 +0300 [MIPS] Malta: Use C89 style for comments Remove comments in C99 style and make checkpatch.pl happy. No functional changes introduced. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 52b3fc04ba3289ffa42fac84bfa35ef2613fc917 Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:51 2008 +0300 [MIPS] Malta: else should follow close brace in malta_int.c This patch fixes two errors reported by checkpatch.pl. No functional changes introduced. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit a6352cddc743300b0b64b5fd8dfb688524e884e9 Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:50 2008 +0300 [MIPS] Malta: remove a superfluous comment Using the "We die here" comment right before calling the die() function is an extremely vivid example of overcommenting. Remove the redundant comment and save one line. No functional changes introduced. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 54bf038e2216212b1728861b1a15fc0cc1ad1d2e Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:49 2008 +0300 [MIPS] Malta: include instead of The checkpatch.pl script reported a few warnings about header files. This patch fixes these warnings. Compile-tested using the default Malta config. No functional changes introduced. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 1997267072d6bfadb37d336779e6122c2d44343d Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:48 2008 +0300 [MIPS] Malta, Atlas, Sead: remove an extern from .c files This patch moves the "extern" declaration for the function mips_reboot_setup() from the board setup .c files to the header file include/asm-mips/mips-boards/generic.h. This fixes a warning produced by the checkpatch.pl script. No functional changes introduced. This was compile-tested by building the kernel for all three boards affected by this change. All builds finished successfully. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit f80714966795ecfe6261509d0270d9761b07b462 Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:47 2008 +0300 [MIPS] Malta: fix oversized lines in malta_int.c This patch fixes all "line over 80 characters" warnings found in arch/mips/mips-boards/malta/malta_int.c by the checkpatch.pl script. No functional changes introduced. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 82a1791772b3873cbc10152b36cf6cf994a79ff5 Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:46 2008 +0300 [MIPS] Malta: remove a dead function declaration Neither is the mips_rtc_get_time() routine defined anywhere in the MIPS architecture-specific code, nor does anyone call it any more. This patch removes the extern declaration of this fossil. This patch does not introduce any functional changes. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit af825586c04d5ab9871d3980db9a0aa23197789e Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:45 2008 +0300 [MIPS] Malta: use tabs not spaces This patch fixes all "use tabs not spaces" warnings reported by the checkpatch.pl script on the board-specific files. No functional changes introduced. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit a382963edc55815b9ec56259c87b1405083acadf Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:44 2008 +0300 [MIPS] Malta: set up the screen info in a separate function This patch adds a separate short and sweet function to initialize the screen_info global variable. This improves readability of the Malta board setup code. No functional changes introduced. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit f3a4ce9587cd1e810f31c87ecb89033d5fd269ce Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:43 2008 +0300 [MIPS] Malta: check the PCI clock frequency in a separate function This patch adds a separate short and sweet function to check the PCI clock frequency. This is to improve readability of the Malta setup code. Along the way, a couple of coding style violations are fixed. No functional changes introduced. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 8216d348e374b369338f015ca34492de1e381214 Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:42 2008 +0300 [MIPS] Malta: use the KERN_ facility level in printk() This patch adds the KERN_ macros to printk() calls. Where applicable, spaces are replaced by tabs. These changes noticeably reduce the number of errors and warnings reported by the checkpatch.pl script for the malta_int.c file. Before the patch: total: 47 errors, 20 warnings, 354 lines checked After the patch: total: 34 errors, 7 warnings, 355 lines checked No functional changes introduced. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 4ca765135414e85c80f0a68bb35189472bb9ad1e Author: Dmitri Vorobiev Date: Thu Jan 24 19:52:41 2008 +0300 [MIPS] Malta: use Linux kernel style for structure initialization This patch reformats the structure initialization code thus making the latter look idiomatic. No functional changes introduced. Signed-off-by: Dmitri Vorobiev Signed-off-by: Ralf Baechle commit 12323cacca2014dcf517d1988fcdb8e44a1f497b Author: Jan Engelhardt Date: Tue Jan 22 20:42:33 2008 +0100 [MIPS]: constify function pointer tables Signed-off-by: Jan Engelhardt Signed-off-by: Ralf Baechle commit d4e9cffa161da806cb4bc9df4a4e49d287156bfa Author: Ralf Baechle Date: Tue Jan 29 10:15:02 2008 +0000 [MIPS] compat: handle argument endianess of sys32_(f)truncate64 with merge_64 Signed-off-by: Ralf Baechle commit 0e8774b621513e3cc07fa5a7b05adc295c95eeee Author: Florian Fainelli Date: Tue Jan 15 19:42:57 2008 +0100 [MIPS] Cobalt 64-bits kernels can be safely unmarked experimental 64-bits Cobalt kernels run fine. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 302922e5f6901eb6f29c58539631f71b3d9746b8 Author: Ralf Baechle Date: Tue Jan 29 10:15:02 2008 +0000 [MIPS] Qemu: Remove platform. The Qemu platform was originally implemented to have an easily supportable platform until Qemu reaches a state where it emulates a real world system. Since the latest release Qemu is capable of emulating the MIPSsim and Malta platforms, so this goal has been reached. The Qemu plaform is also rather underfeatured so less useful than a Malta emulation. Signed-off-by: Ralf Baechle commit 9900485893c004245cbaeef050fe6ba5453a5925 Author: Vitaly Wool Date: Sat Jan 12 16:03:40 2008 +0300 [MIPS] pnx8xxx: clocksource cleanups Signed-off-by: Vitaly Wool Signed-off-by: Ralf Baechle commit 8a39c520b28f1ffa528baaae6ecfaa3feb5377a5 Author: Daniel Walker Date: Thu Jan 10 20:53:21 2008 -0800 [MIPS] Lasat: Convert pvc_sem semaphore to mutex I also changed the name to pvc_mutex, and moved the define to the file it's used in which allows it to be static. Signed-off-by: Daniel Walker Signed-off-by: Ralf Baechle commit f6ed10ab972b00cd57567a2ac9e393226840e458 Author: Florian Fainelli Date: Mon Jan 7 19:00:46 2008 +0100 [MIPS] MTX-1: Add GPIO system button This patch adds support for the GPIO connected system button on the MTX-1 boards. Default configuration is updated accordingly. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 2d47c58efadd33b8399f3f440b7e9cf93692f262 Author: Ralf Baechle Date: Tue Jan 29 10:15:01 2008 +0000 [MIPS] Delete CONFIG_MSP_FPGA Originally noticed by Jiri Olsa . Signed-off-by: Ralf Baechle commit 9c746edb35c9800e2ad9f64b5d96d0732c42b74b Author: Yoichi Yuasa Date: Wed Dec 12 22:39:54 2007 +0900 [MIPS] move the eXcite local config to excitedirectory Moved the eXcite local config to excite directory. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 167da469e521ec608f632137a63c827f175e2679 Author: Yoichi Yuasa Date: Wed Dec 12 22:23:13 2007 +0900 [MIPS] add cpu_wait() to machine_halt() Added cpu_wait() to machine_halt(). For the power reduction in halt. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 71466dd477c7a67d188d1d8310c7016a88531a04 Author: Yoichi Yuasa Date: Wed Dec 12 22:20:19 2007 +0900 [MIPS] remove unneeded button check for reset Removed unneeded button check for reset. Because, the Cobalt has power switch. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 991f8b6ac5a7284612679f4a095578b460555e8f Author: Yoichi Yuasa Date: Wed Dec 12 22:11:09 2007 +0900 [MIPS] move vr41xx_calculate_clock_frequency() to plat_time_init() Moved vr41xx_calculate_clock_frequency() to plat_time_init(). This function relates to the timer function. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit c9662341f8a09cffd7234a89cc066c342fe343bf Author: Yoichi Yuasa Date: Sun Dec 9 21:19:36 2007 +0900 [MIPS] time: remove unused mips_timer_state() Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit fa71c96002d1b02cd1ba1a4477d4b8ad95b587f9 Author: Ralf Baechle Date: Tue Jan 29 10:15:00 2008 +0000 [MIPS] Altas, Malta: Switch boot file format to raw. A raw binary boots about twice as fast as SREC. The possibility to generate SREC binaries remains by simply using the vmlinux.srec target but seems only useful for the probably hypothetical case where one of these systems is booted over a serial interface. Signed-off-by: Ralf Baechle commit ae0c69acd61918cecd8e2949d9575271bc2fdfff Author: Ralf Baechle Date: Tue Jan 29 10:15:00 2008 +0000 [MIPS] fixmap: delete unused __set_fixmap, set_fixmap and set_fixmap_nocache Signed-off-by: Ralf Baechle commit 39a51109dd14001185b0cd122ca46cce1d0795bf Author: Ralf Baechle Date: Tue Jan 29 10:14:59 2008 +0000 [MIPS] Extend performance counter event field. The latest draft version of the MIPS Architecture Specification extends the 6 bit event field by adding a directly adjacent 4-bit EventExt field for a total of 10 bits. Signed-off-by: Ralf Baechle commit 231a35d37293ab88d325a9cb94e5474c156282c0 Author: Thomas Bogendoerfer Date: Fri Jan 4 23:31:07 2008 +0100 [MIPS] RM: Collected changes - EISA support for non PCI RMs (RM200 and RM400-xxx). The major part is the splitting of the EISA and onboard ISA of the RM200, which makes the EISA bus on the RM200 look like on other RMs. - 64bit kernel support - system type detection is now common for big and little endian - moved sniprom code to arch/mips/fw - added call_o32 function to arch/mips/fw/lib, which uses a private stack for calling prom functions - fix problem with ISA interrupts, which makes using PIT clockevent possible Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 237cfee1db66147aef4457f02b56a41e6f84bfd3 Author: Manuel Lauss Date: Thu Dec 6 09:07:55 2007 +0100 [MIPS] Alchemy: Au1210/Au1250 CPU support This patch adds IDs for new Au1200 variants: Au1210 and Au1250. They are essentially identical to the Au1200 except for the Au1210 which has a different SoC-ID in the PRId register [bits 31:24]. The Au1250 is a "Au1200 V0.2". Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit c5ec1983e45d25446a023e98207e30ab1bf2311a Author: Ralf Baechle Date: Tue Jan 29 10:14:59 2008 +0000 [MIPS] Eleminate local symbols from the symbol table. These symbols appear in oprofile output, stacktraces and similar but only make the output harder to read. Many identical symbol names such as "both_aligned" were also being used in multiple source files making it impossible to see which file actually was meant. So let's get rid of them. Signed-off-by: Ralf Baechle commit f21d8508080f05a8b05c99fce57cd76ac43666fa Author: Ralf Baechle Date: Tue Jan 29 10:14:59 2008 +0000 [MIPS] Fulong: don't reinitialize pci_probe_only to it's default value. Signed-off-by: Ralf Baechle commit 07c019bcccbfb7ca148494444442a3c48880729a Author: Ralf Baechle Date: Tue Jan 29 10:14:59 2008 +0000 [MIPS] BCM1480: Use constants instead of magic numbers in PCI code. Signed-off-by: Ralf Baechle commit e2defae5a9b4f8d1acb058be212ef89c8763dc5b Author: Thomas Bogendoerfer Date: Sun Dec 2 13:00:32 2007 +0100 [MIPS] IP28 support Add support for SGI IP28 machines (Indigo 2 with R10k CPUs) This work is mainly based on Peter Fuersts work. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 81149be11327cbad006f82318f46e0b68a7b14ad Author: Ralf Baechle Date: Tue Jan 29 10:14:58 2008 +0000 [MIPS] Remove CONFIG_SIBYTE_PT{1120,1125,SWARM} According to Broadcom the PT systems are production test systems which never reached customers so no need to keep the fragmentary support we currently have. Signed-off-by: Ralf Baechle commit c7c6b39050aed4af913c17970ebfb592bae757fc Author: Thomas Bogendoerfer Date: Tue Nov 27 19:31:33 2007 +0100 [MIPS] Use correct dma flushing in dma_cache_sync() Not cache coherent R10k systems (like IP28) need to do real cache invalidates in dma_cache_sync(). Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 930bff882296c02ca81db108672ef4ca06c37db5 Author: Thomas Bogendoerfer Date: Sun Nov 25 11:47:56 2007 +0100 [MIPS] IP28: added cache barrier to assembly routines IP28 needs special treatment to avoid speculative accesses. gcc takes care for .c code, but for assembly code we need to do it manually. This is taken from Peter Fuersts IP28 patches. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 2064ba23e58daa929eec6f5e7a2abc24574a95b9 Author: Atsushi Nemoto Date: Sat Nov 24 01:20:27 2007 +0900 [MIPS] TXx9 watchdog support for rbhma3100,rbhma4200,rbhma4500 This patch adds support for txx9wdt driver to rbhma3100, rbhma4200 and rbhma4500 platform. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 68efdb81c6c3b5c1df7169a4b460907198b19103 Author: Thomas Bogendoerfer Date: Sun Nov 25 11:27:06 2007 +0100 [MIPS] IP22/IP28: fix extracting board/chip rev Taken from Peter Fuersts IP28 patches Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit e9c33572a92aa2ee565da5136745ea304ac23d9a Author: Thomas Bogendoerfer Date: Mon Nov 26 23:40:01 2007 +0100 [MIPS] Use real cache invalidate R10k non coherent machines need a real dma cache invalidate to get rid of speculative stores in cache. For other machines this promises a slight speedup. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 87353d8ac39c52784da605ecbe965ecdfad609ad Author: Ralf Baechle Date: Mon Nov 19 12:23:51 2007 +0000 [MIPS] SMP: Call platform methods via ops structure. Signed-off-by: Ralf Baechle commit 19388fb092d89e179575bd0b44f51b57e175edf5 Author: Ralf Baechle Date: Tue Jan 29 10:14:57 2008 +0000 [MIPS] Cleanup pcspeaker platform device registration. Move registration into the actual platform code instead of making a desparate attempt at sharing the hand full of likes of code in pcspeaker.c. Signed-off-by: Ralf Baechle commit 0ab7aefc4d43a6dee26c891b41ef9c7a67d2379b Author: Ralf Baechle Date: Fri Mar 2 20:42:04 2007 +0000 [MIPS] MT: Scheduler support for SMT Signed-off-by: Ralf Baechle commit 92b1e6a64a8d9d5ed3ec8797eed8b36e2164a410 Author: Franck Bui-Huu Date: Thu Oct 18 09:11:17 2007 +0200 [MIPS] tlbex.c: cleanup debug code Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit cbdbe07f9d60b80c903bddf6533db839789925c7 Author: Franck Bui-Huu Date: Thu Oct 18 09:11:16 2007 +0200 [MIPS] tlbex.c: use __cacheline_aligned instead of __tlb_handler_align Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit f49b94d8c111e86e4e04a5a0eb83988d9d935d56 Author: Franck Bui-Huu Date: Thu Oct 18 09:11:15 2007 +0200 [MIPS] tlbex.c: cleanup include files Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit a9af6041e9e7ed0278d03333c3a22a8509f33615 Author: Franck Bui-Huu Date: Thu Oct 18 09:11:14 2007 +0200 [MIPS] tlbex.c: Cleanup __init usages. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 3f4ac2dc0504962b6cb9367adbc13272393b80b3 Author: Robert P. J. Day Date: Tue Nov 6 01:55:12 2007 -0500 [MIPS] Delete now-unreferenced i2c-yosemite.h header file. Given that the corresponding source file i2c-yosemite.c file was removed in commit daa4a68f901c4d6491baa1a01f5c869a553c3f6c, and that no one else includes this file, it seems safe to delete it. Signed-off-by: Robert P. J. Day Signed-off-by: Ralf Baechle commit adfb8998669a77c7942f220adf1c1fe8ced9deb6 Author: Lucas Woods Date: Tue Nov 6 07:13:47 2007 +1100 [MIPS] Remove duplicate includes. Signed-off-by: Lucas Woods Signed-off-by: Ralf Baechle commit fa09187c34e0d8c8337268a757cff942192131b1 Author: Roel Kluin <12o3l@tiscali.nl> Date: Fri Nov 2 19:59:05 2007 +0100 [MIPS] ARC: Use strchr instead of strstr. Use strchr instead of strstr when searching for a single character Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Ralf Baechle commit 33202349eff1f90a593924a61291e5466306ab8e Author: Ralf Baechle Date: Tue Jan 29 10:14:56 2008 +0000 [MIPS] Remove useless S-cache flushes. Signed-off-by: Ralf Baechle commit 526af35e5db81758da8488d381610ed9d1fba8f7 Author: Ralf Baechle Date: Tue Jan 29 10:14:55 2008 +0000 [MIPS] Use pte_present instead of open coded test for _PAGE_PRESENT. Signed-off-by: Ralf Baechle commit 48ef2626aeecac3b160d1aee38ac46d6c3540122 Author: Andrew Sharp Date: Wed Oct 31 14:11:24 2007 -0700 [MIPS] Put cast inside macro instead of all the callers Since all the callers of the PHYS_TO_XKPHYS macro call with a constant, put the cast to LL inside the macro where it really should be rather than in all the callers. This makes macros like PHYS_TO_XKSEG_UNCACHED work without gcc whining. Signed-off-by: Andrew Sharp Signed-off-by: Ralf Baechle commit 2206583dd5e370c3c3a30f7e67272e44abab9093 Author: Yoichi Yuasa Date: Thu Nov 1 21:35:39 2007 +0900 [MIPS] clean up au1xxx_irqmap.c include files Clean up au1xxx_irqmap.c include files. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 7f3f4900619743f4e3af21e9228748c3d692a2c2 Author: Yoichi Yuasa Date: Fri Oct 26 22:42:31 2007 +0900 [MIPS] remove unused mips_machtype Removed unused mips_machtype. These are only set but not used. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 417345d8f5bacc291138c99a292a8ca69947530e Author: Christoph Hellwig Date: Mon Oct 29 14:23:43 2007 +0000 [MIPS] CFE: Make code remotely resemble Linux code. Signed-off-by: Ralf Baechle commit 8b6c2324bf2b023e26d53052bbcddcbf2f2c97ee Author: Atsushi Nemoto Date: Wed Oct 24 23:16:56 2007 +0900 [MIPS] cleanup tx39/tx49 setup code Remove some unnecessary codes, includes and files. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 619b6e18fce20e4b2d0082cde989f37e1be7b3e1 Author: Maciej W. Rozycki Date: Tue Oct 23 12:43:25 2007 +0100 [MIPS] R4000/R4400 daddiu erratum workaround This complements the generic R4000/R4400 errata workaround code and adds bits for the daddiu problem. In most places it just modifies handwritten assembly code so that the assembler is allowed to use a temporary register as daddiu may now be treated as a macro that expands to a sequence of li and daddu. It is the AT register or, where AT is unavailable or used explicitly for another purpose, an explicitly-named register is selected, using the .set at= feature added recently to gas. This feature is only used if CONFIG_CPU_DADDI_WORKAROUNDS has been set, so if the workaround remains disabled, the required version of binutils stays unchanged. Similarly, daddiu instructions put in branch delay slots in noreorder fragments are now taken out of them and the assembler is allowed to reorder them itself as possible (which it does making the whole idea of scheduling them into delay slots manually questionable). Also in the very few places where such a simple conversion was not possible, a handcoded longer sequence is implemented. Other than that there are changes to code responsible for building the TLB fault and page clear/copy handlers to avoid daddiu as appropriate. These are only effective if the erratum is verified to be present at the run time. Finally there is a trivial update to __delay(), because it uses daddiu in a branch delay slot. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit 20d60d9973c3b441902b0a3f4f6f7e7ade08f77d Author: Maciej W. Rozycki Date: Tue Oct 23 12:43:11 2007 +0100 [MIPS] R4000/R4400 errata workarounds This is the gereric part of R4000/R4400 errata workarounds. They include compiler and assembler support as well as some source code modifications to address the problems with some combinations of multiply/divide+shift instructions as well as the daddi and daddiu instructions. Changes included are as follows: 1. New Kconfig options to select workarounds by platforms as necessary. 2. Arch top-level Makefile to pass necessary options to the compiler; also incompatible configurations are detected (-mno-sym32 unsupported as horribly intrusive for little gain). 3. Bug detection updated and shuffled -- the multiply/divide+shift problem is lethal enough that if not worked around it makes the kernel crash in time_init() because of a division by zero; the daddiu erratum might also trigger early potentially, though I have not observed it. On the other hand the daddi detection code requires the exception subsystem to have been initialised (and is there mainly for information). 4. r4k_daddiu_bug() added so that the existence of the erratum can be queried by code at the run time as necessary; useful for generated code like TLB fault and copy/clear page handlers. 5. __udelay() updated as it uses multiplication in inline assembly. Note that -mdaddi requires modified toolchain (which has been maintained by myself and available from my site for ~4years now -- versions covered are GCC 2.95.4 - 4.1.2 and binutils from 2.13 onwards). The -mfix-r4000 and -mfix-r4400 have been standard for a while though. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit 2b22c034d04d3632a339d14d5803c8f94e412608 Author: Alejandro Martinez Ruiz Date: Mon Oct 22 21:36:44 2007 +0200 [MIPS] Converting most array size calculations to use ARRAY_SIZE(). Signed-off-by: Alejandro Martinez Ruiz Signed-off-by: Ralf Baechle commit 161548bf3529d53398adb3451cdc781cc324fc1d Author: Ralf Baechle Date: Tue Jan 29 10:14:54 2008 +0000 [MIPS] tlbex: Cleanup handling of R2 hazards in TLB handlers. Signed-off-by: Ralf Baechle commit 6920df4025b426cb3c9756944a965fe9ccb30925 Author: Ralf Baechle Date: Tue Jan 29 10:14:54 2008 +0000 [MIPS] Delete unused CONFIG_64BIT_CONTEXT The merge of the code to use this was never completed so delete it for the time being. Signed-off-by: Ralf Baechle commit e414004e94b5aebf57ca11be009fed5e39f5b6a8 Author: Ralf Baechle Date: Tue Jan 29 10:14:54 2008 +0000 [MIPS] Delete unused CONFIG_DMA_IP32. The functionality of the former dma-ip32.c has been folded into dma-default.c. Signed-off-by: Ralf Baechle commit 69d79186dc48ca22a0ce69511bef8ef6c2465ada Author: Kyungmin Park Date: Fri Dec 14 14:47:21 2007 +0900 [MTD] [OneNAND] Use pre-alloced oob buffer instead of local buffer Signed-off-by: Kyungmin Park commit 978cb38a296fceac82a8a757f6387d7ef2a21ac6 Author: Sheng Yongjie (Sam Date: Thu Dec 13 11:47:33 2007 +0900 [MTD] [OneNAND] Use the u_char instead of char in oobbuf In function onenand_verify_oob, local variable oobbuf shall be unsigned char. In the case of a value is >= 0x80, it's unequal in comparing the value in an unsigned char and signed char. Signed-off-by: Sheng Yongjie (Sam) Signed-off-by: Kyungmin Park commit b2581be291aa8595eadf3d6933d04d0f1d01b46d Author: Kyungmin Park Date: Thu Dec 13 09:39:29 2007 +0900 [MTD] [OneNAND] Check the initial bad block using ONENAND_CTRL_ERROR Some chips don't set the ONENAND_CTRL_LOAD bit. Signed-off-by: Kyungmin Park commit e71f04fc9234b14636887ceb5862755f1690642c Author: Kyungmin Park Date: Tue Dec 11 11:23:45 2007 +0900 [MTD] [OneNAND] Get correct density from device ID Use the higher bits for other purpose. Signed-off-by: Kyungmin Park commit b21b72cf33bb212414c1d967850e261b795befa4 Author: Kyungmin Park Date: Tue Dec 11 11:13:18 2007 +0900 [MTD] [OneNAND] Consolidate OneNAND operation order Consolidate OneNAND operation order as OneNAND Spec. It also doesn't break previous operation order. Signed-off-by: Kyungmin Park commit 9d2f0b7a3de28d06ba4011b835b9a7e772553f0d Author: Adrian Hunter Date: Mon Jan 21 17:13:07 2008 +0200 [MTD] [OneNAND] fix call to onenand_verify when writing subpages Signed-off-by: Adrian Hunter Signed-off-by: Kyungmin Park commit d0b36d8cc8f345ec5faadd15daaecfb409b94523 Author: Adrian Hunter Date: Thu Jan 24 12:48:37 2008 +0200 [MTD] [OneNAND] Do not release chip twice Signed-off-by: Adrian Hunter Signed-off-by: Kyungmin Park commit 6494a93d55fad586238cc1940e846c6d03e1aaf6 Author: Greg Kroah-Hartman Date: Sun Jan 27 15:38:40 2008 -0800 Module: check to see if we have a built in module with the same name When trying to load a module with the same name as a built-in one, a scary kobject backtrace comes up. Prevent that from checking for this condition and warning the user as to what exactly is going on. Cc: Rusty Russell Cc: Linus Torvalds Cc: Andrew Morton Signed-off-by: Greg Kroah-Hartman Signed-off-by: Rusty Russell commit 0aa5bd52d0c49ca56d24584c646e6544ccbb3dc9 Author: Jon Masters Date: Mon Jan 21 20:43:41 2008 +0000 module: add module taint on ndiswrapper The struct module taints member is supposed to store per-module taint data. The kernel knows about certain specific external modules that will taint the kernel, such as ndiswrapper. Use of ndiswrapper possibly should set the per-module taint in addition to the global kernel taint flag, unless we're arguing not because wrapper module itself is not what actually causes the kernel to be tainted as such? Signed-off-by: Jon Masters Signed-off-by: Rusty Russell commit 8686c99875f3849047660a5b6d02438443f22ce7 Author: Denis Cheng Date: Mon Jan 21 17:08:25 2008 +0800 module: fix the module name length in param_sysfs_builtin the original code use KOBJ_NAME_LEN for built-in module name length, that's defined to 20 in linux/kobject.h, but this is not enough appearntly, many module names are longer than this; #define KOBJ_NAME_LEN 20 another macro is MODULE_NAME_LEN defined in linux/module.h, I think this is enough for module names: #define MODULE_NAME_LEN (64 - sizeof(unsigned long)) Signed-off-by: Denis Cheng Signed-off-by: Rusty Russell commit 6dd06c9fbe025f542bce4cdb91790c0f91962722 Author: Rusty Russell Date: Tue Jan 29 17:13:22 2008 -0500 module: make module_address_lookup safe module_address_lookup releases preemption then returns a pointer into the module space. The only user (kallsyms) copies the result, so just do that under the preempt disable. Signed-off-by: Rusty Russell commit bb9d3d56e792d2619cc0903df4ac01d86ac1261d Author: Rusty Russell Date: Tue Jan 29 17:13:21 2008 -0500 module: better OOPS and lockdep coverage for loading modules If we put the module in the linked list *before* calling into to, we get the module name and functions in the OOPS (is_module_address can find the module). It also helps lockdep in a similar way. Acked-and-tested-by: Joern Engel Tested-by: Erez Zadok Signed-off-by: Rusty Russell commit efa5345e39d01deef349c120f55ac6b6eabe7457 Author: Rusty Russell Date: Tue Jan 29 17:13:20 2008 -0500 module: Fix gratuitous sprintf in module.c Andrew sent an older version of this patch: we shouldn't use sprintf to copy a string. Signed-off-by: Rusty Russell commit c9a3ba55bb5da03fc7d707709a7fe078fe1aa0a0 Author: Rusty Russell Date: Tue Jan 29 17:13:18 2008 -0500 module: wait for dependent modules doing init. There have been reports of modules failing to load because the modules they depend on are still loading. This changes the modules to wait for a reasonable length of time in that case. We time out eventually, because there can be module loops or broken modules. Signed-off-by: Rusty Russell commit a2da4052f1df6bc77749f84496fe731ab8b458f7 Author: Rusty Russell Date: Tue Jan 29 17:13:17 2008 -0500 module: Don't report discarded init pages as kernel text. Current code could cause a bug in symbol_put_addr() if an arch used kmalloc module text: we might think the symbol belongs to the core kernel. The downside is that this might make backtraces through (discarded) init functions harder to read on some archs, but we already have that issue for modules and noone has complained. Signed-off-by: Rusty Russell commit 4019191be7316ed4a39e1c1c2b623baa7dc6c843 Author: Mingming Cao Date: Mon Jan 28 23:58:27 2008 -0500 jbd2: sparse pointer use of zero as null Get rid of sparse related warnings from places that use integer as NULL pointer. (Ported from upstream ext3/jbd changes.) Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit db857da3369cd4eb6a28be1cce89d33162caa4a0 Author: Mingming Cao Date: Mon Jan 28 23:58:27 2008 -0500 jbd2: Use round-jiffies() function for the "5 second" ext4/jbd2 wakeup While "every 5 seconds" doesn't sound as a problem, there can be many of these (and these timers do add up over all the kernel). The "5 second" wakeup isn't really timing sensitive; in addition even with rounding it'll still happen every 5 seconds (with the exception of the very first time, which is likely to be rounded up to somewhere closer to 6 seconds) (Ported from similar JBD patch made by Arjan van de Ven to fs/jbd/transaction.c) Cc: Arjan van de Ven Cc: Andrew Morton Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 77160957e29e9413f7420e85fca37a47d4ffac7f Author: Mingming Cao Date: Mon Jan 28 23:58:27 2008 -0500 jbd2: Mark jbd2 slabs as SLAB_TEMPORARY This patch marks slab allocations by jbd2 as short-lived in support of Mel Gorman's "Group short-lived and reclaimable kernel allocations" patch. (Ported from similar changes made to fs/jbd/journal.c and fs/jbd/revoke.c in Mel's patch.) Cc: Mel Gorman Cc: Andrew Morton Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 7b7510662f4d05ddcc45d435769860e73e6aa20e Author: Mingming Cao Date: Mon Jan 28 23:58:27 2008 -0500 jbd2: add lockdep support Ported from similar patch for the jbd layer. Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit b939e3766ec19eb556cb784c2faace253c6e1560 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Use the ext4_ext_actual_len() helper function ext4 uses the high bit of the extent length to encode whether the extent is intialized or not. The helper function ext4_ext_get_actual_len should be used to get the actual length of the extent. This addresses the kernel bug documented here: http://bugzilla.kernel.org/show_bug.cgi?id=9732 kernel BUG at fs/ext4/extents.c:1056! .... Call Trace: [] :ext4dev:ext4_ext_get_blocks+0x5ba/0x8c1 [] lock_release_holdtime+0x27/0x49 [] _spin_unlock+0x17/0x20 [] :jbd2:start_this_handle+0x4e0/0x4fe [] :ext4dev:ext4_fallocate+0x175/0x39a [] lock_release_holdtime+0x27/0x49 [] __lock_acquire+0x4e7/0xc4d [] lock_release_holdtime+0x27/0x49 [] sys_fallocate+0xe4/0x10d [] tracesys+0xd5/0xda Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit dbf9d7da33f79302fb1e4d7c6b2f6598e8608e72 Author: Dmitry Monakhov Date: Mon Jan 28 23:58:27 2008 -0500 ext4: fix uniniatilized extent splitting error Fix bug reported by Dmitry Monakhov caused by lost error code Testcase: blksize = 0x1000; fd = open(argv[1], O_RDWR|O_CREAT, 0700); unsigned long long sz = 0x10000000UL; /* allocating big blocks chunk */ syscall(__NR_fallocate, fd, 0, 0UL, sz) /* grab all other available filesystem space */ tfd = open("tmp", O_RDWR|O_CREAT|O_DIRECT, 0700); while( write(tfd, buf, 4096) > 0); /* loop untill ENOSPC */ fsync(fd); /* just in case */ while (pos < sz) { /* each seek+ write operation result in splits uninitialized extent in three extents. Splitting may result in new extent allocation which probably will fail because of ENOSPC*/ lseek(fd, blksize*2 -1, SEEK_CUR); if ((ret = write(fd, 'a', 1)) != 1) exit(1); pos += blksize * 2; } Signed-off-by: Dmitry Monakhov Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit ce40733ce93de402ed629762f0e912d9af187cef Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Check for return value from sb_set_blocksize sb_set_blocksize validates whether the specfied block size can be used by the file system. Make sure we fail mounting the file system if the blocksize specfied cannot be used. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao commit cb45bbe44b09f35bb12d67ffa7ecff862608aeae Author: Miklos Szeredi Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Add stripe= option to /proc/mounts Add stripe= option to /proc/mounts for ext4 filesystems. Signed-off-by: Miklos Szeredi Signed-off-by: Mingming Cao commit 3dbd0ede4d5320bd4c3cb914fec0595135b6d9a1 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:26 2008 -0500 ext4: Enable the multiblock allocator by default Enable the multiblock allocator by default. Fix ext4_show_options() so if it is not enabled, the nomballoc option included in /proc/mounts. Signed-off-by: Aneesh Kumar K.V Acked-by: Eric Sandeen Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit c9de560ded61faa5b754137b7753da252391c55a Author: Alex Tomas Date: Tue Jan 29 00:19:52 2008 -0500 ext4: Add multi block allocator for ext4 Signed-off-by: Alex Tomas Signed-off-by: Andreas Dilger Signed-off-by: Aneesh Kumar K.V Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" commit 1988b51e476bd097d910c9245b53f2e38aedaf0d Author: Alex Tomas Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Add new functions for searching extent tree Add the functions ext4_ext_search_left() and ext4_ext_search_right(), which are used by mballoc during ext4_ext_get_blocks to decided whether to merge extent information. Signed-off-by: Alex Tomas Signed-off-by: Andreas Dilger Signed-off-by: Johann Lombardi Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit aa02ad67d9b308290fde390682cd039b29f7ab85 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Add ext4_find_next_bit() This function is used by the ext4 multi block allocator patches. Also add generic_find_next_le_bit Signed-off-by: Aneesh Kumar K.V Cc: Signed-off-by: Andrew Morton commit c549a95d40efd83fc054785dd1634e8b71fba890 Author: Eric Sandeen Date: Mon Jan 28 23:58:27 2008 -0500 ext4: fix up EXT4FS_DEBUG builds Builds with EXT4FS_DEBUG defined (to enable ext4_debug()) fail without these changes. Clean up some format warnings too. Signed-off-by: Eric Sandeen Signed-off-by: Mingming Cao commit aa22df2cc84011808ad7227437ac8f0e01030480 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Fix ext4_show_options to show the correct mount options. We need to look at the default value and make sure the mount options are not set via default value before showing them via ext4_show_options Signed-off-by: Aneesh Kumar K.V commit c14c6fd5c56a0d0495d8a7c0f2bc330be658663e Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:26 2008 -0500 ext4: Add EXT4_IOC_MIGRATE ioctl The below patch add ioctl for migrating ext3 indirect block mapped inode to ext4 extent mapped inode. Signed-off-by: Aneesh Kumar K.V commit 25ec56b518257a56d2ff41a941d288e4b5ff9488 Author: Jean Noel Cordenner Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Add inode version support in ext4 This patch adds 64-bit inode version support to ext4. The lower 32 bits are stored in the osd1.linux1.l_i_version field while the high 32 bits are stored in the i_version_hi field newly created in the ext4_inode. This field is incremented in case the ext4_inode is large enough. A i_version mount option has been added to enable the feature. Signed-off-by: Mingming Cao Signed-off-by: Andreas Dilger Signed-off-by: Kalpak Shah Signed-off-by: Aneesh Kumar K.V Signed-off-by: Jean Noel Cordenner commit 7a224228ed79d587ece2304869000aad1b8e97dd Author: Jean Noel Cordenner Date: Mon Jan 28 23:58:27 2008 -0500 vfs: Add 64 bit i_version support The i_version field of the inode is changed to be a 64-bit counter that is set on every inode creation and that is incremented every time the inode data is modified (similarly to the "ctime" time-stamp). The aim is to fulfill a NFSv4 requirement for rfc3530. This first part concerns the vfs, it converts the 32-bit i_version in the generic inode to a 64-bit, a flag is added in the super block in order to check if the feature is enabled and the i_version is incremented in the vfs. Signed-off-by: Mingming Cao Signed-off-by: Jean Noel Cordenner Signed-off-by: Kalpak Shah commit 818d276ceb83aa9fdebb5e0a53188290312de987 Author: Girish Shilamkar Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Add the journal checksum feature The journal checksum feature adds two new flags i.e JBD2_FEATURE_INCOMPAT_ASYNC_COMMIT and JBD2_FEATURE_COMPAT_CHECKSUM. JBD2_FEATURE_CHECKSUM flag indicates that the commit block contains the checksum for the blocks described by the descriptor blocks. Due to checksums, writing of the commit record no longer needs to be synchronous. Now commit record can be sent to disk without waiting for descriptor blocks to be written to disk. This behavior is controlled using JBD2_FEATURE_ASYNC_COMMIT flag. Older kernels/e2fsck should not be able to recover the journal with _ASYNC_COMMIT hence it is made incompat. The commit header has been extended to hold the checksum along with the type of the checksum. For recovery in pass scan checksums are verified to ensure the sanity and completeness(in case of _ASYNC_COMMIT) of every transaction. Signed-off-by: Andreas Dilger Signed-off-by: Girish Shilamkar Signed-off-by: Dave Kleikamp Signed-off-by: Mingming Cao commit 8e85fb3f305b24b79c6d9cb7a56d22b062335ad3 Author: Johann Lombardi Date: Mon Jan 28 23:58:27 2008 -0500 jbd2: jbd2 stats through procfs The patch below updates the jbd stats patch to 2.6.20/jbd2. The initial patch was posted by Alex Tomas in December 2005 (http://marc.info/?l=linux-ext4&m=113538565128617&w=2). It provides statistics via procfs such as transaction lifetime and size. Sometimes, investigating performance problems, i find useful to have stats from jbd about transaction's lifetime, size, etc. here is a patch for review and inclusion probably. for example, stats after creation of 3M files in htree directory: [root@bob ~]# cat /proc/fs/jbd/sda/history R/C tid wait run lock flush log hndls block inlog ctime write drop close R 261 8260 2720 0 0 750 9892 8170 8187 C 259 750 0 4885 1 R 262 20 2200 10 0 770 9836 8170 8187 R 263 30 2200 10 0 3070 9812 8170 8187 R 264 0 5000 10 0 1340 0 0 0 C 261 8240 3212 4957 0 R 265 8260 1470 0 0 4640 9854 8170 8187 R 266 0 5000 10 0 1460 0 0 0 C 262 8210 2989 4868 0 R 267 8230 1490 10 0 4440 9875 8171 8188 R 268 0 5000 10 0 1260 0 0 0 C 263 7710 2937 4908 0 R 269 7730 1470 10 0 3330 9841 8170 8187 R 270 0 5000 10 0 830 0 0 0 C 265 8140 3234 4898 0 C 267 720 0 4849 1 R 271 8630 2740 20 0 740 9819 8170 8187 C 269 800 0 4214 1 R 272 40 2170 10 0 830 9716 8170 8187 R 273 40 2280 0 0 3530 9799 8170 8187 R 274 0 5000 10 0 990 0 0 0 where, R - line for transaction's life from T_RUNNING to T_FINISHED C - line for transaction's checkpointing tid - transaction's id wait - for how long we were waiting for new transaction to start (the longest period journal_start() took in this transaction) run - real transaction's lifetime (from T_RUNNING to T_LOCKED lock - how long we were waiting for all handles to close (time the transaction was in T_LOCKED) flush - how long it took to flush all data (data=ordered) log - how long it took to write the transaction to the log hndls - how many handles got to the transaction block - how many blocks got to the transaction inlog - how many blocks are written to the log (block + descriptors) ctime - how long it took to checkpoint the transaction write - how many blocks have been written during checkpointing drop - how many blocks have been dropped during checkpointing close - how many running transactions have been closed to checkpoint this one all times are in msec. [root@bob ~]# cat /proc/fs/jbd/sda/info 280 transaction, each upto 8192 blocks average: 1633ms waiting for transaction 3616ms running transaction 5ms transaction was being locked 1ms flushing data (in ordered mode) 1799ms logging transaction 11781 handles per transaction 5629 blocks per transaction 5641 logged blocks per transaction Signed-off-by: Johann Lombardi Signed-off-by: Mariusz Kozlowski Signed-off-by: Mingming Cao Signed-off-by: Eric Sandeen commit 4df3d265bf8f3762e1d77f554ee279c39dedb020 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:29 2008 -0500 ext4: Take read lock during overwrite case. When we are overwriting a file and not actually allocating new file system blocks we need to take only the read lock on i_data_sem. Signed-off-by: Aneesh Kumar K.V commit 0e855ac8b103ef579052936b59fe7c599ac422a4 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:26 2008 -0500 ext4: Convert truncate_mutex to read write semaphore. We are currently taking the truncate_mutex for every read. This would have performance impact on large CPU configuration. Convert the lock to read write semaphore and take read lock when we are trying to read the file. Signed-off-by: Aneesh Kumar K.V commit c278bfecebfb1ed67c326ef472660878baa745cd Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Make ext4_get_blocks_wrap take the truncate_mutex early. When doing a migrate from ext3 to ext4 inode we need to make sure the test for inode type and walking inode data happens inside lock. To make this happen move truncate_mutex early before checking the i_flags. This actually should enable us to remove the verify_chain(). Signed-off-by: Aneesh Kumar K.V commit 01f4adc04480a4e0395906d0268c056cf09c39c0 Author: Mariusz Kozlowski Date: Mon Jan 28 23:58:27 2008 -0500 ext4: remove unused code from ext4_find_entry() The unused code found in ext3_find_entry() is also present (and still unused) in the ext4_find_entry() code. This patch removes it. Signed-off-by: Mariusz Kozlowski Signed-off-by: "Theodore Ts'o" commit 221879c927df05280283a4de6124806c17cc44d4 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Check for the correct error return from ext4_ext_get_blocks returns negative values on error. We should check for <= 0 Signed-off-by: Aneesh Kumar K.V commit f5a7a6b0d9b6af7d46124ed3f6b3995225cb62d0 Author: Jan Kara Date: Mon Jan 28 23:58:27 2008 -0500 jbd2: Fix assertion failure in fs/jbd2/checkpoint.c Before we start committing a transaction, we call __journal_clean_checkpoint_list() to cleanup transaction's written-back buffers. If this call happens to remove all of them (and there were already some buffers), __journal_remove_checkpoint() will decide to free the transaction because it isn't (yet) a committing transaction and soon we fail some assertion - the transaction really isn't ready to be freed :). We change the check in __journal_remove_checkpoint() to free only a transaction in T_FINISHED state. The locking there is subtle though (as everywhere in JBD ;(). We use j_list_lock to protect the check and a subsequent call to __journal_drop_transaction() and do the same in the end of journal_commit_transaction() which is the only place where a transaction can get to T_FINISHED state. Probably I'm too paranoid here and such locking is not really necessary - checkpoint lists are processed only from log_do_checkpoint() where a transaction must be already committed to be processed or from __journal_clean_checkpoint_list() where kjournald itself calls it and thus transaction cannot change state either. Better be safe if something changes in future... Signed-off-by: Jan Kara Cc: Signed-off-by: Andrew Morton commit 36df53f4a3e445175fc1e9d7f433599482ec6d7f Author: Chris Snook Date: Mon Jan 28 23:58:27 2008 -0500 jbd2: Remove printk from J_ASSERT to preserve registers during BUG Signed-off-by: Chris Snook Cc: "Stephen C. Tweedie" Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: "Theodore Ts'o" commit abcb2947c91130426539f209f7a473a67a1f6663 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:27 2008 -0500 ext4: add block bitmap validation When a new block bitmap is read from disk in read_block_bitmap() there are a few bits that should ALWAYS be set. In particular, the blocks given corresponding to block bitmap, inode bitmap and inode tables. Validate the block bitmap against these blocks. Signed-off-by: Aneesh Kumar K.V commit 389d1b083c767a360ec84b27a95da06244becec8 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:26 2008 -0500 Add buffer head related helper functions Add buffer head related helper function bh_uptodate_or_lock and bh_submit_read which can be used by file system Signed-off-by: Aneesh Kumar K.V commit bb4f397a1a7f2330cb173233599aa159f5780f58 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:26 2008 -0500 ext4: Change the default behaviour on error ext4 file system was by default ignoring errors and continuing. This is not a good default as continuing on error could lead to file system corruption. Change the default to mark the file system readonly. Debian and ubuntu already does this as the default in their fstab. Signed-off-by: Aneesh Kumar K.V Acked-by: Eric Sandeen Signed-off-by: Mingming Cao commit e7c95593001cb96ef5dd121a4523286c574c7133 Author: Eric Sandeen Date: Mon Jan 28 23:58:27 2008 -0500 ext4: fix oops on corrupted ext4 mount When mounting an ext4 filesystem with corrupted s_first_data_block, things can go very wrong and oops. Because blocks_count in ext4_fill_super is a u64, and we must use do_div, the calculation of db_count is done differently than on ext4. If first_data_block is corrupted such that it is larger than ext4_blocks_count, for example, then the intermediate blocks_count value may go negative, but sign-extend to a very large value: blocks_count = (ext4_blocks_count(es) - le32_to_cpu(es->s_first_data_block) + EXT4_BLOCKS_PER_GROUP(sb) - 1); This is then assigned to s_groups_count which is an unsigned long: sbi->s_groups_count = blocks_count; This may result in a value of 0xFFFFFFFF which is then used to compute db_count: db_count = (sbi->s_groups_count + EXT4_DESC_PER_BLOCK(sb) - 1) / EXT4_DESC_PER_BLOCK(sb); and in this case db_count will wind up as 0 because the addition overflows 32 bits. This in turn causes the kmalloc for group_desc to be of 0 size: sbi->s_group_desc = kmalloc(db_count * sizeof (struct buffer_head *), GFP_KERNEL); and eventually in ext4_check_descriptors, dereferencing sbi->s_group_desc[desc_block] will result in a NULL pointer dereference. The simplest test seems to be to sanity check s_first_data_block, EXT4_BLOCKS_PER_GROUP, and ext4_blocks_count values to be sure their combination won't result in a bad intermediate value for blocks_count. We could just check for db_count == 0, but catching it at the root cause seems like it provides more info. Signed-off-by: Eric Sandeen Reviewed-by: Mingming Cao commit 07620f69eff6671fea6bd382c95709f757e33768 Author: Adrian Bunk Date: Mon Jan 28 23:58:27 2008 -0500 ext4/super.c: fix #ifdef's (CONFIG_EXT4_* -> CONFIG_EXT4DEV_*) Based on a report by Robert P. J. Day. Signed-off-by: Adrian Bunk commit cb47dce79145d04634156fd18437e1e78af712e4 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Return after ext4_error in case of failures This fix some instances where we were continuing after calling ext4_error. ext4_error call panic only if errors=panic mount option is set. So we need to make sure we return correctly after ext4_error call Reported by: Adrian Bunk Signed-off-by: Aneesh Kumar K.V commit 91b51a018d7711b20e9e0bb14c3d790de4e310d4 Author: Coly Li Date: Mon Jan 28 23:58:27 2008 -0500 ext4: sync up block group descriptor with e2fsprogs. This patch extends bg_itable_unused of ext4 group descriptor from 16bit into 32bit. In order to add bg_itable_unused_hi into struct ext4_group_desc, some extra fields which are already introduced into e2fsprogs are also added in for consistency. Signed-off-by: Coly Li Cc: Andreas Dilger Signed-off-by: Mingming Cao commit fe7fdc37b5404afb068f928ceba7c3e591b501ca Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:26 2008 -0500 ext3: Fix the max file size for ext3 file system. The max file size for ext3 file system is now calculated with hardcoded 4K block size. The patch fixes it to be calculated with the right block size. Signed-off-by: Aneesh Kumar K.V commit 902be4c5efe0289594c3acf43da40fe7ff0a138b Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:26 2008 -0500 ext2: Fix the max file size for ext2 file system. The max file size for ext2 file system is now calculated with hardcoded 4K block size. The patch fixes it to be calculated with the right block size. Signed-off-by: Aneesh Kumar K.V commit e2b4657453c0d5571bd3c7256585c486ed42d364 Author: Eric Sandeen Date: Mon Jan 28 23:58:27 2008 -0500 ext4: store maxbytes for bitmapped files and return EFBIG as appropriate Calculate & store the max offset for bitmapped files, and catch too-large seeks, truncates, and writes in ext4, shortening or rejecting as appropriate. Signed-off-by: Eric Sandeen commit 19295529db35381d46dbaf246f69b4e3b3393996 Author: Eric Sandeen Date: Mon Jan 28 23:58:27 2008 -0500 ext4: export iov_shorten from kernel for ext4's use Export iov_shorten() from kernel so that ext4 can truncate too-large writes to bitmapped files. Signed-off-by: Eric Sandeen commit cd2291a463c26f60b18e0d9b1901be236dd7f402 Author: Eric Sandeen Date: Mon Jan 28 23:58:27 2008 -0500 ext4: different maxbytes functions for bitmap & extent files use 2 different maxbytes functions for bitmapped & extent-based files. Signed-off-by: Eric Sandeen commit 8180a5627d126362c2f64e4fa886d6f608d9632a Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Support large files This patch converts ext4_inode i_blocks to represent total blocks occupied by the inode in file system block size. Earlier the variable used to represent this in 512 byte block size. This actually limited the total size of the file. The feature is enabled transparently when we write an inode whose i_blocks cannot be represnted as 512 byte units in a 48 bit variable. inode flag EXT4_HUGE_FILE_FL Signed-off-by: Aneesh Kumar K.V commit 0fc1b451471dfc3cabd6e99ef441df9804616e63 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:26 2008 -0500 ext4: Add support for 48 bit inode i_blocks. Use the __le16 l_i_reserved1 field of the linux2 struct of ext4_inode to represet the higher 16 bits for i_blocks. With this change max_file size becomes (2**48 -1 )* 512 bytes. We add a RO_COMPAT feature to the super block to indicate that inode have i_blocks represented as a split 48 bits. Super block with this feature set cannot be mounted read write on a kernel with CONFIG_LSF disabled. Super block flag EXT4_FEATURE_RO_COMPAT_HUGE_FILE Signed-off-by: Aneesh Kumar K.V commit a48380f769dfed6163fb82a68b13bd562ea1e027 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Rename i_dir_acl to i_size_high Rename ext4_inode.i_dir_acl to i_size_high drop ext4_inode_info.i_dir_acl as it is not used Rename ext4_inode.i_size to ext4_inode.i_size_lo Add helper function for accessing the ext4_inode combined i_size. Signed-off-by: Aneesh Kumar K.V commit 7973c0c19ecba92f113488045005f8e7ce1cd7c8 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Rename i_file_acl to i_file_acl_lo Rename i_file_acl to i_file_acl_lo. This helps in finding bugs where we use i_file_acl instead of the combined i_file_acl_lo and i_file_acl_high Signed-off-by: Aneesh Kumar K.V commit 1d03ec984ca41ba184822d1101babb3fa3e26c77 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Fix sparse warnings. Fix sparse warnings related to static functions and local variables. Signed-off-by: Aneesh Kumar K.V commit 99e6f829a854daa6d56006cad51156e98863e73a Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Introduce ext4_update_*_feature Introduce ext4_update_*_feature and use them instead of opencoding. Signed-off-by: Aneesh Kumar K.V commit 2aa9fc4c405467f6afbbb2162ff8afaced47d99b Author: Avantika Mathur Date: Mon Jan 28 23:58:27 2008 -0500 ext4: fixes block group number being set to a negative value This patch fixes various places where the group number is set to a negative value. Signed-off-by: Avantika Mathur Signed-off-by: "Theodore Ts'o" commit fd2d42912f9f09e5250cb3b024ee0625704e9cb7 Author: Avantika Mathur Date: Mon Jan 28 23:58:27 2008 -0500 ext4: add ext4_group_t, and change all group variables to this type. In many places variables for block group are of type int, which limits the maximum number of block groups to 2^31. Each block group can have up to 2^15 blocks, with a 4K block size, and the max filesystem size is limited to 2^31 * (2^15 * 2^12) = 2^58 -- or 256 PB This patch introduces a new type ext4_group_t, of type unsigned long, to represent block group numbers in ext4. All occurrences of block group variables are converted to type ext4_group_t. Signed-off-by: Avantika Mathur commit bba907433b85ba2adae1bb3b6fd29b4e5f35c468 Author: Eric Sandeen Date: Mon Jan 28 23:58:27 2008 -0500 ext4 extents: remove unneeded casts There are many casts in extents.c which are not needed, as the variables are already the type of the cast, or are being promoted for no particular reason in printk's. Signed-off-by: Eric Sandeen Signed-off-by: Mingming Cao commit 725d26d3f09ccb5bac4b4293096b985a312a0d67 Author: Aneesh Kumar K.V Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Introduce ext4_lblk_t This patch adds a new data type ext4_lblk_t to represent the logical file blocks. This is the preparatory patch to support large files in ext4 The follow up patch with convert the ext4_inode i_blocks to represent the number of blocks in file system block size. This changes makes it possible to have a block number 2**32 -1 which will result in overflow if the block number is represented by signed long. This patch convert all the block number to type ext4_lblk_t which is typedef to __u32 Also remove dead code ext4_ext_walk_space Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: Eric Sandeen commit a72d7f834e1afa08421938d7eb06bd8e56b0e58c Author: Jan Kara Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Avoid rec_len overflow with 64KB block size With 64KB blocksize, a directory entry can have size 64KB which does not fit into 16 bits we have for entry lenght. So we store 0xffff instead and convert value when read from / written to disk. The patch also converts some places to use ext4_next_entry() when we are changing them anyway. Signed-off-by: Jan Kara Signed-off-by: Mingming Cao commit afc7cbca5bfd556c3e12d3acefbee5ab0cbd4670 Author: Takashi Sato Date: Mon Jan 28 23:58:27 2008 -0500 ext4: Support large blocksize up to PAGESIZE This patch set supports large block size(>4k, <=64k) in ext4, just enlarging the block size limit. But it is NOT possible to have 64kB blocksize on ext4 without some changes to the directory handling code. The reason is that an empty 64kB directory block would have a rec_len == (__u16)2^16 == 0, and this would cause an error to be hit in the filesystem. The proposed solution is treat 64k rec_len with a an impossible value like rec_len = 0xffff to handle this. The Patch-set consists of the following 2 patches. [1/2] ext4: enlarge blocksize - Allow blocksize up to pagesize [2/2] ext4: fix rec_len overflow - prevent rec_len from overflow with 64KB blocksize Now on 64k page ppc64 box runs with this patch set we could create a 64k block size ext4dev, and able to handle empty directory block. Signed-off-by: Takashi Sato Signed-off-by: Mingming Cao commit 6b11d8179d1c6e560edc02c40a53b65fde83bf3f Author: Joel Becker Date: Mon Jan 28 18:52:04 2008 -0800 ocfs2: Fix userspace ABI breakage in sysfs The userspace ABI of ocfs2's internal cluster stack (o2cb) was broken by commit c60b71787982cefcf9fa09aa281fa8c4c685d557 "kset: convert ocfs2 to use kset_create". Specifically, the '/sys/o2cb' kset was moved to '/sys/fs/o2cb'. This breaks all ocfs2 tools and renders the filesystem unmountable. This fix moves '/sys/o2cb' back where it belongs. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 85040bcb4643cba578839e953f25e2d1965d83d0 Author: YOSHIFUJI Hideaki Date: Mon Jan 28 15:46:02 2008 -0800 [IPV6] ADDRLABEL: Fix double free on label deletion. If an entry is being deleted because it has only one reference, we immediately delete it and blindly register the rcu handler for it, This results in oops by double freeing that object. This patch fixes it by consolidating the code paths for the deletion; let its rcu handler delete the object if it has no more reference. Bug was found by Mitsuru Chinen Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 3c582b30bc2592081e9b23e253ca098fa7d57dc2 Author: Stephen Hemminger Date: Wed Jan 23 20:54:07 2008 -0800 [PPP]: Sparse warning fixes. Fix a bunch of warnings in PPP and related drivers. Mostly because sparse doesn't like it when the the function is only marked private in the forward declaration. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ac97f75faae2a18648145bc6bbcdd326bac6a1c2 Author: Stephen Hemminger Date: Wed Jan 23 20:38:24 2008 -0800 [IPV4] fib_trie: remove unneeded NULL check Since fib_route_seq_show now uses hlist_for_each_entry(), the leaf info can not be NULL. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit f638a2f0579f74dc93d7da4299146e2822c06889 Author: Stephen Hemminger Date: Wed Jan 23 20:37:50 2008 -0800 [IPV4] fib_trie: More whitespace cleanup. Remove extra blank lines. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 7a9c1bd409d3522806d492aa573c1cc5384ca620 Author: Patrick McHardy Date: Wed Jan 23 20:36:45 2008 -0800 [NET_SCHED]: Use nla_policy for attribute validation in ematches Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 53b2bf3f8a652c9c8e86831f94ae2c5767ea54d7 Author: Patrick McHardy Date: Wed Jan 23 20:36:30 2008 -0800 [NET_SCHED]: Use nla_policy for attribute validation in actions Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6fa8c0144b770dac941cf2c15053b6e24f046c8a Author: Patrick McHardy Date: Wed Jan 23 20:36:12 2008 -0800 [NET_SCHED]: Use nla_policy for attribute validation in classifiers Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 27a3421e4821734bc19496faa77b380605dc3b23 Author: Patrick McHardy Date: Wed Jan 23 20:35:39 2008 -0800 [NET_SCHED]: Use nla_policy for attribute validation in packet schedulers Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5feb5e1aaa887f6427b8290bce48bfb6b7010fc6 Author: Patrick McHardy Date: Wed Jan 23 20:35:19 2008 -0800 [NET_SCHED]: sch_api: introduce constant for rate table size Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1587bac49f8491b5006a78f8d726111b71757941 Author: Patrick McHardy Date: Wed Jan 23 20:35:03 2008 -0800 [NET_SCHED]: Use typeful attribute parsing helpers Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 24beeab539c6f42c4a93e2ff7c3b5f272e60da45 Author: Patrick McHardy Date: Wed Jan 23 20:34:48 2008 -0800 [NET_SCHED]: Use typeful attribute construction helpers Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 57e1c487a4f5754cb77abeb00adb21faa88c484f Author: Patrick McHardy Date: Wed Jan 23 20:34:28 2008 -0800 [NET_SCHED]: Use NLA_PUT_STRING for string dumping Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4b3550ef530cfc153fa91f0b37cbda448bad11c6 Author: Patrick McHardy Date: Wed Jan 23 20:34:11 2008 -0800 [NET_SCHED]: Use nla_nest_start/nla_nest_end Use nla_nest_start/nla_nest_end for dumping nested attributes. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit cee63723b358e594225e812d6e14a2a0abfd5c88 Author: Patrick McHardy Date: Wed Jan 23 20:33:32 2008 -0800 [NET_SCHED]: Propagate nla_parse return value nla_parse() returns more detailed errno codes, propagate them back on error. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ab27cfb85c5778400740ad0c401bde65616774eb Author: Patrick McHardy Date: Wed Jan 23 20:33:13 2008 -0800 [NET_SCHED]: act_api: use PTR_ERR in tcf_action_init/tcf_action_get Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c96c9471dd86ba24dc3826bf5688b99d3caf3ace Author: Patrick McHardy Date: Wed Jan 23 20:32:58 2008 -0800 [NET_SCHED]: act_api: use nlmsg_parse Convert open-coded nlmsg_parse to use the real function. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6d834e04e596d6803cf1074a07fd67e7b5662f1b Author: Patrick McHardy Date: Wed Jan 23 20:32:42 2008 -0800 [NET_SCHED]: act_api: fix netlink API conversion bug Fix two invalid attribute accesses, indices start at 1 with the new netlink API. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b03f4672007e533c8dbf0965f995182586216bf1 Author: Patrick McHardy Date: Wed Jan 23 20:32:21 2008 -0800 [NET_SCHED]: sch_netem: use nla_parse_nested_compat Replace open coded equivalent of nla_parse_nested_compat(). Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f5e5cb75539749960d7d35f8a7da29e2f4b96320 Author: Patrick McHardy Date: Wed Jan 23 20:32:06 2008 -0800 [NET_SCHED]: sch_atm: fix format string warning Fix format string warning introduces by the netlink API conversion: net/sched/sch_atm.c:250: warning: format '%lu' expects type 'long unsigned int', but argument 3 has type 'int'. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit dde1bc0e6f86183bc095d0774cd109f4edf66ea2 Author: Denis V. Lunev Date: Tue Jan 22 23:50:57 2008 -0800 [NETNS]: Add namespace for ICMP replying code. All needed API is done, the namespace is available when required from the device on the DST entry from the incoming packet. So, just replace init_net with proper namespace. Other protocols will follow. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit b5921910a1de4ba82add59154976c3dc7352c8c2 Author: Denis V. Lunev Date: Tue Jan 22 23:50:25 2008 -0800 [NETNS]: Routing cache virtualization. Basically, this piece looks relatively easy. Namespace is already available on the dst entry via device and the device is safe to dereferrence. Compare it with one of a searcher and skip entry if appropriate. The only exception is ip_rt_frag_needed. So, add namespace parameter to it. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit eee80592c3c1f7381c04913d9d3eb6e3c3c87628 Author: Denis V. Lunev Date: Tue Jan 22 23:49:35 2008 -0800 [NETNS]: Correct namespace for connect-time routing. ip_route_connect and ip_route_newports are a part of routing API presented to the socket layer. The namespace is available inside them through a socket. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 7ba699c604ab811972eee2e041fd6b07659a2e6e Author: Patrick McHardy Date: Tue Jan 22 22:11:50 2008 -0800 [NET_SCHED]: Convert actions from rtnetlink to new netlink API Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit add93b610a4e66d36d0cf0b2596c3d3bcfdaee39 Author: Patrick McHardy Date: Tue Jan 22 22:11:33 2008 -0800 [NET_SCHED]: Convert classifiers from rtnetlink to new netlink API Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1e90474c377e92db7262a8968a45c1dd980ca9e5 Author: Patrick McHardy Date: Tue Jan 22 22:11:17 2008 -0800 [NET_SCHED]: Convert packet schedulers from rtnetlink to new netlink API Convert packet schedulers to use the netlink API. Unfortunately a gradual conversion is not possible without breaking compilation in the middle or adding lots of casts, so this patch converts them all in one step. The patch has been mostly generated automatically with some minor edits to at least allow seperate conversion of classifiers and actions. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 01480e1cf5e2118eba8a8968239f3242072f9563 Author: Patrick McHardy Date: Tue Jan 22 22:10:59 2008 -0800 [NETLINK]: Add nla_append() Used to append data to a message without a header or padding. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2eb9d75c723252c1fa8f0206e6a0df220e3c64c0 Author: Patrick McHardy Date: Tue Jan 22 22:10:42 2008 -0800 [NET_SCHED]: mark classifier ops __read_mostly Additionally remove unnecessary NULL initilizations of the next pointer. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 62e3ba1b558e5f393ef746880613fb8222e64d03 Author: Patrick McHardy Date: Tue Jan 22 22:10:23 2008 -0800 [NET_SCHED]: Move EXPORT_SYMBOL next to exported symbol Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f206351a50ea86250fabea96b9af8d8f8fc02603 Author: Denis V. Lunev Date: Tue Jan 22 22:07:34 2008 -0800 [NETNS]: Add namespace parameter to ip_route_output_key. Needed to propagate it down to the ip_route_output_flow. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit f1b050bf7a88910f9f00c9c8989c1bf5a67dd140 Author: Denis V. Lunev Date: Tue Jan 22 22:07:10 2008 -0800 [NETNS]: Add namespace parameter to ip_route_output_flow. Needed to propagate it down to the __ip_route_output_key. Signed_off_by: Denis V. Lunev Signed-off-by: David S. Miller commit 611c183ebcb5af384df3a4ddb391034a1b6ac255 Author: Denis V. Lunev Date: Tue Jan 22 22:06:48 2008 -0800 [NETNS]: Add namespace parameter to __ip_route_output_key. This is only required to propagate it down to the ip_route_output_slow. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit b40afd0e5c568aba79a4ae2a963cd2af1f09490d Author: Denis V. Lunev Date: Tue Jan 22 22:06:19 2008 -0800 [NETNS]: Add namespace parameter to ip_route_output_slow. This function needs a net namespace to lookup devices, fib tables, etc. in, so pass it there. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 1ab352768fc73838b062776ca5d1add3876a019f Author: Denis V. Lunev Date: Tue Jan 22 22:04:30 2008 -0800 [NETNS]: Add namespace parameter to ip_dev_find. in_dev_find() need a namespace to pass it to fib_get_table(), so add an argument. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 010278ec4cdf404aefc0bbd5e7406674fec95286 Author: Denis V. Lunev Date: Tue Jan 22 22:04:04 2008 -0800 [NETNS]: Add netns parameter to fib_select_default. Currently fib_select_default calls fib_get_table() with the init_net. Prepare it to provide a correct namespace to lookup default route. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 64c2d5382954ccf6054424653f4c7f4f04c1ff21 Author: Denis V. Lunev Date: Tue Jan 22 22:03:33 2008 -0800 [IPV4]: Consolidate fib_select_default. The difference in the implementation of the fib_select_default when CONFIG_IP_MULTIPLE_TABLES is (not) defined looks negligible. Consolidate it and place into fib_frontend.c. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit e30d3a0ccddbd458b3fb14c9b0229b01d97bad5b Author: Denis V. Lunev Date: Tue Jan 22 22:03:03 2008 -0800 [IPV4]: Declarations cleanup in ip_fib.h. Two small issues fixed: - fib_select_multipath is exported from fib_semantics.c rather than from fib_frontend.c. So, move the declaration below appropriate comment. - struct rt_entry declaration is not used. Drop it. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit d5ce8a0e97073169b5fe0b7c52bd020cdb017dfa Author: Stephen Hemminger Date: Tue Jan 22 21:57:22 2008 -0800 [IPV4] fib_trie: avoid rescan on dump This converts dumping (and flushing) of large route tables form O(N^2) to O(N). If the route dump took multiple pages then the dump routine gets called again. The old code kept track of location by counter, the new code instead uses the last key. This is a really big win ( 0.3 sec vs 12 sec) for big route tables. One side effect is that if the table changes during the dump, then the last key will not be found, and we will return -EBUSY. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 9195bef7fb0ba0a91d5ffa566bcf8e007e3c7172 Author: Stephen Hemminger Date: Tue Jan 22 21:56:34 2008 -0800 [IPV4] fib_trie: avoid extra search on delete Get rid of extra search that made route deletion O(n). Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a88ee229253b31e3a844b30525ff77fbfe3111d3 Author: Stephen Hemminger Date: Tue Jan 22 21:56:11 2008 -0800 [IPV4] fib_trie: dump table in sorted order It is easier with TRIE to dump the data traversal rather than interating over every possible prefix. This saves some time and makes the dump come out in sorted order. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 82cfbb008572b1a953091ef78f767aa3ca213092 Author: Stephen Hemminger Date: Tue Jan 22 21:55:32 2008 -0800 [IPV4] fib_trie: iterator recode Remove the complex loop structure of nextleaf() and replace it with a simpler tree walker. This improves the performance and is much cleaner. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 64347f786d13349d6a6f812f3a83c269e26c0136 Author: Stephen Hemminger Date: Tue Jan 22 21:55:01 2008 -0800 [IPV4] fib_trie: dump message multiple part flag Match fib_hash, and set NLM_F_MULTI to handle multiple part messages. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1328042e268c936189f15eba5bd9a5a4605a8581 Author: Stephen Hemminger Date: Tue Jan 22 21:54:37 2008 -0800 [IPV4] fib_trie: use hash list The code to dump can use the existing hash chain rather than doing repeated lookup. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 936722922f6d2366378de606a40c14f96915474d Author: Stephen Hemminger Date: Tue Jan 22 21:54:05 2008 -0800 [IPV4] fib_trie: compute size when needed Compute the number of prefixes when needed, rather than doing bookeeping. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a07f5f508a4d9728c8e57d7f66294bf5b254ff7f Author: Stephen Hemminger Date: Tue Jan 22 21:53:36 2008 -0800 [IPV4] fib_trie: style cleanup Style cleanups: * make check_leaf return -1 or plen, rather than by reference * Get rid of #ifdef that is always set * split out embedded function calls in if statements. * checkpatch warnings Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit bc3c8c1e02ae89668239742fd592f21e1998fa46 Author: Stephen Hemminger Date: Tue Jan 22 21:51:50 2008 -0800 [IPV4] fib_trie: put leaf nodes in a slab cache This improves locality for operations that touch all the leaves. Save space since these entries don't need to be hardware cache aligned. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a1f6f5a7689098f01d9b7b7181795ee78563ce37 Author: Jan Engelhardt Date: Tue Jan 22 18:30:06 2008 -0800 [AF_X25]: constify function pointer tables Signed-off-by: Jan Engelhardt Signed-off-by: David S. Miller commit 91cde6f7d295a9eafea51d821f6e609288736c79 Author: Ross Burton Date: Tue Jan 22 18:27:53 2008 -0800 [IrDA]: LMP discovery timer not started by default By default, LMP sets up a 3 seconds timer for discovery. We don't need it until discovery is set to 1. Signed-off-by: Ross Burton Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit c0e1899bdbd5e997d2256fcc23fc4e3d2bc5f811 Author: Bruno Randolf Date: Mon Jan 21 11:09:46 2008 +0900 ath5k: always extend rx timestamp with tsf always extend the rx timestamp with the local TSF, since this information is also needed for proper IBSS merging. this is done in the tasklet for now, maybe has to be moved to the interrupt handler like in madwifi. drivers/net/wireless/ath5k/base.c: Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 6d91e1d80822da1c3e790bfbe8df432360fd7f68 Author: Bruno Randolf Date: Sat Jan 19 18:18:41 2008 +0900 ath5k: configure backoff for IBSS beacon queue in "11.1.2.2 Beacon generation in an IBSS" the IEEE802.11 standard says, each STA should... "b) Calculate a random delay uniformly distributed in the range between zero and twice aCWmin × aSlotTime,". configure cwmin and cwmax of the beacon queue in IBSS mode according to this. unfortunately beacon backoff does not work reliably yet, so i suspect we have a problem somewhere else, since the same settings (and similar beacon timer configuration) work for madwifi. drivers/net/wireless/ath5k/base.c: Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 036cd1ec038f7e3a36740beaf2aa4a0d2e8ed2c1 Author: Bruno Randolf Date: Sat Jan 19 18:18:21 2008 +0900 ath5k: use SWBA to detect IBSS HW merges use SWBA (software beacon alert) interrupts to keep track of the next beacon time und check if a HW merge (automatic TSF update) has happened on every received beacon with the same BSSID. this is necessary because the atheros hardware will silently update the local TSF in IBSS mode, but not its beacon timers. if the TSF is ahead of the beacon timers no beacons are sent until the timers wrap around (typically after about 1 minute). this solution is not very nice, since we have to look into every beacon, but there is apparently no other way to detect HW merges. drivers/net/wireless/ath5k/base.c: Changes-licensed-under: 3-Clause-BSD drivers/net/wireless/ath5k/base.h: Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 9804b98d57f9b3b02a8906b0b45f461ce0c08428 Author: Bruno Randolf Date: Sat Jan 19 18:17:59 2008 +0900 ath5k: better beacon timer calculation update ath5k_beacon_update_timers() for better beacon timer calculation in a variety of situations. most important is the possibility to call it with the timestamp of a received beacon, when we detected that a HW merge has happened and we need to reconfigure the beacon timers based on that. we call this from the mac80211 callback reset_tsf now instead of beacon_update, and there will be more use of it in the next patch. drivers/net/wireless/ath5k/base.c: Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit e535c1ac7e431f85e9c8ead6dbc977a1e1906736 Author: Bruno Randolf Date: Fri Jan 18 21:51:40 2008 +0900 ath5k: beacon interval is in TU the beacon interval is passed by mac80211 in TU already, so we can directly use it without conversion. also update the comments about TU (1 TU is defined by 802.11 as 1024usec). drivers/net/wireless/ath5k/ath5k.h: Changes-licensed-under: ISC drivers/net/wireless/ath5k/base.c: Changes-licensed-under: 3-Clause-BSD drivers/net/wireless/ath5k/base.h: Changes-licensed-under: 3-Clause-BSD Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 1008e0f7b9dd211f918e93090f615e8064aca900 Author: Bruno Randolf Date: Fri Jan 18 21:51:19 2008 +0900 ath5k: use 3 instead of 0x00000003 reviewed beacon timer initialization with register traces from madwifi: what we are doing is correct :). one minor fix: use 3 instead of 0x00000003 - it's more readable. drivers/net/wireless/ath5k/hw.c: Changes-licensed-under: ISC Signed-off-by: Bruno Randolf Signed-off-by: John W. Linville commit 1f7d87b0ecacefe4541c75901cbcf29efba42ca6 Author: Michael Buesch Date: Tue Jan 22 20:23:34 2008 +0100 b43: Fix MAC control and microcode init This zeros out all microcode related memory before loading the microcode. This also fixes initialization of the MAC control register. The _only_ place where we overwrite the contents of the MAC control register is at the beginning of b43_chip_init(). All other places must do read() -> mask/set -> write() to not overwrite existing bits. This also adds a longer delay for waiting for the microcode to initialize itself. It seems that the current timeout is sufficient on all available devices, but there's no real reason why we shouldn't wait for up to one second. Slow embedded devices might exist. Better safe than sorry. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 4248d2f81159f62b7c7b83398fede653d449fd56 Author: Masakazu Mokuno Date: Tue Jan 22 15:22:29 2008 +0900 WEXT: remove unused variable As event_type_pk_size[] is not used, Remove it. Signed-off-by: Masakazu Mokuno Signed-off-by: John W. Linville commit 247ae4492065ed73bf5f287e38cd4c54ce192b27 Author: John W. Linville Date: Mon Jan 21 15:36:05 2008 -0500 ath5k: reset key cache after resume Otherwise it may be impossible to connected to an open network after a resume. This is a modified version of an original patch by Alex Eskin : https://bugzilla.redhat.com/show_bug.cgi?id=425950#c8 Signed-off-by: John W. Linville commit c65638a72c619e941bcb4006feded09fd358ad5f Author: John W. Linville Date: Mon Jan 21 15:36:04 2008 -0500 ath5k: use AR5K_KEYTABLE_SIZE when initializing key table ...instead of using AR5K_KEYCACHE_SIZE, which would seem to be a typo/thinko... Signed-off-by: John W. Linville commit 61cb5dd6d1c81fbb5629f60db4e2a7faa7124b7a Author: Michael Buesch Date: Mon Jan 21 19:55:09 2008 +0100 b43: Fix firmware caching We must also store the ID string (filename) for the cached firmware blobs and verify that we really have the right firmware cached before using it. If we don't have the right fw cached, we must free it and request the correct blobs. This fixes bandswitch on A/B/G multi-PHY devices. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 71ebb4aac87e4a1504a155084d658d0a92ac63fb Author: Ron Rindjunsky Date: Mon Jan 21 12:39:12 2008 +0200 mac80211: fix rx flow sparse errors, make functions static This patch adds static declarations to functions in the Rx flow in order to eliminate sparse errors Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit a8b47ea3c583645977a916ab3e2d323c7504aa7b Author: Ron Rindjunsky Date: Mon Jan 21 12:39:11 2008 +0200 mac80211: fixing ieee80211_bar types This patch changes ieee80211_bar control and start_seq_num to match the proper bitwise attribute expected from ieee 802.11 frame Signed-off-by: Ron Rindjunsky Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 95b66bad55b846e02e5b5c8b32ac4a659c28149b Author: Michael Buesch Date: Fri Jan 18 01:09:25 2008 +0100 b43: Add more N-PHY init code This also adds lots of TODOs. Oh well. Lots of work. :) Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit c09c7237eadc65916305835ca1e3ee8a03f01159 Author: Stefano Brivio Date: Thu Jan 17 00:38:29 2008 +0100 rc80211-pid: fix last_sample initialization Fix last_sample initialization. kzalloc'ing the per-STA data wasn't enough, as jiffies can assume negative values as well. This fixes a bug which prevented correct PID operation for a while after booting. Thanks to Michael Buesch for reporting this. Reported-and-tested-by: Michael Buesch Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit f99b751fca5b16bea53c0d6724935e1949350052 Author: Johannes Berg Date: Wed Jan 16 21:47:40 2008 +0100 mac80211: fix RCU locking in __ieee80211_rx_handle_packet Commit c7a51bda ("mac80211: restructure __ieee80211_rx") extracted __ieee80211_rx_handle_packet out of __ieee80211_rx and hence changed the locking rules for __ieee80211_rx_handle_packet(), it is now invoked under RCU lock. There is, however, one instance left where it contains an rcu_read_unlock() in an error path, which is a bug. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit bfe6a50156ab0c33729378fae7038bce3c6c5184 Author: Michael Buesch Date: Wed Jan 9 20:15:31 2008 +0100 b43legacy: Remove the PHY spinlock This fixes a sparse warning about weird locking. The spinlock is not needed, so simply remove it. This also adds some sanity checks to the PHY and radio locking to protect against recursive locking. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit a8bdf29c6cd117644d27677962fe832b33036c77 Author: Guy Cohen Date: Wed Jan 9 19:12:48 2008 +0200 mac80211: Assign correct TID for local bridged packets This patch assigns correct TID to frames transmitted between two stations in the same BSS in AP mode. The problem is that skb->protocol is not set to ETH_P_IP and it is wrong to use that field at this stage. The fix compares the LLC/Protocol headers explicitly to check if the encapsulated frame is IP frame Signed-off-by: Guy Cohen Signed-off-by: John W. Linville commit 69a73829dbb10e7c8554e66a80cb4fde57347fff Author: Eric Dumazet Date: Tue Jan 22 06:18:34 2008 -0800 [DST]: shrinks sizeof(struct rtable) by 64 bytes on x86_64 On x86_64, sizeof(struct rtable) is 0x148, which is rounded up to 0x180 bytes by SLAB allocator. We can reduce this to exactly 0x140 bytes, without alignment overhead, and store 12 struct rtable per PAGE instead of 10. rate_tokens is currently defined as an "unsigned long", while its content should not exceed 6*HZ. It can safely be converted to an unsigned int. Moving tclassid right after rate_tokens to fill the 4 bytes hole permits to save 8 bytes on 'struct dst_entry', which finally permits to save 8 bytes on 'struct rtable' Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 81566e8322c3f6c6f9a2277fe0e440fee8d917bd Author: Pavel Emelyanov Date: Tue Jan 22 06:12:39 2008 -0800 [NETNS][FRAGS]: Make the pernet subsystem for fragments. On namespace start we mainly prepare the ctl variables. When the namespace is stopped we have to kill all the fragments that point to this namespace. The inet_frags_exit_net() handles it. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 3140c25c82106645a6b1fc469dab7006a1d09fd0 Author: Pavel Emelyanov Date: Tue Jan 22 06:11:48 2008 -0800 [NETNS][FRAGS]: Make the LRU list per namespace. The inet_frags.lru_list is used for evicting only, so we have to make it per-namespace, to evict only those fragments, who's namespace exceeded its high threshold, but not the whole hash. Besides, this helps to avoid long loops in evictor. The spinlock is not per-namespace because it protects the hash table as well, which is global. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 3b4bc4a2bfe80d01ebd4f2b6dcc58986c970ed16 Author: Pavel Emelyanov Date: Tue Jan 22 06:11:04 2008 -0800 [NETNS][FRAGS]: Isolate the secret interval from namespaces. Since we have one hashtable to lookup the fragment, having different secret_interval-s for hash rebuild doesn't make sense, so move this one to inet_frags. The inet_frags_ctl becomes empty after this, so remove it. The appropriate ctl table is kept read-only in namespaces. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit e31e0bdc7e7fb9a4b09d2f3266c035a18fdcee9d Author: Pavel Emelyanov Date: Tue Jan 22 06:10:13 2008 -0800 [NETNS][FRAGS]: Make thresholds work in namespaces. This is the same as with the timeout variable. Currently, after exceeding the high threshold _all_ the fragments are evicted, but it will be fixed in later patch. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit b2fd5321dd160ef309dfb6cfc78ed8de4a830659 Author: Pavel Emelyanov Date: Tue Jan 22 06:09:37 2008 -0800 [NETNS][FRAGS]: Make the net.ipv4.ipfrag_timeout work in namespaces. Move it to the netns_frags, adjust the usage and make the appropriate ctl table writable. Now fragment, that live in different namespaces can live for different times. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit e4a2d5c2bccd5bd29de5ae4f14ff4448fac9cfc8 Author: Pavel Emelyanov Date: Tue Jan 22 06:08:36 2008 -0800 [NETNS][FRAGS]: Duplicate sysctl tables for new namespaces. Each namespace has to have own tables to tune their different parameters, so duplicate the tables and register them. All the tables in sub-namespaces are temporarily made read-only. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 6ddc082223ef0f73717b4133fa7e648842bbfd02 Author: Pavel Emelyanov Date: Tue Jan 22 06:07:25 2008 -0800 [NETNS][FRAGS]: Make the mem counter per-namespace. This is also simple, but introduces more changes, since then mem counter is altered in more places. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit e5a2bb842cd9681d00d4ca963e63e4d3647e66f8 Author: Pavel Emelyanov Date: Tue Jan 22 06:06:23 2008 -0800 [NETNS][FRAGS]: Make the nqueues counter per-namespace. This is simple - just move the variable from struct inet_frags to struct netns_frags and adjust the usage appropriately. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit ac18e7509e7df327e30d6e073a787d922eaf211d Author: Pavel Emelyanov Date: Tue Jan 22 06:02:14 2008 -0800 [NETNS][FRAGS]: Make the inet_frag_queue lookup work in namespaces. Since fragment management code is consolidated, we cannot have the pointer from inet_frag_queue to struct net, since we must know what king of fragment this is. So, I introduce the netns_frags structure. This one is currently empty, but will be eventually filled with per-namespace attributes. Each inet_frag_queue is tagged with this one. The conntrack_reasm is not "netns-izated", so it has one static netns_frags instance to keep working in init namespace. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 8d8354d2fb9277f165715a6e1cb92bcc89259975 Author: Pavel Emelyanov Date: Tue Jan 22 05:58:31 2008 -0800 [NETNS][FRAGS]: Move ctl tables around. This is a preparation for sysctl netns-ization. Move the ctl tables to the files, where the tuning variables reside. Plus make the helpers to register the tables. This will simplify the later patches and will keep similar things closer to each other. ipv4, ipv6 and conntrack_reasm are patched differently, but the result is all the tables are in appropriate files. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 9d5c824399dea881779d78a6c147288bf2dccb6b Author: Auke Kok Date: Thu Jan 24 02:22:38 2008 -0800 igb: PCI-Express 82575 Gigabit Ethernet driver We are pleased to announce a new Gigabit Ethernet product and its driver to the linux community. This product is the Intel(R) 82575 Gigabit Ethernet adapter family. Physical adapters will be available to the public soon. These adapters come in 2- and 4-port versions (copper PHY) currently. Other variants will be available later. The 82575 chipset supports significantly different features that warrant a new driver. The descriptor format is (just like the ixgbe driver) different. The device can use multiple MSI-X vectors and multiple queues for both send and receive. This allows us to optimize some of the driver code specifically as well compared to the e1000-supported devices. This version of the igb driver no lnger uses fake netdevices and incorporates napi_struct members for each ring to do the multi- queue polling. multi-queue is enabled by default and the driver supports NAPI mode only. All the namespace collisions should be gone in this version too. The register macro's have been condensed to improve readability. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit b491edd5817f1618f4e06d67638739591a714bdb Author: Al Viro Date: Sat Dec 22 19:44:51 2007 +0000 bnx2 annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit f305f789bb96ee6e35e71f58324b72abb7bd0b13 Author: Al Viro Date: Sat Dec 22 19:44:00 2007 +0000 annotate netxen Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 66341fffd4e5e546906ebcfeb6f5cce8df802c17 Author: Al Viro Date: Sat Dec 22 18:56:43 2007 +0000 annotate myri10ge Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 05e5c1165393a2d6044b01288f089d2e74a49d58 Author: Al Viro Date: Sat Dec 22 18:56:23 2007 +0000 annotate cxgb3 Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit ac390c60a833192e87fb09ed8d67f5d1a84306c8 Author: Al Viro Date: Sat Dec 22 18:56:33 2007 +0000 annotate chelsio Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 61cf46ad581ba43073d3bcb0be549eb60fbbf9f8 Author: YOSHIFUJI Hideaki Date: Tue Jan 22 17:32:53 2008 +0900 [IPV6] NDISC: Sparse: Use different variable name for local use. Fix the following sparse warnings: | net/ipv6/ndisc.c:1300:21: warning: symbol 'opt' shadows an earlier one | net/ipv6/ndisc.c:1078:7: originally declared here Signed-off-by: YOSHIFUJI Hideaki commit 5d5619b40c2474de01c64bdf6bb9f1211d3e967a Author: YOSHIFUJI Hideaki Date: Tue Jan 22 17:29:40 2008 +0900 [IPV6] ADDRCONF: Sparse: Make inet6_dump_addr() code paths more straight-forward. Fix the following sparse warning: | net/ipv6/addrconf.c:3384:2: warning: context imbalance in 'inet6_dump_addr' - different lock contexts for basic block Signed-off-by: YOSHIFUJI Hideaki commit 2334ecbdb27bd1745c0fc6d05cce09ed9585e4c1 Author: YOSHIFUJI Hideaki Date: Tue Jan 22 17:18:38 2008 +0900 [IPV6]: Sparse: Declare non-static ipv6_{route,icmp,frag}_sysctl_init() in header. Fix the following sparse warnings: | net/ipv6/route.c:2491:18: warning: symbol 'ipv6_route_sysctl_init' was not declared. Should it be static? | net/ipv6/icmp.c:922:18: warning: symbol 'ipv6_icmp_sysctl_init' was not declared. Should it be static? | net/ipv6/reassembly.c:628:6: warning: symbol 'ipv6_frag_sysctl_init' was not declared. Should it be static? Signed-off-by: YOSHIFUJI Hideaki commit 40fee36e11b49f92bc7c385bd45d7805c0127a34 Author: YOSHIFUJI Hideaki Date: Tue Jan 22 17:12:50 2008 +0900 [IPV6] ADDRLABEL: Sparse: Make several functions static. Fix following sparse warnings: | net/ipv6/addrlabel.c:172:25: warning: symbol 'ip6addrlbl_alloc' was not declared. Should it be static? | net/ipv6/addrlabel.c:219:5: warning: symbol '__ip6addrlbl_add' was not declared. Should it be static? | net/ipv6/addrlabel.c:260:5: warning: symbol 'ip6addrlbl_add' was not declared. Should it be static? | net/ipv6/addrlabel.c:285:5: warning: symbol '__ip6addrlbl_del' was not declared. Should it be static? | net/ipv6/addrlabel.c:311:5: warning: symbol 'ip6addrlbl_del' was not declared. Should it be static? Signed-off-by: YOSHIFUJI Hideaki commit 5e8b9df6e8786e4d5ee5ac951240cb2eaaac3014 Author: YOSHIFUJI Hideaki Date: Tue Jan 22 17:25:46 2008 +0900 [IPV6] UDPLITE: Sparse: Declare non-static symbols in header. Fix the following sparse warnings: | net/ipv6/udplite.c:45:14: warning: symbol 'udplitev6_prot' was not declared. Should it be static? | net/ipv6/udplite.c:80:12: warning: symbol 'udplitev6_init' was not declared. Should it be static? | net/ipv6/udplite.c:99:6: warning: symbol 'udplitev6_exit' was not declared. Should it be static? Signed-off-by: YOSHIFUJI Hideaki commit 77d0d350e96c9453be255d8eff8dc97555710b17 Author: YOSHIFUJI Hideaki Date: Tue Jan 22 17:09:55 2008 +0900 [IPV6] UDP,UDPLITE: Sparse: {__udp6_lib,udp,udplite}_err() are of void. Fix following sparse warnings: | net/ipv6/udp.c:262:2: warning: returning void-valued expression | net/ipv6/udplite.c:29:2: warning: returning void-valued expression Signed-off-by: YOSHIFUJI Hideaki commit fc80be87dca8968fa087aae81544ba3f86afdd50 Author: YOSHIFUJI Hideaki Date: Tue Jan 22 17:05:31 2008 +0900 [IPV4] UDP,UDPLITE: Sparse: {__udp4_lib,udp,udplite}_err() are of void. Fix following sparse warnings: | net/ipv4/udp.c:421:2: warning: returning void-valued expression | net/ipv4/udplite.c:38:2: warning: returning void-valued expression Signed-off-by: YOSHIFUJI Hideaki commit 583c28e5645c464b57b4f5d3d53113c06bb0ac5f Author: Michael Chan Date: Mon Jan 21 19:51:35 2008 -0800 [BNX2]: Fix driver phy_flags name space. Prefix "bp->phy_flags" names with BNX2_PHY_FLAG_* for consistency. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit ecfdc8c5424079393a9b05e8a5aaf5c6873029f6 Author: Denis V. Lunev Date: Mon Jan 21 17:35:06 2008 -0800 [NETNS]: Pass correct namespace in ip_rt_get_source. ip_rt_get_source is the infamous place for which dst_ifdown kludges have been implemented. This means that rt->u.dst.dev can be safely dereferrenced obtain nd_net. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 84a885f44961c17a91cae9a9c03e4b3dae5d8d94 Author: Denis V. Lunev Date: Mon Jan 21 17:34:35 2008 -0800 [NETNS]: Pass correct namespace in ip_route_input_slow. The packet on the input path always has a referrence to an input network device it is passed from. Extract network namespace from it. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 86167a377f1c4fb40742302ae7682dd574abde86 Author: Denis V. Lunev Date: Mon Jan 21 17:34:00 2008 -0800 [NETNS]: Pass correct namespace in context fib_check_nh. Correct network namespace is already used in fib_check_nh. Re-work its usage for better readability and pass into fib_lookup & inetdev_by_index. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 5b707aaae4ca7b7204eb4a472721c84866d85f0f Author: Denis V. Lunev Date: Mon Jan 21 17:33:15 2008 -0800 [NETNS]: Pass correct namespace in fib_validate_source. Correct network namespace is available inside fib_validate_source. It can be obtained from the device passed in. The device is not NULL as in_device is obtained from it just above. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 7fee0ca23711ce1a6b13d3ab78915809a72a59ec Author: Denis V. Lunev Date: Mon Jan 21 17:32:38 2008 -0800 [NETNS]: Add netns parameter to inetdev_by_index. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit da0e28cb68a7e22b47c6ae1a5b12cb538c13c69f Author: Denis V. Lunev Date: Mon Jan 21 17:31:55 2008 -0800 [NETNS]: Add netns parameter to fib_lookup. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit ba93ef746560df597b19bbcee04ce7ed70ebc700 Author: Stephen Hemminger Date: Mon Jan 21 17:28:59 2008 -0800 [IPV4]: ipmr sparse warnings Get rid of some of the sparse warnings. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit dd329bfa96dd9dabfc3b5154317bf5fbe9440455 Author: Stephen Hemminger Date: Mon Jan 21 17:28:31 2008 -0800 [IPV4]: igmp sparse warnings Partial sparse warning fix. The other conditional locking is too much for sparse to handle. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1402c8519acba215f5a6101b9e5ada07ab371273 Author: Stephen Hemminger Date: Mon Jan 21 17:27:44 2008 -0800 [VLAN]: sparse warning fix Minor sparse warning fix. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit f86e82fb547efe05457391df069cce7ab530b181 Author: David S. Miller Date: Mon Jan 21 17:15:40 2008 -0800 [BNX2]: Fix driver software flag namespace. Prefix "bnx2->flags" names with BNX2_* for consistency. Signed-off-by: David S. Miller commit feebb33183cee0fdf8e8a9c4f0da3231f0cfa2bb Author: Michael Chan Date: Mon Jan 21 17:07:29 2008 -0800 [BNX2] Update version to 1.7.2. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit b2fadeae1334008c1bb4d87bc507141cb7aaf0e8 Author: Michael Chan Date: Mon Jan 21 17:07:06 2008 -0800 [BNX2]: Add link-down workaround on 5706 serdes. In some blade systems using the 5706 serdes, the hardware sometimes does not properly generate link down interrupts. We add a workaround in the driver's timer to force a link-down when some PHY registers report loss of SYNC. The parallel detect logic is cleaned up slightly to better integrate the workaround. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 1097f5e92107ca3950fabf5e1d724faa80c91e7f Author: Michael Chan Date: Mon Jan 21 17:06:41 2008 -0800 [BNX2]: Fix minor bug in bnx2_has_work(). It is more correct to get the status block from the bnx2_napi struct instead of the bnx2 struct. It happens that they are the same in this case because we are using the first MSIX vector. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 2dd201d7b735f252df1a915a3f2e6a71910a3d87 Author: Michael Chan Date: Mon Jan 21 17:06:09 2008 -0800 [BNX2]: Disable jumbo rx paging on 5709 Ax. The chip has problem running in this mode and needs to be disabled. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 819d772b0ceddebb5b4907d5aa5505c99aec985b Author: John W. Linville Date: Thu Jan 17 16:57:10 2008 -0500 b43/nphy.c: include headers to avoid build breakage on some platforms Signed-off-by: John W. Linville commit 73738001ac8fb1d006157e9ce89458a135c7571f Author: Andrew Morton Date: Wed Jan 16 02:58:24 2008 -0800 drivers/net/wireless/rt2x00/rt2x00usb.c: fix uninitialized var warning Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit d2594d07abdbf49f9bd3df7e02708716de0f59e9 Author: Andrew Morton Date: Wed Jan 16 02:56:33 2008 -0800 drivers/net/wireless/iwlwifi/iwl-3945.c: fix printk warning drivers/net/wireless/iwlwifi/iwl-3945.c: In function 'iwl3945_add_radiotap': drivers/net/wireless/iwlwifi/iwl-3945.c:269: warning: format '%d' expects type 'int', but argument 3 has type 'long unsigned int' Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 222b01b7fef6e7ebea9e76ce08a783571569797b Author: Stefano Brivio Date: Sun Jan 13 18:35:52 2008 +0100 b43legacy: fix use-after-free rfkill bug Fix rfkill code which caused a use-after-free bug. Thanks to David Woodhouse for spotting this out. Cc: David Woodhouse Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit 66dcb6bdc57a799a16e8d2942b9ab38b8546eb3b Author: Ron Rindjunsky Date: Sun Jan 13 18:25:43 2008 +0200 mac80211: A-MPDU Rx remove stop_rx_ba_session warning print This patch removes a warning print from ieee80211_sta_stop_rx_ba_session in case the tid is inactive when interface goes down. Signed-off-by: Ron Rindjunsky Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 5b3d71d90ec554a2b145db7fcb245e64bf28dda7 Author: Ron Rindjunsky Date: Sun Jan 13 18:21:58 2008 +0200 mac80211: A-MPDU Rx stop aggregation on proper dev This patch adds a check to insure that Rx A-MPDU will be stopped only for the proper device. Signed-off-by: Ron Rindjunsky Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 0f7054e32fab251af5cab116da0ef6624a1a0c8b Author: Ivo van Doorn Date: Sun Jan 13 14:16:47 2008 +0100 mac80211: Initialize vif pointer Before calling update_beacon() mac80211 must initialize the control.vif pointer so it can be used by the driver to determine which interface is trying to send the beacon. v2: ieee80211_beacon_get() should also initialize the vif pointer since it can be called by mac80211 internally before calling config_interface(). Signed-off-by: Ivo van Doorn Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 61d30020dc2c49d36d95f3efb8b5ed727e459087 Author: Holger Schurig Date: Wed Jan 16 15:59:52 2008 +0100 libertas: pepper main with debug statement libertas: re-pepper debug statementThe recent fluff of updates didn't put proper lbs_deb_enter/leave calls into the source code. Add them where appropriate. Also contains some whitespace changes. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit c9d1be36197bf638be68cec6685c68e462273b65 Author: Holger Schurig Date: Wed Jan 16 15:57:44 2008 +0100 libertas: don't blindly try mesh The CF card only has a very old firmware (5.0.16p0). This firmware doesn't know anything about mesh config. However, current code blindly calls mesh_config when the card is inserted. So check the firmware version before issuing this command. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit dac10a9f286c75cffa75c7ec8b05d566a6ece95e Author: Holger Schurig Date: Wed Jan 16 15:55:22 2008 +0100 libertas: always show firmware release Always shows the firmware release. Also converts the firmware release into something that is easily comparable. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 4365929d176b47a78d10aca0d1dee2afdfcbe4f2 Author: Holger Schurig Date: Wed Jan 16 15:52:58 2008 +0100 libertas: move cardspecific data to driver boot2_version is purely USB specific, so move it to struct if_usb_card. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit ae3e0fcf901e4b7df87aef7ab39093e142a8de8b Author: Holger Schurig Date: Wed Jan 16 15:48:44 2008 +0100 libertas cs/sdio: fix 'NOHZ: local_softirq_pending 08' message netif_rx should be called only from interrupt context. if_cs and if_sdio receive packets from other contexts, and thus should call netif_rx_ni. Signed-off-by: Marc Pignat Acked-by: Holger Schurig Signed-off-by: John W. Linville commit 8ac919be0520b22d106b1d5f3e8f9b5c142089eb Author: Michael Buesch Date: Wed Jan 16 02:14:23 2008 +0100 b43: Add lots of N-PHY lookup tables This adds lots of N-PHY related lookup tables. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 8a1b02452862dd30980ad0ef493eed687bc81474 Author: Reinette Chatre Date: Mon Jan 14 17:46:25 2008 -0800 iwlwifi: style fixes to usage of << and >> operators The << and >> operators need space on each side. Cc: Stefano Brivio Signed-off-by: Reinette Chatre Acked-by: Tomas Winkler Signed-off-by: John W. Linville commit e7a2827cbbdb11717877c44cbbdf0fb1d14e890c Author: Reinette Chatre Date: Mon Jan 14 17:46:24 2008 -0800 iwlwifi: remove reference to non-existent documentation The external iwlwifi driver comes with a README file that is referenced by the Kconfig. This README is not present in the driver included in the kernel. Remove references to this documentation. Signed-off-by: Reinette Chatre Acked-by: Tomas Winkler Signed-off-by: John W. Linville commit 71972664a4a2e149a1e2ae75ed90cf70ce5af6c2 Author: Zhu Yi Date: Mon Jan 14 17:46:23 2008 -0800 iwlwifi: Update iwlwifi version stamp to 1.2.23 Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit fa254a68076bf7ae21747fe2cdb15db306938d78 Author: Tomas Winkler Date: Sun Jan 27 20:41:38 2008 -0800 iwlwifi: 3954 renames iwl3945_rate_scale_priv to iwl3945_rs_sta This patch renames iwl3945_rate_scale_priv to iwl3945_rs_sta as it better represents the purpose of this variable. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit c33104f0a782a7746e5d3b975288a4fb3b8293ed Author: Tomas Winkler Date: Mon Jan 14 17:46:21 2008 -0800 iwlwifi: 4965 unify rate scale variable names for station data 1, This patch renames iwl4965_rate_scale_priv to iwl4965_lq_sta. This type represents a station's link quality. 2. The names of the variables of this type were rs_priv, lq_data, lq, crl across the file. All are now unified under the name lq_sta. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 98c92211462bb78fe0e869b43e1662e549e35fed Author: Tomas Winkler Date: Mon Jan 14 17:46:20 2008 -0800 iwlwifi: move uCode helper functions to iwl-helpers.h This patch adds iwl_free_fw_desc ucode helper function. It also moves ucode helper functions to iwl-helpers.h. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit e655b9f03f41c7a84fb74d6619abf844d7f2ab65 Author: Zhu Yi Date: Thu Jan 24 02:19:38 2008 -0800 iwlwifi: fix problem when rf_killswitch change during suspend/resume After we delay device initialization until interface up, there are more conditions for the hardware rf_kill switch states during suspend and resume. For example, before suspend we can have interface up or down, rf_kill enable or disable; before resume we can have rf_kill enable or disable. So there are totally 2^3 = 8 conditions to handle. This patch addressed this problem and makes sure every condition works correctly. This patch also merges the device suspend and resume handlers with the mac_start and mac_stop code since they are basically doing the same thing. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 5a66926aa9230810704fd5a127966215fd58881e Author: Zhu Yi Date: Mon Jan 14 17:46:18 2008 -0800 iwlwifi: delay firmware loading from pci_probe to network interface open This patch moves the firmware loading (read firmware from disk and load it into the device SRAM) from pci_probe time to the first network interface open time. There are two reasons for doing this: 1. To support kernel buildin iwlwifi drivers. Because kernel initializes network devices subsystem before hard disk and SATA subsystem, it is impossible to get the firmware image from hard disk in the PCI probe handler. Thus delaying the firmware loading into the network interface open time is the way to go. Note, we only read the firmware image from hard disk the first time the interface is open. After this is succeeded, we cache the firmware image into the host memory. This is a performance gain when user open and close the interface multiple times and is necessary for device suspend and resume. 2. For better power saving. When the iwlwifi modules are loaded (or buildin the kernel) but the wireless network interface is not being used, it is a good practice the wireless device consumes as less power as possible. Unloading the firmware from the wireless device and unregister the driver's interrupt handler in the network interface close handler provides users a way to achieve this. User space network configuration tools (i.e NetworkManager) can also contribute here when it detects a wired cable is connected and close the wireless interface automatically. This patch also includes the pci_save/restore_state() fixed by Ian Schram upon the first version. Signed-off-by: Zhu Yi Signed-off-by: Ian Schram Signed-off-by: John W. Linville commit 3058f02137359efb412975cf94a9fa7c25413387 Author: Ben Cahill Date: Mon Jan 14 17:46:17 2008 -0800 iwlwifi: document scan command Document scan command. Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 87e4f7dfe56dbaa5470e047d991c077f8e479d21 Author: Tomas Winkler Date: Mon Jan 14 17:46:16 2008 -0800 iwlwifi: remove iwl4965_tx_cmd This patch removes iwl4965_tx_cmd function and splits its content to iwl4965_hw_build_tx_cmd_rate, iwl4965_build_tx_cmd_basic, and iwl4965_tl_get_stats function. The latest one will be deprecated when traffic load will move to rate scale module. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 6a218f6f3b1679c3f12c487131f0be5b2841bfbe Author: Tomas Winkler Date: Mon Jan 14 17:46:15 2008 -0800 iwlwifi: move iwl4965_get_dma_hi_address function to iwl-helpers.h This patch moves iwl4965_get_dma_hi_address function to iwl-headers.h as iwl_get_dma_hi_address. This function will be used in more chipsets than only 4965. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 440d42c30cb86eb1b6dbc0d84b9b52e2476fa5e3 Author: Tomas Winkler Date: Mon Jan 14 17:46:14 2008 -0800 iwl4965: Remove redundant code in iwl4965_tx_cmd This function removes redundant code in iwl4965_tx_cmd function, leftovers of previous design. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit d15913140645d9c23e8b0a9a0bb307ca889688d3 Author: Michael Buesch Date: Mon Jan 14 00:05:57 2008 +0100 b43: Add NPHY channel switch code This adds code and table data for channel switching on NPHYs. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 53a6e2342d73d509318836e320f70cd286acd69c Author: Michael Buesch Date: Sun Jan 13 21:23:44 2008 +0100 b43: Add NPHY radio init code This adds some code to init the 2055 radio. This patch adds two files "tables_nphy.h" and "tables_nphy.c" Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit af4b7450788426a113057ce2d85c25b4f4e440d1 Author: Michael Buesch Date: Sun Jan 13 21:08:24 2008 +0100 ssb: Add boardflags_hi field to the sprom data structure Add boardflags-high. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 60168f12b9d3fa1a81c774ecaffe8620a862323d Author: Michael Buesch Date: Sun Jan 13 16:41:23 2008 +0100 b43: Add Broadcom 2055 radio register definitions Add the register definitions for the Broadcom 2055 N-radio. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 60da481b98082ff5ffd233b18683c3ffe3ab618c Author: Helge Deller Date: Sun Jan 13 15:16:34 2008 +0100 WAVELAN - compile-time check for struct sizes Convert optional struct size checks to non-optional compile-time checks. Furthermore BUILD_BUG_ON() which will be optimized away by the compiler. Signed-off-by: Helge Deller Signed-off-by: John W. Linville commit eb189d8bc9824bcb2187ffdab27d77ab469264c3 Author: Michael Buesch Date: Mon Jan 28 14:47:41 2008 -0800 b43: Add support for new firmware This patch adds support for new firmware. Old firmware is still supported until July 2008. To get new firmware, go to ftp://ftp.linksys.com/opensourcecode/wrt150nv11/1.51.3/ and download the tarball. We don't have a smaller tarball, yet. That will be fixed later. You can extract firmware out of the "wl_ap.o" file contained in this tarball using latest fwcutter. You must pass the option --unsupported to fwcutter. Fwcutter-010 with official support for a new firmware image will be released soon. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 243dcfcc1d4b33aa610f1bf3ec610dafdf4d7ff7 Author: Michael Buesch Date: Sun Jan 13 14:12:44 2008 +0100 b43: Fix radio ID register reading This fixes reading of the high 16 bits of the radio ID on new devices. 2055 radios want lo16 to be read first. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 89539ebe2f2eb3a0d77b92884b092f2eb2575bd9 Author: Ivo van Doorn Date: Thu Jan 10 22:40:13 2008 +0100 rt2x00: Fix queue_idx initialization For TX rings the queue_idx should start at IEEE80211_TX_QUEUE_DATA0 and for each followup ring this index needs to be increased. For the RX ring the queue_idx should be set to 0. We don't need to initialize the tx_params. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 40561b8426c27f187e2ae496ed603e7c4e3ab818 Author: Ivo van Doorn Date: Thu Jan 10 22:02:44 2008 +0100 rt2x00: Data and desc pointer initialization rt2500usb and rt73usb data and desc pointer initialization was incorrect because it was using uninitialized variables to determine the length. In addition rt2500usb used skb_pull and removed the ieee80211 from each received frame instead of using skb_trim to remove the device descriptor from the frame. Finally this also fixes the descriptor override when 4 byte aligning occured. We still need a completely valid descriptor when using the TX/RX dumping capabilities in debugfs. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit dd0d43ea0bbd4c4554b13d4a5d282f9c4d1b5591 Author: Michael Buesch Date: Mon Jan 7 12:55:14 2008 +0100 b43: Add N-PHY related initvals firmware filenames. This adds the initval filenames for the N-PHY firmware. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 47f76ca3a34cd6571a2de39da2926123ca39a4c1 Author: Michael Buesch Date: Thu Dec 27 22:15:11 2007 +0100 b43: Fix tim search buffer overrun Use the length of the variable section of the beacon instead of the whole beacon length for bounds checking. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 280d0e16bcbf5893505a0d0897f3ca1ddc0764fa Author: Michael Buesch Date: Wed Dec 26 18:26:17 2007 +0100 b43: Put multicast frames on the mcast queue This queues frames flagged as "send after DTIM" by mac80211 on the special multicast queue. The firmware will take care to send the packet after the DTIM. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit d4df6f1a9edb80c99913548467397617ccee7855 Author: Michael Buesch Date: Wed Dec 26 18:04:14 2007 +0100 b43: Fix template upload locking. This fixes the template upload locking. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit e66fee6aa04b27b6b6f812af0e4123eded5bf8ac Author: Michael Buesch Date: Wed Dec 26 17:47:10 2007 +0100 b43: Fix upload of beacon packets to the hardware This fixes uploading of the beacon data and writing of the TIM and DTIM offsets. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 471b3efdfccc257591331724145f8ccf8b3217e1 Author: Johannes Berg Date: Fri Dec 28 14:32:58 2007 +0100 mac80211: add unified BSS configuration This patch (based on Ron Rindjunsky's) creates a framework for a unified way to pass BSS configuration to drivers that require the information, e.g. for implementing power save mode. This patch introduces new ieee80211_bss_conf structure that is passed to the driver via the new bss_info_changed() callback when the BSS configuration changes. This new BSS configuration infrastructure adds the following new features: * drivers are notified of their association AID * drivers are notified of association status and replaces the erp_ie_changed() callback. The patch also does the relevant driver updates for the latter change. Signed-off-by: Ron Rindjunsky Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2bc454b0b30b3645d114689b64321cb49be99923 Author: Michael Wu Date: Tue Dec 25 19:33:16 2007 -0500 mac80211: Fix rate reporting regression Mattias Nissler's "clean up rate selection" patch incorrectly changes the behavior of txrate setting in sta_info. This patch backs out parts of the rate selection consolidation in order to fix this issue for now. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 9ab461732a3cd8e7a7cf13cc46ed4c1ac7907824 Author: Ron Rindjunsky Date: Tue Dec 25 17:00:38 2007 +0200 iwlwifi: A-MPDU Rx flow enabled This patch enables the A-MPDU Rx flow. it contains several adjustments to new mac80211 A-MPDU Rx flow. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 132127e5057be70112bb974b8a3aaa0f7b14847f Author: Luis R. Rodriguez Date: Fri Jan 4 02:21:05 2008 -0500 ath5k: Fix frame duration oops This patch fixes an oops which was introduced as a regression by commit fd640775bd16e1df50c867cc547af0, on the patch titled, "mac80211: dont use interface indices in drivers". ieee80211_generic_frame_duration() now relies on sdata->flags which itself gets set upon bringing the interface up. We check for the virtual interface now before setting the rate duration registers. After the mode changes are introduced onto mac80211 we should revisit these changes. This patch was tested on the following cards: 1) BG card: Atheros AR5213A chip found (MAC: 0x59, PHY: 0x43) RF2112A 2GHz radio found (0x46) 2) ABG card: Atheros AR5213A chip found (MAC: 0x59,PHY: 0x43) RF5112A multiband radio found (0x36) Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4fd6931ebe24640bec72b91ba612325843a5e3cc Author: Johannes Berg Date: Wed Dec 19 02:03:35 2007 +0100 mac80211: implement cfg80211 station handling This implements station handling from userspace via cfg80211 in mac80211. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5dfdaf58d61f06a458529430c24b1191ea4d1a27 Author: Johannes Berg Date: Wed Dec 19 02:03:33 2007 +0100 mac80211: add beacon configuration via cfg80211 This patch implements the cfg80211 hooks for configuring beaconing on an access point interface in mac80211. While doing so, it fixes a number of races that could badly crash the machine when the beacon is changed while being requested by the driver. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 51fb61e76d952e6bc2fbdd9f0d38425fbab1cf31 Author: Johannes Berg Date: Wed Dec 19 01:31:27 2007 +0100 mac80211: move interface type to vif structure Drivers that support mixed AP/STA operation may well need to know the type of a virtual interface when iterating over them. The easiest way to support that is to move the interface type variable into the vif structure. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 32bfd35d4b63bd63de4bb0d791ef049c3c868726 Author: Johannes Berg Date: Wed Dec 19 01:31:26 2007 +0100 mac80211: dont use interface indices in drivers This patch gets rid of the if_id stuff where possible in favour of a new per-virtual-interface structure "struct ieee80211_vif". This structure is located at the end of the per-interface structure and contains a variable length driver-use data area. This has two advantages: * removes the need to look up interfaces by if_id, this is better for working with network namespaces and performance * allows drivers to store and retrieve per-interface data without having to allocate own lists/hash tables Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f653211197f3841f383fa9757ef8ce182c6cf627 Author: Michael Wu Date: Sun Oct 14 14:43:16 2007 -0400 Add rtl8180 wireless driver This patch adds a mac80211 based wireless driver for the rtl8180 and rtl8185 PCI wireless cards. Also included are some rtl8187 changes required due to the relationship between that driver and this one. Michael Wu is primarily responsible for the initial driver and rtl8185 support. Andreas Merello provided the additional rtl8180 support. Thanks to Jukka Ruohonen for the donating a rtl8185 card! It was very helpful for the rtl8225z2 code. The Signed-off-by information below is collected from the individual patches submitted to wireless-2.6 before merging this driver upstream. Signed-off-by: Andrea Merello Signed-off-by: Johannes Berg Signed-off-by: Pavel Roskin Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit fa1c114fdaa605496045e56c42d0c8aa4c139e57 Author: Jiri Slaby Date: Sun Aug 12 17:33:16 2007 +0200 [PATCH] Net: add ath5k wireless driver add ath5k wireless driver Portions of this driver are covered by one or both of the ISC and 3-clause BSD licenses. Specific license information is cited at the top of each file. Acked-by and Signed-off-by information is collected from individual patches as collected in the wireless-2.6 tree prior to upstream submission. Acked-by: Matthew W. S. Bell Acked-by: Michael Taylor Acked-by: Pavel Roskin Signed-off-by: Andrew Morton Signed-off-by: Bradley M. Kuhn Signed-off-by: Bruno Randolf Signed-off-by: Dave Young Signed-off-by: Francesco Gringoli Signed-off-by: Jiri Slaby Signed-off-by: Johannes Berg Signed-off-by: Karen Sandler Signed-off-by: Krzysztof Halasa Signed-off-by: Luis R. Rodriguez Signed-off-by: Matt Norwood Signed-off-by: Nick Kossifidis Signed-off-by: Richard Fontana Signed-off-by: Stephen Hemminger Signed-off-by: Ulrich Meis Signed-off-by: John W. Linville commit 3543f8069d3cc932202e64095d1d3986a10d34ed Author: John W. Linville Date: Thu Jan 10 13:28:49 2008 -0500 b43: finish removal of pio support As suggested in "b43: Remove PIO support"... Signed-off-by: John W. Linville commit 17f65f814fc6144e61b5d19f8e0627cd781486c2 Author: Pavel Roskin Date: Wed Jan 9 22:16:58 2008 -0500 hostap_cs: don't match revisions in presense of the MAC chip name If the third PCMCIA ID string specifies the MAC chip, the fourth ID string doesn't need to be matched. Even if it's different, it will be compatible with the driver. This ensures that other different revisions of the card will be supported. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit f31800d8b79bc42e495070aa6e6425841b7bdcbf Author: Michael Buesch Date: Wed Jan 9 19:08:49 2008 +0100 b43: Remove the PHY spinlock This fixes a sparse warning about weird locking. The spinlock is not needed, so simply remove it. This also adds some sanity checks to the PHY and radio locking to protect against recursive locking. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 5250703e3144e50fbeceb4d1fc01ea2fd159fd4a Author: Michael Buesch Date: Wed Jan 9 18:39:09 2008 +0100 b43: Fix PHY register routing This fixes the PHY routing bit handling. This is needed for N-PHY. No functional change to A-PHY and G-PHY code. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 424047e6c684bef2872bd7af7d0e3961c6503981 Author: Michael Buesch Date: Wed Jan 9 16:13:56 2008 +0100 b43: Add N-PHY register definitions This patch adds all register definitions for the N-PHY. This adds two new files: nphy.h and nphy.c No functional changes to existing code. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 9081728b5f08f8137973c70e172c47ccb0dd33c9 Author: Michael Buesch Date: Sat Dec 29 17:24:23 2007 +0100 zd1211rw: fix alignment for QOS and WDS frames This patch fixes RX packet alignment issues in the zd1211rw driver. This is based on a patch by Johannes Berg. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 01c20986cb2c2aa9c66603e9be14be5ebae99aca Author: Miguel Botón Date: Fri Jan 4 23:34:35 2008 +0100 iwlwifi: fix compilation warning in 'iwl-4965.c' This patch fixes a compilation warning in 'iwl-4965.c'. "warning: format ‘%d’ expects type ‘int’, but argument 3 has type ‘long unsigned int’" Signed-off-by: Miguel Botón commit 93d2334f3773c0d4e8dfafdb394f73bb1bdf0cc9 Author: Ivo van Doorn Date: Sun Jan 6 23:42:21 2008 +0100 rt2x00: Release rt2x00 2.0.14 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 7d1de80644dad9cd6db6e00984bd12d6cae63855 Author: Ivo van Doorn Date: Sun Jan 6 23:42:04 2008 +0100 rt2x00: Correctly initialize data and desc pointer rt2500usb and rt73usb store the descriptor in different places. This means we should move the initialization of the 2 pointers to the driver callback function fill_rxdone(). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 837e7f247a8ed3f5577462655f8099a81b360422 Author: Ivo van Doorn Date: Sun Jan 6 23:41:45 2008 +0100 rt2x00: Move init_txring and init_rxring into rt2x00lib Prior to enabling the radio rt2x00lib should go through all rings and for each entry should call the callback function init_txentry() and init_rxentry(). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 7e56d38d5d0bda89228821902af297a46b5fdb80 Author: Ivo van Doorn Date: Sun Jan 6 23:41:28 2008 +0100 rt2x00: Determine MY_BSS from descriptor Use the MY_BSS descriptor field to determine if the received frame belongs to the same BSS as the interface. This can be used by rxdone to determine if the frame should be updated or not. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit dd3193e1c25ffbc66b684edb52273ae10695909d Author: Ivo van Doorn Date: Sun Jan 6 23:41:10 2008 +0100 rt2x00: Cleanup write_tx_desc() arguments Send the skb structure with write_tx_desc() and use the skbdesc structure to read all information about the frame. This saves several arguments in the function definition and it is easier to send more information later as well. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3c4f2085e5d82639004406795653e1e4dd6720e0 Author: Ivo van Doorn Date: Sun Jan 6 23:40:49 2008 +0100 rt2x00: Move packet filter flags The packet filter flags don't belong in the interface structure because they are device based instead of interface based. So move the filter fields out of struct interface and into rt2x00_dev. Additionally we shouldn't change the filter based on the working mode, if such a thing is needed than mac80211 should have done that. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit e37ea2135be080dd25f1a2644c9132c109fa77d1 Author: Ivo van Doorn Date: Sun Jan 6 23:40:07 2008 +0100 rt2x00: Move start() and stop() handlers into rt2x00lib.c suspend & resume was broken since it called rt2x00mac_start() and rt2x00mac_stop() which would fail to execute because the DEVICE_PRESENT flag was not set. Move the start and stop handlers into rt2x00lib.c which are called from rt2x00mac_start() and rt2x00mac_stop() after they have checked the DEVICE_PRESENT flag, while suspend and resume handlers can directly call those functions. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 042671040db95a896c5ca960b9b656692a787892 Author: Ivo van Doorn Date: Sun Jan 6 23:39:25 2008 +0100 rt2x00: Store queue idx and entry idx in data_ring and data_entry Store the queue idx inside structure data_ring Store the entry idx inside structure data_entry This saves us a few calls to ARRAY_INDEX() which is now unused. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3867705bb773818b39e0ca8d02ccb71fb4d2ffb8 Author: Ivo van Doorn Date: Sun Jan 6 23:38:58 2008 +0100 rt2x00: Only set the TBCN flag when the interface is configured to send beacons. These flags used to be fixed to one in rt2500pci_config_type, which caused the beacon timer interrupt to fire. This would lead to rt2x00lib_beacondone adding work which called rt2x00lib_beacondone_scheduled which called ieee80211_beacon_get which printed an error about not having any beacon data. With this patch, these interrupts are only generated when the interface is configured to send beacons. Signed-off-by: Matthijs Kooijman Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 1230cb83f46731ca4eaa57c480788ed3c9d05935 Author: Ivo van Doorn Date: Sun Jan 6 23:38:34 2008 +0100 rt2x00: Always call ieee80211_stop_queue() when return NETDEV_TX_BUSY Apparently it was possible that ieee80211_stop_queue() was not full while NETDEV_TX_BUSY was being reported back. I think that is what causing the WARN_ON(). This moves all calls to ieee80211_stop_queue() in rt2x00mac.c where it is easier to determine if the queue should be halted. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3e34c6dcb36bbd5294cae2654c32e24b9787da3a Author: Ivo van Doorn Date: Sun Jan 6 23:38:10 2008 +0100 rt2x00: Fix chipset debugfs file Initialize blob->data before moving the data pointer Initialize blob->size based on blob->data size This fixes the empty chipset file in debugfs. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 96c755a3923748313851da42018c962f5609942f Author: Michael Buesch Date: Sun Jan 6 00:09:46 2008 +0100 b43: Fix any N-PHY related WARN_ON() in the attach stage. This fixes all WARN_ON()s in the attach stage. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit d5c71e464170e823b5ae5fe7b3555f3c31694148 Author: Michael Buesch Date: Fri Jan 4 17:06:29 2008 +0100 b43: Add NPHY kconfig option This adds a new Kconfig option for enabling probing of N-PHYs. This option will be removed again once the stuff works. For now it is to help in development. This way real users won't execute the broken N-PHY codepaths, but the developers can easily enable N-PHY stuff. To enable N-PHY probing simply remove the BROKEN dependency and enable the option in the kernel config. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit ca08a965a6c251f9c9002c1a7a0316e63d4c28ec Author: Michael Buesch Date: Thu Jan 3 19:03:09 2008 +0100 b43-ssb-bridge: Add PCI ID for BCM43XG This adds the PCI ID 0x4329 for the BCM43XG. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit fedb0eefe286a6409aa2c6c6f2353c595e68d33d Author: Miguel Botón Date: Tue Jan 1 01:17:54 2008 +0100 b44: power down PHY when interface down This is just this patch (http://lkml.org/lkml/2007/7/1/51) but adapted to the 'b44' ssb driver. Signed-off-by: Miguel Botón Signed-off-by: John W. Linville commit 961d57c883198831503c7be5c088a26101dfb16c Author: Miguel Botón Date: Tue Jan 1 01:16:46 2008 +0100 ssb: add 'ssb_pcihost_set_power_state' function This patch adds the 'ssb_pcihost_set_power_state' function. This function allows us to set the power state of a PCI device (for example b44 ethernet device). Signed-off-by: Miguel Botón Signed-off-by: John W. Linville commit aa6c7ae21d079f25420e436092e5461001ec29d7 Author: Michael Buesch Date: Wed Dec 26 16:26:36 2007 +0100 b43: Add definitions for MAC Control register This adds some definitions for the MAC Control register and uses them. This basically is no functional change. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 03b29773b613f10d2f97dbf0983f1c4c58507967 Author: Michael Buesch Date: Wed Dec 26 14:41:30 2007 +0100 b43: Remove PIO support Remove b43 PIO support. DMA works well on all supported devices. There's no reason to use PIO. Additionally, new devices don't support PIO in hardware anymore. b43 PIO support is dead and unused code. After applying this patch please do git rm drivers/net/wireless/b43/pio.h git rm drivers/net/wireless/b43/pio.c to remove the main PIO support code. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 993e1c780b323736a2cdc24564f35e80ce8d3337 Author: Michael Buesch Date: Sat Dec 22 22:01:36 2007 +0100 ssb: Fix PCMCIA lowlevel register access This fixes lowlevel register access for PCMCIA based devices. The patch also adds a temporary workaround for the device mac address. It simply adds generation of a random address. The real SPROM extraction will follow in another patch. The temporary workaround will be removed then, but for now it's OK. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit f3dd3fcc2c79b950801641075b33b86acc372d9b Author: Michael Buesch Date: Sat Dec 22 21:56:30 2007 +0100 b43: Fix chip access validation for new devices This fixes chip access validation for newer devices (4318 and up, I think) This patch fixes probing of a PCMCIA based 4318 device. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 9db1f6d725921c413cc344beda5e7e7d011b02e7 Author: Michael Buesch Date: Sat Dec 22 21:54:20 2007 +0100 b43: Only select allowed TX and RX antennas This fixes antenna selection in b43. It adds a sanity check for the antenna numbers we get from mac80211. This patch depends on ssb: Fix extraction of values from SPROM Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit e861b98d5e1be769ca6483b6df97149b956ea834 Author: Michael Buesch Date: Sat Dec 22 21:51:30 2007 +0100 ssb: Fix extraction of values from SPROM This fixes extraction of some values from the SPROM. It mainly fixes extraction of antenna related values, which is needed for another b43 fix sent later. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 66c6b139f77e8568f03611422967bfaa4c4a3bbd Author: Zhu Yi Date: Fri Jan 4 22:53:11 2008 -0800 iwlwifi: fix typo in 'drivers/net/wireless/iwlwifi/Kconfig' Based on a patch by Miguel. Signed-off-by: Zhu Yi Cc: Miguel Boton Cc: "John W. Linville" Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 27ae4d4328769021b95777e37873074c1da52f91 Author: Daniel Walker Date: Fri Dec 21 20:16:15 2007 -0800 prism54: remove questionable down_interruptible usage Reviewing the semaphore usage I noticed these down_interruptible calls. Most of these aren't returning anything, so a caller can't tell if the operation completed or not. prism54_wpa_bss_ie_get() returns zero, but it's treated as the function failing which doesn't seem correct. Signed-off-by: Daniel Walker Cc: Michael Wu Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 772353d84991ecd2eebc2e287c381cb1626f9209 Author: John W. Linville Date: Tue Jan 8 15:53:51 2008 -0500 Revert "rtl8187: fix tx power reading" This reverts commit e4128a54d790658ab265c915e5da9153ff74af97. On Sunday 02 December 2007 17:17:51 Michael Wu wrote: > CCK and OFDM power levels are stored in adjacent bytes, not nibbles. > This turns out to be true only for rtl8180. On rtl8187, power levels are indeed stored in nibbles, so this patch is wrong. Please revert this patch. Signed-off-by: John W. Linville commit 0e5ce1f33049a823f508f4a3f53ba186b12396b8 Author: Al Viro Date: Sat Dec 22 13:45:50 2007 -0500 misc wireless annotations Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 5b5e807fb8b56e31319fe8b27e1b072bb80862a8 Author: Al Viro Date: Thu Dec 27 01:54:06 2007 -0500 ipw2200: do not byteswap struct ipw_associate keep it little-endian, update places that use its members Signed-off-by: Al Viro Signed-off-by: John W. Linville commit e62e1ee02900bc315d7aeba55196a78f8f62f1c5 Author: Al Viro Date: Thu Dec 27 01:36:46 2007 -0500 ipw2200 trivial annotations Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 0569056e0d355f5b9a45c5b16a9b0b65718d077e Author: Al Viro Date: Sat Dec 22 14:29:07 2007 -0500 prism54 trivial annotations Signed-off-by: Al Viro Signed-off-by: John W. Linville commit cecefb8e97695eef420aab43938c26141ab25344 Author: Al Viro Date: Sat Dec 22 12:29:24 2007 -0500 bcm43xx annotations Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 8160c031491015299afacb95a1c1113ccbfefe54 Author: Al Viro Date: Fri Dec 21 22:02:23 2007 -0500 p54pci: endianness annotations and fixes ->ring_control_dma is dma_addr_t, needs conversion to little-endian before __raw_writel()... Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 184a3b2c517531faac80b0d74c423dd26038cfd2 Author: Al Viro Date: Fri Dec 21 03:40:35 2007 -0500 hostap: don't mess with mixed-endian even for internal skb queues Just leave hfa384x_info_frame as-is, don't convert in place. Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 8a9faf3cd08b91aca1502dbe18e3b5063fda2e87 Author: Al Viro Date: Fri Dec 21 03:30:16 2007 -0500 hostap annotations Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 3eb9b41f2474c53fe469fbe383955d5aae9e76e4 Author: Al Viro Date: Fri Dec 21 00:00:35 2007 -0500 airo: last of endianness annotations sanitize handling of ConfigRid Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 329e2c0067d5a2da88aa844bf57b2aaba9fceb2f Author: Al Viro Date: Thu Dec 20 22:58:57 2007 -0500 airo: sanitize handling of StatusRid Signed-off-by: Al Viro Signed-off-by: John W. Linville commit a749716ecc85743f04f7117e3b373266b63edf7e Author: Al Viro Date: Thu Dec 20 17:49:41 2007 -0500 airo: sanitize APListRid handling Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 56d81bd3c76f3ac917a560c662a696aa5e29b980 Author: Al Viro Date: Thu Dec 20 17:18:35 2007 -0500 airo: sanitize handling of CapabilityRid Don't byteswap any fields, annotate. That has caught a bug, BTW - will be handled in the next patch. Signed-off-by: Al Viro Signed-off-by: John W. Linville commit a23ace5f226aea6c8ba04794720502b1aad1dd92 Author: Al Viro Date: Wed Dec 19 22:24:16 2007 -0500 airo: sanitize handling of StatsRid Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 4293ea33c8a85c3b4401df5df82fc3e070ec0c8e Author: Al Viro Date: Wed Dec 19 19:21:51 2007 -0500 airo: sanitize handling of WepKeyRid don't byteswap, update users to match that, annotate. Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 17e70491404c73012a7991a068ba62ec59bebdb2 Author: Al Viro Date: Wed Dec 19 18:56:37 2007 -0500 airo: sanitize BSSListRid handling Stop byteswap-in-place in readBSSListRid(), annotate the sucker. BTW, that had immediately found a bug - another codepath fetching the same struct from card did _not_ byteswap, but used ->dBm the same as everything else - host-endian. Fix in the next patch... Signed-off-by: Al Viro Signed-off-by: John W. Linville commit b8c06bc1f39a0311cb0f41099be03ee2b202aeae Author: Al Viro Date: Wed Dec 19 17:55:43 2007 -0500 bap_read()/bap_write() work with fixed-endian buffers Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 0dd2212fb6872d8f5dd90391a12fb3fcb877c7c1 Author: Al Viro Date: Mon Dec 17 16:11:57 2007 -0500 airo: sanitize handling of SSID_rid * store SSID_rid without conversions * sanitize proc_SSID_on_close() (and avoid access past the end of buffer, while we are at it) Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 593c2b9cf28355c6c409d71594bed797279d01f5 Author: Al Viro Date: Mon Dec 17 15:09:34 2007 -0500 airo: trivial endianness annotations Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 4958730e2b4e10d29aa80574a848308ed95f508f Author: Al Viro Date: Thu Dec 27 01:57:47 2007 -0500 ipw2200: ipw_tx_skb() endianness bug We'd just set tfd->u.data.chunk_len[i] to cpu_to_le16(remaining_bytes); passing it to pci_map_single() is a bad idea - it expects host-endian. Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 472caf8c8a534367be8954dacf7c9e0317bb7e89 Author: Al Viro Date: Thu Dec 27 01:50:54 2007 -0500 ipw2200 fix: ->rt_chbitmask is le16 A couple of places forgot cpu_to_le16() in assignments to that field, even though right next to those in other branches of if-else we do it correctly. Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 743b84d2fc87cc19ca1c1cd2a821225caba862b0 Author: Al Viro Date: Thu Dec 27 01:43:16 2007 -0500 ipw2200 fix: struct ieee80211_radiotap_header is little-endian some places in driver forget conversions Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 7698d6977a62bbc6ed3b9d0d0230f2213a3b2f9d Author: Al Viro Date: Sat Dec 29 04:55:50 2007 -0500 ray_cs fixes bugs galore: * 0xf380 instead of htons(ETH_P_AARP), etc. Works only on l-e. * back in 2.3.20 driver got readb() and friends instead of direct dereferencing of iomem. Somebody got too enthusiatic and replaced ntohs(p->mrx_overflow) with ntohs(read(&p->mrx_overflow) without noticing that (a) the sucker is 16bit and (b) that expression can't possibly be portable anyway (hell, on l-e it's always less than 256, on b-e it's always a multiple of 256). Proper fix is swab16(readw(&p->mrx_overflow) taking into account the conversion done by readw() itself. That crap happened in several places; the same fix applies. * untranslate() assumes little-endian almost everywhere, except for the code checking for IPX/AARP packets; there we forgot ntohs(), so that part only works on big-endian. Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 1edd3a555304a266e76bbc6cbe04f446fdd7940b Author: Al Viro Date: Fri Dec 21 00:15:18 2007 -0500 ipw2100 annotations and fixes Signed-off-by: Al Viro Signed-off-by: John W. Linville commit dc73c623dd0a653bf80ec41870dcf8b601fc6e9b Author: Al Viro Date: Fri Dec 21 23:49:02 2007 -0500 p54common annotations and fixes * ->exp_id in bootrec_exp_if is __le16; missing conversion in its use * !(x & y) misspelled as !x & y Signed-off-by: Al Viro Signed-off-by: John W. Linville commit e0c0056c677709bd1e2c18b84a1d10e54f7c8fcc Author: Al Viro Date: Fri Dec 21 03:42:01 2007 -0500 hostap: fix endianness with txdesc->sw_support it's le32, not le16... Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 2ab1f519cbec0902cb86f1e29b10f2f00dd020c0 Author: Al Viro Date: Thu Dec 20 23:04:35 2007 -0500 airo: fix writerids() endianness in writerids() we do _not_ byteswap, so we want to access ->opmode as little-endian. Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 15617858b3cf249a3577df8da970f779bbc8a737 Author: Al Viro Date: Thu Dec 20 17:21:36 2007 -0500 airo endianness bug: cap_rid.extSoftCap never had been byteswapped, used as host-endian... Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 0300b3321d9ed73a0c3f575f2df250c577852356 Author: Al Viro Date: Wed Dec 19 22:38:33 2007 -0500 airo: bug in airo_interrupt() handling on incoming 802.11 On big-endian we end up with swapped first two bytes in packet, due to earlier conversion to host-endian and forgotten conversion back. The code we calculated that host-endian for had been duplicated several time - it finds the 802.11 MAC header length by the first two bytes of packet; taken into a new helper (header_len(__le16 ctl)). Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 851b3e5e3de0feea7bfee634f99a940648de58c8 Author: Al Viro Date: Wed Dec 19 19:20:12 2007 -0500 airo: fix endianness bug in ->dBm handling airo_translate_scan() reads BSSListRid directly, does _not_ byteswap and uses ->dBm (__le16) as host-endian. Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 977b143c13e685081625704ac356b741d71c6a73 Author: Al Viro Date: Wed Dec 19 16:45:29 2007 -0500 airo: fix transmit_802_11_packet() a) gaplen would better be stored little-endian b) for control packets (shorter than 24-byte header) we ended up with bap_write(ai, hdrlen == 30 ? (const u16*)&gap.gaplen : (const u16*)&gap, 38 - hdrlen, BAP1); passing to card the data past the end of gap (i.e. random stuff from stack) and did _not_ feed the gaplen at the right offset. c) sending the contents of uninitialized fields of struct is Not Nice(tm) either Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 8524f59d4735e1ff9c9dc3e09ebcc7bdb3b32b7b Author: Al Viro Date: Sat Dec 29 05:03:35 2007 -0500 ieee80211: beacon->capability is little-endian It's only a debugging printk, so it went unnoticed; still, the fix is trivial, so... Signed-off-by: Al Viro Signed-off-by: John W. Linville commit d9e94d5647ee6700773d81514a8ccb7dc6342fb4 Author: Al Viro Date: Sat Dec 29 05:01:07 2007 -0500 ieee80211: fix misannotations Signed-off-by: Al Viro Signed-off-by: John W. Linville commit c414e84b2200ca8a7e7ae565cad200e5c02e02ec Author: Al Viro Date: Sat Dec 29 04:58:39 2007 -0500 ieee80211softmac_auth_resp() fix The struct ieee8021_auth * passed to it comes straight from skb->data without any conversions; members of the struct are little-endian, so we'd better take that into account when doing switch by auth->algorithm, etc. Signed-off-by: Al Viro Signed-off-by: John W. Linville commit b16f13d00c6f7e7317d3074f9bd07b5c9f313891 Author: Al Viro Date: Sat Dec 29 04:08:15 2007 -0500 several missing cpu_to_le16() in ieee80211softmac_capabilities() on some codepaths we forgot to convert to little-endian as we do on the rest of them and as the caller expects from us. Signed-off-by: Al Viro Signed-off-by: John W. Linville commit 8fffc15dc777ce3fe12ddc582d7c87a642591d3b Author: Al Viro Date: Thu Dec 27 01:25:40 2007 -0500 eliminate byteswapping in struct ieee80211_qos_parameters Make it match the on-the-wire endianness, eliminate byteswapping. The only driver that used this sucker (ipw2200) updated. Signed-off-by: Al Viro Signed-off-by: John W. Linville commit c0ddd04d55e0a4d1506b6b8a4eb9e2b62f3aa41d Author: John W. Linville Date: Mon Jan 21 13:41:18 2008 -0500 wireless: cleanup some merge errors Signed-off-by: John W. Linville commit 1e637c74b0f84eaca02b914c0b8c6f67276e9697 Author: Jan Engelhardt Date: Mon Jan 21 03:18:08 2008 -0800 [IPV4]: Enable use of 240/4 address space. This short patch modifies the IPv4 networking to enable use of the 240.0.0.0/4 (aka "class-E") address space as propsed in the internet draft draft-fuller-240space-00.txt. Signed-off-by: Jan Engelhardt Acked-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 96750162b5f7350ec7ba7cf747a6623858d65dd2 Author: Jarek Poplawski Date: Mon Jan 21 02:36:02 2008 -0800 [NET] gen_estimator: gen_replace_estimator() cosmetic changes White spaces etc. are changed in gen_replace_estimator() to make it similar to others in a file. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 72348a424f989d6b748d9b816d46839b01fcd4cd Author: Stephen Hemminger Date: Mon Jan 21 02:27:29 2008 -0800 [PKT_SCHED] net: add sparse annotation to ptype_seq_start/stop Get rid of some more sparse warnings. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit aa767bfea4828936fffb7800204294ba4c8ba283 Author: Stephen Hemminger Date: Mon Jan 21 02:26:41 2008 -0800 [PKT_SCHED] net classifier: style cleanup's Classifier code cleanup. Get rid of printk wrapper, and fix whitespace and other style stuff reported by checkpatch Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 786a90366f7571b5755d0e2773be9fe4cde80871 Author: Stephen Hemminger Date: Mon Jan 21 02:25:29 2008 -0800 [PKT_SCHED] sch_atm: style cleanup ATM scheduler clean house: * get rid of printk and qdisc_priv() wrapper * split some assignment in if() statements * whitespace and line breaks. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 9d127fbdd26f9f16c41893b5f85b38321980e096 Author: Stephen Hemminger Date: Mon Jan 21 02:24:21 2008 -0800 [PKT_SCHED] dsmark: checkpatch warning cleanup Get rid of all style things checkpatch warns about, indentation and whitespace. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 4c30719f4f550d9b3034d9c00da9cb7fb99e6c0b Author: Stephen Hemminger Date: Mon Jan 21 02:23:49 2008 -0800 [PKT_SCHED] dsmark: handle cloned and non-linear skb's Make dsmark work properly with non-linear and cloned skb's Before modifying the header, it needs to check that skb header is writeable. Note: this makes the assumption, that if it queues a good skb then a good skb will come out of the embedded qdisc. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5b0ac72bc5fdda9634fb07db4cb0237fa9b6df68 Author: David S. Miller Date: Mon Jan 21 02:21:45 2008 -0800 [PKT_SCHED] dsmark: Use hweight32() instead of convoluted loop. Based upon a patch by Stephen Hemminger and suggestions from Patrick McHardy. Signed-off-by: David S. Miller commit 81da99ed71254a08d9a0bce46c258c1e15ac3948 Author: Stephen Hemminger Date: Mon Jan 21 00:50:09 2008 -0800 [PKT_SCHED] dsmark: get rid of wrappers Remove extraneous macro wrappers for printk and qdisc_priv. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d20b3109e9d122460929c50b857fcde251706ece Author: Stephen Hemminger Date: Mon Jan 21 00:48:43 2008 -0800 [IPV6]: addrconf sparse warnings Get rid of a couple of sparse warnings in IPV6 addrconf code. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 13a0a096e58a1149a8cffbd7722b820044e3801e Author: Patrick McHardy Date: Mon Jan 21 00:47:43 2008 -0800 [NET_SCHED]: kill obsolete NET_CLS_POLICE option The code is already gone for about half a year, the config option has been kept around to select the replacement options for easier upgrades. This seems long enough, people upgrading from older kernels will have to reconfigure a lot anyway. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f12ca5f97b7f99288aff1dc32a91f21c3230fefe Author: Patrick McHardy Date: Mon Jan 21 00:47:08 2008 -0800 [MACVLAN]: Fix thinko in macvlan_transfer_operstate() When the lower device's carrier is off, the macvlan devices's carrier state should be checked to decide whether it needs to be turned off. Currently the lower device's state is checked a second time. This still works, but unnecessarily tries to turn off the carrier when its already off. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 91b4f954759653272504c55b715b757207ed1700 Author: Pavel Emelyanov Date: Mon Jan 21 00:28:03 2008 -0800 [VLAN]: Move protocol determination to seperate function I think, that we can make this code flow easier to understand by introducing the vlan_set_encap_proto() function (I hope the name is good) to setup the skb proto and merge the paths calling netif_rx() together. [Patrick: Modified to apply on top of my previous patches] Signed-off-by: Pavel Emelyanov Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 31ffdbcb5989c121f2f81a6b5b20c1c4bb21e5fd Author: Patrick McHardy Date: Mon Jan 21 00:27:18 2008 -0800 [VLAN]: Clean up vlan_skb_recv() - remove three instances of identical code - remove unnecessary NULL initialization - remove obvious and unnecessary comments Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ad712087f78469a783281d0d15657edfbff69594 Author: Patrick McHardy Date: Mon Jan 21 00:27:00 2008 -0800 [VLAN]: Update list address VLAN related mail should go to netdev. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2029cc2c84fb1169c80c6cf6fc375f11194ed8b5 Author: Patrick McHardy Date: Mon Jan 21 00:26:41 2008 -0800 [VLAN]: checkpatch cleanups Checkpatch cleanups, consisting mainly of overly long lines and missing spaces. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 57d3ae847d4403c5e4a35ae5f38665fff1a94c02 Author: Patrick McHardy Date: Mon Jan 21 00:26:25 2008 -0800 [VLAN]: Turn __constant_htons into htons where possible Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9dfebcc6479c55c001e4bb5fe7cc16b6799c43a7 Author: Patrick McHardy Date: Mon Jan 21 00:26:07 2008 -0800 [VLAN]: Turn VLAN_DEV_INFO into inline function Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit af30151709bcace1ca844d4bb8b7e2e392ff81eb Author: Patrick McHardy Date: Mon Jan 21 00:25:50 2008 -0800 [VLAN]: Simplify vlan unregistration Keep track of the number of VLAN devices in a vlan group. This allows to have the caller sense when the group is going to be destroyed and stop using it, which in turn allows to remove the wrapper around unregister_vlan_dev for the NETDEV_UNREGISTER notifier and avoid iterating over all possible VLAN ids whenever a device in unregistered. Also fix what looks like a use-after-free (but is actually safe since we're holding the RTNL), the real_dev reference should not be dropped while we still use it. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit acc5efbcd2a023c8801f2bba39971cf93812ce7c Author: Patrick McHardy Date: Mon Jan 21 00:25:31 2008 -0800 [VLAN]: Clean up unregister_vlan_dev Save two levels of indentation by aborting on error conditions, remove unnecessary initialization to NULL and remove two obvious comments. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 69ab4b7d6db68396dbfa827daa8d6f30f9b546a8 Author: Patrick McHardy Date: Mon Jan 21 00:25:15 2008 -0800 [VLAN]: Clean up initialization code - move module init/exit functions to end of file, remove some now unnecessary forward declarations - remove some obvious comments - clean up proc init function and move a proc-related printk there Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 198a291ce3a9103f4738600e3cf5416b66e009d9 Author: Patrick McHardy Date: Mon Jan 21 00:24:59 2008 -0800 [VLAN]: Remove non-implemented ioctls The GET_VLAN_INGRESS_PRIORITY_CMD/GET_VLAN_EGRESS_PRIORITY_CMD ioctls are not implemented and won't be, new functionality will be added to the netlink interface. Remove the code and make the ioctl handler return -EOPNOTSUPP for unknown commands instead of -EINVAL. Also remove a comment about passing unknown commands to the underlying device, that doesn't make any sense since its a VLAN specific ioctl and if its not implemented here, its implemented nowhere. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 40f98e1af4c6082f7f98391540a2a1ade030480a Author: Patrick McHardy Date: Mon Jan 21 00:24:30 2008 -0800 [VLAN]: Clean up debugging and printks - use pr_* functions and common prefix for non-device related messages - remove VLAN_ printk levels - kill lots of useless debugging statements - remove a few unnecessary printks like for double VID registration (already returns -EEXIST) and kill of a number of unnecessary checks in vlan_proc_{add,rem}_dev() that are already performed by the caller Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a5250a36954c6658e28cc2e7e07e314e0c79e8bb Author: Patrick McHardy Date: Mon Jan 21 00:24:13 2008 -0800 [ETHER]: Bring back MAC_FMT The print_mac function is not very suitable for debugging printks in performance critical paths since without ifdefs it will always get called. MAC_FMT can be used with pr_debug without any overhead when debugging is disabled. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 62f99efce61024f1c645c2c574882b510c77c579 Author: Patrick McHardy Date: Mon Jan 21 00:22:30 2008 -0800 [VLAN]: Kill useless check vlan->real_dev is always equal to the device since thats what we used for the lookup. It doesn't even seem worth a WARN_ON or BUG_ON. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ef3eb3e59bd5723895b2349edec98998198ef5bb Author: Patrick McHardy Date: Mon Jan 21 00:22:11 2008 -0800 [VLAN]: Move device setup to vlan_dev.c Move device setup to vlan_dev.c and make all the VLAN device methods static. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7bd38d778e3f2250e96fc277040879d66c30ecb4 Author: Patrick McHardy Date: Mon Jan 21 00:19:31 2008 -0800 [VLAN]: Use dev->stats Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b7a4a83629c1ddde8c2e6a872618c66577cb20f0 Author: Patrick McHardy Date: Mon Jan 21 00:19:16 2008 -0800 [VLAN]: Kill useless VLAN_NAME define The only user already includes __FUNCTION__ (vlan_proto_init) in the output, which is enough to identify what the message is about. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 740c15d0dd281c0cbe1a9ab1abc4f332e0df29bc Author: Patrick McHardy Date: Mon Jan 21 00:18:53 2008 -0800 [VLAN]: Clean up vlan_hdr/vlan_ethhdr structs Fix 3 space indentation and some overly long lines by moving the comments to a kdoc structure description. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 476bcea67f9a1ca6f2c0028e75fb2129272c8398 Author: Patrick McHardy Date: Mon Jan 21 00:18:26 2008 -0800 [VLAN]: Remove unnecessary structure declarations - struct packet_type is not used - struct vlan_group is declared later in the file before the first use - struct net_device is not needed since netdevice.h is included - struct vlan_collection does not exist - struct vlan_dev_info is declared later in the file before the first use Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 891687649a5c44a1d53668b4f7728bf97c8db8d5 Author: Patrick McHardy Date: Mon Jan 21 00:14:05 2008 -0800 [NET_SCHED]: sch_ingress: remove useless printk The printk about ingress qdisc registration error can't be triggered under normal circumstances. Since register_qdisc only fails for two identical registrations, the only way to trigger it is by loading the sch_ingress modules multiple times under different names, in which case we already return -EEXIST to userspace. Signed-off-by: Patrick McHardy Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 13893567358a8426d03ac3c613befc55431f23ce Author: Patrick McHardy Date: Mon Jan 21 00:13:44 2008 -0800 [NET_SCHED]: sch_ingress: avoid a few #ifdefs Move the repeating "ifndef CONFIG_NET_CLS_ACT/ifdef CONFIG_NETFILTER" ifdefs into a single condition. Signed-off-by: Patrick McHardy Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 645a1e39e4e3e84a275c5e4a7c8049041146f9b5 Author: Patrick McHardy Date: Mon Jan 21 00:13:19 2008 -0800 [NET_SCHED]: sch_ingress: move dependencies to Kconfig Instead of complaining at scheduler initialization time, check the dependencies in Kconfig. Signed-off-by: Patrick McHardy Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit c6ee877f2e4c4d44c934528b4cec6c8d7f54d3ad Author: Patrick McHardy Date: Mon Jan 21 00:12:53 2008 -0800 [NET_SCHED]: sch_ingress: remove unnecessary ops - ->reset is optional - sch_api provides identical defaults for ->dequeue/->requeue - ->drop can't happen since ingress never has a parent qdisc Signed-off-by: Patrick McHardy Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit e037834758af82a24c4d390b93e1ce5e280a551a Author: Patrick McHardy Date: Mon Jan 21 00:12:32 2008 -0800 [NET_SCHED]: sch_ingress: return proper error code in ingress_graft() Signed-off-by: Patrick McHardy Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit c21d4d5dd27329c30c5129d5dbc4942456af361c Author: Patrick McHardy Date: Mon Jan 21 00:12:10 2008 -0800 [NET_SCHED]: sch_ingress: remove unused inner qdisc Signed-off-by: Patrick McHardy Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit cb53c048912976d1d81b8f3475463788f462eebd Author: Patrick McHardy Date: Mon Jan 21 00:11:48 2008 -0800 [NET_SCHED]: sch_ingress: remove qdisc_priv() wrapper Signed-off-by: Patrick McHardy Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit a47812211bb38c6754a5a6a952ab406e711cc6e0 Author: Patrick McHardy Date: Mon Jan 21 00:11:21 2008 -0800 [NET_SCHED]: sch_ingress: remove excessive debugging Remove excessive debugging statements and some "future use" stuff. Signed-off-by: Patrick McHardy Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 58f4df423ee3e7ee33022d84bbd69561b03344a9 Author: Patrick McHardy Date: Mon Jan 21 00:11:01 2008 -0800 [NET_SCHED]: sch_ingress: formatting fixes Signed-off-by: Patrick McHardy Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 6f9e98f7a96fdf4d621b8241d5a8a55c692de373 Author: Stephen Hemminger Date: Sun Jan 20 17:20:56 2008 -0800 [PKT_SCHED] SFQ: whitespace cleanup Add whitespace around operators, and add a few blank lines to improve readability. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d46f8dd87d9e7d5356891cbe97b8472e74db1413 Author: Stephen Hemminger Date: Sun Jan 20 17:19:43 2008 -0800 [PKT_SCHED] SFQ: use net_random SFQ doesn't need true random numbers, it is only using them to salt a hash. Therefore it is better to use net_random() and avoid any possible problems with depleting the entropy pool. Signed-off-by: Stephen Hemminger Acked-by: Paul E. McKenney Signed-off-by: David S. Miller commit d3e994830d35159320d0a98c36aa580410c29609 Author: Stephen Hemminger Date: Sun Jan 20 17:18:45 2008 -0800 [PKT_SCHED] SFQ: timer is deferrable The perturbation timer used for re-keying can be deferred, it doesn't need to be deterministic. Signed-off-by: Stephen Hemminger Acked-by: Paul E. McKenney Signed-off-by: David S. Miller commit 51314a17baabc710e5fb12975fe8983dedd5ac0d Author: Denis V. Lunev Date: Sun Jan 20 16:47:09 2008 -0800 [NETNS]: Process FIB rule action in the context of the namespace. Save namespace context on the fib rule at the rule creation time and call routing lookup in the correct namespace. Signed-off-by: Denis V. Lunev Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit 9e3a548781fc1c0da617fc65769a515f074be740 Author: Denis V. Lunev Date: Sun Jan 20 16:46:41 2008 -0800 [NETNS]: FIB rules API cleanup. Remove struct net from fib_rules_register(unregister)/notify_change paths and diet code size a bit. add/remove: 0/0 grow/shrink: 10/12 up/down: 35/-100 (-65) function old new delta notify_rule_change 273 280 +7 trie_show_stats 471 475 +4 fn_trie_delete 473 477 +4 fib_rules_unregister 144 148 +4 fib4_rule_compare 119 123 +4 resize 2842 2845 +3 fn_trie_select_default 515 518 +3 inet_sk_rebuild_header 836 838 +2 fib_trie_seq_show 764 766 +2 __devinet_sysctl_register 276 278 +2 fn_trie_lookup 1124 1123 -1 ip_fib_check_default 133 131 -2 devinet_conf_sysctl 223 221 -2 snmp_fold_field 126 123 -3 fn_trie_insert 2091 2086 -5 inet_create 876 870 -6 fib4_rules_init 197 191 -6 fib_sync_down 452 444 -8 inet_gso_send_check 334 325 -9 fib_create_info 3003 2991 -12 fib_nl_delrule 568 553 -15 fib_nl_newrule 883 852 -31 Signed-off-by: Denis V. Lunev Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit 035923833369e4da5d3c4ad0700bc7c367a0fa37 Author: Denis V. Lunev Date: Sun Jan 20 16:46:01 2008 -0800 [FIB]: Add netns to fib_rules_ops. The backward link from FIB rules operations to the network namespace will allow to simplify the API a bit. Signed-off-by: Denis V. Lunev Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit 853f4b505578ea3a1d9c2f5fb4ca58658ea15780 Author: Vlad Yasevich Date: Sun Jan 20 06:10:46 2008 -0800 [SCTP]: Correctly initialize error when parameter validation failed. When parameter validation fails, there should be error causes that specify what type of failure we've encountered. If the causes are not there, we lacked memory to allocated them. Thus make that the default value for the error. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 16b4d60b56b9ec922d91cc11ede0bd59033deae4 Author: Adrian Bunk Date: Sat Jan 19 00:01:13 2008 -0800 [IrDA]: Irport removal - part 2 Signed-off-by: Adrian Bunk Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit e9888f5498083f5e4d873cbbe16aa97d89aa1342 Author: Adrian Bunk Date: Sat Jan 19 00:00:42 2008 -0800 [IrDA]: Irport removal - part 1 This patch removes IrPORT and the old dongle drivers (all off them have replacement drivers). Signed-off-by: Adrian Bunk Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 5d780cd6585d242d9592a479fe75a007fd75155d Author: Robie Basak Date: Fri Jan 18 23:58:44 2008 -0800 [IrDA]: Frame length validation. When using a stir4200-based USB adaptor to talk to a device that uses an mcp2150, the stir4200 sometimes drops an incoming frame causing the mcp2150 to try and retransmit the lost frame. In this combination, the next frame received from the mcp2150 is often invalid - either an empty i:rsp or an IrCOMM i:rsp with an invalid clen. These corner cases are now checked. Signed-off-by: Robie Basak Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 6d97b53e92af822890b87818c99820df47fc589b Author: Robie Basak Date: Fri Jan 18 23:56:54 2008 -0800 [IrDA]: Resend frames on timeout. When final timer expires, it might also mean that the i:cmd wasn't received properly. If we have rejected frames, we can try to resend them. Signed-off-by: Robie Basak Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 775516bfa2bd7993620c9039191a0c30b8d8a496 Author: Denis V. Lunev Date: Fri Jan 18 23:55:19 2008 -0800 [NETNS]: Namespace stop vs 'ip r l' race. During network namespace stop process kernel side netlink sockets belonging to a namespace should be closed. They should not prevent namespace to stop, so they do not increment namespace usage counter. Though this counter will be put during last sock_put. The raplacement of the correct netns for init_ns solves the problem only partial as socket to be stoped until proper stop is a valid netlink kernel socket and can be looked up by the user processes. This is not a problem until it resides in initial namespace (no processes inside this net), but this is not true for init_net. So, hold the referrence for a socket, remove it from lookup tables and only after that change namespace and perform a last put. Signed-off-by: Denis V. Lunev Tested-by: Alexey Dobriyan Signed-off-by: David S. Miller commit b7c6ba6eb1234e35a74fb8ba8123232a7b1ba9e4 Author: Denis V. Lunev Date: Mon Jan 28 14:41:19 2008 -0800 [NETNS]: Consolidate kernel netlink socket destruction. Create a specific helper for netlink kernel socket disposal. This just let the code look better and provides a ground for proper disposal inside a namespace. Signed-off-by: Denis V. Lunev Tested-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 4f84d82f7a623f8641af2574425c329431ff158f Author: Denis V. Lunev Date: Fri Jan 18 23:54:15 2008 -0800 [NETNS]: Memory leak on network namespace stop. Network namespace allocates 2 kernel netlink sockets, fibnl & rtnl. These sockets should be disposed properly, i.e. by sock_release. Plain sock_put is not enough. Signed-off-by: Denis V. Lunev Tested-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 869e58f87094b1e8a0df49232e4a5172678d46c9 Author: Denis V. Lunev Date: Fri Jan 18 23:53:31 2008 -0800 [NETNS]: Double free in netlink_release. Netlink protocol table is global for all namespaces. Some netlink protocols have been virtualized, i.e. they have per/namespace netlink socket. This difference can easily lead to double free if more than 1 namespace is started. Count the number of kernel netlink sockets to track that this table is not used any more. Signed-off-by: Denis V. Lunev Tested-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 7d460db953d6d205e4c8ecc2017aea1ec22b6c9a Author: Daniel Lezcano Date: Fri Jan 18 23:52:35 2008 -0800 [IPV6]: Fix ip6_frag ctl Alexey Dobriyan reported an oops when unsharing the network indefinitely inside a loop. This is because the ip6_frag is not per namespace while the ctls are. That happens at the fragment timer expiration: inet_frag_secret_rebuild function is called and this one restarts the timer using the value stored inside the sysctl field. "mod_timer(&f->secret_timer, now + f->ctl->secret_interval);" When the network is unshared, ip6_frag.ctl is initialized with the new sysctl instances, but ip6_frag has only one instance. A race in this case will appear because f->ctl can be modified during the read access in the timer callback. Until the ip6_frag is not per namespace, I discard the assignation to the ctl field of ip6_frags in ip6_frag_sysctl_init when the network namespace is not the init net. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit ee63d22b8953fd0dde22f52c0bc17a304ae50403 Author: Stefan Roese Date: Wed Jan 16 08:11:15 2008 +0100 net: NEWEMAC: Fix problem with mtu > 4080 on non TAH equipped 4xx PPC's Currently, all non TAH equipped 4xx PPC's call emac_start_xmit() upon xmit. This routine doesn't check if the frame length exceeds the max. MAL buffer size. This patch now changes the driver to call emac_start_xmit_sg() on all GigE platforms and not only the TAH equipped ones (440GX). This enables an MTU of 9000 instead 4080. Signed-off-by: Stefan Roese Signed-off-by: Jeff Garzik commit 3ec9c11da03342b556f11724ea005e60160bc744 Author: Claudio Lanconelli Date: Mon Jan 14 11:00:28 2008 +0100 add driver for enc28j60 ethernet chip Signed-off-by: Claudio Lanconelli Signed-off-by: Jeff Garzik commit a24a789cc6b0a736759bd221b0a32f9a240c2f6e Author: Thomas Bogendoerfer Date: Sun Jan 13 00:08:47 2008 +0100 SGISEEQ: fix oops when doing ifconfig down; ifconfig up When doing init_ring checking whether a new skb needs to be allocated was wrong. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Jeff Garzik commit bcc52894988ac8471667d84eb7d118af37763338 Author: Stephen Hemminger Date: Thu Jan 10 16:14:15 2008 -0800 sky2: version 1.21 Update driver version reflects new hardware support. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit ed4d41616baa404cf29576ff452ea1db12b9e03b Author: Stephen Hemminger Date: Thu Jan 10 16:14:14 2008 -0800 sky2: support for Yukon Supreme Add support from sk98lin vendor driver 10.50.1.3 for 88E8055 and 88E8075 chips. I don't have this hardware to test, so this changes are untested. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 804d8541d217f73a6543baac937cf65b8b4de850 Author: Al Viro Date: Sat Dec 22 19:44:29 2007 +0000 qla3xxx annotations stop the byteswap-in-place, annotate Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 7cd61888d2ab9fa7e08205b18a24885e523df048 Author: Al Viro Date: Sat Dec 22 18:56:05 2007 +0000 slhc annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 3dd5f1d422d8a736178a760562c98d4169b33a23 Author: Al Viro Date: Sat Dec 22 18:55:49 2007 +0000 eepro100 annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 904584018e9ba30a3e562d86ee7dfb6239105664 Author: Al Viro Date: Sat Dec 22 17:52:52 2007 +0000 annotate the rest of drivers/net/wan Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit a3edb08311fc559652ffc959e93eb5be9294443f Author: Al Viro Date: Sat Dec 22 17:52:42 2007 +0000 annotate tun Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 7eefb04eb0761ce220890975fe33b7c262612c0d Author: David Miller Date: Thu Dec 20 04:14:42 2007 -0800 NET: ns83820.c remove fastcall macro Signed-off-by: Harvey Harrison Signed-off-by: Jeff Garzik commit 49b11bc3d43eb287fc9d78e1a892e97288980d49 Author: Thomas Bogendoerfer Date: Wed Dec 19 13:42:36 2007 +0100 SGISEEQ: use cached memory access to make driver work on IP28 - Use inline functions for dma_sync_* instead of macros - added Kconfig change to make selection for similair SGI boxes easier Signed-off-by: Thomas Bogendoerfer Acked-by: Ralf Baechle Signed-off-by: Jeff Garzik commit db17f39564539e71c9b3a63e7ed5313fe311d266 Author: Florian Fainelli Date: Wed Dec 19 11:30:30 2007 +0100 Add me as maintainer of the RDC r6040 driver This patch adds me as maintainer of the RDC R6040 Fast Ethernet driver. Signed-off-by: Florian Fainelli -- Signed-off-by: Jeff Garzik commit a0646470e8a965df59054a5c82e53e5572bf04a0 Author: Zhu Yi Date: Thu Dec 20 14:10:01 2007 +0800 iwlwifi: skip mac80211 conf during a hardware scan and replay it afterwards This patch skips mac80211 configuration setting during a hardware scan and replays it afterwards for the iwlwifi drivers. Cc: Johannes Berg Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 12342c475f5de17071eaf24ea2938ba8dfe285f2 Author: Zhu Yi Date: Thu Dec 20 11:27:32 2007 +0800 iwlwifi: proper monitor support This patch changes the iwlwifi driver to properly support monitor interfaces after the filter flags change. The patch is originally created by Johannes Berg for iwl4965. I fixed some of the comments and created a similar patch for iwl3945. Signed-off-by: Johannes Berg Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 7e94041ca17685cf12c658b8edc008dd0bdb00c7 Author: David Woodhouse Date: Tue Dec 18 11:41:43 2007 +0000 libertas: remove check for driver_lock in lbs_interrupt() Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 5844d12ea30bacae9224db6561a16e86ad31c6e5 Author: David Woodhouse Date: Tue Dec 18 02:01:37 2007 -0500 libertas: convert SUBSCRIBE_EVENT to a direct command Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit f15ebb63b36eca5fa68fabd04ab2f7840bc67205 Author: David Woodhouse Date: Wed Dec 19 13:03:19 2007 +0000 libertas: change inference about buffer size in lbs_cmd() sizeof(*cmd) is going to give the total size of the data structure that we allocated, more often than not. But the size of the command to be _sent_ could be a lot smaller, as it is in the KEY_MATERIAL and SUBSCRIBE_EVENT commands for example. So swap them round; let the caller set the _command_ size explicitly in the header, and infer the maximum response size from the data structure. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 4f59abf190b15350167bec5382dda205030ac9d0 Author: David Woodhouse Date: Tue Dec 18 00:47:17 2007 -0500 libertas: convert ENABLE_RSN to a direct command Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit f70dd4515a8ad9c9d59ebb8c1d1fa2c610fb4020 Author: David Woodhouse Date: Tue Dec 18 00:18:05 2007 -0500 libertas: convert SET_WEP to a direct command Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 3fbe104cecdb8c812976fdb0cc41be65491b85ee Author: David Woodhouse Date: Mon Dec 17 23:48:31 2007 -0500 libertas: convert SLEEP_PARAMS to a direct command Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 6e5cc4fb35c45a8f8478d25c4e89e8d9c543056e Author: David Woodhouse Date: Mon Dec 17 23:04:37 2007 -0500 libertas: convert INACTIVITY_TIMEOUT to a direct command Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit a7c458906542aacdda7289bb21f527a2dc4097ca Author: David Woodhouse Date: Mon Dec 17 22:43:48 2007 -0500 libertas: convert RADIO_CONTROL to a direct command Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 354eca9820f1efbf11978585640f1b2e92d4c5b4 Author: David Woodhouse Date: Mon Dec 17 19:22:40 2007 -0500 libertas: submit RSSI command on tx timeout, to check whether module is dead We don't necessarily want to reset the device on a TX timeout. But more often than not, the real cause is that the firmware has crapped itself, not just that the network is busy. So submit any harmless command, and if _that_ times out, then the error handling code will reset the module, as appropriate. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 18c52e7c3e3d0e7fbddd0334b58030bb89554cb9 Author: David Woodhouse Date: Mon Dec 17 16:03:58 2007 -0500 libertas: make lbs_submit_command always 'succeed' and set command timer Even if it fails, we want to wait a while and try again, with an ultimate timeout if it the condition persists. So again, just use the standard command timeout behaviour. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 8538823f7c692c98e8b7e19cb580faa56e25e89f Author: David Woodhouse Date: Mon Dec 17 15:41:30 2007 -0500 libertas: discard DEFER responses to commands; let the timeout trigger When the firmware returns 0x0004, it wants us to try again later. We can achieve that simply by throwing out the response and letting the command timeout code kick in. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 7003b078c82d141216deecef4de154711a107aab Author: David Woodhouse Date: Mon Dec 17 15:22:43 2007 -0500 libertas: use priv->upld_buf for command responses If we don't scribble over the command we sent, then we can retry it when the firmware responds with 0x0004 (which means -EAGAIN). Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit ac4cced6e850496b66c0825b7f74d51ef02c6371 Author: David Woodhouse Date: Mon Dec 17 15:12:49 2007 -0500 libertas: reduce explicit references to priv->cur_cmd->cmdbuf We have a local variable 'resp' which we use for this. So use it, instead of typing the whole thing. In preparation for actually using priv->upld_buf for the responses instead... Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 4694961cc2f868d6061be3b2c3d1fcf39584ff17 Author: David Woodhouse Date: Mon Dec 17 14:42:33 2007 -0500 libertas: Check for PS mode support on USB devices Move the various firmware setup bits into a separate function, which used to do just boot2 version. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit b2c57eee66592e22327bf39b42c4e3dc24708213 Author: David Woodhouse Date: Mon Dec 17 14:41:13 2007 -0500 libertas: allow for PS mode to be disabled when firmware doesn't support it Otherwise, we go into an endless busy loop trying to enable PS mode when the command queue is empty, dealing with the error response, and then trying to enable PS mode again because the command queue is empty.... it doesn't really save much power. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit b47ef2438dea2ddad4561152aa8007a2d95e8157 Author: David Woodhouse Date: Mon Dec 17 13:26:42 2007 -0500 libertas: handle HOST_AWAKE event by sending WAKEUP_CONFIRM command lbs_send_confirmwake() is a bit ugly but matches the way we confirm sleep. We'll deal with that whole thing later. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 24dba5f39194c57f98090d1ee504be5740dc521c Author: David Woodhouse Date: Mon Dec 17 12:35:28 2007 -0500 libertas: don't clear priv->dnld_sent after sending sleep confirm DNLD_RES_RECEIVED is a bit of a misnomer -- we never wait for the result to be received; it's purely representing the state of the TX path, and in this case the TX path is definitely busy. Of course, that means that we don't actually care about DATA_SENT vs. CMD_SENT either, but that's a can of worms for another day... Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 38bfab1a01c66cb1a5001dc702b0856b2f942fd5 Author: David Woodhouse Date: Sun Dec 16 23:26:54 2007 -0500 libertas: fix buffer handling of PS_MODE commands and responses Commit 5b8845345e7385d2eb37fac22ba9ab6905988be5 (or, in case the git workflow is broken and patches get recommitted, the commit entitled 'libertas: rename and re-type bufvirtualaddr to cmdbuf' by dcbw), introduced a number of bugs where we once had a pointer to a command _payload_, but now we use the pointer to the command header instead. The fix isn't wonderfully pretty for now, but it'll get better when we finish converting all commands so the structures include the header. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit c6ad3738c689c2e64af2b74c1f407c9323ba40dd Author: David Woodhouse Date: Sun Dec 16 21:43:40 2007 -0500 libertas: add SLEEP_PERIOD and FW_WAKE_METHOD command definitions Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit d1a469fd1b7335572a3803b6ba4ce3783a74532b Author: David Woodhouse Date: Sun Dec 16 17:21:00 2007 -0500 libertas: fix return from lbs_update_channel() If we return the channel number in a 'ret' variable where anything non-zero is later interpreted as an error, that isn't nice. It breaks WPA, for a start. OLPC trac #5485 Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 681ffbb7d42435332fff0812145c7050d6153925 Author: David Woodhouse Date: Sat Dec 15 20:04:54 2007 -0500 libertas: kill 'addtail' argument to lbs_queue_cmd() and make it static Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 2a345099a4fbe551a1982630b3d89c85fa5a341d Author: David Woodhouse Date: Sat Dec 15 19:33:43 2007 -0500 libertas: handle command timeout in main thread instead of directly in timer And handle the case where it times out more than once, too, instead of locking up for ever. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 9fae899c2b5dc224042da63b14118abdb22ae9b6 Author: David Woodhouse Date: Sat Dec 15 03:46:44 2007 -0500 libertas: ensure response buffer size is always set for lbs_cmd_with_response Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 3399ea5f239d49522212db179bca4de9e84b09df Author: David Woodhouse Date: Sat Dec 15 03:09:33 2007 -0500 libertas: add __lbs_cmd_async() for asynchronous command submission Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit ae125bf8278249b8c44168c5183f551c3ed28b84 Author: David Woodhouse Date: Sat Dec 15 04:22:52 2007 -0500 libertas: store command result in cmdnode instead of priv->cur_cmd_retcode ... at least for users of __lbs_cmd(). Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 75567670c66329a111c2b4f12d6c1fc02b3b14d2 Author: David Woodhouse Date: Sat Dec 15 02:38:17 2007 -0500 libertas: kill pdata_buf member of struct cmd_ctrl_node We can use the callback_arg for it; that's the way we're heading anyway... Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit ad12d0f418b7d3bbc6d1ccc4ff0858361cf0aafe Author: David Woodhouse Date: Sat Dec 15 02:06:16 2007 -0500 libertas: let __lbs_cmd() free its own cmdnode Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 5ba2f8a0217cd6116fcbac056b360bb0db045379 Author: David Woodhouse Date: Sat Dec 15 02:02:56 2007 -0500 libertas: kill cleanup_cmdnode() Move the wakeup into lbs_complete_command(), and leave the other bits in __lbs_cleanup_and_insert_cmd() which was the only caller now anyway. There are two remaining direct callers of lbs_cleanup_and_insert_cmd(), and they are both fine without the wakeup. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit ecfe9b487c0d3f6b7ad58006888a56f01ae52b58 Author: David Woodhouse Date: Sat Dec 15 01:57:12 2007 -0500 libertas: don't re-initialise cmdnode when taking it off the free queue We initialise it when we add it to the queue. No need to do it again. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 183aeac1c49869ba9a14c7ead86ce268da397a0e Author: David Woodhouse Date: Sat Dec 15 01:52:54 2007 -0500 libertas: introduce and use lbs_complete_command() for command completion Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit c4ab41272b55a08741d2e68966aae700e2e6d597 Author: David Woodhouse Date: Sat Dec 15 00:41:51 2007 -0500 libertas: remove some pointless checks for cmdnode buffer being present We allocate them all at the same time, at startup. If they go missing, we have more serious things to worry about, and the resulting oops will be a perfectly acceptable result. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit b23b2061e5758d4827630ee900b4b290376d0059 Author: David Woodhouse Date: Sat Dec 15 01:22:09 2007 -0500 libertas: don't use __lbs_cmd() with empty callback in if_usb.c We're about to change semantics, leaving callers of lbs_prepare_and_send_command() with the old broken priv->cur_cmd_retcode crap. The existence of the callback command will be the trigger for the new semantics when handling the response. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit d9896ee14768e3dd6ce2f57a0d518b5b18a924a1 Author: David Woodhouse Date: Sat Dec 15 00:09:25 2007 -0500 libertas: rename and clean up DownloadcommandToStation Call it lbs_submit_command(), remove a bunch of things which can be (or, in the case of zeroing ->cmdwaitqwoken, already are) done elsewhere. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 8e5b6b2d32304f4d6a096a6dfae23d12dc6f9287 Author: David Woodhouse Date: Fri Dec 14 23:08:13 2007 -0500 libertas: kill unused wait_option field in struct cmd_ctrl_node Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 7e226272fcf9c1ec8b67fac995ce4227f4f76971 Author: David Woodhouse Date: Fri Dec 14 22:53:41 2007 -0500 libertas: kill whitespace at end of lines Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit eae86bf378de981696697426831bd9db68930740 Author: David Woodhouse Date: Fri Dec 14 00:47:05 2007 -0500 libertas: clean up if_usb driver It was just getting on my tits, really. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit b926d6b31e2dd8f1bc21a9576aff0e486e21d32a Author: David Woodhouse Date: Thu Dec 13 21:53:16 2007 -0500 libertas: stop attempting to reset devices on unload It wasn't working anyway -- by the time we get into if_usb_disconnect() the USB core has already stopped us talking to the thing; even if it's just on unload and the device still exists. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit d9f88705a7ce2f9ef13d6656ee715493a663edfc Author: David Woodhouse Date: Thu Dec 13 21:48:00 2007 -0500 libertas: don't exit worker thread until kthread_stop() is called The kthread code can't cope with a thread exiting of its own accord and then someone calling kthread_stop() for it. When the thread detects that it needs to die, make it wait for kthread_stop() to be called. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 4ad36d780caf34630d1a4cc39f9bc11017f5b81d Author: Larry Finger Date: Sun Dec 16 19:21:06 2007 +0100 b43legacy: Fix rfkill radio LED This fixes Bug #9414 for b43legacy. This patch is the equivalent of one submitted earlier for b43. Since addition of the rfkill callback, the LED associated with the off switch on the radio has not worked for several reasons: (1) Essential data in the rfkill structure were missing. (2) The rfkill structure was initialized after the LED initialization. (3) There was a minor memory leak if the radio LED structure was inited. Once the above problems were fixed, additional difficulties were noted: (4) The radio LED was in the wrong state at startup. (5) The radio switch had to be manipulated twice for each state change. (6) A circular mutex locking situation existed. (7) If rfkill-input is built as a module, it is not automatically loaded. This patch fixes all of the above and removes a couple of sparse warnings. Signed-off-by: Larry Finger Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit b7c5678f0b1e6c385b0b308a9e8298edf3c91a20 Author: Ramkrishna Vepa Date: Mon Dec 17 11:40:15 2007 -0800 S2io: Fixes to enable multiple transmit fifos Multiple transmit fifo initialization - - Assigned equal scheduling priority for all configured FIFO's. - Modularized transmit traffic interrupt initialization since it is executed in s2io_card_up and s2io_link. Enable continuous tx interrupt when link is UP and vice verse. - Enable transmit interrupts for all configured transmit fifos. - Fixed typo errors. Signed-off-by: Surjit Reang Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik commit 2fda096d188ddae51a0fe8cd5b13cf9c84b03c1e Author: Surjit Reang Date: Thu Jan 24 02:08:59 2008 -0800 S2io: Fixes to enable multiple transmit fifo support Fixes to enable multiple transmit fifos (upto a maximum of eight). - Moved single tx_lock from struct s2io_nic to struct fifo_info. - Moved single ufo_in_band_v structure from struct s2io_nic to struct fifo_info. - Assign the respective interrupt number for the transmitting fifo in the transmit descriptor (TXD). - Added boundary checks for number of FIFOs enabled and FIFO length. Signed-off-by: Surjit Reang Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit bc4b6b52691bae42b1eec3eb86ab4c718387d9f0 Author: Divy Le Ray Date: Mon Dec 17 18:47:41 2007 -0800 cxgb3 - Fix EEH, missing softirq blocking set_pci_drvdata() stores a pointer to the adapter, not the net device. Add missing softirq blocking in t3_mgmt_tx. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit b881955b7d045e7486e9af08398242aeb7199f67 Author: Divy Le Ray Date: Mon Dec 17 18:47:31 2007 -0800 cxgb3 - parity initialization for T3C adapters. Add parity initialization for T3C adapters. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 06daa168b681797c91ce1fd567d706b9b84738e2 Author: Olof Johansson Date: Fri Dec 14 02:06:55 2007 -0600 pasemi: export pasemi_dma_init() Forgot to export this one. Needed when pasemi_mac is compiled as a module. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 01f31ac8289200e1cab4d100ce991cebe5731360 Author: Matthias Kaehlcke Date: Thu Dec 13 16:03:00 2007 -0800 PLIP driver: convert the semaphore killed_timer_sem to completion Signed-off-by: Matthias Kaehlcke Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 07b270eab52433e3f61c298eb5ff9d9a668c2458 Author: Lee Schermerhorn Date: Thu Dec 13 16:02:59 2007 -0800 bnx2x depends on ZLIB_INFLATE The bnx2x module depends on the zlib_inflate functions. The build will fail if ZLIB_INFLATE has not been selected manually or by building another module that automatically selects it. Modify BNX2X config option to 'select ZLIB_INFLATE' like BNX2 and others. This seems to fix it. Signed-off-by: Lee Schermerhorn Acked-by: Eliezer Tamir Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 9329f4e4d261bb026b53565e22b7fab1d2973cd0 Author: Robert P. J. Day Date: Thu Dec 13 16:02:55 2007 -0800 pcmcia net: use roundup_pow_of_two() macro instead of grotesque loop Signed-off-by: Robert P. J. Day Cc: Jeff Garzik Cc: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 67b3c27c8a8d8f81ffc3fe0afc0d805d66744d18 Author: Auke Kok Date: Mon Dec 17 13:50:23 2007 -0800 e1000: Dump the eeprom when a user encounters a bad checksum To help supporting users with a bad eeprom checksum, dump the eeprom info when such a situation is encountered by a user. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 8b32e63d48d43f3843222ca66fecd45ff2a74147 Author: Matheos Worku Date: Fri Dec 14 11:48:36 2007 -0800 ixgb: enable sun hardware support for broadcom phy Implement support for a SUN-specific PHY. SUN provides a modified 82597-based board with their own PHY that works with very little modification to the code. This patch implements this new PHY which is identified by the subvendor device ID. The device ID of the adapter remains the same. Signed-off-by: Matheos Worku Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 67cefcbafc16d01f9d64be8c62cccfd30b3b07c2 Author: Adrian Bunk Date: Thu Dec 13 09:36:53 2007 -0800 e1000: remove no longer used code for pci read/write cfg Signed-off-by: Adrian Bunk Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit a7df90a51944a963d9a4fbe12790630aa4da7aee Author: Al Viro Date: Mon Dec 10 19:00:38 2007 +0000 ixgb endianness annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 8327d000e092f737f7d6602258e5c7575686cc37 Author: Al Viro Date: Mon Dec 10 18:54:12 2007 +0000 ixgbe endianness annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit aaf918ba8cf941a6aa7dc52c307470b48259a751 Author: Al Viro Date: Mon Dec 10 18:32:49 2007 +0000 e100 endianness annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 5bb7ea26148369315492c3dfc43c3b6366a9f279 Author: Al Viro Date: Sun Dec 9 16:06:41 2007 +0000 forcedeth endianness bugs * misannotation: struct register_test members are actually host-endian * bug: cpu_to_le64(n) >> 32 instead of cpu_to_le32(n >> 32) in setting ->bufhigh and similar for ->buflow (take low bits, _then_ convert to little-endian, not the other way round). * bug: setup_hw_rings() should not convert to little-endian at all (we feed the result to writel(), not store in shared data structure), let alone try to play with shifting and masking little-endian values. Introduced when setup_hw_rings() went in, screwed both 64bit case and the old code for 32bit rings it had replaced. Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 79ea13ce07c951bb4d95471e7300baa0f1be9e78 Author: Al Viro Date: Thu Jan 24 02:06:46 2008 -0800 NULL noise in drivers/net Signed-off-by: Al Viro Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 3e18826c73735eee5fca92584137824d9a387008 Author: Al Viro Date: Tue Dec 11 19:49:39 2007 +0000 e1000 endianness annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit a39fe742e71257aaae1bdddcd453877d91e681ad Author: Al Viro Date: Tue Dec 11 19:50:34 2007 +0000 e1000e endianness annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 439104b3a39b2f576daa229d783eb2cefac8b7df Author: Al Viro Date: Mon Dec 17 06:48:04 2007 +0000 sungem endianness annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit f3ec33e587df02e25963755989cc473e3f07bf0d Author: Al Viro Date: Sun Dec 16 23:30:08 2007 +0000 sunhme endianness annotations This one is interesting - SBUS and PCI variants have opposite endianness in descriptors (SBUS is sparc-only, so there host-endian == big-endian). Solution: declare a bitwise type (hme32) and in accessor helpers do typechecking and force-casts (once we know that the type is right). Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit b710b43c306650261c01ad08100791afec78a7db Author: Al Viro Date: Sun Dec 16 20:53:36 2007 +0000 endianness annotations and fixes for olympic * missing braces in !readl(...) & ... * trivial endianness annotations * in olympic_arb_cmd() the loop collecting fragments of packet is b0rken on big-endian - we have (next_ptr && (buf_ptr=olympic_priv->olympic_lap + ntohs(next_ptr))) as condition and it should have swab16(), not ntohs() - it's host-endian byteswapped, not big-endian. So if we get more than one fragment on big-endian host, we get screwed. This ntohs() got missed back when the rest of those had been switched to swab16() in 2.4.0-test2-pre1 - at a guess, nobody had hit fragmented packets during the testing of PPC fixes. PS: Ken Aaker cc'd on assumption that he is the same guy who'd done the original set of PPC fixes in olympic Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit f5a3ea6f966700ae82504202fdd827f2d3c79e66 Author: David Woodhouse Date: Thu Dec 13 01:53:57 2007 -0500 libertas: use spin_is_locked() instead of spin_trylock() in lbs_interrupt() We get scary warnings on UP if we use spin_trylock() and find, as we hoped, that the lock in question is already locked. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 860621347e88b23517fc4ec93fa5af940401c3ec Author: David Woodhouse Date: Thu Dec 13 00:32:36 2007 -0500 libertas: pass channel argument directly to lbs_mesh_config() There is weirdness here; the firmware seems to refuse to change channels at will. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 020f3d0001cb249ceae623c1a7ae0c196326ef3f Author: David Woodhouse Date: Wed Dec 12 23:29:13 2007 -0500 libertas: cope with both old and new mesh TLV values Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 9f4625776f96e26b15d98615337ea5916648b1e8 Author: David Woodhouse Date: Wed Dec 12 22:50:21 2007 -0500 libertas: make lbs_update_channel() function non-static We'll want to use this for meshfrobbing Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 506e9025e030c441679fb1ae77fb0d6266c34443 Author: David Woodhouse Date: Wed Dec 12 20:06:06 2007 -0500 libertas: add ethtool support for wake-on-lan configuration Also, check that suspend is refused if HOST_SLEEP_CFG hasn't been done. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit d1f7a5b8cfefdb443a05a9e3d636fe7fef57459a Author: David Woodhouse Date: Wed Dec 12 17:40:56 2007 -0500 libertas: implement suspend/resume for USB devices Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit ab25ecaea5459f2206dbae25106cff67a24d309e Author: David Woodhouse Date: Wed Dec 12 17:38:56 2007 -0500 libertas: implement suspend and resume core methods We (ab)use priv->fw_ready to stop the worker thread from sending more commands or data after the response to the HOST_SLEEP_ACTIVATE command comes in. And we set it from the callback function _directly_ to ensure that the worker thread sees it immediately; if we did it in lbs_suspend() after waking up, that might be too late. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit f3db2bb411512d1ebd6233b3985d98f4fe7ea8a8 Author: David Woodhouse Date: Wed Dec 12 16:04:12 2007 -0500 libertas: make worker thread not freezable We want it to send the HOST_SLEEP_ACTIVATE command on the way down... Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 689442dca16eb27fee19074499d42845fe54c12a Author: David Woodhouse Date: Wed Dec 12 16:00:42 2007 -0500 libertas: switch lbs_cmd() to take a _pointer_ to the command structure This way, it looks more like a normal function. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 6ce4fd2a3a84e64a27c42aaa7de6e0e85dee3573 Author: David Woodhouse Date: Wed Dec 12 15:19:29 2007 -0500 libertas: add lbs_host_sleep_cfg() command function Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit a27b9f96f21a2f15c423cca745f65de3db61e364 Author: David Woodhouse Date: Wed Dec 12 00:41:51 2007 -0500 libertas: slight cleanup of netif queue stop/wake In particular, we shouldn't be waking the queues in lbs_host_to_card_done() any more. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 23d36eec263d2c913ee651dc43472524397e4a0b Author: David Woodhouse Date: Wed Dec 12 00:14:21 2007 -0500 libertas: add missing newlines in debugging statements Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit e1258177e437cb8b892622f2b7beedd4701540ac Author: David Woodhouse Date: Tue Dec 11 23:42:49 2007 -0500 libertas: be more careful about command responses matching cur_cmd Especially in the light of OLPC trac #5461, in which the firmware starts sending us seemingly random command responses which bear little relation to the command we sent it. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 06113c1c70349f5f888436ac2af28c707f4602ef Author: David Woodhouse Date: Tue Dec 11 22:52:03 2007 -0500 libertas: add debugging output to lbs_mesh_config() Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 8642f1f06292c4f30c7870a693f9ae94252e7ff2 Author: David Woodhouse Date: Tue Dec 11 20:03:01 2007 -0500 libertas: disable mesh temporarily while setting eth channel/assoc Otherwise the device won't let us change channels. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 88ae2915ccff97466e7a1e542f4a4d01c46b23f6 Author: David Woodhouse Date: Tue Dec 11 19:57:05 2007 -0500 libertas: add missing newline on debug message Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 823eaa2cc261e3723772aa4aaa4d76c5815b117f Author: David Woodhouse Date: Tue Dec 11 19:56:28 2007 -0500 libertas: allow setting channel on mshX device Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit f5956bf1e4575175135d636db1b7f3ab950e0dc3 Author: David Woodhouse Date: Tue Dec 11 19:30:57 2007 -0500 libertas: allow get/set SSID on mshX device Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 387a1f046fcaf299d93bb6de81257670a4442648 Author: David Woodhouse Date: Tue Dec 11 18:53:20 2007 -0500 libertas: whitespace cleanup in host.h Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 202f3f3ac90d8781ec1f37556c63aaf594b53581 Author: David Woodhouse Date: Tue Dec 11 18:36:35 2007 -0500 libertas: kill rx_urb_recall and eth_dev members of struct usb_card_rec Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 1f8a08342c8c1c90d0b752f28eb6f24ea7164cdb Author: David Woodhouse Date: Tue Dec 11 18:57:49 2007 -0500 libertas: kill references to mesh autostart Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 23a397ac821ab0aa263bda47131bb0628e49101a Author: David Woodhouse Date: Tue Dec 11 18:56:42 2007 -0500 libertas: add lbs_mesh sysfs attribute for enabling mesh Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit e7240acae372727aa8eb3a67ca7b189dd261136a Author: David Woodhouse Date: Tue Dec 11 17:54:36 2007 -0500 libertas: fix sparse endianness warnings in scan.c Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 2fd6cfe307557f3022b47288db3dc094c076e539 Author: David Woodhouse Date: Tue Dec 11 17:44:10 2007 -0500 libertas: make some more functions static sparse was getting on my tits. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit cb182a602802b36ff992afe238e1a3eafc0956b2 Author: Dan Williams Date: Tue Dec 11 17:35:51 2007 -0500 libertas: endianness fixes for get_channel/set_channel Signed-off-by: Dan Williams Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 2dd4b26264d48f10e802cc9f2d75542be5a3c7fa Author: Dan Williams Date: Tue Dec 11 16:54:15 2007 -0500 libertas: convert RF_CHANNEL to a direct command Signed-off-by: Dan Williams Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 8e3c91bb70372da692a5fefae9f698c94bb1e641 Author: Dan Williams Date: Tue Dec 11 15:50:59 2007 -0500 libertas: convert DATA_RATE to a direct command Signed-off-by: Dan Williams Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 79a9a37c1eb13bd645ec423c0c30b70838e7bf93 Author: Dan Williams Date: Tue Dec 11 15:29:10 2007 -0500 libertas: fix case of FWT_ACCESS_LIST_ROUTE and FWT_ACCESS_LIST_NEIGHBOR commands Signed-off-by: Dan Williams Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 0f1c8232e839e215e38055cd8ae79225ab178185 Author: David Woodhouse Date: Tue Dec 11 15:28:18 2007 -0500 libertas: remove casts from lbs_cmd() and lbs_cmd_with_response() macros If stupid people like me give it arguments with the wrong type (like a pointer to the structure, for example, instead of the structure itself), then we should probably notice that at compile time. Otherwise, much confusion ensues. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 301eacbf30e33f461701df91cb250d3fc24c5fe5 Author: David Woodhouse Date: Tue Dec 11 15:23:59 2007 -0500 libertas: convert CMD_MESH_ACCESS to a direct command Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit ad9d7a7f3cc73a6288920cc17c807f56bd8327fc Author: David Woodhouse Date: Tue Dec 11 15:22:27 2007 -0500 libertas: fix debug output in lbs_cmd_copyback() function. Bad dcbw. Always test on big-endian, or at least use sparse. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit ddac452680a5164bb47d61ea54f596ddaf3aea7d Author: Dan Williams Date: Tue Dec 11 13:49:39 2007 -0500 libertas: rename and re-type bufvirtualaddr to cmdbuf Make it a struct cmd_header, since that's what it is, and clean up the places that it's used. Signed-off-by: Dan Williams Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit c9cd6f9d630c4422d5f7eb8018b28846e25dba20 Author: David Woodhouse Date: Tue Dec 11 13:15:25 2007 -0500 libertas: wait for 'firmware ready' event from firmware after loading Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 10bca0d5f4829a8acd9a7a51cb7b35e38b23280a Author: David Woodhouse Date: Tue Dec 11 12:54:43 2007 -0500 libertas: move removal of lbs_rtap file to lbs_stop_card() This prevents us from trying to remove it when it didn't exist, in the error case. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 6bc822b5164e66ab9b93f96172df8902bfd37618 Author: David Woodhouse Date: Tue Dec 11 12:53:43 2007 -0500 libertas: switch USB cardp->priv to 'struct lbs_private *' and resulting fix Amazing what interesting things the compiler will tell you if you let it know what types you expect to be passing around. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 6e66f03ff78b23d845920739373b1561c546b13f Author: Dan Williams Date: Tue Dec 11 12:42:16 2007 -0500 libertas: convert GET_HW_SPEC to a direct command Signed-off-by: Dan Williams Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit a8bdcd71fd33e4a919f9f0cb32207c644b70853f Author: Dan Williams Date: Tue Dec 11 12:40:35 2007 -0500 libertas: add simple copyback command callback A simple callback which copies the response back into the command buffer that was used to send the command to the card. Will allow for direct command processing outside the mega-switches in cmd.c and cmdresp.c. Signed-off-by: Dan Williams Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 7ad994dec7d36c319cb35cbf3a920d3bda96e6b0 Author: Dan Williams Date: Tue Dec 11 12:33:30 2007 -0500 libertas: clean up direct command handling Move direct command handling through __lbs_cmd() over to using the header as the first member of the command structure, and only define the __lbs_cmd() callback in one place rather than 3. Convert boot2 version command to new usage. Signed-off-by: Dan Williams Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit b15152a4033d4c82015bb79c6b81eeb0a2edeeea Author: David Woodhouse Date: Tue Dec 11 11:55:37 2007 -0500 libertas: don't run thread while firmware not yet ready Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 4f82f5c853e314dfe877b87b4c1e4b127ee9a34b Author: David Woodhouse Date: Tue Dec 11 00:07:58 2007 -0500 libertas: switch to a waitqueue and timer for handling USB firmware load No need to busy-wait, even if we did have a 100ms delay in the loop. This makes it easier to support the new 'firmware ready' event which is in the new firmware, too. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit c8ba39d0605200c81f43c59418871e036d973685 Author: David Woodhouse Date: Mon Dec 10 18:53:34 2007 -0500 libertas: improve reliability of firmware reloading on USB Increase the delay between issuing the RESET command and the usb reset, and be prepared to discard more than one 'normal' packet from it before it resets. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 8552855f9860b222673e86a88de2543f53f83dc2 Author: David Woodhouse Date: Mon Dec 10 16:38:18 2007 -0500 libertas: make rtap and normal modes mutually exclusive, clean up open/stop Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 852e1f2a2627274102a3c2dc70a6547aeab99cb6 Author: Dan Williams Date: Mon Dec 10 15:24:47 2007 -0500 libertas: clean up is_command_allowed_in_ps() Total overkill to have an array when there's only one command in it. Signed-off-by: Dan Williams Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit b31d8b90dcc6fbe39147863d13b93a8d49d2b341 Author: David Woodhouse Date: Mon Dec 10 15:25:42 2007 -0500 libertas: remove pre_open_check() The firmware is always initialised before we register the netdevices. It's not possible for pre_open_check() to fail. One day we might try loading firmware in ->open(), but still it won't be just a _check_, like this. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 14e865ba5d9e9adc90363e572743ac238935ba38 Author: Dan Williams Date: Mon Dec 10 15:11:23 2007 -0500 libertas: make lbs_cmd() usage nicer Define a macro that relieves the caller from having to use sizeof on the command structure when calling lbs_cmd(), and move the prototype of __lbs_cmd() to a new cmd.h file. Signed-off-by: Dan Williams Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 4f679496567809ce1e95730c25274e1832537f4b Author: David Woodhouse Date: Mon Dec 10 14:58:37 2007 -0500 libertas: clean up lbs_interrupt() Make it take struct lbs_private as argument; that's all it wants anyway, and all callers were starting off from that. Don't wake the netif queues, because those should be handled elsewhere. And sort out the locking, with a big nasty warning for those who don't have the driver_lock locked when they call it. Oh, and fix if_cs.c to lock the driver_lock before calling it. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 1309b55b4de18bbfe19c73225a5481d6cdc8a463 Author: David Woodhouse Date: Mon Dec 10 13:36:10 2007 -0500 libertas: add opaque extra argument to cmd callback function This will be useful for letting callbacks do stuff like copying the response into a buffer provided by the caller of lbs_cmd() Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit b6b8abe4ddec2cfb3471ea60f965a137cd4d529d Author: Holger Schurig Date: Mon Dec 10 12:19:55 2007 +0100 libertas: fix use-after-free error Previously, the display of subscribed events could be wrong. Signed-off-by: Holger Schurig Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit c3f949618d01d6c40a0267ae8c01695cc2de08e2 Author: David Woodhouse Date: Mon Dec 10 00:51:35 2007 -0500 libertas: kill (IS,SET,UNSET)_MESH_FRAME. No need for these any more. We've collapsed all the unneeded nests of functions which needed to keep track of which device the skb belonged to. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 6f93a8e7e41c2d29749242f983f41e3f6a75b40b Author: David Woodhouse Date: Mon Dec 10 00:49:26 2007 -0500 libertas: kill lbs_upload_tx_packet() It replaces two lines of code. And even for those it has to make inferences about things (i.e. which device) which the caller would have just known. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 7bf02c2985ced746f8b8956dbe4b0384edb41846 Author: David Woodhouse Date: Mon Dec 10 00:17:28 2007 -0500 libertas: fix error cases in lbs_process_rxed_802_11_packet() Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 180be755aec37483337f64bfca3d4b02f5c8fef4 Author: David Woodhouse Date: Mon Dec 10 00:05:37 2007 -0500 libertas: remove unreachable code from process_rxed_802_11_packet() The function is only ever called if we're in rtap mode. So the bit in it which is conditional on rtap mode seems a little superfluous. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 2eb188a1c57ae79283cee951c317bd191cf1ca56 Author: David Woodhouse Date: Sun Dec 9 23:54:27 2007 -0500 libertas: Move actual transmission to main thread The locking issues with TX, especially TX from multiple netdevs, get _so_ much easier if you do it like this. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit b8d40bc9c9099943cbcf18d285bf241f1f080a44 Author: David Woodhouse Date: Sun Dec 9 23:44:43 2007 -0500 libertas: refactor the 'should I sleep?' decision in lbs_thread() This was making my brain hurt. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 45c24903b7026ec99c059d690f3618e3f95f2790 Author: David Woodhouse Date: Sun Dec 9 22:02:46 2007 -0500 libertas: free successfully transmitted skbs again I was so busy cleaning up the failure modes that I accidentally forgot to make sure we still free them in the success case. Oops. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit a97bcfed96b563f56f55dbccee70e09bd2800414 Author: David Woodhouse Date: Sun Dec 9 22:00:55 2007 -0500 libertas: TX packet is radiotap iff it comes from rtap_dev Fix one of the barriers to simultaneous radiotap and normal operation -- stop misinterpreting the TX packets on the normal devices. We're also going to have to clone the incoming skbs and feed them into both devices, and there seem to be firmware problems with staying associated too. But this is a reasonable start... Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 121947c62ab049bfaeb8fadc9908834b5a99daf0 Author: David Woodhouse Date: Sun Dec 9 19:54:11 2007 -0500 libertas: set dev_addr on rtap device This lets us bring it up, because eth_validate_addr() succeeds instead of returning -EINVAL. And finally monitor mode seems to (mostly) work. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit d9268fb9a124d067cf93710a85bb6c158d131c97 Author: David Woodhouse Date: Sun Dec 9 16:22:21 2007 -0500 libertas: stop using ieee80211 for radiotap device There seems to be no point in doing it as an ieee80211 device instead of a normal netdev, and when we override its ->priv and then call free_ieee80211() it has a distressing tendency to crash horribly. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 198cefb9320ea0aa1be43a93b398435447583081 Author: David Woodhouse Date: Sun Dec 9 15:04:19 2007 -0500 libertas: kill lbs_pre_start_xmit(), lib_mesh_pre_start_xmit() These wrappers only do two things. Firstly, they set the frame type, which isn't necessary since lbs_hard_start_xmit() gets to see which device it belongs to anyway. Secondly, they return -EOPNOTSUPP if the device is in monitor mode. Which is a strange thing to do and will provide nasty warnings from qdisc_restart(). And lbs_hard_start_xmit() seems to have code to cope with monitor mode anyway. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit a2b62dc1f17db16034cd4eee0f14e6e56065547c Author: David Woodhouse Date: Sun Dec 9 14:37:59 2007 -0500 libertas: clean up lbs_hard_start_xmit() Having merged the nest of functions into one, now we can clean it up and fix the error handling, and the duplication -- and at least make a start on the locking. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 8af23b2f96dc3dabbc791c75f7c98a7b0d287177 Author: David Woodhouse Date: Sun Dec 9 12:57:14 2007 -0500 libertas: kill lbs_process_tx() by merging it into lbs_hard_start_xmit() Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit a9bdce6564b25268af7315d3dd17f4f5b6435a45 Author: David Woodhouse Date: Sun Dec 9 12:52:19 2007 -0500 libertas: move lbs_hard_start_xmit() into tx.c ... where it can shortly be merged with lbs_process_tx()... Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 6b4a7e0fbd772495572e038d296853a741e0454b Author: David Woodhouse Date: Sun Dec 9 12:48:10 2007 -0500 libertas: kill SendSinglePacket() function. Make a start on reducing the number of pointless nested functions, starting with the StudlyCaps. No semantic changes (yet) -- we can sort out the now-obvious discrepancy in the failure paths in a separate commit. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 2abdc0b7756ece70b1f0fd65a651bf8ce487a223 Author: David Woodhouse Date: Sun Dec 9 12:37:27 2007 -0500 libertas: kill internal tx queue for PS mode It was buggy as hell anyway, since it was just spewing packets at the device when it wasn't necessarily ready for them (in the USB case, while the URB was still busy). We could probably do with a better way of flushing packets to the device _immediately_, before we stick it back into sleep mode. But we can no longer just dequeue packets directly, it seems. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 020bb19e2f8cfebb314b8bce4bc48a511c6f5940 Author: David Woodhouse Date: Sun Dec 9 11:08:25 2007 -0500 libertas: stop debugfs code looking at cmdpendingq It doesn't need to wait until no commands are pending anyway -- it only needs to wait until the scan is finished. We can hopefully find it something else to wait on too -- it's the only user of the cmd_pending waitqueue. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 6d35fdfced3922aa27f130eec2b28857c39298fd Author: David Woodhouse Date: Sat Dec 8 23:49:06 2007 +0000 libertas: cope with device which already has firmware loaded Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit a63b22bb5bb58d7a1d1b38aeac9a55c51565131c Author: David Woodhouse Date: Sat Dec 8 20:56:44 2007 +0000 libertas: use lbs_host_to_card_done() in lbs_tx_timeout() Also attempt some locking in lbs_host_to_card_done() Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit aa21c004f80bdf943736c62dccf0c0398d7824f3 Author: David Woodhouse Date: Sat Dec 8 20:04:36 2007 +0000 libertas: kill struct lbs_adapter There seems to be no reason for a separate structure; move it all into struct lbs_private. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit f86a93e1b2d05a7a38a48c91f8fb8fc7e8f1c734 Author: David Woodhouse Date: Sat Dec 8 19:46:19 2007 +0000 libertas: kill TxLockFlag We don't need this. We can use adapter->currenttxskb instead. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit e7deced05f15693cca71bfae747b8d57eadeb1b2 Author: David Woodhouse Date: Sat Dec 8 18:29:16 2007 +0000 libertas: fix lbs_rtap attribute in sysfs At least it doesn't oops when you attempt to read or write it now. Only when you enable it and then later turn it off. And when it's enabled I don't see how it actually works. But one fewer oops is good, for now... Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 59f3e4bf1e3bc385d91a993d75865f99baa0486d Author: David Woodhouse Date: Sat Dec 8 17:42:59 2007 +0000 libertas: clean up lbs_thread() to make it slightly more readable No semantic changes. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 448a51ae0684c146c9f9ba4e178ab2182512258f Author: David Woodhouse Date: Sat Dec 8 00:59:54 2007 +0000 libertas: switch lbs_cmd() to take a callback function pointer All existing code which sends commands is set up to have some function called with the results, not to get data back. It's more versatile this way, and providing it with a callback function which involves memcpy() is hardly difficult. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit ac47246e246c183ed68b3fdb307a83d00313a325 Author: David Woodhouse Date: Sat Dec 8 00:35:00 2007 +0000 libertas: kill adapter->nr_cmd_pending Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 99c893f34ab932171af27264c0cba4946ca0c355 Author: David Woodhouse Date: Sat Dec 8 00:23:55 2007 +0000 libertas: Fix up error handling in lbs_setuserscan() Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit c12bdc45d9bc4e576ca54944b708cd45c738ec07 Author: David Woodhouse Date: Fri Dec 7 19:32:12 2007 +0000 libertas: Don't set IW_ENCODE_NOKEY when returning WEP keys. Also clean up the double setting/clearing of IW_ENCODE_DISABLED. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit c2df2efe96742b78454acdffe6d278ae334fc838 Author: Holger Schurig Date: Fri Dec 7 15:30:44 2007 +0000 libertas: endianness fixes Recently I found that that sparse by default doesn't endianness checks. So I changed my compilation habit to be make modules C=1 SUBDIRS=drivers/net/wireless/libertas CHECKFLAGS="-D__CHECK_ENDIAN__" so that I get the little-endian checks from sparse as well. That showed up a good bunch of problems. Signed-off-by: Holger Schurig Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 1723047d6742cc172d5c0f1a5245deaee67ff331 Author: David Woodhouse Date: Fri Dec 7 15:13:05 2007 +0000 libertas: Switch to using a callback function pointer for commands Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 0856e6816b30a84aa74c70ecb2bde0c41402f647 Author: David Woodhouse Date: Fri Dec 7 15:12:26 2007 +0000 libertas: when usb_submit_usb fails, include the error code in the printk Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit ffd074fc78c1053b1f1697ebbe5bcfbb64949d16 Author: Holger Schurig Date: Fri Dec 7 16:52:10 2007 +0100 libertas: implement new scanning logic This changes the code that is used for scanning and makes it hopefully easier to understand: * move function into logical blocks * create a bunch of lbs_scan_add_XXXX_tlv() functions, that help to create the TLV parameter of CMD_802_11_SCAN * all of them are now called from the much simpler lbs_do_scan() * no **puserscancfg double-pointers :-) Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 83eacf233e62349c8a7282616fedc602ee95a555 Author: David Woodhouse Date: Fri Dec 7 12:56:45 2007 +0000 libertas: Fix endianness in boot2_version handling. We read it from the card. We byte-swap it. We write it back to the card. D'oh. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit f9f6890e41815cfb8aa34fe9efb216fcc16eea9e Author: David Woodhouse Date: Thu Dec 6 14:44:21 2007 +0000 libertas: Remove SET_BOOT2_VER support from the Big Switch Statement. And the death of libertas_prepare_and_send_command() starts... Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 04c80f1ab1333f21aa4e92f3554e83365da449a0 Author: David Woodhouse Date: Thu Dec 6 12:51:00 2007 +0000 libertas: Use lbs_cmd() for setting Boot2 version Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 09d4fad6e8972061fbb0e2e5ae9e686d84f57af6 Author: Holger Schurig Date: Thu Dec 6 13:50:30 2007 +0100 libertas: fix data packet size errors I wondered about junk bytes at the end when using "lbsdebug +hex +host" until I noticed that firmware for the CF card sends my extranous bytes. It says "I have 20 bytes", I take 20 bytes, but the last 8 bytes of this are just data junk. Also, in the new lbs_cmd() where was a size miscalulation that made itself clear after fixing this bug. Signed-off-by: Holger Schurig Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit abe3ed14d39adcea9ae186cf741b15d11544458f Author: Li Zefan Date: Thu Dec 6 13:01:21 2007 +0100 libertas: don't cast a pointer to pointer of Don't cast struct foo * to struct list_head *, it's safe only when the list member is the first member of struct foo. Also don't cast struct list_head * to struct foo *. Signed-off-by: Li Zefan Signed-off-by: Holger Schurig Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 6228c0aea544f5292977e6b27cd231a4ea137a62 Author: David Woodhouse Date: Thu Dec 6 12:38:31 2007 +0000 libertas: Byteswap cmdptr->size in lbs_cmd() Bad Holger. Always test on big-endian machines, if it's little-endian you need to be swapping to/from. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit ad9de29130599d4be3467932643797da3b9869f6 Author: David Woodhouse Date: Thu Dec 6 12:37:31 2007 +0000 libertas: Zero 'pdata_size' field in cmd_ctrl_node reliably. Otherwise, lbs_process_rx_command() will take the new path for lbs_cmd() responses, when it shouldn't. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 2c94404c30008a10ccd3c7e31645626eb90a8a06 Author: David Woodhouse Date: Thu Dec 6 14:41:08 2007 +0000 libertas: Move SET_BOOT2_VER command to if_usb where it belongs This is meaningless for non-USB devices and unimplemented in their firmware. It's somewhat dubious for USB devices too, but that's a different story. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 9088566176cb7f7361e862557eb20adfdd1bfc1f Author: David Woodhouse Date: Thu Dec 6 10:36:08 2007 +0000 libertas: Don't claim to have checksummed incoming packets. This explains why we never noticed the corruption of checksums on outgoing packets... we weren't actually checking them either. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 675787e29fd97d08bf7e6253c89ab6de23bf7089 Author: Holger Schurig Date: Wed Dec 5 17:58:11 2007 +0100 libertas: handy function to call firmware commands Using an arbitrary firmware command was actually very painful. One had to change big switch() statements in cmd.c, cmdresp.c, add structs to the big union in "struct cmd_ds_command" and add the define for the CMD_802_11_xxx to the proper place. With this function, this is now much easier. For now, it implements a blocking (a.k.a. CMD_OPTION_WAITFORRSP) way where one deals directly with command requests and response buffers. You can do everything in one place: Signed-off-by: Holger Schurig Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 0d61d04210b617963c202a3c4dcbcd26a024d5d3 Author: Holger Schurig Date: Wed Dec 5 17:58:06 2007 +0100 libertas: make more functions static These functions were used in the old debugfs code for events, but as this code is now gone, there's no need to export those functions. Signed-off-by: Holger Schurig Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit c68b3bbdb596b5f82f1f0731f6fcb210735aff39 Author: Holger Schurig Date: Wed Dec 5 17:57:58 2007 +0100 libertas: remove cmd_ctrl_node->status There was no code that ever did set this variable. Signed-off-by: Holger Schurig Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 891f32a1c4fe5c57f15873fa1d9fff425b30ab4d Author: Holger Schurig Date: Wed Dec 5 17:57:56 2007 +0100 libertas: remove cmd_ctrl_node->cmdflags There was no code that ever did set this flag. Signed-off-by: Holger Schurig Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit e775ed7c677b163c80643036c32e23d3e59b9429 Author: David Woodhouse Date: Thu Dec 6 14:36:11 2007 +0000 libertas: Consolidate lbs_host_to_card_done() function. As we move towards having this done by a state machine, start by having a single 'stuff sent' function, which is called by if_usb/if_sdio/if_cs after sending both data and commands. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit f5ece8fc8d3f5e36bda3554b74b0fbecb0a14309 Author: David Woodhouse Date: Sat Dec 1 15:15:41 2007 +0000 libertas: Remove cmd_oid from struct cmd_ctrl_node This is only needed for SNMP and key operations; it doesn't need to be preserved outside that context. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 77d8cf2c093be3b58f6deed10673d0bc8cbd4202 Author: David Woodhouse Date: Wed Nov 28 16:20:51 2007 +0000 libertas: Fix memory leak of RX skbs Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 38d1b4ce901506729f6c7f9a14f02f4327c577cc Author: Michael Buesch Date: Wed Dec 12 22:05:18 2007 +0100 b43: Fix for broken transmission This patch fixes the transmission problems introduced by commit f04b3787bbce4567e28069a9ec97dcd804626ac7 I'm not sure if the dummy read is really required. The old code does it. I think it can't hurt and can possibly fix some write posting problems (hardware bugs or whatever. Who knows). Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 8ed7fc48eb31e583bb31c2bcfdd3a9c557bad5d0 Author: Michael Buesch Date: Sun Dec 9 22:34:59 2007 +0100 b43: Fix ofdmtab write regression commit f04b3787bbce4567e28069a9ec97dcd804626ac7 introduced a regression for the ofdmtable writing. It incorrectly removed the writing of the high 16bits for a 32bit table write and initialized the direction identifier too late. This patch does also some cleanups to make the code much more readable and adds a few comments, so non rocket scientists are also able to understand what this address caching is all about. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit bb54244be7d12c2a5985226061d598edb49c9078 Author: Tomas Winkler Date: Wed Dec 5 20:59:59 2007 +0200 iwlwifi: add missing comments This patch add comments that escaped from the previous merge Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 4fd1f8414664b3e834aa46cdbf8f0c12fc42a878 Author: Tomas Winkler Date: Wed Dec 5 20:59:58 2007 +0200 iwlwifi: fix compliation warnings This patch fixes compilation warnings introduced by 'fix ucode assertion for RX queue overrun' patch Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 0946687803ff5495e4b7c0b7f2c6d002398bd5fa Author: Reinette Chatre Date: Wed Dec 5 20:59:57 2007 +0200 iwlwifi: remove HT code from iwl-3945.h This pach removes HT code from iwl-3945.h - it is not needed here as 3945 does not support HT. The code ended up here during the header file split Signed-off-by: Reinette Chatre Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 2236761b8c53b2e352808576ff51f108b01a0ea8 Author: Dan Williams Date: Wed Dec 5 11:01:23 2007 -0500 orinoco: always use latest BSS info when caching scan results Always copy the latest BSS information from the firmware's results to the driver's BSS table to ensure that everything is up-to-date (IEs, supported rates, encryption status, etc). Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit ef3122463d18c0a05b85654473b855a2af494221 Author: Adrian Bunk Date: Tue Dec 11 23:20:30 2007 +0100 ipg: add __devexit annotation ipg_remove() can become __devexit. Signed-off-by: Adrian Bunk commit 2b1ea591f6714729e5a998064ba9bff503137aa8 Author: John W. Linville Date: Tue Dec 4 17:24:35 2007 -0500 rt2x00: correct "skb_buff" typo Signed-off-by: John W. Linville Signed-off-by: Jeff Garzik commit 8da5bb7a274559737defa400a42461e1366fc30a Author: Pekka Enberg Date: Fri Nov 30 09:55:43 2007 +0200 ipg: fix checkpatch reported errors Signed-off-by: Pekka Enberg Cc: Francois Romieu Cc: Sorbica Shieh Cc: Jesse Huang commit 9893ba16c8fb9c94729061a88bdee40ecf3a3899 Author: Pekka Enberg Date: Thu Jan 24 02:01:17 2008 -0800 ipg: naming convention fixes This changes some camel-case names to follow proper kernel naming convention. Signed-off-by: Pekka Enberg Cc: Francois Romieu Cc: Sorbica Shieh Cc: Jesse Huang Signed-off-by: David S. Miller commit dea4a87cabc4ba0c09123c6e8392aa68fe437b31 Author: Pekka Enberg Date: Fri Nov 30 09:54:51 2007 +0200 ipg: remove some internal comments This removes some now useless comments that were added when the driver was developed out-of-tree. Signed-off-by: Pekka Enberg Cc: Francois Romieu Cc: Sorbica Shieh Cc: Jesse Huang commit 6d3b2cb92bee1cec43c716f4cd6554be1e6b36ea Author: Pekka Enberg Date: Fri Nov 30 09:54:33 2007 +0200 ipg: remove commented out code Signed-off-by: Pekka Enberg Cc: Francois Romieu Cc: Sorbica Shieh Cc: Jesse Huang commit 1662e4b7af956979c6cb864bf23cf88f882cdaf8 Author: Pekka Enberg Date: Fri Nov 30 09:54:06 2007 +0200 ipg: remove driver version The driver is in mainline now so there's no need to maintain a separate version number. Signed-off-by: Pekka Enberg Cc: Francois Romieu Cc: Sorbica Shieh Cc: Jesse Huang commit 85d68a58833a9e361ecabd5e89d228301d346d94 Author: Pekka Enberg Date: Fri Nov 30 09:53:51 2007 +0200 ipg: remove IPG_DEV_KFREE_SKB macro Signed-off-by: Pekka Enberg Cc: Francois Romieu Cc: Sorbica Shieh Cc: Jesse Huang commit 4602e665ff45e0af4cc64a6caf4c872f18d14148 Author: Pekka Enberg Date: Fri Nov 30 09:53:33 2007 +0200 ipg: remove boolean macros Signed-off-by: Pekka Enberg Cc: Francois Romieu Cc: Sorbica Shieh Cc: Jesse Huang commit 9305a775210030a09f2e373e72920573770a37de Author: Pekka Enberg Date: Fri Nov 30 09:53:09 2007 +0200 ipg: remove old contact information Remove old comment as up-to-date contact information is in MAINTAINERS. Signed-off-by: Pekka Enberg Cc: Francois Romieu Cc: Sorbica Shieh Cc: Jesse Huang commit 35a84fdc89c493a6b0c1eb61296f9bd514f7b947 Author: Grant Likely Date: Sat Dec 1 22:12:45 2007 -0700 gianfar driver: eliminate compiler warnings and unnecessary macros This patch eliminates the warning of unused return values when the driver registers it sysfs files. Now the driver will print an error if it is unable to register the sysfs files. It also eliminates the macros used to wrap the DEVICE_ATTR macro and the device_create_file function call. The macros don't reduce the number of lines of source code in the file and the name munging makes is so that cscope and friends don't see the references to the functions. It's better to just call the kernel API directly. While we're at it, the DEVICE_ATTR instances have been moved down to be grouped with the functions they depend on. Signed-off-by: Grant Likely Signed-off-by: Jeff Garzik commit 43fd6c7ebdd50276a7d26d7dddcb109c291dde50 Author: Andrea Merello Date: Sun Dec 2 17:17:51 2007 -0500 rtl8187: fix tx power reading CCK and OFDM power levels are stored in adjacent bytes, not nibbles. Signed-off-by: Michael Wu Signed-off-by: Andrea Merello Signed-off-by: John W. Linville commit 9ee1ba474fc37bcaf6a958bf7e995006fc69893b Author: Ron Rindjunsky Date: Mon Nov 26 16:14:42 2007 +0200 iwlwifi: 802.11n add support to 8K A-MSDU Rx frames This patch give the iwlwifi the ability to support A-MSDU up to 8K Please notice - in order to work in 8K A-MSDU ucode support is needed, version 4.44.1.19 (soon to be published). 4K A-MSDU works in current ucode version as well. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 270243a50574455f593378377c0fa74284730f7d Author: Ron Rindjunsky Date: Mon Nov 26 16:14:41 2007 +0200 iwlwifi: 802.11n comply HT rate scaling flows with mac80211 framework This patch conforms the rate scaling flows according to the new mac80211's HT framework Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 67d620357a186adc0f4e7d1f5b095ea2c77e7072 Author: Ron Rindjunsky Date: Mon Nov 26 16:14:40 2007 +0200 iwlwifi: 802.11n comply HT add station flow with mac80211 framework This patch conforms the addition of a new station to the iwlwifi station table according to the new mac80211's HT framework Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit fd105e79d19439d29a6561178fb5fe511e141f6b Author: Ron Rindjunsky Date: Mon Nov 26 16:14:39 2007 +0200 iwlwifi: 802.11n comply HT self configuration flow with mac80211 framework This patch conforms HW configuration changes according to new mac80211's HT framework Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 8fb8803239debda77b90f7e4a5098067187d865e Author: Ron Rindjunsky Date: Mon Nov 26 16:14:38 2007 +0200 iwlwifi: 802.11n handling probe request HT IE This patch conforms the probe request's HT IE with the new structures used in iwlwifi HT. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 326eeee807ca7ed4489cb21d4ebe8e52079c11c3 Author: Ron Rindjunsky Date: Mon Nov 26 16:14:37 2007 +0200 iwlwifi: 802.11n configuring hw_mode parameters to support HT in A/G This patch fills the mac80211's ieee80211_hw_mode structures with the needed 802.11n data needed for the new framework Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 9e0cc6de99792151b16dbd622b11ba6607a85b72 Author: Ron Rindjunsky Date: Mon Nov 26 16:14:36 2007 +0200 iwlwifi: 802.11n new framework structures preperation This patch removes unnecessary or duplicate 802.11n data from structures in the code, and prepares them for new mac80211's 802.11n framework Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 923effd8d231ac480c6007e2a377c001a343a0ba Author: Ron Rindjunsky Date: Mon Nov 26 16:14:35 2007 +0200 iwlwifi: 802.11n remove unnecessary config dependency This patch removes MAC80211_HT config dependency as it has been eliminated in mac80211, and adds a needed QoS dependency Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville commit 76bb77e03f5b01fb83fb9fa79febba6e499f948b Author: Zhu Yi Date: Thu Nov 22 10:53:22 2007 +0800 iwlwifi: cache mac80211 conf setting during a hardware scan This patch caches mac80211 configuration setting during a hardware scan for the iwlwifi drivers. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit a84fd3452d65bd3ec39168ff976f9316f33ab8eb Author: Miguel Botón Date: Sun Nov 25 15:58:07 2007 +0100 iwlwifi: remove redundant declaration of 'iwl3945_priv' and 'iwl4965_priv' structs This patch removes a redundant declaration of 'iwl3945_priv' and 'iwl4965_priv' structs. Signed-off-by: Miguel Boton Signed-off-by: John W. Linville commit d128394894d6489370e4e3466e799ec9e5a705a3 Author: Zhu Yi Date: Thu Nov 29 11:10:16 2007 +0800 iwlwifi: update version number to 1.2.22 Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit fde3571fd8613483f1203d11394ae316c6b79a03 Author: Mohamed Abbas Date: Thu Nov 29 11:10:15 2007 +0800 iwlwifi: avoid firmware command sending if rfkill is enabled This patch fixed a ucode timeout issue and worked code with suspend to disk. Signed-off-by: Mohamed Abbas Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 5c0eef960bdb87a53ba390aab7b069b2bc8d7f6d Author: Mohamed Abbas Date: Thu Nov 29 11:10:14 2007 +0800 iwlwifi: fix ucode assertion for RX queue overrun This patch allows the driver to restock the RX queue early if the RX queue is almost empty. This will help on avoiding any ucode assert for the RX overrun problem. Signed-off-by: Mohamed Abbas Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 7878a5a4fcc5002e805c054730c4c5639c9d071d Author: Mohamed Abbas Date: Thu Nov 29 11:10:13 2007 +0800 iwlwifi: enhance WPA authenication stability This patch enhanced WPA authenication stability by avoiding scan immediately followed by association. We don't do any scanning right after association in next several seconds. This will allow WPA authentication to take place without any interruption. Signed-off-by: Mohamed Abbas Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 2bdc7031f9ea1826e16bffc3540d05de891c98bc Author: Ben Cahill Date: Thu Nov 29 11:10:12 2007 +0800 iwlwifi: document 4965 rate scaling Document 4965 rate scaling Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 529699815b79f15a6644786dc4d6e9dd5153a447 Author: Ben Cahill Date: Thu Nov 29 11:10:11 2007 +0800 iwlwifi: add comments to Tx commands Add comments to Tx commands Clean up unused definitions in iwl-3945-commands.h Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 2054a00bb83409345d14a944e25c15e6ea317651 Author: Ben Cahill Date: Thu Nov 29 11:10:10 2007 +0800 iwlwifi: add comments to QOS and ADD_STA commands Add comments to QOS and ADD_STA commands Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 80cc0c382db318de88577eff027d5c4097abef81 Author: Ben Cahill Date: Thu Nov 29 11:10:09 2007 +0800 iwlwifi: add comments to RXON command and txpower formats Add comments to RXON command and txpower formats Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 075416cd18cb4a7ed057d9a96b388bc23b43c4b1 Author: Ben Cahill Date: Thu Nov 29 11:10:08 2007 +0800 iwlwifi: document command header and "alive" responses Document command header and "alive" responses Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit e3851447664113bccf9b23af0308e266872a735c Author: Ben Cahill Date: Thu Nov 29 11:10:07 2007 +0800 iwlwifi: document 4965 Tx scheduler Document 4965 Tx scheduler Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 5d5456fe50cb07347dd350fc045dc98677dbc58f Author: Ben Cahill Date: Thu Nov 29 11:10:06 2007 +0800 iwlwifi: document shared Tx structures Document shared Tx structures Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 483fd7e5ffa527daeaff006e033225e273d110f8 Author: Ben Cahill Date: Thu Nov 29 11:10:05 2007 +0800 iwlwifi: document Tx registers Document Tx registers Clean up unused definitions Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 4d3cf5f7c2290c6cbe7ae1722bf2f938c81ef887 Author: Ben Cahill Date: Thu Nov 29 11:10:04 2007 +0800 iwlwifi: document Rx registers Document Rx registers Document Tx circular buffer base registers Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit aad141433b630e3e28bab1e27606a688b22dbcc1 Author: Ben Cahill Date: Thu Nov 29 11:10:03 2007 +0800 iwlwifi: document keep-warm buffer Document keep-warm buffer Consolidate flow handler address definitions Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 0c434c5a7f9983c8ee3c8943924db8c5fb1d12bd Author: Ben Cahill Date: Thu Nov 29 11:10:02 2007 +0800 iwlwifi: document txpower calculations Document txpower calculations Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 5991b419f04dee78c36d43de6b6ff2d27934d707 Author: Ben Cahill Date: Thu Nov 29 11:10:01 2007 +0800 iwlwifi: document temperature calculation Document temperature calculation Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit fcd427bbba10fc315d1c958b85bba74448db4eb4 Author: Ben Cahill Date: Thu Nov 29 11:10:00 2007 +0800 iwlwifi: move HT_IE_EXT_CHANNEL_* driver definitions to iwl-4965.h Move HT_IE_EXT_CHANNEL_* driver definitions to iwl-4965.h Add comments to guide .h file usage (hw/api/driver definitions) Minor comment cleanup Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 14519a0b46085db68e610147098d03386c34801f Author: Ben Cahill Date: Thu Nov 29 11:09:59 2007 +0800 iwlwifi: move uCode API definitions to iwl-4965-commands.h Move uCode API definitions to iwl-4965-commands.h Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 2248d8d8bc9799baf7f0a08afee7cb3afcc20ed3 Author: Ben Cahill Date: Thu Nov 29 11:09:58 2007 +0800 iwlwifi: clean up unused definitions in iwl-4965-hw.h Clean up unused definitions in iwl-4965-hw.h Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 9948b5445614a75112b85ae3bc8f6e2f6655c7df Author: Ben Cahill Date: Thu Nov 29 11:09:57 2007 +0800 iwlwifi: Clean up unused definitions in iwl-3945-hw.h Clean up unused definitions in iwl-3945-hw.h Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 6440adb5760a897497c2b1ebdccc32c7944fd57f Author: Cahill, Ben M Date: Thu Nov 29 11:09:55 2007 +0800 iwlwifi: add comments to iwl*-base.c Add comments to iwlXXXX-base.c Signed-off-by: Cahill, Ben M Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 8b6eaea8ec79b111a18a1c60333deb16ba27e6b3 Author: Cahill, Ben M Date: Thu Nov 29 11:09:54 2007 +0800 iwlwifi: add comments, mostly on Tx queues Add comments, mostly on Tx queues Signed-off-by: Cahill, Ben M Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 74093ddf4c42da74922b63fb6844989e21164d9e Author: Ben Cahill Date: Thu Nov 29 11:09:53 2007 +0800 iwlwifi: clean up some unused definitions in iwl-4965.h and iwl-3945.h Clean up some unused definitions in iwl-4965.h and iwl-3945.h Move STA_FLG_ definitions to iwl-4965-commands.h Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 1fea8e8838d009545d94588ac41037d8f20f969d Author: Ben Cahill Date: Thu Nov 29 11:09:52 2007 +0800 iwlwifi: Partially clean-up, add comments to iwl-*-hw.h Partially clean-up, add comments to iwl-XXXX-hw.h Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit f7d09d7c453f197d802c50172b27170a43e1a816 Author: Ben Cahill Date: Thu Nov 29 11:09:51 2007 +0800 iwlwifi: Document Rx calibration Document Rx calibration Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit abceddb40728397fcfd0b295d7530920a606ab88 Author: Ben Cahill Date: Thu Nov 29 11:09:50 2007 +0800 iwlwifi: Document 4965 rate_n_flags bits Document 4965 rate_n_flags bits Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit bc47279f558e7e9ea70dad1d484d2816ec239bb0 Author: Ben Cahill Date: Thu Nov 29 11:09:49 2007 +0800 iwlwifi: Add comments to some driver data structures Add comments to some driver data structures Remove unused "sched_retry" member from struct iwl3945_tx_queue Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 81cd110d818dd4649cbac17f95f698a24c7acc45 Author: Ben Cahill Date: Thu Nov 29 11:09:48 2007 +0800 iwlwifi: Move is_legacy() macro family from iwl-4965-hw.h to iwl-4965-rs.h Move is_legacy() macro family from iwl-4965-hw.h to iwl-4965-rs.h These macros are for driver's rate scaling implementation, and are not related to hardware or uCode API values (moved from iwl-4965-hw.h). Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 9fbab5163aa8cb3a5aef845fbf67b0c1c85030b6 Author: Ben Cahill Date: Thu Nov 29 11:09:47 2007 +0800 iwlwifi: clean up and clarify some comments after 3945/4965 split Clean up and clarify some comments after 3945/4965 split. Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 40ac81a35c3a19f6a78f0a9f58368d36048df35b Author: Ben Cahill Date: Thu Nov 29 11:09:46 2007 +0800 iwl-4965-hw.h: clean up unused eeprom structures and definitions Clean up unused eeprom structures and definitions in iwl-4965-hw.h. Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 796083cb1d45d52d40ae2c933afcfc56d91ef427 Author: Ben Cahill Date: Thu Nov 29 11:09:45 2007 +0800 iwlwifi: add comments to EEPROM stuff Add comments to EEPROM stuff. Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 7762635547ad31ecb045e7073989e76ae13e6c54 Author: Ben Cahill Date: Thu Nov 29 11:09:44 2007 +0800 iwl4965: add comments to rate scaling code Add comments to rate scaling code. Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit f58177b9c3f377eee31bac719bda87e1aab415ab Author: Ben Cahill Date: Thu Nov 29 11:09:43 2007 +0800 iwl3945: re-align 3945 event log data Re-align 3945 event log data. Signed-off-by: Ben Cahill Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 0054b34d295f0c77110c8c8ae5e3320ef40617b2 Author: Reinette Chatre Date: Thu Nov 29 11:09:42 2007 +0800 iwlwifi: continue namespace changes - fix CONFIG variables - Remove HT code from iwl-3945.h - it is not needed here as 3945 does not support HT. The code ended up here during the header file split. - Modify a few places where the CONFIG variables were named incorrectly: all changes are to comments only. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 90e759d14cd58ea1e34042bab930ce434fa0e4fa Author: Tomas Winkler Date: Thu Nov 29 11:09:41 2007 +0800 iwlwifi: Support for uCode without init and bsm section This patch enables loading fw w/o init and bsm section. It also provides general cleanup of the rutine. Signed-off-by: Tomas Winkler Signed-off-by: Gregory Greenman Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 5a6012e105ae1664cd2841c33bf59fbdd8d4dbcc Author: Ivo van Doorn Date: Tue Nov 27 21:52:13 2007 +0100 rt2x00: Release rt2x00 2.0.13 Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit b3a78b4e2a4ee7a06861e012d95acea513384001 Author: Ivo van Doorn Date: Tue Nov 27 21:51:57 2007 +0100 rt2x00: Cleanup rfkill The label exit_free_polldev is no longer used and can be removed. input_free_polled_device() also calls input_free_device(), so don't call it seperatly. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 6f8a4da17ea2c8467f88a586ae1d6fcfe2c66222 Author: Larry Finger Date: Tue Nov 27 21:51:39 2007 +0100 rt2x00: Remove redundant code in rfkill setup In rt2x00rfkill.c, routine input_allocate_device() is called even though input_allocate_polled_device(), which was just called, includes a call to that routine. This patch, which has not been tested, removes the redundant code. Signed-off-by: Larry Finger Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 61af43c56bef2cfcb8f1d9aab4e766e0f7bdd893 Author: Mattias Nissler Date: Tue Nov 27 21:50:26 2007 +0100 rt2x00: Only update rssi average approximation on receiving beacon frames. Restrict rssi average updating to beacon frames of the bssid the interface is associated with. Without this restriction, strong signals belonging to other BSS, e.g. beacon frames coming from a nearby AP, would cause incorrectly high rssi approximation values. This would then cause the link tuner to reduce sensitivity, resulting in transmissions from the BSS associated to to be missed. Signed-off-by: Mattias Nissler Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit d28c2561fb09dcc0b47ae0ba12083cf0d988495f Author: Ivo van Doorn Date: Tue Nov 27 21:49:50 2007 +0100 rt2x00: Use IEEE80211_IF_TYPE_INVALID directly No need to use a seperate define INVALID_INTERFACE while we can use IEEE80211_IF_TYPE_INVALID directly. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 4d8dd66c1659ba0d1b110ed0488f4f6ffbc90e71 Author: Ivo van Doorn Date: Tue Nov 27 21:49:29 2007 +0100 rt2x00: Add TX/RX frame dumping facility This adds TX/RX frame dumping capabilities through debugfs. The intention is that with this approach debugging of rt2x00 is simplified since _all_ frames going in and out of the device are send to debugfs as well along with additional information like the hardware descriptor. Based on the patch by Mattias Nissler. Mattias also has some tools that will make the dumped frames available to wireshark: http://www-user.rhrk.uni-kl.de/~nissler/rt2x00/ Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 08992f7fb139c7dbaf593402312ee5a055352f05 Author: Ivo van Doorn Date: Thu Jan 24 01:56:25 2008 -0800 rt2x00: Add skb descriptor Use the skb->cb field to add a frame description that can be used to transfer information passed each rt2x00 layer. This reduces the required arguments for rt2x00lib_write_tx_desc(). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 22c96c28b47ce74d78aad1afbed88b26f43ce24b Author: Ivo van Doorn Date: Tue Nov 27 21:48:37 2007 +0100 rt2x00: Add chipset version to chipset debugfs entry The chipset debugfs entry already indicates it is about the chipset, it only makes sense to also display the chipset version in there. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 91921a4e9b033b1bf6ab65be7f9b74b60290f41c Author: Ivo van Doorn Date: Tue Nov 27 21:48:16 2007 +0100 rt2x00: Move register value/offset files into new folder Cleanup debugfs interface by moving the csr/bbp/rf/eeprom value/offset entries into the "register" folder. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 49da2605e27935835861a118df0671b5f004bfac Author: Ivo van Doorn Date: Tue Nov 27 21:47:56 2007 +0100 rt2x00: Extend PLCP descriptor definition for rt2400pci Extend word field definitions for the PLCP words in the TX descriptor to contain the BBP fields as well. This will remove rt2400pci_write_tx_desc() from the checkstack script. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2360157c413b06fe2958a051daeab7bac68f6588 Author: Ivo van Doorn Date: Tue Nov 27 21:47:34 2007 +0100 rt2x00: Replace DRV_NAME with KBUILD_MODNAME DRV_NAME was always set to the KBUILD_MODNAME value, lets clean everything up by removing DRV_NAME and just use KBUILD_MODNAME directly. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit a293ee990d0a3ba945eda5d0861969d0ca7ce62c Author: Stefano Brivio Date: Sat Nov 24 23:35:25 2007 +0100 b43legacy: reinit on too many PHY TX errors Restart the hardware on too many PHY TX errors. A thousand PHY TX errors per 15 seconds means we won't be able to recover for sure. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit 5be3bda8987b12a87863c89b74b136fdb1f072db Author: Johannes Berg Date: Sat Nov 24 21:11:09 2007 +0100 b43legacy: include full 64-bit timestamp in monitor mode When monitor mode is enabled, this will make b43legacy read out the full 64-bit MAC time from the chip for each received packet. This patch has been ported from b43. Signed-off-by: Stefano Brivio Cc: Johannes Berg Signed-off-by: John W. Linville commit 125c5cc2c8c1fab6a6a1d8a07f7073b240e6d325 Author: Frank Lichtenheld Date: Sat Nov 24 21:11:08 2007 +0100 b43legacy: properly fix a bogus gcc warning Use initialized_var() to properly fix a bogus gcc warning. Signed-off-by: Stefano Brivio Cc: Frank Lichtenheld Signed-off-by: John W. Linville commit 013978b688d2a27af3ab55ca739e8c8ac7254870 Author: Larry Finger Date: Mon Nov 26 10:29:47 2007 -0600 b43: Changes to enable BCM4311 rev 02 with wireless core revision 13 The BCM94311MCG rev 02 chip has an 802.11 core with revision 13 and has not been supported until now. The changes include the following: (1) Add the 802.11 rev 13 device to the ssb_device_id table to load b43. (2) Add PHY revision 9 to the supported list. (3) Change the 2-bit routing code for address extensions to 0b10 rather than the 0b01 used for the 32-bit case. (4) Remove some magic numbers in the DMA setup. The DMA implementation for this chip supports full 64-bit addressing with one exception. Whenever the Descriptor Ring Buffer is in high memory, a fatal DMA error occurs. This problem was not present in 2.6.24-rc2 due to code to "Bias the placement of kernel pages at lower PFNs". When commit 44048d70 reverted that code, the DMA error appeared. As a "fix", use the GFP_DMA flag when allocating the buffer for 64-bit DMA. At present, this problem is thought to arise from a hardware error. This patch has been tested on my system and by Cédric Caumont . Signed-off-by: Larry Finger Acked-by: Michael Buesch Signed-off-by: John W. Linville commit 00e0b8cb74ed7c16b2bc41eb33a16eae5b6e2d5c Author: Stefano Brivio Date: Sun Nov 25 11:10:33 2007 +0100 b43: reinit on too many PHY TX errors Restart the hardware on too many PHY TX errors. A thousand PHY TX errors per 15 seconds means we won't be able to recover for sure. Signed-off-by: Stefano Brivio Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit d8be11ee95be9ec9eabfec9f635e0feac972369b Author: Johannes Berg Date: Sat Nov 24 15:06:33 2007 +0100 b43: include FCS in frames handed to mac80211 Sometimes it can be useful to see the FCS, especially when bad-FCS frames are shown. Pass the FCS to mac80211 and let it worry about snipping it off when required. Signed-off-by: Johannes Berg Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit d42ce84a05d7a427df22894de268c1b4473f6004 Author: Johannes Berg Date: Fri Nov 23 14:50:51 2007 +0100 b43: include full 64-bit timestamp in monitor mode When monitor mode is enabled, this will make b43 read out the full 64-bit MAC time from the chip for each received packet. Signed-off-by: Johannes Berg Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 0b3c07ff6467e6055ca3dd2239494ada96303274 Author: Holger Schurig Date: Wed Nov 28 09:15:11 2007 +0100 libertas: less eventcause shifts * only shift eventcause once * convert mac events to decimal, as this is what the firmware manual uses in section 6.1, too Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit a7d0adae40d0effc1484261a66fb703eb7e840b5 Author: Holger Schurig Date: Wed Nov 28 17:30:21 2007 +0100 libertas: remove user-specified channel list Remove the ability to specify channels to scan via debugfs Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit dd1d12dabfeb123881b0c813d0b7d3585312bacd Author: Holger Schurig Date: Wed Nov 28 17:29:36 2007 +0100 libertas: remove numprobes Remove the ability to specify number of probes via debugfs Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 01affb653077d8581552d566276b405237636e5c Author: Holger Schurig Date: Wed Nov 28 14:08:12 2007 +0100 libertas: tweak tx path debugging Make two functions in the TX packet path emit their debug messages with LBS_DEB_TX, not LBS_DEB_MAIN. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 91843463bc4ca5eb2be4b8b5c5efd474e0c56283 Author: Holger Schurig Date: Wed Nov 28 14:05:02 2007 +0100 libertas: tweak association debug output Change debug output codes from LBS_DEB_JOIN to LBS_DEB_ASSOC Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 3a1886491710c196656a005fcc693172f5bb4c8a Author: Holger Schurig Date: Mon Nov 26 10:07:14 2007 +0100 libertas: rework event subscription This patch moves re-works the implementation of event subscription via debugfs. For this: * it tells cmd.c and cmdresp.c about CMD_802_11_SUBSCRIBE_EVENT * removes lots of low-level cmd stuff from debugfs.c * create unified functions to read/write snr, rssi, bcnmiss and failcount * introduces #define's for subscription event bitmask values * add a function to search for a specific element in an IE (a.k.a. TLV) * add a function to find out the size of the TLV. This is needed because lbs_prepare_and_send_command() has an argument for a data buffer, but not for it's lengths and TLVs can be, by definition, vary in size. * fix a bug where it was not possible to disable an event Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 69f9032d9dfeb763b467fdbe8cf5938f5457083a Author: Holger Schurig Date: Fri Nov 23 15:43:44 2007 +0100 libertas: remove arbitrary typedefs New typedefs are usually frowned upon. This patch changes libertas_adapter -> struct libertas_adapter libertas_priv -> struct libertas_priv While passing, make everything checkpatch.pl-clean that gets touches. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 96287ac4f7b387acbe17e24b5e1bcbf3bc0e75cd Author: Brajesh Dave Date: Tue Nov 20 17:44:28 2007 -0500 libertas: configurable beacon interval Requires firmware version 5.110.19.p0 or newer, available here: http://dev.laptop.org/pub/firmware/libertas/ Signed-off-by: Ashish Shukla Signed-off-by: Javier Cardona Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 01d77d8d4747d73cfb6daf35cdc906a2db8ded9d Author: Brajesh Dave Date: Tue Nov 20 17:44:14 2007 -0500 libertas: separate mesh connectivity from that of the main interface The transmit and receive traffic as soon as the mesh interface is brought up. Test case 1: Bring up only the mesh interface and ping. No need for any iwconfig commands on the main interface. $ ifconfig msh0 192.168.5.3 $ iwconfig msh0 channel X $ ping 192.168.5.2 If ping succeeds, PASS Test case 2: Associate with the main interface, and turn off AP. Mesh interface should not lose connectivity. $ iwconfig eth0 mode managed essid "my_ssid" $ ifconfig msh0 192.168.5.3 $ ping 192.168.5.2 If ping continues uninterrupted, PASS This feature requires firmware version 5.110.19.p0 or newer, available here: http://dev.laptop.org/pub/firmware/libertas/ Signed-off-by: Ashish Shukla Signed-off-by: Javier Cardona Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 798fbfec9ca1dfd656963debb14d049868d24465 Author: Andres Salomon Date: Tue Nov 20 17:44:04 2007 -0500 libertas: nuke useless variable usbdriver_name and useless comments I think it was pretty obvious what fields in if_usb_driver are... Signed-off-by: Andres Salomon Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit be13f1897f76a4b395c3d572a18b2802fd521946 Author: Andres Salomon Date: Tue Nov 20 17:43:55 2007 -0500 libertas: reset devices upon disconnect rather than module unloading 1) Do not reset libertas devices upon module unload. We're unloading the module, we're not killing off devices. 2) Instead, reset libertas devices inside if_usb_disconnect, as we're killing off interfaces and so on. 3) Resetting via disconnect callback means we no longer need to keep track of probed libertas devices; kill off that list (and its wonderful lack of locking..), as well. Drop a useless comment as well. Signed-off-by: Andres Salomon Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 4fb910fd3ada36cd9fbf6e037b87f2a83fd740b7 Author: Andres Salomon Date: Tue Nov 20 17:43:45 2007 -0500 libertas: mark module_init/exit functions as __init/__exit Signed-off-by: Andres Salomon Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 82209adcb157e5861f2105d1658f1f07f75d69f2 Author: Andres Salomon Date: Tue Nov 20 17:43:32 2007 -0500 libertas: drop useless default_fw_name variable Signed-off-by: Andres Salomon Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 66bb42fd47c3d7e23b3ca5bb2b025a198100d670 Author: Daniel Drake Date: Mon Nov 19 16:20:12 2007 +0000 zd1211rw: add copyright notices Requested by Michael Wu. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 269fca0eddfa37d10c4493ac402be11e866e43fd Author: Daniel Drake Date: Mon Nov 19 15:29:24 2007 +0000 zd1211rw: Add ID for Trendnet TEW-429UB A Tested by chloubs on IRC zd1211 chip 157e:300a v4810 high 00-11-e0 AL7230B_RF pa0 g---- Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 459c51ad6e1fc19e91a53798358433d3c08cd09d Author: Daniel Drake Date: Mon Nov 19 15:00:29 2007 +0000 zd1211rw: port to mac80211 This seems to be working smoothly now. Let's not hold back the mac80211 transition any further. This patch ports the existing driver from softmac to mac80211. Many thanks to everyone who helped out with the porting efforts. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 0765af4493193149505f118d04d9300f0a15c8f5 Author: Holger Schurig Date: Mon Oct 15 12:55:56 2007 +0200 libertas: clean up association debug messages This makes the debug output of all association stuff clearer by: * adding some lbs_deb_enter()/lbs_deb_leave() calls * printing the return level in one place * lower-casing some string Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 1007832103d016d1563fab71d4cf2b057a0bcceb Author: Holger Schurig Date: Thu Nov 15 18:05:47 2007 -0500 libertas: move to uniform lbs_/LBS_ namespace This patch unifies the namespace of variables, functions defines and structures. It does: - rename libertas_XXX to lbs_XXX - rename LIBERTAS_XXX to lbs_XXX - rename wlan_XXX to lbs_XXX - rename WLAN_XXX to LBS_XXX (but only those that were defined in libertas-local *.h files, e.g. not defines from net/ieee80211.h) While passing, I fixed some checkpatch.pl errors too. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 9a62f73b1a3bbd35a6f84fcd6636e672b09981ec Author: John W. Linville Date: Thu Nov 15 16:27:36 2007 -0500 iwlwifi: remove redundant initialization of final_mode Problem identified by Miguel Botón , alternate solution suggested by Zhu Yi , patch by me. :-) Cc: Miguel Botón Cc: Zhu Yi Signed-off-by: John W. Linville commit d3c319f9c8d9ee2c042c60b8a1bbd909dcc42782 Author: Larry Finger Date: Fri Nov 9 16:58:20 2007 -0600 ssb: Remove the old, now unused, data structures The old, now unused, data structures and SPROM extraction routines are removed. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 7797aa384870e3bb5bfd3b6a0eae61e7c7a4c993 Author: Larry Finger Date: Fri Nov 9 16:57:34 2007 -0600 b43legacy: Convert to use of the new SPROM structure The b43legacy driver is modified to use the new SPROM structure. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 95de2841aad971867851b59c0c5253ecc2e19832 Author: Larry Finger Date: Fri Nov 9 16:57:18 2007 -0600 b43: Convert to use of the new SPROM structure The b43 driver is modified to use the new SPROM structure. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 458414b2e3d9dd7ee4510d18c119a7ccd3b43ec5 Author: Larry Finger Date: Fri Nov 9 16:56:10 2007 -0600 b44: Convert to use of the new SPROM structure The b44 driver is changed to use the new SPROM data structure. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit c272ef4403c271799a7f09a4ab7a236c86643843 Author: Larry Finger Date: Fri Nov 9 16:56:25 2007 -0600 ssb: Convert to use of the new SPROM structure In disagreement with the SPROM specs, revision 3 devices appear to have moved the MAC address. Change ssb to handle the revision 4 SPROM, which is a different size. This change in size is handled by adding a new variable to the ssb_sprom struct and using it whenever possible. For those routines that do not have access to this structure, a 'u16 size' argument is added. The new PCI_ID for the BCM4328 is also added. Testing of the Revision 4 SPROM, which is used on the BCM4328, was done by Michael Gerdau . Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit ac82fab44f6b981e3f6b53784e2f23838f4908e1 Author: Larry Finger Date: Fri Nov 9 16:54:45 2007 -0600 ssb: Add new SPROM structure while keeping the old The SPROM's for various devices utilizing the Sonics Silicon Backplane come with various revisions. The Revision 2 SPROM inherited the data layout of 1, and Revision 3 inherited the layout of 2. The first instance of Revision 4 has now been found in a BCM4328 wireless LAN card. This device does not inherit any layout from previous versions. Although it was possible to create a data structure that kept all the old layouts, we decided to start fresh, keep only those SPROM variables that are used by the drivers that utilize ssb, and to do the conversion in such a manner that neither compilation or execution will be affected if a bisection lands in the middle of these changes, while keeping the patches as small as possible. In this patch, the sprom structures are changed while maintaining the old ones. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 3957ccb56e17ca839265ccb292c4c6850dcf5d32 Author: Ivo van Doorn Date: Mon Nov 12 15:02:40 2007 +0100 rt2x00: Move duplicate code into rt2x00pci_txdone() rt2400pci, rt2500pci and rt61 require different txdone handling, but the code that pushes the frame upstream and cleans up the entry is identical to all of them. This will create the function rt2x00pci_txdone() to remove the duplicate code. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 797a54c68e0eb551c60e3dc843627f967919a951 Author: Zhu Yi Date: Mon Nov 12 11:37:43 2007 +0800 iwl4965: fix rxon flags set to wrong value for A mode in .erp_ie_changed The patch fixes a bug that enables RXON_FLG_TGG_PROTECT_MSK erroneously for A mode in the erp_ie_changed mac80211 callback. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 7223e8d900d415fe128152d7a4061501b7593d37 Author: Frank Lichtenheld Date: Mon Nov 12 11:12:52 2007 +0100 b43: silence a bogus gcc warning use uninitialized_var() to avoid the following bogus warning: CC [M] drivers/net/wireless/b43/debugfs.o drivers/net/wireless/b43/debugfs.c: In function ‘b43_debugfs_read’: drivers/net/wireless/b43/debugfs.c:355: warning: ‘ret’ may be used uninitialized in this function Signed-off-by: Michael Buesch Signed-off-by: Frank Lichtenheld Signed-off-by: John W. Linville commit 59f1b154653d961d3ace72a4a5311c395cf7d779 Author: Stefano Brivio Date: Thu Nov 8 00:28:00 2007 +0100 b43legacy: fix kconfig dependecies for rfkill and leds Fix dependencies for built-in b43legacy. The patch to b43 by Michael Buesch has been ported to b43legacy. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit 1d43d312a2adeb184c90b11449d5bb3a8f59a3a8 Author: Reinette Chatre Date: Tue Nov 6 22:06:28 2007 -0800 MAINTAINERS: Add Reinette Chatre to iwlwifi & ipw2100/ipw2200 Also fix Zhu Yi's name. Signed-off-by: Reinette Chatre CC: Zhu Yi Signed-off-by: John W. Linville commit 4900d6daadea8b32b8a6312e793977e18343cfe5 Author: Zhu Yi Date: Tue Nov 6 22:06:27 2007 -0800 remove unused iwl4965_init_hw_rates function The patch removes the unused function to fix a recursive bug caused by namespace change. Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit bb8c093bdea62f2ae371b98ebff81b0407852faf Author: Christoph Hellwig Date: Sun Jan 27 16:41:47 2008 -0800 iwlwifi: cleanup namespace Prefix all symbols with iwl3945_ or iwl4965_ and thus allow building the driver into the kernel. Also remove all the useless default statements in Kconfig while we're at it. Signed-off-by: Christoph Hellwig Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 403ab56b1c2786b0e1d58c27f5ce667b529c7faa Author: Mohamed Abbas Date: Tue Nov 6 22:06:25 2007 -0800 iwl4965: fix cannot find a suitable rate issue This patch fixes the iwl4965 problem for "Can not find a suitable rate issues." by making rs_switch_to_mimo and rs_switch_to_siso functions return -1 when CONFIG_IWL4965_HT is not selected. They used to return 0, which means we can switch to HT rate causing the rate scale problem and the error message. The patch also fix another bug reported by Ben Cahill that it uses wrong value for max_success_limit. Signed-off-by: Mohamed Abbas Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3567c11d7212cd9d29a16c39b4f2da86c4f94aee Author: Zhu Yi Date: Tue Nov 6 22:06:24 2007 -0800 iwlwifi: replace 0x8086 with PCI_VENDOR_ID_INTEL Replace 0x8086 with PCI_VENDOR_ID_INTEL for PCI_DEVICE declaration. Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 1f21ad2a4f7f66855dae600ddd635ff5fb299bbd Author: Stefano Brivio Date: Tue Nov 6 22:49:20 2007 +0100 b43/b43legacy: fix my copyright notices Fix my copyright notices in b43 and b43legacy. Signed-off-by: Stefano Brivio Cc: Michael Buesch Signed-off-by: John W. Linville commit 61bca6eb85c863603d6054530e2f65c3b9aba85b Author: Stefano Brivio Date: Tue Nov 6 22:49:05 2007 +0100 b43: rewrite A PHY initialization Rewrite and sync A PHY initialization with specs, thus allowing for further work to be done on 802.11a support. Note that A PHY initialization involves G PHYs as well. Signed-off-by: Stefano Brivio Acked-by: Michael Buesch Signed-off-by: John W. Linville commit db9683fb19a0f0da1cb4c296ffe1a8db03333cbc Author: Stefano Brivio Date: Tue Nov 6 22:48:45 2007 +0100 b43legacy: rewrite and fix rfkill initialization The rfkill subsystem doesn't like code like that rfkill_allocate(); rfkill_register(); rfkill_unregister(); rfkill_register(); /* <- This will crash */ This sequence happens with modprobe b43 ifconfig wlanX up ifconfig wlanX down ifconfig wlanX up Fix this by always re-allocating the rfkill stuff before register. The patch to b43 by Michael Buesch has been ported to b43legacy. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit 33a3dc9328ce3a89d3490a47197851f5dac4b6b5 Author: Stefano Brivio Date: Tue Nov 6 22:48:25 2007 +0100 b43legacy: use a consistent naming scheme for the ops Use a consistent naming scheme for the ops. The patch to b43 by Michael Buesch has been ported to b43legacy. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit 0a6e1bee5770a6d4c4569a4720614402ab5f9d7a Author: Stefano Brivio Date: Tue Nov 6 22:48:12 2007 +0100 b43legacy: use the retry limits provided by mac80211 Use the retry limits provided by mac80211. The patch to b43 by Michael Buesch has been ported to b43legacy. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit 43831b1581031991357385dd6c0762c06a3a62ab Author: Thomas Bogendoerfer Date: Sat Nov 24 13:29:19 2007 +0100 SGISEEQ: use cached memory access to make driver work on IP28 SGI IP28 machines would need special treatment (enable adding addtional wait states) when accessing memory uncached. To avoid this pain I changed the driver to use only cached access to memory. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Jeff Garzik commit b0cd2f9016f75eb8a9fdc45d32f9b41fb16d48c9 Author: Olof Johansson Date: Wed Nov 28 20:58:25 2007 -0600 pasemi_mac: Don't enable RX/TX without a link (if possible) pasemi_mac: Don't enable RX/TX without a link (if possible) Don't enable RX/TX of packets until we have a link, since there's a chance we'll just get RX frame errors, etc. The case where we don't have a PHY we can't do much about: Just enable it and deal with errors as they come in. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 8304b633c5e8c9ba34d3cc7f24f52434d3a3b93b Author: Olof Johansson Date: Wed Nov 28 20:58:06 2007 -0600 pasemi_mac: Print warning when not attaching to a PHY pasemi_mac: Print warning when not attaching to a PHY Print a warning on the console when not connecting to a phy for an interface. It turns out to be a pretty common problem when someone gets the MDIO info wrong in their device tree, resulting in the macs running at a fixed 1Gbit FD. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 5d8949448b68b3b355036c8061e3282388826ec5 Author: Olof Johansson Date: Wed Nov 28 20:57:56 2007 -0600 pasemi_mac: Remove SKB copy/recycle logic pasemi_mac: Remove SKB copy/recycle logic It doesn't really buy us much, since copying is about as expensive as the allocation in the first place. Just remove it for now. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 7e9916e9ddf23cd08107ed1a7fac429eea619313 Author: Olof Johansson Date: Wed Nov 28 20:57:45 2007 -0600 pasemi_mac: SKB unmap optimization pasemi_mac: SKB unmap optimization Avoid touching skb_shinfo() in the unmap path, since it turns out to normally cause cache misses and delays. instead, save number of fragments in the TX_RING_INFO structures since that's all that's needed anyway. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 28ae79f531014bb3ad95b6efa0e0603069087bc5 Author: Olof Johansson Date: Wed Nov 28 20:57:27 2007 -0600 pasemi_mac: Software-based LRO support pasemi_mac: Software-based LRO support Implement LRO for pasemi_mac. Pretty straightforward. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 906674abab0424b466a2db4bb6a890a8c477b10a Author: Olof Johansson Date: Wed Nov 28 20:57:09 2007 -0600 pasemi_mac: Improve RX interrupt mitigation pasemi_mac: Improve RX interrupt mitigation Currently the receive side interrupts will go off on the reception of a packet, NAPI will poll the ring and keep polling as long as there's a decent amount of packets to receive. This is less than optimal, especially for LRO where it's better if we have a more substantial amount of packets to process at once, to get the real LRO benefits. So, set the count threshold to a higher value and use the timeout feature that will give us an interrupt even if not enough packets have come in to set off the count threshold. FIXME: It'd be real nice to have ethtool support for users to tune this at runtime. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 61cec3bddc79373a246e2f8eb13e5acdc106f46a Author: Olof Johansson Date: Wed Nov 28 20:56:54 2007 -0600 pasemi_mac: Fix TX cleaning pasemi_mac: Fix TX cleaning This is a bit awkward. We don't have a timer-delayed interrupt on TX complete, but we have a count threshold. So set that reasonably high (32 packets), and schedule the NAPI poll when it goes off. Also bump a regular timer that will take care of rotting packets for the last 1..31 ones in case we don't trigger a TX interrupt (and there's no RX activity that would otherwise trigger the poll). The longer-term fix is to separate TX from RX NAPI and do two separate poll loops. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 5c15332bed4c59fff6423f08ef6bd6894af38a99 Author: Olof Johansson Date: Wed Nov 28 20:56:41 2007 -0600 pasemi_mac: performance tweaks pasemi_mac: performance tweaks * Seems like we do better with a smaller RX ring, probably because chances of still having the SKB cached are better * Const-ify variables to get better code generation and fewer reloads * Move prefetching around a little, and try to prefetch the whole SKB * Set NETIF_F_HIGHDMA * Misc other minor tweaks Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 34c20624ce541f8a7ff937f474af51f9044cedd7 Author: Olof Johansson Date: Wed Nov 28 20:56:32 2007 -0600 pasemi_mac: Convert to new dma library pasemi_mac: Convert to new dma library Convert the pasemi_mac driver to the new platform global DMA manaagement library. This also does a couple of other minor cleanups w.r.t. channel management. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 8ee9d85779356c1dc2ba87aca27fbf9414f2d82b Author: Olof Johansson Date: Wed Nov 28 20:56:20 2007 -0600 pasemi: DMA engine management library pasemi: DMA engine management library Introduce a DMA management library to manage the various DMA resources on the PA Semi SoCs. Since several drivers need to allocate these shared resources, provide some abstractions as well as allocation/free functions for channels, etc. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 40afa5315823761b174926235dc38be24dc3ea63 Author: Olof Johansson Date: Wed Nov 28 20:56:04 2007 -0600 pasemi_mac: Move register definitions to include/asm-powerpc pasemi_mac: Move register definitions to include/asm-powerpc Move the common register formats and descriptor layouts from drivers/net/pasemi_mac.h to include/asm-poewrpc/pasemi_dma.h Previously only the ethernet driver was using them, but other drivers are coming up that will also use them, so it makes sense to share the constants. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 72b05b9940f00fbfd71a1cb8ea80eb2cc1f90255 Author: Olof Johansson Date: Wed Nov 28 20:54:28 2007 -0600 pasemi_mac: RX/TX ring management cleanup pasemi_mac: RX/TX ring management cleanup Prepare a bit for supporting multiple TX queues by cleaning up some of the ring management and shuffle things around a bit. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 5f06eba4dce361bfc077868d044768476b41d698 Author: Stephen Hemminger Date: Wed Nov 28 14:50:16 2007 -0800 sky2: rx allocation threshold change When using larger MTU's sky2 driver changes from allocating one data area, to using multiple pages. The threshold for this was based on a heuristic where the cost of a single allocation is bigger than one page. Since the allocator has changed, this heuristic is now incorrect; instead just make the threshold be when the total size of the allocation is greater than one page. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit f03b865491c2f30f2a4d77cdafc69c978ceb38a0 Author: Stephen Hemminger Date: Wed Nov 28 14:27:03 2007 -0800 sky2: align IP header on Rx if possible The sky2 driver was not aligning the IP header on receive buffers. This workaround is only needed on hardware with broken FIFO, newer chips without FIFO can just DMA to unaligned address. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 5ac5d616327bdbdf632bdf4dc9ae09477f79b6b3 Author: Francois Romieu Date: Wed Nov 28 23:02:33 2007 +0100 r6040: cleanups - whitespaces vs tabs - use 80 cols - use if_mii - use netdev_priv - remove useless cast to void * - PCI device id does not need to be globally available Signed-off-by: Francois Romieu commit e6a9ea105222ad588d680b5e67dddb02dad3667a Author: Francois Romieu Date: Wed Nov 28 22:55:36 2007 +0100 r6040: erroneous dev->priv Signed-off-by: Francois Romieu commit 6c3231035d7ec31b3830daebd4c742e0b7471661 Author: Francois Romieu Date: Wed Nov 28 22:31:00 2007 +0100 r6040: remove virt_to_bus Signed-off-by: Francois Romieu commit 5125a786680df0d6d31aad53bc23e19f51a30509 Author: Francois Romieu Date: Wed Nov 28 21:36:22 2007 +0100 r6040: compile error drivers/net/r6040.c: In function 'rx_buf_alloc': drivers/net/r6040.c:262: warning: passing argument 2 of 'pci_map_single' makes pointer from integer without a cast Signed-off-by: Francois Romieu commit bd5a93462093305a9ea7abd888a16c8c83e4bdc2 Author: Komuro Date: Sun Nov 11 11:04:36 2007 +0900 axnet_cs: use spin_lock_irqsave instead of spin_lock + disable_irq Signed-off-by: Komuro Signed-off-by: Jeff Garzik commit 2eab17ab880ad8d570d27517e6c9d9fe74adc214 Author: Jeff Garzik Date: Fri Nov 23 21:59:45 2007 -0500 drivers/net/cxgb3: trim trailing whitespace Signed-off-by: Jeff Garzik commit afefce66a5c73aef597074b184b83a4df9704afd Author: Divy Le Ray Date: Fri Nov 16 11:22:21 2007 -0800 cxgb3 - Fix I/O synchronization Synchronize memory access before ringing the Tx door bell. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit a2604be5488095657aeb1a09c3f08d9f760132ec Author: Divy Le Ray Date: Fri Nov 16 11:22:16 2007 -0800 cxgb3 - HW set up updates Disable PEX errors. The HW generates false positives. Update RSS hash function to a symmetric algorithm. Update T3C HW support Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 3e5192eec8faf1df77514d2a593d14cc851a6b43 Author: Divy Le Ray Date: Fri Nov 16 11:22:10 2007 -0800 cxgb3 - sysfs methods clean up Remove unused argument in sysfs methods Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 23561c944781f2c888b12b5109da676187620805 Author: Divy Le Ray Date: Fri Nov 16 11:22:05 2007 -0800 cxgb3 - fix interaction with pktgen Do not use skb->cb to stash unmap info, save the info to the descriptor state. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 273fa9042c44790388de7e2a1dab9a1164dd9d17 Author: Divy Le Ray Date: Fri Nov 16 11:22:00 2007 -0800 cxgb3 - FW upgrade Bump up FW version to 5.0. Do not downgrade FW within the same major version range. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 91a6b50cf680cd693ee0faaab18a0b7383814d6b Author: Divy Le Ray Date: Fri Nov 16 11:21:55 2007 -0800 cxgb3 - Add EEH support Add PCI recovery support Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 67d92ab765a29cd18674b2b87e9f931782a245e3 Author: Divy Le Ray Date: Fri Nov 16 11:21:50 2007 -0800 cxgb3 - Fix resources release. Remove sysfs entries before unregistering the net devices. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 678771d6f5242573fe4eb9fc14f7479646d52cf6 Author: Divy Le Ray Date: Fri Nov 16 14:26:44 2007 -0800 cxgb3 - Use wild card for PCI subdevice ID match Subdevice ID is not necessarily set to 1. Use wild card for PCI device matching Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 42256f57d894a4e4aa5af42d04191d7a12f10df9 Author: Divy Le Ray Date: Fri Nov 16 11:21:39 2007 -0800 cxgb3 - fix MSI-X failure path Return error code when msi-x settings fail. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit cba0516ddb9153afdc0ffffb9124f5f12a3b6ae5 Author: Jeff Garzik Date: Fri Nov 23 21:50:34 2007 -0500 [netdrvr] checkpatch cleanups Signed-off-by: Jeff Garzik commit 93a3b607e6eff7880959149a581d90c71887eb19 Author: Jeff Garzik Date: Fri Nov 23 21:50:20 2007 -0500 wireless: checkpatch cleanups Signed-off-by: Jeff Garzik commit 092427be8cef341c957a93ec2469890501a09bff Author: Jeff Garzik Date: Fri Nov 23 21:49:27 2007 -0500 drivers/net/r6040: fix obvious problems (but more remain) - checkpatch fixes - fix bogus and uninitialized return codes in r6040_start_xmit() - netdev_get_settings() fix obvious locking bug flagged by compiler warning - set DMA consistent mask - remove unnecessary setting of dev->base_addr Signed-off-by: Jeff Garzik commit 4790654c71b250018ecc234f6b9f1ed96a55572d Author: Jeff Garzik Date: Fri Nov 23 21:23:36 2007 -0500 [netdrvr] netxen: checkpatch fixes (98% trim trailing whitespace) Signed-off-by: Jeff Garzik commit ba734f349d5ba02a736e2d574584c56cd21bad14 Author: Peter Korsgaard Date: Thu Nov 15 11:10:12 2007 +0100 dm9601: Consolidate common parts of dm_write_*_async dm_write_async and dm_write_reg_async are almost identical. Move common functionality to dm_write_async_helper (saves ~256b). Signed-off-by: Peter Korsgaard Signed-off-by: Jeff Garzik commit 9ce6cf25538de8036793a7e517674ede86e41f00 Author: Alan Cox Date: Mon Nov 19 15:03:38 2007 +0000 slip: Drag kicking and screaming into coding style compliance Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit a35f5de776cd2389603c2fd421eac7acaf07bd87 Author: Alan Cox Date: Mon Nov 19 15:02:32 2007 +0000 3c501: Bring into compliance with the coding style 3c501 leads the way... 8) Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 68d579fb93df0db0442f90106b19a8dc701ecef1 Author: Adrian Bunk Date: Wed Nov 21 15:02:55 2007 -0800 drivers/net/chelsio/: #if 0 unused functions This patch #if 0's the following unused functions: - espi.c:t1_espi_set_misc_ctrl() - sge.c:t1_sched_set_max_avail_bytes() - sge.c:t1_sched_set_drain_bits_per_us() Signed-off-by: Adrian Bunk Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 2450022afa9f140464c934ecb28c45583335672a Author: Joe Perches Date: Mon Nov 19 17:48:28 2007 -0800 drivers/net: Add missing "space" Signed-off-by: Joe Perches Signed-off-by: Jeff Garzik commit 60403fdadabdf1bb1a0f0e2a482860be1c45904f Author: Joe Perches Date: Mon Nov 19 17:48:25 2007 -0800 drivers/net/sk98lin: Add missing "space" Signed-off-by: Joe Perches Signed-off-by: Jeff Garzik commit 93ab8e84dec242b868ec2e2ae42cb55a46b8c598 Author: Joe Perches Date: Mon Nov 19 17:48:26 2007 -0800 drivers/net/wan: Add missing "space" Signed-off-by: Joe Perches Signed-off-by: Jeff Garzik commit 5bc51424b4d1c1121fb8861620f14262d828d1d9 Author: Joe Perches Date: Mon Nov 19 17:48:24 2007 -0800 drivers/net/netxen: Add missing "space" Signed-off-by: Joe Perches Signed-off-by: Jeff Garzik commit 8c5863a406d6b7d92d84832d9b223aed6dff85de Author: Joe Perches Date: Mon Nov 19 17:48:23 2007 -0800 drivers/net/ixgb: Add missing "space" Signed-off-by: Joe Perches Signed-off-by: Jeff Garzik commit f07b2e403b563d42693e02fd17956c31d3aeff1d Author: Joe Perches Date: Mon Nov 19 17:48:22 2007 -0800 drivers/net/cxgb3: Add missing "space" Signed-off-by: Joe Perches Signed-off-by: Jeff Garzik commit 31067527685ab8c6bea23aab6511f568c426d311 Author: Joe Perches Date: Mon Nov 19 17:48:21 2007 -0800 drivers/net/chelsio: Add missing "space" Signed-off-by: Joe Perches Signed-off-by: Jeff Garzik commit a2fbb9ea235467b0be6db3cec0132b6c83c0b9fb Author: Eliezer Tamir Date: Thu Nov 15 20:09:02 2007 +0200 add bnx2x driver for BCM57710 Signed-off-by: Eliezer Tamir Signed-off-by: David S. Miller commit faa4f7969f3340606f46515560ce193d9bd74ea4 Author: Sreenivasa Honnur Date: Thu Jan 24 01:45:43 2008 -0800 [S2IO]: Support for add/delete/store/restore ethernet addresses - Support to add/delete/store/restore 64 and 128 Ethernet addresses for Xframe I and Xframe II respectively. Signed-off-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit db0ce50d3792e993a1b24f16fb70153eccf38f33 Author: Patrick McHardy Date: Tue Nov 13 20:54:59 2007 -0800 [E1000]: Secondary unicast address support Add support for configuring secondary unicast addresses. Unicast addresses take precendece over multicast addresses when filling the exact address filters to avoid going to promiscous mode. When more unicast addresses are present than filter slots, unicast filtering is disabled and all slots can be used for multicast addresses. Signed-off-by: Patrick McHardy Signed-off-by: Auke Kok Signed-off-by: David S. Miller commit 2a88719197bde746006c18ebe8f3576c87991419 Author: Joe Perches Date: Tue Nov 13 20:53:51 2007 -0800 [E1000E]: convert register test macros to functions Add functions for reg_pattern_test and reg_set_and check Changed macros to use these functions Compiled x86, untested Size decreased ~2K old: $ size drivers/net/e1000e/ethtool.o text data bss dec hex filename 14461 0 0 14461 387d drivers/net/e1000e/ethtool.o new: $ size drivers/net/e1000e/ethtool.o text data bss dec hex filename 12498 0 0 12498 30d2 drivers/net/e1000e/ethtool.o Signed-off-by: Joe Perches Signed-off-by: Auke Kok Signed-off-by: David S. Miller commit 7e64300a0f335e443aa39ee477c541e34a69ae52 Author: Joe Perches Date: Tue Nov 13 20:52:05 2007 -0800 [E1000]: Convert regtest macro's to functions Minimal macro to function conversion in e1000_ethtool.c Adds functions reg_pattern_test and reg_set_and_check Changes REG_PATTERN_TEST and REG_SET_AND_CHECK macros to call these functions. Saves ~2.5KB Compiled x86, untested (no hardware) old: $ size drivers/net/e1000/e1000_ethtool.o text data bss dec hex filename 16778 0 0 16778 418a drivers/net/e1000/e1000_ethtool.o new: $ size drivers/net/e1000/e1000_ethtool.o text data bss dec hex filename 14128 0 0 14128 3730 drivers/net/e1000/e1000_ethtool.o Signed-off-by: Joe Perches Signed-off-by: Auke Kok Signed-off-by: David S. Miller commit ef90e4eca9fcade05dd03f853df75cf459a75422 Author: Auke Kok Date: Tue Nov 13 20:49:15 2007 -0800 [E1000]: update netstats traffic counters realtime formerly e1000/e1000e only updated traffic counters once every 2 seconds with the register values of bytes/packets. With newer code however in the interrupt and polling code we can real-time fill in these values in the netstats struct for users to see. Signed-off-by: Auke Kok Signed-off-by: David S. Miller commit 419886927796dfeca87c1fd11d1fe2ed442103cc Author: Auke Kok Date: Tue Nov 13 20:48:36 2007 -0800 [E1000E]: update netstats traffic counters realtime formerly e1000/e1000e only updated traffic counters once every 2 seconds with the register values of bytes/packets. With newer code however in the interrupt and polling code we can real-time fill in these values in the netstats struct for users to see. Signed-off-by: Auke Kok Signed-off-by: David S. Miller commit 9a6c686799346b6c95405c9e051f5023873504fa Author: Jay Vosburgh Date: Tue Nov 13 20:25:48 2007 -0800 [BONDING]: Documentation update Update the bonding documentation: more discussion on initialization and configuration, changes to discussion of packet reordering in balance-rr, update some out of date information. Based in part on input from Rick Jones and Andy Gospodarek . Signed-off-by: Jay Vosburgh Acked-by: Andy Gospodarek Signed-off-by: David S. Miller commit 7a47dd7a2f178cc4e87d584b0469eef4b58b7aea Author: Sten Wang Date: Mon Nov 12 21:31:11 2007 -0800 [NET]: Add support for the RDC R6040 Fast Ethernet controller This patch adds support for the RDC R6040 MAC we can find in the RDC R-321x System-on-chips. Signed-off-by: Sten Wang Signed-off-by: Daniel Gimpelevich Signed-off-by: Florian Fainelli commit 7734f6e6bcd7ba78b00e93e74a4ddafd9886cdea Author: David Acker Date: Thu Nov 8 10:17:41 2007 -0800 Fix e100 on systems that have cache incoherent DMA On the systems that have cache incoherent DMA, including ARM, there is a race condition between software allocating a new receive buffer and hardware writing into a buffer. The two race on touching the last Receive Frame Descriptor (RFD). It has its el-bit set and its next link equal to 0. When hardware encounters this buffer it attempts to write data to it and then update Status Word bits and Actual Count in the RFD. At the same time software may try to clear the el-bit and set the link address to a new buffer. Since the entire RFD is once cache-line, the two write operations can collide. This can lead to the receive unit stalling or interpreting random memory as its receive area. The fix is to set the el-bit on and the size to 0 on the next to last buffer in the chain. When the hardware encounters this buffer it stops and does not write to it at all. The hardware issues an RNR interrupt with the receive unit in the No Resources state. Software can write to the tail of the list because it knows hardware will stop on the previous descriptor that was marked as the end of list. Once it has a new next to last buffer prepared, it can clear the el-bit and set the size on the previous one. The race on this buffer is safe since the link already points to a valid next buffer and the software can handle the race setting the size (assuming aligned 16 bit writes are atomic with respect to the DMA read). If the hardware sees the el-bit cleared without the size set, it will move on to the next buffer and skip this one. If it sees the size set but the el-bit still set, it will complete that buffer and then RNR interrupt and wait. Signed-off-by: David Acker Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 3627947e84dd2f6dbfd01f796139949f65a43b31 Author: Francois Romieu Date: Thu Nov 1 00:52:13 2007 -0700 sundance: SIOCDEVPRIVATE pollution To quote one of my favorite contemporary author: [include/linux/sockios.h] * THESE IOCTLS ARE _DEPRECATED_ AND WILL DISAPPEAR IN 2.5.X -DaveM */ #define SIOCDEVPRIVATE 0x89F0 /* to 89FF */ [...] Gentoo's snmpd trips up over this code when trying to figure if the driver supports the non-SIOCDEVPRIVATE API or not. One can argue over its choice of heuristic but there no reason to make ioctl more ugly than needed. Signed-off-by: Francois Romieu Cc: Jesse Huang Tested-by: Volker Sauer Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 993fb90c5b1727342362c43ed4e29c26682f54f7 Author: Adrian Bunk Date: Mon Nov 5 18:07:31 2007 +0100 drivers/net/netxen/: cleanups This patch contains the following cleanups: - static functions in .c files shouldn't be marked inline - make needlessly global code static - #if 0 unused code Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 3957d63da0067ad6a7dc8261b7eeb824f9dc42b4 Author: Auke Kok Date: Wed Oct 31 15:22:10 2007 -0700 ixgbe: Fix copper PHY initialization code While cleaning up the internal API focussing on Fiber and CX4 code we found that I had broken the copper PHY initialization code. This patch restores the PHY-specific code. This is mostly uninteresting since no copper PHY boards are yet available. The changes have been tested against Fiber only as I do not even have copper PHY versions of 82598 macs. This change actually cleans up the API code a bit more and we lose some initialization code. A few PHY link detection helper lines of code have been snuck into this patch, as well as a read flush where it was suspected that this might cause issues. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 040babf9d84e7010c457e9ce69e9eb1c27927c9e Author: Auke Kok Date: Wed Oct 31 15:22:05 2007 -0700 e1000/e1000e: Move PCI-Express device IDs over to e1000e e1000e will from now on support the PCI-Express adapters that previously were supported by e1000. This support means better performance and easier debugging from now on for both the old PCI-X/PCI hardware and PCI-Express adapters. This patch also moves 3 recently merged device IDs over to e1000e that are identical to quad-port versions of already existing dual port versions. With this last bit every former e1000 pci-e device should work now with e1000e. Here is a brief list of which gigabit driver to use with which adapter: e1000: 82540 -> 82547 e1000e: 82571 -> 82573 ich8, ich9 (82562 or 82566) es2lan (80003eslan) igb: (not yet merged, only available from e1000.sf.net) 82575 Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 1eae4eb2a1c784bf35ee4f8f158cd21cf8c387c1 Author: Auke Kok Date: Wed Oct 31 15:22:00 2007 -0700 e1000e: Disable L1 ASPM power savings for 82573 mobile variants L1 ASPM link (pci-e link power savings) has significant benefits (~1W savings when link is active) but unfortunately does not work correctly on any of the chipsets that have 82573 on mobile platforms which causes various nuisances: - eeprom reads return garbage information leading to bad eeprom checksums - long ping times (up to 2 seconds) - complete system hangs (freeze/lockup) A lot of T60 owners have been plagued by this, but other mobile solutions also suffer from these symptoms. Disabling L1 ASPM before we activate the PCI-E link fixes all of these issues at the cost of some power consumption. Remove a workaround RDTR adjustment that is no longer needed with this new one. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 93ca161027eb6a1761fb674ad7b995aedccf5f6e Author: Bill Hayes Date: Wed Oct 31 15:21:52 2007 -0700 e1000e: alternate MAC address support Port alternate MAC address support from the sourceforge e1000 driver to the upstream e1000e driver. Signed-off-by: Bill Hayes Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 3df5920c46089b8b1873cb1333248c3e9b01eaf8 Author: Jeff Garzik Date: Sun Nov 4 21:53:26 2007 -0500 [netdrvr] ibmlana: move away from legacy MCA API Signed-off-by: Jeff Garzik commit fbe02d6d8794c30d5cfa301a0b50e603f1036e5b Author: Jeff Garzik Date: Sun Nov 4 21:52:49 2007 -0500 [netdrvr] ibmlana: modularization cleanup * move alloc_netdev() call, register_netdev() call, and associated failure cleanup into ibmlana_probe() * move per-net_device cleanup into ibmlana_remove_one() Signed-off-by: Jeff Garzik commit 28fc1f5a0c375cb6375fa48e9a8b393f2a189be6 Author: Jeff Garzik Date: Mon Oct 29 05:46:16 2007 -0400 [netdrvr] irq handler minor cleanups in several drivers * use irq_handler_t where appropriate * no need to use 'irq' function arg, its already stored in a data struct * rename irq handler 'irq' argument to 'dummy', where the function has been analyzed and proven not to use its first argument. * remove always-false "dev_id == NULL" test from irq handlers * remove pointless casts from void* * declance: irq argument is not const * add KERN_xxx printk prefix * fix minor whitespace weirdness Signed-off-by: Jeff Garzik commit 1b36efe07f83ecf50eddd431d067c7bf86318e87 Author: Jeff Garzik Date: Mon Oct 29 05:20:44 2007 -0400 hamradio/scc: kill unnecessary use of 'irq' function arg Signed-off-by: Jeff Garzik commit ef878b889907f29af1b5f34734f14eca1aa43cf6 Author: Alejandro Martinez Ruiz Date: Thu Oct 18 10:22:02 2007 +0200 sk98lin: kill bogus check and convert to use ARRAY_SIZE() This converts uses of ARRAY_SIZE(), and while at it also kills unreachable code as far as I can say. I can't tell what was the author trying to do with the following check. First we have: PNMI_STATIC const SK_PNMI_STATADDR StatAddr[SK_PNMI_MAX_IDX][SK_PNMI_MAC_TYPES]; and then a check goes like this: if (SK_PNMI_MAX_IDX != (sizeof(StatAddr) / (sizeof(SK_PNMI_STATADDR) * SK_PNMI_MAC_TYPES))) with the second line being just ARRAY_SIZE(StatAddr), which will always return SK_PNMI_MAX_IDX, rendering the check useless. Signed-off-by: Alejandro Martinez Ruiz Signed-off-by: Jeff Garzik commit c00acf46deb18926931ba264510353cf22b98a79 Author: Alejandro Martinez Ruiz Date: Thu Oct 18 10:16:33 2007 +0200 netdev: ARRAY_SIZE() cleanups Convert array size calculations to use ARRAY_SIZE(). Signed-off-by: Alejandro Martinez Ruiz Signed-off-by: Jeff Garzik commit 4c3616cdda0632a3d0e39069765f9ea0e6bd093e Author: Alejandro Martinez Ruiz Date: Thu Oct 18 10:00:15 2007 +0200 netdev: use ARRAY_SIZE() instead of sizeof(array) / ETH_GSTRING_LEN Using ARRAY_SIZE() on arrays of the form array[][K] makes it unnecessary to know the value of K when checking its size. Signed-off-by: Alejandro Martinez Ruiz Signed-off-by: Jeff Garzik commit f59d9782751bf1a2c51e7e1e9f614ffec35fb52e Author: Roel Kluin <12o3l@tiscali.nl> Date: Fri Oct 26 21:51:26 2007 +0200 wireless: fix '!x & y' typo's Fix priority mistakes similar to '!x & y' Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: John W. Linville commit 9f9dac281ba2acd3d6d3574076f86b8f99aaebc0 Author: Holger Schurig Date: Fri Oct 26 10:12:14 2007 +0200 libertas: move wlan_*_association_work from header to c file Move wlan_postpone_association_work() and wlan_cancel_association_work() from a assoc.h file to the sole user, into wext.c. Renamed those two functions to to libertas_XXX as well. Signed-off-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 49df2b33478fd67e642d05786d06de322504842c Author: Jes Sorensen Date: Fri Oct 26 16:10:39 2007 +0200 iwlwifi: disable interrupts before calling request_irq Disable interrupts in the iwl4965 before calling request_irq() for the case that the previous OS or the BIOS left a pending interrupt in the chip. This behavior has been observed on some laptops such as T61 Thinkpads and Toshiba Portege R500 Signed-off-by: Jes Sorensen Signed-off-by: John W. Linville commit eb76bf29dd4aceaf877b8971fbfda8617abe6e05 Author: Dmitry Torokhov Date: Fri Nov 2 01:55:36 2007 -0400 P54: use temporary variables to reduce size of generated code When there are 2 linked structures, using a temporary variable to hold a pointer to the often used structure usually produces better code (smaller and faster) since compiler does not have to constantly re-fetch data from the first structure. Signed-off-by: Dmitry Torokhov Signed-off-by: John W. Linville commit 1b34fd390c340b0554dcda9552f82d77dff8ed23 Author: Matthias Kaehlcke Date: Mon Nov 5 09:41:01 2007 +0100 Prism54: Convert mgmt_sem to the mutex API Signed-off-by: Matthias Kaehlcke Signed-off-by: John W. Linville commit 1e3428e9e327a6e4163b3674b260dbd719f59839 Author: Dan Williams Date: Wed Oct 10 23:56:25 2007 -0400 orinoco: more reliable scan handling Bring scan result handling more in line with drivers like ipw. Scan results are aggregated and a BSS dropped after 15 seconds if no beacon is received. This allows the driver to interact better with userspace where more than one process may request scans or results at any time. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 40faacc4078d0fef6daaf6f5d1d332d08631bdd8 Author: Michael Buesch Date: Sun Oct 28 16:29:32 2007 +0100 b43: consistent naming for ieee80211_ops Use a consistent naming scheme for the ops. Signed-off-by: Michael Buesch Cc: Larry Finger Signed-off-by: John W. Linville commit 74cfdba7ce7b601559a4bcdc9054baf1bdc6948d Author: Michael Buesch Date: Sun Oct 28 16:19:44 2007 +0100 b43: Use the retry limit parameters from mac80211 Use the limits provided by mac80211. Signed-off-by: Michael Buesch Cc: Larry Finger Signed-off-by: John W. Linville commit c6dfc9a8ec236957eea3a1cf4613e90c45e1475b Author: Michael Buesch Date: Sun Oct 28 15:59:58 2007 +0100 b43: Dereference of wl->current_dev must be protected by wl->mutex Put all access to wl->current_dev under protection of the mutex. Signed-off-by: Michael Buesch Cc: Larry Finger Signed-off-by: John W. Linville commit 0c1d379d2ee19b1a20904c3609440c061673f53c Author: Michael Buesch Date: Sun Oct 28 21:08:51 2007 +0100 b43legacy: Remove set_key callback We don't need the set_key callback, as we don't do hw crypto. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit f34eb692acf4dc937f01ea58686ffe1eb6c5eed8 Author: Larry Finger Date: Thu Oct 11 00:05:57 2007 -0500 b43legacy: Rewrite pwork locking Implement much easier and more lightweight locking for the periodic work. This also removes the last big busywait loop and replaces it by a sleeping loop. This patch for b43legacy is patterned aftar the same patch for b43 by Michael Buesch . Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 6be50837e303c53b1e5a0138dfed132ccbabcdad Author: Larry Finger Date: Wed Oct 10 22:48:17 2007 -0500 b43legacy: Use input-polldev for the rfkill switch This removes the direct call to rfkill on an rfkill event and replaces it with an input device. This way userspace is also notified about the event. This patch is the port to b43legacy of a patch for b43 by Michael Buesch . Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 93bb7f3a7bb5c95da10242d9763994a466c90b1d Author: Larry Finger Date: Wed Oct 10 22:44:22 2007 -0500 b43legacy: RF-kill support This adds full support for the RFKILL button and the RFKILL LED trigger. This is a port to b43legacy of a patch by Michael Buesch for b43. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit ba48f7bb8062982ec916868cc8c90360aad82e53 Author: Larry Finger Date: Fri Oct 12 23:04:51 2007 -0500 b43legacy: LED triggers support Drive the LEDs through the generic LED triggers. The patch to b43 by Michael Buesch has been ported to b43legacy. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit c8b0e6e19c0bcd30689cb6c6f64eb140f5d61894 Author: Christoph Hellwig Date: Thu Oct 25 17:15:51 2007 +0800 iwlwifi: cleanup Kconfig and ifdefs to split 3945 and 4965 Currently the iwl3945 & iwl4965 drivers share some common Kconfig symbols. This split it up into options for the individual drivers and gets rid of all the CONFIG_IWLWIFI cruft. Signed-off-by: Christoph Hellwig Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 5d08cd1dfdc57dc834c47eb9f023fcf861f3d6bf Author: Christoph Hellwig Date: Thu Oct 25 17:15:50 2007 +0800 iwlwifi: keep 3945 and 4965 headers separate The iwl3945 and iwl4965 devices share some common structure, but with a lot of difference split all over. Currently the two drivers share a lot of headers and use ugly preprocessor magic to manage the difference. This patch keeps two entirely separate copies of the headers to get rid of these hacks an ease future development. Signed-off-by: Christoph Hellwig Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 416e1438d5a921046fda6fc5673d5f2c69841c06 Author: Christoph Hellwig Date: Thu Oct 25 17:15:49 2007 +0800 iwlwifi: mark more functions/variables static mark more functions/variables static Signed-off-by: Christoph Hellwig Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 80f3e024dcc14f30bff58179ad610f941642901b Author: Zhu Yi Date: Thu Oct 25 17:15:48 2007 +0800 iwlwifi: Update iwlwifi version stamp to 1.1.19 Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 6ff752093302cedac1124b219729c16f48862c30 Author: Zhu Yi Date: Thu Oct 25 17:15:44 2007 +0800 iwlwifi: Update iwlwifi version stamp to 1.1.18 Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit bee488dbd7effea4c4a483b0a336df331066bb3c Author: mabbas Date: Thu Oct 25 17:15:42 2007 +0800 iwl4965: exclude 60M rate from probe request This patch do the following 2 things: 1. Make sure we don't add rate 60M part of supported rate in proble request, some AP does not like that. 2. It is wrong to set priv->active_rate in this function, this will set it to all avialable rates which might overwrite the mode supported rate. priv->active_rate should be set by only from iwl_set_rate. Signed-off-by: Mohamed Abbas Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit d9fd0c9969282609b663a1d933f0777118dd084c Author: Tomas Winkler Date: Thu Oct 25 17:15:41 2007 +0800 iwlwifi: Renames struct fw_image_desc to struct fw_desc This patche shortens the name of struct fw_image_desc to be struct fw_desc. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit b559e66cfc7f99fcd160493a817130d61d4f7015 Author: Emmanuel Grumbach Date: Thu Oct 25 17:15:40 2007 +0800 iwlwifi: add 5965 SCD registers to iwl-prph.h This patch adds SCD registers for 5965 Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 7088310908268eb043b66811b1bb255f3b0cb8fc Author: Emmanuel Grumbach Date: Thu Oct 25 17:15:39 2007 +0800 iwlwifi: move 3945 SCD registers to iwl-prph.h This patch moves 3945 SCD registers to iwl-prph.h. These registers are assigned from the periphery bus Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 67dc320d4719501a0a10d222a670f5a59660505b Author: Emmanuel Grumbach Date: Thu Oct 25 17:15:38 2007 +0800 iwlwifi-ht: move 4965 SCD registers to iwl-prph.h This patch moves 4965 SCD registers to iwl-prph.h. These registers are assigned from the periphery bus Signed-off-by: Emmanuel Grumbach Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit ac17a947a4f47b642097d6814d6dcc60c297eb17 Author: Tomas Winkler Date: Thu Oct 25 17:15:37 2007 +0800 iwlwifi: replacing wording restricted to nic access in iwl-io This patch replaces wording 'restricted' with more appropriate 'nic access' NIC access is grabbed to prevent NIC entering power save mode General cleanup of iwl-io.h Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit af7cca2a441f6e2ebeb2a920ef5af1bec8df96e8 Author: Tomas Winkler Date: Thu Oct 25 17:15:36 2007 +0800 iwlwifi: rename restricted_mem to targ_mem This patch renames restricted_mem suffix with more proper name targ_mem for function accessing memory on the nic in target mode Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit d860965200c867e7e3e81ede8572cffff8c7eb24 Author: Tomas Winkler Date: Thu Oct 25 17:15:35 2007 +0800 iwlwifi: replace restricted_reg with prph This patch renames restricted_reg suffix with more proper name prhp for function accessing registers on the periphery bus. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit a033f37ee4381a3d9fa0cf4ec28a23357080ed50 Author: mabbas Date: Thu Oct 25 17:15:34 2007 +0800 iwlwifi: accept up to 4K frame size on Rx side to fit A-MSDU frame The driver drops any Rx frame larger than 2332 bytes, but with A-MSDU frame, it could be up to 4K. This patch makes sure we can process larger A-MSDU frame. Signed-off-by: Mohamed Abbas Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit c6f3f656e12870b2d3a62bb813515c0966f7f448 Author: Tomas Winkler Date: Thu Oct 25 17:15:32 2007 +0800 iwlwifi: using PCI_DEVICE macro PCI_DEVICE macro is more concise when using defualt values in device definitions Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 12a70fbe57b714a235e68c261267406d6b614574 Author: Tomas Winkler Date: Thu Oct 25 17:15:31 2007 +0800 iwlwifi: remove cck_power_index_compensation cck_power_index_compensation variable was never used Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 3edb059a40469fd058806c47f9f122dfee38b36c Author: Ian Schram Date: Thu Oct 25 17:15:30 2007 +0800 iwlwifi: remove late null-check and duplicate bug_on These pieces of code appear to be useless. The BUG_ON is also performed in iwl_send_cmd_async. Serious karma would be needed to enter iwl_ativate_qos with a null priv. I had a deja vu when patching this, but for the life of me I couldn't track down a similar patch. Signed-off-by: Ian Schram Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit bc434dd2961763d33836f6e2e119e1d4a6325e4d Author: Ian Schram Date: Thu Oct 25 17:15:29 2007 +0800 iwlwifi: Beautify by removing superfluous newlines and code Moving code around, lindent, and whatnot created several places where there appeared to be an 75 column "rule" instead of 80. This patch removes those that I can spot, hopefully increasing readability. Signed-off-by: Ian Schram Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit bbc5807bedd4196d7797821a122f0ac64699de22 Author: Ian Schram Date: Thu Oct 25 17:15:28 2007 +0800 iwlwifi: Two comments in iwl-3945.c were longer than 80 columns This patch shorten two comments lines in iwl-3945.c Signed-off-by: Ian Schram Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 6994633357d3406dcd14e11d6ee61073b2251b72 Author: Tomas Winkler Date: Thu Oct 25 17:15:27 2007 +0800 iwlwifi: remove cck_flag from iwl_driver_hw_info This patch remove cck_flag from iwl_driver_hw_info, this flag is unused after spliting the iwl-base.c Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit f1f1f5c730a3598b36989c63d387d9cab63161c7 Author: Tomas Winkler Date: Thu Oct 25 17:15:26 2007 +0800 iwlwifi: add TGN flag to qos parameters This patch adds TGN flag to QoS parameters. This flag governs enablement of NAV shortening with CF-End and filters in 4 or 8K RX AMSDU packets Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit dc2453ae81785f7e4f48485013b89df0a951421e Author: Tomas Winkler Date: Thu Oct 25 17:15:25 2007 +0800 iwlwifi: rs-4965 fix return values This patch cleans up style of 'return' of rate scale 4965 functions. It renames return name variables rc to ret, change functions to void if no meaningful value was returned it add return of -EINVAL for checks of wrong arguments. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit fc4b6853fb5e729616159d4f17785f089227a8e8 Author: Tomas Winkler Date: Thu Oct 25 17:15:24 2007 +0800 iwlwifi: renaming last_used and first_empty This patch renames queue pointers to write_ptr and read_ptr instead of first_empty and last_used. This is closer to technical terminology we everyday use Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 91e1747384b80813c2a6c7a9d2dd99722d5b9e1e Author: Ian Schram Date: Thu Oct 25 17:15:23 2007 +0800 iwlwifi: rename iwl_eeprom_aqcuire_semaphore to _acquire_ Correct the spelling of aqcuire. Signed-off-by: Ian Schram Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 01ebd063e11bdcf1ddc605d968ea89aef48e34e0 Author: Ian Schram Date: Thu Oct 25 17:15:22 2007 +0800 iwlwifi: fix various spelling and typos Fixing various spelling errors and typos. Mostly in comments. In total 27 words were corrected, some of which occurred more than ones. Signed-Of-By: Ian Schram Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 220173b01266d866009ca075757effad39648529 Author: Tomas Winkler Date: Tue Oct 16 00:50:25 2007 +0200 iwlwifi: Add erp_ie_changed hanlder This patch adds erp_ie_changed handler to iwl4956 Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit a3c7aa58df7df80aa05f166fe3e42482247164cf Author: Ivo van Doorn Date: Sat Oct 27 13:44:08 2007 +0200 rt2x00: Release rt2x00 2.0.12 Version bump. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 2700f8b0489e00cb6eead31e58f5461812dd31a6 Author: Mattias Nissler Date: Sat Oct 27 13:43:49 2007 +0200 rt2x00: Correctly set ACK bit in tx descriptors Add a flag to struct txdata_entry_desc that specifies whether an ack for the frame is to be expected. Use this flag to set the ACK bit in the tx descriptor. Previously, the ACK bit could be set incorrectly on CTS-to-self frames, so they caused retries and were reported to be failed in the txdone handlers. Signed-off-by: Mattias Nissler Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 3d82346c5d0ff0a413c387c6edaadc0ca29a0971 Author: Adam Baker Date: Sat Oct 27 13:43:29 2007 +0200 rt2x00: Place mutex around USB register access There is a buffer, csr_cache which is used to hold copies of data being passed to the USB stack which can get corrupted if multiple threads attempt to access CSR registers simultaneously. There is also the possibility if multiple threads try to access BBP or RF registers for the multiple USB operations needed to get interleaved leading to incorrect results. This patch introduces a mutex to prevent such simultaneous access. The interleaved access problem may also affect the PCI devices but if so that will be handled in a follow-up patch. Signed-off-by: Adam Baker Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 4bd7c452a468af30bb3c4d9c3adcdaf3f3c6048c Author: Ivo van Doorn Date: Thu Jan 24 00:48:03 2008 -0800 rt2x00: Remove data_desc structure Coverty indicated that data_desc with a single element array is bad coding style. This removes the structure and forces everybody to use __le32. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 2676c94d4e5994f92e57fa3ea680f1d652049d03 Author: Mattias Nissler Date: Sat Oct 27 13:42:37 2007 +0200 rt2x00: Rework rt73 antenna selection This patch changes rt73 antenna selection to what I believe is the correct way. It also fixes a small selection bug that switched the antennas by accident. Signed-off-by: Mattias Nissler Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 50794638dc8bcd94b48b10b8bf4381f1049f93cf Author: Ivo van Doorn Date: Sat Oct 27 13:42:18 2007 +0200 rt2x00: Remove unused variables With the updated antenna setup the following variables are no longer used. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit acaa410d06e057ed4d8d3926ec4f3cdcdf1ab37f Author: Mattias Nissler Date: Sat Oct 27 13:41:53 2007 +0200 rt2x00: Rework rt61 antenna selection. This patch changes rt61 antenna selection again. It helps at least with the rt61 pci card in my box, I hope I haven't broken behaviour on other RF chips. RF 2529 antenna setup is incomplete, we need to at code for diversity when we figure out how it is done properly. Signed-off-by: Mattias Nissler Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 0e14f6d3e088473b411d35ff63737e46efb9e6df Author: Adam Baker Date: Sat Oct 27 13:41:25 2007 +0200 rt2x00: Unconstify rt2x00dev Some register accesses need rt2x00dev to be non-const they all need modifying so the prototype is consistent. Signed-off-by: Adam Baker Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit d9890b8f45158970f3418d0c9c0b3bfde13d3a4f Author: Ivo van Doorn Date: Sat Oct 27 13:40:51 2007 +0200 rt2x00: Detect initial rfkill state on register When registering rfkill, make sure a initial poll event is directly executed to detect the initial rfkill state and send the event to the rfkill layer. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 4300beb47dd96ccaf5fa1a7550f6f6f15d045b30 Author: Ivo van Doorn Date: Sat Oct 27 13:40:25 2007 +0200 rt2x00: Input-polldev requires input device input-polldev requires a correctly allocated and initialized input device to be set for the input_polled_dev->input field. Failure to do that will prevent correct polling of the device. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit e4cd2ff89f91b0556a2e2d928219b2908cafd67f Author: Ivo van Doorn Date: Sat Oct 27 13:39:57 2007 +0200 rt2x00: Split rt61/rt73 antenna selection into RX and TX antenna Based on investigation of the legacy drivers, I have made the following assumptions of the antenna setup: - R77 is the TX antenna configuration - RF2529 fetches default antenna selection from NIC eeprom word With these assumptions we can change the antenna configuration to correctly read both antenna setup values and correctly configure the antenna. And we can now also configure the antenna for RF2529 without a double antenna. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit e25c4bb913e54d729631ba7eb50daf1d9aacbef6 Author: Ivo van Doorn Date: Sat Oct 27 13:39:28 2007 +0200 rt2x00: Disable RX when switching antenna Antenna switching will be ignored when RX is enabled during the switch. Make sure we disable the RX during the switch and don't forget to reenable it later. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 2d68de3efa62655d551092f5c787505735d561ad Author: Ivo van Doorn Date: Sat Oct 13 16:27:16 2007 +0200 [PATCH] rt2x00: Release rt2x00 2.0.11 Version bump. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 16b1951f53c6097d7355e76ed9ca64b056f88f31 Author: Mattias Nissler Date: Sat Oct 13 16:26:57 2007 +0200 [PATCH] rt2x00: Fix antenna selection. In the config() handler, make sure that we do configure an antenna if the current active antenna is uninitialized. Furthermore, don't overwrite the active antenna with bogus values if we didn't touch the antenna setup. Signed-off-by: Mattias Nissler Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit ddc827f93a2f2a7dcfda5b691d046af4dfe76427 Author: Ivo van Doorn Date: Sat Oct 13 16:26:42 2007 +0200 [PATCH] rt2x00: Cleanup if-statements Cleanup if-statements for simple 1/0 register field values. This also fixes a endian bug in rt2500usb when working with the PHY_CSR2 initialization. As well as a bug in the enabling of the LED in rt73usb. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 69f81a2cac860cf183eb9ef7787525c3552d4612 Author: Ivo van Doorn Date: Sat Oct 13 16:26:36 2007 +0200 [PATCH] rt2x00: Implement SW diversity When mac80211 indicates that the default antenna setup should be used _and_ that this default setup is SW_DIVERSITY. This requires sampling and storing the RSSI per antenna and check once every 2 seconds to determine if the RSSI has changed significantly. Once this is the case we should sample the other antenna for a short period and evaluate if we need to swap antenna or not. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 8de8c5162b157884aa4855564cbfd9ec9119c819 Author: Ivo van Doorn Date: Sat Oct 13 16:26:32 2007 +0200 [PATCH] rt2x00: Remove rt2x00_clear_link rt2x00_clear_link() was becoming too large for statically inline, also it was used on a single location and shouldn't really be used anywhere else. So move the entire code into the function rt2x00lib_start_link_tuner() Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 39e75857d08fe35ffad4dd9004580acf0d725b75 Author: Ivo van Doorn Date: Sat Oct 13 16:26:27 2007 +0200 [PATCH] rt2x00: SW diversity should default to antenna B Although ANTENNA_SW_DIVERSITY should never be send to the driver, we should still handle it to prevent bugs. But instead of defaulting to ANTENNA_HW_DIVERSITY we should default to ANTENNA_B instead. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit addc81bd428f9eb29ed2ab64ad4039c6aed55aea Author: Ivo van Doorn Date: Sat Oct 13 16:26:23 2007 +0200 [PATCH] rt2x00: Correctly translate mac80211 antenna setup to rt2x00 mac80211 has 3 values for the antenna setup: 0 - default 1 - use antenna 1 2 - use antenna 2 This means that rt2x00 should store the default value from the EEPROM somwhere and use that when mac80211 indicates that the antenna setup is 0. This also implies that rt2x00 should no longer write the hw->config.antenna_sel_* values based on the EEPROM input. This also adds the basis in rt2x00lib for correct software diversity handling. By default rt2x00lib will now configure antenna B instead of hardware diversity. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 362f3b6bfbb18b4b8bd8a8ef391fb95efb43c632 Author: Ivo van Doorn Date: Sat Oct 13 16:26:18 2007 +0200 [PATCH] rt2x00: Use enum defines When setting the default EEPROM values use the values from the enums instead of "magic" values. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit ebcf26dae9f10e247ea41ef66f89b336ba456097 Author: Ivo van Doorn Date: Sat Oct 13 16:26:12 2007 +0200 [PATCH] rt2x00: Move quality statistics into seperate structure Move all link quality statistics variables into the link_qual structure. This cleans up the link structure and allows us to use it for more then just statistics. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 191df5737e3047de8b7d8ea4e17df241cf8eefca Author: Rami Rosen Date: Fri Jan 18 05:38:31 2008 -0800 [BRIDGE]: Remove unused include of a header file in ebtables.c In net/bridge/netfilter/ebtables.c, - remove unused include of a header file (linux/tty.h) and remove the corresponding comment above it. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 66688ea7c8e5cb3ea987d8945fffd099ce80a299 Author: David S. Miller Date: Fri Jan 18 04:47:58 2008 -0800 [SCTP]: Fix build warning in sctp_sf_do_5_1C_ack(). Reported by Andrew Morton. net/sctp/sm_statefuns.c: In function 'sctp_sf_do_5_1C_ack': net/sctp/sm_statefuns.c:484: warning: 'error' may be used uninitialized in this function Signed-off-by: David S. Miller commit d4fa26ff44e31c2636a985e3092e2cd55d8045de Author: Daniel Lezcano Date: Fri Jan 18 03:58:07 2008 -0800 [NETNS][DST]: Add the network namespace pointer in dst_ops The network namespace pointer can be stored into the dst_ops structure. This is usefull when there are multiple instances of the dst_ops for a protocol. When there are no several instances, this field will be never used in the protocol. So there is no impact for the protocols which do implement the network namespaces. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 569d36452ee26c08523cc9f658901c5188640853 Author: Daniel Lezcano Date: Fri Jan 18 03:56:57 2008 -0800 [NETNS][DST] dst: pass the dst_ops as parameter to the gc functions The garbage collection function receive the dst_ops structure as parameter. This is useful for the next incoming patchset because it will need the dst_ops (there will be several instances) and the network namespace pointer (contained in the dst_ops). The protocols which do not take care of the namespaces will not be impacted by this change (expect for the function signature), they do just ignore the parameter. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit a6501e080c318f8d4467679d17807f42b3a33cd5 Author: Eric Dumazet Date: Fri Jan 18 03:33:26 2008 -0800 [IPV4] FIB_HASH: Reduce memory needs and speedup lookups Currently, sizeof(struct fib_alias) is 24 or 48 bytes on 32/64 bits arches. Because of SLAB_HWCACHE_ALIGN requirement, these are rounded to 32 and 64 bytes respectively. This patch moves rcu to the end of fib_alias, and conditionally defines it only for CONFIG_IP_FIB_TRIE. We also remove SLAB_HWCACHE_ALIGN requirement for fib_alias and fib_node objects because it is not necessary. (BTW SLUB currently denies it for objects smaller than cache_line_size() / 2, but not SLAB) Finally, sizeof(fib_alias) go back to 16 and 32 bytes. Then, we can embed one fib_alias on each fib_node, to favor locality. Most of the time access to the fib_alias will be free because one cache line contains both the list head (fn_alias) and (one of) the list element. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit b59cfbf77dc8368c2c90b012c79553613f4d70c3 Author: Eric Dumazet Date: Fri Jan 18 03:31:36 2008 -0800 [FIB]: Fix rcu_dereference() abuses in fib_trie.c node_parent() and tnode_get_child() currently use rcu_dereference(). These functions are called from both - readers only paths (where rcu_dereference() is needed), and - writer path (where rcu_dereference() is not needed) To make explicit where rcu_dereference() is really needed, I introduced new node_parent_rcu() and tnode_get_child_rcu() functions which use rcu_dereference(), while node_parent() and tnode_get_child() dont use it. Then I changed calling sites where rcu_dereference() was really needed to call the _rcu() variants. This should have no impact but for alpha architecture, and may help future sparse checks. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 95b7d924a589dbefc7ae2ea6c7144b86b75d6a47 Author: Eric Dumazet Date: Tue Jan 15 03:30:35 2008 -0800 [ROSE]: Supress sparse warnings CHECK net/rose/af_rose.c net/rose/af_rose.c:125:11: warning: expensive signed divide net/rose/af_rose.c:976:46: warning: expensive signed divide net/rose/af_rose.c:1379:13: warning: context imbalance in 'rose_info_start' - wrong count at exit net/rose/af_rose.c:1406:13: warning: context imbalance in 'rose_info_stop' - unexpected unlock CHECK net/rose/rose_in.c net/rose/rose_in.c:185:25: warning: expensive signed divide CHECK net/rose/rose_route.c net/rose/rose_route.c:997:46: warning: expensive signed divide net/rose/rose_route.c:1070:13: warning: context imbalance in 'rose_node_start' - wrong count at exit net/rose/rose_route.c:1093:13: warning: context imbalance in 'rose_node_stop' - unexpected unlock net/rose/rose_route.c:1146:13: warning: context imbalance in 'rose_neigh_start' - wrong count at exit net/rose/rose_route.c:1169:13: warning: context imbalance in 'rose_neigh_stop' - unexpected unlock net/rose/rose_route.c:1229:13: warning: context imbalance in 'rose_route_start' - wrong count at exit net/rose/rose_route.c:1252:13: warning: context imbalance in 'rose_route_stop' - unexpected unlock Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 5c17d5f11212af5f12b91991b1132cf301dd1f28 Author: Eric Dumazet Date: Tue Jan 15 03:29:50 2008 -0800 [ATM]: Suppress some sparse warnings CHECK net/atm/br2684.c net/atm/br2684.c:665:13: warning: context imbalance in 'br2684_seq_start' - wrong count at exit net/atm/br2684.c:676:13: warning: context imbalance in 'br2684_seq_stop' - unexpected unlock CHECK net/atm/lec.c net/atm/lec.c:196:23: warning: expensive signed divide CHECK net/atm/proc.c net/atm/proc.c:151:14: warning: context imbalance in 'vcc_seq_start' - wrong count at exit net/atm/proc.c:154:13: warning: context imbalance in 'vcc_seq_stop' - unexpected unlock Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit ca629f2472762088b105cd6081bf9aaa56d4547d Author: Eric Dumazet Date: Tue Jan 15 03:28:43 2008 -0800 [APPLETALK]: Annotations to clear sparse warnings CHECK net/appletalk/aarp.c net/appletalk/aarp.c:951:14: warning: context imbalance in 'aarp_seq_start' - wrong count at exit net/appletalk/aarp.c:977:13: warning: context imbalance in 'aarp_seq_stop' - unexpected unlock CHECK net/appletalk/atalk_proc.c net/appletalk/atalk_proc.c:34:11: warning: context imbalance in 'atalk_seq_interface_start' - wrong count at exit net/appletalk/atalk_proc.c:54:13: warning: context imbalance in 'atalk_seq_interface_stop' - unexpected unlock net/appletalk/atalk_proc.c:93:11: warning: context imbalance in 'atalk_seq_route_start' - wrong count at exit net/appletalk/atalk_proc.c:113:13: warning: context imbalance in 'atalk_seq_route_stop' - unexpected unlock net/appletalk/atalk_proc.c:161:11: warning: context imbalance in 'atalk_seq_socket_start' - wrong count at exit net/appletalk/atalk_proc.c:178:13: warning: context imbalance in 'atalk_seq_socket_stop' - unexpected unlock Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit c71e9167081a6a0d2a076cda674b696b89bb31c2 Author: Patrick McHardy Date: Mon Jan 14 23:49:37 2008 -0800 [NETFILTER]: nf_conntrack: make print_conntrack function optional for l4protos Allows to remove five empty implementations. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c56cc9c07b049acc9d2ca97be0b540978c0c80bf Author: Patrick McHardy Date: Mon Jan 14 23:49:17 2008 -0800 [NETFILTER]: nf_conntrack: remove print_conntrack function from l3protos Its unused and unlikely to ever be used. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b334aadc3c5cd4dae2a44f3dac09b3ef718ccde1 Author: Patrick McHardy Date: Mon Jan 14 23:48:57 2008 -0800 [NETFILTER]: nf_conntrack: clean up a few header files - Remove declarations of non-existing variables and functions - Move helper init/cleanup function declarations to nf_conntrack_helper.h - Remove unneeded __nf_conntrack_attach declaration and make it static Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4f536522dae9d5326ad1872cd254ee84681cf563 Author: Patrick McHardy Date: Mon Jan 14 23:48:39 2008 -0800 [NETFILTER]: kill nf_sysctl.c Since there now is generic support for shared sysctl paths, the only remains are the net/netfilter and net/ipv4/netfilter paths. Move them to net/netfilter/core.c and net/ipv4/netfilter.c and kill nf_sysctl.c. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 86c0bf4095b35b978540aa43b12840d138a0b376 Author: Patrick McHardy Date: Mon Jan 14 23:48:17 2008 -0800 [NETFILTER]: nf_conntrack_sctp: remove timeout indirection Instead of keeping pointers to the timeout values in a table, simply put the timeout values in the table directly. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9b1c2cfd7a8b3840cf5c99d0560e641ff4a3425b Author: Patrick McHardy Date: Mon Jan 14 23:48:02 2008 -0800 [NETFILTER]: nf_conntrack_sctp: replace magic value by symbolic constant Use SCTP_CHUNK_FLAG_T instead of 0x1. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e37b386c95fff34eb0eebeaf257c4f5a8b69b81f Author: Patrick McHardy Date: Mon Jan 14 23:47:44 2008 -0800 [NETFILTER]: nf_conntrack_sctp: remove unused ttag field from conntrack data Spotted by Pablo Neira Ayuso . Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4a64830af0fd4dbec908cfbab117def5086acd4a Author: Patrick McHardy Date: Mon Jan 14 23:47:25 2008 -0800 [NETFILTER]: nf_conntrack_sctp: don't take sctp_lock once per chunk Don't take and release the lock once per SCTP chunk, simply hold it the entire time while iterating through the chunks. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit efe9f68afeaf2ce12636990a8c811fb1cc23b12b Author: Patrick McHardy Date: Mon Jan 14 23:47:09 2008 -0800 [NETFILTER]: nf_conntrack_sctp: rename "newconntrack" variable The name is misleading, it holds the new connection state, so rename it to "newstate". Also rename "oldsctpstate" to "oldstate" for consistency. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b37e933ac7bdad2d587a6048babb8db2718460de Author: Patrick McHardy Date: Mon Jan 14 23:46:52 2008 -0800 [NETFILTER]: nf_conntrack_sctp: consolidate sctp_packet() error paths Consolidate error paths and use proper symbolic return value instead of magic values. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8528819adc613e0b4bc3e5cb4123b4b33d2b03c4 Author: Patrick McHardy Date: Mon Jan 14 23:46:37 2008 -0800 [NETFILTER]: nf_conntrack_sctp: reduce line length further Eliminate a few lines over 80 characters by using a local variable to hold the conntrack direction instead of using CTINFO2DIR everywhere. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 112f35c9c164e06e038d506dd3eb15e76829ef8a Author: Patrick McHardy Date: Mon Jan 14 23:46:20 2008 -0800 [NETFILTER]: nf_conntrack_sctp: reduce line length Reduce the length of some overly long lines by renaming all "conntrack" variables to "ct". Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 35c6d3cbe1b97b860087f6082e764ac8da2a12b2 Author: Patrick McHardy Date: Mon Jan 14 23:46:05 2008 -0800 [NETFILTER]: nf_conntrack_sctp: use proper types for bitops Use unsigned long instead of char for the bitmap and removed lots of casts. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5447d4777c48218e90844fa6f6e544119075faad Author: Patrick McHardy Date: Mon Jan 14 23:45:48 2008 -0800 [NETFILTER]: nf_conntrack_sctp: basic cleanups Reindent switch cases properly, get rid of weird constructs like "!(x == y)", put logical operations on the end of the line instead of the next line, get rid of superfluous braces. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2d6462869f8c2edca9dbb53ca3b661a52fc4c144 Author: Patrick McHardy Date: Mon Jan 14 23:45:32 2008 -0800 [NETFILTER]: nf_conntrack_tcp: remove timeout indirection Instead of keeping pointers to the timeout values in a table, simply put the timeout values in the table directly. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a5e73c29d9243cc2e889a9d7155f331923eee655 Author: Patrick McHardy Date: Mon Jan 14 23:45:11 2008 -0800 [NETFILTER]: nf_conntrack_{tcp,sctp}: shrink state table The TCP and SCTP conntrack state transition tables only holds small numbers, but gcc uses 4 byte per entry for the enum. Switching to an u8 reduces the size from 480 to 120 bytes for TCP and from 576 to 144 bytes for SCTP. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 77e2420b85573f57c2774775ead81ebb500b803d Author: Patrick McHardy Date: Mon Jan 14 23:44:49 2008 -0800 [NETFILTER]: nf_conntrack_{tcp,sctp}: mark state table const Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9ba99b0d3f45d0aedeafce1cfa4f720b19d04477 Author: Denys Vlasenko Date: Mon Jan 14 23:44:26 2008 -0800 [NETFILTER]: ipt_REJECT: properly handle IP options The current TCP RST construction reuses the old packet and can't deal with IP options as a consequence of that. Construct the RST from scratch instead. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 022748a9357c4c1a0113ec1ce5612f383b80156f Author: Denys Vlasenko Date: Mon Jan 14 23:44:05 2008 -0800 [NETFILTER]: {ip,ip6}_tables: remove some inlines This patch removes inlines except those which are used by packet matching code and thus are performance-critical. Before: $ size */*/*/ip*tables*.o text data bss dec hex filename 6402 500 16 6918 1b06 net/ipv4/netfilter/ip_tables.o 7130 500 16 7646 1dde net/ipv6/netfilter/ip6_tables.o After: $ size */*/*/ip*tables*.o text data bss dec hex filename 6307 500 16 6823 1aa7 net/ipv4/netfilter/ip_tables.o 7010 500 16 7526 1d66 net/ipv6/netfilter/ip6_tables.o Signed-off-by: Denys Vlasenko Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f9ef8a23c37677929e95ad4026a2fa0d449c1d3e Author: Jan Engelhardt Date: Mon Jan 14 23:43:34 2008 -0800 [NETFILTER]: Update feature-removal-schedule.txt With all the newly introduced features, there is a lot to remove later on after a compatibility grace period of 2 years. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1a50c5a1fe20864f1f902ef76862519a65d14723 Author: Jan Engelhardt Date: Mon Jan 14 23:43:03 2008 -0800 [NETFILTER]: xt_iprange match, revision 1 Adds IPv6 support to xt_iprange, making it possible to match on IPv6 address ranges with ip6tables. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f72e25a897c7edda03a0e1f767925d98772684da Author: Jan Engelhardt Date: Mon Jan 14 23:42:47 2008 -0800 [NETFILTER]: Rename ipt_iprange to xt_iprange This patch moves ipt_iprange to xt_iprange, in preparation for adding IPv6 support to xt_iprange. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2ae15b64e6a1608c840c60df38e8e5eef7b2b8c3 Author: Jan Engelhardt Date: Mon Jan 14 23:42:28 2008 -0800 [NETFILTER]: Update modules' descriptions Updates the MODULE_DESCRIPTION() tags for all Netfilter modules, actually describing what the module does and not just "netfilter XYZ target". Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 917b6fbd6e8dd952c64d1d7468897160467d2cc0 Author: Jan Engelhardt Date: Mon Jan 14 23:42:06 2008 -0800 [NETFILTER]: xt_policy: use the new union nf_inet_addr Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 57de0abbffa9724e2a89860a49725d805bfc07ca Author: Jan Engelhardt Date: Mon Jan 14 23:41:50 2008 -0800 [NETFILTER]: xt_pkttype: IPv6 multicast address recognition Signed-off-by: Jan Engelhart Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 13b0e83b5b52d1a0ab87772ecc93fe91b2740386 Author: Jan Engelhardt Date: Mon Jan 14 23:41:34 2008 -0800 [NETFILTER]: xt_pkttype: Add explicit check for IPv4 In the PACKET_LOOPBACK case, the skb data was always interpreted as IPv4, but that is not valid for IPv6, obviously. Fix this by adding an extra condition to check for AF_INET. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 17b0d7ef658583842da75eebf8001dc617f0b52e Author: Jan Engelhardt Date: Mon Jan 14 23:41:11 2008 -0800 [NETFILTER]: xt_mark match, revision 1 Introduces the xt_mark match revision 1. It uses fixed types, eventually obsoleting revision 0 some day (uses nonfixed types). Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 64eb12f9972d45f3b9b0f0a33a966e311c3d5275 Author: Jan Engelhardt Date: Mon Jan 14 23:40:53 2008 -0800 [NETFILTER]: xt_conntrack match, revision 1 Introduces the xt_conntrack match revision 1. It uses fixed types, the new nf_inet_addr and comes with IPv6 support, thereby completely superseding xt_state. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2e3075a2c4364c0e8726ac2a0f3b1708da781bac Author: Jan Engelhardt Date: Mon Jan 14 23:40:34 2008 -0800 [NETFILTER]: Extend nf_inet_addr with in{,6}_addr Extend union nf_inet_addr with struct in_addr and in6_addr. Useful because a lot of in-kernel IPv4 and IPv6 functions use in_addr/in6_addr. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 96e3227265852ffad332f911887c9cf26c85e40a Author: Jan Engelhardt Date: Mon Jan 14 23:39:13 2008 -0800 [NETFILTER]: xt_connmark match, revision 1 Introduces the xt_connmark match revision 1. It uses fixed types, eventually obsoleting revision 0 some day (uses nonfixed types). (Unfixed types like "unsigned long" do not play well with mixed user-/kernelspace "bitness", e.g. 32/64, as is common on SPARC64, and need extra compat code.) Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e0a812aea5cbf2085f7645bf2bfd9cba91c8a672 Author: Jan Engelhardt Date: Mon Jan 14 23:38:52 2008 -0800 [NETFILTER]: xt_MARK target, revision 2 Introduces the xt_MARK target revision 2. It uses fixed types, and also uses the more expressive XOR logic. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0dc8c76029f4675c2345eefd947f123e64de1aae Author: Jan Engelhardt Date: Mon Jan 14 23:38:34 2008 -0800 [NETFILTER]: xt_CONNMARK target, revision 1 Introduces the xt_CONNMARK target revision 1. It uses fixed types, and also uses the more expressive XOR logic. Futhermore, it allows to selectively pick bits from both the ctmark and the nfmark in the SAVE and RESTORE operations. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8b6f3f62fea7b85fce8f7d12aabba7b191bf60d2 Author: Jan Engelhardt Date: Mon Jan 14 23:33:14 2008 -0800 [NETFILTER]: Annotate start of kernel fields in NF headers Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit cdfe8b9797f1a47fe24a9bf9e98a351bae11ab99 Author: Jan Engelhardt Date: Mon Jan 14 23:32:54 2008 -0800 [NETFILTER]: xt_TOS: Properly set the TOS field Fix incorrect mask value passed to ipv4_change_dsfield/ipv6_change_dsfield. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9bb268ed7c5f0ec76a5bd6824450a104231152ba Author: Jan Engelhardt Date: Mon Jan 14 23:32:37 2008 -0800 [NETFILTER]: xt_TOS: Change semantic of mask value This patch changes the behavior of xt_TOS v1 so that the mask value the user supplies means "zero out these bits" rather than "keep these bits". This is more easy on the user, as (I would assume) people keep more bits than zeroing, so, an example: Action: Set bit 0x01. before (&): iptables -j TOS --set-tos 0x01/0xFE after (&~): iptables -j TOS --set-tos 0x01/0x01 This is not too "tragic" with xt_TOS, but where larger fields are used (e.g. proposed xt_MARK v2), `--set-xmar 0x01/0x01` vs. `--set-xmark 0x01/0xFFFFFFFE` really makes a difference. Other target(!) modules, such as xt_TPROXY also use &~ rather than &, so let's get to a common ground. (Since xt_TOS has not yet left the development tree en direction to mainline, the semantic can be changed as proposed without breaking iptables.) Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 11fa2aa362fa54b9eaa8adce9a89f9b467cc9214 Author: Jan Engelhardt Date: Mon Jan 14 23:32:13 2008 -0800 [NETFILTER]: remove ipt_TOS.c Commit 88c85d81f74f92371745158aebc5cbf490412002 forgot to remove the old ipt_TOS file (whose code has been merged into xt_DSCP). Remove it now. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8ce22fcab432313717d393c96ad35f0aee016e83 Author: Patrick McHardy Date: Mon Jan 14 23:31:36 2008 -0800 [NETFILTER]: Remove some EXPERIMENTAL dependencies Most of the netfilter modules are not considered experimental anymore, the only ones I want to keep marked as EXPERIMENTAL are: - TCPOPTSTRIP target, which is brand new. - SANE helper, which is quite new. - CLUSTERIP target, which I believe hasn't had much testing despite being in the kernel for quite a long time. - SCTP match and conntrack protocol, which are a mess and need to be reviewed and cleaned up before I would trust them. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b26e76b7ce35b673deafab4a40eb33db6f81036f Author: Patrick McHardy Date: Mon Jan 14 23:30:56 2008 -0800 [NETFILTER]: Hide a few more options under NETFILTER_ADVANCED Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7f9b80529b8a2ad8b3273b15fb444a0e34b760a9 Author: Stephen Hemminger Date: Mon Jan 14 23:14:20 2008 -0800 [IPV4]: fib hash|trie initialization Initialization of the slab cache's should be done when IP is initialized to make sure of available memory, and that code can be marked __init. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d717a9a62049a03e85c3c2dd3399416eeb34a8be Author: Stephen Hemminger Date: Mon Jan 14 23:11:54 2008 -0800 [IPV4] fib_trie: size and statistics Show number of entries in trie, the size field was being set but never used, but it only counted leaves, not all entries. Refactor the two cases in fib_triestat_seq_show into a single routine. Note: the stat structure was being malloc'd but the stack usage isn't so high (288 bytes) that it is worth the additional complexity. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 28d36e3702fcbed73c38e877bcf2a8f8946b7f3d Author: Eric Dumazet Date: Mon Jan 14 23:09:56 2008 -0800 [FIB]: Avoid using static variables without proper locking fib_trie_seq_show() uses two helper functions, rtn_scope() and rtn_type() that can write to static storage without locking. Just pass to them a temporary buffer to avoid potential corruption (probably not triggerable but still...) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 39a6d06300128d32f361f4f790beba0ca83730eb Author: Denis V. Lunev Date: Mon Jan 14 23:06:19 2008 -0800 [NETNS]: Process inet_confirm_addr in the correct namespace. inet_confirm_addr can be called with NULL in_dev from arp_ignore iff scope is RT_SCOPE_LINK. Lets always pass the device and check for RT_SCOPE_LINK scope inside inet_confirm_addr. This let us take network namespace from in_device a need for an additional argument. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 9bd85e32644d4d3744117b0a196ad4382f8acf35 Author: Denis V. Lunev Date: Mon Jan 14 23:05:55 2008 -0800 [IPV4]: Remove extra argument from arp_ignore. arp_ignore has two arguments: dev & in_dev. dev is used for inet_confirm_addr calling only. inet_confirm_addr, in turn, either gets in_dev from the device passed or iterates over all network devices if the device passed is NULL. It seems logical to directly pass in_dev into inet_confirm_addr. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 06f0511df1b3b32fc8e0840514d4b207150f1fa7 Author: Denis V. Lunev Date: Thu Jan 24 00:30:58 2008 -0800 [ARP]: neigh_parms_put(destroy) are essentially local to core/neighbour.c. Make them static. [ Moved the inline before, instead of after, call sites. -DaveM ] Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 14db4133d59e2c1bed122bf87393e2ded05e42dc Author: Denis V. Lunev Date: Mon Jan 14 23:00:22 2008 -0800 [ARP]: Remove forward declaration of neigh_changeaddr. No need for this. It is declared in the neighbour.h Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 486b51d3706c5493b6c50992eaaafc44e628a7ed Author: Denis V. Lunev Date: Mon Jan 14 22:59:59 2008 -0800 [ARP]: Remove overkill checks from neigh_param_alloc. Valid network device is always passed into neigh_param_alloc, so remove extra checking for dev == NULL. Additionally, cleanup bogus netns assignment. Signed-off-by: Denis V. Lunev Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 72132c1b6c7a7605cdfde86a9f58b6ca2b2195a6 Author: Denis V. Lunev Date: Mon Jan 14 22:59:30 2008 -0800 [IPV4]: fib_rules_unregister is essentially void. fib_rules_unregister is called only after successful register and the return code is never checked. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 2db82b534bd52b349f1b2ab3e63aa40ca0e466ab Author: Denis V. Lunev Date: Mon Jan 14 22:58:55 2008 -0800 [NETNS]: Make arp code network namespace consistent. Some calls in the arp.c have network namespace as an argument. Getting init_net inside these functions is simply inconsistent. Fix this. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit a79878f00dad97d03a3e62a48b06227d55ae5fe4 Author: Denis V. Lunev Date: Mon Jan 14 22:56:01 2008 -0800 [ARP]: Move inet_addr_type call after simple error checks in arp_contructor. The neighbour entry will be destroyed in the case of error, so it is pointless to perform constly routing table lookup in this case. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit a308da1627d711fd0c7542bfe892abc78d65d215 Author: Pavel Emelyanov Date: Mon Jan 14 05:36:50 2008 -0800 [NETNS][RAW]: Create the /proc/net/raw(6) in each namespace. To do so, just register the proper subsystem and create files in ->init callbacks. No other special per-namespace handling for raw sockets is required. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit e5ba31f11f6cae785e893d5d10abd612fef0b6bc Author: Pavel Emelyanov Date: Mon Jan 14 05:36:27 2008 -0800 [NETNS][RAW]: Eliminate explicit init_net references. Happily, in all the rest places (->bind callbacks only), that require the struct net, we have a socket, so get the net from it. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit f51d599fbecf4881a36466f0355da6b0b346ea70 Author: Pavel Emelyanov Date: Mon Jan 14 05:35:57 2008 -0800 [NETNS][RAW]: Make /proc/net/raw(6) show per-namespace socket list. Pull the struct net pointer up to the showing functions to filter the sockets depending on their namespaces. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit be185884b31093555dc10aa32efe0b73c835312e Author: Pavel Emelyanov Date: Mon Jan 14 05:35:31 2008 -0800 [NETNS][RAW]: Make ipv[46] raw sockets lookup namespaces aware. This requires just to pass the appropriate struct net pointer into __raw_v[46]_lookup and skip sockets that do not belong to a needed namespace. The proper net is get from skb->dev in all the cases. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 8d96544475b236a0f319e492f4828aa8c0801c7f Author: Eric Dumazet Date: Sun Jan 13 22:31:44 2008 -0800 [FIB]: full_children & empty_children should be uint, not ushort If declared as unsigned short, these fields can overflow, and whole trie logic is broken. I could not make the machine crash, but some tnode can never be freed. Note for 64 bit arches : By reordering t_key and parent in [node, leaf, tnode] structures, we can use 32 bits hole after t_key so that sizeof(struct tnode) doesnt change after this patch. Signed-off-by: Eric Dumazet Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit f16f3026db6fa63cbb0f4a37833562aa999c93e5 Author: Eric Dumazet Date: Sun Jan 13 22:29:41 2008 -0800 [AX25]: sparse cleanups net/ax25/ax25_route.c:251:13: warning: context imbalance in 'ax25_rt_seq_start' - wrong count at exit net/ax25/ax25_route.c:276:13: warning: context imbalance in 'ax25_rt_seq_stop' - unexpected unlock net/ax25/ax25_std_timer.c:65:25: warning: expensive signed divide net/ax25/ax25_uid.c:46:1: warning: symbol 'ax25_uid_list' was not declared. Should it be static? net/ax25/ax25_uid.c:146:13: warning: context imbalance in 'ax25_uid_seq_start' - wrong count at exit net/ax25/ax25_uid.c:169:13: warning: context imbalance in 'ax25_uid_seq_stop' - unexpected unlock net/ax25/af_ax25.c:573:28: warning: expensive signed divide net/ax25/af_ax25.c:1865:13: warning: context imbalance in 'ax25_info_start' - wrong count at exit net/ax25/af_ax25.c:1888:13: warning: context imbalance in 'ax25_info_stop' - unexpected unlock net/ax25/ax25_ds_timer.c:133:25: warning: expensive signed divide Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 6bf1574ee33270e7c0b9d43103e8cedffd9f74db Author: Eric Dumazet Date: Sun Jan 13 22:27:52 2008 -0800 [X25]: Avoid divides and sparse warnings CHECK net/x25/af_x25.c net/x25/af_x25.c:117:46: warning: expensive signed divide CHECK net/x25/x25_facilities.c net/x25/x25_facilities.c:209:30: warning: expensive signed divide CHECK net/x25/x25_in.c net/x25/x25_in.c:250:26: warning: expensive signed divide CHECK net/x25/x25_proc.c net/x25/x25_proc.c:48:11: warning: context imbalance in 'x25_seq_route_start' - wrong count at exit net/x25/x25_proc.c:72:13: warning: context imbalance in 'x25_seq_route_stop' - unexpected unlock net/x25/x25_proc.c:112:11: warning: context imbalance in 'x25_seq_socket_start' - wrong count at exit net/x25/x25_proc.c:129:13: warning: context imbalance in 'x25_seq_socket_stop' - unexpected unlock net/x25/x25_proc.c:190:11: warning: context imbalance in 'x25_seq_forward_start' - wrong count at exit net/x25/x25_proc.c:215:13: warning: context imbalance in 'x25_seq_forward_stop' - unexpected unlock CHECK net/x25/x25_subr.c net/x25/x25_subr.c:362:57: warning: expensive signed divide Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 4dde4610c4ab54e9d36a4afaa98c23b017f7f9e3 Author: Eric Dumazet Date: Sun Jan 13 00:43:22 2008 -0800 [IPV4] fib_trie: removes a memset() call in tnode_new() tnode_alloc() already clears allocated memory, using kcalloc() or alloc_pages(GFP_KERNEL|__GFP_ZERO, ...) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 88ebc72f68974965b41ad7e8e441df57a530e386 Author: David S. Miller Date: Sat Jan 12 21:49:01 2008 -0800 [IPV4] FIB: Include nexthop device indexes in fib_info hashfn. Signed-off-by: David S. Miller commit 3f4afb6443aaa1d69b2d8f0461c8191e40d54c3c Author: David S. Miller Date: Sat Jan 12 21:31:29 2008 -0800 [XFRM]: Fix struct xfrm_algo code formatting. Realign struct members. Signed-off-by: David S. Miller commit ba749ae98d5aa9d2ce9a7facde0deed454f92230 Author: Eric Dumazet Date: Sat Jan 12 21:30:23 2008 -0800 [XFRM]: alg_key_len should be unsigned to avoid integer divides alg_key_len is currently defined as 'signed int'. This unfortunatly leads to integer divides in several paths. Converting it to unsigned is safe and saves 208 bytes of text on i386. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d88c305a03c37a95c4b27e1a0c2e387bb7ce80df Author: Ilpo Järvinen Date: Sat Jan 12 21:29:14 2008 -0800 [PKT_SCHED] HTB: htb_classid is dead static inline Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 8519660b98349fb922157fa2f5fb6e49eb17ad38 Author: Ilpo Järvinen Date: Sat Jan 12 21:28:37 2008 -0800 [NET] core/utils.c: digit2bin is dead static inline Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 112d8cfcbf4f5ef0cf669cb5864f1206972076d6 Author: Eric Dumazet Date: Sat Jan 12 21:27:41 2008 -0800 [FIB]: Reduce text size of net/ipv4/fib_trie.o In struct tnode, we use two fields of 5 bits for 'pos' and 'bits'. Switching to plain 'unsigned char' (8 bits) take the same space because of compiler alignments, and reduce text size by 435 bytes on i386. On i386 : $ size net/ipv4/fib_trie.o.before_patch net/ipv4/fib_trie.o text data bss dec hex filename 13714 4 64 13782 35d6 net/ipv4/fib_trie.o.before 13279 4 64 13347 3423 net/ipv4/fib_trie.o Signed-off-by: Eric Dumazet Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit b9aed45507b657abab0b88da2c9b509a9dc462b1 Author: Ilpo Järvinen Date: Sat Jan 12 21:26:31 2008 -0800 [NETFILTER] xt_policy.c: kill some bloat net/netfilter/xt_policy.c: policy_mt | -906 1 function changed, 906 bytes removed, diff: -906 net/netfilter/xt_policy.c: match_xfrm_state | +427 1 function changed, 427 bytes added, diff: +427 net/netfilter/xt_policy.o: 2 functions changed, 427 bytes added, 906 bytes removed, diff: -479 Alternatively, this could be done by combining identical parts of the match_policy_in/out() Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit c95aaf9af5a1f6dee56d1f2ab4915cd722d608da Author: Stephen Hemminger Date: Sat Jan 12 21:25:02 2008 -0800 [IPV4] fib_trie: Fix sparse warnings. Make FIB TRIE go through sparse checker without warnings. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 66a2f7fd2fddee1ddc5d1d286cd832e50a97258e Author: Stephen Hemminger Date: Sat Jan 12 21:23:17 2008 -0800 [IPV4] fib_trie: Add statistics. The FIB TRIE code has a bunch of statistics, but the code is hidden behind an ifdef that was never implemented. Since it was dead code, it was broken as well. This patch fixes that by making it a config option. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a6db9010922f2c02db2bbea8c17c50e451be38d9 Author: Stephen Hemminger Date: Sat Jan 12 20:58:35 2008 -0800 [IPV4] FIB: printk related cleanups printk related cleanups: * Get rid of unused printk wrappers. * Make bug checks into KERN_WARNING because KERN_DEBUG gets ignored * Turn one cryptic old message into something real * Make sure all messages have KERN_XXX Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit fea86ad8123df0d49188cbc1dd2f48da6ae49d65 Author: Stephen Hemminger Date: Sat Jan 12 20:57:07 2008 -0800 [IPV4] fib_trie: fib_insert_node cleanup The only error from fib_insert_node is if memory allocation fails, so instead of passing by reference, just use the convention of returning NULL. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 187b5188a78694fa6608fa1252d5197a7b3ab076 Author: Stephen Hemminger Date: Sat Jan 12 20:55:55 2008 -0800 [IPV4] fib_trie: Use %u for unsigned printfs. Use %u instead of %d when printing unsigned values. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 93e4308b3bea445dc2d3e3c1897a93fe111eba17 Author: Stephen Hemminger Date: Sat Jan 12 20:50:23 2008 -0800 [IPV4] fib_trie: Get rid of unused revision element. The revision element must of been part of an earlier design, because currently it is set but never used. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c28a1cf448e59019fa681741963c3acaeaeb6d27 Author: Stephen Hemminger Date: Sat Jan 12 20:49:13 2008 -0800 [IPV4] fib_trie: Get rid of trie_init(). trie_init is worthless it is just zeroing stuff that is already zero! Move the memset() down to make it obvious. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6db105db95197c0fe93f8b3fb338eb6cf17440b7 Author: Ilpo Järvinen Date: Sat Jan 12 03:25:00 2008 -0800 [PKTGEN]: uninline getCurUs net/core/pktgen.c: pktgen_stop_device | -50 pktgen_run | -105 pktgen_if_show | -37 pktgen_thread_worker | -702 4 functions changed, 894 bytes removed, diff: -894 net/core/pktgen.c: getCurUs | +36 1 function changed, 36 bytes added, diff: +36 net/core/pktgen.o: 5 functions changed, 36 bytes added, 894 bytes removed, diff: -858 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 56e252c7484c3ebc058f3c22d4a75386b079c49c Author: Ilpo Järvinen Date: Sat Jan 12 03:23:58 2008 -0800 [PKTGEN]: Kill dead static inlines Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 3f25252675770e08d97bc112e52208e8c70ce0e5 Author: Ilpo Järvinen Date: Sat Jan 12 03:21:50 2008 -0800 [NETLINK] af_netlink: kill some bloat net/netlink/af_netlink.c: netlink_realloc_groups | -46 netlink_insert | -49 netlink_autobind | -94 netlink_clear_multicast_users | -48 netlink_bind | -55 netlink_setsockopt | -54 netlink_release | -86 netlink_kernel_create | -47 netlink_change_ngroups | -56 9 functions changed, 535 bytes removed, diff: -535 net/netlink/af_netlink.c: netlink_table_ungrab | +53 1 function changed, 53 bytes added, diff: +53 net/netlink/af_netlink.o: 10 functions changed, 53 bytes added, 535 bytes removed, diff: -482 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 50eb431d6e98189eb40606fcd4d03ecd8e168afa Author: Ilpo Järvinen Date: Sat Jan 12 03:21:00 2008 -0800 [IPV6] route: kill some bloat net/ipv6/route.c: ip6_pkt_prohibit_out | -130 ip6_pkt_discard | -261 ip6_pkt_discard_out | -130 ip6_pkt_prohibit | -261 4 functions changed, 782 bytes removed, diff: -782 net/ipv6/route.c: ip6_pkt_drop | +300 1 function changed, 300 bytes added, diff: +300 net/ipv6/route.o: 5 functions changed, 300 bytes added, 782 bytes removed, diff: -482 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 1486cbd777316e55aa30aeb37e231ce618c29d2e Author: Ilpo Järvinen Date: Sat Jan 12 03:20:03 2008 -0800 [XFRM] xfrm_policy: kill some bloat net/xfrm/xfrm_policy.c: xfrm_audit_policy_delete | -692 xfrm_audit_policy_add | -692 2 functions changed, 1384 bytes removed, diff: -1384 net/xfrm/xfrm_policy.c: xfrm_audit_common_policyinfo | +704 1 function changed, 704 bytes added, diff: +704 net/xfrm/xfrm_policy.o: 3 functions changed, 704 bytes added, 1384 bytes removed, diff: -680 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit cea14e0ed6082bd3dff19203d01340de6e7ca067 Author: Ilpo Järvinen Date: Sat Jan 12 03:19:12 2008 -0800 [TCP]: Uninline tcp_is_cwnd_limited net/ipv4/tcp_cong.c: tcp_reno_cong_avoid | -65 1 function changed, 65 bytes removed, diff: -65 net/ipv4/arp.c: arp_ignore | -5 1 function changed, 5 bytes removed, diff: -5 net/ipv4/tcp_bic.c: bictcp_cong_avoid | -57 1 function changed, 57 bytes removed, diff: -57 net/ipv4/tcp_cubic.c: bictcp_cong_avoid | -61 1 function changed, 61 bytes removed, diff: -61 net/ipv4/tcp_highspeed.c: hstcp_cong_avoid | -63 1 function changed, 63 bytes removed, diff: -63 net/ipv4/tcp_hybla.c: hybla_cong_avoid | -85 1 function changed, 85 bytes removed, diff: -85 net/ipv4/tcp_htcp.c: htcp_cong_avoid | -57 1 function changed, 57 bytes removed, diff: -57 net/ipv4/tcp_veno.c: tcp_veno_cong_avoid | -52 1 function changed, 52 bytes removed, diff: -52 net/ipv4/tcp_scalable.c: tcp_scalable_cong_avoid | -61 1 function changed, 61 bytes removed, diff: -61 net/ipv4/tcp_yeah.c: tcp_yeah_cong_avoid | -75 1 function changed, 75 bytes removed, diff: -75 net/ipv4/tcp_illinois.c: tcp_illinois_cong_avoid | -54 1 function changed, 54 bytes removed, diff: -54 net/dccp/ccids/ccid3.c: ccid3_update_send_interval | -7 ccid3_hc_tx_packet_recv | +7 2 functions changed, 7 bytes added, 7 bytes removed, diff: +0 net/ipv4/tcp_cong.c: tcp_is_cwnd_limited | +88 1 function changed, 88 bytes added, diff: +88 built-in.o: 14 functions changed, 95 bytes added, 642 bytes removed, diff: -547 ...Again some gcc artifacts visible as well. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 490d5046930276aae50dd16942649bfc626056f7 Author: Ilpo Järvinen Date: Sat Jan 12 03:17:20 2008 -0800 [TCP]: Uninline tcp_set_state net/ipv4/tcp.c: tcp_close_state | -226 tcp_done | -145 tcp_close | -564 tcp_disconnect | -141 4 functions changed, 1076 bytes removed, diff: -1076 net/ipv4/tcp_input.c: tcp_fin | -86 tcp_rcv_state_process | -164 2 functions changed, 250 bytes removed, diff: -250 net/ipv4/tcp_ipv4.c: tcp_v4_connect | -209 1 function changed, 209 bytes removed, diff: -209 net/ipv4/arp.c: arp_ignore | +5 1 function changed, 5 bytes added, diff: +5 net/ipv6/tcp_ipv6.c: tcp_v6_connect | -158 1 function changed, 158 bytes removed, diff: -158 net/sunrpc/xprtsock.c: xs_sendpages | -2 1 function changed, 2 bytes removed, diff: -2 net/dccp/ccids/ccid3.c: ccid3_update_send_interval | +7 1 function changed, 7 bytes added, diff: +7 net/ipv4/tcp.c: tcp_set_state | +238 1 function changed, 238 bytes added, diff: +238 built-in.o: 12 functions changed, 250 bytes added, 1695 bytes removed, diff: -1445 I've no explanation why some unrelated changes seem to occur consistently as well (arp_ignore, ccid3_update_send_interval; I checked the arp_ignore asm and it seems to be due to some reordered of operation order causing some extra opcodes to be generated). Still, the benefits are pretty obvious from the codiff's results. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 389f661224cdbdf178553fb09a52dc6c8bf86890 Author: Daniel Lezcano Date: Thu Jan 10 22:44:40 2008 -0800 [NETNS][IPV6]: inet6_addr - make ipv6_chk_home_addr namespace aware Looks if the address is belonging to the network namespace, otherwise discard the address for the check. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 1cab3da6be6c7659f62d0d297b389cc0e48b2178 Author: Daniel Lezcano Date: Thu Jan 10 22:44:09 2008 -0800 [NETNS][IPV6]: inet6_addr - ipv6_get_ifaddr namespace aware The inet6_addr_lst is browsed taking into account the network namespace specified as parameter. If an address does not belong to the specified namespace, it is ignored. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 06bfe655e7db7719c0eb51eb420fb9c2a6aa1e00 Author: Daniel Lezcano Date: Thu Jan 10 22:43:42 2008 -0800 [NETNS][IPV6]: inet6_addr - ipv6_chk_same_addr namespace aware This patch makes ipv6_chk_same_addr function to be aware of the network namespace. The addresses not belonging to the network namespace are discarded. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit bfeade087005278fc8cafe230b7658a4f40c5acb Author: Daniel Lezcano Date: Thu Jan 10 22:43:18 2008 -0800 [NETNS][IPV6]: inet6_addr - check ipv6 address per namespace When a new address is added, we must check if the new address does not already exists. This patch makes this check to be aware of a network namespace, so the check will look if the address already exists for the specified network namespace. While the addresses are browsed, the addresses which do not belong to the namespace are discarded. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 3c40090a0f5b69deecc5ca615f994957f949333d Author: Daniel Lezcano Date: Thu Jan 10 22:42:49 2008 -0800 [NETNS][IPV6]: inet6_addr - isolate inet6 addresses from proc file Make /proc/net/if_inet6 show only inet6 addresses belonging to the namespace. Signed-off-by: Daniel Lezcano Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 39971554d3469b48154f34257ad4a35081b7ee40 Author: Pavel Emelyanov Date: Thu Jan 10 22:37:16 2008 -0800 [NEIGH]: Add a comment describing what a NUD stands for. When I studied the neighbor code I puzzled over what the NUD can mean for quite a long time. Finally I asked Alexey and he said that this was smth like "neighbor unreachability detection". Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 9993e7d313e80bdc005d09c7def91903e0068f07 Author: David S. Miller Date: Thu Jan 10 21:56:38 2008 -0800 [TCP]: Do not purge sk_forward_alloc entirely in tcp_delack_timer(). Otherwise we beat heavily on the global tcp_memory atomics when all of the sockets in the system are slowly sending perioding packet clumps. Noticed and suggested by Eric Dumazet. Signed-off-by: David S. Miller commit e186932b3d26bd975022a1e254407e95dddceae7 Author: Pavel Emelyanov Date: Thu Jan 10 17:43:50 2008 -0800 [NETNS]: Use the per-net ipv6_devconf(_all) in sysctl handlers Actually the net->ipv6.devconf_all can be used in a few places, but to keep the /proc/sys/net/ipv6/conf/ sysctls work consistently in the namespace we should use the per-net devconf_all in the sysctl "forwarding" handler. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 441fc2a2393a9b9ffbacb97f4427cce743579411 Author: Pavel Emelyanov Date: Thu Jan 10 17:43:22 2008 -0800 [NETNS]: Use the per-net ipv6_devconf_dflt All its users are in net/ipv6/addrconf.c's sysctl handlers. Since they already have the struct net to get from, the per-net ipv6_devconf_dflt can already be used. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit e0da5a480cafc7ca228d6b5a05dbd77344a6bd29 Author: Pavel Emelyanov Date: Thu Jan 10 17:42:55 2008 -0800 [NETNS]: Create ipv6 devconf-s for namespaces This is the core. Declare and register the pernet subsys for addrconf. The init callback the will create the devconf-s. The init_net will reuse the existing statically declared confs, so that accessing them from inside the ipv6 code will still work. The register_pernet_subsys() is moved above the ipv6_add_dev() call for loopback, because this function will need the net->devconf_dflt pointer to be already set. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit bff16c2f991386883dc81ec969ba15eb270a0c7f Author: Pavel Emelyanov Date: Thu Jan 10 17:42:13 2008 -0800 [NETNS]: Make the ctl-tables per-namespace This includes passing the net to __addrconf_sysctl_register and saving this on the ctl_table->extra2 to be used in handlers (those, needing it). Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 9589731220edfebeb6a05c52d0838a99dee20893 Author: Pavel Emelyanov Date: Thu Jan 10 17:41:45 2008 -0800 [NETNS]: Make the __addrconf_sysctl_register return an error This error code will be needed to abort the namespace creation if needed. Probably, this is to be checked when a new device is created (currently it is ignored). Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 408c4768cd0843f43a13a442c76215dd9cadf23d Author: Pavel Emelyanov Date: Thu Jan 10 17:41:21 2008 -0800 [NETNS]: Clean out the ipv6-related sysctls creation/destruction The addrconf sysctls and neigh sysctls are registered and unregistered always in pairs, so they can be joined into one (well, two) functions, that accept the struct inet6_dev and do all the job. This also get rids of unneeded ifdefs inside the code. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 4250846146c04ac6f17bf92619ddfef6db2cf34f Author: Denis V. Lunev Date: Thu Jan 10 03:53:12 2008 -0800 [NEIGH]: Make /proc/net/arp opening consistent with seq_net_open semantics seq_open_net requires that first field of the seq->private data to be struct seq_net_private. In reality this is a single pointer to a struct net for now. The patch makes code consistent. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit ae22120ad846399f6aa19c5b32f8d4c7bd068fd1 Author: Denis V. Lunev Date: Thu Jan 10 03:52:35 2008 -0800 [ATM]: Simplify /proc/net/atm/arp opening The iterator state->ns.neigh_sub_iter initialization is moved from arp_seq_open to clip_seq_start for convinience. This should not be a problem as the iterator will be used only after the seq_start callback. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit e5d69b9f4a6ce17f0d09595da45e37b870fee5ae Author: Denis V. Lunev Date: Thu Jan 10 03:51:41 2008 -0800 [ATM]: Oops reading net/atm/arp cat /proc/net/atm/arp causes the NULL pointer dereference in the get_proc_net+0xc/0x3a. This happens as proc_get_net believes that the parent proc dir entry contains struct net. Fix this assumption for "net/atm" case. The problem is introduced by the commit c0097b07abf5f92ab135d024dd41bd2aada1512f from Eric W. Biederman/Daniel Lezcano. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 8cced9eff1d413c28efac9c5ac5a75793c9251cf Author: Denis V. Lunev Date: Thu Jan 10 03:30:49 2008 -0800 [NETNS]: Enable routing configuration in non-initial namespace. I.e. remove the net != &init_net checks from the places, that now can handle other-than-init net namespace. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 226b0b4a51d1cc09928e569b121ca0abe2839169 Author: Denis V. Lunev Date: Thu Jan 10 03:30:24 2008 -0800 [NETNS]: Replace init_net with the correct context in fib_frontend.c Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 1bad118a330d494b23663fce94d4e9d9d5065fa7 Author: Denis V. Lunev Date: Thu Jan 10 03:29:53 2008 -0800 [NETNS]: Pass namespace through ip_rt_ioctl. ... up to rtentry_to_fib_config Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 4b5d47d4d372287b48a5fac8c497cba5e0618a36 Author: Denis V. Lunev Date: Thu Jan 10 03:29:23 2008 -0800 [NETNS]: Correctly fill fib_config data. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 6bd48fcf73019219495f7599028296c65b749bb4 Author: Denis V. Lunev Date: Thu Jan 10 03:28:55 2008 -0800 [NETNS]: Provide correct namespace for fibnl netlink socket. This patch makes the netlink socket to be per namespace. That allows to have each namespace its own socket for routing queries. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit e4aef8aea31e6fc61b33a57120968a6e9824d138 Author: Denis V. Lunev Date: Thu Jan 10 03:28:24 2008 -0800 [NETNS]: Place fib tables into netns. The preparatory work has been done. All we need is to substitute fib_table_hash with net->ipv4.fib_table_hash. Netns context is available when required. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit e4e4971c5f8b70daccdd401132a81b723dc8337e Author: Denis V. Lunev Date: Thu Jan 10 03:27:51 2008 -0800 [NETNS]: Namespacing IPv4 fib rules. The final trick for rules: place fib4_rules_ops into struct net and modify initialization path for this. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 1c340b2fd73880136c438e6e7978288fbec8273f Author: Denis V. Lunev Date: Thu Jan 10 03:27:17 2008 -0800 [NETNS]: Show routing information from correct namespace (fib_trie.c) This is the second part (for the CONFIG_IP_FIB_TRIE case) of the patch #4, where we have created proc files in namespaces. Now we can dump correct info in them. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 6e04d01dfa6fe81d6bcae1e85de695285086cee2 Author: Denis V. Lunev Date: Thu Jan 10 03:26:50 2008 -0800 [NETNS]: Show routing information from correct namespace (fib_hash.c) This is the second part (for the CONFIG_IP_FIB_HASH case) of the patch #4, where we have created proc files in namespaces. Now we can dump correct info in them. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 4d1169c1e781e5853317c6b75620d678b2c4854e Author: Denis V. Lunev Date: Thu Jan 10 03:26:13 2008 -0800 [NETNS]: Add netns to nl_info structure. nl_info is used to track the end-user destination of routing change notification. This is a natural object to hold a namespace on. Place it there and utilize the context in the appropriate places. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 6b175b26c1048d331508940ad3516ead1998084f Author: Eric W. Biederman Date: Thu Jan 10 03:25:28 2008 -0800 [NETNS]: Add netns parameter to inet_(dev_)add_type. The patch extends the inet_addr_type and inet_dev_addr_type with the network namespace pointer. That allows to access the different tables relatively to the network namespace. The modification of the signature function is reported in all the callers of the inet_addr_type using the pointer to the well known init_net. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 8ad4942cd5bdad4143f7aa1d1bd4f7b2526c19c5 Author: Denis V. Lunev Date: Thu Jan 10 03:24:11 2008 -0800 [NETNS]: Add netns parameter to fib_get_table/fib_new_table. This patch extends the fib_get_table and the fib_new_table functions with the network namespace pointer. That will allow to access the table relatively from the network namespace. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 93456b6d7753def8760b423ac6b986eb9d5a4a95 Author: Denis V. Lunev Date: Thu Jan 10 03:23:38 2008 -0800 [IPV4]: Unify access to the routing tables. Replace the direct pointers to local and main tables with calls to fib_get_table() with appropriate argument. This doesn't introduce additional dereferences, but makes the access to fib tables uniform in any (CONFIG_IP_MULTIPLE_TABLES) case. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 7b1a74fdbb9ec38a9780620fae25519fde4b21ee Author: Denis V. Lunev Date: Thu Jan 10 03:22:17 2008 -0800 [NETNS]: Refactor fib initialization so it can handle multiple namespaces. This patch makes the fib to be initialized as a subsystem for the network namespaces. The code does not handle several namespaces yet, so in case of a creation of a network namespace, the creation/initialization will not occur. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit dbb50165b512f6c9b7aae10af73ae5b6d811f4d0 Author: Denis V. Lunev Date: Thu Jan 10 03:21:49 2008 -0800 [IPV4]: Check fib4_rules_init failure. This adds error paths into both versions of fib4_rules_init (with/without CONFIG_IP_MULTIPLE_TABLES) and returns error code to the caller. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 61a0265344786a548e8a0b26cb668e78a71f9602 Author: Denis V. Lunev Date: Thu Jan 10 03:21:09 2008 -0800 [NETNS]: Add namespace to API for routing /proc entries creation. This adds netns parameter to fib_proc_init/exit and replaces __init specifier with __net_init. After this, we will not yet have these proc files show info from the specific namespace - this will be done when these tables become namespaced. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 5fd30ee7c48bf7f9cd16ab44c8a09fa4a57cc21d Author: Denis V. Lunev Date: Thu Jan 10 03:20:28 2008 -0800 [NETNS]: Namespacing in the generic fib rules code. Move static rules_ops & rules_mod_lock to the struct net, register the pernet subsys to init them and enjoy the fact that the core rules infrastructure works in the namespace. Real IPv4 fib rules virtualization requires fib tables support in the namespace and will be done seriously later in the patchset. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 868d13ac811746e28e4c806f2b1bd8575796f9af Author: Denis V. Lunev Date: Thu Jan 10 03:18:25 2008 -0800 [NETNS]: Pass fib_rules_ops into default_pref method. fib_rules_ops contains operations and the list of configured rules. ops will become per/namespace soon, so we need them to be known in the default_pref callback. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit f8c26b8d589867aed8251db2935f8aa03aa68717 Author: Denis V. Lunev Date: Thu Jan 10 03:17:29 2008 -0800 [NETNS]: Add netns parameter to fib_rules_(un)register. The patch extends the different fib rules API in order to pass the network namespace pointer. That will allow to access the different tables from a namespace relative object. As usual, the pointer to the init_net variable is passed as parameter so we don't break the network. Acked-by: Benjamin Thery Acked-by: Daniel Lezcano Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 41a76906b3225997036efd88cbaae69d60b1e947 Author: Daniel Lezcano Date: Thu Jan 10 03:02:40 2008 -0800 [NETNS][IPV6]: Make icmpv6_time sysctl per namespace. This patch moves the icmpv6_time sysctl to the network namespace structure. Because the ipv6 protocol is not yet per namespace, the variable is accessed relatively to the initial network namespace. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 4990509f19e8f1e000a83a88fc46328f73b8a88a Author: Daniel Lezcano Date: Thu Jan 10 03:01:01 2008 -0800 [NETNS][IPV6]: Make sysctls route per namespace. All the sysctl concerning the routes are moved to the network namespace structure. A helper function is called to initialize the variables. Because the ipv6 protocol is not yet per namespace, the variables are accessed relatively from the network namespace. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 7c76509d0da99f29289b9b7ab134791e45d49b15 Author: Daniel Lezcano Date: Thu Jan 10 02:57:43 2008 -0800 [NETNS][IPV6]: Make mld_max_msf readonly in other namespaces. The mld_max_msf protects the system with a maximum allowed multicast source filters. Making this variable per namespace can be potentially an problem if someone inside a namespace set it to a big value, that will impact the whole system including other namespaces. I don't see any benefits to have it per namespace for now, so in order to keep a directory entry in a newly created namespace, I make it read-only when we are not in the initial network namespace. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit e71e0349eb32bc438fa80d8990c6f3592967d111 Author: Daniel Lezcano Date: Thu Jan 10 02:56:03 2008 -0800 [NETNS][IPV6]: Make ip6_frags per namespace. The ip6_frags is moved to the network namespace structure. Because there can be multiple instances of the network namespaces, and the ip6_frags is no longer a global static variable, a helper function has been added to facilitate the initialization of the variables. Until the ipv6 protocol is not per namespace, the variables are accessed relatively from the initial network namespace. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 99bc9c4e45e7e783cf0b0a25cc03a103c038f254 Author: Daniel Lezcano Date: Thu Jan 10 02:54:53 2008 -0800 [NETNS][IPV6]: Make bindv6only sysctl per namespace. This patch moves the bindv6only sysctl to the network namespace structure. Until the ipv6 protocol is not per namespace, the sysctl variable is always from the initial network namespace. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 760f2d0186225f06d46e07232d65219c5055cad3 Author: Daniel Lezcano Date: Thu Jan 10 02:53:43 2008 -0800 [NETNS][IPV6]: Make multiple instance of sysctl tables. Each network namespace wants its own set of sysctl value, eg. we should not be able from a namespace to set a sysctl value for another namespace , especially for the initial network namespace. This patch duplicates the sysctl table when we register a new network namespace for ipv6. The duplicated table are postfixed with the "template" word to notify the developper the table is cloned. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 89918fc270bb77cb1a0703f0ea566a692b32e324 Author: Daniel Lezcano Date: Thu Jan 10 02:49:34 2008 -0800 [NETNS][IPV6]: Make the ipv6 sysctl to be a netns subsystem. The initialization of the sysctl for the ipv6 protocol is changed to a network namespace subsystem. That means when a new network namespace is created the initialization function for the sysctl will be called. That do not change the behavior of the sysctl in case of the kernel with the network namespace disabled. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit b0f159db7c95babf1e321334eb33d42db94f2854 Author: Daniel Lezcano Date: Thu Jan 10 02:49:06 2008 -0800 [NETNS][IPV6]: Add ipv6 structure for netns. Like the ipv4 part, this patch adds an ipv6 structure in the net structure to aggregate the different resources to make ipv6 per namespace. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 81c1c17804ac52036e07b0ba95cb637bdd4784d6 Author: Daniel Lezcano Date: Thu Jan 10 02:48:33 2008 -0800 [NETNS][IPV6]: Make a subsystem for af_inet6. This patch add a network namespace subsystem for the af_inet6 module. It does nothing right now, but one of its purpose is to receive the different variables for sysctl in order to initialize them. When the sysctl variable will be moved to the network namespace structure, they will be no longer initialized as global static variables, so we must find a place to initialize them. Because the sysctl can be disabled, it has no sense to store them in the sysctl_net_ipv6 file. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 291480c09a9452a3d8852a9bfeb5ba2cbcfe662c Author: Daniel Lezcano Date: Thu Jan 10 02:47:55 2008 -0800 [NETNS][IPV6]: Make ipv6_sysctl_register to return a value. This patch makes the function ipv6_sysctl_register to return a value. The af_inet6 init function is now able to handle an error and catch it from the initialization of the sysctl. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 50dd79653e295ce40da38c03bbfb5966aa1c1598 Author: Sebastian Siewior Date: Wed Jan 9 00:36:17 2008 -0800 [XFRM]: Remove ifdef crypto. and select the crypto subsystem if neccessary Signed-off-by: Sebastian Siewior Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 06eaa1a01d033bd5fd298b010334034f93021fbe Author: Rami Rosen Date: Wed Jan 9 00:35:12 2008 -0800 [BRIDGE]: Remove unused macros from ebt_vlan.c Remove two unused macros, INV_FLAG and SET_BITMASK from net/bridge/netfilter/ebt_vlan.c. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit b3fd3ffe39d830e7c24ef63b7f28703b485da2e3 Author: Pavel Emelyanov Date: Wed Jan 9 00:34:02 2008 -0800 [NETFILTER]: Use the ctl paths instead of hand-made analogue The conntracks subsystem has a similar infrastructure to maintain ctl_paths, but since we already have it on the generic level, I think it's OK to switch to using it. So, basically, this patch just replaces the ctl_table-s with ctl_path-s, nf_register_sysctl_table with register_sysctl_paths() and removes no longer needed code. After this the net/netfilter/nf_sysctl.c file contains the paths only. Signed-off-by: Pavel Emelyanov Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 3d7cc2ba628dcc6b55a2bafc7eaf35019fdcc201 Author: Pavel Emelyanov Date: Wed Jan 9 00:33:11 2008 -0800 [NETFILTER]: Switch to using ctl_paths in nf_queue and conntrack modules This includes the most simple cases for netfilter. The first part is tne queue modules for ipv4 and ipv6, on which the net/ipv4/ and net/ipv6/ paths are reused from the appropriate ipv4 and ipv6 code. The conntrack module is also patched, but this hunk is very small and simple. Signed-off-by: Pavel Emelyanov Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit c6995bdff0fc9f97621922a7f857fa640537a7e2 Author: Pavel Emelyanov Date: Wed Jan 9 00:32:21 2008 -0800 [AX25]: Switch to using ctl_paths. This one is almost the same as the hunks in the first patch, but ax25 tables are created dynamically. So this patch differs a bit to handle this case. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 3151a9ab04714d0323efbe3c6c12bc5b2b1f058d Author: Pavel Emelyanov Date: Wed Jan 9 00:31:49 2008 -0800 [DECNET]: Switch to using ctl_paths. The decnet includes two places to patch. The first one is the net/decnet table itself, and it is patched just like other subsystems in the first patch in this series. The second place is a bit more complex - it is the net/decnet/conf/xxx entries,. similar to those in ipv4/devinet.c and ipv6/addrconf.c. This code is made similar to those in ipv[46]. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 90754f8ec011c91382ece2849a43b8f8aa8a0105 Author: Pavel Emelyanov Date: Sat Jan 12 02:33:50 2008 -0800 [IPVS]: Switch to using ctl_paths. The feature of ipvs ctls is that the net/ipv4/vs path is common for core ipvs ctls and for two schedulers, so I make it exported and re-use it in modules. Two other .c files required linux/sysctl.h to make the extern declaration of this path compile well. Signed-off-by: Pavel Emelyanov Acked-by: Simon Horman Signed-off-by: David S. Miller commit b5ccd792fa413f9336273cb8fa3b9dd3a7ec1735 Author: Pavel Emelyanov Date: Wed Jan 9 00:30:05 2008 -0800 [NET]: Simple ctl_table to ctl_path conversions. This patch includes many places, that only required replacing the ctl_table-s with appropriate ctl_paths and call register_sysctl_paths(). Nothing special was done with them. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit cb7928a528264a69b29b6001b490b64607ed0557 Author: Rami Rosen Date: Wed Jan 9 00:18:24 2008 -0800 [IPV4]: Remove unsupported DNAT (RTCF_NAT and RTCF_NAT) in IPV4 - The DNAT (Destination NAT) is not implemented in IPV4. - This patch remove the code which checks these flags in net/ipv4/arp.c and net/ipv4/route.c. The RTCF_NAT and RTCF_NAT should stay in the header (linux/in_route.h) because they are used in DECnet. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit f0b5a0dcf125ce43855961ef4f965a91112bea23 Author: Eric Dumazet Date: Tue Jan 8 23:54:43 2008 -0800 [VLAN]: Avoid expensive divides We can avoid divides (as seen with CONFIG_CC_OPTIMIZE_FOR_SIZE=y on x86) changing vlan_group_get_device()/vlan_group_set_device() id parameter from signed to unsigned. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 4cec72c890d3a465eed08c24a4a2bfe25650318f Author: Julia Lawall Date: Tue Jan 8 23:48:20 2008 -0800 [TIPC]: Use tipc_port_unlock The file net/tipc/port.c takes a lock using the function tipc_port_lock and then releases the lock sometimes using tipc_port_unlock and sometimes using spin_unlock_bh(p_ptr->publ.lock). tipc_port_unlock simply does the spin_unlock_bh, but it seems cleaner to use it everywhere. The problem was fixed using the following semantic patch. (http://www.emn.fr/x-info/coccinelle/) // @@ struct port *p_ptr; @@ p_ptr = tipc_port_lock(...) ... ( p_ptr = tipc_port_lock(...); | ?- spin_unlock_bh(p_ptr->publ.lock); + tipc_port_unlock(p_ptr); ) // Signed-off-by: Julia Lawall Acked-by: Jon Paul Maloy Signed-off-by: David S. Miller commit cdcb006fbe7a74b5f7827f5c5c27e11399a2fab7 Author: Ivo van Doorn Date: Mon Jan 7 19:45:24 2008 +0100 mac80211: Add radio led trigger Some devices have a seperate LED which indicates if the radio is enabled or not. This adds a LED trigger to mac80211 where drivers can hook into when they are interested in radio status changes. v2: Check hw.conf.radio_enabled when calling start(). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit df26e7ea049abe5104062f1f3e9ee7ede9d5104f Author: Andrew Lutomirski Date: Thu Jan 3 21:05:37 2008 -0800 rc80211_pid should respect fixed rates. I would argue that mac80211 should handle fixed rates outside the rate control code, which would also allow them to take effect immediately instead of during the rate control callback, but this is pretty close to correct. Signed-Off-By: Andy Lutomirski Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 4b475898ec9dc6e62cebcb8fc0b3495c986a4590 Author: Johannes Berg Date: Wed Jan 2 15:17:03 2008 +0100 mac80211: better rate control algorithm selection This patch changes mac80211's Kconfig/Makefile to: * select between the PID and the SIMPLE rate control algorithm as default * always allow tri-state for the rate control algorithms, building those that are selected 'y' into the mac80211 module (if that is a module, otherwise all into the kernel) * force the default rate control algorithm to be built into mac80211 It also makes both rate control algorithms proper modules again with MODULE_LICENSE etc. Only if EMBEDDED is the user allowed to select "NONE" as default which will cause no algorithm to be selected, this will work only when the driver brings one itself (e.g. iwlwifi drivers). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 688b88a4886834d7e3457711cd4feef6611d3232 Author: Ron Rindjunsky Date: Tue Dec 25 17:00:37 2007 +0200 mac80211: A-MPDU Rx handling DELBA requests This patch opens the flow to DELBA management frames, and handles end of A-MPDU session produced by this event. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 713647169e3aaca16be4cfba42513bd4558abec0 Author: Ron Rindjunsky Date: Tue Dec 25 17:00:36 2007 +0200 mac80211: A-MPDU Rx adding BAR handling capability This patch adds the ability to handle Block Ack Request Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit b580781e038968fb2529460e8b61e3bf77de112a Author: Ron Rindjunsky Date: Tue Dec 25 17:00:35 2007 +0200 mac80211: A-MPDU Rx handling aggregation reordering This patch handles the reordering of the Rx A-MPDU. This issue occurs when the sequence of the internal MPDUs is not in the right order. such a case can be encountered for example when some MPDUs from previous aggregations were recieved, while others failed, so current A-MPDU will contain a mix of re-transmited MPDUs and new ones. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 16c5f15c73e97e22a1fcc6518da32bdcf98aec3d Author: Ron Rindjunsky Date: Tue Dec 25 17:00:34 2007 +0200 mac80211: A-MPDU Rx MLME data initialization This patch initialize A-MPDU MLME data for Rx sessions. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 07db218396650933abff3c5c1ad1e2a6e0cfedeb Author: Ron Rindjunsky Date: Tue Dec 25 17:00:33 2007 +0200 mac80211: A-MPDU Rx adding basic functionality This patch adds the basic needed abilities and functions for A-MPDU Rx session changed functions: - ieee80211_sta_process_addba_request - Rx A-MPDU initialization enabled - ieee80211_stop - stops all A-MPDU Rx in case interface goes down added functions: - ieee80211_send_delba - used for sending out Del BA in A-MPDU sessions - ieee80211_sta_stop_rx_BA_session - stopping Rx A-MPDU session - sta_rx_agg_session_timer_expired - stops A-MPDU Rx use if load is too low Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 5aae2880618471cfa679ca22531b88990bee9bf8 Author: Ron Rindjunsky Date: Tue Dec 25 17:00:32 2007 +0200 mac80211: A-MPDU Rx add MLME structures This patch adds the needed structures to describe the Rx aggregation MLME per STA new: - struct tid_ampdu_rx: TID aggregation information (Rx) - struct sta_ampdu_mlme: MLME aggregation information for STA changed: - struct sta_info: ampdu_mlme added to describe A-MPDU MLME per STA, and timer_to_tid added to map timer id into TID Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 1b7d03acbfe9d6f1ecf169e6494c5eca29fa0ed3 Author: Ron Rindjunsky Date: Tue Dec 25 17:00:31 2007 +0200 mac80211: A-MPDU Rx add low level driver API This patch adds the API to perform A-MPDU actions between mac80211 and low level driver. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 6368e4b18d5c71c73eecd96d568e726b80e5bce1 Author: Ron Rindjunsky Date: Mon Dec 24 13:36:39 2007 +0200 mac80211: restructure __ieee80211_rx This patch makes a separation between Rx frame pre-handling which stays in __ieee80211_rx and Rx frame handlers, moving to __ieee80211_rx_handle_packet. Although this separation has no affect in regular mode of operation, this kind of mechanism will be used in A-MPDU frames reordering as it allows accumulation of frames during pre-handling, dispatching them to later handling when necessary. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit f704662fb7cd81bfdc441207e788860ae4685e95 Author: Johannes Berg Date: Sun Dec 23 22:05:25 2007 +0100 mac80211: make rc_pid_fop_events static No need to not be. Signed-off-by: Johannes Berg Acked-by: Stefano Brivio Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 1b507e7e538ee1c8a25e698911a44604d6be3954 Author: Stefano Brivio Date: Sun Dec 23 17:49:00 2007 +0100 rc80211-pid: fix definition of rate control interval Fix the rate control interval definition. Thanks to Mattias Nissler for spotting this out. Cc: Mattias Nissler Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 6d65f5db2f66e3ff44df759fbbb3c7482879fb1e Author: Johannes Berg Date: Sun Dec 23 10:11:55 2007 +0100 mac80211: remove misleading 'res' variable When this function returns != CONTINUE, it needs to put the station struct it has acquired. Hence, having this unused variable is not just superfluous but also misleading. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 1036d8642b6bb604774ea143120fe10ede4ab078 Author: Stefano Brivio Date: Sun Dec 23 04:46:27 2007 +0100 rc80211-pid: add MAINTAINERS entry Add an entry in MAINTAINERS for rc80211-pid. Cc: Mattias Nissler Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit d439810bda5082e213c59c2aa8108ae4c0e520ef Author: Stefano Brivio Date: Sun Dec 23 04:44:56 2007 +0100 rc80211-pid: pf_target tuning Set a better value for percentage target for failed frames. The previous value slowed down too much rate increases in case of permanently low activity. While at it, increase readability. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 13e05aa631b195ce30737b320da17e7542c82ead Author: Stefano Brivio Date: Sun Dec 23 04:43:57 2007 +0100 rc80211-pid: fix sta_info refcounting Fix a bug which caused uncorrect refcounting of PHYs in mac80211. Thanks to Johannes Berg for spotting this out. Cc: Johannes Berg Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit fa44327c06492c9bd625dbc8dbe35e5d5965fec6 Author: Stefano Brivio Date: Sun Dec 23 04:41:19 2007 +0100 rc80211-pid: simplify and fix shift_adjust Simplify and fix rate_control_pid_shift_adjust(). A bug prevented correct mapping of sorted rates, and readability was seriously flawed. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit ca5fbca924b845863ab9da00ac90b3384445f497 Author: Stefano Brivio Date: Sun Dec 23 04:40:32 2007 +0100 rc80211-pid: add kerneldoc for tunable parameters Add a kerneldoc description for parameters which are tunable through debugfs. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 426706c0791904766e10bef512d86786f2f62857 Author: Stefano Brivio Date: Sun Dec 23 04:39:17 2007 +0100 rc80211-pid: export human-readable target_pf value to debugfs Export the non-shifted target_pf value to debugfs, so that it's human-readable. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 69f817b654d683265118188bbfb8bc0d8978cce6 Author: Helmut Schaa Date: Fri Dec 21 15:16:35 2007 +0100 mac80211: Restore rx.fc before every invocation of ieee80211_invoke_rx_handlers This patch fixes a problem with rx handling on multiple interfaces. Especially when using hardware-scanning and a wireless driver (i.e. iwlwifi) which is able to receive data while scanning. The rx handlers can modify the skb and the frame control field (see ieee80211_rx_h_remove_qos_control) but since every interface gets its own copy of the skb each should get its own copy of rx.fc too. In my case the wlan0-interface did not remove the qos-control from the frame because the corresponding flag in rx.fc was already removed while processing the frame on the master interface. Therefore somehow corrupted frames were passed to the userspace. Signed-off-by: Helmut Schaa Acked-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 6666351df90656677723f8232b3fdd26a500e51e Author: Eric Dumazet Date: Tue Jan 8 01:35:52 2008 -0800 [XFRM]: xfrm_state_clone() should be static, not exported xfrm_state_clone() is not used outside of net/xfrm/xfrm_state.c There is no need to export it. Spoted by sparse checker. CHECK net/xfrm/xfrm_state.c net/xfrm/xfrm_state.c:1103:19: warning: symbol 'xfrm_state_clone' was not declared. Should it be static? Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 40ccbf525e55fc6d1f3a88c1e98b13db4dd618db Author: Eric Dumazet Date: Mon Jan 7 22:39:57 2008 -0800 [PACKET]: Fix sparse warnings in af_packet.c CHECK net/packet/af_packet.c net/packet/af_packet.c:1876:14: warning: context imbalance in 'packet_seq_start' - wrong count at exit net/packet/af_packet.c:1888:13: warning: context imbalance in 'packet_seq_stop' - unexpected unlock Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 67b23219ce2f78352b0c566a472ff16c1b0fea9a Author: Julia Lawall Date: Mon Jan 7 22:38:42 2008 -0800 [BLUETOOTH]: Use sockfd_put() The function sockfd_lookup uses fget on the value that is stored in the file field of the returned structure, so fput should ultimately be applied to this value. This can be done directly, but it seems better to use the specific macro sockfd_put, which does the same thing. The problem was fixed using the following semantic patch. (http://www.emn.fr/x-info/coccinelle/) // @@ expression s; @@ s = sockfd_lookup(...) ... + sockfd_put(s); ?- fput(s->file); // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 3becd578c5c9aafde6f562bb1dfe20d420bce6e8 Author: Rami Rosen Date: Mon Jan 7 22:36:54 2008 -0800 [NET]: Remove unused member of dst_entry The info placeholder member of dst_entry seems to be unused in the network stack. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 64c31b3f76482bb64459e786f9eca3bd0164d153 Author: WANG Cong Date: Mon Jan 7 22:34:29 2008 -0800 [XFRM] xfrm_policy_destroy: Rename and relative fixes. Since __xfrm_policy_destroy is used to destory the resources allocated by xfrm_policy_alloc. So using the name __xfrm_policy_destroy is not correspond with xfrm_policy_alloc. Rename it to xfrm_policy_destroy. And along with some instances that call xfrm_policy_alloc but not using xfrm_policy_destroy to destroy the resource, fix them. Signed-off-by: WANG Cong Acked-by: Herbert Xu Signed-off-by: David S. Miller commit d66e37a99d323012165ce91fd5c4518e2fcea0c5 Author: Masahide NAKAMURA Date: Mon Jan 7 21:46:15 2008 -0800 [XFRM] Statistics: Add outbound-dropping error. o Increment PolError counter when flow_cache_lookup() returns errored pointer. o Increment NoStates counter at larval-drop. Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit a067d9ac39cd207b5a0994c73199a56e7d5a17a3 Author: Ilpo Järvinen Date: Sat Jan 5 23:17:49 2008 -0800 [NET]: Remove obsolete comment It seems that ip_build_xmit is no longer used in here and ip_append_data is used. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit c4e18dade1f878db33ed38927de22e63d550970d Author: Ilpo Järvinen Date: Sat Jan 5 23:13:58 2008 -0800 [CCID3]: Kill some bloat Without a number of CONFIG.*DEBUG: net/dccp/ccids/ccid3.c: ccid3_hc_tx_update_x | -170 ccid3_hc_tx_packet_sent | -175 ccid3_hc_tx_packet_recv | -169 ccid3_hc_tx_no_feedback_timer | -192 ccid3_hc_tx_send_packet | -144 5 functions changed, 850 bytes removed, diff: -850 net/dccp/ccids/ccid3.c: ccid3_update_send_interval | +191 1 function changed, 191 bytes added, diff: +191 net/dccp/ccids/ccid3.o: 6 functions changed, 191 bytes added, 850 bytes removed, diff: -659 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit cf35f43e6e41b160d8dedd80a127210fd3be9ada Author: Ilpo Järvinen Date: Sat Jan 5 23:13:20 2008 -0800 [XFRM]: Kill some bloat net/xfrm/xfrm_state.c: xfrm_audit_state_delete | -589 xfrm_replay_check | -542 xfrm_audit_state_icvfail | -520 xfrm_audit_state_add | -589 xfrm_audit_state_replay_overflow | -523 xfrm_audit_state_notfound_simple | -509 xfrm_audit_state_notfound | -521 7 functions changed, 3793 bytes removed, diff: -3793 net/xfrm/xfrm_state.c: xfrm_audit_helper_pktinfo | +522 xfrm_audit_helper_sainfo | +598 2 functions changed, 1120 bytes added, diff: +1120 net/xfrm/xfrm_state.o: 9 functions changed, 1120 bytes added, 3793 bytes removed, diff: -2673 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit ad1b30b1c282bc8c726a9b123a1312a3930bcd42 Author: Ilpo Järvinen Date: Sat Jan 5 23:12:40 2008 -0800 [IPVS]: Kill some bloat net/ipv4/ipvs/ip_vs_xmit.c: ip_vs_icmp_xmit | -638 ip_vs_tunnel_xmit | -674 ip_vs_nat_xmit | -716 ip_vs_dr_xmit | -682 4 functions changed, 2710 bytes removed, diff: -2710 net/ipv4/ipvs/ip_vs_xmit.c: __ip_vs_get_out_rt | +595 1 function changed, 595 bytes added, diff: +595 net/ipv4/ipvs/ip_vs_xmit.o: 5 functions changed, 595 bytes added, 2710 bytes removed, diff: -2115 Without some CONFIG.*DEBUGs: net/ipv4/ipvs/ip_vs_xmit.o: 5 functions changed, 383 bytes added, 1513 bytes removed, diff: -1130 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit bb5cf80e94ad9650c4bd39e92fb917af8e87fa43 Author: Ilpo Järvinen Date: Sat Jan 5 23:11:31 2008 -0800 [NETFILTER]: Kill some supper dupper bloatry /me awards the bloatiest-of-all-net/-.c-code award to nf_conntrack_netlink.c, congratulations to all the authors :-/! Hall of (unquestionable) fame (measured per inline, top 10 under net/): -4496 ctnetlink_parse_tuple netfilter/nf_conntrack_netlink.c -2165 ctnetlink_dump_tuples netfilter/nf_conntrack_netlink.c -2115 __ip_vs_get_out_rt ipv4/ipvs/ip_vs_xmit.c -1924 xfrm_audit_helper_pktinfo xfrm/xfrm_state.c -1799 ctnetlink_parse_tuple_proto netfilter/nf_conntrack_netlink.c -1268 ctnetlink_parse_tuple_ip netfilter/nf_conntrack_netlink.c -1093 ctnetlink_exp_dump_expect netfilter/nf_conntrack_netlink.c -1060 void ccid3_update_send_interval dccp/ccids/ccid3.c -983 ctnetlink_dump_tuples_proto netfilter/nf_conntrack_netlink.c -827 ctnetlink_exp_dump_tuple netfilter/nf_conntrack_netlink.c (i386 / gcc (GCC) 4.1.2 20070626 (Red Hat 4.1.2-13) / allyesconfig except CONFIG_FORCED_INLINING) ...and I left < 200 byte gains as future work item. After iterative inline removal, I finally have this: net/netfilter/nf_conntrack_netlink.c: ctnetlink_exp_fill_info | -1104 ctnetlink_new_expect | -1572 ctnetlink_fill_info | -1303 ctnetlink_new_conntrack | -2230 ctnetlink_get_expect | -341 ctnetlink_del_expect | -352 ctnetlink_expect_event | -1110 ctnetlink_conntrack_event | -1548 ctnetlink_del_conntrack | -729 ctnetlink_get_conntrack | -728 10 functions changed, 11017 bytes removed, diff: -11017 net/netfilter/nf_conntrack_netlink.c: ctnetlink_parse_tuple | +419 dump_nat_seq_adj | +183 ctnetlink_dump_counters | +166 ctnetlink_dump_tuples | +261 ctnetlink_exp_dump_expect | +633 ctnetlink_change_status | +460 6 functions changed, 2122 bytes added, diff: +2122 net/netfilter/nf_conntrack_netlink.o: 16 functions changed, 2122 bytes added, 11017 bytes removed, diff: -8895 Without a number of CONFIG.*DEBUGs, I got this: net/netfilter/nf_conntrack_netlink.o: 16 functions changed, 2122 bytes added, 11029 bytes removed, diff: -8907 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 2a75de0c1de2dde9ef41aeb45a21048681421b8a Author: Eric Dumazet Date: Sat Jan 5 23:08:49 2008 -0800 [NETNS]: Should build with CONFIG_SYSCTL=n Previous NETNS patches broke CONFIG_SYSCTL=n case Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 6e32814bc89e7103e2b75b841155faf51f60a8f1 Author: Li Zefan Date: Fri Jan 4 01:59:42 2008 -0800 [CONNECTOR]: Cleanup struct cn_callback_entry - 'cb' is a fake struct member. In a previous patch struct cn_callback was renamed to cn_callback_id, so 'cb' should have been deleted at that time. - 'nls' isn't used and is redundant, we can retrieve this data through cn_callback_entry.pdev->nls. - 'seq' and 'group' should be u32, as they are declared to be u32 in other places. Signed-off-by: Li Zefan Signed-off-by: David S. Miller commit 96a899655e2c3ba53f083eda69706ee4eb05271f Author: Li Zefan Date: Fri Jan 4 01:59:20 2008 -0800 [CONNECTOR]: Cleanup struct cn_queue_dev Struct member netlink_groups is never used, and I don't see how it can be useful. Signed-off-by: Li Zefan Signed-off-by: David S. Miller commit 00f5e06c032507206c4ac0c846ad82b75ae7665b Author: Li Zefan Date: Fri Jan 4 01:55:01 2008 -0800 [CONNECTOR]: clean up {,__}cn_rx_skb() - __cn_rx_skb() does nothing but calls cn_call_callback(), it doesn't check skb and msg sizes as the comment suggests, but cn_rx_skb() checks those sizes. - In cn_rx_skb() Local variable 'len' is not used. 'len' is probably intended to be passed to skb_pull(), but here skb_pull() is not needed, instead skb_free() is called. Signed-off-by: Li Zefan Signed-off-by: David S. Miller commit fd00eeccd92b7b4b5ca95bd988c195efb4e5ec29 Author: Li Zefan Date: Fri Jan 4 01:54:38 2008 -0800 [CONNECTOR]: add a missing break in cn_netlink_send() Each entry in the list has a unique id, so just break out of the loop if the matched id is found. Signed-off-by: Li Zefan Signed-off-by: David S. Miller commit 74feb6e84e189707ca1324a92f7206617efbd735 Author: Eric Dumazet Date: Thu Jan 24 00:15:42 2008 -0800 [ICMP]: Avoid sparse warnings in net/ipv4/icmp.c CHECK net/ipv4/icmp.c net/ipv4/icmp.c:249:13: warning: context imbalance in 'icmp_xmit_unlock' - unexpected unlock net/ipv4/icmp.c:376:13: warning: context imbalance in 'icmp_reply' - different lock contexts for basic block net/ipv4/icmp.c:430:6: warning: context imbalance in 'icmp_send' - different lock contexts for basic block Solution is to declare both icmp_xmit_lock() and icmp_xmit_unlock() as inline Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 65f7651788e18fadb2fbb7276af935d7871e1803 Author: Eric Dumazet Date: Thu Jan 3 20:46:48 2008 -0800 [NET]: prot_inuse cleanups and optimizations 1) Cleanups (all functions are prefixed by sock_prot_inuse) sock_prot_inc_use(prot) -> sock_prot_inuse_add(prot,-1) sock_prot_dec_use(prot) -> sock_prot_inuse_add(prot,-1) sock_prot_inuse() -> sock_prot_inuse_get() New functions : sock_prot_inuse_init() and sock_prot_inuse_free() to abstract pcounter use. 2) if CONFIG_PROC_FS=n, we can zap 'inuse' member from "struct proto", since nobody wants to read the inuse value. This saves 1372 bytes on i386/SMP and some cpu cycles. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 571e7682026fd0e25833d103a3eeb74be29bf199 Author: Eric Dumazet Date: Thu Jan 3 20:41:28 2008 -0800 [LIB] pcounter : unline too big functions Before pushing pcounter to Linus tree, I would like to make some adjustments. Goal is to reduce kernel text size, by unlining too big functions. When a pcounter is bound to a statically defined per_cpu variable, we define two small helpers functions. (No more folding function using the fat for_each_possible_cpu(cpu) ... ) static DEFINE_PER_CPU(int, NAME##_pcounter_values); static void NAME##_pcounter_add(struct pcounter *self, int val) { __get_cpu_var(NAME##_pcounter_values) += val; } static int NAME##_pcounter_getval(const struct pcounter *self, int cpu) { return per_cpu(NAME##_pcounter_values, cpu); } Fast path is therefore unchanged, while folding/alloc/free is now unlined. This saves 228 bytes on i386 Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 789675e216617b1331875c42a81f58227a06df91 Author: Eric Dumazet Date: Thu Jan 3 20:40:01 2008 -0800 [NET]: Avoid divides in net/core/gen_estimator.c We can void divides (as seen with CONFIG_CC_OPTIMIZE_FOR_SIZE=y on x86) changing ((HZ< Signed-off-by: David S. Miller commit e870a8efcddaaa3da7e180b6ae21239fb96aa2bb Author: Ilpo Järvinen Date: Thu Jan 3 20:39:01 2008 -0800 [TCP]: Perform setting of common control fields in one place In case of segments which are purely for control without any data (SYN/ACK/FIN/RST), many fields are set to common values in multiple places. i386 results: $ gcc --version gcc (GCC) 4.1.2 20070626 (Red Hat 4.1.2-13) $ codiff tcp_output.o.old tcp_output.o.new net/ipv4/tcp_output.c: tcp_xmit_probe_skb | -48 tcp_send_ack | -56 tcp_retransmit_skb | -79 tcp_connect | -43 tcp_send_active_reset | -35 tcp_make_synack | -42 tcp_send_fin | -48 7 functions changed, 351 bytes removed net/ipv4/tcp_output.c: tcp_init_nondata_skb | +90 1 function changed, 90 bytes added tcp_output.o.mid: 8 functions changed, 90 bytes added, 351 bytes removed, diff: -261 Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 19773b4923ed0e21e3289361dba5e69e1ce6e00b Author: Ilpo Järvinen Date: Thu Jan 3 20:38:05 2008 -0800 [TCP]: Urgent parameter effect can be simplified. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit f038ac8f9b9735358ef410d45f4cff1da810c1cb Author: Ilpo Järvinen Date: Thu Jan 3 20:36:55 2008 -0800 [TCP]: cleanup tcp_parse_options deep indented switch Removed case indentation level & combined some nested ifs, mostly within 80 lines now. This is a leftover from indent patch, it just had to be done manually to avoid messing it up completely. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit dbb1db8b59fb84d620ab5266366b52c8052ee75c Author: Herbert Xu Date: Tue Jan 1 23:52:59 2008 -0800 [IPSEC]: Return EOVERFLOW when output sequence number overflows Previously we made it an error on the output path if the sequence number overflowed. However we did not set the err variable accordingly. This patch sets err to -EOVERFLOW in that case. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 9a429c4983deae020f1e757ecc8f547b6d4e2f2b Author: Eric Dumazet Date: Tue Jan 1 21:58:02 2008 -0800 [NET]: Add some acquires/releases sparse annotations. Add __acquires() and __releases() annotations to suppress some sparse warnings. example of warnings : net/ipv4/udp.c:1555:14: warning: context imbalance in 'udp_seq_start' - wrong count at exit net/ipv4/udp.c:1571:13: warning: context imbalance in 'udp_seq_stop' - unexpected unlock Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit b950dfcf504842a0f2bb142a33ef938f1c00d300 Author: Rami Rosen Date: Tue Jan 1 21:17:19 2008 -0800 [IPVS]: Remove declaration of unimplemented method and remove unused definition from include/net/ip_vs.h In include/net/ip_vs.h: - The ip_vs_secure_tcp_set() method is not implemented anywhere. - IP_VS_APP_TYPE_FTP is an unused definition. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit b798232fcc1c608433e1927df1d49b13b066b698 Author: Rami Rosen Date: Tue Jan 1 21:13:09 2008 -0800 [IPV4]: Remove three declarations of unimplemented methods and correct a typo in include/net/ip.h These three declarations in include/net/ip.h are not implemented anywhere: ip_mc_dropsocket(), ip_mc_dropdevice() and ip_net_unreachable(). Also, correct a comment to be "Functions provided by ip_fragment.c" (instead of by ip_fragment.o) in consistency with the other comments in this header. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit f1862b0ae2294f6970f695abf02392d025e02dbe Author: Adrian Bunk Date: Sun Jan 27 23:04:43 2008 -0800 [SHAPER]: The scheduled shaper removal. This patch contains the scheduled removal of the shaper driver. Signed-off-by: Adrian Bunk Acked-by: Alan Cox Signed-off-by: David S. Miller commit 9ef32d0d1f64cad414697f34bda1b269f632f0cd Author: Herbert Xu Date: Tue Jan 1 19:07:50 2008 -0800 [IPSEC]: Kill duplicate xfrm_policy_flush prototype For five years we had two xfrm_policy_flush prototypes and every time that function's signature changed people have been diligently updating both of them without noticing :) Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 680a5a5086443b9547b32b04f40af8f9d717f711 Author: Eric Dumazet Date: Mon Dec 31 15:00:50 2007 -0800 [PATCH] use SK_MEM_QUANTUM_SHIFT in __sk_mem_reclaim() Avoid an expensive divide (as done in commit 18030477e70a826b91608aee40a987bbd368fec6 but lost in commit 23821d2653111d20e75472c8c5003df1a55309a8) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d436d68630a74ba3c898ff1b53591ddc4eb7f2bf Author: Ilpo Järvinen Date: Mon Dec 31 14:58:00 2007 -0800 [TCP]: Remove unnecessary local variable Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 409d22b470532cb92b91b9aeb7257357a176b849 Author: Ilpo Järvinen Date: Mon Dec 31 14:57:40 2007 -0800 [TCP]: Code duplication removal, added tcp_bound_to_half_wnd() Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 056834d9f6f6eaf4cc7268569e53acab957aac27 Author: Ilpo Järvinen Date: Mon Dec 31 14:57:14 2007 -0800 [TCP]: cleanup tcp_{in,out}put.c style These were manually selected from indent's results which as is are too noisy to be of any use without human reason. In addition, some extra newlines between function and its comment were removed too. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 058dc3342b71ffb3531c4f9df7c35f943f392b8d Author: Ilpo Järvinen Date: Mon Dec 31 04:51:11 2007 -0800 [TCP]: reduce tcp_output's indentation levels a bit Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 4828e7f49a402930e8b3e72de695c8d37e0f98ee Author: Ilpo Järvinen Date: Mon Dec 31 04:50:19 2007 -0800 [TCP]: Remove TCPCB_URG & TCPCB_AT_TAIL as unnecessary The snd_up check should be enough. I suspect this has been there to provide a minor optimization in clean_rtx_queue which used to have a small if (!->sacked) block which could skip snd_up check among the other work. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit cadbd0313bc897f5917d013174cdf9077edf4aa5 Author: Ilpo Järvinen Date: Mon Dec 31 04:49:21 2007 -0800 [TCP]: Dropped unnecessary skb/sacked accessing in reneging SACK reneging can be precalculated to a FLAG in clean_rtx_queue which has the right skb looked up. This will help a bit in future because skb->sacked access will be changed eventually, changing it already won't hurt any. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 90840defabbd819180c7528e12d550776848f833 Author: Ilpo Järvinen Date: Mon Dec 31 04:48:41 2007 -0800 [TCP]: Introduce tcp_wnd_end() to reduce line lengths Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 66f5fe624fa5f1d4574d2dd2bc0c72a17a92079c Author: Ilpo Järvinen Date: Mon Dec 31 04:43:57 2007 -0800 [TCP]: Rename update_send_head & include related increment to it There's very little need to have the packets_out incrementing in a separate function. Also name the combined function appropriately. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 3ccd3130b3f681a4aef6392327256786b3b6aa04 Author: Ilpo Järvinen Date: Mon Dec 31 04:43:32 2007 -0800 [TCP]: Make invariant check complain about invalid sacked_out Earlier resolution for NewReno's sacked_out should now keep it small enough for this to become invariant-like check. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 61f1ab41b8ede8e2a26c349a4e3372100545c5ec Author: Rami Rosen Date: Mon Dec 31 04:22:09 2007 -0800 [IPV4]: Remove unused multipath cached routing defintion in net/flow.h Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 95766fff6b9a78d11fc2d3812dd035381690b55d Author: Hideo Aoki Date: Mon Dec 31 00:29:24 2007 -0800 [UDP]: Add memory accounting. Signed-off-by: Takahiro Yasui Signed-off-by: Hideo Aoki Signed-off-by: David S. Miller commit 3ab224be6d69de912ee21302745ea45a99274dbc Author: Hideo Aoki Date: Mon Dec 31 00:11:19 2007 -0800 [NET] CORE: Introducing new memory accounting interface. This patch introduces new memory accounting functions for each network protocol. Most of them are renamed from memory accounting functions for stream protocols. At the same time, some stream memory accounting functions are removed since other functions do same thing. Renaming: sk_stream_free_skb() -> sk_wmem_free_skb() __sk_stream_mem_reclaim() -> __sk_mem_reclaim() sk_stream_mem_reclaim() -> sk_mem_reclaim() sk_stream_mem_schedule -> __sk_mem_schedule() sk_stream_pages() -> sk_mem_pages() sk_stream_rmem_schedule() -> sk_rmem_schedule() sk_stream_wmem_schedule() -> sk_wmem_schedule() sk_charge_skb() -> sk_mem_charge() Removeing sk_stream_rfree(): consolidates into sock_rfree() sk_stream_set_owner_r(): consolidates into skb_set_owner_r() sk_stream_mem_schedule() The following functions are added. sk_has_account(): check if the protocol supports accounting sk_mem_uncharge(): do the opposite of sk_mem_charge() In addition, to achieve consolidation, updating sk_wmem_queued is removed from sk_mem_charge(). Next, to consolidate memory accounting functions, this patch adds memory accounting calls to network core functions. Moreover, present memory accounting call is renamed to new accounting call. Finally we replace present memory accounting calls with new interface in TCP and SCTP. Signed-off-by: Takahiro Yasui Signed-off-by: Hideo Aoki Signed-off-by: David S. Miller commit a06b494b61de44617dd58612164bdde56fca7bfb Author: Gui Jianfeng Date: Sun Dec 30 23:27:10 2007 -0800 [IPV6]: Remove useless code from fib6_del_route(). There are useless codes in fib6_del_route(). The following patch has been tested, every thing looks fine, as usual. Signed-off-by: Gui Jianfeng Signed-off-by: David S. Miller commit f624357959001c9156ee7a475283fc6041f78e0e Author: Rami Rosen Date: Sun Dec 30 23:25:31 2007 -0800 [NEIGH]: Remove unused method from include/net/neighbour.h Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 04ce99c4839a86f4ef476f811cced8d1f11999e4 Author: Rami Rosen Date: Sun Dec 30 23:23:02 2007 -0800 [IPV4]: Remove unused define in include/net/arp.h (HAVE_ARP_CREATE) Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 7d1f8db40bf72ae8bdc62bbf479d5cdf9cb9f921 Author: Jorge Boncompte Date: Sun Dec 30 23:20:08 2007 -0800 [ATM]: [he] fixing compilation when you define USE_RBPS_POOL/USE_RBPL_POOL Signed-off-by: Jorge Boncompte Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit a5929af4075c2ccd08aef7ca95a41f2a2abb3e47 Author: Joonwoo Park Date: Sun Dec 30 23:19:26 2007 -0800 [ATM]: [ambassador] kmalloc + memset conversion to kzalloc Signed-off-by: Joonwoo Park Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit fb64c735a52f396aa261844b851cd820a80dee46 Author: Chas Williams Date: Sun Dec 30 23:18:29 2007 -0800 [ATM]: [br2864] whitespace cleanup Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit 097b19a9987204b898299260ee3ebff4cf716800 Author: Eric Kinzie Date: Sun Dec 30 23:17:53 2007 -0800 [ATM]: [br2864] routed support Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit 900092a45e73fc192c223761b85005503a813975 Author: Adrian Bunk Date: Sun Dec 30 23:16:45 2007 -0800 [ATM]: [he] This patch removes the ancient version string. Signed-off-by: Adrian Bunk Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit ef39592f786b6d56d9faf988a3f18786eeb050b3 Author: Kay Sievers Date: Sun Dec 30 23:16:06 2007 -0800 [ATM]: Convert struct class_device to struct device Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman Signed-off-by: Chas Williams commit 6fe5452b3bb53e5bf5f37590b280ee73dc1e61b6 Author: Robert P. J. Day Date: Sun Dec 30 23:15:15 2007 -0800 [ATM]: atm is no longer experimental Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit 9dd3245a2ac1834797191072705015e6a12f55bf Author: Herbert Xu Date: Sun Dec 30 21:10:30 2007 -0800 [IPSEC]: Move all calls to xfrm_audit_state_icvfail to xfrm_input Let's nip the code duplication in the bud :) Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 0883ae0e5599656b5f3b0e9ce474e01dee7dfee4 Author: Herbert Xu Date: Sun Dec 30 21:10:14 2007 -0800 [IPSEC]: Fix transport-mode async resume on intput without netfilter When netfilter is off the transport-mode async resumption doesn't work because we don't push back the IP header. This patch fixes that by moving most of the code outside of ifdef NETFILTER since the only part that's not common is the short-circuit in the protocol handler. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit fcb8c156c8277ee9d71c8c81587d494c9c5240b3 Author: Herbert Xu Date: Sun Dec 30 21:09:38 2007 -0800 [IPSEC]: Fix double free on skb on async output When the output transform returns EINPROGRESS due to async operation we'll free the skb the straight away as if it were an error. This patch fixes that so that the skb is freed when the async operation completes. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 15ca36fb994923b454df44e5d7aa14b84ce5aee4 Author: David S. Miller Date: Thu Dec 27 16:43:38 2007 -0800 [LIBERTAS]: Remove last stray user of MAC_FMT. Reported by Denis V. Lunev Signed-off-by: David S. Miller commit d9727bb2d516bc16bafee4216eec91cd2be5f30a Author: Masahide NAKAMURA Date: Tue Dec 25 20:56:26 2007 -0800 [XFRM] Documentaion: Fix error example at XFRMOUTSTATEMODEERROR. Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit c776ee01bd83d9ba58220293a6e76e9772be0e66 Author: Ilpo Järvinen Date: Mon Dec 24 21:55:39 2007 -0800 [TCP]: Remove seq_rtt ptr from clean_rtx_queue args While checking Gavin's patch I noticed that the returned seq_rtt is not used by the caller. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 0e3a4803aa06cd7bc2cfc1d04289df4f6027640a Author: Ilpo Järvinen Date: Mon Dec 24 21:33:45 2007 -0800 [TCP]: Force TSO splits to MSS boundaries If snd_wnd - snd_nxt wasn't multiple of MSS, skb was split on odd boundary by the callers of tcp_window_allows. We try really hard to avoid unnecessary modulos. Therefore the old caller side check "if (skb->len < limit)" was too wide as well because limit is not bound in any way to skb->len and can cause spurious testing for trimming in the middle of the queue while we only wanted that to happen at the tail of the queue. A simple additional caller side check for tcp_write_queue_tail would likely have resulted 2 x modulos because the limit would have to be first calculated from window, however, doing that unnecessary modulo is not mandatory. After a minor change to the algorithm, simply determine first if the modulo is needed at all and at that point immediately decide also from which value it should be calculated from. This approach also kills some duplicated code. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 7ffc49a6ee92b7138c2ee28073a8e10e58335d62 Author: Michael Chan Date: Mon Dec 24 21:28:09 2007 -0800 [ETH]: Combine format_addr() with print_mac(). print_mac() used many most net drivers and format_addr() used by net-sysfs.c are very similar and they can be intergrated. format_addr() is also identically redefined in the qla4xxx iscsi driver. Export a new function sysfs_format_mac() to be used by net-sysfs, qla4xxx and others in the future. Both print_mac() and sysfs_format_mac() call _format_mac_addr() to do the formatting. Changed print_mac() to use unsigned char * to be consistent with net_device struct's dev_addr. Added buffer length overrun checking as suggested by Joe Perches. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 21371f768bf7127ee45bfaadd17899df6a439e8f Author: Eric Dumazet Date: Mon Dec 24 20:57:56 2007 -0800 [SOCK] Avoid divides in sk_stream_pages() and __sk_stream_mem_reclaim() sk_forward_alloc being signed, we should take care of divides by SK_STREAM_MEM_QUANTUM we do in sk_stream_pages() and __sk_stream_mem_reclaim() This patchs introduces SK_STREAM_MEM_QUANTUM_SHIFT, defined as ilog2(SK_STREAM_MEM_QUANTUM), to be able to use right shifts instead of plain divides. This should help compiler to choose right shifts instead of expensive divides (as seen with CONFIG_CC_OPTIMIZE_FOR_SIZE=y on x86) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit b15c4bcd15741b31019379298edfca28dc78029d Author: Masahide NAKAMURA Date: Mon Dec 24 16:00:09 2007 -0800 [XFRM]: Fix outbound statistics. Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit 426b5303eb435d98b9bee37a807be386bc2b3320 Author: Eric W. Biederman Date: Thu Jan 24 00:13:18 2008 -0800 [NETNS]: Modify the neighbour table code so it handles multiple network namespaces I'm actually surprised at how much was involved. At first glance it appears that the neighbour table data structures are already split by network device so all that should be needed is to modify the user interface commands to filter the set of neighbours by the network namespace of their devices. However a couple things turned up while I was reading through the code. The proxy neighbour table allows entries with no network device, and the neighbour parms are per network device (except for the defaults) so they now need a per network namespace default. So I updated the two structures (which surprised me) with their very own network namespace parameter. Updated the relevant lookup and destroy routines with a network namespace parameter and modified the code that interacts with users to filter out neighbour table entries for devices of other namespaces. I'm a little concerned that we can modify and display the global table configuration and from all network namespaces. But this appears good enough for now. I keep thinking modifying the neighbour table to have per network namespace instances of each table type would should be cleaner. The hash table is already dynamically sized so there are it is not a limiter. The default parameter would be straight forward to take care of. However when I look at the how the network table is built and used I still find some assumptions that there is only a single neighbour table for each type of table in the kernel. The netlink operations, neigh_seq_start, the non-core network users that call neigh_lookup. So while it might be doable it would require more refactoring than my current approach of just doing a little extra filtering in the code. Signed-off-by: Eric W. Biederman Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit e1af9f270b69a3ad1dcbabb404dd1f40a96f43f5 Author: Paul Moore Date: Fri Dec 21 14:59:08 2007 -0800 [XFRM]: Drop packets when replay counter would overflow According to RFC4303, section 3.3.3 we need to drop outgoing packets which cause the replay counter to overflow: 3.3.3. Sequence Number Generation The sender's counter is initialized to 0 when an SA is established. The sender increments the sequence number (or ESN) counter for this SA and inserts the low-order 32 bits of the value into the Sequence Number field. Thus, the first packet sent using a given SA will contain a sequence number of 1. If anti-replay is enabled (the default), the sender checks to ensure that the counter has not cycled before inserting the new value in the Sequence Number field. In other words, the sender MUST NOT send a packet on an SA if doing so would cause the sequence number to cycle. An attempt to transmit a packet that would result in sequence number overflow is an auditable event. The audit log entry for this event SHOULD include the SPI value, current date/time, Source Address, Destination Address, and (in IPv6) the cleartext Flow ID. Signed-off-by: Paul Moore Acked-by: James Morris Signed-off-by: David S. Miller commit afeb14b49098ba7a51c96e083a4105a0301f94c4 Author: Paul Moore Date: Fri Dec 21 14:58:11 2007 -0800 [XFRM]: RFC4303 compliant auditing This patch adds a number of new IPsec audit events to meet the auditing requirements of RFC4303. This includes audit hooks for the following events: * Could not find a valid SA [sections 2.1, 3.4.2] . xfrm_audit_state_notfound() . xfrm_audit_state_notfound_simple() * Sequence number overflow [section 3.3.3] . xfrm_audit_state_replay_overflow() * Replayed packet [section 3.4.3] . xfrm_audit_state_replay() * Integrity check failure [sections 3.4.4.1, 3.4.4.2] . xfrm_audit_state_icvfail() While RFC4304 deals only with ESP most of the changes in this patch apply to IPsec in general, i.e. both AH and ESP. The one case, integrity check failure, where ESP specific code had to be modified the same was done to the AH code for the sake of consistency. Signed-off-by: Paul Moore Acked-by: James Morris Signed-off-by: David S. Miller commit dfd4f0ae2e111e2b93c295938c0e64ebbb69ae6e Author: Eric Dumazet Date: Fri Dec 21 06:07:53 2007 -0800 [TCP]: Avoid two divides in __tcp_grow_window() tcp_win_from_space() being signed, compiler might emit an integer divide to compute tcp_win_from_space()/2 . Using right shifts is OK here and less expensive. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 8beb5c5f12c8484c59edf9b691f2c4bb4d31f3a0 Author: Eric Dumazet Date: Fri Dec 21 05:58:29 2007 -0800 [TCP]: Avoid a divide in tcp_mtu_probing() tcp_mtu_to_mss() being signed, compiler might emit an integer divide to compute tcp_mtu_to_mss()/2 . Using a right shift is OK here and less expensive. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 829942c18704250fce4d5eca787065a3ee7c685d Author: David S. Miller Date: Fri Dec 21 04:29:16 2007 -0800 [TCP]: Move mss variable in tcp_mtu_probing() Down into the only scope where it is used. Signed-off-by: David S. Miller commit 8df09ea3b8ccfe0c94844102d33fa46f57c08d9e Author: Eric Dumazet Date: Fri Dec 21 03:07:41 2007 -0800 [SOCK] Avoid integer divides where not necessary in include/net/sock.h Because sk_wmem_queued, sk_sndbuf are signed, a divide per two may force compiler to use an integer divide. We can instead use a right shift. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit ce55dd3610f7ac29bf8d159c2e2ace9aaf2c3038 Author: Eric Dumazet Date: Fri Dec 21 01:50:43 2007 -0800 [TCP]: tcp_write_timeout.c cleanup Before submiting a patch to change a divide to a right shift, I felt necessary to create a helper function tcp_mtu_probing() to reduce length of lines exceeding 100 chars in tcp_write_timeout(). Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit b790cedd24a7f7d1639072b3faf35f1f56cb38ea Author: Eric Dumazet Date: Fri Dec 21 01:49:07 2007 -0800 [INET]: Avoid an integer divide in rt_garbage_collect() Since 'goal' is a signed int, compiler may emit an integer divide to compute goal/2. Using a right shift is OK here and less expensive. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 9cb5734e5b9b26097c7fa28a9c6426a204cc15e3 Author: YOSHIFUJI Hideaki Date: Sat Jan 12 02:16:03 2008 -0800 [TCP]: Convert several length variable to unsigned. Several length variables cannot be negative, so convert int to unsigned int. This also allows us to do sane shift operations on those variables. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit c40896de50c73e7835b34f23bea96625edd9d6c4 Author: John W. Linville Date: Fri Dec 21 00:44:59 2007 -0500 net/mac80211/Kconfig: whitespace corrections Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit d6084cb61dce1e78e7079a1756df0de71dc8599c Author: John W. Linville Date: Fri Dec 21 00:43:34 2007 -0500 net/wireless/Kconfig: whitespace corrections Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit c27f9830f367a041ca976ccd102f590d27d4deb2 Author: Johannes Berg Date: Wed Dec 19 23:38:24 2007 +0100 mac80211: don't read ERP information from (re)association response According to the standard, the field cannot be present, so don't try to interpret it either. Signed-off-by: Johannes Berg Cc: Daniel Drake Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 176e4f84423af3105894a7d71b23c1a16678a6be Author: Johannes Berg Date: Tue Dec 18 15:27:47 2007 +0100 mac80211: move tx crypto decision This patch moves the decision making about whether a frame is encrypted with a certain algorithm up into the TX handlers rather than having it in the crypto algorithm implementation. This fixes a problem with the radiotap injection code where injecting a non-data packet and requesting encryption could end up asking the driver to encrypt a packet without giving it a key. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 7bbdd2d987971f9d123a2db89ed921bf02e34f9a Author: Johannes Berg Date: Wed Dec 19 02:03:37 2007 +0100 mac80211: implement station stats retrieval This implements the required cfg80211 callback in mac80211 to allow userspace to get station statistics. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit fd5b74dcb88cfc109d6576b22deaef6f47f82c12 Author: Johannes Berg Date: Wed Dec 19 02:03:36 2007 +0100 cfg80211/nl80211: implement station attribute retrieval After a station is added to the kernel's structures, userspace has to be able to retrieve statistics about that station, especially whether the station was idle and how much bytes were transferred to and from it. This adds the necessary code to nl80211. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 5727ef1b2e797a1922f5bc239b6afb2b4cfb80bc Author: Johannes Berg Date: Wed Dec 19 02:03:34 2007 +0100 cfg80211/nl80211: station handling This patch adds station handling to cfg80211/nl80211. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit ed1b6cc7f80f831e192704b05b9917f9cc37be15 Author: Johannes Berg Date: Wed Dec 19 02:03:32 2007 +0100 cfg80211/nl80211: add beacon settings This adds the necessary API to cfg80211/nl80211 to allow changing beaconing settings. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 62da92fb75c346b503bca765fd1337e08771c9fe Author: Johannes Berg Date: Wed Dec 19 02:03:31 2007 +0100 mac80211: support getting key sequence counters via cfg80211 This implements cfg80211's get_key() to allow retrieving the sequence counter for a TKIP or CCMP key from userspace. It also cleans up and documents the associated low-level driver interface. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit e8cbb4cbeb7642d179b01c35adf036ddb65f3dd0 Author: Johannes Berg Date: Wed Dec 19 02:03:30 2007 +0100 mac80211: support adding/removing keys via cfg80211 This adds the necessary hooks to mac80211 to allow userspace to edit keys with cfg80211 (through nl80211.) Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 41ade00f21a72d30911c6351a93823a491fffa39 Author: Johannes Berg Date: Wed Dec 19 02:03:29 2007 +0100 cfg80211/nl80211: introduce key handling This introduces key handling to cfg80211/nl80211. Default and group keys can be added, changed and removed; sequence counters for each key can be retrieved. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit a1464ab61e66c96f9cffea335755de850fe8bdbd Author: Stefano Brivio Date: Wed Dec 19 01:46:53 2007 +0100 doc: fix typo in feature-removal-schedule Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 7d54d0ddd66678ada6635159dac1eb82ccbe34b5 Author: Johannes Berg Date: Wed Dec 19 01:31:25 2007 +0100 mac80211: allow easier multicast/broadcast buffering in hardware There are various decisions influencing the decision whether to buffer a frame for after the next DTIM beacon. The "do we have stations in PS mode" condition cannot be tested by the driver so mac80211 has to do that. To ease driver writing for hardware that can buffer frames until after the next DTIM beacon, introduce a new txctl flag telling the driver to buffer a specific frame. While at it, restructure and comment the code for multicast buffering and remove spurious "inline" directives. Signed-off-by: Johannes Berg Cc: Michael Buesch Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 4e20cb293cc0b30f32a53011fd6b38493d9fdcaa Author: Johannes Berg Date: Wed Dec 19 01:31:24 2007 +0100 mac80211: make ieee80211_rx_mgmt_action static The function is only used locally. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 678f5f7117d5780d3a51b201c9f44b7bf90f6a76 Author: Johannes Berg Date: Wed Dec 19 01:31:23 2007 +0100 mac80211: clean up eapol handling in TX path The previous patch left only one user of the ieee80211_is_eapol() function and that user can be eliminated easily by introducing a new "frame is EAPOL" flag to handle the frame specially (we already have this information) instead of doing the (expensive) ieee80211_is_eapol() all the time. Also, allow unencrypted frames to be sent when they are injected. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit ce3edf6d0b979fa4d5da7204fd8c6f77f2b8622a Author: Johannes Berg Date: Wed Dec 19 01:31:22 2007 +0100 mac80211: clean up eapol frame handling/port control This cleans up the eapol frame handling and some related code in the receive and transmit paths. After this patch * EAPOL frames addressed to us or the EAPOL group address are always accepted regardless of whether they are encrypted or not * other frames from a station are dropped if PAE is enabled and the station is not authorized * unencrypted frames (except the EAPOL frames above) are dropped if drop_unencrypted is enabled * some superfluous code that eth_type_trans handles anyway is gone * port control is done for transmitted packets Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 1946b74ce03c4edecabde80d027da00a7eab56ca Author: Mattias Nissler Date: Thu Dec 20 13:27:26 2007 +0100 rc80211-pid: export tuning parameters through debugfs This adds all the tunable parameters used by rc80211_pid to debugfs for easy testing and tuning. Signed-off-by: Mattias Nissler Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 12446c67fea1e5bc74c58e43ef53eea308cdda61 Author: Mattias Nissler Date: Wed Dec 19 01:27:18 2007 +0100 rc80211-pid: add debugging This adds a new debugfs file from which rate control relevant events can be read one event per line. The output includes the current time, so graphs can be created showing the rate control parameters. This helps in evaluating and tuning rate control parameters. While at it, we split headers and code for better readability. Signed-off-by: Mattias Nissler Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 1dc4d1e6a1e81fee0d488cec4fcd39269ec51318 Author: Stefano Brivio Date: Wed Dec 19 01:26:52 2007 +0100 rc80211-pid: add sharpening factor This patch introduces a PID sharpening factor for faster response after association and low activity events. Signed-off-by: Stefano Brivio Signed-off-by: Mattias Nissler Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 90d501d610c0065dce43120c26744a49d8e0490c Author: Stefano Brivio Date: Wed Dec 19 01:26:34 2007 +0100 rc80211-pid: add rate behaviour learning algorithm This patch introduces a learning algorithm in order for the PID controller to learn how to map adjustment values to rates. This is better described in code comments. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit c21b39aca4f8f4975784e54cd3a1b80bab80dcc0 Author: Stefano Brivio Date: Wed Dec 19 01:26:16 2007 +0100 mac80211: make PID rate control algorithm the default This makes the new PID TX rate control algorithm the default instead of the rc80211_simple rate control algorithm. The simple algorithm was flawed in several ways: it wasn't responsive at all and didn't age the information it was relying on properly. The PID algorithm allows us to tune characteristics such as responsiveness by adjusting parameters and was found to generally behave better. The default algorithm can be overridden to select simple instead. Which ever algorithm is the default is included as part of the mac80211 module automatically. The other algorithm (simple vs. pid) can be selected for inclusion as well. If EMBEDDED is selected then the choice is available to have no default specified and neither algorithm included in mac80211. The default algorithm can be set through a modparam. While at it, mark rc80211-simple as deprecated, and schedule it for removal. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit b92edbe0b8a36a833c16b0cbafb6e899b81ffc08 Author: Eric Dumazet Date: Thu Dec 20 21:48:32 2007 -0800 [TCP] Avoid two divides in tcp_output.c Because 'free_space' variable in __tcp_select_window() is signed, expression (free_space / 2) forces compiler to emit an integer divide. This can be changed to a plain right shift, less expensive. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 68277accb3a5f004344f4346498640601b8b7016 Author: Paul Moore Date: Thu Dec 20 20:49:33 2007 -0800 [XFRM]: Assorted IPsec fixups This patch fixes a number of small but potentially troublesome things in the XFRM/IPsec code: * Use the 'audit_enabled' variable already in include/linux/audit.h Removed the need for extern declarations local to each XFRM audit fuction * Convert 'sid' to 'secid' everywhere we can The 'sid' name is specific to SELinux, 'secid' is the common naming convention used by the kernel when refering to tokenized LSM labels, unfortunately we have to leave 'ctx_sid' in 'struct xfrm_sec_ctx' otherwise we risk breaking userspace * Convert address display to use standard NIP* macros Similar to what was recently done with the SPD audit code, this also also includes the removal of some unnecessary memcpy() calls * Move common code to xfrm_audit_common_stateinfo() Code consolidation from the "less is more" book on software development * Proper spacing around commas in function arguments Minor style tweak since I was already touching the code Signed-off-by: Paul Moore Acked-by: James Morris Signed-off-by: David S. Miller commit 8ea843495df36036cb7f22f61994b34f8362b443 Author: Masahide NAKAMURA Date: Thu Dec 20 20:44:02 2007 -0800 [XFRM]: Add packet processing statistics option. Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit 0aa647746e5602e608220c10e51f49709a030f5d Author: Masahide NAKAMURA Date: Thu Dec 20 20:43:36 2007 -0800 [XFRM]: Support to increment packet dropping statistics. Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit 558f82ef6e0d25e87f7468c07b6db1fbbf95a855 Author: Masahide NAKAMURA Date: Thu Dec 20 20:42:57 2007 -0800 [XFRM]: Define packet dropping statistics. This statistics is shown factor dropped by transformation at /proc/net/xfrm_stat for developer. It is a counter designed from current transformation source code and defined as linux private MIB. See Documentation/networking/xfrm_proc.txt for the detail. Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit 9473e1f631de339c50bde1e3bd09e1045fe90fd5 Author: Masahide NAKAMURA Date: Thu Dec 20 20:41:57 2007 -0800 [XFRM] MIPv6: Fix to input RO state correctly. Disable spin_lock during xfrm_type.input() function. Follow design as IPsec inbound does. Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit a1b051405bc16222d92c73b0c26d65b333a154ee Author: Masahide NAKAMURA Date: Thu Dec 20 20:41:12 2007 -0800 [XFRM] IPv6: Fix dst/routing check at transformation. IPv6 specific thing is wrongly removed from transformation at net-2.6.25. This patch recovers it with current design. o Update "path" of xfrm_dst since IPv6 transformation should care about routing changes. It is required by MIPv6 and off-link destined IPsec. o Rename nfheader_len which is for non-fragment transformation used by MIPv6 to rt6i_nfheader_len as IPv6 name space. Signed-off-by: Masahide NAKAMURA Acked-by: Herbert Xu Signed-off-by: David S. Miller commit bd515c3e48ececd774eb3128e81b669dbbd32637 Author: Ilpo Järvinen Date: Thu Dec 20 20:36:03 2007 -0800 [TCP]: Fix TSO deferring I'd say that most of what tcp_tso_should_defer had in between there was dead code because of this. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 255f97b3117cbe10b2493f7f12d66a81dfbcdf43 Author: Matt Carlson Date: Thu Dec 20 20:10:38 2007 -0800 [TG3]: Update version to 3.87 This patch updates the version number to 3.87. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit ef167e27039eeaea6d3cdd5c547b082e89840bdd Author: Matt Carlson Date: Thu Dec 20 20:10:01 2007 -0800 [TG3]: Fix supporting flowctrl code This patch does three things. It modifies tg3_setup_flow_control() to use the administrator requested flow control settings if autonegotiation is turned off. It slightly modifies the tg3_setup_fiber_mii_phy() function to account for this new use case. And finally, it does the same for tg3_setup_copper_phy(). The copper modifications are more than a small multi-line change. The new code makes an attempt to avoid a link renegotiation if the link is active at half duplex and the only difference between the current advertised settings and requested advertised settings is the flow control advertisements. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 5be73b471bbed9ca61ddfd952a2cb7701f94f034 Author: Matt Carlson Date: Thu Dec 20 20:09:29 2007 -0800 [TG3]: Correct sw autoneg flow control advertisements This patch modifies the software autoneg code to use the administrator specified flow control parameters. Since the autonegotiation code uses alternative flow control enumerations, the 1000-BaseX utility functions are used and code was added to convert the definitions to and from the alternate enumerations. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 82cd3d11f359763da445a7636ee683a922aaf025 Author: Matt Carlson Date: Thu Dec 20 20:09:00 2007 -0800 [TG3]: Correct 5704S flowctrl advertisements This patch modifies the 5704S hardware autoneg code to use the administrator specified flow control parameters. Since the 5704S uses device specific flow control enumerations, the 1000-BaseX utility functions are used and code was added to convert the definitions to and from the proprietary enumerations. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit c98f6e3be1d1b9bc9299d84da4f0b1ea9a50f392 Author: Matt Carlson Date: Thu Dec 20 20:08:32 2007 -0800 [TG3]: Replace some magic 5704S constants This patch replaces magic values with preprocessor definitions for the sg_dig_ctrl and sg_dig_status registers. This is preparatory work for the next patch. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit ba4d07a8483e6ec0de3194960f8aca862711454c Author: Matt Carlson Date: Thu Dec 20 20:08:00 2007 -0800 [TG3]: Add 1000T & 1000X flowctl adv helpers This patch adds two functions designed to convert abstract TX & RX flow control parameters to 1000-BaseT and 1000-BaseX autonegotiation advertisements. Code that uses standard definitions which statically advertises TX & RX flow control has been replaced with code that configures the advertisements based on administrator dictated preferences. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 95937268b7c4c334a3d98f7177c7d5a00b74b2e7 Author: Matt Carlson Date: Thu Dec 20 20:06:19 2007 -0800 [TG3]: Add 1000T & 1000X flowctrl resolvers This patch adds two new utility functions to resolve flow control. One function resolves flow control based on 1000-BaseT register definitions. The other resolves flow control based on 1000-Base X register definitions. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 8d018621085b8d00511768c343d941676bd77ee9 Author: Matt Carlson Date: Thu Dec 20 20:05:44 2007 -0800 [TG3]: Separate requested and actual flow control parameters This patch removes the TX and RX flow control flags from tg3_flags and adds two new flow control variables, flowctrl and active_flowctrl. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit a43d8994b959a6daeeadcd1be6d4a9045b7029ac Author: Pavel Emelyanov Date: Thu Dec 20 15:49:05 2007 -0800 [NEIGH]: Make neigh_add_timer symmetrical to neigh_del_timer. The neigh_del_timer() looks sane - it removes the timer and (conditionally) puts the neighbor. I expected, that the neigh_add_timer() is symmetrical to the del one - i.e. it holds the neighbor and arms the timer - but it turned out that it was not so. I think, that making them look symmetrical makes the code more readable. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 7054fb9376e111d0edc06efcedbac6930a6caf76 Author: Pavel Emelyanov Date: Thu Dec 20 15:32:54 2007 -0800 [INET]: Uninline the inet_twsk_put function. This one is not that big, but is widely used: saves 1200 bytes from net/ipv4/built-in.o add/remove: 1/0 grow/shrink: 1/12 up/down: 97/-1300 (-1203) function old new delta inet_twsk_put - 87 +87 __inet_lookup_listener 274 284 +10 tcp_sacktag_write_queue 2255 2254 -1 tcp_time_wait 482 411 -71 __inet_check_established 796 722 -74 tcp_v4_err 973 898 -75 __inet_twsk_kill 230 154 -76 inet_twsk_deschedule 180 103 -77 tcp_v4_do_rcv 462 384 -78 inet_hash_connect 686 607 -79 inet_twdr_do_twkill_work 236 150 -86 inet_twdr_twcal_tick 395 307 -88 tcp_v4_rcv 1744 1480 -264 tcp_timewait_state_process 975 644 -331 Export it for ipv6 module. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 77a5ba55dab7b4ece12f37c717022819e3f77b44 Author: Pavel Emelyanov Date: Thu Dec 20 15:32:17 2007 -0800 [INET]: Uninline the __inet_lookup_established function. This is -700 bytes from the net/ipv4/built-in.o add/remove: 1/0 grow/shrink: 1/3 up/down: 340/-1040 (-700) function old new delta __inet_lookup_established - 339 +339 tcp_sacktag_write_queue 2254 2255 +1 tcp_v4_err 1304 973 -331 tcp_v4_rcv 2089 1744 -345 tcp_v4_do_rcv 826 462 -364 Exporting is for dccp module (used via e.g. inet_lookup). Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 152da81deb9a4870aeac352336184b2b14d4b2ba Author: Pavel Emelyanov Date: Thu Dec 20 15:31:33 2007 -0800 [INET]: Uninline the __inet_hash function. This one is used in quite many places in the networking code and seems to big to be inline. After the patch net/ipv4/build-in.o loses ~650 bytes: add/remove: 2/0 grow/shrink: 0/5 up/down: 461/-1114 (-653) function old new delta __inet_hash_nolisten - 282 +282 __inet_hash - 179 +179 tcp_sacktag_write_queue 2255 2254 -1 __inet_lookup_listener 284 274 -10 tcp_v4_syn_recv_sock 755 493 -262 tcp_v4_hash 389 35 -354 inet_hash_connect 1086 599 -487 This version addresses the issue pointed by Eric, that while being inline this function was optimized by gcc in respect to the 'listen_possible' argument. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit d6701191329b51793bc56724548f0863d2149c29 Author: Vlad Yasevich Date: Thu Dec 20 14:13:31 2007 -0800 [SCTP]: Follow Add-IP security consideratiosn wrt INIT/INIT-ACK The Security Considerations section of RFC 5061 has the following text: If an SCTP endpoint that supports this extension receives an INIT that indicates that the peer supports the ASCONF extension but does NOT support the [RFC4895] extension, the receiver of such an INIT MUST send an ABORT in response. Note that an implementation is allowed to silently discard such an INIT as an option as well, but under NO circumstance is an implementation allowed to proceed with the association setup by sending an INIT-ACK in response. An implementation that receives an INIT-ACK that indicates that the peer does not support the [RFC4895] extension MUST NOT send the COOKIE-ECHO to establish the association. Instead, the implementation MUST discard the INIT-ACK and report to the upper- layer user that an association cannot be established destroying the Transmission Control Block (TCB). Follow the recomendations. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 75205f478331cc64ce729ea72d3c8c1837fb59cb Author: Vlad Yasevich Date: Thu Dec 20 14:12:59 2007 -0800 [SCTP]: Implement ADD-IP special case processing for ABORT chunk ADD-IP spec has a special case for processing ABORTs: F4) ... One special consideration is that ABORT Chunks arriving destined to the IP address being deleted MUST be ignored (see Section 5.3.1 for further details). Check if the address we received on is in the DEL state, and if so, ignore the ABORT. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit f57d96b2e92d209ab3991bba9a44e0d6ef7614a8 Author: Vlad Yasevich Date: Thu Dec 20 14:12:24 2007 -0800 [SCTP]: Change use_as_src into a full address state Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit a08de64d074b36a56ee3bb985cd171281db78e96 Author: Vlad Yasevich Date: Thu Dec 20 14:11:47 2007 -0800 [SCTP]: Update ASCONF processing to conform to spec. The processing of the ASCONF chunks has changed a lot in the spec. New items are: 1. A list of ASCONF-ACK chunks is now cached 2. The source of the packet is used in response. 3. New handling for unexpect ASCONF chunks. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit ba8a06daed7d7c8785c92c343da9e202e6988fda Author: Vlad Yasevich Date: Thu Dec 20 14:11:11 2007 -0800 [SCTP]: ADD-IP updates the states where ASCONFs can be sent C4) Both ASCONF and ASCONF-ACK Chunks MUST NOT be sent in any SCTP state except ESTABLISHED, SHUTDOWN-PENDING, SHUTDOWN-RECEIVED, and SHUTDOWN-SENT. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit df21857714398acb8b24a8bb5a6d2286dd9c59ef Author: Vlad Yasevich Date: Thu Dec 20 14:10:38 2007 -0800 [SCTP]: Update association lookup to look at ASCONF chunks as well ADD-IP draft section 5.2 specifies that if an association can not be found using the source and destination of the IP packet, then, if the packet contains ASCONF chunks, the Address Parameter TLV should be used to lookup an association. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit d6de3097592b7ae7f8e233a4dafb088e2aa8170f Author: Vlad Yasevich Date: Thu Dec 20 14:10:00 2007 -0800 [SCTP]: Add the handling of "Set Primary IP Address" parameter to INIT The ADD-IP "Set Primary IP Address" parameter is allowed in the INIT/INIT-ACK exchange. Allow processing of this parameter during the INIT/INIT-ACK. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 42e30bf3463cd37d73839376662cb79b4d5c416c Author: Vlad Yasevich Date: Thu Dec 20 14:08:56 2007 -0800 [SCTP]: Handle the wildcard ADD-IP Address parameter The Address Parameter in the parameter list of the ASCONF chunk may be a wildcard address. In this case special processing is required. For the 'add' case, the source IP of the packet is added. In the 'del' case, all addresses except the source IP of packet are removed. In the "mark primary" case, the source address is marked as primary. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 6afd2e83cd86b17b074e1854d063b8ec590d7f5b Author: Vlad Yasevich Date: Thu Dec 20 14:08:04 2007 -0800 [SCTP]: Discard unauthenticated ASCONF and ASCONF ACK chunks Now that we support AUTH, discard unauthenticated ASCONF and ASCONF ACK chunks as mandated in the ADD-IP spec. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 195ad6a3ac8b5c4eef4916efcb673e96e6f09d89 Author: Herbert Xu Date: Thu Dec 20 13:53:40 2007 -0800 [IPSEC]: Rename tunnel-mode functions to avoid collisions with tunnels It appears that I've managed to create two different functions both called xfrm6_tunnel_output. This is because we have the plain tunnel encapsulation named xfrmX_tunnel as well as the tunnel-mode encapsulation which lives in the files xfrmX_mode_tunnel.c. This patch renames functions from the latter to use the xfrmX_mode_tunnel prefix to avoid name-space conflicts. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit ad01837593338f13508463fa11c8dbf8109a1e5d Author: Mattias Nissler Date: Wed Dec 19 01:25:57 2007 +0100 mac80211: add PID controller based rate control algorithm Add a new rate control algorithm based on a PID controller. It samples the percentage of failed frames over time, feeds the result into the controller and uses its output to control the TX rate. Signed-off-by: Mattias Nissler Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 1abbe498e4b5e4f2000dfc30a0fa25be9553530e Author: Mattias Nissler Date: Thu Dec 20 13:50:07 2007 +0100 mac80211: clean up rate selection Move some code out of rc80211_simple since it's probably needed for all rate selection algorithms, and fix iwlwifi accordingly. While at it, clean up the rate_control_get_rate() interface. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 98f0b0a3a412eade153c7cf00c6b863600980d89 Author: Ron Rindjunsky Date: Tue Dec 18 17:23:53 2007 +0200 mac80211: pass in PS_POLL frames This patch fixes should_drop_frame function to pass in ps poll control frames required for power save functioanlity. Interface types that do not have interest for PS POLL frames now drop it in handler. Signed-off-by: Ron Rindjunsky Acked-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit d647b36a69bf0a630ebf981bde3c0651e2779e5e Author: Herbert Xu Date: Thu Dec 20 04:13:21 2007 -0800 [SNMP]: Fix SNMP counters with PREEMPT The SNMP macros use raw_smp_processor_id() in process context which is illegal because the process may be preempted and then migrated to another CPU. This patch makes it use get_cpu/put_cpu to disable preemption. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 2caf62f6cae46e36b1c4a1b0f2d9ef82af89cad2 Author: Joe Perches Date: Thu Dec 20 04:07:35 2007 -0800 [NIU]: Use print_mac Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit d66453722873e1595b7934acbdcd5cdfa6982d6c Author: Joe Perches Date: Thu Dec 20 04:06:59 2007 -0800 [TG3]: Use print_mac Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 137919a9ba10897b579618f19bfaa0b18c09c398 Author: Joe Perches Date: Thu Dec 20 04:06:25 2007 -0800 [SUNVNET]: Use print_mac Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 910ef70aa301eb018255683499b8e51426c213a0 Author: Herbert Xu Date: Tue Dec 18 22:14:25 2007 -0800 [IPSEC]: Do xfrm_state_check_space before encapsulation While merging the IPsec output path I moved the encapsulation output operation to the top of the loop so that it sits outside of the locked section. Unfortunately in doing so it now sits in front of the space check as well which could be a fatal error. This patch rearranges the calls so that the space check happens as the thing on the output path. This patch also fixes an incorrect goto should the encapsulation output fail. Thanks to Kazunori MIYAZAWA for finding this bug. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 33b8e776056202aceaf4c90f465d0f4ee53432ac Author: Patrick McHardy Date: Mon Dec 17 22:47:05 2007 -0800 [NETFILTER]: Add CONFIG_NETFILTER_ADVANCED option The NETFILTER_ADVANCED option hides lots of the rather obscure netfilter options when disabled and provides defaults (M) that should allow to run a distribution firewall without further thinking. Defaults to 'y' to avoid breaking current configurations. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 34498825cb9062192b77fa02dae672a4fe6eec70 Author: Patrick McHardy Date: Mon Dec 17 22:45:52 2007 -0800 [NETFILTER]: non-power-of-two jhash optimizations Apply Eric Dumazet's jhash optimizations where applicable. Quoting Eric: Thanks to jhash, hash value uses full 32 bits. Instead of returning hash % size (implying a divide) we return the high 32 bits of the (hash * size) that will give results between [0 and size-1] and same hash distribution. On most cpus, a multiply is less expensive than a divide, by an order of magnitude. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7b21e09d1c17ef0296ec5a6df231a6c5c87b2fd7 Author: Eric Dumazet Date: Mon Dec 17 22:45:28 2007 -0800 [NETFILTER]: xt_hashlimit: reduce overhead without IPv6 This patch generalizes the (CONFIG_IP6_NF_IPTABLES || CONFIG_IP6_NF_IPTABLES_MODULE) test done in hashlimit_init_dst() to all the xt_hashlimit module. This permits a size reduction of "struct dsthash_dst". This saves memory and cpu for IPV4 only hosts. Signed-off-by: Eric Dumazet Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e2f82ac3fcffffca59751b65124544d11ed8be4a Author: Eric Dumazet Date: Mon Dec 17 22:45:13 2007 -0800 [NETFILTER]: xt_hashlimit: speedup hash_dst() 1) Using jhash2() instead of jhash() is a litle bit faster if applicable. 2) Thanks to jhash, hash value uses full 32 bits. Instead of returning hash % size (implying a divide) we return the high 32 bits of the (hash * size) that will give results between [0 and size-1] and same hash distribution. On most cpus, a multiply is less expensive than a divide, by an order of magnitude. Signed-off-by: Eric Dumazet Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 22c2d8bca212a655c120fd6617328ffa3480afad Author: Jan Engelhardt Date: Mon Dec 17 22:44:47 2007 -0800 [NETFILTER]: xt_connlimit: use the new union nf_inet_addr Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e79ec50b9587c175f65f98550d66ad5b96c05dd9 Author: Jan Engelhardt Date: Mon Dec 17 22:44:06 2007 -0800 [NETFILTER]: Parenthesize macro parameters Parenthesize macro parameters. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 643a2c15a407faf08101a20e1a3461160711899d Author: Jan Engelhardt Date: Mon Dec 17 22:43:50 2007 -0800 [NETFILTER]: Introduce nf_inet_address A few netfilter modules provide their own union of IPv4 and IPv6 address storage. Will unify that in this patch series. (1/4): Rename union nf_conntrack_address to union nf_inet_addr and move it to x_tables.h. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit df54aae02210e1acf3a1d2ffac9b29003835710c Author: Jan Engelhardt Date: Mon Dec 17 22:43:15 2007 -0800 [NETFILTER]: x_tables: use %u format specifiers Use %u format specifiers as ->family is unsigned. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 051578ccbcdad3b24b621dfb652194e36759e8d5 Author: Patrick McHardy Date: Mon Dec 17 22:42:51 2007 -0800 [NETFILTER]: nf_nat: properly use RCU for ip_nat_decode_session We need to use rcu_assign_pointer/rcu_dereference to avoid races. Also remove an obsolete CONFIG_IP_NAT_NEEDED ifdef. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1e796fda00f06bac584f0e4ad8750ab9430d79d3 Author: Patrick McHardy Date: Mon Dec 17 22:42:27 2007 -0800 [NETFILTER]: constify nf_afinfo Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 90a9ba8dd90bcffe279d3272545bccba6dcc8d7c Author: Patrick McHardy Date: Mon Dec 17 22:42:09 2007 -0800 [NETFILTER]: Kill function prototype for non-existing function Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 76aa1ce139f649e432272f6ad75204b763ef13bd Author: Patrick McHardy Date: Mon Dec 17 22:41:52 2007 -0800 [NETFILTER]: nfnetlink_log: include GID in netlink message Similar to Maciej Soltysiak's ipt_LOG patch, include GID in addition to UID in netlink message. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0dfedd28746266a35b3008cb6bb03466115e95b9 Author: Patrick McHardy Date: Mon Dec 17 22:41:35 2007 -0800 [NETFILTER]: nfnetlink_log: use endianness-aware attribute functions Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit baab2ce7d2a8dbf6280ab09c011cfec1dd5972de Author: Patrick McHardy Date: Mon Dec 17 22:41:21 2007 -0800 [NETFILTER]: nfnetlink_{queue,log}: return proper error codes in instance_create Currently we return EINVAL for "instance exists", "allocation failed" and "module unloaded below us", which is completely inapproriate. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1792bab4caaa85bae858799bb6231f171f59b58a Author: Patrick McHardy Date: Mon Dec 17 22:41:02 2007 -0800 [NETFILTER]: nfnetlink_log: remove excessive debugging Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit cd21f0ac43f8d7f23573a01ada7fb2c96e686ff8 Author: Patrick McHardy Date: Mon Dec 17 22:40:19 2007 -0800 [NETFILTER]: nfnetlink_{queue,log}: return ENOTSUPP for unknown cfg commands Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c0506365a928adfd5608ed6873a705ae18e2daaf Author: Patrick McHardy Date: Mon Dec 17 22:39:55 2007 -0800 [NETFILTER]: nfnetlink_log: fix checks in nfulnl_recv_config Similar to the nfnetlink_queue fixes: The peer_pid must be checked in all cases when a logging instance exists, additionally we must check whether an instance exists before attempting to configure it to avoid NULL ptr dereferences. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a7c42955e036127f793ad955d3ec718494efb1eb Author: Patrick McHardy Date: Mon Dec 17 22:39:27 2007 -0800 [NETFILTER]: nf_log: remove incomprehensible comment Whatever that comment tries to say, I don't get it and it looks like a leftover from the time when RCU wasn't used properly. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7b2f9631e789c3e7d59201c21f09a24cd6ce3b1a Author: Patrick McHardy Date: Mon Dec 17 22:39:08 2007 -0800 [NETFILTER]: nf_log: constify struct nf_logger and nf_log_packet loginfo arg Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f01ffbd6e7d001ccf9168b33507958a51ce0ffcf Author: Patrick McHardy Date: Mon Dec 17 22:38:49 2007 -0800 [NETFILTER]: nf_log: move logging stuff to seperate header Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit cc01dcbd26865addfe9eb5431f1f9dbc511515ba Author: Patrick McHardy Date: Mon Dec 17 22:38:20 2007 -0800 [NETFILTER]: nf_nat: pass manip type instead of hook to nf_nat_setup_info nf_nat_setup_info gets the hook number and translates that to the manip type to perform. This is a relict from the time when one manip per hook could exist, the exact hook number doesn't matter anymore, its converted to the manip type. Most callers already know what kind of NAT they want to perform, so pass the maniptype in directly. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ce4b1cebdcd4779097e9862670e5c5208e76712b Author: Patrick McHardy Date: Mon Dec 17 22:37:52 2007 -0800 [NETFILTER]: nf_nat: sprinkle a few __read_mostlys Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2b628a0866860d44652362aafe403e5b5895583d Author: Patrick McHardy Date: Mon Dec 17 22:37:36 2007 -0800 [NETFILTER]: nf_nat: mark NAT protocols const Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3ee9e760387c38558df976bc2905959826adf331 Author: Patrick McHardy Date: Mon Dec 17 22:37:20 2007 -0800 [NETFILTER]: nf_nat_proto_gre: add missing module reference Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d978e5daec544ec72b28bf72a30dc9ac3da23a35 Author: Patrick McHardy Date: Mon Dec 17 22:37:03 2007 -0800 [NETFILTER]: ctnetlink: fix expectation timeout dumping When the timer is late its timeout might be before the current time, in which case a very large value is dumped. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 77236b6e33b06aaf756a86ed1965ca7d460b1b53 Author: Patrick McHardy Date: Mon Dec 17 22:29:45 2007 -0800 [NETFILTER]: ctnetlink: use netlink attribute helpers Use NLA_PUT_BE32, nla_get_be32() etc. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 838965ba22066c7fcdbacfc543c387d0eb76c14c Author: Patrick McHardy Date: Mon Dec 17 22:29:26 2007 -0800 [NETLINK]: Add NLA_PUT_BE16/nla_get_be16() Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c7212e9d3938258abe3fd17d15bb0d5c1856b8df Author: Pablo Neira Ayuso Date: Mon Dec 17 22:29:02 2007 -0800 [NETFILTER]: nf_conntrack_sctp: add ctnetlink support This patch adds support for SCTP to ctnetlink. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 37fccd8577d38e249dde71512fb38d2f6a4d9d3c Author: Pablo Neira Ayuso Date: Mon Dec 17 22:28:41 2007 -0800 [NETFILTER]: ctnetlink: add support for secmark This patch adds support for James Morris' connsecmark. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0f417ce989f84cfd5418e3b316064bfbb2708196 Author: Pablo Neira Ayuso Date: Mon Dec 17 22:28:19 2007 -0800 [NETFILTER]: ctnetlink: add support for master tuple event notification and dumping This patch adds support for master tuple event notification and dumping. Conntrackd needs this information to recover related connections appropriately. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 13eae15a244bb29beaa47bf86a24fd29ca7f8a4c Author: Pablo Neira Ayuso Date: Mon Dec 17 22:28:00 2007 -0800 [NETFILTER]: ctnetlink: add support for NAT sequence adjustments The combination of NAT and helpers may produce TCP sequence adjustments. In failover setups, this information needs to be replicated in order to achieve a successful recovery of mangled, related connections. This patch is particularly useful for conntrackd, see: http://people.netfilter.org/pablo/conntrack-tools/ Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 170080645dac61816455afad807ffeb326ce79e8 Author: Benjamin LaHaise Date: Mon Dec 17 22:27:36 2007 -0800 [NETFILTER]: xt_TCPMSS: don't allow netfilter --setmss to increase mss When terminating DSL connections for an assortment of random customers, I've found it necessary to use iptables to clamp the MSS used for connections to work around the various ICMP blackholes in the greater net. Unfortunately, the current behaviour in Linux is imperfect and actually make things worse, so I'm proposing the following: increasing the MSS in a packet can never be a good thing, so make --set-mss only lower the MSS in a packet. Yes, I am aware of --clamp-mss-to-pmtu, but it doesn't work for outgoing connections from clients (ie web traffic), as it only looks at the PMTU on the destination route, not the source of the packet (the DSL interfaces in question have a 1442 byte MTU while the destination ethernet interface is 1500 -- there are problematic hosts which use a 1300 byte MTU). Reworking that is probably a good idea at some point, but it's more work than this is. Signed-off-by: Benjamin LaHaise Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d6a2ba07c31b0497fc82a8c175400ea8747da2ef Author: Patrick McHardy Date: Mon Dec 17 22:26:54 2007 -0800 [NETFILTER]: arp_tables: add compat support Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 11f6dff8af95d8d1d14bef70d384029c5acf6e04 Author: Patrick McHardy Date: Mon Dec 17 22:26:38 2007 -0800 [NETFILTER]: arp_tables: resync get_entries() with ip_tables Resync get_entries() with ip_tables.c by moving the checks from the setsockopt handler to the function itself. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 41acd975b954ad6ec4943d77e5920f2eeaf54518 Author: Patrick McHardy Date: Mon Dec 17 22:26:24 2007 -0800 [NETFILTER]: arp_tables: move ARPT_SO_GET_INFO handling to seperate function Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 27e2c26b85b6b234411d94127201436c1ec9c002 Author: Patrick McHardy Date: Mon Dec 17 21:56:48 2007 -0800 [NETFILTER]: arp_tables: move counter allocation to seperate function More resyncing with ip_tables.c as preparation for compat support. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit fb5b6095f320bd5a615049aa5fe8827ae9d1bf80 Author: Patrick McHardy Date: Mon Dec 17 21:56:33 2007 -0800 [NETFILTER]: arp_tables: move entry and target checks to seperate functions Resync with ip_tables.c as preparation for compat support. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 70f0bfcf6a24e259d51f62354f866f42f8a3d317 Author: Patrick McHardy Date: Mon Dec 17 21:56:14 2007 -0800 [NETFILTER]: arp_tables: remove ipchains compat hack Remove compatiblity hack copied from ip_tables.c - ipchains didn't even support arp_tables :) Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 197631201ec2833f50ac50e6aa7c8ee151e66dda Author: Patrick McHardy Date: Mon Dec 17 21:55:59 2007 -0800 [NETFILTER]: arp_tables: use vmalloc_node() Use vmalloc_node() as in ip_tables.c. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0495cf957bfacbca123cb4c4e1c4cf0e265f522e Author: Patrick McHardy Date: Mon Dec 17 21:55:34 2007 -0800 [NETFILTER]: arp_tables: use XT_ALIGN Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 03dafbbdf8a5e8a9e3e347a393930ed49506d00b Author: Patrick McHardy Date: Mon Dec 17 21:55:16 2007 -0800 [NETFILTER]: arp_tables: remove obsolete standard_check function The size check is already performed by xt_check_target, no need to do it again. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 06e1374a7ed45f1788353a2944a20133adc55649 Author: Patrick McHardy Date: Mon Dec 17 21:53:40 2007 -0800 [NETFILTER]: ip6_tables: use XT_ALIGN Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6d6a55f42d93eeba7add62c3ad6a5409c6fd24ae Author: Patrick McHardy Date: Mon Dec 17 21:53:18 2007 -0800 [NETFILTER]: ip_tables: remove ipchains compatibility hack ipchains support has been removed years ago. kill last remains. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit da4d0f6b3d3c7bcd00e097d48416e0a1dfde2a0f Author: Patrick McHardy Date: Mon Dec 17 21:52:52 2007 -0800 [NETFILTER]: ip6_tables: use raw_smp_processor_id() in do_add_counters() Use raw_smp_processor_id() in do_add_counters() as in ip_tables.c. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b5dd674b2a1de5925955a088b0a10f81484e975a Author: Patrick McHardy Date: Mon Dec 17 21:52:35 2007 -0800 [NETFILTER]: ip6_tables: fix stack leagage Fix leakage of local variable on stack. This already got fixed in ip_tables silently by the compat patches. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c9d8fe13175140c79982f9d29c6921328f9afad6 Author: Patrick McHardy Date: Mon Dec 17 21:52:15 2007 -0800 [NETFILTER]: {ip,ip6}_tables: fix format strings Use %zu for sizeof() and remove casts. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9c54795950d198e77144a18c94e7ed52ea0f3c77 Author: Patrick McHardy Date: Mon Dec 17 21:52:00 2007 -0800 [NETFILTER]: {ip,ip6}_tables: reformat to eliminate differences Reformat ip_tables.c and ip6_tables.c in order to eliminate non-functional differences and minimize diff output. This allows to get a view of the real differences using: sed -e 's/IP6T/IPT/g' \ -e 's/IP6/IP/g' \ -e 's/INET6/INET/g' \ -e 's/ip6t/ipt/g' \ -e 's/ip6/ip/g' \ -e 's/ipv6/ip/g' \ -e 's/icmp6/icmp/g' \ net/ipv6/netfilter/ip6_tables.c | \ diff -wup /dev/stdin net/ipv4/netfilter/ip_tables.c Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1fe5723773656a8ee7a981caf7fee9adb0ac6259 Author: Patrick McHardy Date: Mon Dec 17 21:51:33 2007 -0800 [NETFILTER]: xt_MARK: add compat support for revision 0 Old userspace doesn't support revision 1, especially for IPv6, which is only available in the SVN snapshot. Add compat support for revision 0. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 311af5cbeab8ce2b9252ce65272e427eeb8093b7 Author: Patrick McHardy Date: Mon Dec 17 21:51:14 2007 -0800 [NETFILTER]: xt_MARK: support revision 1 for IPv6 The current netfilter SVN version includes support for this, so enable it in the kernel as well. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 34f4c4295eb2580ca67677dea14a2839aedc403f Author: Patrick McHardy Date: Mon Dec 17 21:50:53 2007 -0800 [NETFILTER]: x_tables: enable compat translation for IPv6 matches/targets Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3bc3fe5eed5e866c0871db6d745f3bf58af004ef Author: Patrick McHardy Date: Mon Dec 17 21:50:37 2007 -0800 [NETFILTER]: ip6_tables: add compat support Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d924357c50d83e76d30dd5b81b5804815a2ae31c Author: Patrick McHardy Date: Mon Dec 17 21:50:22 2007 -0800 [NETFILTER]: ip6_tables: resync get_entries() with ip_tables Resync get_entries() with ip_tables.c by moving the checks from the setsockopt handler to the function itself. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 433665c9d110d783ea4043c59657f0437fcc31dd Author: Patrick McHardy Date: Mon Dec 17 21:50:05 2007 -0800 [NETFILTER]: ip6_tables: move IP6T_SO_GET_INFO handling to seperate function Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ed1a6f5e77441c4020b8541b3f03f03e37d638e1 Author: Patrick McHardy Date: Mon Dec 17 21:49:51 2007 -0800 [NETFILTER]: ip6_tables: move counter allocation to seperate function More resyncing with ip_tables.c as preparation for compat support. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3b84e92b0d54864b0731c3ab3c20dd140bb3d7d9 Author: Patrick McHardy Date: Mon Dec 17 21:48:33 2007 -0800 [NETFILTER]: ip6_tables: use vmalloc_node() Consistently use vmalloc_node for all counter allocations. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f173c8a1f2c0ca39f45bb15b82ad5e6fe908556d Author: Patrick McHardy Date: Mon Dec 17 21:48:17 2007 -0800 [NETFILTER]: ip6_tables: move entry, match and target checks to seperate functions Resync with ip_tables.c as preparation for compat support. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 72f36ec14fb5006886bc0655ec2b43bf1ad53a26 Author: Patrick McHardy Date: Mon Dec 17 21:48:02 2007 -0800 [NETFILTER]: ip6_tables: kill a few useless defines/forward declarations Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b386d9f5960a9afce7f077edf2095fccfbb1a8e6 Author: Patrick McHardy Date: Mon Dec 17 21:47:48 2007 -0800 [NETFILTER]: ip_tables: move compat offset calculation to x_tables Its needed by ip6_tables and arp_tables as well. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 73cd598df46a73d6f02063f2520df115a9b88aa5 Author: Patrick McHardy Date: Mon Dec 17 21:47:32 2007 -0800 [NETFILTER]: ip_tables: fix compat types Use compat types and compat iterators when dealing with compat entries for clarity. This doesn't actually make a difference for ip_tables, but is needed for ip6_tables and arp_tables. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 30c08c41be75145b8850ea14b2d5ee4ee4b705d8 Author: Patrick McHardy Date: Mon Dec 17 21:47:14 2007 -0800 [NETFILTER]: ip_tables: account for struct ipt_entry/struct compat_ipt_entry size diff Account for size differences when dumping entries or calculating the entry positions. This doesn't actually make any difference for IPv4 since the structures have the same size, but its logically correct and needed for IPv6. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 89c002d66aafab93814b38d8dae43fa50aec390a Author: Patrick McHardy Date: Mon Dec 17 21:46:59 2007 -0800 [NETFILTER]: {ip,ip6,arp}_tables: consolidate iterator macros Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8956695131b8a7878891667469899d667eb5892b Author: Patrick McHardy Date: Mon Dec 17 21:46:40 2007 -0800 [NETFILTER]: x_tables: make xt_compat_match_from_user usable in iterator macros Make xt_compat_match_from_user return an int to make it usable in the *tables iterator macros and kill a now unnecessary wrapper function. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4b4782486d49547bc589b64acfb956bda05f0fca Author: Patrick McHardy Date: Mon Dec 17 21:46:15 2007 -0800 [NETFILTER]: ip_tables: reformat compat code The compat code has some very odd formating, clean it up before porting it to ip6_tables. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ac8e27fd89ca16e02fa1f911480bc46d64edc9da Author: Patrick McHardy Date: Mon Dec 17 21:45:52 2007 -0800 [NETFILTER]: ip_tables: kill useless wrapper Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 03bffc1341c757e4b15a5a6058ad624e28b4801e Author: Johannes Berg Date: Tue Dec 4 20:33:40 2007 +0100 wireless: make drivers include the TSF RX flag where appropriate These drivers pass full mactime information to the stack, make them indicate this via the new RX_FLAG_TSFT to get mac80211 to show this information in monitor mode. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 374fdfbc67837c1f4369eedb0f371ce3e6cce832 Author: Dan Williams Date: Wed Dec 12 10:25:07 2007 -0500 introduce WEXT scan capabilities Introduce scan capabilities to WEXT so that userspace can do intelligent things with scan behavior such as handling hidden SSIDs more gracefully. If the driver reports a specific scan capability, the driver must respect the options specified in the iw_scan_req structure when handling the SIOCSIWSCAN call, unless it's mode or state does not allow it to do so, in which case it must return an error. This version switches to Dave Kilroy's suggestion of claiming unused padding space for the scan_capa field. Signed-off-by: Dan Williams Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit c49e5ea322c2fb43f430abb3c4a49eae1394287e Author: Johannes Berg Date: Tue Dec 11 21:33:42 2007 +0100 mac80211: conditionally include timestamp in radiotap information This makes mac80211 include the low-level MAC timestamp in the radiotap header if the driver indicated (by a new RX flag) that the timestamp is valid. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit a07a5a86d091699fd5e791765b8a79e6b1ef96cb Author: Gerrit Renker Date: Mon Dec 17 12:58:04 2007 -0200 [DCCP]: Remove unused inline function The function follows48(), which is a special-case of dccp_delta_seqno(), is nowhere used in the DCCP code, thus removed by this patch. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 52515e77a7a69867c479db4c9efb6be832b82179 Author: Gerrit Renker Date: Mon Dec 17 12:57:43 2007 -0200 [CCID3]: Nofeedback timer according to rfc3448bis This implements the changes to the nofeedback timer handling suggested in draft rfc3448bis00, section 4.4. In particular, these changes mean: * better handling of the lossless case (p == 0) * the timestamp for computing t_ld becomes obsolete * much more recent document (RFC 3448 is almost 5 years old) * concepts in rfc3448bis arose from a real, working implementation (cf. sec. 12) Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit d8d1252f744cb7cebd6ba3a4b7feec31ff23ccde Author: Gerrit Renker Date: Mon Dec 17 12:48:47 2007 -0200 [CCID3]: Implement rfc3448bis changes to feedback reception This implements the algorithm to update the allowed sending rate X upon receiving feedback packets, as described in draft rfc3448bis, 4.2/4.3. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 5bd370a63daf62bb5520c258f04e91a4d9d274dd Author: Gerrit Renker Date: Mon Dec 17 10:25:06 2007 -0200 [CCID3]: Remove two irrelevant states in TX feedback handling * the NO_SENT state is only triggered in bidirectional mode, costing unnecessary processing. * the TERM (terminating) state is irrelevant. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 8e138e7949490eebdccbd65b1f660a0488149a6b Author: Gerrit Renker Date: Mon Dec 17 10:07:44 2007 -0200 [CCID3]: Use a function to update p_inv, and p is never used This patch 1) concentrates previously scattered computation of p_inv into one function; 2) removes the `p' element of the CCID3 RX sock (it is redundant); 3) makes the tfrc_rx_info structure standalone, only used on demand. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 17159b0b494ad27f397f914d6eab1b91faf57630 Author: Joe Perches Date: Sun Dec 16 20:28:24 2007 -0800 [PARISC]: Fix build after ipv4_is_*() changes. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 9ad0977fe10bd5d052a6db7738afe017367c2e32 Author: Vlad Yasevich Date: Sun Dec 16 14:06:41 2007 -0800 [SCTP]: Use crc32c library for checksum calculations. The crc32c library used an identical table and algorithm as SCTP. Switch to using the library instead of carrying our own table. Using crypto layer proved to have too much overhead compared to using the library directly. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 1bf40954cf232a043a49623cf251f787c1871e64 Author: Herbert Xu Date: Sun Dec 16 14:04:02 2007 -0800 [PACKET]: Fix /proc/net/packet crash due to bogus private pointer The seq_open_net patch changed the meaning of seq->private. Unfortunately it missed two spots in AF_PACKET, which still used the old way of dereferencing seq->private, thus causing weird and wonderful crashes when reading /proc/net/packet. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 2d4d29802ff76de5af6123ef26c24ab512181223 Author: Joe Perches Date: Sun Dec 16 13:48:11 2007 -0800 [IPV4]: Remove unused IPV4TYPE macros Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 6360a02af1599e46b023ccbb85545ed97c6f662c Author: Joe Perches Date: Sun Dec 16 13:47:33 2007 -0800 [IPV4] drivers/infiniband: Use ipv4_is_ Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit b5cb2bbc4c6cb489941be881e8adfe136ee45b8e Author: Joe Perches Date: Sun Dec 16 13:46:59 2007 -0800 [IPV4] sctp: Use ipv4_is_ Signed-off-by: Joe Perches Acked-by: Vlad Yasevich Signed-off-by: David S. Miller commit 37ef8dd7f3f2f228336e3779e7cec762d90e1f00 Author: Joe Perches Date: Sun Dec 16 13:46:15 2007 -0800 [IPV4] net/netfilter: Use ipv4_is_ Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit f97c1e0c6ebdb606c97b6cb5e837c6110ac5a961 Author: Joe Perches Date: Sun Dec 16 13:45:43 2007 -0800 [IPV4] net/ipv4: Use ipv4_is_ Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 21cf2253ebcf070bc307e0b56d696a2519c75cb4 Author: Joe Perches Date: Sun Dec 16 13:44:00 2007 -0800 [IPV4] net/core: Use ipv4_is_ Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 3db8cda362dced00caf19865ffda3fa1028c59bc Author: Joe Perches Date: Sun Dec 16 13:43:24 2007 -0800 [IPV4] include/net: Use ipv4_is_ Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 2658fa803111dae1353602e7f586de8e537803e2 Author: Joe Perches Date: Sun Dec 16 13:42:49 2007 -0800 [IPV4]: Create ipv4_is_(__be32 addr) functions Change IPV4 specific macros LOOPBACK MULTICAST LOCAL_MCAST BADCLASS and ZERONET macros to inline functions ipv4_is_(__be32 addr) Adds type safety and arguably some readability. Changes since last submission: Removed ipv4_addr_octets function Used hex constants Converted recently added rfc3330 macros Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 586f12115264b767ea6a48ce081ca25a39c1e3dd Author: Pavel Emelyanov Date: Sun Dec 16 13:32:48 2007 -0800 [IPV4]: Switch users of ipv4_devconf(_all) to use the pernet one These are scattered over the code, but almost all the "critical" places already have the proper struct net at hand except for snmp proc showing function and routing rtnl handler. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 9355bbd685bf705a7f7bd6470b92ca0562c7a661 Author: Pavel Emelyanov Date: Sun Dec 16 13:32:16 2007 -0800 [IPV4]: Switch users of ipv4_devconf_dflt to use the pernet one They are all collected in the net/ipv4/devinet.c file and mostly use the IPV4_DEVCONF_DFLT macro. So I add the net parameter to it and patch users accordingly. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 752d14dc6aa9d0fc8f3b25e5052596fb549e5157 Author: Pavel Emelyanov Date: Sun Dec 16 13:31:47 2007 -0800 [IPV4]: Move the devinet pointers on the struct net This is the core. Add all and default pointers on the netns_ipv4 and register a new pernet subsys to initialize them. Also add the ctl_table_header to register the net.ipv4.ip_forward ctl. I don't allocate additional memory for init_net, but use global devinets. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit c0ce9fb304871daa0dd2bf0efb1b241b9fa4a279 Author: Pavel Emelyanov Date: Sun Dec 16 13:31:14 2007 -0800 [IPV4]: Store the net pointer on devinet's ctl tables Some handers and strategies of devinet sysctl tables need to know the net to propagate the ctl change to all the net devices. I use the (currently unused) extra2 pointer on the tables to get it. Holding the reference on the struct net is not possible, because otherwise we'll get a net->ctl_table->net circular dependency. But since the ctl tables are unregistered during the net destruction, this is safe to get it w/o additional protection. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 32e569b7277f13c4b27bb29c761189963e49ce7a Author: Pavel Emelyanov Date: Sun Dec 16 13:30:39 2007 -0800 [IPV4]: Pass the net pointer to the arp_req_set_proxy() This one will need to set the IPV4_DEVCONF_ALL(PROXY_ARP), but there's no ways to get the net right in place, so we have to pull one from the inet_ioctl's struct sock. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit ea40b324d791d86a42b858d073007de4d133227e Author: Pavel Emelyanov Date: Sun Dec 16 13:30:07 2007 -0800 [IPV4]: Make __devinet_sysctl_register return an error Currently, this function is void, so failures in creating sysctls for new/renamed devices are not reported to anywhere. Fixing this is another complex (needed?) task, but this return value is needed during the namespaces creation to handle the case, when we failed to create "all" and "default" entries. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 8afd351c772d1815347d5c46716b099fde00a579 Author: Pavel Emelyanov Date: Sun Dec 16 13:29:36 2007 -0800 [NETNS]: Add the netns_ipv4 struct The ipv4 will store its parameters inside this structure. This one is empty now, but it will be eventually filled. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 4bda4f250d21c3e4f2a2da5f4cef829a434a4046 Author: Pavel Emelyanov Date: Fri Dec 14 11:38:04 2007 -0800 [XFRM]: Fix potential race vs xfrm_state(only)_find and xfrm_hash_resize. The _find calls calculate the hash value using the xfrm_state_hmask, without the xfrm_state_lock. But the value of this mask can change in the _resize call under the state_lock, so we risk to fail in finding the desired entry in hash. I think, that the hash value is better to calculate under the state lock. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 5e41fb83216d370d158fe17675af82d12c6c72c9 Author: Matthias Kaehlcke Date: Fri Dec 14 11:32:48 2007 -0800 [PPP] synchronous tty: convert dead_sem to completion PPP synchronous tty channel driver: convert the semaphore dead_sem to a completion Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 9055e051b8d4b266054fe511a65a9888d30fa64f Author: Herbert Xu Date: Fri Dec 14 11:25:26 2007 -0800 [UDP]: Move udp_stats_in6 into net/ipv4/udp.c Now that external users may increment the counters directly, we need to ensure that udp_stats_in6 is always available. Otherwise we'd either have to requrie the external users to be built as modules or ipv6 to be built-in. This isn't too bad because udp_stats_in6 is just a pair of pointers plus an EXPORT, e.g., just 40 (16 + 24) bytes on x86-64. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 8d614434ab77b440b69e66a9bd44e46e7194c34a Author: YOSHIFUJI Hideaki Date: Wed Dec 12 03:55:42 2007 +0900 [SUNRPC]: Use htonl() where appropriate. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit ae445d172ab4d342a0a9d64df499cca8d5ad61b3 Author: YOSHIFUJI Hideaki Date: Wed Dec 12 03:55:22 2007 +0900 [RXRPC]: Use cpu_to_be32() where appropriate. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit f831e90971dc942a9f2fcc918a5739eb6d4ef4c5 Author: YOSHIFUJI Hideaki Date: Wed Dec 12 03:54:23 2007 +0900 [MAC80211]: Use htons() where appropriate. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 6d82de9e576ea84b549b927e6a7775d918a427b5 Author: YOSHIFUJI Hideaki Date: Wed Dec 12 03:53:26 2007 +0900 [IRDA]: Use htons() where appropriate. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 5661df7b6cc399cabd1ed6b6a929a0445b862c10 Author: YOSHIFUJI Hideaki Date: Wed Dec 12 03:53:11 2007 +0900 [IPVS]: Use htons() where appropriate. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 4e39430ae33dfd9b0f47e5a89028352382c3dd34 Author: YOSHIFUJI Hideaki Date: Wed Dec 12 03:52:26 2007 +0900 [IEEE80211]: Use htons() where appropriate. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit b98999dc382a4e59a250f2ac9e32beca668cba0b Author: YOSHIFUJI Hideaki Date: Wed Dec 12 03:51:49 2007 +0900 [DECNET]: Use htons() where appropriate. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 91c5ec3ed184b7ca08314457b6e202e3d2cfb65f Author: YOSHIFUJI Hideaki Date: Wed Dec 12 03:51:03 2007 +0900 [BRIDGE]: Use cpu_to_be16() where appropriate. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 6179983ad30c43313e153b35af52bd9ebd7745c3 Author: Gerrit Renker Date: Thu Dec 13 23:37:55 2007 -0200 [DCCP]: Introducing CCMPS This introduces a CCMPS field for setting a CCID-specific upper bound on the application payload size, as is defined in RFC 4340, section 14. Only the TX CCID is considered in setting this limit, since the RX CCID generates comparatively small (DCCP-Ack) feedback packets. The CCMPS field includes network and transport layer header lengths. The only current CCMPS customer is CCID4 (via RFC 4828). A wrapper is used to allow querying the CCMPS even at times where the CCID modules may not have been fully negotiated yet. In dccp_sync_mss() the variable `mss_now' has been renamed into `cur_mps', to reflect that we are dealing with an MPS, but not an MSS. Since the DCCP code closely follows the TCP code, the identifiers `dccp_sync_mss' and `dccps_mss_cache' have been kept, as they have direct TCP counterparts. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 84a97b0af8c29aa5a47cc5271968a9c6004fb91e Author: Gerrit Renker Date: Thu Dec 13 23:33:25 2007 -0200 [CCID]: More informative registration The patch makes the registration messages of CCID 2/3 a bit more informative: instead of repeating the CCID number as currently done, "CCID: Registered CCID 2 (ccid2)" or "CCID: Registered CCID 3 (ccid3)", the descriptive names of the CCID's (from RFCs) are now used: "CCID: Registered CCID 2 (TCP-like)" and "CCID: Registered CCID 3 (TCP-Friendly Rate Control)". To allow spaces in the name, the slab name string has been changed to refer to the numeric CCID identifier, using the same format as before. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 9cb2345a8c49ea380437d02bb9fd9f291c0a005d Author: Gerrit Renker Date: Thu Dec 13 23:31:14 2007 -0200 [DCCP]: Documentation for CCID operations This adds documentation for the ccid_operations structure. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit f5026fabda54e5ab5d469d8cfac5f46b4d321ce9 Author: Denis V. Lunev Date: Thu Dec 13 09:47:57 2007 -0800 [IPV4]: Thresholds in fib_trie.c are used as consts, so make them const. There are several thresholds for trie fib hash management. They are used in the code as a constants. Make them constants from the compiler point of view. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 8a4a50f98bc13670bee94c40b94bc169e1263cd9 Author: Michal Schmidt Date: Thu Dec 13 09:47:00 2007 -0800 [IPV6] sit: Rebinding of SIT tunnels to other interfaces This is similar to the change already done for IPIP tunnels. Once created, a SIT tunnel can't be bound to another device. To reproduce: # create a tunnel: ip tunnel add tunneltest0 mode sit remote 10.0.0.1 dev eth0 # try to change the bounding device from eth0 to eth1: ip tunnel change tunneltest0 dev eth1 # show the result: ip tunnel show tunneltest0 tunneltest0: ipv6/ip remote 10.0.0.1 local any dev eth0 ttl inherit Notice the bound device has not changed from eth0 to eth1. This patch fixes it. When changing the binding, it also recalculates the MTU according to the new bound device's MTU. Signed-off-by: Michal Schmidt Signed-off-by: David S. Miller commit ee34c1eb35923cc98b1c47488a615bf51a2a2afb Author: Michal Schmidt Date: Thu Dec 13 09:46:32 2007 -0800 [IP_GRE]: Rebinding of GRE tunnels to other interfaces This is similar to the change already done for IPIP tunnels. Once created, a GRE tunnel can't be bound to another device. To reproduce: # create a tunnel: ip tunnel add tunneltest0 mode gre remote 10.0.0.1 dev eth0 # try to change the bounding device from eth0 to eth1: ip tunnel change tunneltest0 dev eth1 # show the result: ip tunnel show tunneltest0 tunneltest0: gre/ip remote 10.0.0.1 local any dev eth0 ttl inherit Notice the bound device has not changed from eth0 to eth1. This patch fixes it. When changing the binding, it also recalculates the MTU according to the new bound device's MTU. Signed-off-by: Michal Schmidt Signed-off-by: David S. Miller commit 528c4ceb427dad4a3893ba3d1913782efae0cd0e Author: Denis V. Lunev Date: Thu Dec 13 09:45:12 2007 -0800 [IPV6]: Always pass a valid nl_info to inet6_rt_notify. This makes the code in the inet6_rt_notify more straightforward and provides groud for namespace passing. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit aef21785995778f710a60b563e03bf53ba455a47 Author: Herbert Xu Date: Thu Dec 13 09:30:59 2007 -0800 [IPSEC]: Fix zero return value in xfrm_lookup on error Further testing shows that my ICMP relookup patch can cause xfrm_lookup to return zero on error which isn't very nice since it leads to the caller dying on null pointer dereference. The bug is due to not setting err to ENOENT just before we leave xfrm_lookup in case of no policy. This patch moves the err setting to where it should be. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit cf86314cb7460423b0b7e611edad80a52dc90d10 Author: Gerrit Renker Date: Thu Dec 13 12:48:19 2007 -0200 [DCCP]: Ignore feature negotiation on Data packets This implements [RFC 4340, p. 32]: "any feature negotiation options received on DCCP-Data packets MUST be ignored". Also added a FIXME for further processing, since the code currently (wrongly) classifies empty Confirm options as invalid - this needs to be resolved in a separate patch. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 5cdae198de33184c01226395b840f44f9834233a Author: Gerrit Renker Date: Thu Dec 13 12:41:46 2007 -0200 [DCCP]: Make code assumptions explicit This removes several `XXX' references which indicate a missing support for non-1-byte feature values: this is unnecessary, as all currently known (standardised) SP feature values are 1-byte quantities. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit dd6303df095d18b0c524a76a42f57bcc679b2039 Author: Gerrit Renker Date: Thu Dec 13 12:40:40 2007 -0200 [DCCP]: Remove unused and redundant validation functions This removes two inlines which were both called in a single function only: 1) dccp_feat_change() is always called with either DCCPO_CHANGE_L or DCCPO_CHANGE_R as argument * from dccp_set_socktopt_change() via do_dccp_setsockopt() with DCCP_SOCKOPT_CHANGE_R/L * from __dccp_feat_init() via dccp_feat_init() also with DCCP_SOCKOPT_CHANGE_R/L. Hence the dccp_feat_is_valid_type() is completely unnecessary and always returns true. 2) Due to (1), the length test reduces to 'len >= 4', which in turn makes dccp_feat_is_valid_length() unnecessary. Furthermore, the inline function dccp_feat_is_reserved() was unfolded, since only called in a single place. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit af3b867e2f6b72422bc7aacb1f1e26f47a9649bc Author: Gerrit Renker Date: Thu Dec 13 12:38:11 2007 -0200 [DCCP]: Support inserting options during the 3-way handshake This provides a separate routine to insert options during the initial handshake. The main purpose is to conduct feature negotiation, for the moment the only user is the timestamp echo needed for the (CCID3) handshake RTT sample. Padding of options has been put into a small separate routine, to be shared among the two functions. This could also be used as a generic routine to finish inserting options. Also removed an `XXX' comment since its content was obvious. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit b4d4f7c70fd3361c6c889752e08ea9be304cf5f4 Author: Gerrit Renker Date: Thu Dec 13 12:37:19 2007 -0200 [DCCP]: Handle timestamps on Request/Response exchange separately In DCCP, timestamps can occur on packets anytime, CCID3 uses a timestamp(/echo) on the Request/Response exchange. This patch addresses the following situation: * timestamps are recorded on the listening socket; * Responses are sent from dccp_request_sockets; * suppose two connections reach the listening socket with very small time in between: * the first timestamp value gets overwritten by the second connection request. This is not really good, so this patch separates timestamps into * those which are received by the server during the initial handshake (on dccp_request_sock); * those which are received by the client or the client after connection establishment. As before, a timestamp of 0 is regarded as indicating that no (meaningful) timestamp has been received (in addition, a warning message is printed if hosts send 0-valued timestamps). The timestamp-echoing now works as follows: * when a timestamp is present on the initial Request, it is placed into dreq, due to the call to dccp_parse_options in dccp_v{4,6}_conn_request; * when a timestamp is present on the Ack leading from RESPOND => OPEN, it is copied over from the request_sock into the child cocket in dccp_create_openreq_child; * timestamps received on an (established) dccp_sock are treated as before. Since Elapsed Time is measured in hundredths of milliseconds (13.2), the new dccp_timestamp() function is used, as it is expected that the time between receiving the timestamp and sending the timestamp echo will be very small against the wrap-around time. As a byproduct, this allows smaller timestamping-time fields. Furthermore, inserting the Timestamp Echo option has been taken out of the block starting with '!dccp_packet_without_ack()', since Timestamp Echo can be carried on any packet (5.8 and 13.3). Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 8109616e2ef978d142ea45850efd4f102b9bdce4 Author: Gerrit Renker Date: Thu Dec 13 12:31:26 2007 -0200 [DCCP]: Add (missing) option parsing to request_sock processing This adds option-parsing code to processing of Acks in the listening state on request_socks on the server, serving two purposes (i) resolves a FIXME (removed); (ii) paves the way for feature-negotiation during connection-setup. There is an intended subtlety here with regard to dccp_check_req: Parsing options happens only after testing whether the received packet is a retransmitted Request. Otherwise, if the Request contained (a possibly large number of) feature-negotiation options, recomputing state would have to happen each time a retransmitted Request arrives, which opens the door to an easy DoS attack. Since in a genuine retransmission the options should not be different from the original, reusing the already computed state seems better. The other point is - if there are timestamp options on the Request, they will not be answered; which means that in the presence of retransmission (likely due to loss and/or other problems), the use of Request/Response RTT sampling is suspended, so that startup problems here do not propagate. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 8b819412481494fb6861c08d360b75fabcbbfbbf Author: Gerrit Renker Date: Thu Dec 13 12:29:24 2007 -0200 [DCCP]: Allow to parse options on Request Sockets The option parsing code currently only parses on full sk's. This causes a problem for options sent during the initial handshake (in particular timestamps and feature-negotiation options). Therefore, this patch extends the option parsing code with an additional argument for request_socks: if it is non-NULL, options are parsed on the request socket, otherwise the normal path (parsing on the sk) is used. Subsequent patches, which implement feature negotiation during connection setup, make use of this facility. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 7913350663e2756ecb91dd3a7c773806b943426e Author: Gerrit Renker Date: Thu Dec 13 12:27:14 2007 -0200 [DCCP]: Collapse repeated `len' statements into one This replaces 4 individual assignments for `len' with a single one, placed where the control flow of those 4 leads to. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit b8599d20708fa3bde1e414689f3474560c2d990b Author: Gerrit Renker Date: Thu Dec 13 12:25:01 2007 -0200 [DCCP]: Support for server holding timewait state This adds a socket option and signalling support for the case where the server holds timewait state on closing the connection, as described in RFC 4340, 8.3. Since holding timewait state at the server is the non-usual case, it is enabled via a socket option. Documentation for this socket option has been added. The setsockopt statement has been made resilient against different possible cases of expressing boolean `true' values using a suggestion by Ian McDonald. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 28be5440044d5b19b0331f79fb3e81845ad6d77e Author: Gerrit Renker Date: Thu Dec 13 12:16:23 2007 -0200 [DCCP]: Use maximum-RTO backoff from DCCP spec This removes another Fixme, using the TCP maximum RTO rather than the value specified by the DCCP specification. Across the sections in RFC 4340, 64 seconds is consistently suggested as maximum RTO backoff value; and this is the value which is now used. I have checked both termination cases for retransmissions of Close/CloseReq: with the default value 15 of `retries2', and an initial icsk_retransmit = 0, it takes about 614 seconds to declare a non-responding peer as dead, after which the final terminating Reset is sent. With the TCP maximum RTO value of 120 seconds it takes (as might be expected) almost twice as long, about 23 minutes. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 92d31920b84f258badf206eea8aaf5ac677ac535 Author: Gerrit Renker Date: Thu Dec 13 12:02:43 2007 -0200 [DCCP]: Shift the retransmit timer for active-close into output.c When performing active close, RFC 4340, 8.3. requires to retransmit the Close/CloseReq with a backoff-retransmit timer starting at intially 2 RTTs. This patch shifts the existing code for active-close retransmit timer into output.c, so that the retransmit timer is started when the first Close/CloseReq is sent. Previously, the timer was started when, after releasing the socket in dccp_close(), the actively-closing side had not yet reached the CLOSED/TIMEWAIT state. The patch further reduces the initial timeout from 3 seconds to the required 2 RTTs, where - in absence of a known RTT - the fallback value specified in RFC 4340, 3.4 is used. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 09f7709f4929666006931f1d4efc498a6d419bbc Author: Daniel Lezcano Date: Thu Dec 13 05:34:58 2007 -0800 [IPV6]: fix section mismatch warnings Removed useless and buggy __exit section in the different ipv6 subsystems. Otherwise they will be called inside an init section during rollbacking in case of an error in the protocol initialization. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 69567d0b63b7f4ffeb53fe746c87bd6efe1c284b Author: Gerrit Renker Date: Thu Dec 13 11:28:43 2007 -0200 [DCCP]: Perform SHUT_RD and SHUT_WR on receiving close This patch performs two changes: 1) Close the write-end in addition to the read-end when a fin-like segment (Close or CloseReq) is received by DCCP. This accounts for the fact that DCCP, in contrast to TCP, does not have a half-close. RFC 4340 says in this respect that when a fin-like segment has been sent there is no guarantee at all that any further data will be processed. Thus this patch performs SHUT_WR in addition to the SHUT_RD when a fin-like segment is encountered. 2) Minor change: I noted that code appears twice in different places and think it makes sense to put this into a self-contained function (dccp_enqueue()). Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 96eba69dbac767f4e287df39e6fa489d37f1aa7b Author: Herbert Xu Date: Thu Dec 13 05:24:40 2007 -0800 [DECNET]: Fix inverted wait flag in xfrm_lookup call My previous patch made the wait flag take the opposite value to what it should be. This patch fixes that. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit a66207121f85c54a3df4d347a3c5bdf6cb154b09 Author: Herbert Xu Date: Wed Dec 12 19:21:56 2007 -0800 [NET]: Check RTNL status in unregister_netdevice The caller must hold the RTNL so let's check it in unregister_netdevice. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit aebcf82c1fe9231be5cb4f9c1362d5db39e7d7b2 Author: Herbert Xu Date: Wed Dec 12 18:54:16 2007 -0800 [IPSEC]: Do not let packets pass when ICMP flag is off This fixes a logical error in ICMP policy checks which lets packets through if the state ICMP flag is off. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit bb72845e699d3c84e5f861b51db686107a51dea5 Author: Herbert Xu Date: Wed Dec 12 18:48:58 2007 -0800 [IPSEC]: Make callers of xfrm_lookup to use XFRM_LOOKUP_WAIT This patch converts all callers of xfrm_lookup that used an explicit value of 1 to indiciate blocking to use the new flag XFRM_LOOKUP_WAIT. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 7233b9f33e72ca477034ff5cf901c89efba3a5bc Author: Herbert Xu Date: Wed Dec 12 18:47:48 2007 -0800 [IPSEC]: Fix reversed ICMP6 policy check The policy check I added for ICMP on IPv6 is reversed. This patch fixes that. It also adds an skb->sp check so that unprotected packets that fail the policy check do not crash the machine. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 2ba582b782071c038b312ea330d3090a39f3c66a Author: Michael Chan Date: Fri Dec 21 15:04:49 2007 -0800 [BNX2]: Fix compiler warning. Change bnx2_init_napi() to void. Warning was noted by DaveM. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit f13561cb2f97794df43f83d1ee808e46eb5d2405 Author: Michael Chan Date: Thu Dec 20 20:02:14 2007 -0800 [BNX2]: Update version to 1.7.1. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 57851d84533655db6948e25c54df19ecb673bf2f Author: Michael Chan Date: Thu Dec 20 20:01:44 2007 -0800 [BNX2]: Enable new tx ring. Enable new tx ring and add new MSIX handler and NAPI poll function for the new tx ring. Enable MSIX when the hardware supports it. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit c76c04758b8fd24a1c38b19742e3437e954e945b Author: Michael Chan Date: Thu Dec 20 20:01:19 2007 -0800 [BNX2]: Add support for a new tx ring. To separate TX IRQs into a different MSIX vector, we need to support a new tx ring. The original tx ring will still be used when not using MSIX. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit b4b360420dcbbffb15f5749fc78225f4113cc7e2 Author: Michael Chan Date: Thu Dec 20 19:59:30 2007 -0800 [BNX2]: Support multiple MSIX IRQs. Change bnx2_napi struct into an array and add code to manage multiple IRQs. MSIX hardware structures and new registers are also added. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit a1f6019090f2c075b41624c32a825775f6865577 Author: Michael Chan Date: Thu Dec 20 19:57:19 2007 -0800 [BNX2]: Move rx indexes into bnx2_napi struct. Rx related fields used in NAPI polling are moved from the main bnx2 struct to the bnx2_napi struct. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit a550c99bc39caf292ed214c0c9c2c4d0b9c95161 Author: Michael Chan Date: Thu Dec 20 19:56:59 2007 -0800 [BNX2]: Move tx indexes into bnx2_napi struct. Tx related fields used in NAPI polling are moved from the main bnx2 struct to the bnx2_napi struct. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 35efa7c1f4aa868d4a948a9069f20ccef1b3b28d Author: Michael Chan Date: Thu Dec 20 19:56:37 2007 -0800 [BNX2]: Introduce new bnx2_napi structure. Introduce a bnx2_napi structure that will hold a napi_struct and other fields to handle NAPI polling for the napi_struct. Various tx and rx indexes and status block pointers will be moved from the main bnx2 structure to this bnx2_napi structure. Most NAPI path functions are modified to be passed this bnx2_napi struct pointer. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 6d866ffc69b0c3e584782f212a3f783708d31e9a Author: Michael Chan Date: Thu Dec 20 19:56:09 2007 -0800 [BNX2]: Restructure IRQ datastructures. Add a table to keep track of multiple IRQs and restructure the IRQ request and free functions so that they can be easily expanded to handle multiple IRQs. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit ead7270b993bed77cb45a5bc786a879679e2b16a Author: Michael Chan Date: Thu Dec 20 19:55:39 2007 -0800 [BNX2]: Add function to fetch hardware tx index. This makes the code cleaner and easier to support different tx rings. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit a0d142c628279c472a3e1ae823e4d30b242f4305 Author: Michael Chan Date: Wed Dec 12 11:20:22 2007 -0800 [BNX2]: Update version to 1.6.9. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 84eaa1877137def7fe01340f2abbad510aa890f5 Author: Michael Chan Date: Wed Dec 12 11:19:57 2007 -0800 [BNX2]: Enable S/G for jumbo RX. If the MTU requires more than 1 page for the SKB, enable the page ring and calculate the size of the page ring. This will guarantee order-0 allocation regardless of the MTU size. Fixup loopback test packet size so that we don't deal with the pages during loopback test. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 1db82f2aec0766edd4a4f8d86283e91559350de7 Author: Michael Chan Date: Wed Dec 12 11:19:35 2007 -0800 [BNX2]: Add fast path code to handle RX pages. Add function to reuse a page in case of allocation or other errors. Add code to construct the completed SKB with the additional data in the pages. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 47bf4246a357d36762c9e7c282d7307152eb92e1 Author: Michael Chan Date: Wed Dec 12 11:19:12 2007 -0800 [BNX2]: Add init. code to handle RX pages. Add new fields to keep track of the pages and the page rings. Add functions to allocate and free pages. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 110d0ef9907b519fed1607c73b3ae883f270561e Author: Michael Chan Date: Wed Dec 12 11:18:34 2007 -0800 [BNX2]: Update firmware to support S/G RX buffers. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 5d5d001504b4a415a008f7ac1adb9fbec1637811 Author: Michael Chan Date: Wed Dec 12 11:17:43 2007 -0800 [BNX2]: Restructure RX ring init. code. Factor out the common functions that will be used to initialize the normal RX rings and the page rings. Change the copybreak constant RX_COPY_THRESH to 128. This same constant will be used for the max. size of the linear SKB when pages are used. Copybreak will be turned off when pages are used. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 85833c6269016d009ada17b04ac288e2ab9c37ea Author: Michael Chan Date: Wed Dec 12 11:17:01 2007 -0800 [BNX2]: Restructure RX fast path handling. Add a new function to handle new SKB allocation and to prepare the completed SKB. This makes it easier to add support for non-linear SKB. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit e343d55c0a624c5bb88cd6821a17586474f20271 Author: Michael Chan Date: Wed Dec 12 11:16:19 2007 -0800 [BNX2]: Add ring constants. Define the various ring constants to make the code cleaner. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit f5f97b57b5208a7ca270ac86887a2838ab7862f5 Author: Andrew Morton Date: Wed Dec 12 15:07:11 2007 -0800 [NET]: fix drivers/net/ns83820.c build Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 5533995b62d02dbbf930f2e59221c2d5ea05aab7 Author: Michal Schmidt Date: Wed Dec 12 11:01:43 2007 -0800 [IPIP]: Allow rebinding the tunnel to another interface Once created, an IP tunnel can't be bound to another device. (reported as https://bugzilla.redhat.com/show_bug.cgi?id=419671) To reproduce: # create a tunnel: ip tunnel add tunneltest0 mode ipip remote 10.0.0.1 dev eth0 # try to change the bounding device from eth0 to eth1: ip tunnel change tunneltest0 dev eth1 # show the result: ip tunnel show tunneltest0 tunneltest0: ip/ip remote 10.0.0.1 local any dev eth0 ttl inherit Notice the bound device has not changed from eth0 to eth1. This patch fixes it. When changing the binding, it also recalculates the MTU according to the new bound device's MTU. If the change is acceptable, I'll do the same for GRE and SIT tunnels. Signed-off-by: Michal Schmidt Signed-off-by: David S. Miller commit 6a7657f56271bded0ddca1cb1e8772506a10c0a3 Author: Pavel Emelyanov Date: Wed Dec 12 11:00:04 2007 -0800 [NET]: Remove unused define from loopback driver. The LOOPBACK_OVERHEAD is not used in this file at all. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 81103a52f26d8630aa0c1dcddccaebb04d7922a8 Author: Denis V. Lunev Date: Wed Dec 12 10:47:38 2007 -0800 [NETNS]: network namespace was passed into dev_getbyhwaddr but not used Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 41380930d2cbdc0abf7513a675864258b7ac973d Author: Harvey Harrison Date: Wed Dec 12 10:46:51 2007 -0800 [NET]: Remove FASTCALL macro X86_32 was the last user of the FASTCALL macro, now that it uses regparm(3) by default, this macro expands to nothing. Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 8b7817f3a959ed99d7443afc12f78a7e1fcc2063 Author: Herbert Xu Date: Wed Dec 12 10:44:43 2007 -0800 [IPSEC]: Add ICMP host relookup support RFC 4301 requires us to relookup ICMP traffic that does not match any policies using the reverse of its payload. This patch implements this for ICMP traffic that originates from or terminates on localhost. This is activated on outbound with the new policy flag XFRM_POLICY_ICMP, and on inbound by the new state flag XFRM_STATE_ICMP. On inbound the policy check is now performed by the ICMP protocol so that it can repeat the policy check where necessary. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit d5422efe680fc55010c6ddca2370ca9548a96355 Author: Herbert Xu Date: Wed Dec 12 10:44:16 2007 -0800 [IPSEC]: Added xfrm_decode_session_reverse and xfrmX_policy_check_reverse RFC 4301 requires us to relookup ICMP traffic that does not match any policies using the reverse of its payload. This patch adds the functions xfrm_decode_session_reverse and xfrmX_policy_check_reverse so we can get the reverse flow to perform such a lookup. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 815f4e57e9fc67456624ecde0515a901368c78d2 Author: Herbert Xu Date: Wed Dec 12 10:36:59 2007 -0800 [IPSEC]: Make xfrm_lookup flags argument a bit-field This patch introduces an enum for bits in the flags argument of xfrm_lookup. This is so that we can cram more information into it later. Since all current users use just the values 0 and 1, XFRM_LOOKUP_WAIT has been added with the value 1 << 0 to represent the current meaning of flags. The test in __xfrm_lookup has been changed accordingly. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 3f71c81ac37b27b824e9ce18fe17438dc2af4a16 Author: Gerrit Renker Date: Wed Dec 12 14:23:08 2007 -0200 [TFRC]: Remove previous loss intervals implementation Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 954c2db868ce896325dced91d5fba5e2226897a4 Author: Gerrit Renker Date: Wed Dec 12 14:06:14 2007 -0200 [CCID3]: Interface CCID3 code with newer Loss Intervals Database This hooks up the TFRC Loss Interval database with CCID 3 packet reception. In addition, it makes the CCID-specific computation of the first loss interval (which requires access to all the guts of CCID3) local to ccid3.c. The patch also fixes an omission in the DCCP code, that of a default / fallback RTT value (defined in section 3.4 of RFC 4340 as 0.2 sec); while at it, the upper bound of 4 seconds for an RTT sample has been reduced to match the initial TCP RTO value of 3 seconds from[RFC 1122, 4.2.3.1]. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit de0d411cb8ea51175f52d935faead5c542b6e007 Author: Gerrit Renker Date: Wed Dec 12 14:03:01 2007 -0200 [TFRC]: CCID3 (and CCID4) needs to access these inlines This moves two inlines back to packet_history.h: these are not private to packet_history.c, but are needed by CCID3/4 to detect whether a new loss is indicated, or whether a loss is already pending. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit db64196038e79b0460245d558e54ff4a21a52d1f Author: Gerrit Renker Date: Wed Dec 12 13:57:14 2007 -0200 [CCID3]: Redundant debugging output / documentation Each time feedback is sent two lines are printed: ccid3_hc_rx_send_feedback: client ... - entry ccid3_hc_rx_send_feedback: Interval ...usec, X_recv=..., 1/p=... The first line is redundant and thus removed. Further, documentation of ccid3_hc_rx_sock (capitalisation) is made consistent. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 8a9c7e92e0ca97632126feee32ba2698b4eb6c8f Author: Gerrit Renker Date: Wed Dec 12 13:50:51 2007 -0200 [TFRC]: Ringbuffer to track loss interval history A ringbuffer-based implementation of loss interval history is easier to maintain, allocate, and update. The `swap' routine to keep the RX history sorted is due to and was written by Arnaldo Carvalho de Melo, simplifying an earlier macro-based variant. Details: * access to the Loss Interval Records via macro wrappers (with safety checks); * simplified, on-demand allocation of entries (no extra memory consumption on lossless links); cache allocation is local to the module / exported as service; * provision of RFC-compliant algorithm to re-compute average loss interval; * provision of comprehensive, new loss detection algorithm - support for all cases of loss, including re-ordered/duplicate packets; - waiting for NDUPACK=3 packets to fill the hole; - updating loss records when a late-arriving packet fills a hole. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 8995a238ef6869bc5c80240440bc58452c7af283 Author: Gerrit Renker Date: Wed Dec 12 12:28:40 2007 -0200 [TFRC]: Loss interval code needs the macros/inlines that were moved This moves the inlines (which were previously declared as macros) back into packet_history.h since the loss detection code needs to be able to read entries from the RX history in order to create the relevant loss entries: it needs at least tfrc_rx_hist_loss_prev() and tfrc_rx_hist_last_rcv(), which in turn require the definition of the other inlines (macros). Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit df8f83fdd6369e1ba85f089fd6fe26bb2ddcb36f Author: Gerrit Renker Date: Wed Dec 12 12:24:49 2007 -0200 [TFRC]: Put RX/TX initialisation into tfrc.c This separates RX/TX initialisation and puts all packet history / loss intervals initialisation into tfrc.c. The organisation is uniform: slab declaration -> {rx,tx}_init() -> {rx,tx}_exit() Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 2aaef4e47fef8a6c0bc7fc5d9d3eea4af290e04c Author: Denis V. Lunev Date: Tue Dec 11 04:19:54 2007 -0800 [NETNS]: separate af_packet netns data Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit a0a53c8ba95451feef6c1975016f0a1eb3044ad4 Author: Denis V. Lunev Date: Tue Dec 11 04:19:17 2007 -0800 [NETNS]: struct net content re-work (v3) Recently David Miller and Herbert Xu pointed out that struct net becomes overbloated and un-maintainable. There are two solutions: - provide a pointer to a network subsystem definition from struct net. This costs an additional dereferrence - place sub-system definition into the structure itself. This will speedup run-time access at the cost of recompilation time The second approach looks better for us. Other sub-systems will follow. Signed-off-by: Denis V. Lunev Acked-by: Daniel Lezcano Signed-off-by: David S. Miller commit 27147c9e6e8316af91dea487aa2c14b18dcff4cf Author: Denis V. Lunev Date: Tue Dec 11 04:18:41 2007 -0800 [AF_UNIX]: Remove unused declaration of sysctl_unix_max_dgram_qlen. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 7f4e4868f3ce0e946f116c28fa4fe033be5e4ba9 Author: Daniel Lezcano Date: Tue Dec 11 02:25:35 2007 -0800 [IPV6]: make the protocol initialization to return an error code This patchset makes the different protocols to return an error code, so the af_inet6 module can check the initialization was correct or not. The raw6 was taken into account to be consistent with the rest of the protocols, but the registration is at the same place. Because the raw6 has its own init function, the proto and the ops structure can be moved inside the raw6.c file. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 87c3efbfdd1f98af14a1f60ff19f73d9a8d8da98 Author: Daniel Lezcano Date: Tue Dec 11 02:25:01 2007 -0800 [IPV6]: make inet6_register_protosw to return an error code This patch makes the inet6_register_protosw to return an error code. The different protocols can be aware the registration was successful or not and can pass the error to the initial caller, af_inet6. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 853cbbaaa4ccdf221be5ab6afe967aa9998546b7 Author: Daniel Lezcano Date: Tue Dec 11 02:24:29 2007 -0800 [IPV6]: make frag to return an error at initialization This patch makes the frag_init to return an error code, so the af_inet6 module can handle the error. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 248b238dc960a42aa235057ba0a51a98ae2b0f0d Author: Daniel Lezcano Date: Tue Dec 11 02:23:54 2007 -0800 [IPV6]: make extended headers to return an error at initialization This patch factorize the code for the differents init functions for rthdr, nodata, destopt in a single function exthdrs_init. This function returns an error so the af_inet6 module can check correctly the initialization. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 0a3e78ac2c555441f5bc00588070058533bc8d6b Author: Daniel Lezcano Date: Tue Dec 11 02:23:18 2007 -0800 [IPV6]: make flowlabel to return an error This patch makes the flowlab subsystem to return an error code and makes some cleanup with procfs ifdefs. The af_inet6 will use the flowlabel init return code to check the initialization was correct. Signed-off-by: Daniel Lezcano Signed-off-by: David S. Miller commit 51602b2a5e849babd94311e555bf1ba58151b8d4 Author: Pavel Emelyanov Date: Tue Dec 11 02:17:40 2007 -0800 [IPV4]: Cleanup sysctl manipulations in devinet.c This includes: * moving neigh_sysctl_(un)register calls inside devinet_sysctl_(un)register ones, as they are always called in pairs; * making __devinet_sysctl_unregister() to unregister the ipv4_devconf struct, while original devinet_sysctl_unregister() works with the in_device to handle both - devconf and neigh sysctls; * make stubs for CONFIG_SYSCTL=n case to get rid of in-code ifdefs. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 01ecfe9ba63aa0f23bbdb15371916ba4d5382330 Author: Pavel Emelyanov Date: Tue Dec 11 02:16:47 2007 -0800 [IPV4]: Cleanup IN_DEV_MFORWARD macro This is essentially IN_DEV_ANDCONF with proper arguments. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 95c9382a345262637d3e5c7da5f09f0f46daa930 Author: Pavel Emelyanov Date: Tue Dec 11 02:12:36 2007 -0800 [INET]: Use BUILD_BUG_ON in inet_timewait_sock.c checks Make the INET_TWDR_TWKILL_SLOTS vs sizeof(twdr->thread_slots) check nicer. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 1f9e636ea21bd648a5cbd2f744a1d39a5e183b20 Author: Pavel Emelyanov Date: Tue Dec 11 02:12:04 2007 -0800 [TCP]: Use BUILD_BUG_ON for tcp_skb_cb size checking The sizeof(struct tcp_skb_cb) should not be less than the sizeof(skb->cb). This is checked in net/ipv4/tcp.c, but this check can be made more gracefully. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit ea72912c888661d1a847f1b1450643d4114097cf Author: Eric Dumazet Date: Tue Dec 11 02:09:47 2007 -0800 [NETLINK]: kzalloc() conversion nl_pid_hash_alloc() is renamed to nl_pid_hash_zalloc(). It is now returning zeroed memory to its callers. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 64b7d96167977850f4a24e52dd0a76b03c6542cf Author: Eric Dumazet Date: Tue Dec 11 02:00:30 2007 -0800 [NET]: dst_ifdown() cleanup This cleanup shrinks size of net/core/dst.o on i386 from 1299 to 1289 bytes. (This is because dev_hold()/dev_put() are doing atomic_inc()/atomic_dec() and force compiler to re-evaluate memory contents.) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 005011211f559113686938c2c252b8ee1ab855b5 Author: Herbert Xu Date: Tue Dec 11 01:53:43 2007 -0800 [IPSEC]: Add xfrm_input_state helper This patch adds the xfrm_input_state helper function which returns the current xfrm state being processed on the input path given an sk_buff. This is currently only used by xfrm_input but will be used by ESP upon asynchronous resumption. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 385ac2e3f226c09cb71733df1899658e33a7850f Author: Gerrit Renker Date: Sat Dec 8 16:26:59 2007 -0200 [CCID3]: HC-receiver should not insert timestamps as HC-sender doesn't uses it Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 797eba424d4332f6aff5b741600b61e3d4b3d3f2 Author: Gerrit Renker Date: Sat Dec 8 16:08:41 2007 -0200 [TFRC]: The function tfrc_rx_hist_entry_delete() is not used anymore Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 78282d2af598a1840934e2049a5c196885647f6a Author: Gerrit Renker Date: Sat Dec 8 15:08:08 2007 -0200 [TFRC]: Move comment. Moved up the comment "Receiver routines" above the first occurrence of RX history routines. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit c69bce20dda7f79160856a338298d65a284ba303 Author: YOSHIFUJI Hideaki Date: Wed Jan 23 22:31:45 2008 -0800 [NET]: Remove unused "mibalign" argument for snmp_mib_init(). With fixes from Arnaldo Carvalho de Melo. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 971b893e79db0f7dccfcea15dbdebca3ca64a84d Author: Denis V. Lunev Date: Sat Dec 8 00:32:23 2007 -0800 [IPV4]: last default route is a fib table property Signed-off-by: Denis V. Lunev Acked-by: Alexey Kuznetsov Signed-off-by: David S. Miller commit a2bbe6822f8928e254452765c07cb863633113b8 Author: Denis V. Lunev Date: Sat Dec 8 00:31:44 2007 -0800 [IPV4]: Unify assignment of fi to fib_result Signed-off-by: Denis V. Lunev Acked-by: Alexey Kuznetsov Signed-off-by: David S. Miller commit c17860a039bbde134324ad6f9331500635f5799d Author: Denis V. Lunev Date: Sat Dec 8 00:22:13 2007 -0800 [IPV4]: no need pass pointer to a default into fib_detect_death ipv4: no need pass pointer to a default into fib_detect_death Signed-off-by: Denis V. Lunev Acked-by: Alexey Kuznetsov Signed-off-by: David S. Miller commit 7e5449c21562f1554d2c355db1ec9d3e4f434288 Author: Daniel Lezcano Date: Sat Dec 8 00:14:54 2007 -0800 [IPV6]: route6 remove ifdef for fib_rules The patch defines the usual static inline functions when the code is disabled for fib6_rules. That's allow to remove some ifdef in route.c file and make the code a little more clear. Signed-off-by: Daniel Lezcano Acked-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit c35b7e72cd48bc7163b6900fb3689fa54b572bba Author: Daniel Lezcano Date: Sat Dec 8 00:14:11 2007 -0800 [IPV6]: remove ifdef in route6 for xfrm6 The following patch create the usual static inline functions to disable the xfrm6_init and xfrm6_fini function when XFRM is off. That's allow to remove some ifdef and make the code a little more clear. Signed-off-by: Daniel Lezcano Acked-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 75314fb38364c81a573cd222f74d792409a7afba Author: Daniel Lezcano Date: Sat Dec 8 00:13:32 2007 -0800 [IPV6]: create route6 proc init-fini functions Make the proc creation/destruction to be a separate function. That allows to remove the #ifdef CONFIG_PROC_FS in the init/fini function and make them more readable. Signed-off-by: Daniel Lezcano Acked-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit b8e1f9b5c37e77cc8f978a58859b35fe5edd5542 Author: Pavel Emelyanov Date: Sat Dec 8 00:12:33 2007 -0800 [NET] sysctl: make sysctl_somaxconn per-namespace Just move the variable on the struct net and adjust its usage. Others sysctls from sys.net.core table are more difficult to virtualize (i.e. make them per-namespace), but I'll look at them as well a bit later. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 790a35328991b01181ff5624bdb084053b6fac54 Author: Pavel Emelyanov Date: Sat Dec 8 00:11:51 2007 -0800 [NET] sysctl: prepare core tables to point to netns variables Some of ctl variables are going to be on the struct net. Here's the way to adjust the ->data pointer on the ctl_table-s to point on the right variable. Since some pointers still point on the global variables, I keep turning the write bits off on such tables. This looks to become a common procedure for net sysctls, so later parts of this code may migrate to some more generic place. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 024626e36d75fc8c6e32d50d4c68bfc3b8df5fdf Author: Pavel Emelyanov Date: Sat Dec 8 00:09:24 2007 -0800 [NET] sysctl: make the sys.net.core sysctls per-namespace Making them per-namespace is required for the following two reasons: First, some ctl values have a per-namespace meaning. Second, making them writable from the sub-namespace is an isolation hole. So I introduce the pernet operations to create these tables. For init_net I use the existing statically declared tables, for sub-namespace they are duplicated and the write bits are removed from the mode. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit cbbb90e68cd073b8d63b491166066e347902b7e9 Author: Pavel Emelyanov Date: Fri Dec 7 23:56:57 2007 -0800 [SNMP]: Remove unused devconf macros. The SNMP_INC_STATS_OFFSET_BH is used only by ICMP6_INC_STATS_OFFSET_BH. The ICMP6_INC_STATS_OFFSET_BH is unused. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit b5e78337b50c0f3adda7faadb92f62bbdd5ffb56 Author: Denis Cheng Date: Fri Dec 7 00:51:45 2007 -0800 [IUCV]: use LIST_HEAD instead of LIST_HEAD_INIT these three list_head are all local variables, but can also use LIST_HEAD. Signed-off-by: Denis Cheng Signed-off-by: David S. Miller commit df01812eba19834e48abd43246abedfbc4feeb7e Author: Denis Cheng Date: Fri Dec 7 00:51:11 2007 -0800 [XFRM] net/xfrm/xfrm_state.c: use LIST_HEAD instead of LIST_HEAD_INIT single list_head variable initialized with LIST_HEAD_INIT could almost always can be replaced with LIST_HEAD declaration, this shrinks the code and looks better. Signed-off-by: Denis Cheng Signed-off-by: David S. Miller commit 0e3cf7e9164048b79e7375bd66c9ef350e5b5bd7 Author: Denis Cheng Date: Fri Dec 7 00:50:43 2007 -0800 [X25]: use LIST_HEAD instead of LIST_HEAD_INIT single list_head variable initialized with LIST_HEAD_INIT could almost always can be replaced with LIST_HEAD declaration, this shrinks the code and looks better. Signed-off-by: Denis Cheng Signed-off-by: David S. Miller commit 14d0e7b74e05a1983f5b607e90bc9bafa5ce9eb3 Author: Denis Cheng Date: Fri Dec 7 00:50:15 2007 -0800 [LAPB] net/lapb/lapb_iface.c: use LIST_HEAD instead of LIST_HEAD_INIT single list_head variable initialized with LIST_HEAD_INIT could almost always can be replaced with LIST_HEAD declaration, this shrinks the code and looks better. Signed-off-by: Denis Cheng Signed-off-by: David S. Miller commit 1596c97aa896fdcee49d3bf90c91ed91e0d81492 Author: Denis Cheng Date: Fri Dec 7 00:49:47 2007 -0800 [IPV4] net/ipv4/cipso_ipv4.c: use LIST_HEAD instead of LIST_HEAD_INIT single list_head variable initialized with LIST_HEAD_INIT could almost always can be replaced with LIST_HEAD declaration, this shrinks the code and looks better. Signed-off-by: Denis Cheng Signed-off-by: David S. Miller commit 3b5b34fd2b0fdea4d2efbd55daefb1ad3d7d9039 Author: Denis Cheng Date: Fri Dec 7 00:49:17 2007 -0800 [NET] net/core/dev.c: use LIST_HEAD instead of LIST_HEAD_INIT single list_head variable initialized with LIST_HEAD_INIT could almost always can be replaced with LIST_HEAD declaration, this shrinks the code and looks better. Signed-off-by: Denis Cheng Signed-off-by: David S. Miller commit 877a9bff3889512d7326d6bf0ba6ed3ddda6d772 Author: Eric W. Biederman Date: Fri Dec 7 00:47:47 2007 -0800 [IPV4]: Move trie_local and trie_main into the proc iterator. We only use these variables when displaying the trie in proc so place them into the iterator to make this explicit. We should probably do something smarter to handle the CONFIG_IP_MULTIPLE_TABLES case but at least this makes it clear that the silliness is limited to the display in /proc. Signed-off-by: Eric W. Biederman Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit bb803175865dd030420eebbc87298414c7725019 Author: Eric W. Biederman Date: Fri Dec 7 00:46:11 2007 -0800 [IPV4]: Remove ip_fib_local_table and ip_fib_main_table defines. There are only 2 users and it doesn't hurt to call fib_get_table instead, and it makes it easier to make the fib network namespace aware. Signed-off-by: Eric W. Biederman Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit f845ab6b7dd872d027c27146c264e46bc16c656a Author: Daniel Lezcano Date: Fri Dec 7 00:45:16 2007 -0800 [IPV6] route6/fib6: Don't panic a kmem_cache_create. If the kmem_cache_creation fails, the kernel will panic. It is acceptable if the system is booting, but if the ipv6 protocol is compiled as a module and it is loaded after the system has booted, do we want to panic instead of just failing to initialize the protocol ? The init function is now returning an error and this one is checked for protocol initialization. So the ipv6 protocol will safely fails. Signed-off-by: Daniel Lezcano Acked-by: Benjamin Thery Signed-off-by: David S. Miller commit e2fddf5e96df4ac26f2e9ce63053d51cdf3cfe1e Author: Daniel Lezcano Date: Fri Dec 7 00:44:29 2007 -0800 [IPV6]: Make af_inet6 to check ip6_route_init return value. The af_inet6 initialization function does not check the return code of the route initilization, so if something goes wrong, the protocol initialization will continue anyway. This patch takes into account the modification made in the different route's initialization subroutines to check the return value and to make the protocol initialization to fail. Signed-off-by: Daniel Lezcano Acked-by: Benjamin Thery Signed-off-by: David S. Miller commit 433d49c3bb14b8a2351fe97df8359e4ad0de4c7c Author: Daniel Lezcano Date: Fri Dec 7 00:43:48 2007 -0800 [IPV6]: Make ip6_route_init to return an error code. The route initialization function does not return any value to notify if the initialization is successful or not. This patch checks all calls made for the initilization in order to return a value for the caller. Unfortunately, proc_net_fops_create will return a NULL pointer if CONFIG_PROC_FS is off, so we can not check the return code without an ifdef CONFIG_PROC_FS block in the ip6_route_init function. Signed-off-by: Daniel Lezcano Acked-by: Benjamin Thery Signed-off-by: David S. Miller commit 9eb87f3f7e0686a256c5bb4f886dede0171245f2 Author: Daniel Lezcano Date: Fri Dec 7 00:42:52 2007 -0800 [IPV6]: Make fib6_rules_init to return an error code. When the fib_rules initialization finished, no return code is provided so there is no way to know, for the caller, if the initialization has been successful or has failed. This patch fix that. Signed-off-by: Daniel Lezcano Acked-by: Benjamin Thery Signed-off-by: David S. Miller commit 0013cabab30ec55830ce63d34c0bdd887eb87644 Author: Daniel Lezcano Date: Fri Dec 7 00:42:11 2007 -0800 [IPV6]: Make xfrm6_init to return an error code. The xfrm initialization function does not return any error code, so if there is an error, the caller can not be advise of that. This patch checks the return code of the different called functions in order to return a successful or failed initialization. Signed-off-by: Daniel Lezcano Acked-by: Benjamin Thery Signed-off-by: David S. Miller commit d63bddbe90c4fd924b2155ca92a879393d856170 Author: Daniel Lezcano Date: Fri Dec 7 00:40:34 2007 -0800 [IPV6]: Make fib6_init to return an error code. If there is an error in the initialization function, nothing is followed up to the caller. So I add a return value to be set for the init function. Signed-off-by: Daniel Lezcano Acked-by: Benjamin Thery Signed-off-by: David S. Miller commit 5a3e55d68ec5baac578bf32ba67607088c763657 Author: Denis V. Lunev Date: Fri Dec 7 00:38:10 2007 -0800 [NET]: Multiple namespaces in the all dst_ifdown routines. Move dst entries to a namespace loopback to catch refcounting leaks. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit b84a2189c4e1835c51fd6b974a0497be9bc4ba87 Author: Arnaldo Carvalho de Melo Date: Thu Dec 6 13:18:11 2007 -0200 [TFRC]: New rx history code Credit here goes to Gerrit Renker, that provided the initial implementation for this new codebase. I modified it just to try to make it closer to the existing API, renaming some functions, add namespacing and fix one bug where the tfrc_rx_hist_alloc was not freeing the allocated ring entries on the error path. Original changeset comment from Gerrit: ----------- This provides a new, self-contained and generic RX history service for TFRC based protocols. Details: * new data structure, initialisation and cleanup routines; * allocation of dccp_rx_hist entries local to packet_history.c, as a service exported by the dccp_tfrc_lib module. * interface to automatically track highest-received seqno; * receiver-based RTT estimation (needed for instance by RFC 3448, 6.3.1); * a generic function to test for `data packets' as per RFC 4340, sec. 7.7. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 30a0eacd479f1c7c15fe0496585ff29f76de3378 Author: Gerrit Renker Date: Thu Dec 6 12:29:07 2007 -0200 [CCID3]: The receiver of a half-connection does not set window counter values Only the sender sets window counters [RFC 4342, sections 5 and 8.1]. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit d58d1af03a6a3ddf296ae3aeb4ff234af4b15958 Author: Arnaldo Carvalho de Melo Date: Thu Dec 6 12:28:39 2007 -0200 [TFRC]: Rename dccp_rx_ to tfrc_rx_ This is in preparation for merging the new rx history code written by Gerrit Renker. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 34a9e7ea91bb4acb45ae5331e7403304029329b2 Author: Arnaldo Carvalho de Melo Date: Thu Dec 6 12:28:13 2007 -0200 [TFRC]: Make the rx history slab be global This is in preparation for merging the new rx history code written by Gerrit Renker. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit e9c8b24a6ade50315f3c080799da45ddadf42269 Author: Arnaldo Carvalho de Melo Date: Thu Dec 6 12:27:49 2007 -0200 [TFRC]: Rename tfrc_tx_hist to tfrc_tx_hist_slab, for consistency Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 2180c41ca5c1a36c67f4140e80154699333109d2 Author: Gerrit Renker Date: Thu Dec 6 12:27:15 2007 -0200 [DCCP]: Introduce generic function to test for `data packets' as per RFC 4340, sec. 7.7. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit c40616c597bf02a2346cbf2f120283734b436245 Author: Gerrit Renker Date: Thu Dec 6 12:26:38 2007 -0200 [TFRC]: Provide central source file and debug facility This patch changes the tfrc_lib module in the following manner: (1) a dedicated tfrc source file to call the packet history & loss interval init/exit functions. (2) a dedicated tfrc_pr_debug macro with toggle switch `tfrc_debug'. Commiter note: renamed tfrc_module.c to tfrc.c, and made CONFIG_IP_DCCP_CCID3 select IP_DCCP_TFRC_LIB. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit f8b33fdfafea0f909712a55fbb3d83b89f70f3f5 Author: Pavel Emelyanov Date: Wed Dec 5 21:20:50 2007 -0800 [ARP]: Consolidate some code in arp_req_set/delete_publc The PROXY_ARP is set on devconfigs in a similar way in both calls. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 46479b432989d61c6f676adf21b4f4d8abd7bc26 Author: Pavel Emelyanov Date: Wed Dec 5 21:20:18 2007 -0800 [ARP]: Minus one level of ndentation in arp_req_delete The same cleanup for deletion requests. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 43dc1701172b7f73c495dea6c165c73ab8934f76 Author: Pavel Emelyanov Date: Wed Dec 5 21:19:44 2007 -0800 [ARP]: Minus one level of indentation in arp_req_set The ATF_PUBL requests are handled completely separate from the others. Emphasize it with a separate function. This also reduces the indentation level. The same issue exists with the arp_delete_request, but when I tried to make it in one patch diff produced completely unreadable patch. So I split it into two, but they may be done with one commit. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 1ff1cc202e9a7dbd9f54d1bce5adb44283497185 Author: Pavel Emelyanov Date: Wed Dec 5 21:15:05 2007 -0800 [IPV4] ROUTE: Convert rt_hash_lock_init() macro into function There's no need in having this function exist in a form of macro. Properly formatted function looks much better. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 107f163428b846d7cef68cb6f436788bb2f6c2e1 Author: Pavel Emelyanov Date: Wed Dec 5 21:14:28 2007 -0800 [IPV4] ROUTE: Clean up proc files creation. The rt_cache, stats/rt_cache and rt_acct(optional) files creation looks a bit messy. Clean this out and join them to other proc-related functions under the proper ifdef. The struct net * argument in a new function will help net namespaces patches look nicer. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 78c686e9faff05f1194e892d5b1273ce24021ff6 Author: Pavel Emelyanov Date: Wed Dec 5 21:13:48 2007 -0800 [IPV4] ROUTE: Collect proc-related functions together The net/ipv4/route.c file declares some entries for proc to dump some routing info. The reading functions are scattered over this file - collect them together. Besides, remove a useless IP_RT_ACCT_CPU macro. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit f4d900a2cae94256f56be7769734100c7054bf00 Author: Patrick McHardy Date: Wed Dec 5 03:31:53 2007 -0800 [NETLINK]: Mark attribute construction exception unlikely Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a59322be07c964e916d15be3df473fb7ba20c41e Author: Herbert Xu Date: Wed Dec 5 01:53:40 2007 -0800 [UDP]: Only increment counter on first peek/recv The previous move of the the UDP inDatagrams counter caused each peek of the same packet to be counted separately. This may be undesirable. This patch fixes this by adding a bit to sk_buff to record whether this packet has already been seen through skb_recv_datagram. We then only increment the counter when the packet is seen for the first time. The only dodgy part is the fact that skb_recv_datagram doesn't have a good way of returning this new bit of information. So I've added a new function __skb_recv_datagram that does return this and made skb_recv_datagram a wrapper around it. The plan is to eventually replace all uses of skb_recv_datagram with this new function at which time it can be renamed its proper name. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 1781f7f5804e52ee2d35328b129602146a8d8254 Author: Herbert Xu Date: Tue Dec 11 11:30:32 2007 -0800 [UDP]: Restore missing inDatagrams increments The previous move of the the UDP inDatagrams counter caused the counting of encapsulated packets, SUNRPC data (as opposed to call) packets and RXRPC packets to go missing. This patch restores all of these. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 27ab2568649d5ba6c5a20212079b7c4f6da4ca0d Author: Herbert Xu Date: Wed Dec 5 01:51:58 2007 -0800 [UDP]: Avoid repeated counting of checksum errors due to peeking Currently it is possible for two processes to peek on the same socket and end up incrementing the error counter twice for the same packet. This patch fixes it by making skb_kill_datagram return whether it succeeded in unlinking the packet and only incrementing the counter if it did. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit c8fecf2242a0ab7230210665986b8ef915e1ae9e Author: Pavel Emelyanov Date: Wed Dec 5 01:50:24 2007 -0800 [IPV6]: Eliminate difference in actions of sysctl and proc handler for conf.all.forwarding The only difference in this case is that updating all.forwarding causes the update in default.forwarding when done via proc, but not via the system call. Besides, this consolidates a good portion of code. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 68dd299bc84dede6aef32e6f4777a676314f5d21 Author: Pavel Emelyanov Date: Wed Dec 5 01:44:58 2007 -0800 [INET]: Merge sys.net.ipv4.ip_forward and sys.net.ipv4.conf.all.forwarding AFAIS these two entries should do the same thing - change the forwarding state on ipv4_devconf and on all the devices. I propose to merge the handlers together using ctl paths. The inet_forward_change() is static after this and I move it higher to be closer to other "propagation" helpers and to avoid diff making patches based on { and } matching :) i.e. - make them easier to read. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 4d43b78ac27ca50fe42718192ac7c80474417389 Author: Pavel Emelyanov Date: Wed Dec 5 01:44:02 2007 -0800 [IPV6]: Use sysctl paths to register ipv6 sysctl tables I have already done this for core, ipv4 and tr tables, so repeat this for the ipv6 ones. This makes the ipv6.ko smaller and creates the ground needed for net namespaces support in ipv6.ko ssctls. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 4a61b586cd7eaab6242eca58e8e6e3c8ebd88bd2 Author: Pavel Emelyanov Date: Wed Dec 5 01:43:25 2007 -0800 [IPV6]: Make the ipv6/sysctl_net_ipv6.c compilation cleaner Since this file is entirely enclosed with the #ifdef CONFIG_SYSCTL/#endif pair, it's OK to move this CONFIG_ into a Makefile. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 08913681e484f3f0db949dd0809012e089846216 Author: Pavel Emelyanov Date: Wed Dec 5 01:42:49 2007 -0800 [NET]: Remove the empty net_table I have removed all the entries from this table (core_table, ipv4_table and tr_table), so now we can safely drop it. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 36f0bebd9865dc7e327777fca34b75e65cbfd1a6 Author: Pavel Emelyanov Date: Thu Jan 24 17:04:49 2008 -0800 [TR]: Use ctl paths to register net/token-ring/ table The same thing for token-ring - use ctl paths and get rid of external references on the tr_table. Unfortunately, I couldn't split this patch into cleanup and use-the-paths parts. As a lame excuse I can say, that the cleanup is just moving the tr_table from one file to another - closet to a single variable, that this ctl table tunes. Since the source file becomes empty after the move, I remove it. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 3e37c3f9978839d91188e4ca0cc662a7245f28e4 Author: Pavel Emelyanov Date: Wed Dec 5 01:41:26 2007 -0800 [IPV4]: Use ctl paths to register net/ipv4/ table This is the same as I did for the net/core/ table in the second patch in his series: use the paths and isolate the whole table in the .c file. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 9ba639797606acbcd97be886f41fbce163914e7b Author: Pavel Emelyanov Date: Wed Dec 5 01:38:23 2007 -0800 [IPV4]: Cleanup the sysctl_net_ipv4.c file This includes several cleanups: * tune Makefile to compile out this file when SYSCTL=n. Now it looks like net/core/sysctl_net_core.c one; * move the ipv4_config to af_inet.c to exist all the time; * remove additional sysctl_ip_nonlocal_bind declaration (it is already declared in net/ip.h); * remove no nonger needed ifdefs from this file. This is a preparation for using ctl paths for net/ipv4/ sysctl table. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 33eb9cfc700ae9ce621d47d6ca6d6b4ad7cd97f3 Author: Pavel Emelyanov Date: Wed Dec 5 01:37:34 2007 -0800 [NET]: Isolate the net/core/ sysctl table Using ctl paths we can put all the stuff, related to net/core/ sysctl table, into one file and remove all the references on it. As a good side effect this hides the "core_table" name from the global scope :) Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 7e2e109cef0d59abcb9aca8b82993e304ed8970c Author: Pavel Emelyanov Date: Wed Dec 5 01:36:23 2007 -0800 [NET]: Remove unneeded ifdefs from sysctl_net_core.c This file is already compiled out when the SYSCTL=n, so these ifdefs, that enclose the whole file, can be removed. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 2eeeba390ae28fcd742e44706c363cb36bc614c6 Author: Patrick McHardy Date: Wed Dec 5 01:31:52 2007 -0800 [NETFILTER]: Select CONFIG_NETFILTER_NETLINK when needed Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ab4f58c77a189d1100383e0c901cb8e90c3ab4f7 Author: Patrick McHardy Date: Wed Dec 5 01:31:37 2007 -0800 [NETFILTER]: remove NF_CONNTRACK_ENABLED option Remove the NF_CONNTRACK_ENABLED option. It was meant for a smoother upgrade to nf_conntrack, people having reconfigured their kernel at least once since ip_conntrack was removed will have the NF_CONNTRACK option already set. People upgrading from older kernels have to reconfigure a lot anyway. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4ad9d4fa94800573edaca18ba2f34f27137c9bc0 Author: Patrick McHardy Date: Wed Dec 5 01:31:17 2007 -0800 [NETFILTER]: nfnetlink_queue: update copyright Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0ef0f46580320a7f96c60b20b7a29b0bd820d2e7 Author: Patrick McHardy Date: Wed Dec 5 01:31:01 2007 -0800 [NETFILTER]: nfnetlink_queue: remove useless enqueue status codes The queueing core doesn't care about the exact return value from the queue handler, so there's no need to go through the trouble of returning a meaningful value as long as we indicate an error. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 861934c7c888973da8bf621b3959e408531539e1 Author: Patrick McHardy Date: Wed Dec 5 01:30:29 2007 -0800 [NETFILTER]: nfnetlink_queue: eliminate impossible switch case We don't need a default case in nfqnl_build_packet_message(), the copy_mode is validated when it is set. Tell the compiler about the possible types and remove the default case. Saves 80b of text on x86_64. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ea3a66ff5ae41daa1d1aa789140a70415eaf7b46 Author: Patrick McHardy Date: Wed Dec 5 01:30:02 2007 -0800 [NETFILTER]: nfnetlink_queue: use endianness-aware attribute functions Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9d6023ab8b97f5074f9007c92d38fef9ae04e56b Author: Patrick McHardy Date: Wed Dec 5 01:29:38 2007 -0800 [NETFILTER]: nfnetlink_queue: mark hash table __read_mostly Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2bd0119729cb4eac88c6161b3e1a3c3ebbb4768e Author: Patrick McHardy Date: Wed Dec 5 01:29:23 2007 -0800 [NETFILTER]: nfnetlink_queue: remove useless debugging Originally I wanted to just remove the QDEBUG macro and use pr_debug, but none of the messages seems worth keeping. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c5de0dfde8b0c5ea3d8b3040db1967f9c1d9748e Author: Patrick McHardy Date: Wed Dec 5 01:29:05 2007 -0800 [NETFILTER]: nfnetlink_queue: kill useless wrapper nfqnl_set_mode takes the queue lock and calls __nfqnl_set_mode. Just move the code from __nfqnl_set_mode to nfqnl_set_mode since there is no other user. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9872bec773c2e8503fec480c1e8a0c732517e257 Author: Patrick McHardy Date: Wed Dec 5 01:28:50 2007 -0800 [NETFILTER]: nfnetlink: use RCU for queue instances hash Use RCU for queue instances hash. Avoids multiple atomic operations for each packet. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a3c8e7fd4b36bf6e12fef432cfa8a001dc0b7a26 Author: Patrick McHardy Date: Wed Dec 5 01:28:30 2007 -0800 [NETFILTER]: nfnetlink_queue: fix checks in nfqnl_recv_config The peer_pid must be checked in all cases when a queue exists, currently it is not checked if for NFQA_CFG_QUEUE_MAXLEN when a NFQA_CFG_CMD attribute exists in some cases. Same for the queue existance check, which can cause a NULL pointer dereference. Also consistently return -ENODEV for "queue not found". -ENOENT would be better, but that is already used to indicate a queued skb id doesn't exist. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e48b9b2fb383879a5d758d526b5eb8de4509f467 Author: Patrick McHardy Date: Wed Dec 5 01:28:10 2007 -0800 [NETFILTER]: nfnetlink_queue: avoid unnecessary atomic operation The sequence counter doesn't need to be an atomic_t, just move the increment inside the locked section. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f9c639905018967e57ea24b07e82de9bcd76339f Author: Patrick McHardy Date: Wed Dec 5 01:27:46 2007 -0800 [NETFILTER]: remove annoying debugging message Don't log "nf_hook: Verdict = QUEUE." message with NETFILTER_DEBUG=y. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit daaa8be2e0ec1c27d11e6724c8ebd8ed53914ae2 Author: Patrick McHardy Date: Wed Dec 5 01:27:19 2007 -0800 [NETFILTER]: nf_queue: clean up error paths Move duplicated error handling to end of function and add a helper function to release the device and module references from the queue entry. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4b3d15ef4a88683d93d1b76351297d2298a02a99 Author: Patrick McHardy Date: Wed Dec 5 01:27:02 2007 -0800 [NETFILTER]: {nfnetlink,ip,ip6}_queue: kill issue_verdict Now that issue_verdict doesn't need to free the queue entries anymore, all it does is disable local BHs and call nf_reinject. Move the BH disabling to the okfn invocation in nf_reinject and kill the issue_verdict functions. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 02f014d88831f73b895c1fe09badb66c88e932d3 Author: Patrick McHardy Date: Wed Dec 5 01:26:33 2007 -0800 [NETFILTER]: nf_queue: move list_head/skb/id to struct nf_info Move common fields for queue management to struct nf_info and rename it to struct nf_queue_entry. The avoids one allocation/free per packet and simplifies the code a bit. Alternatively we could add some private room at the tail, but since all current users use identical structs this seems easier. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7a6c6653b3a977087ec64d76817c7ee6e1df5b60 Author: Patrick McHardy Date: Wed Dec 5 01:26:18 2007 -0800 [NETFILTER]: ip6_queue: resync dev-index based flushing Resync dev_cmp to take bridge devices into account. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 171b7fc4fc178a004aec8d06eb745c30ae726fb6 Author: Patrick McHardy Date: Wed Dec 5 01:26:02 2007 -0800 [NETFILTER]: ip6_queue: deobfuscate entry lookups A queue entry lookup currently looks like this: ipq_find_dequeue_entry -> __ipq_find_dequeue_entry -> __ipq_find_entry -> cmpfn -> id_cmp Use simple open-coded list walking and kill the cmpfn for ipq_find_dequeue_entry. Instead add it to ipq_flush (after similar cleanups) and use ipq_flush for both complete flushes and flushing entries related to a device. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9521409265d3bae939ace4c259f765c29339730f Author: Patrick McHardy Date: Wed Dec 5 01:25:46 2007 -0800 [NETFILTER]: ip_queue: deobfuscate entry lookups A queue entry lookup currently looks like this: ipq_find_dequeue_entry -> __ipq_find_dequeue_entry -> __ipq_find_entry -> cmpfn -> id_cmp Use simple open-coded list walking and kill the cmpfn for ipq_find_dequeue_entry. Instead add it to ipq_flush (after similar cleanups) and use ipq_flush for both complete flushes and flushing entries related to a device. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b43d8d85987bf21578e270c9f57c8503114ff399 Author: Patrick McHardy Date: Wed Dec 5 01:25:30 2007 -0800 [NETFILTER]: nfnetlink_queue: deobfuscate entry lookups A queue entry lookup currently looks like this: find_dequeue_entry -> __find_dequeue_entry -> __find_entry -> cmpfn -> id_cmp Use simple open-coded list walking and kill the cmpfn for find_dequeue_entry. Instead add it to nfqnl_flush (after similar cleanups) and use nfqnl_flush for both complete flushes and flushing entries related to a device. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0ac41e81462de20f87242caac2b9084c202c33b7 Author: Patrick McHardy Date: Wed Dec 5 01:25:03 2007 -0800 [NETFILTER]: {nf_netlink,ip,ip6}_queue: use list_for_each_entry Use list_add_tail/list_for_each_entry instead of list_add and list_for_each_prev as a preparation for switching to RCU. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c01cd429fc118c5db92475c5f08b307718aa4efc Author: Patrick McHardy Date: Wed Dec 5 01:24:48 2007 -0800 [NETFILTER]: nf_queue: move queueing related functions/struct to seperate header Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f9d8928f8340ab8e76f1da4799cb19a6ff58b83d Author: Patrick McHardy Date: Wed Dec 5 01:24:30 2007 -0800 [NETFILTER]: nf_queue: remove unused data pointer Remove the data pointer from struct nf_queue_handler. It has never been used and is useless for the only handler that really matters, nfnetlink_queue, since the handler is shared between all instances. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e3ac5298159c5286cef86f0865d4fa6a606bd391 Author: Patrick McHardy Date: Wed Dec 5 01:23:57 2007 -0800 [NETFILTER]: nf_queue: make queue_handler const Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit fb46990dba94866462e90623e183d02ec591cf8f Author: Patrick McHardy Date: Wed Dec 5 01:23:41 2007 -0800 [NETFILTER]: nf_queue: remove unnecessary hook existance check We hold a module reference for each queued packet, so the hook that queued the packet can't disappear. Also remove an obsolete comment stating the opposite. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8b1cf0db2aced837fcd50072e81e32c5836a1ee1 Author: Patrick McHardy Date: Wed Dec 5 01:23:17 2007 -0800 [NETFILTER]: nf_queue: minor cleanup Clean up if (x) y; constructs. We've got nothing to hide :) Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1999414a4ece2b8cea3fb3c4dc8fe06796256269 Author: Patrick McHardy Date: Wed Dec 5 01:23:00 2007 -0800 [NETFILTER]: Mark hooks __read_mostly Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 41c5b317036fcb593d14b4dfd12e3318faf3af8a Author: Patrick McHardy Date: Wed Dec 5 01:22:43 2007 -0800 [NETFILTER]: Use nf_register_hooks for multiple registrations Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 279c2c74b6a26fbd8c3dc100a59c3ac0ff7559fa Author: Patrick McHardy Date: Wed Dec 5 01:22:24 2007 -0800 [NETFILTER]: nf_conntrack_proto_icmp: kill extern declaration in .c file Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1841a4c7ae106b7a3e2521db55f4d8bb8a0988d5 Author: Patrick McHardy Date: Wed Dec 5 01:22:05 2007 -0800 [NETFILTER]: nf_ct_h323: remove ipv6 module dependency nf_conntrack_h323 needs ip6_route_output for the call forwarding filter. Add a ->route function to nf_afinfo and use that to avoid pulling in the ipv6 module. Fix the #ifdef for the IPv6 code while I'm at it - the IPv6 support is only needed when IPv6 conntrack is enabled. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 193b23c5a0b270f045a4e77545e9020bfe73d5c4 Author: Patrick McHardy Date: Tue Dec 4 23:51:48 2007 -0800 [NETFILTER]: xt_hashlimit: remove ip6tables module dependency Switch from ipv6_find_hdr to ipv6_skip_exthdr to avoid pulling in ip6_tables and ipv6 when only using it for IPv4. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 17dfc93f6d7e5792c9c36dd70c8612721a091ae8 Author: Maciej Soltysiak Date: Tue Dec 4 23:50:38 2007 -0800 [NETFILTER]: {ip,ip6}t_LOG: log GID Log GID in addition to UID Signed-off-by: Maciej Soltysiak Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 50c164a81f1c0dfad056f99e5685537fdd0f07dd Author: Patrick McHardy Date: Tue Dec 4 13:02:19 2007 +0100 [NETFILTER]: x_tables: add rateest match Add rate estimator match. The rate estimator match can match on estimated rates by the RATEEST target. It supports matching on absolute bps/pps values, comparing two rate estimators and matching on the difference between two rate estimators. This is what I use to route outgoing data connections from a FTP server over two lines based on the available bandwidth: # estimate outgoing rates iptables -t mangle -A POSTROUTING -o eth0 -j RATEEST --rateest-name eth0 \ --rateest-interval 250ms \ --rateest-ewma 0.5s iptables -t mangle -A POSTROUTING -o ppp0 -j RATEEST --rateest-name ppp0 \ --rateest-interval 250ms \ --rateest-ewma 0.5s # mark based on available bandwidth iptables -t mangle -A BALANCE -m state --state NEW \ -m helper --helper ftp \ -m rateest --rateest-delta \ --rateest1 eth0 \ --rateest-bps1 2.5mbit \ --rateest-gt \ --rateest2 ppp0 \ --rateest-bps2 2mbit \ -j CONNMARK --set-mark 0x1 iptables -t mangle -A BALANCE -m state --state NEW \ -m helper --helper ftp \ -m rateest --rateest-delta \ --rateest1 ppp0 \ --rateest-bps1 2mbit \ --rateest-gt \ --rateest2 eth0 \ --rateest-bps2 2.5mbit \ -j CONNMARK --set-mark 0x2 iptables -t mangle -A BALANCE -j CONNMARK --restore-mark Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5859034d7eb8793d3d78d3af515c4175e7b9d03a Author: Patrick McHardy Date: Tue Dec 4 23:40:05 2007 -0800 [NETFILTER]: x_tables: add RATEEST target Add new rate estimator target (using gen_estimator). In combination with the rateest match (next patch) this can be used for load-based multipath routing. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit cb76c6a597350534d211ba79d92da1f9771f8226 Author: Patrick McHardy Date: Tue Dec 4 23:39:36 2007 -0800 [NETFILTER]: ip_tables: remove obsolete SAME target Remove the ipt_SAME target as scheduled in feature-removal-schedule. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5c350e5a380333c64da8580fa134a2fd8e71fea4 Author: Jan Engelhardt Date: Tue Dec 4 23:39:09 2007 -0800 [NETFILTER]: IPv6 capable xt_TOS v1 target Extends the xt_DSCP target by xt_TOS v1 to add support for selectively setting and flipping any bit in the IPv4 TOS and IPv6 Priority fields. (ipt_TOS and xt_DSCP only accepted a limited range of possible values.) Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f1095ab51d4297d4a84b64a65c71054183a73486 Author: Jan Engelhardt Date: Tue Dec 4 23:38:30 2007 -0800 [NETFILTER]: IPv6 capable xt_tos v1 match Extends the xt_dscp match by xt_tos v1 to add support for selectively matching any bit in the IPv4 TOS and IPv6 Priority fields. (ipt_tos and xt_dscp only accepted a limited range of possible values.) Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c9fd49680954714473d6cbd2546d6ff120f96840 Author: Jan Engelhardt Date: Tue Dec 4 23:38:13 2007 -0800 [NETFILTER]: Merge ipt_TOS into xt_DSCP Merge ipt_TOS into xt_DSCP. Merge ipt_TOS (tos v0 target) into xt_DSCP. They both modify the same field in the IPv4 header, so it seems reasonable to keep them in one piece. This is part two of the implicit 4-patch series to move tos to xtables and extend it by IPv6. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c3b33e6a2cdefba38d83442ebae2ee42e853ea51 Author: Jan Engelhardt Date: Tue Dec 4 23:37:54 2007 -0800 [NETFILTER]: Merge ipt_tos into xt_dscp Merge ipt_tos into xt_dscp. Merge ipt_tos (tos v0 match) into xt_dscp. They both match on the same field in the IPv4 header, so it seems reasonable to keep them in one piece. This is part one of the implicit 4-patch series to move tos to xtables and extend it by IPv6. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3c3f486603438130b93b33acd92db0f994ec3e55 Author: Jan Engelhardt Date: Tue Dec 4 23:37:29 2007 -0800 [NET]: Constify include/net/dsfield.h Constify include/net/dsfield.h Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4c37799ccf6c722e0dad6a0677af22d1c23fb897 Author: Jan Engelhardt Date: Tue Dec 4 23:31:59 2007 -0800 [NETFILTER]: Use lowercase names for matches in Kconfig Unify netfilter match kconfig descriptions Consistently use lowercase for matches in kconfig one-line descriptions and name the match module. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e2cf5ecbea861ff05105bbd40f4f0d7823d9e213 Author: Laszlo Attila Toth Date: Tue Dec 4 23:30:18 2007 -0800 [NETFILTER]: ipt_addrtype: limit address type checking to an interface Addrtype match has a new revision (1), which lets address type checking limited to the interface the current packet belongs to. Either incoming or outgoing interface can be used depending on the current hook. In the FORWARD hook two maches should be used if both interfaces have to be checked. The new structure is ipt_addrtype_info_v1. Revision 0 lets older userspace programs use the match as earlier. ipt_addrtype_info is used. Signed-off-by: Laszlo Attila Toth Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0553811612a6178365f3b062c30234913b218a96 Author: Laszlo Attila Toth Date: Tue Dec 4 23:28:46 2007 -0800 [IPV4]: Add inet_dev_addr_type() Address type search can be limited to an interface by inet_dev_addr_type function. Signed-off-by: Laszlo Attila Toth Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0265ab44bacc1a1e0e3f5873d8ca2d5a29e33db2 Author: Jan Engelhardt Date: Tue Dec 4 23:27:38 2007 -0800 [NETFILTER]: merge ipt_owner/ip6t_owner in xt_owner xt_owner merges ipt_owner and ip6t_owner, and adds a flag to match on socket (non-)existence. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9e67d5a739327c44885adebb4f3a538050be73e4 Author: Patrick McHardy Date: Tue Dec 4 23:25:26 2007 -0800 [NETFILTER]: x_tables: remove obsolete overflow check We're not multiplying the size with the number of CPUs anymore, so the check is obsolete. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 259d4e41f3ec25f22169daece42729f597b89f9a Author: Eric Dumazet Date: Tue Dec 4 23:24:56 2007 -0800 [NETFILTER]: x_tables: struct xt_table_info diet Instead of using a big array of NR_CPUS entries, we can compute the size needed at runtime, using nr_cpu_ids This should save some ram (especially on David's machines where NR_CPUS=4096 : 32 KB can be saved per table, and 64KB for dynamically allocated ones (because of slab/slub alignements) ) In particular, the 'bootstrap' tables are not any more static (in data section) but on stack as their size is now very small. This also should reduce the size used on stack in compat functions (get_info() declares an automatic variable, that could be bigger than kernel stack size for big NR_CPUS) Signed-off-by: Eric Dumazet Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d3c5ee6d545b5372fd525ebe16988a5b6efeceb0 Author: Jan Engelhardt Date: Tue Dec 4 23:24:03 2007 -0800 [NETFILTER]: x_tables: consistent and unique symbol names Give all Netfilter modules consistent and unique symbol names. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4c610979576d8778c401a9b1d247ed14f6cee998 Author: Li Zefan Date: Tue Dec 4 23:22:26 2007 -0800 [NETFILTER]: replace list_for_each with list_for_each_entry Signed-off-by: Li Zefan Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 338e8a79262c3709e314fbcc7ca193323e534934 Author: Sven Schnelle Date: Tue Dec 4 23:21:50 2007 -0800 [NETFILTER]: x_tables: add TCPOPTSTRIP target Signed-off-by: Sven Schnelle Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0eeb8ffcfeaa0d909ce39147f7b8fdd6cef1aacd Author: Denis V. Lunev Date: Tue Dec 4 01:15:45 2007 -0800 [NET]: netns compilation speedup This patch speedups compilation when net_namespace.h is changed. Signed-off-by: Denis V. Lunev Acked-by: "Eric W. Biederman" Signed-off-by: David S. Miller commit 6ac552fdc6e96bf2f39c18d6e66b8c8080bbb06e Author: Patrick McHardy Date: Tue Dec 4 00:19:38 2007 -0800 [NETLINK]: af_netlink.c checkpatch cleanups Fix large number of checkpatch errors. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2fcb45b6b87914f072314e5b5d9c196f45984683 Author: Herbert Xu Date: Mon Dec 3 22:54:12 2007 -0800 [IPSEC]: Use the correct family for input state lookup When merging the input paths of IPsec I accidentally left a hard-coded AF_INET for the state lookup call. This broke IPv6 obviously. This patch fixes by getting the input callers to specify the family through skb->cb. Credit goes to Kazunori Miyazawa for diagnosing this and providing an initial patch. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit bbca17680f82b1ba3122d41e8bc675aebf6d1cf2 Author: Wang Chen Date: Mon Dec 3 22:36:13 2007 +1100 [UDP]: Counter increment should be in USER mode for recvmsg System calls should be USER. So change the BH to USER for UDP*_INC_STATS_BH(). Signed-off-by: Wang Chen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit b2bf1e2659b1cba5e65f81781cfd530be447f80b Author: Wang Chen Date: Mon Dec 3 22:34:16 2007 +1100 [UDP]: Clean up for IS_UDPLITE macro Since we have macro IS_UDPLITE, we can use it. Signed-off-by: Wang Chen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit cb75994ec311b2cd50e5205efdcc0696abd6675d Author: Wang Chen Date: Mon Dec 3 22:33:28 2007 +1100 [UDP]: Defer InDataGrams increment until recvmsg() does checksum Thanks dave, herbert, gerrit, andi and other people for your discussion about this problem. UdpInDatagrams can be confusing because it counts packets that might be dropped later. Move UdpInDatagrams into recvmsg() as allowed by the RFC. Signed-off-by: Wang Chen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 6859d49475d4f32abe640372117e4b687906e6b6 Author: Ilpo Järvinen Date: Sun Dec 2 00:48:06 2007 +0200 [TCP]: Abstract tp->highest_sack accessing & point to next skb Pointing to the next skb is necessary to avoid referencing already SACKed skbs which will soon be on a separate list. Signed-off-by: Ilpo Järvinen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 7201883599ac8bff76300117155e299b1a54092f Author: Ilpo Järvinen Date: Sun Dec 30 04:37:55 2007 -0800 [TCP]: Cleanup local variables of clean_rtx_queue Signed-off-by: Ilpo Järvinen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit ea60658cde9f4df7d05b95c81a72a95ad07f0701 Author: Ilpo Järvinen Date: Sun Dec 2 00:48:04 2007 +0200 [TCP]: Add unlikely() to urgent handling in clean_rtx_queue Signed-off-by: Ilpo Järvinen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 89d478f7f2160780be9d7c9c6bac9bd350d9ed96 Author: Ilpo Järvinen Date: Sun Dec 30 04:35:27 2007 -0800 [TCP]: Remove duplicated code block from clean_rtx_queue Signed-off-by: Ilpo Järvinen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 234b68607006f3721679e900809ccb99e8bfb10c Author: Ilpo Järvinen Date: Sun Dec 2 00:48:02 2007 +0200 [TCP]: Add tcp_for_write_queue_from_safe and use it in mtu_probe Signed-off-by: Ilpo Järvinen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit d67c58e9ae80ea577785111534e49d3ca757ec50 Author: Ilpo Järvinen Date: Sun Dec 2 00:48:01 2007 +0200 [TCP]: Remove local variable and use packets_in_flight directly Lines won't be that long and it's compiler's job to optimize them. Signed-off-by: Ilpo Järvinen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 50c4817e9919132639be0adc387b509e04a9ed0a Author: Ilpo Järvinen Date: Sun Dec 2 00:48:00 2007 +0200 [TCP]: MTUprobe: prepare skb fields earlier They better be valid when call to write_queue functions is made once things that follow are going in. Signed-off-by: Ilpo Järvinen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit c3a05c6050a339c92e49fae0ba77dbba0d41fd99 Author: Ilpo Järvinen Date: Sun Dec 2 00:47:59 2007 +0200 [TCP]: Cong.ctrl modules: remove unused good_ack from cong_avoid Signed-off-by: Ilpo Järvinen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit ede9f3b186bc3eb0fce084bdcab500efc3721a80 Author: Ilpo Järvinen Date: Sun Dec 2 00:47:58 2007 +0200 [TCP]: Unite identical code from two seqno split blocks Bogus seqno compares just mislead, the code is identical for both sides of the seqno compare (and was even executed just once because of return in between). Signed-off-by: Ilpo Järvinen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 407ef1de03e87225d75a9bed271f35ea6880f5f1 Author: Ilpo Järvinen Date: Sun Dec 2 00:47:57 2007 +0200 [TCP]: Remove superflucious FLAG_DATA_SACKED To get there, highest_sack must have advanced. When it advances, a new skb is SACKed, which already sets that FLAG. Besides, the original purpose of it has puzzled me, never understood why LOST bit setting of retransmitted skb is marked with FLAG_DATA_SACKED. Signed-off-by: Ilpo Järvinen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit bce392f3b02755a8c615d4ced3d3b9cb1d9e3648 Author: Ilpo Järvinen Date: Sun Dec 2 00:47:56 2007 +0200 [TCP]: Move LOSTRETRANS MIB outside !(L|S) check Usually those skbs will have L set, not counting them as lost retransmissions is misleading. Signed-off-by: Ilpo Järvinen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 1dab62226dd9e0c0051229e7868363663546c772 Author: Pavel Emelyanov Date: Sun Dec 2 00:59:38 2007 +1100 [IPV6]: Use ctl paths to register addrconf sysctls This looks very much like the patch for ipv4's devinet. This is also intended to help us with the net namespaces and saves the ipv6.ko size by ~320 bytes. The difference from the first version is just the patch offsets, that changed due to changes in the patch #2. Signed-off-by: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit f52295a9c55ccb4d9b3580ce889f958ac740a44b Author: Pavel Emelyanov Date: Sun Dec 2 00:58:37 2007 +1100 [IPV6]: Unify and cleanup calls to addrconf_sysctl_register Currently this call is (ab)used similar to devinet one - it registers sysctls for devices and for the "default" confs, while the "all" sysctls are registered separately. But unlike its devinet brother, the passed inet6_device is needed. The fix is to make a __addrconf_sysctl_register(), which registers sysctls for all "devices" we need, including "default" and "all" :) The original addrconf_sysctl_register() calls the introduced function, passing the inet6_device, device name and ifindex (to be used as procname and ctl_name) into it. Thanks to Herbert again for pointing out, that we can shrink the argument list to 1 :) Signed-off-by: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit bfada697bd534d2c16fd07fbef3a4924c4d4e014 Author: Pavel Emelyanov Date: Sun Dec 2 00:57:08 2007 +1100 [IPV4]: Use ctl paths to register devinet sysctls This looks very much like the patch for neighbors. The path is also located on the stack and is prepared inside the function. This time, the call to the registering function is guarded with the RTNL lock, but I decided to keep it on the stack not to litter the devinet.c file with unneeded names and to make it look similar to the neighbors code. This is also intended to help us with the net namespaces and saves the vmlinux size as well - this time by more than 670 bytes. The difference from the first version is just the patch offsets, that changed due to changes in the patch #2. Signed-off-by: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 66f27a52037c89183e83689b0531412577be0101 Author: Pavel Emelyanov Date: Sun Dec 2 00:55:54 2007 +1100 [IPV4]: Unify and cleanup calls to devinet_sysctl_register Currently this call is used to register sysctls for devices and for the "default" confs. The "all" sysctls are registered separately. Besides, the inet_device is passed to this function, but it is not needed there at all - just the device name and ifindex are required. Thanks to Herbert, who noticed, that this call doesn't even require the devconf pointer (the last argument) - all we need we can take from the in_device itself. The fix is to make a __devinet_sysctl_register(), which registers sysctls for all "devices" we need, including "default" and "all" :) The original devinet_sysctl_register() works with struct net_device, not the inet_device, and calls the introduced function, passing the device name and ifindex (to be used as procname and ctl_name) into it. Signed-off-by: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit edae58ead57319b0bcf16e48a32365145c7bf0b7 Author: John W. Linville Date: Wed Nov 21 15:24:35 2007 -0500 softmac: mark as obsolete and schedule for removal Schedule softmac for for removal in the 2.6.26 development window. Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 003faaa17793c478ed2babc56a618396e0ef96c2 Author: John W. Linville Date: Sun Jan 27 22:48:37 2008 -0800 bcm43xx: mark as obsolete and schedule for removal Schedule bcm43xx for for removal in the 2.6.26 development window. Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 88fecd092e2e7677f8e3f5ab32c16d801bc85fd6 Author: John W. Linville Date: Wed Nov 21 11:54:22 2007 -0500 mac80211: remove "bcn_int" and "capab" scan results info These bits were dead code before "mac80211: Remove local->scan_flags" (commit 6681dd3fd0e4d36a4547415853e83411baa7b705) and probably should have been removed as part of that commit. Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 64bd4b693f2d0b59673086e9c510068d5ad47cee Author: Ron Rindjunsky Date: Thu Nov 29 10:35:53 2007 +0200 mac80211: move A-MSDU identifier to flags This patch moves u8 amsdu_frame in ieee80211_txrx_data to the flags section as IEEE80211_TXRXD_RX_AMSDU Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit d3c990fb26b78f60614885d9ecaf7b7686b7b098 Author: Ron Rindjunsky Date: Mon Nov 26 16:14:34 2007 +0200 mac80211: adding 802.11n configuration flows This patch configures the 802.11n mode of operation internally in ieee80211_conf structure and in the low-level driver as well (through op conf_ht). It does not include AP configuration flows. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit fd4c7f2fce1737105208c564e1458c885918982d Author: Ron Rindjunsky Date: Mon Nov 26 16:14:33 2007 +0200 mac80211: adding 802.11n essential A-MSDU Rx capability This patch adds the ability to receive and handle A-MSDU frames. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 9f985b0eee4070e494b9d62313da982cfef9b5e3 Author: Ron Rindjunsky Date: Mon Nov 26 16:14:32 2007 +0200 mac80211: adding 802.11n essential A-MPDU addBA capability This patch adds the capability to identify and answer an add block ACK request. As this series of patches only adds HT handling with no aggregations, (A-MPDU aggregations acceptance is not obligatory according to 802.11n draft) we are currently sending back a refusal upon this request. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit c715350828b12ce3b29e655fec7a7d6b22245d00 Author: Ron Rindjunsky Date: Mon Nov 26 16:14:31 2007 +0200 mac80211: adding 802.11n IEs handling This patch presents the ability to parse and compose HT IEs, and to put the IE relevant data inside the mac80211's internal HT structures Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 10816d40f2e9500057cb46d7608a362a1d10bb9b Author: Ron Rindjunsky Date: Mon Nov 26 16:14:30 2007 +0200 mac80211: adding 802.11n HT framework definitions New structures: - ieee80211_ht_info: describing STA's HT capabilities - ieee80211_ht_bss_info: describing BSS's HT characteristics Changed structures: - ieee80211_hw_mode: now also holds PHY HT capabilities for each HW mode - ieee80211_conf: ht_conf holds current self HT configuration ht_bss_conf holds current BSS HT configuration - flag IEEE80211_CONF_SUPPORT_HT_MODE added to indicate if HT use is desired - sta_info: now also holds Peer's HT capabilities Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 82b3cad942ebf1f64798e6ec3c46c277822e1fce Author: Ron Rindjunsky Date: Sun Dec 16 16:09:26 2007 -0800 mac80211: adding MAC80211_HT_DEBUG config variable This patch adds MAC80211_HT_DEBUG config variable to separate HT debug features Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit b1357a81a9ba1cf173747a0e50c24795640327f5 Author: Johannes Berg Date: Wed Nov 28 11:04:21 2007 +0100 mac80211: allow setting drop_unencrypted with wext This patch allows wpa_supplicant to set the drop_unencrypted setting in mac80211. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit e38bad4766a110b61fa6038f10be16ced8c6cc38 Author: Johannes Berg Date: Wed Nov 28 10:55:32 2007 +0100 mac80211: make ieee80211_iterate_active_interfaces not need rtnl Interface iteration in mac80211 can be done without holding any locks because I converted it to RCU. Initially, I thought this wouldn't be needed for ieee80211_iterate_active_interfaces but it's turning out that multi-BSS AP support can be much simpler in a driver if ieee80211_iterate_active_interfaces can be called without holding locks. This converts it to use RCU, it adds a requirement that the callback it invokes cannot sleep. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 76ee65bfaa1435320a72989a6413467ce446ae23 Author: Ron Rindjunsky Date: Thu Nov 22 19:49:12 2007 +0200 mac80211: restructuring data Rx handlers This patch restructures the Rx handlers chain by incorporating previously handlers ieee80211_rx_h_802_1x_pae and ieee80211_rx_h_drop_unencrypted into ieee80211_rx_h_data, already in 802.3 form. this scheme follows more precisely after the IEEE802.11 data plane archituecture, and will prevent code duplication to IEEE8021.11n A-MSDU handler. added function: - ieee80211_data_to_8023: transfering 802.11 data frames to 802.3 frame - ieee80211_deliver_skb: delivering the 802.3 frames to upper stack eliminated handlers: - ieee80211_rx_h_drop_unencrypted: now function ieee80211_drop_unencrypted - ieee80211_rx_h_802_1x_pae: now function ieee80211_802_1x_pae changed handlers: - ieee80211_rx_h_data: now contains calls to four above function Signed-off-by: Ron Rindjunsky Acked-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit ece8edddf067d21c4e5abfe3f1205da1588edbb2 Author: Zhu Yi Date: Thu Nov 22 10:53:21 2007 +0800 mac80211: hardware scan rework The scan code in mac80211 makes the software scan assumption in various places. For example, we stop the Tx queue during a software scan so that all the Tx packets will be queued by the stack. We also drop frames not related to scan in the software scan process. But these are not true for hardware scan. Some wireless hardwares (for example iwl3945/4965) has the ability to perform the whole scan process by hardware and/or firmware. The hardware scan is relative powerful in that it tries to maintain normal network traffic while doing a scan in the background. Some drivers (i.e iwlwifi) do provide a way to tune the hardware scan parameters (for example if the STA is associated, what's the max time could the STA leave from the associated channel, how long the scans get suspended after returning to the service channel, etc). But basically this is transparent to the stack. mac80211 should not stop Tx queues or drop Rx packets during a hardware scan. This patch resolves the above problem by spliting the current scan indicator local->sta_scanning into local->sta_sw_scanning and local->sta_hw_scanning. It then changes the scan related code to be aware of hardware scan or software scan in various places. With this patch, iwlwifi performs much better in the scan-while-associated condition and disable_hw_scan=1 should never be required. Cc: Mohamed Abbas Cc: Ben Cahill Signed-off-by: Zhu Yi Acked-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit f68635e627f9b21db05102e2d8fcd2894493d6bc Author: Pavel Emelyanov Date: Sun Dec 2 00:21:52 2007 +1100 [IPV6]: Cleanup the addconf_sysctl_register This only includes fixing the space-indented lines and removing one unneeded else after the goto. Signed-off-by: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 9fa896429905eccc263ff0d5e592ecaf651af12d Author: Pavel Emelyanov Date: Sun Dec 2 00:17:46 2007 +1100 [IPV4]: Cleanup the devinet_sysctl_register I moved the call to kmalloc() from the *t declaration into the code (this is confusing when a variable is initialized with the result of some call) and removed unneeded comment near the error path. Just like I did with the neigh ctl-s. Besides, I fixed the goto's and the labels - they were indented with spaces :( Signed-off-by: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit c3bac5a71b24f6ed892b250d4f7511cedc33d34c Author: Pavel Emelyanov Date: Sun Dec 2 00:08:16 2007 +1100 [NEIGH]: Use the ctl paths to create neighbours sysctls The appropriate path is prepared right inside this function. It is prepared similar to how the ctl tables were. Since the path is modified, it is put on the stack, to avoid possible races with multiple calls to neigh_sysctl_register() : it is called by protocols and I didn't find any protection in this case. Did I overlooked the rtnl lock?. The stack growth of the neigh_sysctl_register() is 40 bytes. I believe this is OK, since this is not that much and this function is not called with the deep stack (device/protocols register). The device's name is stored on the template to free it later. This will help with the net namespaces, as each namespace should have its own set of these ctls. Besides, this saves ~350 bytes from the neigh template :) Signed-off-by: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 3c607bbb472814f01b077af01ae326944ff6b8b3 Author: Pavel Emelyanov Date: Sun Dec 2 00:06:34 2007 +1100 [NEIGH]: Cleanup the neigh_sysctl_register This mainly removes the err variable, as this call always return the same error code (-ENOBUFS). Besides, I moved the call to kmalloc() from the *t declaration into the code (this is confusing when a variable is initialized with the result of some call) and removed unneeded comment near the error path. Signed-off-by: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 1597fbc0faf88c42edb3fe42e92e53b83c3f120e Author: Pavel Emelyanov Date: Sat Dec 1 23:51:01 2007 +1100 [UNIX]: Make the unix sysctl tables per-namespace This is the core. * add the ctl_table_header on the struct net; * make the unix_sysctl_register and _unregister clone the table; * moves calls to them into per-net init and exit callbacks; * move the .data pointer in the proper place. Signed-off-by: Pavel Emelyanov Acked-by: Eric W. Biederman Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 1d430b913c2e6293a80a4a422406bc9489a476ad Author: Pavel Emelyanov Date: Sat Dec 1 23:45:41 2007 +1100 [UNIX]: Use ctl paths to register unix ctl tables Unlike previous ones, this patch is useful by its own, as it decreases the vmlinux size :) But it will be used later, when the per-namespace sysctl is added. Signed-off-by: Pavel Emelyanov Acked-by: Eric W. Biederman Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit d392e49756a99ba51577d265d6db83e3f01c6ac8 Author: Pavel Emelyanov Date: Sat Dec 1 23:44:15 2007 +1100 [UNIX]: Move the sysctl_unix_max_dgram_qlen This will make all the sub-namespaces always use the default value (10) and leave the tuning via sysctl to the init namespace only. Per-namespace tuning is coming. Signed-off-by: Pavel Emelyanov Acked-by: Eric W. Biederman Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 97577e38284f48ca773392e2d401af2f6c95dc08 Author: Pavel Emelyanov Date: Sat Dec 1 23:40:40 2007 +1100 [UNIX]: Extend unix_sysctl_(un)register prototypes Add the struct net * argument to both of them to use in the future. Also make the register one return an error code. It is useless right now, but will make the future patches much simpler. Signed-off-by: Pavel Emelyanov Acked-by: Eric W. Biederman Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit dd88590995de7c7ce108718a9ad52b3832e77814 Author: Denis V. Lunev Date: Sat Dec 1 23:31:02 2007 +1100 [DECNET]: Remove extra memset from dn_fib_check_nh Signed-off-by: Denis V. Lunev Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 875179fa60ffe2eba1daaefb0af1be97ff5eda6a Author: Paul Moore Date: Sat Dec 1 23:27:18 2007 +1100 [IPSEC]: SPD auditing fix to include the netmask/prefix-length Currently the netmask/prefix-length of an IPsec SPD entry is not included in any of the SPD related audit messages. This can cause a problem when the audit log is examined as the netmask/prefix-length is vital in determining what network traffic is affected by a particular SPD entry. This patch fixes this problem by adding two additional fields, "src_prefixlen" and "dst_prefixlen", to the SPD audit messages to indicate the source and destination netmasks. These new fields are only included in the audit message when the netmask/prefix-length is less than the address length, i.e. the SPD entry applies to a network address and not a host address. Example audit message: type=UNKNOWN[1415] msg=audit(1196105849.752:25): auid=0 \ subj=root:system_r:unconfined_t:s0-s0:c0.c1023 op=SPD-add res=1 \ src=192.168.0.0 src_prefixlen=24 dst=192.168.1.0 dst_prefixlen=24 In addition, this patch also fixes a few other things in the xfrm_audit_common_policyinfo() function. The IPv4 string formatting was converted to use the standard NIPQUAD_FMT constant, the memcpy() was removed from the IPv6 code path and replaced with a typecast (the memcpy() was acting as a slow, implicit typecast anyway), and two local variables were created to make referencing the XFRM security context and selector information cleaner. Signed-off-by: Paul Moore Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 9108d5f4b2cd82f55ad178caa0be66a866a06dcc Author: Arnaldo Carvalho de Melo Date: Thu Nov 29 22:47:15 2007 -0200 [TFRC]: Hide tx history details from the CCIDs Based on a previous patch by Gerrit Renker. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 95bdfccb2bf4ea21c0065772c6a2c75cbaf6ad0d Author: Eric W. Biederman Date: Fri Nov 30 23:55:42 2007 +1100 [NET]: Implement the per network namespace sysctl infrastructure The user interface is: register_net_sysctl_table and unregister_net_sysctl_table. Very much like the current interface except there is a network namespace parameter. With this any sysctl registered with register_net_sysctl_table will only show up to tasks in the same network namespace. All other sysctls continue to be globally visible. Signed-off-by: Eric W. Biederman Cc: Serge Hallyn Cc: Daniel Lezcano Cc: Cedric Le Goater Cc: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit e51b6ba077791f2f8c876022b37419be7a2ceec3 Author: Eric W. Biederman Date: Fri Nov 30 23:54:00 2007 +1100 sysctl: Infrastructure for per namespace sysctls This patch implements the basic infrastructure for per namespace sysctls. A list of lists of sysctl headers is added, allowing each namespace to have it's own list of sysctl headers. Each list of sysctl headers has a lookup function to find the first sysctl header in the list, allowing the lists to have a per namespace instance. register_sysct_root is added to tell sysctl.c about additional lists of sysctl_headers. As all of the users are expected to be in kernel no unregister function is provided. sysctl_head_next is updated to walk through the list of lists. __register_sysctl_paths is added to add a new sysctl table on a non-default sysctl list. The only intrusive part of this patch is propagating the information to decided which list of sysctls to use for sysctl_check_table. Signed-off-by: Eric W. Biederman Cc: Serge Hallyn Cc: Daniel Lezcano Cc: Cedric Le Goater Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 23eb06de7d2d333a0f7ebba2da663e00c9c9483e Author: Eric W. Biederman Date: Fri Nov 30 23:52:10 2007 +1100 sysctl: Remember the ctl_table we passed to register_sysctl_paths By doing this we allow users of register_sysctl_paths that build and dynamically allocate their ctl_table to be simpler. This allows them to just remember the ctl_table_header returned from register_sysctl_paths from which they can now find the ctl_table array they need to free. Signed-off-by: Eric W. Biederman Cc: Serge Hallyn Cc: Daniel Lezcano Cc: Cedric Le Goater Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 29e796fd4de54b8f5bc30d897611210ece4fd0f2 Author: Eric W. Biederman Date: Fri Nov 30 23:50:18 2007 +1100 sysctl: Add register_sysctl_paths function There are a number of modules that register a sysctl table somewhere deeply nested in the sysctl hierarchy, such as fs/nfs, fs/xfs, dev/cdrom, etc. They all specify several dummy ctl_tables for the path name. This patch implements register_sysctl_path that takes an additional path name, and makes up dummy sysctl nodes for each component. This patch was originally written by Olaf Kirch and brought to my attention and reworked some by Olaf Hering. I have changed a few additional things so the bugs are mine. After converting all of the easy callers Olaf Hering observed allyesconfig ARCH=i386, the patch reduces the final binary size by 9369 bytes. .text +897 .data -7008 text data bss dec hex filename 26959310 4045899 4718592 35723801 2211a19 ../vmlinux-vanilla 26960207 4038891 4718592 35717690 221023a ../O-allyesconfig/vmlinux So this change is both a space savings and a code simplification. CC: Olaf Kirch CC: Olaf Hering Signed-off-by: Eric W. Biederman Cc: Serge Hallyn Cc: Daniel Lezcano Cc: Cedric Le Goater Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit be0ea7d5da3d99140bde7e5cea328eb111731700 Author: Patrick McHardy Date: Fri Nov 30 01:17:11 2007 +1100 [NETFILTER]: Convert old checksum helper names Kill the defines again, convert to the new checksum helper names and remove the dependency of NET_ACT_NAT on NETFILTER. Signed-off-by: Patrick McHardy Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit a99a00cf1adef2d3dce745c93c9cc8b0a1612c50 Author: Patrick McHardy Date: Fri Nov 30 01:14:30 2007 +1100 [NET]: Move netfilter checksum helpers to net/core/utils.c This allows to get rid of the CONFIG_NETFILTER dependency of NET_ACT_NAT. This patch redefines the old names to keep the noise low, the next patch converts all users. Signed-off-by: Patrick McHardy Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 3159afe0d2c1994392c269cf9dee2797830d016b Author: Gerrit Renker Date: Wed Nov 28 12:06:04 2007 -0200 [DCCP]: Remove duplicate test for CloseReq This removes a redundant test for unexpected packet types. In dccp_rcv_state_process it is tested twice whether a DCCP-server has received a CloseReq (Step 7): * first in the combined if-statement, * then in the call to dccp_rcv_closereq(). The latter is necesssary since dccp_rcv_closereq() is also called from __dccp_rcv_established(). This patch removes the duplicate test. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 0c869620762fea4b3acf6502d9e80840b27ec642 Author: Gerrit Renker Date: Wed Nov 28 11:59:48 2007 -0200 [DCCP]: Integrate state transitions for passive-close This adds the necessary state transitions for the two forms of passive-close * PASSIVE_CLOSE - which is entered when a host receives a Close; * PASSIVE_CLOSEREQ - which is entered when a client receives a CloseReq. Here is a detailed account of what the patch does in each state. 1) Receiving CloseReq The pseudo-code in 8.5 says: Step 13: Process CloseReq If P.type == CloseReq and S.state < CLOSEREQ, Generate Close S.state := CLOSING Set CLOSING timer. This means we need to address what to do in CLOSED, LISTEN, REQUEST, RESPOND, PARTOPEN, and OPEN. * CLOSED: silently ignore - it may be a late or duplicate CloseReq; * LISTEN/RESPOND: will not appear, since Step 7 is performed first (we know we are the client); * REQUEST: perform Step 13 directly (no need to enqueue packet); * OPEN/PARTOPEN: enter PASSIVE_CLOSEREQ so that the application has a chance to process unread data. When already in PASSIVE_CLOSEREQ, no second CloseReq is enqueued. In any other state, the CloseReq is ignored. I think that this offers some robustness against rare and pathological cases: e.g. a simultaneous close where the client sends a Close and the server a CloseReq. The client will then be retransmitting its Close until it gets the Reset, so ignoring the CloseReq while in state CLOSING is sane. 2) Receiving Close The code below from 8.5 is unconditional. Step 14: Process Close If P.type == Close, Generate Reset(Closed) Tear down connection Drop packet and return Thus we need to consider all states: * CLOSED: silently ignore, since this can happen when a retransmitted or late Close arrives; * LISTEN: dccp_rcv_state_process() will generate a Reset ("No Connection"); * REQUEST: perform Step 14 directly (no need to enqueue packet); * RESPOND: dccp_check_req() will generate a Reset ("Packet Error") -- left it at that; * OPEN/PARTOPEN: enter PASSIVE_CLOSE so that application has a chance to process unread data; * CLOSEREQ: server performed active-close -- perform Step 14; * CLOSING: simultaneous-close: use a tie-breaker to avoid message ping-pong (see comment); * PASSIVE_CLOSEREQ: ignore - the peer has a bug (sending first a CloseReq and now a Close); * TIMEWAIT: packet is ignored. Note that the condition of receiving a packet in state CLOSED here is different from the condition "there is no socket for such a connection": the socket still exists, but its state indicates it is unusable. Last, dccp_finish_passive_close sets either DCCP_CLOSED or DCCP_CLOSING = TCP_CLOSING, so that sk_stream_wait_close() will wait for the final Reset (which will trigger CLOSING => CLOSED). Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit f11135a3442996d78dad99933bfdb90d1f6588d3 Author: Gerrit Renker Date: Wed Nov 28 11:34:53 2007 -0200 [DCCP]: Dedicated auxiliary states to support passive-close This adds two auxiliary states to deal with passive closes: * PASSIVE_CLOSE (reached from OPEN via reception of Close) and * PASSIVE_CLOSEREQ (reached from OPEN via reception of CloseReq) as internal intermediate states. These states are used to allow a receiver to process unread data before acknowledging the received connection-termination-request (the Close/CloseReq). Without such support, it will happen that passively-closed sockets enter CLOSED state while there is still unprocessed data in the queue; leading to unexpected and erratic API behaviour. PASSIVE_CLOSE has been mapped into TCPF_CLOSE_WAIT, so that the code will seamlessly work with inet_accept() (which tests for this state). The state names are thanks to Arnaldo, who suggested this naming scheme following an earlier revision of this patch. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit f53dc67c5e7babafe239b93a11678b0e05bead51 Author: Gerrit Renker Date: Wed Nov 28 08:35:08 2007 +0000 [DCCP]: Use AF-independent rebuild_header routine This fixes a nasty bug: dccp_send_reset() is called by both DCCPv4 and DCCPv6, but uses inet_sk_rebuild_header() in each case. This leads to unpredictable and weird behaviour: under some conditions, DCCPv6 Resets were sent, in other not. The fix is to use the AF-independent rebuild_header routine. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 276f2edc52e309b38a216245952e05880e182c83 Author: Arnaldo Carvalho de Melo Date: Wed Nov 28 11:15:40 2007 -0200 [TFRC]: Migrate TX history to singly-linked lis This patch was based on another made by Gerrit Renker, his changelog was: ------------------------------------------------------ The patch set migrates TFRC TX history to a singly-linked list. The details are: * use of a consistent naming scheme (all TFRC functions now begin with `tfrc_'); * allocation and cleanup are taken care of internally; * provision of a lookup function, which is used by the CCID TX infrastructure to determine the time a packet was sent (in turn used for RTT sampling); * integration of the new interface with the present use in CCID3. ------------------------------------------------------ Simplifications I did: . removing the tfrc_tx_hist_head that had a pointer to the list head and another for the slabcache. . No need for creating a slabcache for each CCID that wants to use the TFRC tx history routines, create a single slabcache when the dccp_tfrc_lib module init routine is called. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit ea4f76ae13b4240dac304ed50636391d6b22e9c5 Author: Ilpo Järvinen Date: Fri Nov 30 00:59:07 2007 +1100 [TCP]: Two fixes to new sacktag code 1) Skip condition used to be wrong way around which made SACK processing very broken, missed many blocks because of that. 2) Use highest_sack advancement only if some skbs are already sacked because otherwise tcp_write_queue_next may move things too far (occurs mainly with GSO). The other similar advancement is not problem because highest_sack was previosly put to point a sacked skb. These problems were located because of problem report from Matt Mathis . Signed-off-by: Ilpo Järvinen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit df1b86c53dc56b1a3125b6792356066ac3af4254 Author: Pavel Emelyanov Date: Fri Nov 30 00:42:42 2007 +1100 [NET]: Nicer WARN_ON in netstat_show The if (statement) WARN_ON(1); looks much better as WARN_ON(statement); Signed-off-by: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit c7dc89c0ac8e7c3796bff91becf58ccdbcaf9f18 Author: Fred L. Templin Date: Thu Nov 29 22:11:40 2007 +1100 [IPV6]: Add RFC4214 support This patch includes support for the Intra-Site Automatic Tunnel Addressing Protocol (ISATAP) per RFC4214. It uses the SIT module, and is configured using extensions to the "iproute2" utility. The diffs are specific to the Linux 2.6.24-rc2 kernel distribution. This version includes the diff for ./include/linux/if.h which was missing in the v2.4 submission and is needed to make the patch compile. The patch has been installed, compiled and tested in a clean 2.6.24-rc2 kernel build area. Signed-off-by: Fred L. Templin Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit df97c708d5e6eebdd9ded1fa588eae09acf53793 Author: Pavel Emelyanov Date: Thu Nov 29 21:22:33 2007 +1100 [NET]: Eliminate unused argument from sk_stream_alloc_pskb The 3rd argument is always zero (according to grep :) Eliminate it and merge the function with sk_stream_alloc_skb. This saves 44 more bytes, and together with the previous patch we have: add/remove: 1/0 grow/shrink: 0/8 up/down: 183/-751 (-568) function old new delta sk_stream_alloc_skb - 183 +183 ip_rt_init 529 525 -4 arp_ignore 112 107 -5 __inet_lookup_listener 284 274 -10 tcp_sendmsg 2583 2481 -102 tcp_sendpage 1449 1300 -149 tso_fragment 417 258 -159 tcp_fragment 1149 988 -161 __tcp_push_pending_frames 1998 1837 -161 Signed-off-by: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit f561d0f27d6283c49359bb96048f8ac3728c812c Author: Pavel Emelyanov Date: Thu Nov 29 20:28:50 2007 +1100 [NET]: Uninline the sk_stream_alloc_pskb This function seems too big for inlining. Indeed, it saves half-a-kilo when uninlined: add/remove: 1/0 grow/shrink: 0/7 up/down: 195/-719 (-524) function old new delta sk_stream_alloc_pskb - 195 +195 ip_rt_init 529 525 -4 __inet_lookup_listener 284 274 -10 tcp_sendmsg 2583 2486 -97 tcp_sendpage 1449 1305 -144 tso_fragment 417 267 -150 tcp_fragment 1149 992 -157 __tcp_push_pending_frames 1998 1841 -157 Signed-off-by: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 3015a347dcd470fcc8becf1f84b0502391a3c0e0 Author: Joonwoo Park Date: Mon Nov 26 23:31:24 2007 +0800 [IPV4] fib_hash: kmalloc + memset conversion to kzalloc fib_hash: kmalloc + memset conversion to kzalloc fix to avoid memset entirely. Signed-off-by: Joonwoo Park Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 88f8349164cf4035e63db9e6f484e0ce9cb17e47 Author: Joonwoo Park Date: Mon Nov 26 23:29:32 2007 +0800 [IPV4] fib_semantics: kmalloc + memset conversion to kzalloc fib_semantics: kmalloc + memset conversion to kzalloc fix to avoid memset entirely. Signed-off-by: Joonwoo Park Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit dcaee95a1b396f85cdc28099f39710be328d3a5e Author: Joonwoo Park Date: Mon Nov 26 23:23:21 2007 +0800 [IPSEC]: kmalloc + memset conversion to kzalloc 2007/11/26, Patrick McHardy : > How about also switching vmalloc/get_free_pages to GFP_ZERO > and getting rid of the memset entirely while you're at it? > xfrm_hash: kmalloc + memset conversion to kzalloc fix to avoid memset entirely. Signed-off-by: Joonwoo Park Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 8512430e554a84275669f78f86dce18566d5cf7a Author: Ilpo Järvinen Date: Mon Nov 26 20:17:38 2007 +0800 [TCP]: Move FRTO checks out from write queue abstraction funcs Better place exists in update_send_head (other non-queue related adjustments are done there as well) which is the only caller of tcp_advance_send_head (now that the bogus call from mtu_probe is gone). Signed-off-by: Ilpo Järvinen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 82d8a867ffaed7fe58e789103b32c0fc6b79dafd Author: Pavel Emelyanov Date: Mon Nov 26 20:12:58 2007 +0800 [NET]: Make macro to specify the ptype_base size Currently this size is 16, but as the comment says this is so only because all the chains (except one) has the length 1. I think, that some day this may change, so growing this hash will be much easier. Besides, symbolic names are read better than magic constants. Signed-off-by: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 8d8ad9d7c4bfe79bc91b7fc419ecfb9dcdfe6a51 Author: Pavel Emelyanov Date: Mon Nov 26 20:10:50 2007 +0800 [NET]: Name magic constants in sock_wake_async() The sock_wake_async() performs a bit different actions depending on "how" argument. Unfortunately this argument ony has numerical magic values. I propose to give names to their constants to help people reading this function callers understand what's going on without looking into this function all the time. I suppose this is 2.6.25 material, but if it's not (or the naming seems poor/bad/awful), I can rework it against the current net-2.6 tree. Signed-off-by: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit ce865a61c810c971b47f57c729ec6e9b2d522d94 Author: Gerrit Renker Date: Sat Nov 24 22:14:15 2007 -0200 [DCCP]: Add support for abortive release This continues from the previous patch and adds support for actively aborting a DCCP connection, using a Reset Code 2, "Aborted" to inform the peer of an abortive release. I have tried this in various client/server settings and it works as expected. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit d83bd95bf11444993b9c405b255ffa644c32d414 Author: Gerrit Renker Date: Sun Dec 16 16:06:03 2007 -0800 [DCCP]: Check for unread data on close This removes one FIXME with regard to close when there is still unread data. The mechanism is implemented similar to TCP: with regard to DCCP-specifics, a Reset with Code 2, "Aborted" is sent to the peer. This corresponds in part to RFC 4340, 8.1.1 and 8.1.5. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit dcfbc7e97a2e3a0d73a2e41e1bddb988dcca701e Author: Gerrit Renker Date: Sat Nov 24 22:12:06 2007 -0200 [CCID2]: Remove misleading comment This removes a comment which identifies an `issue' with dccp_write_xmit() where there is none. The comment assumes it is possible that a packet is sent between the calls to ccid_hc_tx_send_packet(), dccp_transmit_skb(), ccid_hc_tx_packet_sent() (in the above order) in dccp_write_xmit(). I think that this is impossible, since dccp_write_xmit() is always called under lock: * when called as dccp_write_xmit(sk, 1) from dccp_send_close(), the socket is locked (see code comment above dccp_send_close()); * when called as dccp_write_xmit(sk, 0) from dccp_send_msg(), it is after lock_sock() has been called; * when called as dccp_write_xmit(sk, 0) from dccp_write_xmit_timer(), bh_lock_sock() has been called and the if/else statement has made sure that sk_lock.owner is not set; * there are no other places where dccp_write_xmit() is called. Furthermore, the debug statement for printing the sequence number of the packet just sent has been removed, since the entire list is being printed anyway and so the entry of that number appears last. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit a302002516a094015e5d004b8d939a8a34559c82 Author: Gerrit Renker Date: Sat Nov 24 22:10:29 2007 -0200 [CCID2]: Remove redundant ack-counting variable The code used two different variables to count Acks, one of them redundant. This patch reduces the number of Ack counters to one. The type of the Ack counter has also been changed to u32 (twice the range of int); and the variable has been renamed into `packets_acked' - for consistency with RFC 3465 (and similarly named variables are used by TCP and SCTP). Lastly, a slightly less aggressive `maxincr' increment is used (for even Ack Ratios, maxincr was Ack Ratio/2 + 1 instead of Ack Ratio/2). Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 83399361c30f2ffae20ee348ba9ada9a856d499a Author: Gerrit Renker Date: Sat Nov 24 22:09:35 2007 -0200 [CCID2]: Remove redundant synchronisation variable This removes the synchronisation variable `ccid2hctx_sendwait', which is set to 1 when the CCID2 sender may send a new packet, and which is set to 0 otherwise The variable is redundant, since it is only used in combination with the hc_tx_send_packet/ hc_tx_packet_sent function pair. Both functions are called under socket lock, so the following happens when the CCID2 may send a new packet: * it sets sendwait = 1 in tx_send_packet and returns 0; * the subsequent call to tx_packet_sent clears the sendwait flag; * since tx_send_packet returns 0 if and only if sendwait == 1, the BUG_ON condition in tx_packet_sent is never satisfied, since that function is never called when tx_send_packet returns a value different from 0 (cf. dccp_write_xmit); * the call to tx_packet_sent clears the flag so that the condition "!sendwait" is true the next time tx_packet_sent is called. In other words, it is sufficient to just return 0 / not-0 to synchronise tx_send_packet and tx_packet_sent -- which is what the patch does. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit da98e0b5d4c1f88b7c9e63e8918783cd4905be2b Author: Gerrit Renker Date: Sat Nov 24 22:08:27 2007 -0200 [CCID2]: Redundant debugging output This reduces the amount of redundant debugging messages: * pipe/cwnd are printed in both tx_send_packet() and tx_packet_sent(). Both functions are called immediately after one another, so one occurrence is sufficient. * Since tx_packet_sent() prints pipe/cwnd already, the second printk for pipe is redundant. * In tx_packet_sent() the check_sanity function is called twice (at the begin and at the end). Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 95b21d7e9d099f1cffca08e40f292d6658a88b3c Author: Gerrit Renker Date: Sat Nov 24 22:06:52 2007 -0200 [CCID2]: Replace pipe assignment-function with assignment The function ccid2_change_pipe only does an assignment. This patch simplifies the code by replacing the function with the assignment it performs. Furthermore, the type of pipe is promoted from `signed' to unsigned (increasing the range). As a result, a BUG_ON test for negative values now becomes obsolete (for safety not removed, but replaced with a less annoying `DCCP_BUG'). Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 3deeadd74bbf916b502d307222833ffcf68db557 Author: Gerrit Renker Date: Sat Nov 24 22:05:51 2007 -0200 [CCID2]: Replace cwnd assignment-function with assignment The current function ccid2_change_cwnd in effect makes only an assignment, as the test whether cwnd has reached 0 is only required when cwnd is halved. This patch simplifies the code by replacing the function with the assignment it performs. Furthermore, since ssthresh derives from cwnd and appears in many assignments and comparisons, the type of ssthresh has also been changed to match that of cwnd. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 63df18ad7fb91c65dafc89d3cf94a58a486ad416 Author: Gerrit Renker Date: Sat Nov 24 22:04:35 2007 -0200 [CCID2]: Replace read-only variable with constant This replaces the field member `numdupack', which was used as a read-only constant in the code, with a #define. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 7792cd8885954eb7ac38e781a7a9faae5a80a3d8 Author: Gerrit Renker Date: Sat Nov 24 22:01:56 2007 -0200 [CCID2]: Remove unused variable This removes a variable `ccid2hctx_sent' which is incremented but never referenced/read (i.e., dead code). Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 900bfed4718126e6c32244903b6f43e0990d04ad Author: Gerrit Renker Date: Sat Nov 24 21:58:33 2007 -0200 [CCID2]: Disable broken Ack Ratio adaptation algorithm This comments out a problematic section comprising a half-finished algorithm: - The variable `ccid2hctx_ackloss' is never initialised to a value different from 0 and hence in fact is a read-only constant. - The `arsent' variable counts packets other than Acks (it is incremented for every packet), and there is no test for Ack Loss. - The concept of counting Acks as such leads to a complex calculation, and the calculation at the moment is inconsistent with this concept. The problem is that the number of Acks - rather than the number of windows - is counted, which leads to a complex (cubic/quadratic) expression - this is not even implemented. In its current state, the commented-out algorithm interfers with normal processing by changing Ack Ratio incorrectly, and at the wrong times. A new algorithm is necessary, which will not necessarily use the same variables as used by the unfinished one; hence the old variables have been removed. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit b00d2bbc45a287c9a72374582ce42205f3412419 Author: Gerrit Renker Date: Sat Nov 24 21:44:30 2007 -0200 [CCID2]: Larger initial windows also for CCID2 RFC 4341, sec. 5 states that "The cwnd parameter is initialized to at most four packets for new connections, following the rules from [RFC3390]", which is implemented by this patch. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit e18d7a9857cb620a8f70622c4e400be477c264cf Author: Arnaldo Carvalho de Melo Date: Sat Nov 24 21:42:53 2007 -0200 [DCCP]: Initialize dccp_sock before calling the ccid constructors This is because in the next patch CCID2 will assume that dccps_mss_cache is non-zero. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit d50ad163e6db2dcc365b8d02b30350220f86df04 Author: Gerrit Renker Date: Sat Nov 24 21:40:24 2007 -0200 [CCID2]: Deadlock and spurious timeouts when Ack Ratio > cwnd This patch removes a bug in the current code. I agree with Andrea's comment that there is a problem here but the way it is treated does not fix it. The problem is that whenever Ack Ratio > cwnd, starvation/deadlock occurs: * the receiver will not send an Ack until (Ack Ratio - cwnd) data packets have arrived; * the sender will not send any data packet before the receipt of an Ack advances the send window. The only way that the connection then progresses was via RTO timeout. In one extreme case (bulk transfer), it was observed that this happened for every single packet; i.e. hundreds of packets, each a RTO timeout of 1..3 seconds apart: a transfer which normally would take a fraction of a second thus grew to several minutes. The solution taken by this approach is to observe the relation "Ack Ratio <= cwnd" by using the constraint (1) from RFC 4341, 6.1.2; i.e. set Ack Ratio = ceil(cwnd / 2) and update it whenever either Ack Ratio or cwnd change. This ensures that the deadlock problem can not arise. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit df054e1d00fdafa2e2920319df326ddb3f0d0413 Author: Gerrit Renker Date: Sat Nov 24 21:32:53 2007 -0200 [CCID2]: Don't assign negative values to Ack Ratio Since it makes not sense to assign negative values to Ack Ratio, this patch disallows this possibility. As a consequence, a Bug test for negative Ack Ratio values becomes obsolete. Furthermore, a check against overflow (as Ack Ratio may not exceed 2 bytes, due to RFC 4340, 11.3) has been added. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit cfbbeabc8864902c4af1c0cadf0972b352930a26 Author: Gerrit Renker Date: Sat Nov 24 20:43:59 2007 -0200 [CCID2]: Fix sequence number arithmetic/comparisons This replaces use of normal subtraction with modulo-48 subtraction. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 3de5489f47febe0333b142e0eb6389b9924b2634 Author: Gerrit Renker Date: Sat Nov 24 20:37:48 2007 -0200 [CCID2]: Bug in reading Ack Vectors In CCID2 the receiver-history is sorted in ascending order of sequence number, but the processing of received Ack Vectors requires the list traversal in the opposite direction. The current code has a bug in this regard: the list traversal is upwards. As a consequence, only Ack Vectors with a run length of 1 will pass, in all other Ack Vectors the remaining (acked) sequence numbers are missed, and may later falsely be identified as lost. Note: This bug is only visible when Ack Ratio > 1, since otherwise the run lengths of Ack Vectors are 0. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit a47c51044a77124ce66cd8513bba6f4d7673e43d Author: Gerrit Renker Date: Sun Dec 30 04:19:31 2007 -0800 [ACKVEC]: Reduce length of identifiers This is reduces the length of the struct ackvec/ackvec_record fields. It is a purely text-based replacement: s#dccpavr_#avr_#g; s#dccpav_#av_#g; and increases readability somewhat. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit e7d0362dd41e760f340c1b500646cc92522bd9d5 Author: Ilpo Järvinen Date: Mon Nov 26 23:34:54 2007 +0800 [PCOUNTER] Fix build error without CONFIG_SMP I keep getting this build error and couldn't find anyone fixing it in archives. ...Maybe all net developers except me build just SMP kernels :-). In file included from include/net/sock.h:50, from ipc/mqueue.c:35: include/linux/pcounter.h: In function 'pcounter_add': include/linux/pcounter.h:87: error: 'struct pcounter' has no member named 'value' make[1]: *** [ipc/mqueue.o] Error 1 make: *** [ipc] Error 2 Signed-off-by: Ilpo Järvinen Acked-by: Arnaldo Carvalho de Melo Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit f1267347353b586e1a89a7d02c142be975bae699 Author: Pavel Emelyanov Date: Fri Nov 23 21:28:44 2007 +0800 [IPV6]: Correct the comment concerning inetsw6 table It seems that net/ipv6/af_inet6.c was copied from net/ipv4/af_inet.c, but one comment was not fixed. Signed-off-by: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit a53eb3feb2718bf906e81be89fae823b9b6157b6 Author: Pavel Emelyanov Date: Fri Nov 23 20:30:01 2007 +0800 [UNIX] Move the unix sock iterators in to proper place The first_unix_socket() and next_unix_sockets() are now used in proc file and in forall_unix_socets macro only. The forall_unix_sockets is not used in this file at all so remove it. After this move the helpers to where they really belong, i.e. closer to proc code under the #ifdef CONFIG_PROC_FS option. Signed-off-by: Pavel Emelyanov Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit c28149016c24f4399c0a1eb0ebc15c92611223f0 Author: Gerrit Renker Date: Wed Nov 21 10:14:31 2007 -0200 [DCCP]: Update documentation on ioctls Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit c86ab2b6a5deec2223a606b90c001bedda9d950b Author: Gerrit Renker Date: Wed Nov 21 10:13:53 2007 -0200 [DCCP]: Ignore Ack Vectors / Elapsed Time on DCCP-Request also Small update with regard to RFC 4340 (references added as documentation): on Requests, Ack Vectors / Elapsed Time should be ignored. Length handling of Elapsed Time also simplified. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 6d57b43bf810cd66ccf252c04ba65c3e8e56cbb1 Author: Gerrit Renker Date: Wed Nov 21 10:11:52 2007 -0200 [DCCP]: Remove redundant dependency on IP_DCCP This cleans up the consequences of an earlier patch which introduced the `if IP_DCCP' clause into net/dccp/Kconfig. The CCID Kconfig menu is sourced within this clause; as a consequence, all tests of type `depends on IP_DCCP' are now redundant. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit e333b3edc489151afda2a4f6c798842c64cb67a4 Author: Gerrit Renker Date: Wed Nov 21 10:09:56 2007 -0200 [DCCP]: Promote CCID2 as default CCID This patch addresses the following problems: 1. DCCP relies for its proper functioning on having at least one CCID module enabled (as in TCP plugable congestion control). Currently it is possible to disable both CCIDs and thus leave the DCCP module in a compiled, but entirely non-functional state: no sockets can be created when no CCID is available. Furthermore, the protocol is (again like TCP) not intended to be used without CCIDs. Last, a non-empty CCID list is needed for doing CCID feature negotiation. 2. Internally the default CCID that is advertised by the Linux host is set to CCID2 (DCCPF_INITIAL_CCID in include/linux/dccp.h). Disabling CCID2 in the Kconfig menu without changing the defaults leads to a failure `module not found' when trying to load the dccp module (which internally tries to load the default CCID). 3. The specification (RFC 4340, sec. 10) treats CCID2 somewhat like a `minimum common denominator'; the specification says that: * "New connections start with CCID 2 for both endpoints" * "A DCCP implementation intended for general use, such as an implementation in a general-purpose operating system kernel, SHOULD implement at least CCID 2. The intent is to make CCID 2 broadly available for interoperability [...]" Providing CCID2 as minimum-required CCID (like Reno/Cubic in TCP) thus seems reasonable. Hence this patch automatically selects CCID2 when DCCP is enabled. Documentation also added. Discussions with Ian McDonald on this subject are gratefully acknowledged. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit ebe6f7e73c3efec1de295205806b4550fcb468cd Author: Gerrit Renker Date: Wed Nov 21 10:00:17 2007 -0200 [DCCP]: Update documentation This updates the DCCP documentation, following input from Ian McDonald, clarifiying the status of DCCP, and adding a note about the test tree. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 8e8c71f1ab0ca1c4e74efad14533b991524dcb6c Author: Gerrit Renker Date: Wed Nov 21 09:56:48 2007 -0200 [DCCP]: Honour and make use of shutdown option set by user This extends the DCCP socket API by honouring any shutdown(2) option set by the user. The behaviour is, as much as possible, made consistent with the API for TCP's shutdown. This patch exploits the information provided by the user via the socket API to reduce processing costs: * if the read end is closed (SHUT_RD), it is not necessary to deliver to input CCID; * if the write end is closed (SHUT_WR), the same idea applies, but with a difference - as long as the TX queue has not been drained, we need to receive feedback to keep congestion-control rates up to date. Hence SHUT_WR is honoured only after the last packet (under congestion control) has been sent; * although SHUT_RDWR seems nonsensical, it is nevertheless supported in the same manner as for TCP (and agrees with test for SHUTDOWN_MASK in dccp_poll() in net/dccp/proto.c). Furthermore, most of the code already honours the sk_shutdown flags (dccp_recvmsg() for instance sets the read length to 0 if SHUT_RD had been called); CCID handling is now added to this by the present patch. There will also no longer be any delivery when the socket is in the final stages, i.e. when one of dccp_close(), dccp_fin(), or dccp_done() has been called - which is fine since at that stage the connection is its final stages. Motivation and background are on http://www.erg.abdn.ac.uk/users/gerrit/dccp/notes/shutdown A FIXME has been added to notify the other end if SHUT_RD has been set (RFC 4340, 11.7). Note: There is a comment in inet_shutdown() in net/ipv4/af_inet.c which asks to "make sure the socket is a TCP socket". This should probably be extended to mean `TCP or DCCP socket' (the code is also used by UDP and raw sockets). Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 9b91ad2747891767c0efb4fb965c5dfed8d4f88e Author: Gerrit Renker Date: Tue Nov 20 21:56:37 2007 -0200 [DCCP]: Make PARTOPEN an autonomous state This decouples PARTOPEN from TCP-specific stream-states. It thus addresses the FIXME. The code has been checked with regard to dependency on PARTOPEN and FIN_WAIT1 states (to which PARTOPEN previously was mapped): there is no difference, as PARTOPEN is always referred to directly (i.e. not via the mapping to TCP state). Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit c3ada46a009001e144b29736880962f24ee2afdf Author: Gerrit Renker Date: Tue Nov 20 18:09:59 2007 -0200 [CCID3]: Inline for moving average The moving average computation occurs so frequently in the CCID 3 code that it merits an inline function of its own. This is uses a suggestion by Arnaldo as per http://www.mail-archive.com/dccp@vger.kernel.org/msg01662.html Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit a5358fdc9c52e44d79dcd144375e089e166508d7 Author: Gerrit Renker Date: Tue Nov 20 18:01:59 2007 -0200 [CCID3]: Accurately determine idle & application-limited periods This fixes/updates the handling of idle and application-limited periods in CCID3, which currently is broken: there is no detection as to how long a sender has been idle - there is only one flag which is toggled in between function calls. Being obsolete now, the `idle' flag is removed. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit eb279b79c46be767ecffadaa8ed6be3e3555e93d Author: Gerrit Renker Date: Tue Nov 20 18:00:39 2007 -0200 [CCID3]: Ignore trivial amounts of elapsed time This patch fixes a previously undiscovered bug; the problem is in computing the elapsed time as the time between `receiving' the packet (i.e. skb enters CCID module) and sending feedback: - there is no layer-processing, queueing, or delay involved, - hence the elapsed time is in the order of 1 function call - this is in the dimension of maximally 50..100usec - which renders the use of elapsed time almost entirely useless. The fix is simply to ignore such trivial amounts of elapsed time. As a further advantage, the now useless elapsed_time field can be removed from the socket, which reduces the socket structure by another four bytes. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 6c08b2cf4843788e66a5e69b5512538e686ae3e3 Author: Gerrit Renker Date: Tue Nov 20 17:33:17 2007 -0200 [CCID3]: Revert use of MSS instead of s This updates the CCID3 code with regard to two instances of using `MSS' in place of `s': 1. The RFC3390-based initial rate: both rfc3448bis as well as the Faster Restart draft now consistently use `s' instead of MSS. 2. Now agrees with section 4.2 of rfc3448bis: "If the sender is ready to send data when it does not yet have a round trip sample, the value of X is set to s bytes per second, for segment size s [...]" Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit ebb53d75657f86587ac8cf3e38ab0c860a8e3d4f Author: Arnaldo Carvalho de Melo Date: Wed Nov 21 22:08:50 2007 +0800 [NET] proto: Use pcounters for the inuse field Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit de4d1db369785c29d68915edfee0cb70e8199f4c Author: Arnaldo Carvalho de Melo Date: Wed Nov 21 22:02:58 2007 +0800 [LIB]: Introduce struct pcounter This just generalises what was introduced by Eric Dumazet for the struct proto inuse field in 286ab3d46058840d68e5d7d52e316c1f7e98c59f: [NET]: Define infrastructure to keep 'inuse' changes in an efficent SMP/NUMA way. Please look at the comment in there to see the rationale. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 0c884439dbd7c895cce61c4974c8868b0f6cd4a1 Author: Johannes Berg Date: Fri Nov 16 02:17:07 2007 +0100 mac80211: remove more forgotten code Hopefully that's the rest. Seems I didn't do a very thorough job removing the management interface. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 6b4e324164c683a7b4c1bd0be4d85f9a5a0f0e90 Author: Ron Rindjunsky Date: Wed Nov 14 19:57:38 2007 +0200 mac80211: adding 802.11n definitions in ieee80211.h This patch adds several structs and definitions to ieee80211.h to support 802.11n draft specifications. As 802.11n depends on and extends the 802.11e standard in several issues, there are also several definitions that belong to 802.11e. Signed-off-by: Ron Rindjunsky Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 48933dea47c947f1d44631ce2292736e6a48eef1 Author: Helmut Schaa Date: Fri Nov 9 16:26:09 2007 +0100 mac80211: Remove local->scan_flags This patch removes all references to local->scan_flags as these are not used anymore since the removal of prism2 ioctls. Signed-off-by: Helmut Schaa Signed-off-by: Jiri Benc Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit dabeb344f54ab780d152714c18f1cb6b21c471a1 Author: Johannes Berg Date: Fri Nov 9 01:57:29 2007 +0100 mac80211: provide interface iterator for drivers Sometimes drivers need to know which interfaces are associated with their hardware. Rather than forcing those drivers to keep track of the interfaces that were added, this adds an iteration function to mac80211. As it is intended to be used from the interface add/remove callbacks, the iteration function may currently only be called under RTNL. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 9859a79023d71dd4e56c195a345abc4112abfd02 Author: Pavel Emelyanov Date: Mon Nov 19 23:20:59 2007 -0800 [NET]: Compact sk_stream_mem_schedule() code This function references sk->sk_prot->xxx for many times. It turned out, that there's so many code in it, that gcc cannot always optimize access to sk->sk_prot's fields. After saving the sk->sk_prot on the stack and comparing disassembled code, it turned out that the function became ~10 bytes shorter and made less dereferences (on i386 and x86_64). Stack consumption didn't grow. Besides, this patch drives most of this function into the 80 columns limit. Signed-off-by: Pavel Emelyanov Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 3ef1355dcb8551730cc71e9ef4363f5c66ccad17 Author: Benjamin Thery Date: Mon Nov 19 23:18:16 2007 -0800 [NET]: Make netns cleanup to run in a separate queue This patch adds a separate workqueue for cleaning up a network namespace. If we use the keventd workqueue to execute cleanup_net(), there is a problem to unregister devices in IPv6. Indeed the code that cleans up also schedule work in keventd: as long as cleanup_net() hasn't return, dst_gc_task() cannot run and as long as dst_gc_task() has not run, there are still some references pending on the net devices and cleanup_net() can not unregister and exit the keventd workqueue. Signed-off-by: Benjamin Thery Signed-off-by: Daniel Lezcano Acked-by: Denis V. Lunev Acked-By: Kirill Korotaev Signed-off-by: David S. Miller commit 85b606800be20ceeca36bd8594c1eb228d2fb2f4 Author: Pavel Emelyanov Date: Mon Nov 19 22:52:41 2007 -0800 [IPVS]: Relax the module get/put in ip_vs_app.c Both try_module_get/module_put already handle the module == NULL case, so no need in manual checking. This patch fits both net-2.6 and net-2.6.25. Signed-off-by: Pavel Emelyanov Acked-by: Simon Horman Signed-off-by: David S. Miller commit 52427c9d11477d5a2633d81050f52523decf9eff Author: Akinobu Mita Date: Mon Nov 19 22:46:51 2007 -0800 [TUN]: Use iov_length() Use iov_length() instead of tun's homemade iov_total(). Signed-off-by: Akinobu Mita Signed-off-by: David S. Miller commit 02d45827fa211093202f96bdd58020cc8687929f Author: Adrian Bunk Date: Mon Nov 19 22:45:20 2007 -0800 [NET] net/core/request_sock.c: Remove unused exports. This patch removes the following unused EXPORT_SYMBOL's: - reqsk_queue_alloc - __reqsk_queue_destroy - reqsk_queue_destroy Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit beb659bd8c9f2ccc8195779383f71088f936bf6e Author: Eric Dumazet Date: Mon Nov 19 22:43:37 2007 -0800 [PATCH] IPV4 : Move ip route cache flush (secret_rebuild) from softirq to workqueue Every 600 seconds (ip_rt_secret_interval), a softirq flush of the whole ip route cache is triggered. On loaded machines, this can starve softirq for many seconds and can eventually crash. This patch moves this flush to a workqueue context, using the worker we intoduced in commit 39c90ece7565f5c47110c2fa77409d7a9478bd5b (IPV4: Convert rt_check_expire() from softirq processing to workqueue.) Also, immediate flushes (echo 0 >/proc/sys/net/ipv4/route/flush) are using rt_do_flush() helper function, wich take attention to rescheduling. Next step will be to handle delayed flushes ("echo -1 >/proc/sys/net/ipv4/route/flush" or "ip route flush cache") Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 42a73808ed4f30b739eb52bcbb33a02fe62ceef5 Author: Pavel Emelyanov Date: Mon Nov 19 22:38:33 2007 -0800 [RAW]: Consolidate proc interface. Both ipv6/raw.c and ipv4/raw.c use the seq files to walk through the raw sockets hash and show them. The "walking" code is rather huge, but is identical in both cases. The difference is the hash table to walk over and the protocol family to check (this was not in the first virsion of the patch, which was noticed by YOSHIFUJI) Make the ->open store the needed hash table and the family on the allocated raw_iter_state and make the start/next/stop callbacks work with it. This removes most of the code. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit ab70768ec78c6784958bab3b58fbe3f4150006df Author: Pavel Emelyanov Date: Mon Nov 19 22:37:58 2007 -0800 [RAW]: Consolidate proto->unhash callback Same as the ->hash one, this is easily consolidated. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 65b4c50b47c4ac3d2b5a82e5553b8e5613fb9585 Author: Pavel Emelyanov Date: Mon Nov 19 22:37:24 2007 -0800 [RAW]: Consolidate proto->hash callback Having the raw_hashinfo it's easy to consolidate the raw[46]_hash functions. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit b673e4dfc8f29e5bfe4d342029b793e9d504f6dd Author: Pavel Emelyanov Date: Mon Nov 19 22:36:45 2007 -0800 [RAW]: Introduce raw_hashinfo structure The ipv4/raw.c and ipv6/raw.c contain many common code (most of which is proc interface) which can be consolidated. Most of the places to consolidate deal with the raw sockets hashtable, so introduce a struct raw_hashinfo which describes the raw sockets hash. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 69d6da0b0faa70249a243a14e6066c013e9294e5 Author: Pavel Emelyanov Date: Mon Nov 19 22:35:57 2007 -0800 [IPv6] RAW: Compact the API for the kernel Same as in the previous patch for ipv4, compact the API and hide hash table and rwlock inside the raw.c file. Plus fix some "bad" places from checkpatch.pl point of view (assignments inside if()). Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 7bc54c90307b4bc3d7fb2ffd6ad8fbda0671a45e Author: Pavel Emelyanov Date: Mon Nov 19 22:35:07 2007 -0800 [IPv4] RAW: Compact the API for the kernel The raw sockets functions are explicitly used from inside the kernel in two places: 1. in ip_local_deliver_finish to intercept skb-s 2. in icmp_error For this purposes many functions and even data structures, that are naturally internal for raw protocol, are exported. Compact the API to two functions and hide all the other (including hash table and rwlock) inside the net/ipv4/raw.c Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit e372c41401993b45c721c4d92730e7e0a79f7c1b Author: Denis V. Lunev Date: Mon Nov 19 22:31:54 2007 -0800 [NET]: Consolidate net namespace related proc files creation. Signed-off-by: Denis V. Lunev Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 097e66c578459f79e3a2128c54e9df5194e1419a Author: Denis V. Lunev Date: Mon Nov 19 22:29:30 2007 -0800 [NET]: Make AF_UNIX per network namespace safe [v2] Because of the global nature of garbage collection, and because of the cost of per namespace hash tables unix_socket_table has been kept global. With a filter added on lookups so we don't see sockets from the wrong namespace. Currently I don't fold the namesapce into the hash so multiple namespaces using the same socket name will be guaranteed a hash collision. Changes from v1: - fixed unix_seq_open Signed-off-by: Denis V. Lunev Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit d12d01d6b4d197115c4d7736172b5b1ec8b1eb71 Author: Denis V. Lunev Date: Mon Nov 19 22:28:35 2007 -0800 [NET]: Make AF_PACKET handle multiple network namespaces This is done by making packet_sklist_lock and packet_sklist per network namespace and adding an additional filter condition on received packets to ensure they came from the proper network namespace. Changes from v1: - prohibit to call inet_dgram_ops.ioctl in other than init_net Signed-off-by: Denis V. Lunev Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 4b3da706bbe4613d2fe4df8df4d965954ea98964 Author: Eric W. Biederman Date: Mon Nov 19 22:27:40 2007 -0800 [NET]: Make the netlink methods in rtnetlink handle multiple network namespaces After the previous prep work this just consists of removing checks limiting the code to work in the initial network namespace, and updating rtmsg_ifinfo so we can generate events for devices in something other then the initial network namespace. Referring to network other network devices like the IFLA_LINK and IFLA_MASTER attributes do, gets interesting if those network devices happen to be in other network namespaces. Currently ifindex numbers are allocated globally so I have taken the path of least resistance and not still report the information even though the devices they are talking about are invisible. If applications start getting confused or when ifindex numbers become local to the network namespace we may need to do something different in the future. Signed-off-by: Eric W. Biederman Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 97c53cacf00d1f5aa04adabfebcc806ca8b22b10 Author: Denis V. Lunev Date: Mon Nov 19 22:26:51 2007 -0800 [NET]: Make rtnetlink infrastructure network namespace aware (v3) After this patch none of the netlink callback support anything except the initial network namespace but the rtnetlink infrastructure now handles multiple network namespaces. Changes from v2: - IPv6 addrlabel processing Changes from v1: - no need for special rtnl_unlock handling - fixed IPv6 ndisc Signed-off-by: Denis V. Lunev Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit b854272b3c732316676e9128f7b9e6f1e1ff88b0 Author: Denis V. Lunev Date: Sat Dec 1 00:21:31 2007 +1100 [NET]: Modify all rtnetlink methods to only work in the initial namespace (v2) Before I can enable rtnetlink to work in all network namespaces I need to be certain that something won't break. So this patch deliberately disables all of the rtnletlink methods in everything except the initial network namespace. After the methods have been audited this extra check can be disabled. Changes from v1: - added IPv6 addrlabel protection Signed-off-by: Denis V. Lunev Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller Signed-off-by: Herbert Xu commit ad5d20a63940fcfb40af76ba06148f36d5d0b433 Author: Patrick McHardy Date: Mon Nov 19 22:00:42 2007 -0800 [MACVLAN]: Allow setting mac address while device is up Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 59891d53f4a31402f8bd1f8c89e0e2c07d51b2cd Author: Patrick McHardy Date: Mon Nov 19 22:00:00 2007 -0800 [MACVLAN]: Remove unnecessary IFF_UP check Only devices that are UP are in the hash, so macvlan_broadcast() doesn't need to check for IFF_UP. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1b0b04f9fb657a9ee85e3b9388394b9b943f7ffc Author: David S. Miller Date: Mon Nov 19 21:56:16 2007 -0800 [IPCONFIG]: Mark vendor_class_identifier as __initdata. Based upon a suggestion by Francois Romieu. Signed-off-by: David S. Miller commit b209639e8a91aaabedf8bf3716710e6d9ae942e3 Author: Rumen G. Bogdanovski Date: Mon Nov 19 21:53:27 2007 -0800 [IPVS]: Create synced connections with their real state With this patch the synced connections are created with their real state, which can be changed on the next synchronizations if necessary. This way on fail-over all the connections will be treated according to their actual state, causing no scheduling problems (the active and the nonactive connections have different weights in the schedulers). The backwards compatibility is preserved and the existing tools will show the true connection states even on the backup director. Signed-off-by: Rumen G. Bogdanovski Signed-off-by: Simon Horman Signed-off-by: David S. Miller commit 7a4fbb1fa46e1a84c246e7bcd99bff45935bf114 Author: Rumen G. Bogdanovski Date: Mon Nov 19 21:52:42 2007 -0800 [IPVS]: Flag synced connections and expose them in proc This patch labels the sync-created connections with IP_VS_CONN_F_SYNC flag and creates /proc/net/ip_vs_conn_sync to enable monitoring of the origin of the connections, if they are local or created by the synchronization. Signed-off-by: Rumen G. Bogdanovski Signed-off-by: Simon Horman Signed-off-by: David S. Miller commit c237899d1f8c5bfcfc9d6204052e0e065827ff75 Author: Michael Wu Date: Tue Oct 30 16:50:05 2007 -0400 ieee80211: Add IEEE80211_MAX_FRAME_LEN to linux/ieee80211.h This patch adds IEEE80211_MAX_FRAME_LEN which is useful for drivers trying to determine how much to allocate for their RX buffers. It also updates the comment on IEEE80211_MAX_DATA_LEN based on revisions in 802.11e. IEEE80211_MAX_FRAG_THRESHOLD and IEEE80211_MAX_RTS_THRESHOLD are also revised due to the new maximum frame size. Signed-off-by: Michael Wu Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 6a4329554c527e86c2745bc001c29bb8d1b8efaf Author: Mattias Nissler Date: Wed Oct 24 23:30:36 2007 +0200 mac80211: Accept auto txpower setting This changes the SIWTXPOWER ioctl to also accept a txpower setting of "automatic". Since mac80211 currently cannot tell drivers to automatically adjust tx power, we select the tx power level of the current channel. While this is kind of a hack, it certainly saves some iwconfig users from headaches. Signed-off-by: Mattias Nissler Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit c7b6ea24b43afb5749cb704e143df19d70e23dea Author: Stephen Hemminger Date: Mon Nov 19 19:37:09 2007 -0800 [NETPOLL]: Don't need rx_flags. The rx_flags variable is redundant. Turning rx on/off is done via setting the rx_np pointer. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 33f807ba0d9259e7c75c7a2ce8bd2787e5b540c7 Author: Stephen Hemminger Date: Mon Nov 19 19:24:52 2007 -0800 [NETPOLL]: Kill NETPOLL_RX_DROP, set but never tested. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0953864160bdd28dfe45fd46fa462b4d2d53cb96 Author: Stephen Hemminger Date: Mon Nov 19 19:23:29 2007 -0800 [NETPOLL]: no need to store local_mac The local_mac is managed by the network device, no need to keep a spare copy and all the management problems that could cause. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5106930bd6b57402205e3de54dae9476e215b622 Author: Stephen Hemminger Date: Mon Nov 19 19:18:11 2007 -0800 [NETPOLL]: netpoll_poll() cleanup Restructure code slightly to improve readability: * dereference device once * change obvious while() loop * let poll_napi() handle null list itself Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0adc9add7709f87995c003c0ccb085076afdc923 Author: Stephen Hemminger Date: Mon Nov 19 19:15:03 2007 -0800 [NETPOLL]: Use skb_queue_purge(). Use standard routine for flushing queue. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 20de20beba6e9bd2e1c83696bfefa3b16cda9a74 Author: Ilpo Järvinen Date: Fri Nov 16 16:17:05 2007 -0800 [TCP]: Correct DSACK check placing Previously one of the in-block skip branches was missing it. Also, drop it from tail-fully-processed case because the next iteration will do exactly the same thing, i.e., process the SACK block that contains the DSACK information. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit f7ab97f78a5c573e49474edbd260ea6898ddccda Author: Oliver Hartkopp Date: Fri Nov 16 16:09:28 2007 -0800 [CAN]: Add documentation This patch adds documentation for the PF_CAN protocol family. Signed-off-by: Oliver Hartkopp Signed-off-by: Urs Thuermann Signed-off-by: David S. Miller commit beca222d1aa09c0b2f56a6af788eacf5c19093da Author: Oliver Hartkopp Date: Fri Nov 16 16:07:41 2007 -0800 [CAN]: Add maintainer entries This patch adds entries in the CREDITS and MAINTAINERS file for CAN. Signed-off-by: Oliver Hartkopp Signed-off-by: Urs Thuermann Signed-off-by: David S. Miller commit 1f98eefae8ca451d317b1602f2cedf7515b032ff Author: Oliver Hartkopp Date: Thu Dec 27 16:51:46 2007 -0800 [CAN]: Add missing Kbuild entries This patch adds the missing Kbuild entries and the missing Kbuild file in include/linux/can for the CAN subsystem. Signed-off-by: Oliver Hartkopp Acked-by: Sam Ravnborg Signed-off-by: David S. Miller commit 4195e31780a20e09c6e793c2d96390e05309e226 Author: Oliver Hartkopp Date: Thu Dec 27 16:50:06 2007 -0800 [CAN]: Fix plain integer definitions in userspace header. This patch fixes the use of plain integers instead of __u32 in a struct that is visible from kernel space and user space. Thanks to Sam Ravnborg for pointing out the wrong plain int usage. Signed-off-by: Oliver Hartkopp Acked-by: Sam Ravnborg Signed-off-by: David S. Miller commit ccb29637991fa6b8321a80c2320a71e379aea962 Author: Oliver Hartkopp Date: Fri Nov 16 15:56:08 2007 -0800 [CAN]: Add virtual CAN netdevice driver This patch adds the virtual CAN bus (vcan) network driver. The vcan device is just a loopback device for CAN frames, no real CAN hardware is involved. Signed-off-by: Oliver Hartkopp Signed-off-by: Urs Thuermann Signed-off-by: David S. Miller commit ffd980f976e7fd666c2e61bf8ab35107efd11828 Author: Oliver Hartkopp Date: Fri Nov 16 15:53:52 2007 -0800 [CAN]: Add broadcast manager (bcm) protocol This patch adds the CAN broadcast manager (bcm) protocol. Signed-off-by: Oliver Hartkopp Signed-off-by: Urs Thuermann Signed-off-by: David S. Miller commit c18ce101f2e47d97ace125033e2896895a6db3dd Author: Oliver Hartkopp Date: Fri Nov 16 15:53:09 2007 -0800 [CAN]: Add raw protocol This patch adds the CAN raw protocol. Signed-off-by: Oliver Hartkopp Signed-off-by: Urs Thuermann Signed-off-by: David S. Miller commit 0d66548a10cbbe0ef256852d63d30603f0f73f9b Author: Oliver Hartkopp Date: Fri Nov 16 15:52:17 2007 -0800 [CAN]: Add PF_CAN core module This patch adds the CAN core functionality but no protocols or drivers. No protocol implementations are included here. They come as separate patches. Protocol numbers are already in include/linux/can.h. Signed-off-by: Oliver Hartkopp Signed-off-by: Urs Thuermann Signed-off-by: David S. Miller commit cd05acfe65ed2cf2db683fa9a6adb8d35635263b Author: Oliver Hartkopp Date: Sun Dec 16 15:59:24 2007 -0800 [CAN]: Allocate protocol numbers for PF_CAN This patch adds a protocol/address family number, ARP hardware type, ethernet packet type, and a line discipline number for the SocketCAN implementation. Signed-off-by: Oliver Hartkopp Signed-off-by: Urs Thuermann Signed-off-by: David S. Miller commit 8dbde28d9711475adfe0e9c88505e38743cdc2a7 Author: Eric Dumazet Date: Fri Nov 16 03:32:10 2007 -0800 [NET]: NET_CLS_ROUTE : convert ip_rt_acct to per_cpu variables ip_rt_acct needs 4096 bytes per cpu to perform some accounting. It is actually allocated as a single huge array [4096*NR_CPUS] (rounded up to a power of two) Converting it to a per cpu variable is wanted to : - Save space on machines were num_possible_cpus() < NR_CPUS - Better NUMA placement (each cpu gets memory on its node) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 68f8353b480e5f2e136c38a511abdbb88eaa8ce2 Author: Ilpo Järvinen Date: Thu Nov 15 19:50:37 2007 -0800 [TCP]: Rewrite SACK block processing & sack_recv_cache use Key points of this patch are: - In case new SACK information is advance only type, no skb processing below previously discovered highest point is done - Optimize cases below highest point too since there's no need to always go up to highest point (which is very likely still present in that SACK), this is not entirely true though because I'm dropping the fastpath_skb_hint which could previously optimize those cases even better. Whether that's significant, I'm not too sure. Currently it will provide skipping by walking. Combined with RB-tree, all skipping would become fast too regardless of window size (can be done incrementally later). Previously a number of cases in TCP SACK processing fails to take advantage of costly stored information in sack_recv_cache, most importantly, expected events such as cumulative ACK and new hole ACKs. Processing on such ACKs result in rather long walks building up latencies (which easily gets nasty when window is huge). Those latencies are often completely unnecessary compared with the amount of _new_ information received, usually for cumulative ACK there's no new information at all, yet TCP walks whole queue unnecessary potentially taking a number of costly cache misses on the way, etc.! Since the inclusion of highest_sack, there's a lot information that is very likely redundant (SACK fastpath hint stuff, fackets_out, highest_sack), though there's no ultimate guarantee that they'll remain the same whole the time (in all unearthly scenarios). Take advantage of this knowledge here and drop fastpath hint and use direct access to highest SACKed skb as a replacement. Effectively "special cased" fastpath is dropped. This change adds some complexity to introduce better coveraged "fastpath", though the added complexity should make TCP behave more cache friendly. The current ACK's SACK blocks are compared against each cached block individially and only ranges that are new are then scanned by the high constant walk. For other parts of write queue, even when in previously known part of the SACK blocks, a faster skip function is used (if necessary at all). In addition, whenever possible, TCP fast-forwards to highest_sack skb that was made available by an earlier patch. In typical case, no other things but this fast-forward and mandatory markings after that occur making the access pattern quite similar to the former fastpath "special case". DSACKs are special case that must always be walked. The local to recv_sack_cache copying could be more intelligent w.r.t DSACKs which are likely to be there only once but that is left to a separate patch. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit fd6dad616d4fe2f08d690f25ca76b0102158fb3a Author: Ilpo Järvinen Date: Thu Nov 15 19:49:47 2007 -0800 [TCP]: Earlier SACK block verification & simplify access to them Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 9e10c47cb9fe3154416787523f7a0df02133063f Author: Ilpo Järvinen Date: Thu Nov 15 19:44:56 2007 -0800 [TCP]: Create tcp_sacktag_one(). Worker function that implements the main logic of the inner-most loop of tcp_sacktag_write_queue(). Idea was originally presented by David S. Miller. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit b7d4815f35ab1d0f1eef2521a94a7d4c789290a2 Author: Ilpo Järvinen Date: Thu Nov 15 19:43:56 2007 -0800 [TCP]: Prior_fackets can be replaced by highest_sack seq Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 9f58f3b721f52a4d3f497ea57f830ccd307f1d76 Author: Ilpo Järvinen Date: Thu Nov 15 19:42:54 2007 -0800 [TCP]: Make lost retrans detection more self-contained Highest_sack_end_seq is no longer calculated in the loop, thus it can be pushed to the worker function altogether making that function independent of the sacktag. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit a47e5a988a575e64c8c9bae65a1dfe3dca7cba32 Author: Ilpo Järvinen Date: Thu Nov 15 19:41:46 2007 -0800 [TCP]: Convert highest_sack to sk_buff to allow direct access It is going to replace the sack fastpath hint quite soon... :-) Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 85cc391c0e4584db594bfc4005c63c07c76c5077 Author: Ilpo Järvinen Date: Thu Nov 15 19:39:31 2007 -0800 [TCP]: non-FACK SACK follows conservative SACK loss recovery Many assumptions that are true when no reordering or other strange events happen are not a part of the RFC3517. FACK implementation is based on such assumptions. Previously (before the rewrite) the non-FACK SACK was basically doing fast rexmit and then it times out all skbs when first cumulative ACK arrives, which cannot really be called SACK based recovery :-). RFC3517 SACK disables these things: - Per SKB timeouts & head timeout entry to recovery - Marking at least one skb while in recovery (RFC3517 does this only for the fast retransmission but not for the other skbs when cumulative ACKs arrive in the recovery) - Sacktag's loss detection flavors B and C (see comment before tcp_sacktag_write_queue) This does not implement the "last resort" rule 3 of NextSeg, which allows retransmissions also when not enough SACK blocks have yet arrived above a segment for IsLost to return true [RFC3517]. The implementation differs from RFC3517 in these points: - Rate-halving is used instead of FlightSize / 2 - Instead of using dupACKs to trigger the recovery, the number of SACK blocks is used as FACK does with SACK blocks+holes (which provides more accurate number). It seems that the difference can affect negatively only if the receiver does not generate SACK blocks at all even though it claimed to be SACK-capable. - Dupthresh is not a constant one. Dynamical adjustments include both holes and sacked segments (equal to what FACK has) due to complexity involved in determining the number sacked blocks between highest_sack and the reordered segment. Thus it's will be an over-estimate. Implementation note: tcp_clean_rtx_queue doesn't need a lost_cnt tweak because head skb at that point cannot be SACKED_ACKED (nor would such situation last for long enough to cause problems). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit f577111302677e6d1448475821cc19ba8835f60e Author: Ilpo Järvinen Date: Thu Nov 15 19:35:11 2007 -0800 [TCP]: Extend reordering detection to cover CA_Loss partially This implements more accurately what is stated in sacktag's overall comment: "Both of these heuristics are not used in Loss state, when we cannot account for retransmits accurately." When CA_Loss state is entered, the state changer ensures that undo_marker is only set if no TCPCB_RETRANS skbs were found, thus having non-zero undo_marker in CA_Loss basically tells that the R-bits still accurately reflect the current state of TCP. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit b9d86585dc6c9265aa373c7036458fe8aa7627c6 Author: Ilpo Järvinen Date: Thu Nov 15 19:33:31 2007 -0800 [TCP]: Move !in_sack test earlier in sacktag & reorganize if()s All intermediate conditions include it already, make them simpler as well. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit c0ef877b2c9f543e9fb7953bfe1a0cd3a4eae362 Author: Pavel Emelyanov Date: Thu Nov 15 03:03:19 2007 -0800 [NET]: Move sock_valbool_flag to socket.c The sock_valbool_flag() helper is used in setsockopt to set or reset some flag on the sock. This helper is required in the net/socket.c only, so move it there. Besides, patch two places in sys_setsockopt() that repeat this helper functionality manually. Since this is not a bugfix, but a trivial cleanup, I prepared this patch against net-2.6.25, but it also applies (with a single offset) to the latest net-2.6. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit de0fa95c14bc4d4b545fae26439371ebfdcb8534 Author: Pavel Emelyanov Date: Wed Nov 14 16:01:43 2007 -0800 [NET]: Use sockfd_lookup_light in the rest of the net/socket.c Some time ago a sockfd_lookup_light was introduced and most of the socket.c file was patched to use it. However two routines were left - sys_sendto and sys_recvfrom. Patch them as well, since this helper does exactly what these two need. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 62013dbb8418eb7231c1577d238cf2e76b7696b0 Author: Rainer Jochem Date: Wed Nov 14 02:18:39 2007 -0800 [IPV4] ipconfig: Implement DHCP Class-identifier From : Rainer Jochem Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 20fea08b5fb639c4c175b5c74a2bb346c5c5bc2e Author: Eric Dumazet Date: Wed Nov 14 01:44:41 2007 -0800 [NET]: Move Qdisc_class_ops and Qdisc_ops in appropriate sections. Qdisc_class_ops are const, and Qdisc_ops are mostly read. Using "const" and "__read_mostly" qualifiers helps to reduce false sharing. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 2a8cc6c89039e0530a3335954253b76ed0f9339a Author: YOSHIFUJI Hideaki Date: Wed Nov 14 15:56:23 2007 +0900 [IPV6] ADDRCONF: Support RFC3484 configurable address selection policy table. Policy table is implemented as an RCU linear list since we do not expect large list nor frequent updates. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 303065a8545bf7524550bd9564afb48e8a685a2d Author: YOSHIFUJI Hideaki Date: Wed Nov 14 15:56:15 2007 +0900 [IPV6] ADDRCONF: Allow address selection policy with ifindex. This patch allows ifindex to be a key for address selection policy table. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit c1ee656ccb3b03304d38f852debccdd1567702e6 Author: YOSHIFUJI Hideaki Date: Wed Nov 14 15:55:29 2007 +0900 [IPV6] ADDRCONF: Rename ipv6_saddr_label() to ipv6_addr_label(). This patch renames ipv6_saddr_label() to ipv6_addr_label() because address label is used for both of source address and destination address. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 294b4baf292197e13d1df1d253efa7ac84ffee3f Author: David S. Miller Date: Wed Nov 14 01:57:47 2007 -0800 [IPSEC]: Kill afinfo->nf_post_routing After changeset: [NETFILTER]: Introduce NF_INET_ hook values It always evaluates to NF_INET_POST_ROUTING. Signed-off-by: David S. Miller commit 6e23ae2a48750bda407a4a58f52a4865d7308bf5 Author: Patrick McHardy Date: Mon Nov 19 18:53:30 2007 -0800 [NETFILTER]: Introduce NF_INET_ hook values The IPv4 and IPv6 hook values are identical, yet some code tries to figure out the "correct" value by looking at the address family. Introduce NF_INET_* values for both IPv4 and IPv6. The old values are kept in a #ifndef __KERNEL__ section for userspace compatibility. Signed-off-by: Patrick McHardy Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 1bf06cd2e338fd6fc29169d30eaf0df982338285 Author: Herbert Xu Date: Mon Nov 19 18:50:17 2007 -0800 [IPSEC]: Add async resume support on input This patch adds support for async resumptions on input. To do so, the transform would return -EINPROGRESS and subsequently invoke the function xfrm_input_resume to resume processing. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 60d5fcfb19d8a958fc563e52240cd05ec23f36c9 Author: Herbert Xu Date: Mon Nov 19 18:47:58 2007 -0800 [IPSEC]: Remove nhoff from xfrm_input The nhoff field isn't actually necessary in xfrm_input. For tunnel mode transforms we now throw away the output IP header so it makes no sense to fill in the nexthdr field. For transport mode we can now let the function transport_finish do the setting and it knows where the nexthdr field is. The only other thing that needs the nexthdr field to be set is the header extraction code. However, we can simply move the protocol extraction out of the generic header extraction. We want to minimise the amount of info we have to carry around between transforms as this simplifies the resumption process for async crypto. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit d26f398400311982d2433debae85746c348b7d58 Author: Herbert Xu Date: Tue Nov 13 21:47:08 2007 -0800 [IPSEC]: Make x->lastused an unsigned long Currently x->lastused is u64 which means that it cannot be read/written atomically on all architectures. David Miller observed that the value stored in it is only an unsigned long which is always atomic. So based on his suggestion this patch changes the internal representation from u64 to unsigned long while the user-interface still refers to it as u64. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 0ebea8ef3559b545c37b016f44e84c3b33e47c39 Author: Herbert Xu Date: Tue Nov 13 21:45:58 2007 -0800 [IPSEC]: Move state lock into x->type->input This patch releases the lock on the state before calling x->type->input. It also adds the lock to the spots where they're currently needed. Most of those places (all except mip6) are expected to disappear with async crypto. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 668dc8af3150f837f7f0461001bbbc0ce25d7bdf Author: Herbert Xu Date: Sun Dec 16 15:55:02 2007 -0800 [IPSEC]: Move integrity stat collection into xfrm_input Similar to the moving out of the replay processing on the output, this patch moves the integrity stat collectin from x->type->input into xfrm_input. This would eventually allow transforms such as AH/ESP to be lockless. The error value EBADMSG (currently unused in the crypto layer) is used to indicate a failed integrity check. In future this error can be directly returned by the crypto layer once we switch to aead algorithms. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit b2aa5e9d43a38dcdfa0878ed750cf32f98460278 Author: Herbert Xu Date: Tue Nov 13 21:44:55 2007 -0800 [IPSEC]: Store xfrm states in security path directly As it is xfrm_input first collects a list of xfrm states on the stack before storing them in the packet's security path just before it returns. For async crypto, this construction presents an obstacle since we may need to leave the loop after each transform. In fact, it's much easier to just skip the stack completely and always store to the security path. This is proven by the fact that this patch actually shrinks the code. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 716062fd4c2f88a33ab409f62a1e7397ad0a7e33 Author: Herbert Xu Date: Tue Nov 13 21:44:23 2007 -0800 [IPSEC]: Merge most of the input path As part of the work on asynchronous cryptographic operations, we need to be able to resume from the spot where they occur. As such, it helps if we isolate them to one spot. This patch moves most of the remaining family-specific processing into the common input code. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit c6581a457e661b7070e484ad723bbf555b17aca2 Author: Herbert Xu Date: Tue Nov 13 21:43:43 2007 -0800 [IPSEC]: Add async resume support on output This patch adds support for async resumptions on output. To do so, the transform would return -EINPROGRESS and subsequently invoke the function xfrm_output_resume to resume processing. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 862b82c6f960cc61274d370aa78ce1112f92a83e Author: Herbert Xu Date: Tue Nov 13 21:43:11 2007 -0800 [IPSEC]: Merge most of the output path As part of the work on asynchrnous cryptographic operations, we need to be able to resume from the spot where they occur. As such, it helps if we isolate them to one spot. This patch moves most of the remaining family-specific processing into the common output code. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit ef76bc23ef2acf20c8f7f841a542d8ab74c827c6 Author: Herbert Xu Date: Fri Jan 11 19:15:08 2008 -0800 [IPV6]: Add ip6_local_out Most callers of the LOCAL_OUT chain will set the IP packet length before doing so. They also share the same output function dst_output. This patch creates a new function called ip6_local_out which does all of that and converts the appropriate users over to it. Apart from removing duplicate code, it will also help in merging the IPsec output path. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit c439cb2e4b13cf1cb2abcd006b906315a3381323 Author: Herbert Xu Date: Fri Jan 11 19:14:00 2008 -0800 [IPV4]: Add ip_local_out Most callers of the LOCAL_OUT chain will set the IP packet length and header checksum before doing so. They also share the same output function dst_output. This patch creates a new function called ip_local_out which does all of that and converts the appropriate users over to it. Apart from removing duplicate code, it will also help in merging the IPsec output path once the same thing is done for IPv6. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 227620e295090629fcb2c46ad3828222ab65438d Author: Herbert Xu Date: Tue Nov 13 21:41:28 2007 -0800 [IPSEC]: Separate inner/outer mode processing on input With inter-family transforms the inner mode differs from the outer mode. Attempting to handle both sides from the same function means that it needs to handle both IPv4 and IPv6 which creates duplication and confusion. This patch separates the two parts on the input path so that each function deals with one family only. In particular, the functions xfrm4_extract_inut/xfrm6_extract_inut moves the pertinent fields from the IPv4/IPv6 IP headers into a neutral format stored in skb->cb. This is then used by the inner mode input functions to modify the inner IP header. In this way the input function no longer has to know about the outer address family. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 36cf9acf93e8561d9faec24849e57688a81eb9c5 Author: Herbert Xu Date: Tue Nov 13 21:40:52 2007 -0800 [IPSEC]: Separate inner/outer mode processing on output With inter-family transforms the inner mode differs from the outer mode. Attempting to handle both sides from the same function means that it needs to handle both IPv4 and IPv6 which creates duplication and confusion. This patch separates the two parts on the output path so that each function deals with one family only. In particular, the functions xfrm4_extract_output/xfrm6_extract_output moves the pertinent fields from the IPv4/IPv6 IP headers into a neutral format stored in skb->cb. This is then used by the outer mode output functions to write the outer IP header. In this way the output function no longer has to know about the inner address family. Since the extract functions are only called by tunnel modes (the only modes that can support inter-family transforms), I've also moved the xfrm*_tunnel_check_size calls into them. This allows the correct ICMP message to be sent as opposed to now where you might call icmp_send with an IPv6 packet and vice versa. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 29bb43b4ec4e625b0659186fc8a7c8f8b7c81982 Author: Herbert Xu Date: Tue Nov 13 21:40:13 2007 -0800 [INET]: Give outer DSCP directly to ip*_copy_dscp This patch changes the prototype of ipv4_copy_dscp and ipv6_copy_dscp so that they directly take the outer DSCP rather than the outer IP header. This will help us to unify the code for inter-family tunnels. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit a2deb6d26f16ed7bf787dbd6a58c5d7be47d8db3 Author: Herbert Xu Date: Tue Nov 13 21:39:38 2007 -0800 [IPSEC]: Move x->outer_mode->output out of locked section RO mode is the only one that requires a locked output function. So it's easier to move the lock into that function rather than requiring everyone else to run under the lock. In particular, this allows us to move the size check into the output function without causing a potential dead-lock should the ICMP error somehow hit the same SA on transmission. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit e40b3286158565909692e5914ea4a11bdbcc68c8 Author: Herbert Xu Date: Tue Nov 13 21:39:08 2007 -0800 [IPSEC]: Forbid BEET + ipcomp for now While BEET can theoretically work with IPComp the current code can't do that because it tries to construct a BEET mode tunnel type which doesn't (and cannot) exist. In fact as it is it won't even attach a tunnel object at all for BEET which is bogus. To support this fully we'd also need to change the policy checks on input to recognise a plain tunnel as a legal variant of an optional BEET transform. This patch simply fails such constructions for now. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 25ee3286dcbc830a833354bb1d15567956844813 Author: Herbert Xu Date: Tue Dec 11 09:32:34 2007 -0800 [IPSEC]: Merge common code into xfrm_bundle_create Half of the code in xfrm4_bundle_create and xfrm6_bundle_create are common. This patch extracts that logic and puts it into xfrm_bundle_create. The rest of it are then accessed through afinfo. As a result this fixes the problem with inter-family transforms where we treat every xfrm dst in the bundle as if it belongs to the top family. This patch also fixes a long-standing error-path bug where we may free the xfrm states twice. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 66cdb3ca27323a92712d289fc5edc7841d74a139 Author: Herbert Xu Date: Tue Nov 13 21:37:28 2007 -0800 [IPSEC]: Move flow construction into xfrm_dst_lookup This patch moves the flow construction from the callers of xfrm_dst_lookup into that function. It also changes xfrm_dst_lookup so that it takes an xfrm state as its argument instead of explicit addresses. This removes any address-specific logic from the callers of xfrm_dst_lookup which is needed to correctly support inter-family transforms. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit f04e7e8d7f175c05bbde3ae748bf2541da53721d Author: Herbert Xu Date: Tue Nov 13 21:36:51 2007 -0800 [IPSEC]: Replace x->type->{local,remote}_addr with flags The functions local_addr and remote_addr are more than what they're needed for. The same thing can be done easily with flags on the type object. This patch does that and simplifies the wrapper functions in xfrm6_policy accordingly. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit fff693888012806370c98c601fbaa141fb12dfca Author: Herbert Xu Date: Tue Nov 13 21:36:07 2007 -0800 [IPSEC]: Make sure idev is consistent with dev in xfrm_dst Previously we took the device from the bottom route and idev from the top route. This is bad because idev may well point to a different device. This patch changes it so that we get the idev from the device directly. It also makes it an error if either dev or idev is NULL. This is consistent with the rest of the routing code which also treats these cases as errors. I've removed the err initialisation in xfrm6_policy.c because it achieves no purpose and hid a bug when an initial version of this patch neglected to set err to -ENODEV (fortunately the IPv4 version warned about it). Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 45ff5a3f9a3d0b1b4f063b5285ab39b7fac59471 Author: Herbert Xu Date: Tue Nov 13 21:35:32 2007 -0800 [IPSEC]: Set dst->input to dst_discard The input function should never be invoked on IPsec dst objects. This is because we don't apply IPsec on input until after we've made the routing decision. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 8ce68ceb55fb62d2c8e9a3e94c4ef6ff3e3064ce Author: Herbert Xu Date: Tue Nov 13 21:35:01 2007 -0800 [IPSEC]: Only set neighbour on top xfrm dst The neighbour field is only used by dst_confirm which only ever happens on the top-most xfrm dst. So it's a waste to duplicate for every other xfrm dst. This patch moves its setting out of the loop so that only the top one gets set. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 274b3426db25b8d63cbf25475e728ce1ee6caebd Author: Herbert Xu Date: Tue Nov 13 21:34:34 2007 -0800 [NET]: Remove unnecessary inclusion of dst.h The file net/netevent.h only refers to struct dst_entry * so it doesn't need to include dst.h. I've replaced it with a forward declaration. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 352e512c32b634768303a43768245a0363cebbe7 Author: Herbert Xu Date: Tue Nov 13 21:34:06 2007 -0800 [NET]: Eliminate duplicate copies of dst_discard We have a number of copies of dst_discard scattered around the place which all do the same thing, namely free a packet on the input or output paths. This patch deletes all of them except dst_discard and points all the users to it. The only non-trivial bit is decnet where it returns an error. However, conceptually this is identical to the blackhole functions used in IPv4 and IPv6 which do not return errors. So they should either all return errors or all return zero. For now I've stuck with the majority and picked zero as the return value. It doesn't really matter in practice since few if any driver would react differently depending on a zero return value or NET_RX_DROP. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit b4ce92775c2e7ff9cf79cca4e0a19c8c5fd6287b Author: Herbert Xu Date: Tue Nov 13 21:33:32 2007 -0800 [IPV6]: Move nfheader_len into rt6_info The dst member nfheader_len is only used by IPv6. It's also currently creating a rather ugly alignment hole in struct dst. Therefore this patch moves it from there into struct rt6_info. It also reorders the fields in rt6_info to minimize holes. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 550ade8432a2a6fbfb48ba7018750b0e8c81e8d0 Author: Herbert Xu Date: Tue Nov 13 21:33:01 2007 -0800 [IPSEC]: Use dst->header_len when resizing on output Currently we use x->props.header_len when resizing on output. However, if we're resizing at all we might as well go the whole hog and do it for the whole dst. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 0148894223740da4818d7f4e6f92cbb5481a25b8 Author: Herbert Xu Date: Tue Nov 13 21:32:26 2007 -0800 [IPV6]: Only set nfheader_len for top xfrm dst We only need to set nfheader_len in the top xfrm dst. This is because we only ever read the nfheader_len from the top xfrm dst. It is also easier to count nfheader_len as part of header_len which then lets us remove the ugly wrapper functions for incrementing and decrementing header lengths in xfrm6_policy.c. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit b24b8a247ff65c01b252025926fe564209fae4fc Author: Pavel Emelyanov Date: Wed Jan 23 21:20:07 2008 -0800 [NET]: Convert init_timer into setup_timer Many-many code in the kernel initialized the timer->function and timer->data together with calling init_timer(timer). There is already a helper for this. Use it for networking code. The patch is HUGE, but makes the code 130 lines shorter (98 insertions(+), 228 deletions(-)). Signed-off-by: Pavel Emelyanov Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit a92aa318b4b369091fd80433c80e62838db8bc1c Author: Wang Chen Date: Tue Nov 13 20:31:14 2007 -0800 [IPV6]: Add raw6 drops counter. Add raw drops counter for IPv6 in /proc/net/raw6 . Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 33c732c36169d7022ad7d6eb474b0c9be43a2dc1 Author: Wang Chen Date: Tue Nov 13 20:30:01 2007 -0800 [IPV4]: Add raw drops counter. Add raw drops counter for IPv4 in /proc/net/raw . Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 6ff7751d06f63131830102ffa0c9a38b313f100e Author: Adrian Bunk Date: Tue Nov 6 23:32:26 2007 -0800 [TCP]: Make tcp_splice_data_recv() static. Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe Signed-off-by: David S. Miller commit a0974dd3da87667e26ef5d3b32989a43319866f2 Author: Jens Axboe Date: Tue Nov 6 23:31:58 2007 -0800 [TCP] splice: add tcp_splice_read() to IPV6 Thanks to YOSHIFUJI Hideaki for the hint! Signed-off-by: Jens Axboe Signed-off-by: David S. Miller commit 9c55e01c0cc835818475a6ce8c4d684df9949ac8 Author: Jens Axboe Date: Tue Nov 6 23:30:13 2007 -0800 [TCP]: Splice receive support. Support for network splice receive. Signed-off-by: Jens Axboe Signed-off-by: David S. Miller commit bbdfc2f70610bebb841d0874dc901c648308e43a Author: Jens Axboe Date: Tue Nov 6 23:29:47 2007 -0800 [SPLICE]: Don't assume regular pages in splice_to_pipe() Allow caller to pass in a release function, there might be other resources that need releasing as well. Needed for network receive. Signed-off-by: Jens Axboe Signed-off-by: David S. Miller commit d10f2150eab62f633aeae36cf4612d1f648a817e Author: David S. Miller Date: Thu Jan 24 16:57:39 2008 -0800 [MAC80211]: Revert unaligned warning removal. For release Linux removed this warning, but we want it back for development. Signed-off-by: David S. Miller commit d3883ecebbf9e095b9e379dabbbe8b2c1ee7a41c Author: Adrian Bunk Date: Sun Nov 11 07:48:25 2007 +0100 Remove references to "make dep" "make dep" is no longer required in kernel 2.6, but was still mentioned in some places. Signed-off-by: Adrian Bunk Signed-off-by: Sam Ravnborg commit 9b3e4dad7e58405de398faa17cb4691ca85eb050 Author: Sam Ravnborg Date: Mon Jan 28 21:49:46 2008 +0100 kconfig: document use of HAVE_* It has been discussed on lkml several times but we need it documented as this is new stuff. Signed-off-by: Sam Ravnborg commit 312b1485fb509c9bc32eda28ad29537896658cb8 Author: Sam Ravnborg Date: Mon Jan 28 20:21:15 2008 +0100 Introduce new section reference annotations tags: __ref, __refdata, __refconst Today we have the following annotations for functions/data referencing __init/__exit functions / data: __init_refok => for init functions __initdata_refok => for init data __exit_refok => for exit functions There is really no difference between the __init and __exit versions and simplify it and to introduce a shorter annotation the following new annotations are introduced: __ref => for functions (code) that references __*init / __*exit __refdata => for variables __refconst => for const variables Whit this annotation is it more obvious what the annotation is for and there is no longer the arbitary division between __init and __exit code. The mechanishm is the same as before - a special section is created which is made part of the usual sections in the linker script. We will start to see annotations like this: -static struct pci_serial_quirk pci_serial_quirks[] = { +static const struct pci_serial_quirk pci_serial_quirks[] __refconst = { ----------------- -static struct notifier_block __cpuinitdata cpuid_class_cpu_notifier = +static struct notifier_block cpuid_class_cpu_notifier __refdata = ---------------- -static int threshold_cpu_callback(struct notifier_block *nfb, +static int __ref threshold_cpu_callback(struct notifier_block *nfb, [The above is just random samples]. Note: No modifications were needed in modpost to support the new sections due to the newly introduced blacklisting. Signed-off-by: Sam Ravnborg commit e241a630374e06aecdae2884af8b652d3b4d6c37 Author: Sam Ravnborg Date: Mon Jan 28 20:13:13 2008 +0100 kbuild: warn about ld added unique sections If there is a mixture of specifying sections for code in gcc and assembler then if the assembler code do not add the "ax" flags the linker will see this as two different sections and generate unique sections for each. ld does so by adding a dot and a number. Teach modpost to warn if a section shows up that match this pattern - but do this only for non-debug sections. It will result in warnings like this: WARNING: vmlinux.o (.sched.text.1): unexpected section name. The (.[number]+) following section name are ld generated and not expected. Did you forget to use "ax"/"aw" in a .S file? Note that for example contains section definitions for use in .S files. All warnings seen with a defconfig build for: x86 (32+64bit) and sparc64 has been fixed (via respective maintainers). arm, powerpc (64 bit), s390 (32 bit), ia64, alpha, sh4 checked - no warnings seen with a defconfig build. Signed-off-by: Sam Ravnborg commit 588ccd732ba2d32db8228802ef9283b583d3395f Author: Sam Ravnborg Date: Thu Jan 24 21:12:37 2008 +0100 kbuild: add verbose option to Section mismatch reporting in modpost If the config option CONFIG_SECTION_MISMATCH is not set and we see a Section mismatch present the following to the user: modpost: Found 1 section mismatch(es). To see additional details select "Enable full Section mismatch analysis" in the Kernel Hacking menu (CONFIG_SECTION_MISMATCH). If the option CONFIG_SECTION_MISMATCH is selected then be verbose in the Section mismatch reporting from mdopost. Sample outputs: WARNING: o-x86_64/vmlinux.o(.text+0x7396): Section mismatch in reference from the function discover_ebda() to the variable .init.data:ebda_addr The function discover_ebda() references the variable __initdata ebda_addr. This is often because discover_ebda lacks a __initdata annotation or the annotation of ebda_addr is wrong. WARNING: o-x86_64/vmlinux.o(.data+0x74d58): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:pci_plx9050_exit() The variable pci_serial_quirks references the function __devexit pci_plx9050_exit() If the reference is valid then annotate the variable with __exit* (see linux/init.h) or name the variable: *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console, WARNING: o-x86_64/vmlinux.o(__ksymtab+0x630): Section mismatch in reference from the variable __ksymtab_arch_register_cpu to the function .cpuinit.text:arch_register_cpu() The symbol arch_register_cpu is exported and annotated __cpuinit Fix this by removing the __cpuinit annotation of arch_register_cpu or drop the export. Signed-off-by: Sam Ravnborg commit f5eaa323eb6819d2f737ead42464efccaf2b98b9 Author: Jan Beulich Date: Thu Jan 24 11:54:23 2008 +0000 kconfig: tristate choices with mixed tristate and boolean values Change kconfig behavior so that mixing bool and tristate config settings in a choice is possible and has the desired effect of offering just the tristate options individually if the choice gets set to M, and a normal boolean selection if the choice gets set to Y. Also fix scripts/kconfig/conf's handling of children of choice values - there may be more than one immediate child, and all of them need to be processed. Signed-off-by: Jan Beulich Cc: "Roman Zippel" Signed-off-by: Sam Ravnborg commit 1a3fb6d481689d0482eacadcbe3205b49b423c11 Author: Adrian Bunk Date: Thu Jan 24 22:20:18 2008 +0100 asm-generic/vmlix.lds.h: simplify __mem{init,exit}* dependencies Simplify the dependencies on __mem{init,exit}* (ACPI_HOTPLUG_MEMORY requires MEMORY_HOTPLUG). Signed-off-by: Adrian Bunk Signed-off-by: Sam Ravnborg commit 3ff6eecca4e5c49a5d1dd8b58ea0e20102ce08f0 Author: Adrian Bunk Date: Thu Jan 24 22:16:20 2008 +0100 remove __attribute_used__ Remove the deprecated __attribute_used__. [Introduce __section in a few places to silence checkpatch /sam] Signed-off-by: Adrian Bunk Signed-off-by: Sam Ravnborg commit bc395add945659e04cc7cf250755ba0edc1a9fdc Author: Daniel De Graaf Date: Mon Jan 21 18:21:11 2008 -0600 kbuild: support ARCH=x86 in buildtar Signed-off-by: Daniel De Graaf Signed-off-by: Sam Ravnborg commit 9649ef878d507bbc3abc2a328cd4ad303b2be093 Author: Adrian Bunk Date: Wed Jan 23 01:54:39 2008 +0200 kconfig: remove "enable" Kconfig had a synonym "enable" for "select" that was neither documented nor used. Signed-off-by: Adrian Bunk Cc: Roman Zippel Signed-off-by: Sam Ravnborg commit 58fb0d4f2fd5773ec0158d1f2774dca6a03e6984 Author: Sam Ravnborg Date: Wed Jan 23 21:13:50 2008 +0100 kbuild: simplified warning report in modpost Refactor code so the warning report function does nothing else than reporting warnings. As a side effect some other code paths were cleaned up by this. Signed-off-by: Sam Ravnborg commit ff13f92690249061311c7cf69a89e5a2fb068811 Author: Sam Ravnborg Date: Wed Jan 23 19:54:27 2008 +0100 kbuild: introduce a few helpers in modpost Introducing helpers to retreive symbol and section names cleaned up the code a bit. Signed-off-by: Sam Ravnborg commit 157c23c80eed84194440b487658398272eaebaf4 Author: Sam Ravnborg Date: Tue Jan 22 21:44:32 2008 +0100 kbuild: use simpler section mismatch warnings in modpost The typical layout is now: WARNING: vmlinux.o(.text+0x372ec): Section mismatch: reference to .devinit.text:pci_scan_one_pbm in 'psycho_scan_bus' This is first step towards more readable warnings. Signed-off-by: Sam Ravnborg commit 310f8243a602e9ae950e81b17cbd18a4246674f9 Author: Sam Ravnborg Date: Mon Jan 21 22:57:09 2008 +0100 kbuild: link vmlinux.o before kallsyms passes link vmlinux.o so we may report section mismatch bugs before we start with the real link - that may error out. Signed-off-by: Sam Ravnborg commit 91341d4b2c196c689acf90e9e96f28f8d5c6665f Author: Sam Ravnborg Date: Mon Jan 21 21:31:44 2008 +0100 kbuild: introduce new option to enhance section mismatch analysis Setting the option DEBUG_SECTION_MISMATCH will report additional section mismatch'es but this should in the end makes it possible to get rid of all of them. See help text in lib/Kconfig.debug for details. Signed-off-by: Sam Ravnborg commit eb8f689046b857874e964463619f09df06d59fad Author: Sam Ravnborg Date: Sun Jan 20 20:07:28 2008 +0100 Use separate sections for __dev/__cpu/__mem code/data Introducing separate sections for __dev* (HOTPLUG), __cpu* (HOTPLUG_CPU) and __mem* (MEMORY_HOTPLUG) allows us to do a much more reliable Section mismatch check in modpost. We are no longer dependent on the actual configuration of for example HOTPLUG. This has the effect that all users see much more Section mismatch warnings than before because they were almost all hidden when HOTPLUG was enabled. The advantage of this is that when building a piece of code then it is much more likely that the Section mismatch errors are spotted and the warnings will be felt less random of nature. Signed-off-by: Sam Ravnborg Cc: Greg KH Cc: Randy Dunlap Cc: Adrian Bunk commit f3fe866d59d707c7a2bba0b23add078e19edb3dc Author: Sam Ravnborg Date: Sun Jan 20 18:54:48 2008 +0100 compiler.h: introduce __section() Add a new helper: __section() that makes a section definition much shorter and more readable. Signed-off-by: Sam Ravnborg commit 01ba2bdc6b639764745ff678caf3fb9e5bcd745a Author: Sam Ravnborg Date: Sun Jan 20 14:15:03 2008 +0100 all archs: consolidate init and exit sections in vmlinux.lds.h This patch consolidate all definitions of .init.text, .init.data and .exit.text, .exit.data section definitions in the generic vmlinux.lds.h. This is a preparational patch - alone it does not buy us much good. Signed-off-by: Sam Ravnborg commit cda13dd164f91df79ba797ab84848352b03de115 Author: Paul Gortmaker Date: Mon Jan 28 16:09:36 2008 -0500 [POWERPC] 83xx: Clean up / convert mpc83xx board DTS files to v1 format. This patch converts the remaining 83xx boards to the dts-v1 format. This includes the mpc8313_rdb, mpc832x_mds, mpc8323_rdb, mpc8349emitx, mpc8349emitxgp and the mpc836x_mds. The mpc8315_rdb mpc834x_mds, mpc837[789]_*, and sbc8349 were already dts-v1 and only undergo minor changes for the sake of formatting consistency across the whole group of boards; i.e. the idea being that you can do a "diff -u board_A.dts board_B.dts" and see something meaningful. The general rule I've applied is that entries for values normally parsed by humans are left in decimal (i.e. IRQ, cache size, clock rates, basic counts and indexes) and all other data (i.e. reg and ranges, IRQ flags etc.) remain in hex. I've used dtc to confirm that the output prior to this changeset matches the output after this changeset is applied for all boards. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 6c5bd235bfd0b92188915465c7dfb377c1a4d451 Author: Sam Ravnborg Date: Sun Jan 20 10:43:27 2008 +0100 kbuild: check section names consistently in modpost Now that match() is introduced use it consistently so we can share the section name definitions. Signed-off-by: Sam Ravnborg commit 10668220a97cb8b3fa1011a252175737ba750d51 Author: Sam Ravnborg Date: Sun Jan 13 22:21:31 2008 +0100 kbuild: introduce blacklisting in modpost Change the logic in modpost so we identify all the bad combinations of sections that refer to other sections. Compared to the previous approach we are much less dependent on knowledge of what additional sections the tool chain uses and thus we can keep the false positives low. The implmentation is changed to use a table based lookup and we now check all combinations in first pass so we no longer need separate passes for init and exit sections. Tested that the same warnings are generated for an allyesconfig build without CONFIG_HOTPLUG. Signed-off-by: Sam Ravnborg Cc: Randy Dunlap Cc: Adrian Bunk commit 5b24c0715fc4c71e60e9a684248cc49d62dfa900 Author: Sam Ravnborg Date: Fri Jan 18 21:49:29 2008 +0100 kbuild: code refactoring in modpost Split a too long function up in smaller bits to make prgram logic easier to follow. A few related changes done due to parameter changes. No functional changes. Signed-off-by: Sam Ravnborg commit 9ad21c3f3ecffeb56be7b35030d7ec2f30b6fe11 Author: Sam Ravnborg Date: Fri Jan 18 21:04:34 2008 +0100 kbuild: try harder to find symbol names in modpost The relocation record sometimes contained an address which was not an exactly match for a symbol. Implment some simple logic such that if there is a symbol within 20 bytes of the address contained in the relocation record then print the name of this symbol. With this change modpost could find symbol names for the remaining .init.text symbols in my allyesconfig build for x86_64. Signed-off-by: Sam Ravnborg commit d1f25e6658943569f2713dfde1b9d74e2f6c7243 Author: Sam Ravnborg Date: Thu Jan 17 21:17:42 2008 +0100 kbuild: fix so modpost can now check any .o file It is very convinient to say: scripts/mod/modpost mm/built-in.o to check if any section mismatch errors occured in mm/ (as an example). Fix it so this is possible again. Signed-off-by: Sam Ravnborg commit fa220d89ad050cf5d970c0418ded019a80efedfb Author: Randy Dunlap Date: Mon Jan 14 15:18:31 2008 -0800 kbuild: minor scripts/decodecode update Remove the tmp file when exiting. Noticed by Arjan van de Ven. Catch mktemp failure and exit with message. Trap kill or other signals and exit cleanly. Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit 80daa56008dad44f08d0b47670cf2513aa98ab53 Author: Roman Zippel Date: Mon Jan 14 04:51:16 2008 +0100 kconfig: use environment option Use the environment option to provide the ARCH symbol and the KERNELVERSION symbol. Signed-off-by: Roman Zippel Signed-off-by: Sam Ravnborg commit 93449082e905ce73d0346d617dd67c4b668b58af Author: Roman Zippel Date: Mon Jan 14 04:50:54 2008 +0100 kconfig: environment symbol support Add the possibility to import a value from the environment into kconfig via the option syntax. Beside flexibility this has the advantage providing proper dependencies. Documented the options syntax. Signed-off-by: Roman Zippel Signed-off-by: Sam Ravnborg commit 7a962923359768e04137125bd479fd0dfa6117d3 Author: Roman Zippel Date: Mon Jan 14 04:50:23 2008 +0100 kconfig: explicitly introduce expression list Rename E_CHOICE to E_LIST to explicitly add support for expression lists. Add a helper macro expr_list_for_each_sym to more easily iterate over the list. Signed-off-by: Roman Zippel Signed-off-by: Sam Ravnborg commit 0ffce8d94487abbd332cd36f98db61b7c8a3db3c Author: EGRY Gabor Date: Fri Jan 11 23:49:12 2008 +0100 kconfig: gconfig: symbol fix Gettext support for symbol names are unnecessary. Signed-off-by: Egry Gabor Reviewed-by: Sam Ravnborg Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit 534a450c383ef238b0461218bc2d3e54066ae043 Author: EGRY Gabor Date: Fri Jan 11 23:44:39 2008 +0100 kconfig: gettext support for config Gettext support for conf.c [Include locale.h by Kyle]. Signed-off-by: Egry Gabor Reviewed-by: Sam Ravnborg Signed-off-by: Sam Ravnborg Cc: Roman Zippel Cc: Kyle McMartin commit 75c0a8a55c31c0a21f7e9e64bc45e87e228a98f6 Author: EGRY Gabor Date: Fri Jan 11 23:42:54 2008 +0100 kconfig: gettext support for lxdialog Gettext support for lxdialog. Signed-off-by: Egry Gabor Reviewed-by: Sam Ravnborg Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit 413f006bab3845f12d7b2338a9b548aaf7808548 Author: EGRY Gabor Date: Fri Jan 11 23:50:37 2008 +0100 kconfig: gettext support for menuconfig Full gettext support for menuconfig. Signed-off-by: Egry Gabor Reviewed-by: Sam Ravnborg Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit c21a2d9589faa5599c9876bf0e0f48e81ee90284 Author: EGRY Gabor Date: Fri Jan 11 23:52:07 2008 +0100 kconfig: gettext support for xconfig Full gettext support for xconfig. Signed-off-by: Egry Gabor Reviewed-by: Sam Ravnborg Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit 01771b0fef0f2cbff80e19295394ece2be1ab661 Author: EGRY Gabor Date: Fri Jan 11 23:53:43 2008 +0100 kconfig: macro fix in menu.c This patch removes the indirect I18N support for config file. Signed-off-by: Egry Gabor Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit 46d2631978c05e55b28454ac864aba0287f50322 Author: EGRY Gabor Date: Fri Jan 11 23:46:11 2008 +0100 kconfig: gettext support for gconfig Gettext support for menu and toolbar. Signed-off-by: Egry Gabor Reviewed-by: Sam Ravnborg Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit bb7ef3905adce28db31933ae77e5397c0b89227a Author: EGRY Gabor Date: Fri Jan 11 23:47:58 2008 +0100 kconfig: missing macros in gconfig This patch adds missing gettext macros. Signed-off-by: Egry Gabor Reviewed-by: Sam Ravnborg Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit f7a4b4cdc26846a0ac5b3023cb1b97dc632dfd35 Author: EGRY Gabor Date: Fri Jan 11 23:55:20 2008 +0100 kconfig: whitespace removing This patch removes the unnecessary whitespaces from end of help lines of Kconfig files. Signed-off-by: Egry Gabor Reviewed-by: Sam Ravnborg Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit 1020026f99069976001816b8198bc04ee342cd2e Author: EGRY Gabor Date: Fri Jan 11 23:40:00 2008 +0100 kconfig: update-po-config info This patch adds tracking messages. Signed-off-by: Egry Gabor Reviewed-by: Sam Ravnborg Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit 243f40cecb292cbb2333749614cf54302fc9cdc0 Author: Valdis.Kletnieks@vt.edu Date: Fri Dec 28 21:22:48 2007 -0500 kbuild: document 'make prepare' in 'make help' The output of 'make help' covers a lot of options, but doesn't include a listing for 'make prepare'. Here's a one-liner to fix that... Signed-off-by: Valdis Kletnieks Signed-off-by: Sam Ravnborg commit 1d3b3bfab121cdef07d19797f42f413dccdd65f0 Author: Jan Beulich Date: Fri Jan 11 09:09:00 2008 +0000 kbuild: scripts/mkmakefile: dynamic determination of output directory Rather than fixing the output directory in the generated Makefile, determine it from the placement of Makefile. This allows moving the build tree around or accessing it through different mount paths. (The lastword definition is a compatibility one for make prior to 3.81; newer make will simply ignore it and use the [faster] built-in.) Signed-off-by: Jan Beulich Signed-off-by: Sam Ravnborg commit df578e7d831b4d280bf7c621eafb737e78cd26eb Author: Sam Ravnborg Date: Fri Jan 11 19:17:15 2008 +0100 kbuild: clean up modpost.c akpm complained about overly long lines in modpost.c and when started additional style issues were fixed: o Updated my copyright o Removed unneeded {} o Drop assignments in if () o Spaces around operators o Break long lines o locate * near variable not type o Fix a format specifier for sizeof() o Corrected placement of '{' and '}' o spaces to tabs (but use tabs only for indention) modpost.c is not checkpatch clean. Readability were favoured on top of checkpatch compliance. But checkpatch were used to find additional stuff to clean up. Signed-off-by: Sam Ravnborg commit 07f766885879a1fd4502fb8dd531d1fe3c575510 Author: Ladislav Michl Date: Wed Jan 9 16:36:19 2008 +0100 kconfig: use C89 random functions in conf.c rand and srand functions conform also to C89 in addition to POSIX.1-2001, which makes them a bit more portable (work also on MinGW host). Linux man page also says: "The versions of rand() and srand() in the Linux C Library use the same random number generator as random() and srandom()". * Use C89 conformant functions rand() and srand() Signed-off-by: Ladislav Michl Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit 75ff4309cdb1d7303750aeed07a5d80382fe2e71 Author: Ladislav Michl Date: Wed Jan 9 16:36:19 2008 +0100 kconfig: fix whitespace and sort includes in conf.c Sort includes and remove leading whitespace. Signed-off-by: Ladislav Michl Signed-off-by: Sam Ravnborg Cc: Roman Zippel Date: Tue Jan 8 15:16:24 2008 +0100 kbuild: ignore cache modifiers for generating the tags files With this patch I'm able to find the definition of _xmit_lock defined in include/linux/netdevice.h as follows: struct net_device { ... spinlock_t _xmit_lock ____cacheline_aligned_in_smp; } Otherwise this counts as definition of ____cacheline_aligned_in_smp. Signed-off-by: Uwe Kleine-König Signed-off-by: Sam Ravnborg commit de83cf148aaefac8a538a076f2c3c4f33968e04a Author: Sam Ravnborg Date: Mon Jan 7 21:13:04 2008 +0100 kconfig: delete unused FILE_ and SYMBOL_ flags The *_PRINTED flags were never used - so delete them. Do we need them later then we can re-add them. Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit d6ee35764f270c699e165b15dc59f4e55546bfda Author: Sam Ravnborg Date: Mon Jan 7 21:09:55 2008 +0100 kconfig: rename E_OR & friends to avoid name clash We had macros named the same as a set of enumeration values. It is legal code but very confusing to read - so rename the macros from E_* to EXPR_* Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit d84876f9f8042d5536050b83674c4f348ca3c4df Author: Jan Engelhardt Date: Thu Jan 3 23:33:44 2008 +0100 kconfig: allow overriding symbols Allow config variables in .config to override earlier ones in the same file. In other words, # CONFIG_SECURITY is not defined CONFIG_SECURITY=y will activate it. This makes it a bit easier to do cat original-config myconfig myconfig2 ... >.config; and run *config as expected. Signed-off-by: Jan Engelhardt Signed-off-by: Sam Ravnborg Cc: Roman Zippel Cc: Randy Dunlap commit 09af091f50409a60a72086c737b9a6224dde5ab8 Author: Ladislav Michl Date: Mon Dec 17 19:07:41 2007 +0100 kconfig: make kconfig MinGW friendly Kconfig is powerfull tool. So powerfull that more and more software projects are using it for configuration. So instead of fixing some of them one by one, lets fix it in kernel and wait for sync. This work was originaly done for PTXdist - GPL licensed build system for userlands and cross-compilers, but it will not hurt kernel kconfig either. PTXdist menuconfig now works on Windows linked with PDCurses and compiled using MinGW - there is no termios and signals. * Do not include and (comes from times when lxdialog was separate process) * Do not mess with termios directly and let curses tell screen size. Comment to commit c8dc68ad0fbd934e78e913b8a8d7b45945db4930 says check for screen size could be removed later, but because it didn't happen for more than year I left it here as well. * Save cursor position added by Sam Signed-off-by: Ladislav Michl Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit 0486bc9098f4556a0aa90d57f717d08164b7647e Author: Randy Dunlap Date: Mon Nov 12 16:17:55 2007 -0800 kconfig: add hints/tips/tricks to Documentation/kbuild/kconfig-language.txt Add a section on kconfig hints: how to do in Kconfig files. Fix a few typos/spellos. Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit b052ce4c840e2da3c72ab7dadb97d1094f6e3a89 Author: Theodore Ts'o Date: Fri Nov 2 21:53:01 2007 -0400 kbuild: fix false positive -dirty tag caused by make-kpkg make-kpkg modifies scripts/package/Makefile and deletes scripts/package/builddeb as part of its build process. Ignore these changes so the tree isn't marked as -dirty, when it is just an artifact of make-kpkg. (make-kpkg clean restores the files to their original state, and these helper scripts won't affect the final compiled kernel in any way.) Signed-off-by: "Theodore Ts'o" Signed-off-by: Sam Ravnborg commit 4e7434ff028c4280bed620f28fdbf9f4d77d77ce Author: Theodore Ts'o Date: Fri Nov 2 21:53:00 2007 -0400 kbuild: fix scripts/setlocalversion to avoid erroneous -dirty tag If git's index file is out of date, and some files have been touched such that their timestamp doesn't what is in the index, "git diff-index HEAD" may show that a particular file is dirty, when in fact it really isn't. Running "git update-index" will update the index to avoid these false positives. Signed-off-by: "Theodore Ts'o" Signed-off-by: Sam Ravnborg commit d882421f4e08ddf0a94245cdbe516db260aa6f41 Author: Theodore Ts'o Date: Fri Nov 2 21:52:59 2007 -0400 kbuild: change CONFIG_LOCALVERSION_AUTO to use a git-describe-ish format Change the automatic local version to have the form -nnnnn-gSHA1SUMID, where 'nnnnn' is the number of commits since the last tag (i.e., 2.6.21-rc7). This makes it much more likely that the package names created for the kernel will look "newer" to a package manager. Signed-off-by: "Theodore Ts'o" Signed-off-by: Sam Ravnborg commit 22d6a6a018d897c9c77c6af164722926e70108fa Author: Andreas Mohr Date: Sat Nov 17 21:51:25 2007 +0100 kbuild: eradicate bashisms in scripts/patch-kernel Make the patch-kernel shell script sufficiently compatible with POSIX shells, i.e., remove bashisms from scripts/patch-kernel. This means that it now also works on dash 0.5.3-5 and still works on bash 3.1dfsg-8. Full changelog: - replaced non-standard "==" by standard "=" - replaced non-standard "source" statement by POSIX "dot" command - use leading ./ on mktemp filename to force the tempfile to a local directory, so that the search path is not used - replace bash syntax to remove leading dot by similar POSIX syntax - added missing (optional/not required) $ signs to shell variable names Signed-off-by: Andreas Mohr Acked-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit 7491a76b23f5100823098b9d5d74ef18a2ca0dc1 Author: WANG Cong Date: Wed Jan 2 13:55:33 2008 +0800 FS: Remove dead code Remove dead code in smbfs makefile. Cc: Al Viro Cc: Tim Shimmin Signed-off-by: WANG Cong Signed-off-by: Sam Ravnborg commit abee8ed09a2093299673400a9cd3882f21e8e767 Author: WANG Cong Date: Tue Jan 1 22:00:04 2008 +0800 FRV: Drop 'TOPDIR' from Makefiles This patch drops TOPDIR from frv Makefiles. Cc: David Howells Signed-off-by: WANG Cong Signed-off-by: Sam Ravnborg commit aff5905778d2fb1826ec623e4b1da3a7ff048ca4 Author: WANG Cong Date: Tue Jan 1 21:41:08 2008 +0800 INFINIBAND: Remove 'TOPDIR' from Makefiles This patch removes TOPDIR from infiniband Makefile and delete one include statement pointing to a non-existing directory Cc: Roland Dreier Cc: Sean Hefty Cc: Hal Rosenstock Signed-off-by: WANG Cong Signed-off-by: Sam Ravnborg commit 42d71c44d5fc09ae47783b7e15fe0d6b60711230 Author: WANG Cong Date: Wed Jan 2 14:27:59 2008 +0800 CRIS: Remove 'TOPDIR' from Makefiles This patch removes TOPDIR from Cris Makefiles. Cc: Mikael Starvik Cc: Jesper Nilsson Cc: Andreas Schwab Signed-off-by: WANG Cong Signed-off-by: Sam Ravnborg Acked-by: Jesper Nilsson commit 9b213118fa4b79afe9a2718faca244ac581a96b6 Author: Sam Ravnborg Date: Tue Jan 1 13:40:28 2008 +0100 kbuild: fix installing external modules Eric Sandeen reported: Installing external modules is supposed to put them in some path under /lib/modules//extra/subdir/, but this change: http://linux.bkbits.net:8080/linux-2.6/?PAGE=cset&REV=1.1982.9.23 makes them go under /lib/modules//extrasubdir (for example, make M=fs/ext3 modules_install puts ext3.ko in /lib/modules//extrafs/ext3.ko) This was the case only when specifying a trailing slash to M=.. Fixed by removing trailing slash if present so we correctly match dir part of target. Signed-off-by: Sam Ravnborg Cc: Eric Sandeen commit 7998a731664ac4988b349e70669bac11e3b3a3ac Author: Robert P. J. Day Date: Mon Dec 31 14:58:38 2007 +0100 A few corrections to include/linux/Kbuild auxvec.h, i2c-dev.h and vt.h *should* be unifdef'ed i2o-dev.h does not need unifdef'ing Signed-off-by: Robert P. J. Day Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 36091fd348e79ab703b0766420c0b06ff7662d2d Author: Mike Frysinger Date: Sat Nov 10 09:32:20 2007 -0500 kbuild: fixup genksyms usage/getopt The usage does not mention the "-a,--arch" or "-T,--dump-types" options, so add them. The calls to getopt() seem to mention options that no longer exist (some "k" and "p" thingy) but omits the "h" option which means using '-h' actually triggers the error code path, so update those as well. Signed-off-by: Mike Frysinger Signed-off-by: Sam Ravnborg commit c6025f4c8bbe147b8773f04ce5a7d2ca7f4a6a5c Author: Sam Ravnborg Date: Mon Dec 31 14:26:12 2007 +0100 kbuild: ignore *.order files Introducing the new modules.order patch created a number of additional files. Teach git to ignore them. Signed-off-by: Sam Ravnborg Acked-by: Tejun Heo commit 0484f1299fb504d57f388e5cdaba85ed59f32ca0 Author: Sam Ravnborg Date: Mon Dec 31 14:22:55 2007 +0100 kbuild: fix buglet in gcc-version.sh Greg Schafer reported: ==== $make mrproper scripts/gcc-version.sh: [[: command not found This is on a very old host with an ancient bash as /bin/sh. But I have CONFIG_SHELL set and pointing to a modern bash. Something is wrong. This doesn't happen with 2.6.23 ==== Fixed using a more common string equality test. Signed-off-by: Sam Ravnborg Cc: Greg Schafer Cc: Jesper Juhl commit 899c38420c56b20e12a31fe9adfa92cd21782370 Author: Robert P. J. Day Date: Thu Nov 29 10:46:38 2007 -0500 Kbuild: Clarify the rpm-related make packaging targets Signed-off-by: Robert P. J. Day Signed-off-by: Sam Ravnborg commit 3dce174cfcba11026b028d33bed0438b80e37124 Author: Aron Griffis Date: Wed Nov 28 16:55:44 2007 -0500 kbuild: support mercurial in setlocalversion This represents mercurial changesets similarly to git. For untagged revisions, append the changeset id. If there are uncommitted changes, append -dirty. For example, -hgc60016ba6237-dirty Signed-off-by: Aron Griffis Signed-off-by: Sam Ravnborg commit 2f4b489b77c68b9cba1bd9dec5a1bbf0ab3c47f8 Author: Andres Salomon Date: Mon Dec 17 01:34:58 2007 -0500 kconfig: use getopt() in conf.c for handling command line arguments Switch from doing our own parsing of command line arguments to using getopt(3) to do it. Aside from simplifying things, this allows us to specify multiple arguments; the old code could only accept two arguments (input_mode and kconfig name). Note some subtle changes: - The argument '-?' is no longer supported. - '-h' is not treated as an error, so output goes to stdout, and we exit with '0'. - There is no compatibility checking amongst arguments; the last option will simply override earlier options. For example, 'conf -n -y foo' is perfectly valid now (input_mode will be set_yes). Previously, that would have been an error ("can't find file -y"). Signed-off-by: Andres Salomon Signed-off-by: Sam Ravnborg Cc: Roman Zippel commit 666ab414fe14e8bbbe86a110437346128e1ec869 Author: Andi Kleen Date: Thu Nov 22 03:43:10 2007 +0100 kbuild: fix a buffer overflow in modpost When passing an file name > 1k the stack could be overflowed. Not really a security issue, but still better plugged. Signed-off-by: Andi Kleen Signed-off-by: Sam Ravnborg commit 58b7a68de37face98afe7c705391145795a982b5 Author: Andi Kleen Date: Thu Nov 22 03:43:09 2007 +0100 kbuild: fix format string warnings in modpost Fix wrong format strings in modpost exposed by the previous patch. Including one missing argument -- some random data was printed instead. Signed-off-by: Andi Kleen Signed-off-by: Sam Ravnborg commit 6d9a89ea4b06146d29e1ffb4d6fded286fa07d29 Author: Andi Kleen Date: Thu Nov 22 03:43:08 2007 +0100 kbuild: declare the modpost error functions as printf like This way gcc can warn for wrong format strings Signed-off-by: Andi Kleen Signed-off-by: Sam Ravnborg commit 6e588f6dcfcffa24decf418b96b4184a907d2bf8 Author: Sam Ravnborg Date: Sun Dec 9 20:11:15 2007 +0100 kconfig: if ncurses-devel is missing then say so With this patch when ncurses-devel (or whatever it is named) is missing trying to run menuconfig will result in this: $ make menuconfig HOSTCC scripts/kconfig/conf.o HOSTCC scripts/kconfig/kxgettext.o *** Unable to find the ncurses libraries or the *** required header files. *** 'make menuconfig' requires the ncurses libraries. *** *** Install ncurses (ncurses-devel) and try again. *** make[1]: *** [scripts/kconfig/dochecklxdialog] Error 1 make: *** [menuconfig] Error 2 Much better than before where we just listed some build errors. The other *config targets will work indepenednt on ncurses being present or not. Includes improvements suggested by: Frans Pop Signed-off-by: Sam Ravnborg Cc: Frans Pop commit 551559e13af1ccd19d0525cb2b0f308905170647 Author: Tejun Heo Date: Fri Dec 7 21:04:30 2007 +0900 kbuild: implement modules.order When multiple built-in modules (especially drivers) provide the same capability, they're prioritized by link order specified by the order listed in Makefile. This implicit ordering is lost for loadable modules. When driver modules are loaded by udev, what comes first in modules.alias file is selected. However, the order in this file is indeterministic (depends on filesystem listing order of installed modules). This causes confusion. The solution is two-parted. This patch updates kbuild such that it generates and installs modules.order which contains the name of modules ordered according to Makefile. The second part is update to depmod such that it generates output files according to this file. Note that both obj-y and obj-m subdirs can contain modules and ordering information between those two are lost from beginning. Currently obj-y subdirs are put before obj-m subdirs. Sam Ravnborg cleaned up Makefile modifications and suggested using awk to remove duplicate lines from modules.order instead of using separate C program. Signed-off-by: Tejun Heo Acked-by: Greg Kroah-Hartman Cc: Bill Nottingham Cc: Rusty Russell Cc: Kay Sievers Cc: Jon Masters Signed-off-by: Sam Ravnborg commit 9e233625fbee1f977929a5406533b96011f1a06b Author: Johannes Berg Date: Thu Nov 8 12:59:13 2007 +0100 convert drivers/base/power/Makefile to ccflags This patch converts drivers/base/power/Makefile to use ccflags instead of EXTRA_CFLAGS. Signed-off-by: Johannes Berg Signed-off-by: Sam Ravnborg commit 800074345544ae6ec06c77b1a3f7ba032f84bd10 Author: Geert Uytterhoeven Date: Mon Nov 5 11:51:44 2007 +0100 kbuild: Add missing srctree prefix for includecheck and versioncheck Add missing $(srctree)/ prefix for scripts used by the includecheck and versioncheck make targets Signed-off-by: Geert Uytterhoeven Signed-off-by: Sam Ravnborg commit aa025e7d5cfbcf9f397c3d734666c91179c934d6 Author: Sam Ravnborg Date: Wed Nov 14 21:34:55 2007 +0100 kbuild: document versioncheck in make help Signed-off-by: Sam Ravnborg commit ec2d987f98ba775596d0b17d783669b7eda7bae2 Author: Randy Dunlap Date: Sun Nov 4 12:01:55 2007 -0800 kbuild: add 'includecheck' help text Add 'includecheck' to the Static analyzers help list. Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit e662af4281af27f95b1ec2c5eff056328a672fd7 Author: Johannes Berg Date: Wed Oct 24 15:08:48 2007 -0700 kernel-doc: new P directive for DOC: sections The !P directive includes the contents of a DOC: section given by title, e.g. !Pfilename Title of the section Signed-off-by: Johannes Berg Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit 2e95972c44ca7b3dd3c5d6ff08745b56ddfa55bc Author: Johannes Berg Date: Wed Oct 24 15:08:48 2007 -0700 kernel-doc: use no-doc option When asked by a template to include all functions from a file, it will also include DOC: sections wreaking havoc in the generated docbook file. This patch makes it use the new -no-doc-sections flag for kernel-doc to avoid this. Signed-off-by: Johannes Berg Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit 4b44595a7b8e0ebf3fce108df65d8cd6a6cf4910 Author: Johannes Berg Date: Wed Oct 24 15:08:48 2007 -0700 kernel-doc: process functions, not DOC: This flag is necessary for the next patch for docproc to output only the functions and not DOC: sections when a function list is requested. Signed-off-by: Johannes Berg Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit b112e0f73fe8e9e69e60bc9d6d16217795259c3c Author: Johannes Berg Date: Wed Oct 24 15:08:48 2007 -0700 kernel-doc: single DOC: selection Currently, DOC: sections are always output even if only a single function is requested, fix this and also make it possible to just output a single DOC: section by giving its title as the function name to output. Also fixes docbook XML well-formedness for sections with examples. Signed-off-by: Johannes Berg Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit 1b9bc22d71c75d4145688428c92c5123bd8697e3 Author: Johannes Berg Date: Wed Oct 24 15:08:48 2007 -0700 kernel-doc: init kernel version The kernel-doc script triggers a perl warning when invoked without KERNELVERSION in the environment, rather make it use the string "unknown kernel version" instead. Signed-off-by: Johannes Berg Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit 5c98fc0360437327e4034ecfe8b818ad82622100 Author: Johannes Berg Date: Wed Oct 24 15:08:48 2007 -0700 kernel-doc: fix xml output mode After Randy's patch fixing the HTML output in DOC: sections (6b5b55f6c404fa730a09a8254eb19f5a038afcc2) the same bug remained in XML mode, this fixes it. Signed-off-by: Johannes Berg Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit 8561b089afbaed2651591e5a4574fdca451d82f2 Merge: e189f34... b47a166... Author: Linus Torvalds Date: Tue Jan 29 09:00:01 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] constify function pointer tables [WATCHDOG] TXx9 watchdog driver [WATCHDOG] misc_register patch [WATCHDOG] wdt: fix locking commit e189f3495c4e30fc84fc9241096edf3932e23439 Merge: f479874... 6582d7b... Author: Linus Torvalds Date: Tue Jan 29 08:52:50 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (197 commits) sh: add spi header and r2d platform data V3 sh: update r7780rp interrupt code sh: remove consistent alloc stuff from the machine vector sh: use declared coherent memory for dreamcast pci ethernet adapter sh: declared coherent memory support V2 sh: Add support for SDK7780 board. sh: constify function pointer tables sh: Kill off -traditional for linker script. cdrom: Add support for Sega Dreamcast GD-ROM. sh: Kill off hs7751rvoip reference from arch/sh/Kconfig. sh: Drop r7780rp_defconfig, use r7780mp_defconfig as kbuild default. sh: Kill off dead HS771RVoIP board support. sh: r7785rp: Fix up DECLARE_INTC_DESC() arg mismatch. sh: r7785rp: Hook up the rest of the HL7785 FPGA IRQ vectors. sh: r2d - enable sm501 usb host function sh: remove voyagergx sh: r2d - add lcd planel timings to sm501 platform data sh: Add OHCI and UDC platform devices for SH7720. sh: intc - remove default interrupt priority tables sh: Correct pte size mismatch for X2 TLB. ... commit f4798748dee00c807a63f5518f08b3df161e0f6d Merge: 8d01edd... 3bce6f9... Author: Linus Torvalds Date: Tue Jan 29 08:52:20 2008 +1100 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (24 commits) HID: ADS/Tech Radio si470x needs blacklist entry HID: Logitech Extreme 3D needs NOGET quirk HID: Refactor MS Presenter 8K key mapping HID: MS Presenter mapping for PID 0x0701 HID: Support Samsung IR remote HID: fix compilation of hidbp drivers without usbhid HID: Blacklist the Gretag-Macbeth Huey display colorimeter HID: the `bit' in hidinput_mapping_quirks() is an out parameter HID: remove redundant WARN_ON()s in order not to scare users HID: force hiddev creation for SONY PS3 controller HID: Use hid blacklist in usbmouse/usbkbd HID: proper handling of MS 4k and 6k devices HID: remove unused variable in quirk event handler HID: hid-input quirk for BTC 8193 HID: separate hid-input event quirks from generic code HID: refactor mapping to input subsystem for quirky devices HID: Microsoft Wireless Optical Desktop 3.0 quirk HID: Add support for Logitech Elite keyboards HID: add full support for Genius KB-29E HID: fix a potential bug in pointer casting ... commit 8d01eddf292dcd78b640418c80fb300532799cd4 Merge: f0f0052... fa0ccd8... Author: Linus Torvalds Date: Tue Jan 29 08:51:56 2008 +1100 Merge branch 'for-2.6.25' of git://git.kernel.dk/linux-2.6-block * 'for-2.6.25' of git://git.kernel.dk/linux-2.6-block: block: implement drain buffers __bio_clone: don't calculate hw/phys segment counts block: allow queue dma_alignment of zero blktrace: Add blktrace ioctls to SCSI generic devices commit f0f0052069989b80d2a3e50c9cd2f2a650bc1aea Merge: 68fbda7... a65b586... Author: Linus Torvalds Date: Tue Jan 29 08:51:32 2008 +1100 Merge branch 'blk-end-request' of git://git.kernel.dk/linux-2.6-block * 'blk-end-request' of git://git.kernel.dk/linux-2.6-block: (30 commits) blk_end_request: changing xsysace (take 4) blk_end_request: changing ub (take 4) blk_end_request: cleanup of request completion (take 4) blk_end_request: cleanup 'uptodate' related code (take 4) blk_end_request: remove/unexport end_that_request_* (take 4) blk_end_request: changing scsi (take 4) blk_end_request: add bidi completion interface (take 4) blk_end_request: changing ide-cd (take 4) blk_end_request: add callback feature (take 4) blk_end_request: changing ide normal caller (take 4) blk_end_request: changing cpqarray (take 4) blk_end_request: changing cciss (take 4) blk_end_request: changing ide-scsi (take 4) blk_end_request: changing s390 (take 4) blk_end_request: changing mmc (take 4) blk_end_request: changing i2o_block (take 4) blk_end_request: changing viocd (take 4) blk_end_request: changing xen-blkfront (take 4) blk_end_request: changing viodasd (take 4) blk_end_request: changing sx8 (take 4) ... commit 68fbda7de07e56eb90dd6e58a162527411b388b1 Merge: d492819... 7cedb1f... Author: Linus Torvalds Date: Tue Jan 29 08:51:05 2008 +1100 Merge branch 'sg' of git://git.kernel.dk/linux-2.6-block * 'sg' of git://git.kernel.dk/linux-2.6-block: SG: work with the SCSI fixed maximum allocations. SG: Convert SCSI to use scatterlist helpers for sg chaining SG: Move functions to lib/scatterlist.c and add sg chaining allocator helpers commit d4928196fe9ec07d18139ba2735876b0c8aa738f Merge: bb04af0... febffd6... Author: Linus Torvalds Date: Tue Jan 29 08:50:42 2008 +1100 Merge branch 'cfq-ioc-share' of git://git.kernel.dk/linux-2.6-block * 'cfq-ioc-share' of git://git.kernel.dk/linux-2.6-block: cfq-iosched: kill some big inlines cfq-iosched: relax IOPRIO_CLASS_IDLE restrictions kernel: add CLONE_IO to specifically request sharing of IO contexts io_context sharing - anticipatory changes block: cfq: make the io contect sharing lockless io_context sharing - cfq changes io context sharing: preliminary support ioprio: move io priority from task_struct to io_context commit bb04af0e2e5bcd8d1a5d7f7d5c704f7eb328f241 Merge: 0affa45... 0ff66f0... Author: Linus Torvalds Date: Tue Jan 29 08:49:49 2008 +1100 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (176 commits) [ARM] 4795/1: S3C244X: Add armclk and setparent call [ARM] 4794/1: S3C24XX: Comonise S3C2440 and S3C2442 clock code [ARM] 4793/1: S3C24XX: Add IRQ->GPIO pin mapping function [ARM] 4792/1: S3C24XX: Remove warnings from debug-macro.S [ARM] 4791/1: S3C2412: Make fclk a parent of msysclk [ARM] 4790/1: S3C2412: Fix parent selection for msysclk. [ARM] 4789/1: S3C2412: Add missing CLKDIVN register values [ARM] 4788/1: S3C24XX: Fix paramet to s3c2410_dma_ctrl if S3C2410_DMAF_AUTOSTART used. [ARM] 4787/1: S3C24XX: s3c2410_dma_request() should return the allocated channel number [ARM] 4786/1: S3C2412: Add SPI FIFO controll constants [ARM] 4785/1: S3C24XX: Add _SHIFT definitions for S3C2410_BANKCON registers [ARM] 4784/1: S3C24XX: Fix GPIO restore glitches [ARM] 4783/1: S3C24XX: Add s3c2410_gpio_getpull() [ARM] 4782/1: S3C24XX: Define FIQ_START for any FIQ users [ARM] 4781/1: S3C24XX: DMA suspend and resume support [ARM] 4780/1: S3C2412: Allow for seperate DMA channels for TX and RX [ARM] 4779/1: S3C2412: Add s3c2412_gpio_set_sleepcfg() call [ARM] 4778/1: S3C2412: Add armclk and init from DVS state [ARM] 4777/1: S3C24XX: Ensure clk_set_rate() checks the set_rate method for the clk [ARM] 4775/1: s3c2410: fix compilation error if only s3c2442 cpu is selected ... commit 0affa456cb6da51a31a6dd76b3d8827f467f807d Author: Linus Nilsson Date: Mon Jan 28 15:56:27 2008 +0100 libata: Change "write_data" to "rw" for some function documentations The documentation for ata_data_xfer and ata_data_xfer_noirq had the 'rw' parameter named 'write_data'. Signed-off-by: Linus Nilsson Signed-off-by: Linus Torvalds commit a6f71745969d495d697d1ccd96385d2f7a963375 Author: Kumar Gala Date: Mon Jan 28 13:23:42 2008 -0600 [POWERPC] 85xx: Only invalidate TLB0 and TLB1 All current 85xx/e500 implementations only have two TLB arrays. We are wasting cycles by invalidating TLB2 and TLB3. Signed-off-by: Kumar Gala commit 3b29daded680733a37ed6618e165e86df45d89ab Author: Kim Phillips Date: Mon Jan 28 13:00:37 2008 -0600 [POWERPC] 83xx: Fix typo in mpc837x compatible entries Signed-off-by: Kim Phillips Signed-off-by: Kumar Gala commit 77b41597e8d469535cfe09a641654bdc97dcf0d0 Author: Kumar Gala Date: Mon Jan 28 10:55:42 2008 -0600 [POWERPC] 85xx: convert sbc85* boards to use machine_device_initcall Signed-off-by: Kumar Gala commit b38308ac8e0404eea82fec09d560a2bc29a514f4 Author: Kumar Gala Date: Mon Jan 28 10:52:15 2008 -0600 [POWERPC] 83xx: rework platform Kconfig * Allow multiple boards to be selected in a single build * Removed Kconfig option '83xx' which existed only for compat with arch/ppc * Removed Kconfig option 'PPC_MPC836x' since its not used * Renamed Kconfig option 'MPC834x' to 'PPC_MPC834x' to match others * Added a multiplatform 83xx defconfig (mpc83xx_defconfig). Signed-off-by: Kumar Gala commit 3a83156bd857f31ed264816321b78466bed8e4f4 Author: Kumar Gala Date: Mon Jan 28 10:24:30 2008 -0600 [POWERPC] 85xx: rework platform Kconfig * Allow multiple boards to be selected in a single build * Removed Kconfig option '85xx' which existed only for compat with arch/ppc * Added a multiplatform 85xx defconfig (mpc85xx_defconfig). This builds all 85xx boards except sbc8560 and stx_gp3 since these to boards have board specific ifdef in driver code that may break all other boards Signed-off-by: Kumar Gala commit b9d3f259147d28f559cab3a7d0471cc4d411c511 Author: Kumar Gala Date: Mon Jan 28 09:19:16 2008 -0600 [POWERPC] 86xx: Remove unused IRQ defines 86xx uses the flat device tree for all its needs so we dont need explicit IRQ info. Its not clear why this code existed since 86xx never existed in arch/ppc. Signed-off-by: Kumar Gala commit 390167efa329d11099957108fc23d1ad15c3f37e Author: Paul Gortmaker Date: Mon Jan 28 02:27:51 2008 -0500 [POWERPC] QE: Explicitly set address-cells and size cells for muram Currently there are several dts that don't specify address or size cells for the muram. This causes dtc to use default values, one of which is an address-cells of two, and this breaks the parsing of the muram ranges, which is assuming an address-cells of one. For example: Warning (reg_format): "reg" property in /qe@e0100000/muram@10000/data-only@0 has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1) Explicitly setting the address and size cells gets it parsed properly and gets rid of the four dtc warnings. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 762931571edcf4067bc8f0de929752eb424b039e Author: Jon Loeliger Date: Fri Jan 25 16:36:47 2008 -0600 [POWERPC] Convert StorCenter DTS file to /dts-v1/ format. Signed-off-by: Jon Loeliger Signed-off-by: Kumar Gala commit 6e050d4e35659d26f4ca4c63d47e606d8aea763d Author: Jon Loeliger Date: Fri Jan 25 16:31:01 2008 -0600 [POWERPC] 86xx: Convert all 86xx DTS files to /dts-v1/ format. Also fixed a few minor indent problems as well. Signed-off-by: Jon Loeliger Signed-off-by: Kumar Gala commit c42f3ad7f1bf17f31c3febdc71034ed6d793d40f Author: Kumar Gala Date: Sun Jan 27 14:06:14 2008 -0600 [PPC] Remove 85xx from arch/ppc 85xx exists in arch/powerpc as well as cuImage support to boot from a u-boot that doesn't support device trees. Signed-off-by: Kumar Gala commit 3155f7f23f7865e64f7eb14e226a2dff8197e51f Author: Kumar Gala Date: Fri Jan 25 15:41:00 2008 -0600 [PPC] Remove 83xx from arch/ppc 83xx exists in arch/powerpc as well as cuImage support to boot from a u-boot that doesn't support device trees. Signed-off-by: Kumar Gala commit 80f4ec7f5b81e7e238acfaf50ac82489b5fcee6f Author: Kim Phillips Date: Thu Jan 24 20:47:21 2008 -0600 [POWERPC] 83xx: add the mpc837x rdb defconfig Signed-off-by: Joe D'Abbraccio Signed-off-by: Kim Phillips Signed-off-by: Kumar Gala commit 23dd1cbf42788a616d2b7396e368ccbe7e4a72e2 Author: Kim Phillips Date: Thu Jan 24 20:47:18 2008 -0600 [POWERPC] 83xx: add the mpc837[789]_rdb dts files Add the dts files for the MPC838xE Reference Development Board (RDB). The board is a mini-ITX reference board with 256M DDR2, 8M flash, 32M NAND, USB, PCI, gigabit ethernet, SATA, and serial. the difference among the three files is the 8377 has two, the 8378 none, and the 8379 has four sata controllers. partially based on the 8379 mds device trees. Signed-off-by: Joe D'Abbraccio Signed-off-by: Kim Phillips Signed-off-by: Kumar Gala commit 38f66f90b2f89b3280ab505bd410e199fc461ed6 Author: Kim Phillips Date: Thu Jan 24 20:47:11 2008 -0600 [POWERPC] 83xx: add MPC837x RDB platform support primarily based on mpc837x mds code. Signed-off-by: Joe D'Abbraccio Signed-off-by: Kim Phillips Signed-off-by: Kumar Gala commit 71d6fc1d57ce60ecdbee2ad9a5d535959af7a3ce Author: Kim Phillips Date: Thu Jan 24 20:47:05 2008 -0600 [POWERPC] 83xx: add the mpc8315 rdb defconfig Signed-off-by: Kim Phillips Signed-off-by: Kumar Gala commit 8cf6b1952286aff939ec626677179d73036cf7f2 Author: Kim Phillips Date: Thu Jan 24 20:46:50 2008 -0600 [POWERPC] 83xx: ipic: add interrupt vector 94 This is used on the mpc8315 SoC for TDM DMA error interrupts. Signed-off-by: Jerry Huang Signed-off-by: Kim Phillips Signed-off-by: Kumar Gala commit 05a07af67658c31f1e9d2dbfcb3f455109e09a34 Author: Kim Phillips Date: Thu Jan 24 20:46:21 2008 -0600 [POWERPC] 83xx: enable FSL SATA driver config for Freescale SoCs The mpc8315 shares the same SATA controller as the mpc837x, and likelihood is that future SoCs from Freescale will also. Signed-off-by: Jerry Huang Signed-off-by: Kim Phillips Signed-off-by: Kumar Gala commit 64ee61bbf1983549b48e6d52fc6d98b31a4fa8fb Author: Kim Phillips Date: Thu Jan 24 20:46:06 2008 -0600 [POWERPC] 83xx: Add the MPC8315E RDB dts Add the dts for the MPC8315E Reference Development Board (RDB). The board is a mini-ITX reference board with 128M DDR2, 8M flash, 32M NAND, USB, PCI, gigabit ethernet, SATA, and serial. Signed-off-by: Jerry Huang Signed-off-by: Kim Phillips Signed-off-by: Kumar Gala commit 846aace363a8cdaa2e7525f489165297bcf865b3 Author: Kim Phillips Date: Thu Jan 24 20:46:00 2008 -0600 [POWERPC] 83xx: add base platform support for the mpc8315 rdb board mpc8315 identical to mpc8313 here, just check compatible. Signed-off-by: Kim Phillips Signed-off-by: Kumar Gala commit 519fd80da9e3020d9fd21fa5c496e499156cd9d6 Author: Kim Phillips Date: Thu Jan 24 20:45:51 2008 -0600 [POWERPC] 83xx: fold the mpc8313 platform into the mpc831x platform prepare for adding support for the mpc8315 rdb, since they are identical wrt platform code. Signed-off-by: Kim Phillips Signed-off-by: Kumar Gala commit f3a2b29d932fbf92e133d814c4873fd15be51abc Author: Anton Vorontsov Date: Thu Jan 24 18:40:07 2008 +0300 [POWERPC] fsl_spi: stop using device_type = "spi" Also: - rename "fsl_spi" to "fsl,spi"; - add and use cell-index property, if found; - split probing code out of fsl_spi_init, thus we can call it for legacy device_type probing and new "compatible" probing. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 59a0ea5091d309fa8338954b84cf5307dbd83ec9 Author: Anton Vorontsov Date: Thu Jan 24 18:40:03 2008 +0300 spi_mpc83xx: use brg-frequency for SPI in QE In case of QE we can use brg-frequency (which is qeclk/2). Thus no need to divide sysclk in the spi_mpc83xx. This patch also adds code to use get_brgfreq() on QE chips. Signed-off-by: Anton Vorontsov Acked-by: David Brownell Signed-off-by: Kumar Gala commit d0a2f82da949283027a7da6a8b2a70ada46e7b55 Author: Anton Vorontsov Date: Thu Jan 24 18:40:01 2008 +0300 ucc_geth: get rid of device_type for mdio device_type property is bogus, thus use proper compatible. Also change compatible property to "fsl,ucc-mdio". Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit a2dd70a11d4c9cb8a4e4bb41f53a9b430e08559b Author: Anton Vorontsov Date: Thu Jan 24 18:39:59 2008 +0300 [POWERPC] QE: get rid of most device_types and model Now we're searching for "fsl,qe", "fsl,qe-muram", "fsl,qe-muram-data" and "fsl,qe-ic". Unfortunately it's still impossible to remove device_type = "qe" from the existing device trees because older u-boots are looking for it. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit f67be814ff8e862422739cb424ce8c4e6c142c28 Author: Kumar Gala Date: Fri Jan 25 10:23:34 2008 -0600 [POWERPC] 85xx: some minor cleanups for stx_gp3 and tqm85xx * "simple-bus" covers all our needs for of_platform_bus_probe() * make device tree name just 'soc' not 'soc85..' Signed-off-by: Kumar Gala commit eedd62ed53512e6749764427ffe5a1c9e41175c6 Author: Paul Gortmaker Date: Fri Jan 25 01:22:09 2008 -0500 [POWERPC] 83xx: mpc834x_mds - Convert device tree source to dts-v1 Move mpc834x_mds device tree source forward to dts-v1 format. Nothing too complex in this one, so it boils down to just adding a bunch of 0x in the right places and converting clock speeds to decimal. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 44f25fb4d0754c6c2ab5bf97990a671e19152139 Author: Jochen Friedrich Date: Thu Jan 24 16:20:05 2008 +0100 [POWERPC] CPM: Move definition of buffer descriptor to cpm.h Buffer descriptors are used by both CPM1 and CPM2. Move the definitions from the cpm dependent include file to common cpm.h Signed-off-by: Jochen Friedrich Signed-off-by: Kumar Gala commit b5677d848cbb94220ac2cfd36d93bcdbe49c3280 Author: Jochen Friedrich Date: Fri Jan 25 15:31:42 2008 +0100 [POWERPC] CPM: Rename commproc to cpm1 and cpm2_common.c to cpm2.c Rename commproc.[ch] to cpm1.[ch] to be more consistent with cpm2. Also rename cpm2_common.c to cpm2.c as suggested by Scott Wood. Adjust the includes accordingly. Signed-off-by: Jochen Friedrich Signed-off-by: Kumar Gala commit 02753cb608cc2c35dbe670b466eb3b88d063b42e Author: Jochen Friedrich Date: Thu Jan 24 16:19:01 2008 +0100 [POWERPC] 8xx: Get rid of conditional includes of board specific setup Directly include mpc885ads.h from mpc885ads_setup.c. Now we can get rid of the arch dependent includes in mpc8xx.h. Signed-off-by: Jochen Friedrich Signed-off-by: Kumar Gala commit 49b51545ff33734ac1c7e0a28c16ca1f49e51b8a Author: Jochen Friedrich Date: Thu Jan 24 16:18:32 2008 +0100 [POWERPC] 8xx: Remove sysdev/commproc.h Move cpm1 specific prototypes to asm/commproc.h and mpc8xx specific prototypes to asm/mpc8xx.h. Adjust includes accordingly. Remove now unneeded sysdev/commproc.h. Signed-off-by: Jochen Friedrich Signed-off-by: Kumar Gala commit 9e8f38b0388144c0a400499abd0f8370abc88ced Author: Jochen Friedrich Date: Thu Jan 24 16:18:03 2008 +0100 [POWERPC] 8xx: Remove unneeded and misspelled prototype m8xx_calibrate_decr m8xx_calibrate_decr seems to be a misspelled prototype for mpc8xx_calibrate_decr. As it's not needed anyways, just remove it. Signed-off-by: Jochen Friedrich Signed-off-by: Kumar Gala commit d0a02a06bcdf4525638863d4f18326e5b2bcf279 Author: Jochen Friedrich Date: Thu Jan 24 16:17:32 2008 +0100 [POWERPC] 8xx: Rename m8xx_pic_init to mpc8xx_pics_init m8xx_pic_init calls both mpc8xx_pic_init and cpm_pic_init. Renaming the function to use the same name space as the rest of the mpc8xx specific funtions and to be more meaningful. m8xx_pic_init is declared in ppc8xx_pic.h but defined nowhere in the ppc tree. Remove it. Signed-off-by: Jochen Friedrich Signed-off-by: Kumar Gala commit 22f19daff442c3ff0d015b7e80b4eedab0231ade Author: Jochen Friedrich Date: Thu Jan 24 16:16:03 2008 +0100 [POWERPC] 8xx: Remove unused m8xx_cpm_hostalloc/free/dump() m8xx_cpm_hostalloc is still defined in commproc.c, but no users are left in the kernel tree. m8xx_cpm_hostfree and m8xx_cpm_hostdump are only defined in the headers. Remove this dead code. Signed-off-by: Jochen Friedrich Signed-off-by: Kumar Gala commit 7607341a265a56cdf8b4bf10d355098e80ea481b Author: Paul Gortmaker Date: Thu Jan 24 18:41:32 2008 -0500 [POWERPC] 83xx: Add default config file for Wind River SBC8349 board Default config file for SBC8349 board, suitable for use as with NFS as a root file system and gianfar as the NFS root device. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 6c538111e337ac47d2ba0cc50b6aab0fc4742873 Author: Paul Gortmaker Date: Thu Jan 24 18:41:31 2008 -0500 [POWERPC] 83xx: Add device tree source for Wind River SBC834x board. This adds the device tree source for the Wind River SBC834x board. It is based on the MPC834x_MDS DTS, with the biggest difference being the lack of BCSR and the PCI2 that the MDS gets via the PIB. That, and this file is also dts-v1 format. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit a43414ccb49c7866febd7f9c70adc124f6bba636 Author: Paul Gortmaker Date: Thu Jan 24 18:41:30 2008 -0500 [POWERPC] 83xx: Add support for Wind River SBC834x boards This adds the basic support for the Wind River SBC834x boards. The SBC8349 is more common, although it should work on the SBC8347 board as well. Support is heavily based on the existing MPC834x_MDS code. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit e1e90c6f93e6ae6b7abef226e17c7f25ee998e8a Author: Paul Gortmaker Date: Thu Jan 24 18:41:29 2008 -0500 [POWERPC] 85xx: Add default .config file for Wind River SBC8548 This is a suitable .config file for building the WRS SBC8548 kernel to be used for NFS root via one of the TSEC interfaces and with serial console via the soc/16550 compatible UART. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 30340998fae96c39de9bd6c43789001e2b110690 Author: Paul Gortmaker Date: Thu Jan 24 18:41:28 2008 -0500 [POWERPC] 85xx: Add v1 device tree source for Wind River SBC8548 board This adds a v1 device tree source for the Wind River SBC8548 board. The biggest difference between this and the MPC8548CDS reference platform is the absence of the CDS's Arcadia peripherals and physical access to the PCI#2 bus. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 0e0fffe887673a04bb8f8ec8287c5057e2ed8f27 Author: Paul Gortmaker Date: Thu Jan 24 18:41:27 2008 -0500 [POWERPC] 85xx: Add basic support for Wind River SBC8548 board This adds the basic support for the Wind River SBC8548 board, implemented as powerpc. It closely follows the implementation of the MPC8548CDS. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 3ad1f93155221510101399af105af6019c7a8e3d Author: Paul Gortmaker Date: Thu Jan 24 18:41:26 2008 -0500 [POWERPC] 85xx: Add default .config file for Wind River SBC8560 This is a suitable .config file for building the WRS SBC8560 kernel to be used for NFS root via one of the TSEC interfaces and with serial console via the 16550 compatible UART on the board. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit b8b3caf3b4ccce2c492b1c9a0d13697c41cc8fe1 Author: Paul Gortmaker Date: Thu Jan 24 18:41:25 2008 -0500 [POWERPC] CPM2: Make support for the CPM2 optional on 8560 based boards Currently there is no way to disable the CPM2 support. Some boards, like the SBC8560 have their own external UART and don't have any direct dependencies on the CPM for a serial console or anything else. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 6a35b6f09b8ef19ac99342951e49e3b242b5093b Author: Paul Gortmaker Date: Thu Jan 24 18:41:24 2008 -0500 [POWERPC] 85xx: Add v1 device tree source for Wind River SBC8560 board This adds a v1 device tree source for the Wind River SBC8560 board. The biggest difference between this and the MPC8560ADS reference platform dts is the use of an external 16550 compatible UART instead of the CPM2. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 2c19806122832a5fd83253ba8321308a531051da Author: Paul Gortmaker Date: Thu Jan 24 18:41:23 2008 -0500 [POWERPC] 85xx: Add support for Wind River SBC8560 in arch/powerpc This adds support for the Wind River SBC8560 board, implemented as powerpc. It closely follows the implementation of the MPC8560ADS. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 1a7507c7da2df6856e085e0fbb0c9ea8c12ac4e2 Author: Paul Gortmaker Date: Thu Jan 24 11:59:12 2008 -0500 [POWERPC] Reduce code duplication in legacy_serial, add UART parent types The legacy_serial was treating each UART parent in a separate code block. Rather than continue this trend for the new parent IDs, this condenses all (soc, tsi, opb, plus two more new types) into one of_device_id array. The new types are wrs,epld-localbus for the Wind River sbc8560, and a more generic "simple-bus" as requested by Scott Wood. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit ca956f0ea8baa6365b5e39d16373f430e12a030d Author: Grant Likely Date: Thu Jan 24 22:23:24 2008 -0700 [POWERPC] 82xx and embedded6xx: Use machine_*_initcall() hooks in platform code Signed-off-by: Grant Likely Signed-off-by: Kumar Gala commit b61ad6532b243dd82d658d6370abb6f481ddd25e Author: Li Yang Date: Fri Oct 19 19:38:46 2007 +0800 [POWERPC] Add docs for Freescale PowerQUICC SATA device tree nodes Signed-off-by: Li Yang Signed-off-by: Kumar Gala commit 457aa81a13701f03d63a7e62ff169663651f5c64 Author: Zhang Wei Date: Tue Oct 30 17:23:48 2007 +0800 [POWERPC] Add docs for Freescale DMA & DMA channel device tree nodes Signed-off-by: Zhang Wei Signed-off-by: Ebony Zhu Signed-off-by: Kumar Gala commit 3bce6f981aeeb7d0c14520cecd947716b377ef83 Author: Tobias Lorenz Date: Sun Jan 27 22:19:22 2008 +0100 HID: ADS/Tech Radio si470x needs blacklist entry This patch adds blacklist entries in hid-quirks.c to let the usbhid driver ignore the si470x radio devices. They are now handled by the new radio-si470x driver. Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Jiri Kosina commit 7cea465f9bf3ed84ed67337cd57fc97e25625771 Author: Jiri Kosina Date: Thu Jan 17 15:23:11 2008 +0100 HID: Logitech Extreme 3D needs NOGET quirk Logitech Extreme 3D needs NOGET quirk, otherwise it times out at the time of connect. Reported-by: Mike Sharov Signed-off-by: Jiri Kosina commit d7d32c815b938a8e98e93d881e6ec5da63bd0beb Author: Jan Kiszka Date: Mon Jan 14 13:08:27 2008 +0100 HID: Refactor MS Presenter 8K key mapping Following the suggestion of Jonas, this patch maps the special keys of the MS Presenter 8000 to targets that should allow for better re-mapping according to individual use cases (i.e. I avoided hard-wiring to standard keys). This time I also included the last missing key event (switching back from presentation mode). The optimal Xmodmap customization for using the Presenter with OpenOffice now looks like this for me: keycode 175 = Escape keycode 179 = F5 keysym XF86Forward = Right keysym XF86Back = Left Signed-off-by: Jan Kiszka Signed-off-by: Jiri Kosina commit 85c985f46059107c4f4bf5f9e7807dbb646595db Author: Jiri Kosina Date: Thu Jan 10 17:40:18 2008 +0100 HID: MS Presenter mapping for PID 0x0701 0x045e/0x0701 also needs the hid-input mapping quirk established by quirk_microsoft_presenter_8k(). Reported-by: Jonas Delrue Signed-off-by: Jiri Kosina commit fe56caa97e626cc6d6e18adbd5ccd1a9aa9a4fcf Author: Robert Schedel Date: Wed Dec 26 00:57:40 2007 +0100 HID: Support Samsung IR remote Samsung USB remotes (0419:0001) are rejected by kernel 2.6.23, because the report descriptor from the remote contains a 48 bit HID report field. HID 1.11 states: Fields may span at most 4 bytes. This patch, based on 2.6.23, fixes this by modifying the internal report descriptor in hid-quirks.c. Additional user space support (e.g. LIRC) is required to fetch the information from the hiddev interface. The burden to reconstruct the data is moved into userspace (lirc through hiddev). There is no need to set HID_QUIRK_HIDDEV quirk, as the device has also output applications, which trigger the creation of hiddev device automatically. Signed-off-by: Robert Schedel Signed-off-by: Jiri Kosina commit b0e668240949f69e84d69f998aa9af759e8be635 Author: Jiri Kosina Date: Mon Dec 17 16:11:27 2007 +0100 HID: fix compilation of hidbp drivers without usbhid We can use the blacklist only if usbhid code is compiled. Reported-by: jurriaan Cc: Pascal Terjan Signed-off-by: Jiri Kosina commit 15b55fb879e901bbc0da05054b14ccbc2752a56a Author: Nicolas Mailhot Date: Sun Dec 16 18:16:43 2007 +0100 HID: Blacklist the Gretag-Macbeth Huey display colorimeter The Gretag-Macbeth Huey display colorimeter claims to be an HID device but isn't. As a result the linux HID device will claim it, preventing FLOSS software like Argyll CMS from talking to it. Tested-by: Frederic Crozat Signed-off-by: Nicolas Mailhot Signed-off-by: Jiri Kosina commit 70d215c4a7dfbddc138a2dd726d8f80f3e6d2622 Author: Fengguang Wu Date: Fri Dec 7 16:35:14 2007 +0800 HID: the `bit' in hidinput_mapping_quirks() is an out parameter Fix a panic, by changing hidinput_mapping_quirks(,, unsigned long *bit,) to hidinput_mapping_quirks(,, unsigned long **bit,) The `bit' in this function is an out parameter. Signed-off-by: Fengguang Wu Signed-off-by: Andrew Morton Signed-off-by: Jiri Kosina commit c4124c9b68bf8ecf1e8afedad3a22e18666cb6f3 Author: Jiri Kosina Date: Fri Nov 30 11:12:58 2007 +0100 HID: remove redundant WARN_ON()s in order not to scare users The WARN_ON() in implement() and extract() spit out stacktraces and a lot of other information that might make users think that there is something seriously wrong with the system. WARN_ON() should not be deliberately triggerable by userspace application, which these can be. Usually this WARN_ON() triggers when hid2hci utility is sending the data that don't correspond to the device's report descriptor. Convert these messages to more friendly printk(). Signed-off-by: Jiri Kosina commit 0887b4cb2102e281c123abf1408f218c15fd3ba3 Author: Bastien Nocera Date: Wed Nov 28 16:34:53 2007 +0100 HID: force hiddev creation for SONY PS3 controller The device is not discoverable, and needs to be poked to set its master, the Bluetooth device it will try to connect to when the "Home" button is pressed without a cable plugged in. Using libusb means disconnecting the device from its driver to get the report descriptor. Using hiddev, we can poke it without relinquishing control over it, so when you plug it in, it would still work as a pad. This could be then used by sixpair program, after it is rewritten to use hiddev instead of libusb. Signed-off-by: Bastien Nocera Signed-off-by: Jiri Kosina commit 9f6b37275a9f5fbb0b6657a226a633533a1b2e09 Author: Pascal Terjan Date: Mon Nov 26 14:03:52 2007 +0100 HID: Use hid blacklist in usbmouse/usbkbd This fixes wacom tablets not working if usbmouse is loaded. Signed-off-by: Pascal Terjan Signed-off-by: Jiri Kosina commit 628edcde87592a7ac6e72b555bb03ea265bcfbd2 Author: Jiri Kosina Date: Mon Nov 26 13:26:33 2007 +0100 HID: proper handling of MS 4k and 6k devices This removes ugly macros IS_* to distinguish devices that need special handling in hid-input, and establish proper quirks for them. Signed-off-by: Jiri Kosina commit 9a15c99714ca229dd0b894e200fd96daf14f32fb Author: Jiri Kosina Date: Mon Nov 26 11:32:51 2007 +0100 HID: remove unused variable in quirk event handler Remove unused variable in quirk event handler. Signed-off-by: Jiri Kosina commit 36ccaad640737899b069a9a93a82765f0e675a20 Author: Jiri Kosina Date: Mon Nov 26 13:18:00 2007 +0100 HID: hid-input quirk for BTC 8193 BTC 8193 keyboard handles its scrollwheel in very non-standard way. It produces two non-standard usages for scrolling up and down, in both cases with postive value equaling to 1. We handle this by temporary mapping, which we then catch in quirk event handler, and remap to negative HWHEEL even in order to introduce correct behavior. Also the button requires special mapping, as it triggers standard-violating usage code. Reported in kernel.org bugzilla #9385 Reported-by: Kir Kolyshkin Signed-off-by: Jiri Kosina commit 87bc2aa9933afc032a93490e1642918121e7470b Author: Jiri Kosina Date: Fri Nov 23 13:16:02 2007 +0100 HID: separate hid-input event quirks from generic code This patch separates also the hid-input quirks that have to be applied at the time the event occurs, so that the generic code handling HUT-compliant devices is not messed up by them too much. Signed-off-by: Jiri Kosina commit 10bd065facb2594bd508597ef464d401b212f379 Author: Jiri Kosina Date: Thu Nov 22 15:18:18 2007 +0100 HID: refactor mapping to input subsystem for quirky devices Currently, the handling of mapping between hid and input for devices that don't conform to HUT 1.12 specification is very messy -- no per-device handling, no blacklists, conditions on idVendor and idProduct placed all over the code. This patch moves all the device-specific input mapping to a separate file, and introduces a blacklist-style handling for non-standard device-specific mappings. Signed-off-by: Jiri Kosina commit 8dcd5afabffe7c7428323b6f083c2ec70129b459 Author: Drew Fisher Date: Sun Nov 18 12:29:56 2007 +0100 HID: Microsoft Wireless Optical Desktop 3.0 quirk Make the Microsoft Wireless Optical Desktop 3.0 work as a mouse. Microsoft Wireless Optical Desktop 3.0 doesn't properly describe its interface class. Specifically, since it doesn't mark the second interface as a mouse (bInterfaceSubclass = 0), it doesn't get HID_QUIRK_NOGET applied to the interface, and then acts broken when polled. Signed-off-by: Drew Fisher Signed-off-by: Jiri Kosina commit bc3707335c9eee214e663fdd8935b649fec9bf3a Author: Carlos Corbacho Date: Sat Nov 17 01:30:25 2007 +0100 HID: Add support for Logitech Elite keyboards Reuse the quirks from the Cordless Desktop LX500 - stops some of the extra keys being reported as mouse buttons. Signed-off-by: Carlos Corbacho Signed-off-by: Jiri Kosina commit af9e0eacdc072ba28fd139b90de27023d9cb0598 Author: Jiri Kosina Date: Wed Nov 14 12:13:26 2007 +0100 HID: add full support for Genius KB-29E Genius KB-29E has broken report descriptor, which causes some of the Consumer usages to appear incorrectly as Button usages. We fix it by fixing the report descriptor before it is being parsed. Also a few of the keys violate the HUT standard, so they need a special handling. They currently fall into "Reserved" range as per HUT 1.12. Reported-by: Szekeres Istvan Signed-off-by: Jiri Kosina commit 3ba5619f06300cd0944150901ed20de87483ad8c Author: Li Zefan Date: Wed Nov 14 11:31:05 2007 +0100 HID: fix a potential bug in pointer casting Don't directly cast list_head * to foo *, this works only when list is the first member of struct foo, and we should not make the assumption how members are ordered in the structure. i.e. struct *f = (struct *f)pos will work if: struct foo { struct list_head list; int i; }; but will fail if: struct foo { int i; struct list_head list; } Signed-off-by: Li Zefan Signed-off-by: Jiri Kosina commit c80e5ffac0579499ca28444155118ffcdd9b8d7e Author: Pavel Troller Date: Mon Oct 29 11:13:46 2007 +0100 HID: Implement horizontal wheel handling for A4 Tech X5-005D This mouse distinguishes horizontal wheel from vertical by a special "pseudo event" GenericDesktop.00b8, with values of 0 for vertical and 8 for horizontal wheel. Because this event is supplied by the parser too late, we need to delay a wheel event, wait for this one and send either REL_WHEEL or REL_HWHEEL to input depending on the event value. Signed-off-by: Pavel Troller Signed-off-by: Jiri Kosina commit a45d82d19a6c2a717bcc33cff243199b77fa0082 Author: Michel Daenzer Date: Wed Oct 24 16:30:37 2007 +0200 HID: Add support for Apple aluminum USB keyboards. Reuse the existing quirks for Apple laptop USB keyboards. Signed-off-by: Michel Daenzer Signed-off-by: Jiri Kosina commit 81e1a875505f2963f4d22f7e7ade39d764755f9b Author: Michel Daenzer Date: Wed Oct 24 16:30:34 2007 +0200 HID: Rename some code identifiers from PowerBook specific to Apple generic Preserve identifiers exposed in build and run time configuration though in order not to break existing configurations. This is in preparation for adding support for Apple aluminum USB keyboards. Signed-off-by: Michel Daenzer Signed-off-by: Jiri Kosina commit 3c684c8cd4d1a81004daa21f7ad3dad5119916e3 Author: Jan Kiszka Date: Wed Oct 24 16:24:22 2007 +0200 HID: Map MS Presenter 8000 bottom-side buttons The MS Presenter 8000 bluetooth mouse is a "dual-use" device: If you press a button on the top, you can turn it around and find special keys on the other side, useful for presentations. This patch maps those three bottom-keys that are not already detected to the intended functions. The magic bottom on the top is mapped to F5 when we switch from mouse to presenter mode in order to activate the presentation mode in the related software (e.g. OpenOffice). Signed-off-by: Jan Kiszka Signed-off-by: Jiri Kosina commit 0ff66f0c7a5f1f4f5a0d91341b6f71fd2a49f0fa Merge: c00d4ff... 4e4fc05... Author: Russell King Date: Mon Jan 28 13:21:38 2008 +0000 Merge branch 'pxa-plat' into devel * pxa-plat: (53 commits) [ARM] 4762/1: Basic support for Toradex Colibri module [ARM] pxa: fix mci_init functions returning -1 [ARM] 4737/1: Refactor corgi_lcd to improve readability + bugfix [ARM] 4747/1: pcm027: support for pcm990 baseboard for phyCORE-PXA270 [ARM] 4746/1: pcm027: network support for phyCORE-PXA270 [ARM] 4745/1: pcm027: default configuration [ARM] 4744/1: pcm027: add support for phyCORE-PXA270 CPU module [NET] smc91x: Make smc91x use IRQ resource trigger flags [ARM] pxa: add default config for littleton [ARM] pxa: add basic support for Littleton (PXA3xx Form Factor Platform) [ARM] 4664/1: Add basic support for HTC Magician PDA phones [ARM] 4649/1: Base support for pxa-based Toshiba e-series PDAs. [ARM] pxa: skip registers saving/restoring if entering standby mode [ARM] pxa: fix PXA27x resume [ARM] pxa: Avoid fiddling with CKEN register on suspend [ARM] pxa: Add PXA3 standby code hooked into the IRQ wake scheme [ARM] pxa: Add zylonite MFP wakeup configurations [ARM] pxa: program MFPs for low power mode when suspending [ARM] pxa: make MFP configuration processor independent [ARM] pxa: remove un-used pxa3xx_mfp_set_xxx() functions ... Conflicts: arch/arm/mach-pxa/ssp.c Signed-off-by: Russell King commit c00d4ffdbace1bdc9fdd888e4ba6d207ffa3b679 Merge: d0d42df... 8f86dda... Author: Russell King Date: Mon Jan 28 13:21:30 2008 +0000 Merge branch 'orion' into devel * orion: (26 commits) [ARM] Orion: implement power-off method for QNAP TS-109/209 [ARM] Orion: add support for QNAP TS-109/TS-209 [ARM] Orion: I2C support [I2C] i2c-mv64xxx: Don't set i2c_adapter.retries [I2C] Split mv643xx I2C platform support [ARM] Orion: enable CONFIG_RTC_DRV_M41T80 for D-Link DNS-323 [ARM] Orion defconfig [ARM] Orion: add support for Orion/MV88F5181 based D-Link DNS-323 [ARM] Orion: MV88F5181 support bits [ARM] Orion: Buffalo/Revogear Kurobox Pro support [ARM] OrionNAS RD board support [ARM] Orion: support for Marvell Orion-2 (88F5281) Development Board [ARM] Orion: common platform setup for Gigabit Ethernet port [ARM] Orion: platform device registration for UART, USB and NAND [ARM] Orion: system timer support [ARM] Orion edge GPIO IRQ support [ARM] Orion: IRQ support [ARM] Orion: provide GPIO method for enabling hardware assisted blinking [ARM] Orion: GPIO support [ARM] Orion: programable address map support ... Conflicts: arch/arm/Kconfig arch/arm/Makefile Signed-off-by: Russell King commit d0d42df2a440003d96c8bf29991c2afb691ef720 Merge: e01dbdb... eaf858a... 6331acd... b696b6b... 5de865b... 20118ff... 1d7d4f5... bfe645a... 06dbbd6... d142b6e... b5872db... Author: Russell King Date: Mon Jan 28 13:21:21 2008 +0000 Merge branches 'at91', 'ep93xx', 'iop', 'kprobes', 'ks8695', 'misc', 'msm', 's3c2410', 'sa1100' and 'vfp' into devel * at91: (24 commits) [ARM] 4615/4: sam926[13]ek buttons updated [ARM] 4765/1: [AT91] AT91CAP9A-DK board support [ARM] 4764/1: [AT91] AT91CAP9 core support [ARM] 4738/1: at91sam9261: Remove udc pullup enabling in board initialisation [ARM] 4761/1: [AT91] Board-support for NEW_LEDs [ARM] 4760/1: [AT91] SPI CS0 errata on AT91RM9200 [ARM] 4759/1: [AT91] Buttons on CSB300 [ARM] 4758/1: [AT91] LEDs [ARM] 4757/1: [AT91] UART initialization [ARM] 4756/1: [AT91] Makefile cleanup [ARM] 4755/1: [AT91] NAND update [ARM] 4754/1: [AT91] SSC library support [ARM] 4753/1: [AT91] Use DMA_BIT_MASK [ARM] 4752/1: [AT91] RTT, RTC and WDT peripherals on SAM9 [ARM] 4751/1: [AT91] ISI peripheral on SAM9263 [ARM] 4750/1: [AT91] STN LCD displays on SAM9261 [ARM] 4734/1: at91sam9263ek: include IRQ for Ethernet PHY [ARM] 4646/1: AT91: configurable HZ, default to 128 [ARM] 4688/1: at91: speed-up irq processing [ARM] 4657/1: AT91: Header definition update ... * ep93xx: [ARM] 4671/1: ep93xx: remove obsolete gpio_line_* operations [ARM] 4670/1: ep93xx: implement IRQT_BOTHEDGE gpio irq sense type [ARM] 4669/1: ep93xx: simplify GPIO code and cleanups [ARM] 4668/1: ep93xx: implement new GPIO API * iop: [ARM] 4770/1: GLAN Tank: correct physmap_flash_data width field [ARM] 4732/1: GLAN Tank: register rtc-rs5c372 i2c device [ARM] 4708/1: iop: update defconfigs for 2.6.24 * kprobes: ARM kprobes: let's enable it ARM kprobes: special hook for the kprobes breakpoint handler ARM kprobes: prevent some functions involved with kprobes from being probed ARM kprobes: don't let a single-stepped stmdb corrupt the exception stack ARM kprobes: add the kprobes hook to the page fault handler ARM kprobes: core code ARM kprobes: instruction single-stepping support * ks8695: [ARM] 4603/1: KS8695: debugfs interface to view pin state [ARM] 4601/1: KS8695: PCI support * misc: [ARM] remove duplicate includes [ARM] CONFIG_DEBUG_STACK_USAGE [ARM] 4689/1: small comment wrap fix [ARM] 4687/1: Trivial arch/arm/kernel/entry-common.S comment fix [ARM] 4666/1: ixp4xx: fix sparse warnings in include/asm-arm/arch-ixp4xx/io.h [ARM] remove reference to non-existent MTD_OBSOLETE_CHIPS [SERIAL] 21285: Report baud rate back via termios [ARM] Remove pointless casts from void pointers, [ARM] Misc minor interrupt handler cleanups [ARM] Remove at91_lcdc.h [ARM] ARRAY_SIZE() cleanup [ARM] Update mach-types * msm: [ARM] msm: dma support for MSM7X00A [ARM] msm: board file for MACH_HALIBUT (QCT MSM7200A) [ARM] msm: irq and timer support for ARCH_MSM7X00A [ARM] msm: core platform support for ARCH_MSM7X00A * s3c2410: (33 commits) [ARM] 4795/1: S3C244X: Add armclk and setparent call [ARM] 4794/1: S3C24XX: Comonise S3C2440 and S3C2442 clock code [ARM] 4793/1: S3C24XX: Add IRQ->GPIO pin mapping function [ARM] 4792/1: S3C24XX: Remove warnings from debug-macro.S [ARM] 4791/1: S3C2412: Make fclk a parent of msysclk [ARM] 4790/1: S3C2412: Fix parent selection for msysclk. [ARM] 4789/1: S3C2412: Add missing CLKDIVN register values [ARM] 4788/1: S3C24XX: Fix paramet to s3c2410_dma_ctrl if S3C2410_DMAF_AUTOSTART used. [ARM] 4787/1: S3C24XX: s3c2410_dma_request() should return the allocated channel number [ARM] 4786/1: S3C2412: Add SPI FIFO controll constants [ARM] 4785/1: S3C24XX: Add _SHIFT definitions for S3C2410_BANKCON registers [ARM] 4784/1: S3C24XX: Fix GPIO restore glitches [ARM] 4783/1: S3C24XX: Add s3c2410_gpio_getpull() [ARM] 4782/1: S3C24XX: Define FIQ_START for any FIQ users [ARM] 4781/1: S3C24XX: DMA suspend and resume support [ARM] 4780/1: S3C2412: Allow for seperate DMA channels for TX and RX [ARM] 4779/1: S3C2412: Add s3c2412_gpio_set_sleepcfg() call [ARM] 4778/1: S3C2412: Add armclk and init from DVS state [ARM] 4777/1: S3C24XX: Ensure clk_set_rate() checks the set_rate method for the clk [ARM] 4775/1: s3c2410: fix compilation error if only s3c2442 cpu is selected ... * sa1100: [ARM] sa1100: add clock source support * vfp: [ARM] 4584/2: ARMv7: Add Advanced SIMD (NEON) extension support [ARM] 4583/1: ARMv7: Add VFPv3 support [ARM] 4582/2: Add support for the common VFP subarchitecture commit 06dbbd69f94e97751782ef6f1a9bb19da60efd1c Author: Ben Dooks Date: Mon Jan 28 13:01:35 2008 +0100 [ARM] 4795/1: S3C244X: Add armclk and setparent call Add armclk to the supported clocks on the S3C2440 and S3C2442 to better represent the DVS state which controls whether FCLK or HCLK is fed to the ARM core. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 3a38e4be76e86c7b94c36dc8f3ce489987da24e4 Author: Ben Dooks Date: Mon Jan 28 13:01:34 2008 +0100 [ARM] 4794/1: S3C24XX: Comonise S3C2440 and S3C2442 clock code Merge together the bits of the S3C2440 and S3C2442 clock code that can be. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit c27cb681ac1598352569f75cb19850a12b7ef102 Author: Ben Dooks Date: Mon Jan 28 13:01:33 2008 +0100 [ARM] 4793/1: S3C24XX: Add IRQ->GPIO pin mapping function Add the reverse of s3c2410_gpio_getirq to convert a IRQ number into a GPIO pin number. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 9b8c0088404778a1291191cf140bcfea082f027c Author: Ben Dooks Date: Mon Jan 28 13:01:32 2008 +0100 [ARM] 4792/1: S3C24XX: Remove warnings from debug-macro.S Remove warnings left in include/asm-arm/arch-s3c2410/debug-macro.S whilst these where being experimented with. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit ddd870bdb722280bd5af1682d82557d1787ac90c Author: Ben Dooks Date: Mon Jan 28 13:01:31 2008 +0100 [ARM] 4791/1: S3C2412: Make fclk a parent of msysclk In the S3C2412 fclk is derived from msysclk, not straight from the MPLL output. Set clk_f.parent appropriately. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit cca851d7b4d87f3a644d3381930dc737890bd9ac Author: Ben Dooks Date: Mon Jan 28 13:01:30 2008 +0100 [ARM] 4790/1: S3C2412: Fix parent selection for msysclk. The msysclk clock was checking for the wrong PLL for the parent in s3c2412_setparent_msysclk(), trying the UPLL instead of the MPLL output. Also ensure the mpll and fclks are at the same rate at init time. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit e95f52cd3b664eaa9c2b2b123f2a339ae0f1a92b Author: Ben Dooks Date: Mon Jan 28 13:01:29 2008 +0100 [ARM] 4789/1: S3C2412: Add missing CLKDIVN register values Add S3C2412_CLKDIVN_DVSEN and S3C2412_CLKDIVN_HALFHCLK definitions to the S3C2412_CLKDIVN set. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 046c9d321fd5f5ce1c89c9d0f1a519c26a096486 Author: Ben Dooks Date: Mon Jan 28 13:01:28 2008 +0100 [ARM] 4788/1: S3C24XX: Fix paramet to s3c2410_dma_ctrl if S3C2410_DMAF_AUTOSTART used. Fix the channel parameter to s3c2410_dma_ctrl() in s3c2410_dma_enqueue() if the S3C2410_DMAF_AUTOSTART is set on the channel. Spotted by Steven Ryu at Samsung. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit a07c438faf952643f79983fb16a10f111c9df0df Author: Ben Dooks Date: Mon Jan 28 13:01:27 2008 +0100 [ARM] 4787/1: S3C24XX: s3c2410_dma_request() should return the allocated channel number The s3c2410_dma_request() function should return the channel allocated instead of zero for success. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit db9b85c527a397e4cb75956ae69acea92904f6dc Author: Ben Dooks Date: Mon Jan 28 13:01:26 2008 +0100 [ARM] 4786/1: S3C2412: Add SPI FIFO controll constants Add control constants for the S3C2412 SPI unit FIFO. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit e5812bf66881a7d9c67d807b09d69a023d6e4b86 Author: Ben Dooks Date: Mon Jan 28 13:01:25 2008 +0100 [ARM] 4785/1: S3C24XX: Add _SHIFT definitions for S3C2410_BANKCON registers Add definitions to allow easier decomposotion of the contents of the S3C2410_BANKON registers Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 62feee648ca0ad6e1b54e44e6c8ddb69f225f812 Author: Ben Dooks Date: Mon Jan 28 13:01:24 2008 +0100 [ARM] 4784/1: S3C24XX: Fix GPIO restore glitches The core resume code may have caused glitches in the GPIO when restoring the GPIO state due to the order in which the GPIO registers were being written. Change the restore process take into account the state of the GPIOs on resume and the state the system wants to restore them to. See the code comments in the patch for more details of the process. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit bb6d9b56c1d5c1cbff39b7c337c900e2b3d8387a Author: Ben Dooks Date: Mon Jan 28 13:01:23 2008 +0100 [ARM] 4783/1: S3C24XX: Add s3c2410_gpio_getpull() Add the call s3c2410_gpio_getpull() to return the current state of the pin's pull-up. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 9f613be4a9b6d680772b0a52a43a4a94d8e131b6 Author: Ben Dooks Date: Mon Jan 28 13:01:22 2008 +0100 [ARM] 4782/1: S3C24XX: Define FIQ_START for any FIQ users Ensure FIQ_START is defined to allow anyone to use FIQ code on an S3C24XX based CPU. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit c58f7a1d36709e50398c05df9419386befef2c59 Author: Ben Dooks Date: Mon Jan 28 13:01:21 2008 +0100 [ARM] 4781/1: S3C24XX: DMA suspend and resume support If an DMA channel was active at suspend, then ensure that it is correctly reconfigured when the system resumes. Note, the previous policy was for each driver to handle their own reconfiguration on resume. The policy has been changed to make the individual driver's job easier. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit c6709e8ef5752314c22c75bc7575f9be390e215b Author: Ben Dooks Date: Mon Jan 28 13:01:20 2008 +0100 [ARM] 4780/1: S3C2412: Allow for seperate DMA channels for TX and RX The current S3C24XX DMA code does not allow for an peripheral that has one channel for RX and another for TX. This patch adds a per-cpu dma operation to select the transmit or receive channel, and adds support to the S3C2412 for the seperate DMA channels for TX and RX. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 67d729adc0e76e21c82a2c59853f25f5f784ca79 Author: Ben Dooks Date: Mon Jan 28 13:01:19 2008 +0100 [ARM] 4779/1: S3C2412: Add s3c2412_gpio_set_sleepcfg() call Add s3c2412_gpio_set_sleepcfg() to allow the setting of the sleep configuration of the GPIO blocks. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit bdbea34ddd2e52dc73f03e7ef7197d4c0da400d6 Author: Ben Dooks Date: Mon Jan 28 13:01:18 2008 +0100 [ARM] 4778/1: S3C2412: Add armclk and init from DVS state Add armclk to the S3C2412 to indicate the current clock connected to the ARM core. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 57c1b0f8dbfffaa00a242b171429e56489caef15 Author: Ben Dooks Date: Mon Jan 28 13:01:17 2008 +0100 [ARM] 4777/1: S3C24XX: Ensure clk_set_rate() checks the set_rate method for the clk Add checks for clk_set_rate() and ensure that we do not allow set_rate to be called for a clock that does not have it defined. Add default methods for fclk, hclk, pclk and mpll. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit f7275dac55008f8296cfb89a01b1e71918ac7995 Author: Krzysztof Helt Date: Sun Jan 27 19:01:18 2008 +0100 [ARM] 4775/1: s3c2410: fix compilation error if only s3c2442 cpu is selected This patch fixes compilation error if only a machine with s3c2442 cpu is selected but without s3c2440 cpu selected. Signed-off-by: Krzysztof Helt Acked-by: Ben Dooks Signed-off-by: Russell King commit 332349518f1958b0bc1ae3febc2e4f75f214d255 Author: Ben Dooks Date: Sun Dec 23 03:09:34 2007 +0100 [ARM] 4731/1: S3C2412: Check for incomplete sleep Check if the sleep command returns due to a pending interrupt in the standby unit. If this happens, try and ack the IRQ before re-trying the resume. It is currently unclear whether the resume can be backed out of at this stage as this could cause a problem with level based interrupts. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 0baada2742a42390a2ebed09e07e1fab518db884 Author: Ben Dooks Date: Sun Dec 23 03:09:33 2007 +0100 [ARM] 4730/1: S3C2412: Ensure the PWRCFG has the right mode for RTC wake Ensure that if the RTC IRQ is not selected for wake in the base configuration, then the PWRCFG has the same value set in it. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 8e3007a0e8a0d2f5e3139cb9fe606c2a998b9ed3 Author: Ben Dooks Date: Sun Dec 23 03:09:36 2007 +0100 [ARM] 4729/1: VR1000: Do not add IIS device on initialisation The IIS device is being registered by the Simtec Audio driver, and thus registering here causes an error due to device tree naming collision. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit b6a175a562a1c8d326de0ee501114a2af2602772 Author: Ben Dooks Date: Sun Dec 23 03:09:35 2007 +0100 [ARM] 4728/1: BAST: Do not add IIS device on initialisation The IIS device is being registered by the Simtec Audio driver, and thus registering here causes an error due to device tree naming collision. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 0953612a479491b57db794580b13a8e39b810724 Author: Ben Dooks Date: Sun Dec 23 03:09:37 2007 +0100 [ARM] 4727/1: S3C2412: Remove unused GPESLPCON S3C2412_GPESLPCON does not exist in the register mappings, so remove it. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit b708d7bf18fd90105b8099cc558d66477dafd8ea Author: Ben Dooks Date: Sun Dec 23 03:09:39 2007 +0100 [ARM] 4726/1: S3C2412: IIS register definitions The S3C2412 IIS engine differs from the previous SoC in the range, so add a set of register definitions in a seperate file for it. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit d45c30cb4c0b5f5555397ba2e942d63b4170fa1f Author: Ben Dooks Date: Sun Dec 23 03:09:40 2007 +0100 [ARM] 4725/1: S3C2412: Fix IIS and SDI definitions in DMA map The IIS and SDI register hw_addr definitions are incorrect in the DMA map for the S3C2412. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 71e5b2f154eb743d609bb4e743ea344596769911 Author: Ben Dooks Date: Sun Dec 23 03:09:30 2007 +0100 [ARM] 4724/1: S3C2412: Select S3C2410 base GPIO implementation The S3C2412 GPIO is similar enough to the S3C2410 that it can use it as a base for GPIO functionality. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 9cbae12cca55332c9fef8f700ea28d36d7cc54be Author: Ben Dooks Date: Sun Dec 23 03:09:38 2007 +0100 [ARM] 4723/1: BAST: Fix LCD driver default display setting We have a default display set to 4, when we only have three registered displays. Fix this argument (a seperate patch has been generated to ensure that the LCD driver takes notice of this bug) Signed-off-by: Ben Dooks Signed-off-by: Russell King commit ff44b49b55edee33b7ecea987be1a6413162581b Author: Ben Dooks Date: Sun Dec 23 03:09:32 2007 +0100 [ARM] 4722/1: S3C24XX: Improve output if watchdog reset fails If the watchdog reset fails and we decided to take the jump to zero approach, allow 50ms for the UARTS to drain the FIFOs before calling into a bootloader that may flush the output. Also reduece the waits and the timeout values as 5 seconds is rather long. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit d652074ebcedd13c7ce760c7f3327f30862852fb Author: Ben Dooks Date: Sun Dec 23 03:09:31 2007 +0100 [ARM] 4721/1: S3C24XX: Ensure watchdog clock is enbaled for hard reset If the hard reset routine is using the watchdog, then ensure that the clock for the watchdog has been enabled before we try and issue a reset. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit cf08167c82b38ed9f6401e68b3c91fb11496f101 Author: Ben Dooks Date: Sun Dec 23 03:09:28 2007 +0100 [ARM] 4720/1: S3C2412: Add power configuration registers for battery flat behaviour. Add the S3C2412_PWRCFG values for the action taken on detecting that the battery is flat. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 1fb4e5611a9d0b524d85f0db4402aa439ebdb331 Author: Ben Dooks Date: Sun Dec 23 03:09:29 2007 +0100 [ARM] 4719/1: S3C2412: Update SPI register definitions for the S3C2412 Add S3C2412 register definitions. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 4e4fc05a2b6e7bd2e0facd96e0c18dceb34d9349 Author: Daniel Mack Date: Wed Jan 23 14:54:50 2008 +0100 [ARM] 4762/1: Basic support for Toradex Colibri module This patch adds support for Toradex' PXA27x based Colibri module. It's kept as simple as possible to only provide basic functionality. A default config is also included. Signed-off-by: Daniel Mack Signed-off-by: Russell King commit 2687bd38573ff6f10d13f60c5c3576cce9cf260d Author: Russell King Date: Wed Jan 23 14:05:58 2008 +0000 [ARM] pxa: fix mci_init functions returning -1 Fix all those PXA mci_init functions which return -1 rather than propagating the error code to the higher levels. Remove the silly set_irq_type() calls as well - use the flags for request_irq() instead. Signed-off-by: Russell King commit ca4d6cfcee0cb2d25c0eb3b0172ecc6f223133ef Author: Richard Purdie Date: Wed Jan 2 01:09:54 2008 +0100 [ARM] 4737/1: Refactor corgi_lcd to improve readability + bugfix This patch refactors the code in corgi_lcd.c moving it to the board specific corgi and spitz files where appropriate instead of the existing ifdef mess which hinders readability. Fix spitz_get_hsync_len() to call get_hsync_invperiod so pxafb can be compiled as a module. The confusing variables which represent the inverse horizintal sync period are renamed to "invperiod" consistently. An incorrect comment in corgi_ts.c is also corrected. Signed-off-by: Richard Purdie Signed-off-by: Russell King commit 2e927b76267a57a44c018ffcc64cde5fedde1fcf Author: Robert Schwebel Date: Tue Jan 8 08:52:04 2008 +0100 [ARM] 4747/1: pcm027: support for pcm990 baseboard for phyCORE-PXA270 This patch adds baseboard support for the phyCORE-PXA270 development kit (aka PCM-990). This example shows how to use some phyCORE-PXA270 CPU module features on a baseboard in a standard manner. It could be used as a starting point for custom baseboard development. V2: After comments by Eric Miao: - IRQ chained handler fixed - video/graphic support moved to separate patch - ifdef/endif hell reduced ;-) V3: After comments by Russell King - initialise the mmci platform data statically V4: After comments by Russell King - wrong return value in pcm990_mci_init() fixed Signed-off-by: Juergen Beisert Signed-off-by: Russell King commit 4f15a98025c2e71be85c80adecc14b82770cd865 Author: Robert Schwebel Date: Tue Jan 8 08:50:02 2008 +0100 [ARM] 4746/1: pcm027: network support for phyCORE-PXA270 This patch adds SMC91x support for the phyCORE-PXA270 CPU module (aka PCM-027). Signed-off-by: Juergen Beisert Signed-off-by: Russell King commit 8b0b9fb531d6616081104c916341e4747c094d49 Author: Robert Schwebel Date: Tue Jan 8 08:48:17 2008 +0100 [ARM] 4745/1: pcm027: default configuration This patch adds a basic configration for the phyCORE-PXA270 development kit. In this case development kit means PCM-990 (main baseboard). Signed-off-by: Juergen Beisert Signed-off-by: Russell King commit 34e31d871ee4b6a9f6c5504da7d6dcc24967844c Author: Robert Schwebel Date: Tue Jan 8 08:44:23 2008 +0100 [ARM] 4744/1: pcm027: add support for phyCORE-PXA270 CPU module This patch adds main support for the generic phyCORE-PXA270 CPU module (aka PCM-027). Its as generic as possible to support any kind of baseboard. Note: Neither the CPU module nor the pcm027.c implementation can work without a baseboard support. Baseboard support can be added by the PCM-990 or any custom variant. V2: After comments by Eric Miao: - Currently unsupported devices moved into separate patch - direct call of baseboard initialisation V3: After comments by Russell King - sort include files - setting RTC bit for power control removed - style problems fixed (discovered by checkpatch.pl) Signed-off-by: Juergen Beisert Signed-off-by: Russell King commit e7b3dc7ef1e27fd5713a0df71f82c0a27de1c2eb Author: Russell King Date: Mon Jan 14 22:30:10 2008 +0000 [NET] smc91x: Make smc91x use IRQ resource trigger flags smc91x is shared between many different platforms. Each platform needs to specify the interrupt type, and in some cases the irq type depends on more than just the build configuration - it depends on runtime checks. Rather than throwing this code into the SMC_IRQ_FLAGS definition, provide a way for these flags to be passed via the IRQ resource itself. Note that IRQF_TRIGGER_* constants are intentionally defined to correspond with the IORESOURCE_IRQ_* interrupt type flags, in much the same way that the low bits of PCI iomem resources correspond with the BAR flag bits. Also provide a way to configure smc91x to read the IRQ flags from the resource. Once all platforms have been converted over (signified by all definitions of SMC_IRQ_FLAGS being -1) SMC_IRQ_FLAGS should be removed. Signed-off-by: Russell King Acked-by: Nicolas Pitre Acked-by: Jeff Garzik commit 1709e2af784ea658cec4e91fc884508d1214d6f5 Author: eric miao Date: Fri Dec 21 11:18:48 2007 +0800 [ARM] pxa: add default config for littleton default to - PXA300/PXA310 support only (there isn't any littleton board with PXA320 processor for now) - smc91x ethernet support with NFS rootfs - LCD framebuffer support with graphics console Signed-off-by: eric miao Signed-off-by: Russell King commit e1d9b9532522f4a04b925e151c1790e669312c55 Author: eric miao Date: Thu Dec 13 10:41:43 2007 +0800 [ARM] pxa: add basic support for Littleton (PXA3xx Form Factor Platform) Signed-off-by: eric miao Signed-off-by: Russell King commit e5c271ec3bdfaca5e8d47a9e63cfc0bf889881aa Author: Philipp Zabel Date: Thu Nov 22 17:59:11 2007 +0100 [ARM] 4664/1: Add basic support for HTC Magician PDA phones This includes irda, gpio keys, pxafb, backlight, ohci and flash (read-only). Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 3abcd199db312abeec617083be8a7655cab73ec8 Author: Ian Molton Date: Mon Nov 19 13:16:56 2007 +0100 [ARM] 4649/1: Base support for pxa-based Toshiba e-series PDAs. This patch contains the base code to boot the Toshiba e330, e740, e750, e400, and e800 PDAs. Signed-off-by: Ian Molton Signed-off-by: Russell King commit e01dbdb40eea94ecb2c703960dac744c9b19a186 Author: Dmitry Baryshkov Date: Sun Jan 27 23:11:48 2008 +0100 [ARM] 4776/1: Add HWUART clock to fix hwuart support This adds back the registration of HWUART clock on pxa25x Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit febffd61816ef6d4f84189468c1d47f1df55921e Author: Jens Axboe Date: Mon Jan 28 13:19:43 2008 +0100 cfq-iosched: kill some big inlines Use of inlines were a bit over the top, trim them down a bit. Signed-off-by: Jens Axboe commit cd4c1eb51064f24a8b0a53069c4d004deade65c7 Author: Russell King Date: Mon Jan 28 10:59:09 2008 +0000 [ARM] Fix class_device damage caused by 0c55445f201841bfd6c658c47df8311b6722f002 Lots of compile errors in drivers/mfd/ucb1x00-assabet.c... Signed-off-by: Russell King commit 0871714e08fed7ba66cadad11b2e4f85a9dc9b96 Author: Jens Axboe Date: Mon Jan 28 11:38:15 2008 +0100 cfq-iosched: relax IOPRIO_CLASS_IDLE restrictions Currently you must be root to set idle io prio class on a process. This is due to the fact that the idle class is implemented as a true idle class, meaning that it will not make progress if someone else is requesting disk access. Unfortunately this means that it opens DOS opportunities by locking down file system resources, hence it is root only at the moment. This patch relaxes the idle class a little, by removing the truly idle part (which entals a grace period with associated timer). The modifications make the idle class as close to zero impact as can be done while still guarenteeing progress. This means we can relax the root only criteria as well. Signed-off-by: Jens Axboe commit 193c3cc12583344be01206078d9ad3fec5dbc397 Author: Russell King Date: Mon Jan 28 10:16:37 2008 +0000 [ARM] Fix timer damage from d3d74453c34f8fd87674a8cf5b8a327c68f22e99 Move the xtime write mode seqlock into timer_tick(), so it only surrounds the call to do_timer(). This avoids a deadlock in update_process_times() ... hrtimer_get_softirq_time() which tries to get a read mode seqlock on xtime, thereby preventing booting. Signed-off-by: Russell King commit 6232be32afa121628c72291ce7eaa24a639905c2 Author: eric miao Date: Thu Jan 24 02:27:30 2008 +0100 [ARM] 4763/1: pxa: fix pxa3xx_get_clk_frequency_khz() to return KHz The original code incorrectly returns Hz instead of KHz. Signed-off-by: eric miao Signed-off-by: Russell King commit 7cedb1f17fb7f4374d11501f61656ae9d3ba47e9 Author: James Bottomley Date: Sun Jan 13 14:15:28 2008 -0600 SG: work with the SCSI fixed maximum allocations. SCSI sg table allocation has a maximum size (of SCSI_MAX_SG_SEGMENTS, currently 128) and this will cause a BUG_ON() in SCSI if something tries an allocation over it. This patch adds a size limit to the chaining allocator to allow the specification of the maximum allocation size for chaining, so we always chain in units of the maximum SCSI allocation size. Signed-off-by: James Bottomley Signed-off-by: Jens Axboe commit fa0ccd837e3dddb44c7db2f128a8bb7e4eabc21a Author: James Bottomley Date: Thu Jan 10 11:30:36 2008 -0600 block: implement drain buffers These DMA drain buffer implementations in drivers are pretty horrible to do in terms of manipulating the scatterlist. Plus they're being done at least in drivers/ide and drivers/ata, so we now have code duplication. The one use case for this, as I understand it is AHCI controllers doing PIO mode to mmc devices but translating this to DMA at the controller level. So, what about adding a callback to the block layer that permits the adding of the drain buffer for the problem devices. The idea is that you'd do this in slave_configure after you find one of these devices. The beauty of doing it in the block layer is that it quietly adds the drain buffer to the end of the sg list, so it automatically gets mapped (and unmapped) without anything unusual having to be done to the scatterlist in driver/scsi or drivers/ata and without any alteration to the transfer length. Signed-off-by: James Bottomley Signed-off-by: Jens Axboe commit fadad878cc0640cc9cd5569998bf54b693f7b38b Author: Jens Axboe Date: Thu Jan 24 08:54:47 2008 +0100 kernel: add CLONE_IO to specifically request sharing of IO contexts syslets (or other threads/processes that want io context sharing) can set this to enforce sharing of io context. Signed-off-by: Jens Axboe commit 521f3bbdba6b92582ef8047df01b156668343542 Author: Jens Axboe Date: Mon Jan 21 20:03:12 2008 +0100 io_context sharing - anticipatory changes changes to anticipatory io scheduler for io_context sharing Signed-off-by: Jens Axboe commit 4ac845a2e9a816ed5a7b301f56dcc0a3d0b1ba4d Author: Jens Axboe Date: Thu Jan 24 08:44:49 2008 +0100 block: cfq: make the io contect sharing lockless The io context sharing introduced a per-ioc spinlock, that would protect the cfq io context lookup. That is a regression from the original, since we never needed any locking there because the ioc/cic were process private. The cic lookup is changed from an rbtree construct to a radix tree, which we can then use RCU to make the reader side lockless. That is the performance critical path, modifying the radix tree is only done on process creation (when that process first does IO, actually) and on process exit (if that process has done IO). As it so happens, radix trees are also much faster for this type of lookup where the key is a pointer. It's a very sparse tree. Signed-off-by: Jens Axboe commit 66dac98ed0de7a1125fb0dd7907f238f6b9d2f60 Author: Nikanth Karthikesan Date: Tue Nov 27 12:47:04 2007 +0100 io_context sharing - cfq changes changes in the cfq for io_context sharing Signed-off-by: Jens Axboe commit d38ecf935fcb10264a6bc190855d9595165e6eeb Author: Jens Axboe Date: Thu Jan 24 08:53:35 2008 +0100 io context sharing: preliminary support Detach task state from ioc, instead keep track of how many processes are accessing the ioc. Signed-off-by: Jens Axboe commit fd0928df98b9578be8a786ac0cb78a47a5e17a20 Author: Jens Axboe Date: Thu Jan 24 08:52:45 2008 +0100 ioprio: move io priority from task_struct to io_context This is where it belongs and then it doesn't take up space for a process that doesn't do IO. Signed-off-by: Jens Axboe commit a65b58663d983e588aed8d1bfc75edaac2527fa7 Author: Kiyoshi Ueda Date: Tue Dec 11 17:49:46 2007 -0500 blk_end_request: changing xsysace (take 4) This patch converts xsysace to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. xsysace is a little bit different from "normal" drivers. xsysace driver has a state machine in it. It calls end_that_request_first() and end_that_request_last() from different states. (ACE_FSM_STATE_REQ_TRANSFER and ACE_FSM_STATE_REQ_COMPLETE, respectively.) However, those states are consecutive and without any interruption inbetween. So we can just follow the standard conversion rule (b) mentioned in the patch subject "[PATCH 01/30] blk_end_request: add new request completion interface". Cc: Grant Likely Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 7d699bafe258ebd8f9b4ec182c554200b369a504 Author: Kiyoshi Ueda Date: Tue Dec 11 17:46:47 2007 -0500 blk_end_request: changing ub (take 4) This patch converts ub to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. Cc: Pete Zaitcev Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit b8286239ddaf2632cec65c01e68a403ac4c3d079 Author: Kiyoshi Ueda Date: Tue Dec 11 17:53:24 2007 -0500 blk_end_request: cleanup of request completion (take 4) This patch merges complete_request() into end_that_request_last() for cleanup. complete_request() was introduced by earlier part of this patch-set, not to break the existing users of end_that_request_last(). Since all users are converted to blk_end_request interfaces and end_that_request_last() is no longer exported, the code can be merged to end_that_request_last(). Cc: Boaz Harrosh Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 5450d3e1d68f10be087f0855d8bad5458b50ecbe Author: Kiyoshi Ueda Date: Tue Dec 11 17:53:03 2007 -0500 blk_end_request: cleanup 'uptodate' related code (take 4) This patch converts 'uptodate' arguments of no longer exported interfaces, end_that_request_first/last, to 'error', and removes internal conversions for it in blk_end_request interfaces. Also, this patch removes no longer needed end_io_error(). Cc: Boaz Harrosh Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 3bcddeac1c4c7e6fb90531b80f236b1a05dfe514 Author: Kiyoshi Ueda Date: Tue Dec 11 17:52:28 2007 -0500 blk_end_request: remove/unexport end_that_request_* (take 4) This patch removes the following functions: o end_that_request_first() o end_that_request_chunk() and stops exporting the functions below: o end_that_request_last() Cc: Boaz Harrosh Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 610d8b0c972e3b75493efef8e96175518fd736d3 Author: Kiyoshi Ueda Date: Tue Dec 11 17:52:09 2007 -0500 blk_end_request: changing scsi (take 4) This patch converts scsi mid-layer to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. As a result, the interface of internal function, scsi_end_request(), is changed. Cc: James Bottomley Cc: Boaz Harrosh Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit e3a04fe34a3ec81ddeddb6c73fb7299716cffbb0 Author: Kiyoshi Ueda Date: Tue Dec 11 17:51:46 2007 -0500 blk_end_request: add bidi completion interface (take 4) This patch adds a variant of the interface, blk_end_bidi_request(), which completes a bidi request. Bidi request must be completed as a whole, both rq and rq->next_rq at once. So the interface has 2 arguments for completion size. As for ->end_io, only rq->end_io is called (rq->next_rq->end_io is not called). So if special completion handling is needed, the handler must be set to rq->end_io. And the handler must take care of freeing next_rq too, since the interface doesn't care of it if rq->end_io is not NULL. Cc: Boaz Harrosh Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit aaa04c28cb9a1efd42541fdb7ab648231c2a2263 Author: Kiyoshi Ueda Date: Tue Dec 11 17:51:23 2007 -0500 blk_end_request: changing ide-cd (take 4) This patch converts ide-cd (cdrom_newpc_intr()) to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. In PIO mode, ide-cd (cdrom_newpc_intr()) needs to defer end_that_request_last() until the device clears DRQ_STAT and raises an interrupt after end_that_request_first(). So blk_end_request() has to return without completing request even if no leftover in the request. ide-cd uses blk_end_request_callback() and a dummy callback function, which just returns value '1', to tell blk_end_request_callback() about that. Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit e19a3ab058fe91c8c54d43dc56dccf7eb386478e Author: Kiyoshi Ueda Date: Tue Dec 11 17:51:02 2007 -0500 blk_end_request: add callback feature (take 4) This patch adds a variant of the interface, blk_end_request_callback(), which has driver callback feature. Drivers may need to do special works between end_that_request_first() and end_that_request_last(). For such drivers, blk_end_request_callback() allows it to pass a callback function which is called between end_that_request_first() and end_that_request_last(). This interface is only for fallback of other blk_end_request interfaces. Drivers should avoid their tricky behaviors and use other interfaces as much as possible. Currently, only one driver, ide-cd, needs this interface. So this interface should/will be removed, after the driver removes such tricky behaviors. o ide-cd (cdrom_newpc_intr()) In PIO mode, cdrom_newpc_intr() needs to defer end_that_request_last() until the device clears DRQ_STAT and raises an interrupt after end_that_request_first(). So end_that_request_first() and end_that_request_last() are called separately in cdrom_newpc_intr(). This means blk_end_request_callback() has to return without completing request even if no leftover in the request. To satisfy the requirement, callback function has return value so that drivers can tell blk_end_request_callback() to return without completing request. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 5e36bb6ee8d5ff6c6114b60d2aaa1c70d4275f4e Author: Kiyoshi Ueda Date: Mon Jan 28 10:34:20 2008 +0100 blk_end_request: changing ide normal caller (take 4) This patch converts "normal" parts of ide to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. The conversion of 'uptodate' to 'error' is done only for the internal function, __ide_end_request(). ide_end_request() was not changed since it's exported and used by many ide drivers. With this patch, blkdev_dequeue_request() in __ide_end_request() is moved to blk_end_request, since blk_end_request takes care of dequeueing request like below: if (!list_empty(&rq->queuelist)) blkdev_dequeue_request(rq); In the case of ide, o 'dequeue' variable of __ide_end_request() is 1 only when the request is still linked to the queue (i.e. rq->queuelist is not empty) o 'dequeue' variable of __ide_end_request() is 0 only when the request has already been removed from the queue (i.e. rq->queuelist is empty) So blk_end_request can handle it correctly although ide always run thought the code above. Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit ea6f06f416347448645e60294d92c0c19aba8589 Author: Kiyoshi Ueda Date: Tue Dec 11 17:50:21 2007 -0500 blk_end_request: changing cpqarray (take 4) This patch converts cpqarray to use blk_end_request interfaces. Related 'ok' arguments are converted to 'error'. cpqarray is a little bit different from "normal" drivers. cpqarray directly calls bio_endio() and disk_stat_add() when completing request. But those can be replaced with __end_that_request_first(). After the replacement, request completion procedures of those drivers become like the following: o end_that_request_first() o add_disk_randomness() o end_that_request_last() This can be converted to __blk_end_request() by following the rule (b) mentioned in the patch subject "[PATCH 01/30] blk_end_request: add new request completion interface". Cc: Mike Miller Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 3daeea29f9348263e0dda89a565074390475bdf8 Author: Kiyoshi Ueda Date: Tue Dec 11 17:50:03 2007 -0500 blk_end_request: changing cciss (take 4) This patch converts cciss to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. cciss is a little bit different from "normal" drivers. cciss directly calls bio_endio() and disk_stat_add() when completing request. But those can be replaced with __end_that_request_first(). After the replacement, request completion procedures of those drivers become like the following: o end_that_request_first() o add_disk_randomness() o end_that_request_last() This can be converted to blk_end_request() by following the rule (a) mentioned in the patch subject "[PATCH 01/30] blk_end_request: add new request completion interface". Cc: Mike Miller Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 5a330e39b13fe8d368d015338a4267129f502a55 Author: Kiyoshi Ueda Date: Tue Dec 11 17:49:29 2007 -0500 blk_end_request: changing ide-scsi (take 4) This patch converts ide-scsi to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 4c4e21486154c8db93c7e82a4b3ab5f621cd1d97 Author: Kiyoshi Ueda Date: Mon Jan 28 10:29:42 2008 +0100 blk_end_request: changing s390 (take 4) This patch converts s390 to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. As a result, the interfaces of internal functions below are changed: o dasd_end_request o tapeblock_end_request Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: linux390@de.ibm.com Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit fd539832c7d3a242269374dbcae2cd54da150930 Author: Kiyoshi Ueda Date: Tue Dec 11 17:48:29 2007 -0500 blk_end_request: changing mmc (take 4) This patch converts mmc to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. Cc: Pierre Ossman Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 1381b7e82a52c4ae5ebb2ac0951075debb878a2a Author: Kiyoshi Ueda Date: Tue Dec 11 17:48:09 2007 -0500 blk_end_request: changing i2o_block (take 4) This patch converts i2o_block to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. As a result, the interface of internal function, i2o_block_end_request(), is changed. Cc: Markus Lidel Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit e935eb9dba66ce2533d06e459cf5bbfc17c9318b Author: Kiyoshi Ueda Date: Tue Dec 11 17:47:52 2007 -0500 blk_end_request: changing viocd (take 4) This patch converts viocd to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. As a result, the interface of internal function, viocd_end_request(), is changed. Cc: Stephen Rothwell Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit f530f036378421fb0b59bb829a8097a50bca79e2 Author: Kiyoshi Ueda Date: Tue Dec 11 17:47:36 2007 -0500 blk_end_request: changing xen-blkfront (take 4) This patch converts xen-blkfront to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. Cc: Jeremy Fitzhardinge Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit b2aec24ea4c5836f9b3cbc7dca51f0ae639865ed Author: Kiyoshi Ueda Date: Tue Dec 11 17:47:14 2007 -0500 blk_end_request: changing viodasd (take 4) This patch converts viodasd to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. As a result, the interface of internal function, viodasd_end_request(), is changed. Cc: Stephen Rothwell Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit a9c73d05f16113744e3d342255120bd36d84a1e8 Author: Kiyoshi Ueda Date: Tue Dec 11 17:46:10 2007 -0500 blk_end_request: changing sx8 (take 4) This patch converts sx8 to use blk_end_request interfaces. Related 'uptodate' and 'is_ok' arguments are converted to 'error'. As a result, the interfaces of internal functions below are changed. o carm_end_request_queued o carm_end_rq o carm_handle_array_info o carm_handle_scan_chan o carm_handle_generic o carm_handle_rw The 'is_ok' is set at only one place in carm_handle_resp() below: int is_ok = (status == RMSG_OK); And the value is propagated to all functions above, and no modification in other places. So the actual conversion of the 'is_ok' is done at only one place above. Cc: Jeff Garzik Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 5047c3c64eb4787b9a2d80a2003d9edded41f560 Author: Kiyoshi Ueda Date: Tue Dec 11 17:45:04 2007 -0500 blk_end_request: changing sunvdc (take 4) This patch converts sunvdc to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. As a result, the interface of internal function, vdc_end_request(), is changed. Cc: David S. Miller Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit f01ab252cbfc039e4f16db9aed272d11d13525d1 Author: Kiyoshi Ueda Date: Tue Dec 11 17:44:39 2007 -0500 blk_end_request: changing ps3disk (take 4) This patch converts ps3disk to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. Cc: Geoff Levand Cc: Geert Uytterhoeven Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 097c94a4e8bde978c8d12683d9a34048e9139e4b Author: Kiyoshi Ueda Date: Tue Dec 11 17:44:06 2007 -0500 blk_end_request: changing nbd (take 4) This patch converts nbd to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. Cc: Paul Clements Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 1c5093ba036b5e1a4befdcd6036d241178a720a8 Author: Kiyoshi Ueda Date: Mon Jan 28 10:36:21 2008 +0100 blk_end_request: changing floppy (take 4) This patch converts floppy to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. As a result, the interface of internal function, floppy_end_request(), is changed. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 0156c2547e92df559d5592aad9535838ef459615 Author: Kiyoshi Ueda Date: Tue Dec 11 17:43:15 2007 -0500 blk_end_request: changing DAC960 (take 4) This patch converts DAC960 to use blk_end_request interfaces. Related 'UpToDate' arguments are converted to 'Error'. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 4898b53a5e3e4b9a58f1d89545b1e05c88c76798 Author: Kiyoshi Ueda Date: Tue Dec 11 17:42:53 2007 -0500 blk_end_request: changing um (take 4) This patch converts um to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. As a result, the interface of internal function, ubd_end_request(), is changed. Cc: Jeff Dike Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 650e9cfd14a1ac9e077d72962ea0a80946cdb6f8 Author: Kiyoshi Ueda Date: Tue Dec 11 17:42:27 2007 -0500 blk_end_request: changing arm (take 4) This patch converts arm's OMAP mailbox driver to use blk_end_request interfaces. If the original code was converted literally, blk_end_request would be called with '-EIO' because end_that_request_last() were called with '0' (i.e. failure). But I think these '0's are bugs in the original code because it's unlikely that all requests are treated as failure. (The bugs should have no effect unless these requests have an end_io callback.) So I changed them to pass '0' (i.e. success) to blk_end_request. Cc: Toshihiro Kobayashi Cc: Hiroshi DOYU Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 9e6e39f2c478fff2e9d3430cdfe6730877942ed6 Author: Kiyoshi Ueda Date: Tue Dec 11 17:41:54 2007 -0500 blk_end_request: changing block layer core (take 4) This patch converts core parts of block layer to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. 'dequeue' argument was originally introduced for end_dequeued_request(), where no attempt should be made to dequeue the request as it's already dequeued. However, it's not necessary as it can be checked with list_empty(&rq->queuelist). (Dequeued request has empty list and queued request doesn't.) And it has been done in blk_end_request interfaces. As a result of this patch, end_queued_request() and end_dequeued_request() become identical. A future patch will merge and rename them and change users of those functions. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 3b11313a6c2a42425bf06e92528bda6affd58dec Author: Kiyoshi Ueda Date: Tue Dec 11 17:41:17 2007 -0500 blk_end_request: add/export functions to get request size (take 4) This patch adds/exports functions to get the size of request in bytes. They are useful because blk_end_request interfaces take bytes as a completed I/O size instead of sectors. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 336cdb4003200a90f4fc52a4e9ccc2baa570fffb Author: Kiyoshi Ueda Date: Tue Dec 11 17:40:30 2007 -0500 blk_end_request: add new request completion interface (take 4) This patch adds 2 new interfaces for request completion: o blk_end_request() : called without queue lock o __blk_end_request() : called with queue lock held blk_end_request takes 'error' as an argument instead of 'uptodate', which current end_that_request_* take. The meanings of values are below and the value is used when bio is completed. 0 : success < 0 : error Some device drivers call some generic functions below between end_that_request_{first/chunk} and end_that_request_last(). o add_disk_randomness() o blk_queue_end_tag() o blkdev_dequeue_request() These are called in the blk_end_request interfaces as a part of generic request completion. So all device drivers become to call above functions. To decide whether to call blkdev_dequeue_request(), blk_end_request uses list_empty(&rq->queuelist) (blk_queued_rq() macro is added for it). So drivers must re-initialize it using list_init() or so before calling blk_end_request if drivers use it for its specific purpose. (Currently, there is no driver which completes request without re-initializing the queuelist after used it. So rq->queuelist can be used for the purpose above.) "Normal" drivers can be converted to use blk_end_request() in a standard way shown below. a) end_that_request_{chunk/first} spin_lock_irqsave() (add_disk_randomness(), blk_queue_end_tag(), blkdev_dequeue_request()) end_that_request_last() spin_unlock_irqrestore() => blk_end_request() b) spin_lock_irqsave() end_that_request_{chunk/first} (add_disk_randomness(), blk_queue_end_tag(), blkdev_dequeue_request()) end_that_request_last() spin_unlock_irqrestore() => spin_lock_irqsave() __blk_end_request() spin_unlock_irqsave() c) spin_lock_irqsave() (add_disk_randomness(), blk_queue_end_tag(), blkdev_dequeue_request()) end_that_request_last() spin_unlock_irqrestore() => blk_end_request() or spin_lock_irqsave() __blk_end_request() spin_unlock_irqrestore() Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 5ed7959ede0936c55e50421a53f153b17080e876 Author: Jens Axboe Date: Thu Nov 15 09:13:11 2007 +0100 SG: Convert SCSI to use scatterlist helpers for sg chaining Also change scsi_alloc_sgtable() to just return 0/failure, since it maps to the command passed in. ->request_buffer is now no longer needed, once drivers are adapted to use scsi_sglist() it can be killed. Signed-off-by: Jens Axboe commit 0db9299f48ebd4a860d6ad4e1d36ac50671d48e7 Author: Jens Axboe Date: Fri Nov 30 09:16:50 2007 +0100 SG: Move functions to lib/scatterlist.c and add sg chaining allocator helpers Manually doing chained sg lists is not trivial, so add some helpers to make sure that drivers get it right. Signed-off-by: Jens Axboe commit 5d84070ee0a433620c57e85dac7f82faaec5fbb3 Author: Jens Axboe Date: Fri Jan 25 12:44:44 2008 +0100 __bio_clone: don't calculate hw/phys segment counts If the users sets a new ->bi_bdev on the bio after __bio_clone() has returned it, the "segment counts valid" flag still remains even though it may be different with the new target. So don't calculate segment counts in __bio_clone(). Signed-off-by: Jens Axboe commit 482eb689169948e9f4966fbae6be4d6bc0bfa818 Author: Pete Wyckoff Date: Tue Jan 1 10:23:02 2008 -0500 block: allow queue dma_alignment of zero Let queue_dma_alignment return 0 if it was specifically set to 0. This permits devices with no particular alignment restrictions to use arbitrary user space buffers without copying. Signed-off-by: Pete Wyckoff Signed-off-by: Jens Axboe commit 6da127ad0918f93ea93678dad62ce15ffed18797 Author: Christof Schmitt Date: Fri Jan 11 10:09:43 2008 +0100 blktrace: Add blktrace ioctls to SCSI generic devices Since the SCSI layer uses the request queues from the block layer, blktrace can also be used to trace the requests to all SCSI devices (like SCSI tape drives), not only disks. The only missing part is the ioctl interface to start and stop tracing. This patch adds the SETUP, START, STOP and TEARDOWN ioctls from blktrace to the sg device files. With this change, blktrace can be used for SCSI devices like for disks, e.g.: blktrace -d /dev/sg1 -o - | blkparse -i - Signed-off-by: Christof Schmitt Signed-off-by: Jens Axboe commit 6582d7b7376aa587d74b08c74457dc28abc1a9fa Author: Magnus Damm Date: Wed Jan 23 16:21:18 2008 +0900 sh: add spi header and r2d platform data V3 This patch adds the header file asm/spi.h and board specific code for the r2d board. The header file contains a structure that should be used to point out a single spi bus. The board specific code for r2d is updated with such a structure for the new spi_sh_sci driver. The structure contains a chip select callback plus information about the R9701 rtc chip which is attached to the spi bus. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit da2d7f4bc578651455a7353995beb87db3cd8815 Author: Magnus Damm Date: Fri Jan 25 16:04:29 2008 +0900 sh: update r7780rp interrupt code This patch updates the board specific irq code for r7780rp. The new code is very similar to the other highlander implementations, with the exception that the r7780rp handles pci interrupts using IRL. To simplify the pci code and use the same interrupt numbers as r7780mp and r7785rp we hook in to the cpu specific pci vectors. The pci interrupts and the push switch all work well with and without this patch. CF and AX88796 are not ok though and the source of the problem is unknown at this point. The AX88796 does for not detect it's proper mac address (IPL gets it right) and the kernel hangs on CF access. As a workaround this patch removes the CF and the AX88796 from the platform datain case of r7780rp. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit d4dca67bc2fd6caa4df3db28b6424841b95fde88 Author: Magnus Damm Date: Thu Jan 24 18:45:45 2008 +0900 sh: remove consistent alloc stuff from the machine vector Now with the voyagergx cruft gone and the dreamcast using declared coherent memory for pci there are no users of the consistent alloc and free functions pointers in the machine vector. So this little patch simply removes these function pointers from the macvec. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a724605cb7a66d423a494a395f9a8ba871b8a1eb Author: Magnus Damm Date: Thu Jan 24 18:40:50 2008 +0900 sh: use declared coherent memory for dreamcast pci ethernet adapter This patch makes the dreamcast use the recently added declared coherent memory functions to point out the memory window suitable for dma. Apart from cleaning up, this gives the dreamcast a proper memory allocator for pci dma memory. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit f93e97eaead5c50af35d73cca7301ebbfdff116c Author: Magnus Damm Date: Thu Jan 24 18:35:10 2008 +0900 sh: declared coherent memory support V2 This patch adds declared coherent memory support to the sh architecture. All functions are based on the x86 implementation. Header files are adjusted to use the new functions instead of the former consistent_alloc() code. This version includes the few changes what were included in the fix patch together with modifications based on feedback from Paul. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4862ec073975e28f432f164405e60fa6f5c9d071 Author: Nicholas Beck Date: Wed Jan 23 12:50:51 2008 +0900 sh: Add support for SDK7780 board. Add support for Renesas Technology Europe SDK7780 board. Signed-off-by: Nicholas Beck Signed-off-by: Paul Mundt commit 773c7bd69434a356af4363a61889ef975b256e32 Author: Jan Engelhardt Date: Wed Jan 23 12:47:48 2008 +0900 sh: constify function pointer tables Signed-off-by: Jan Engelhardt Signed-off-by: Paul Mundt commit 1b1e037a8974801cb3e1da3281ca3a88cbec3de8 Author: Paul Mundt Date: Tue Jan 22 09:57:27 2008 +0900 sh: Kill off -traditional for linker script. Some of Sam's new work in the kbuild queue depend on ## concatenation within the linker script, which doesn't work when -traditional is enabled. -traditional is a legacy remnant anyways, and we no longer require it for anything, so kill it off completely. Noted-by: Andreas Schwab Signed-off-by: Paul Mundt commit 74ee1a7590b782a6df01d00ae38093cbfbee5ca9 Author: Adrian McMenamin Date: Mon Jan 21 18:52:48 2008 +0900 cdrom: Add support for Sega Dreamcast GD-ROM. This patch adds support for the GD-Rom drive, SEGA's proprietary implementation of an IDE CD Rom for the SEGA Dreamcast. This driver implements Sega's Packet Interface (SPI) - at least partially. It will also read disks in SEGA's propreitary GD format. Unlike previous drivers (which were never in mainline) this uses DMA and not PIO to read disks. It is a new driver, not a refactoring of old drivers. Signed-off by: Adrian McMenamin Acked-by: Jens Axboe Signed-off-by: Paul Mundt commit c2439a0890f51dd5f1ca45cf4b0dbe2ce131d533 Author: Adrian McMenamin Date: Mon Jan 21 17:59:52 2008 +0900 sh: Kill off hs7751rvoip reference from arch/sh/Kconfig. Remove reference to board deleted in commit 758e06ded4c48024835ef0a14627afcde2e25929 Signed-off-by: Adrian McMenamin Signed-off-by: Paul Mundt commit b87bf74724750d6e89bf86f40ba86f743607341b Author: Paul Mundt Date: Sat Jan 19 16:07:19 2008 +0900 sh: Drop r7780rp_defconfig, use r7780mp_defconfig as kbuild default. Signed-off-by: Paul Mundt commit a5350a9686efa65cbd2ad4677bcb9372c7ad05c7 Author: Paul Mundt Date: Sat Jan 19 16:06:01 2008 +0900 sh: Kill off dead HS771RVoIP board support. Signed-off-by: Paul Mundt commit 427c727fd0637555a4bb6828c07bf36b9506ddde Author: Paul Mundt Date: Tue Jan 15 16:58:19 2008 +0900 sh: r7785rp: Fix up DECLARE_INTC_DESC() arg mismatch. Signed-off-by: Paul Mundt commit 03bbc0e6ba23700aea7fec801ac7e6c5a80f78f9 Author: Paul Mundt Date: Tue Jan 15 16:55:55 2008 +0900 sh: r7785rp: Hook up the rest of the HL7785 FPGA IRQ vectors. Signed-off-by: Paul Mundt commit d1eea50b0c6c998b713d824024c25c5001a5a8a4 Author: Magnus Damm Date: Tue Jan 15 12:48:15 2008 +0900 sh: r2d - enable sm501 usb host function This patch tells the sm501 mfd driver to build platform data for the sm501 usb host driver. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 29ec6778a49d30c47345afdfaf1d03acff3cf656 Author: Magnus Damm Date: Tue Jan 15 12:47:53 2008 +0900 sh: remove voyagergx This patch removes redundant irq handling code together with unused consistent alloc code. R2D uart setup code is changed to use sm501-regs.h and unused header files are removed. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit cbd10dfb82d6b0b169a42fe52223259f0b1a2cab Author: Magnus Damm Date: Tue Jan 15 12:44:44 2008 +0900 sh: r2d - add lcd planel timings to sm501 platform data This patch adds timings to drive a Sharp LQ104V1DG21 lcd panel that can be hooked up to R2D-1 or R2D-PLUS. The sm501fb driver should leave the pins FPEN and VBIASEN alone, and this patch instructs the driver to do so by not setting flags flags for these pins. This patch works best together with the patch posted to the linux-fbdev-devel list "sm501fb: control panel pin usage with platform data flags", but this patch can be merged independently. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4bb70b84bffee0bf1f60f17113e5baa814c2ce79 Author: Yoshihiro Shimoda Date: Fri Jan 11 10:38:34 2008 +0900 sh: Add OHCI and UDC platform devices for SH7720. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit 7f3edee81fbd49114c28057512906f169caa0bed Author: Magnus Damm Date: Thu Jan 10 14:08:55 2008 +0900 sh: intc - remove default interrupt priority tables This patch removes interrupt priority tables from the intc code. Optimal priority assignment varies with embedded application anyway, so keeping the interrupt priority tables together with cpu-specific code doesn't make sense. The function intc_set_priority() should be used instead to set the desired interrupt priority level. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit b62ad83d91ebf1368e9e72d476b18698ac67bef9 Author: Paul Mundt Date: Thu Jan 10 14:07:03 2008 +0900 sh: Correct pte size mismatch for X2 TLB. Fixes up a build warning/error in arch/sh/mm/fault_32.c. Signed-off-by: Paul Mundt commit e08d8aaeadac37c8d149b5d5bda6cf7a98d21e92 Author: Paul Mundt Date: Tue Jan 8 18:05:03 2008 +0900 sh: Fix posix_types.h userspace breakage from sh64 merge. Signed-off-by: Paul Mundt commit 6e3037d30e0abb8e84d0e05144b99047d5bab897 Author: Andrew Murray Date: Tue Jan 8 13:27:23 2008 +0900 sh: Update SE7712 PCLK definition. This patch provides a correct value for CONFIG_SH_PCLK_FREQ for the SH7712 solution engine when used with the board's default factory settings. This results in the board running at its maximum CPU clock rate (200 MHz). Signed-off-by: Andrew Murray Signed-off-by: Paul Mundt commit c3aa92afd0a6c253df974556b4a43c0a182d1fc4 Author: Andrew Murray Date: Tue Jan 8 09:56:45 2008 +0900 sh: sh7712 clock support This patch provides specific clock support for the SH7712. Signed-off-by: Andrew Murray Signed-off-by: Paul Mundt commit 7d740a066fb9c6681c2898c7977209725c9e552f Author: Yoshihiro Shimoda Date: Mon Jan 7 14:40:07 2008 +0900 sh: Add support for SH7763 CPU subtype. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit 0465b9fb5f6b57f00a6f5bf2169e30e8f3c7d66c Author: Paul Mundt Date: Wed Dec 26 18:37:16 2007 +0900 sh: Fix get_user()/put_user() build error. Fixes the build error caused by -Werror on gcc 3.x compilers: arch/sh/kernel/signal_32.c: In function `sys_sigaction': arch/sh/kernel/signal_32.c:66: warning: initialization discards qualifiers from pointer target type arch/sh/kernel/signal_32.c:67: warning: initialization discards qualifiers from pointer target type arch/sh/kernel/signal_32.c:69: warning: initialization discards qualifiers from pointer target type arch/sh/kernel/signal_32.c:70: warning: initialization discards qualifiers from pointer target type The mismatch in question was introduced by commit-id 9c5a4eec79b3eb8876d2e7fddfa1e040a7650e55. Signed-off-by: Paul Mundt commit 31a49c4bf8f964b7a9897baa889916d71b51d9c1 Author: Yoshihiro Shimoda Date: Wed Dec 26 11:45:06 2007 +0900 sh: Add support for SH7721 CPU subtype. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit 52e8b118ecd17185ce514cd3f955094c1d8f4288 Author: Paul Mundt Date: Tue Dec 18 09:43:35 2007 +0900 sh: Provide a stubbed __set_fixmap() for nommu. Signed-off-by: Paul Mundt commit 7bff489a1496d363e9a640c00eb8970da15079dd Author: Paul Mundt Date: Tue Dec 18 09:43:15 2007 +0900 sh: Always use CONFIG_HZ for HZ. Currently the wdt forces HZ=1000 and sidesteps CONFIG_HZ completely. This is a remnant from when HZ was hardcoded and before CONFIG_HZ was introduced. Additionally, not all of the timers have this requirement these days, so it's also an artificial limitation. Just kill it off and use CONFIG_HZ directly. Reported-by: H. Peter Anvin Signed-off-by: Paul Mundt commit 0095d58b4a91b9fb57aeb781909355b232517c64 Author: Joe Perches Date: Tue Dec 18 09:40:33 2007 +0900 sh: include/asm-sh/: Spelling fixes. Signed-off-by: Joe Perches Signed-off-by: Paul Mundt commit eb9c7f4198636fb74ea1ec60c0fff2d1a840b4ed Author: Joe Perches Date: Tue Dec 18 09:40:03 2007 +0900 sh: arch/sh/: Spelling fixes. Signed-off-by: Joe Perches Signed-off-by: Paul Mundt commit 6fc5153aab2a6eb23e636d962e1aceaabd0dfb12 Author: Paul Mundt Date: Mon Dec 17 16:08:49 2007 +0900 sh: Fix up KERNEL_ENTRY calculation for uImage. Signed-off-by: Paul Mundt commit 003c6af6c6370cc3315ab828a0e6618f00713d96 Author: Paul Mundt Date: Mon Dec 17 16:00:25 2007 +0900 sh: Fix up binfmt_flat compile warnings. Signed-off-by: Paul Mundt commit e06712df7792165d12392bc1fdda6bf384e1313b Author: Paul Mundt Date: Mon Dec 17 15:59:38 2007 +0900 sh: Kill off pgtable.h from scatterlist.h. Fixes up the mmc build. Signed-off-by: Paul Mundt commit 830626caf8570675a15bcc9ec46fcb5bfbc71b0d Author: Paul Mundt Date: Mon Dec 17 10:52:37 2007 +0900 sh: Fix up switch_to() type casts. Signed-off-by: Paul Mundt commit 9acb98fb7ce948063a2269b4f8db83d6bef7e2b0 Author: Paul Mundt Date: Mon Dec 17 10:52:11 2007 +0900 sh: Stub in page_table_range_init() on nommu. Signed-off-by: Paul Mundt commit d7ef4fb3acd1c1b141202c728ab3a78140a44eb7 Author: Harvey Harrison Date: Tue Dec 11 13:49:35 2007 +0900 sh: Use def_bool where possible. Change occurances of: bool default X to: def_bool X Change ocurances of: bool "Foo" default X to: def_bool X prompt "Foo" Signed-off-by: Harvey Harrison Signed-off-by: Paul Mundt commit 543d5afe5b425ef25a865656bfb76083515dc1cf Author: Paul Mundt Date: Mon Dec 10 16:33:32 2007 +0900 sh: Kill off superfluous __KERNEL__ check in asm/elf.h. Signed-off-by: Paul Mundt commit 98c4ecde9da14fafbcf1b6c025b08342a327e644 Author: Paul Mundt Date: Mon Dec 10 16:21:57 2007 +0900 sh: Provide the FPSCR init through AT_FPUCW. Signed-off-by: Paul Mundt commit a9f1365e5e4963705f85a6381cbed74c5615dbac Author: Paul Mundt Date: Mon Dec 10 16:06:32 2007 +0900 sh: Use utsname()->machine for ELF_PLATFORM. Signed-off-by: Paul Mundt commit cd01204b82933754a7276838656420477f64d4b8 Author: Paul Mundt Date: Mon Dec 10 15:50:28 2007 +0900 sh: Encode L1/L2 cache shape in auxvt. This adds in the L1I/L1D/L2 cache shape support to their respective entries in the ELF auxvt, based on the Alpha implementation. We use this on the userspace libc side for calculating a tightly packed SHMLBA amongst other things. Signed-off-by: Paul Mundt commit c8c0a1aba9fa8f816dc8fb477ff816a5b700f0ea Author: Stuart Menefy Date: Fri Nov 30 18:42:27 2007 +0900 sh: Support denormalization on SH-4 FPU. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 453ec9c1c3808b051347edbbf637f997add7b85b Author: Thomas Betker Date: Fri Nov 30 18:22:10 2007 +0900 sh: Fix up uImage target entry point. This patch changes the uImage target so that it generates a wrapped compressed vmlinux, rather than a wrapped zImage. The previous version matched the ARM, this version matches the PPC. However I would question how useful a self decompressing image is with a boot loader which does decompression, so I think this is more useful. I also feel it matches the descrition in the help text ("Compressed kernel image") better. Signed-off-by: Thomas Betker Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 0fb19dcb64ec4bd9934eee26ce66417fe028ffd8 Author: Stuart Menefy Date: Fri Nov 30 18:16:23 2007 +0900 sh: get_user fixes and nommu consolidation. When a get_user(to, from++) is called the pointer increment is performed after its first usage, in the specific after the __add_ok invokation. This causes a wrong get_user return value, putting a wrong character in the destination variable. This patch solves the problem using a new temporary pointer. Additionally this reworks the use of the register banks, allowing for consolidation between the MMU and nommu implementations. Signed-off-by: Carmelo Amoroso Signed-off-by: Giuseppe Condorelli Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit fc55888f83c1c0ac09abe4680f9a94fc0662677f Author: Stuart Menefy Date: Fri Nov 30 18:05:18 2007 +0900 sh: Document PTEL 31:29 use on PTEA-wielding parts. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 2adb4e10092ee1719539bcfe397b96dbdc863e2e Author: Stuart Menefy Date: Fri Nov 30 17:59:55 2007 +0900 sh: Populate swapper_pg_dir with fixmap range. This saves us from having to use kmalloc() for the fixmap entries, which is needed early for the uncached fixmap. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit d02b08f6e8b184ffef349e395210a5e82ff4f4bc Author: Stuart Menefy Date: Fri Nov 30 17:52:53 2007 +0900 sh: Clean up places that make 29-bit physical assumptions. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit cbaa118ecfd99fc5ed7adbd9c34a30e1c05e3c93 Author: Stuart Menefy Date: Fri Nov 30 17:06:36 2007 +0900 sh: Preparation for uncached jumps through PMB. Presently most of the 29-bit physical parts do P1/P2 segmentation with a 1:1 cached/uncached mapping, jumping between the two to control the caching behaviour. This provides the basic infrastructure to maintain this behaviour on 32-bit physical parts that don't map P1/P2 at all, using a shiny new linker section and corresponding fixmap entry. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 325df7f20467da07901c4f2b006d3457bba0adec Author: Paul Mundt Date: Fri Nov 30 16:34:26 2007 +0900 sh: Explicit alignment for PAGE_SIZE in copy/clear_page(). Signed-off-by: Paul Mundt commit 1efe4ce3ca126da77e450d5a83f7201949d76f62 Author: Stuart Menefy Date: Fri Nov 30 16:12:36 2007 +0900 sh: GUSA atomic rollback support. This implements kernel-level atomic rollback built on top of gUSA, as an alternative non-IRQ based atomicity method. This is generally a faster method for platforms that are lacking the LL/SC pairs that SH-4A and later use, and is only supportable on legacy cores. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 53ff09422e5e7a6d6198b767c8f494e43ec8e3ae Author: Nobuhiro Iwamatsu Date: Fri Nov 30 12:33:17 2007 +0900 sh: Fix compile error of arch/sh/mm/pmb.c Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit a23ba43573a24c351640bc19c06c701798fe6e25 Author: Paul Mundt Date: Wed Nov 28 20:19:38 2007 +0900 sh: comment tidying for sh64->sh migration. Signed-off-by: Paul Mundt commit 4b27c47cf8eddb4153a026e89c7b092598c98b12 Author: Paul Mundt Date: Wed Nov 28 19:58:11 2007 +0900 sh: syscall auditing for sh5, too. Signed-off-by: Paul Mundt commit c019fd8839503a91c556ae68d773e3bbb9b476e1 Author: Paul Mundt Date: Wed Nov 28 19:14:23 2007 +0900 rtc: rtc-sh: Split out the CPU defs to asm/cpu/. With all of the different CPU types this was getting a but unwieldly. Since sh64 is now integrated, we don't have to worry about multiple architectures caring about the header definitions. Split out the defs for each asm/cpu/ to make rtc-sh slightly less visually offensive. Signed-off-by: Paul Mundt commit 3ee7702903c346fc814bd7540ba37eebef75054d Author: Paul Mundt Date: Wed Nov 28 15:56:27 2007 +0900 sh: CCR1->CCR renaming for SH-2 parts. Avoid namespace collision with a CCR1 definition. The general SH code always expects CCR anyways, so there's no point in keeping the CCR1 naming around. Fixes up synclink collisions: drivers/char/pcmcia/synclink_cs.c:283:1: warning: "CCR1" 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:21:1: warning: this is the location of the previous definition Reported-by: Andrew Morton Signed-off-by: Paul Mundt commit 66d485b45a5493f6a2ca067c6f472e7b2ca342c2 Author: Paul Mundt Date: Tue Nov 27 15:57:30 2007 +0900 sh: Bump up ARCH_KMALLOC_MINALIGN for DMA cases. Signed-off-by: Paul Mundt commit eddeeb32fe303910c58c4e3c27fde4b6f1503350 Author: Stuart Menefy Date: Mon Nov 26 21:32:40 2007 +0900 sh: Invalidate the TLB after applying PMB mappings. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 7a2eacb75946e0ebb81dfb36b50b5bec1c3cb50f Author: Stuart Menefy Date: Mon Nov 26 21:29:09 2007 +0900 sh: Provide a 29/32-bit physical hint for bootloaders. Shoves a magic word in to the empty_zero_page section for the bootloader to work out whether to start the kernel in 29-bit or 32-bit mode. [ Renesas CPUs already take care of the initial PMB mappings entirely in hardware and decide on 29-bit/32-bit physical depending on which pin powered up the CPU, so this is mostly for ST parts. -- PFM ]. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 80a68a43d90e2221599b507b6b26c3cba1957687 Author: Stuart Menefy Date: Mon Nov 26 21:16:09 2007 +0900 sh: Add a printk() to warn legacy mem= growers. mem= can't be used to grow the size of kernel memory, so provide a warning to that effect. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 74d99a5e262229ee865f6f68528d10b82471ead6 Author: Paul Mundt Date: Mon Nov 26 20:38:36 2007 +0900 sh: SH-2A FPU support. Signed-off-by: Kieran Bingham Signed-off-by: Paul Mundt commit a8f67f4b4d4b74cd14d3540ade8657ebee543340 Author: Paul Mundt Date: Mon Nov 26 19:54:02 2007 +0900 sh: Add SH7263 CPU support. This adds support for the SH7263 (SH-2A) CPU. This particular CPU is a superset of SH7203, adding some additional peripheral blocks and hooking up additional (reserved on SH7203) vectors in the INTC block. No visibly nasty surprises, yet.. Signed-off-by: Paul Mundt commit 47a3eb95560ea525a2dfbee1c4e7f03a45fd2207 Author: Paul Mundt Date: Mon Nov 26 18:17:51 2007 +0900 sh: Fix the arch/sh/kernel/traps.c build for sh32. Signed-off-by: Paul Mundt commit 6d01f51086cf6c475470cdae67d2f45e5fb57833 Author: Paul Mundt Date: Mon Nov 26 18:17:21 2007 +0900 sh: Add SH7203 CPU support. This adds support for the SH7203 (SH-2A) CPU. Signed-off-by: Kieran Bingham Signed-off-by: Paul Mundt commit ff1b7506051014cc38036401b89e426bf3d6a608 Author: Paul Mundt Date: Mon Nov 26 17:56:31 2007 +0900 rtc: rtc-sh: SH-2A support. Trivial support for the SH-2A on-chip RTC. Signed-off-by: Paul Mundt commit 1322b9def91ab8e9e673b58a64e13d6effaaa652 Author: Yuichi Nakamura Date: Sat Nov 10 19:21:34 2007 +0900 sh: syscall audit support. Support syscall auditing.. Signed-off-by: Yuichi Nakamura Signed-off-by: Paul Mundt commit 12760cb4df2a244efbaa262b32590af295c0b8e1 Author: Paul Mundt Date: Fri Nov 23 14:24:25 2007 +0900 sh: Fix up uname -m matching for native sh64. Signed-off-by: Paul Mundt commit 03713bd226caece8e089490a47f093f5193e5e96 Author: Paul Mundt Date: Fri Nov 23 14:23:50 2007 +0900 sh: Move mach-cayman in with the rest of the boards. Signed-off-by: Paul Mundt commit 3e0137f6c7852aff12db0da7bb45f8b3a0a704c8 Author: Paul Mundt Date: Fri Nov 23 14:17:42 2007 +0900 sh: Kill off the mach-harp and mach-sim machtypes. Signed-off-by: Paul Mundt commit b000659b1c07f91f0c73bf94bb8922fa740c0ef0 Author: Paul Mundt Date: Fri Nov 23 14:02:20 2007 +0900 sh: Fix up bug trap handler build for sh32. Signed-off-by: Paul Mundt commit 0dcb957db5eb658d636097a9283dabdbf59de283 Author: Paul Mundt Date: Fri Nov 23 13:55:02 2007 +0900 sh: Build fixes for lib32 clear_page. Signed-off-by: Paul Mundt commit 35a74499a4f5abbfcdf85629d696c8cfdbd2167f Author: Paul Mundt Date: Fri Nov 23 13:54:34 2007 +0900 sh: Fix up default zImage target for sh32. This was using the absolute path, which was confusing the make target. Switch it to just 'zImage', as per powerpc. Signed-off-by: Paul Mundt commit 332fd57b92d26e2ac6112340b98e92bb76117a41 Author: Paul Mundt Date: Thu Nov 22 17:30:50 2007 +0900 sh: Bring the SH-5 FPU in line with the SH-4 FPU API. Signed-off-by: Paul Mundt commit b6d7b666097e79a8908e3c43fd55fd291a95e133 Author: Paul Mundt Date: Thu Nov 22 16:29:10 2007 +0900 sh: Get the SH-5 PCI support building. Signed-off-by: Paul Mundt commit d5f68c6dbda8e63df258a0c639f03d7565cf1d50 Author: Paul Mundt Date: Thu Nov 22 16:28:26 2007 +0900 sh: Bump number of quicklists for SH-5. Sync up with the SH definitions. Signed-off-by: Paul Mundt commit 29e0d209b38479e6817318a971082421a7d630b7 Author: Paul Mundt Date: Thu Nov 22 13:11:39 2007 +0900 sh: Add SH-5 subtypes to check_bugs() for utsname. Signed-off-by: Paul Mundt commit b4eaa1cc7ce8203ac9af9184c49c635ce79592b1 Author: Paul Mundt Date: Wed Nov 21 23:27:52 2007 +0900 sh: Kill off the rest of arch/sh64/kernel/. Signed-off-by: Paul Mundt commit 18bc81319b438ae3266e1b2653ce874912dae891 Author: Paul Mundt Date: Wed Nov 21 23:16:33 2007 +0900 sh: Get the mach-cayman IRQ support building. Signed-off-by: Paul Mundt commit caead5ef34e5abdda8c5189cf698e0b863904701 Author: Paul Mundt Date: Wed Nov 21 22:53:34 2007 +0900 sh: Kill off the last of the sh64 headers. Signed-off-by: Paul Mundt commit 9895f9429cb489ba271c06767531083ae4c4bcbe Author: Paul Mundt Date: Wed Nov 21 22:46:14 2007 +0900 sh: clear/copy_page renames in lib and lib64. Signed-off-by: Paul Mundt commit efddb4c882a64b7ca44b2a089d20020b30a2c6dd Author: Paul Mundt Date: Wed Nov 21 22:30:58 2007 +0900 sh: Rename the _32 and _64 TLB flush variants. Signed-off-by: Paul Mundt commit d088f323574ea932a9bfc65302120e1526131887 Author: Paul Mundt Date: Wed Nov 21 22:28:28 2007 +0900 sh: Consolidate sh/sh64 Makefiles. Signed-off-by: Paul Mundt commit c2f1755becdc7c78ca07a516d358d9fa7a0a2707 Author: Paul Mundt Date: Wed Nov 21 22:13:34 2007 +0900 sh: Tidy up KBUILD_IMAGE for sh64. Signed-off-by: Paul Mundt commit e2e96299a7c3257a6df36659414d1f6fbda53511 Author: Paul Mundt Date: Wed Nov 21 21:54:07 2007 +0900 sh: Remove duplicate SUPERH64 symbol. Signed-off-by: Paul Mundt commit a82d53ec2424834521a5ec8bb661a27f968036ab Author: Paul Mundt Date: Wed Nov 21 18:22:05 2007 +0900 sh: Generic BUG only works for sh32. Signed-off-by: Paul Mundt commit 0f2c15cecee0ff00e4bfa91dd20b33ccd9285360 Author: Paul Mundt Date: Wed Nov 21 18:06:34 2007 +0900 sh: Add onchip remap prototypes, kill old sh64 io.h. Signed-off-by: Paul Mundt commit 1e1ed39faec635b109ff8c516377310600623674 Author: Paul Mundt Date: Wed Nov 21 17:58:13 2007 +0900 sh: Copy over special CFLAGS for SH-5 TLB miss. Signed-off-by: Paul Mundt commit fb8e569c1d4f44a4632e2db95a27ed45734d4705 Author: Paul Mundt Date: Wed Nov 21 17:55:12 2007 +0900 sh: Fix up user_fpu_struct typo for SH-5. Signed-off-by: Paul Mundt commit 5db141a9469c8446a179696bc7d374f4cd9b207a Author: Paul Mundt Date: Wed Nov 21 17:47:15 2007 +0900 sh: Mark some IRQ debug options sh32 only. Signed-off-by: Paul Mundt commit 17bfa6397875e6901c3cafdc711437041664d94c Author: Paul Mundt Date: Wed Nov 21 17:28:37 2007 +0900 sh: Special layout for SH-5 stat.h and user.h. Signed-off-by: Paul Mundt commit c8eef8800f1c693a2de6374b1948c8ea5e0ad75f Author: Paul Mundt Date: Wed Nov 21 17:28:09 2007 +0900 sh: Purge dead sh64 headers. Signed-off-by: Paul Mundt commit e150e7f25f7e3878cf2230193a5c708d99b9971e Author: Paul Mundt Date: Wed Nov 21 17:09:14 2007 +0900 sh: Kill off arch/sh64/mm. Signed-off-by: Paul Mundt commit df0fb2562806e853e53de43af04f013c3e45427b Author: Paul Mundt Date: Wed Nov 21 17:07:46 2007 +0900 sh: Fix up proc ASIDs for CPU-local ASID cache accessors. Signed-off-by: Paul Mundt commit 60b2249d45d44bd3494d55f5ea4bccd25c7f8281 Author: Paul Mundt Date: Wed Nov 21 17:07:06 2007 +0900 sh: Move over SH-5 TLB and cache support code. Signed-off-by: Paul Mundt commit 8214d52ace79163ded60a8605c1d6c44b8b2bd30 Author: Paul Mundt Date: Wed Nov 21 16:58:56 2007 +0900 sh: Merge sh64 Kconfig.debug options. Signed-off-by: Paul Mundt commit ddf7f1d339861b9867342edccc9c6b864ca9dd26 Author: Paul Mundt Date: Wed Nov 21 16:55:27 2007 +0900 sh: Kill off a stray proc tlb reference in fault_64. Signed-off-by: Paul Mundt commit 71373068067b01c963eed1350909de81fc6a6d04 Author: Paul Mundt Date: Wed Nov 21 16:53:37 2007 +0900 sh: Merge the sh64 zImage bits. Signed-off-by: Paul Mundt commit 55183e9bb2c2ce43d88eaa575c2d6d4fd6d865a3 Author: Paul Mundt Date: Wed Nov 21 16:19:12 2007 +0900 sh: SH-5 uses a 64-bit PTE_MAGNITUDE, as X2 TLB. Signed-off-by: Paul Mundt commit c96bcf958c1d79d8e8aa58722273ec7b1ffb815c Author: Paul Mundt Date: Wed Nov 21 16:04:12 2007 +0900 sh: Use existing CONFIG_CACHE_xx options in head_64.S. Signed-off-by: Paul Mundt commit 0b2328bbc08ee8f7377f9dccdd6fb0c707b34d2f Author: Paul Mundt Date: Wed Nov 21 15:58:24 2007 +0900 sh: Fix up generic BUG build for SH-5. Signed-off-by: Paul Mundt commit ea0e1a9a3d73b917226eca751bf369609fa0dc2f Author: Paul Mundt Date: Wed Nov 21 15:58:01 2007 +0900 sh: Consolidate Kconfig.sh/Kconfig.sh64. Fold in the sh64-specific bits in to the main Kconfig.sh, and move this back as arch/sh/Kconfig. Signed-off-by: Paul Mundt commit 711fe4369c5d3834cfe1750f8804ef2b74865e9e Author: Paul Mundt Date: Wed Nov 21 15:46:07 2007 +0900 sh: Bump the MEMORY_SIZE default to something reasonable. Signed-off-by: Paul Mundt commit f137c319db9d4227f1857f9ff886278ad61c8207 Author: Paul Mundt Date: Wed Nov 21 15:43:43 2007 +0900 sh: Kill off some dead sh64 kconfig symbols. Signed-off-by: Paul Mundt commit 36763b22bee56713057762bb0756e8075b5bb918 Author: Paul Mundt Date: Wed Nov 21 15:34:33 2007 +0900 sh: Switch SH-5 to use CONFIG_PAGE_OFFSET. Signed-off-by: Paul Mundt commit 6deb6f9129591a2386f5c125d54a22ab78fc8b61 Author: Paul Mundt Date: Wed Nov 21 15:34:02 2007 +0900 sh: Move PXSEG comments to addrspace.h. Signed-off-by: Paul Mundt commit caff44e7db86243fd6163bc79e543123b0139a46 Author: Paul Mundt Date: Wed Nov 21 15:23:07 2007 +0900 sh: Set HPAGE_SHIFT for 512MB hugetlb pages. Signed-off-by: Paul Mundt commit 9ad3d336a2f495ce782a744bc6e49bf7f9ed018b Author: Paul Mundt Date: Tue Nov 20 18:45:39 2007 +0900 sh: Update cayman defconfig. Signed-off-by: Paul Mundt commit ffd25eb6cd1aa2bcdedf0c06be7e180022055cd1 Author: Paul Mundt Date: Tue Nov 20 18:44:39 2007 +0900 sh: Stubs for fpu disabled on SH-5. Signed-off-by: Paul Mundt commit e88ed82ef8c385f84333cb8f30aec6dcb1f9e76f Author: Paul Mundt Date: Tue Nov 20 18:33:03 2007 +0900 sh: Stub in CPU subtype setup code for SH5-101/103. Signed-off-by: Paul Mundt commit c2672f62e734292bca4ce4ab5e89c7e04ecb70dc Author: Paul Mundt Date: Tue Nov 20 18:29:00 2007 +0900 sh: Add the SH-5 cpu type symbolic names. Signed-off-by: Paul Mundt commit d1839136098e281ece46520200599ef94edca612 Author: Paul Mundt Date: Tue Nov 20 18:27:20 2007 +0900 sh: Plug in simple SH-5 subtype probing. Signed-off-by: Paul Mundt commit 92b59258b8e854dd223bbb196f0c18b8cb7e6c6e Author: Paul Mundt Date: Tue Nov 20 18:26:54 2007 +0900 sh: Kill off do_NMI stub in SH-5 ex table. Signed-off-by: Paul Mundt commit ac490a4893d37279f704876d430c3683071398b2 Author: Paul Mundt Date: Tue Nov 20 18:26:28 2007 +0900 sh: Move quad-word real-address I/O defs to io.h. Signed-off-by: Paul Mundt commit 5a4f7c66be981c6b5f44a4d66a14ea6ac9b7b6b0 Author: Paul Mundt Date: Tue Nov 20 18:08:06 2007 +0900 sh: Share bug/debug traps across _32 and _64. Signed-off-by: Paul Mundt commit 811d50cb43eb730cc325df0c6913556e25739797 Author: Paul Mundt Date: Tue Nov 20 17:01:55 2007 +0900 sh: Move in the SH-5 TLB miss. Signed-off-by: Paul Mundt commit 379a95d1d2c3e3682e380084c40b6fc01e38fa1f Author: Paul Mundt Date: Tue Nov 20 16:51:28 2007 +0900 sh: Tidy up various clear_page()/copy_page() definitions. Signed-off-by: Paul Mundt commit bcb28e42be8c1cce6cc523c1b656980011464016 Author: Paul Mundt Date: Tue Nov 20 15:50:59 2007 +0900 sh: sys_sh consolidation for arch_get_unmapped_area(). Signed-off-by: Paul Mundt commit e7e0a4b54a7f225f770d313f9e042f83ece57a35 Author: Paul Mundt Date: Tue Nov 20 15:48:39 2007 +0900 sh: Share the ELF dump_task interfaces. Signed-off-by: Paul Mundt commit a7aa92d1b499a3ad67b36137445ecb1411a4533b Author: Paul Mundt Date: Tue Nov 20 15:38:50 2007 +0900 sh: Kill off SH-5 enter_deep_standby() cruft. Signed-off-by: Paul Mundt commit b4db3aec8351c78df77bbd95f1951a4dd0246853 Author: Paul Mundt Date: Tue Nov 20 15:38:11 2007 +0900 sh: Fix up the _stext references for SH-5. Signed-off-by: Paul Mundt commit 6694e8250e37058d5a8db23245a349db4e112fe4 Author: Paul Mundt Date: Tue Nov 20 15:35:42 2007 +0900 sh: Sync up the _64 linker script with the _32 version. Signed-off-by: Paul Mundt commit 1cb80fcfe2beafc55610ebd1cd4a03331d65f8ba Author: Paul Mundt Date: Tue Nov 20 15:16:25 2007 +0900 sh: Merge sh and sh64 module.c. This is trivial, in that they're both effectively the same for the base relocations anyways. SH-5 doesn't need the unaligned bits, and has a few extra relocations, which are never hit on non-SH5 parts. Signed-off-by: Paul Mundt commit ba2727b556778f8af7cf08956d84723930a83965 Author: Paul Mundt Date: Tue Nov 20 15:14:48 2007 +0900 sh: ioremap_64 needs after_bootmem. Signed-off-by: Paul Mundt commit b542ad1161d3b1771ea6fa3e7cedd311a49f91c9 Author: Paul Mundt Date: Tue Nov 20 15:14:31 2007 +0900 sh: Plug in the SHmedia ELF relocations. Signed-off-by: Paul Mundt commit 99432700cf2f28976191ab546deffc0007ef4eb7 Author: Paul Mundt Date: Tue Nov 20 14:49:36 2007 +0900 sh: Tidy up lib64 udelay impl. Signed-off-by: Paul Mundt commit 600ee240d15e535d51e6c2b2f8475f0aa42885ea Author: Paul Mundt Date: Mon Nov 19 19:13:38 2007 +0900 sh: Move over and enable FPU support for SH-5. Signed-off-by: Paul Mundt commit 061854fd155116ab1f40c39a75e2c641827fd246 Author: Paul Mundt Date: Mon Nov 19 19:08:49 2007 +0900 sh: Common swapper_pg_dir usage for SH-5. Signed-off-by: Paul Mundt commit bba89e1f403b3313b429b736bd6536b921bbc83a Author: Paul Mundt Date: Mon Nov 19 19:07:51 2007 +0900 sh: Provide dummy swapper pt_regs for SH-5 ctx switch. Signed-off-by: Paul Mundt commit 7cfee5ac3edd3b4226018da6aad87334793cb1c5 Author: Paul Mundt Date: Mon Nov 19 19:00:41 2007 +0900 sh: Move over sh64 switch_to and stack unwinder. Signed-off-by: Paul Mundt commit 3eeffb32049d4b43b01211a79496cfdaac0c33ad Author: Paul Mundt Date: Mon Nov 19 18:57:03 2007 +0900 sh: Split out tlb-flush in to _32 and _64 variants. Signed-off-by: Paul Mundt commit 249cfea914002baac0af4b080306e6b820cd86b2 Author: Paul Mundt Date: Mon Nov 19 18:26:19 2007 +0900 sh: Split out pgtable.h in to _32 and _64 variants. Signed-off-by: Paul Mundt commit 2b6a8d455b1368d769da234336314b8364feb781 Author: Paul Mundt Date: Mon Nov 19 14:26:09 2007 +0900 sh: ioremap_64 needs proc_fs.h. Signed-off-by: Paul Mundt commit ad81eb91731fe7e43ce5c91278bc33bded6cbda1 Author: Paul Mundt Date: Sun Nov 11 18:43:33 2007 +0900 sh: Split out ioremap in to _32 and _64 variants. Signed-off-by: Paul Mundt commit 4b7be4f2e0235c6824641503e2a8ff3b85e105d7 Author: Paul Mundt Date: Sun Nov 11 18:22:55 2007 +0900 sh: Split out sh_ksyms.c in to _32 and _64 variants. Signed-off-by: Paul Mundt commit 343ac72248d360f1fae72176aca1117be19189ec Author: Paul Mundt Date: Sun Nov 11 18:11:18 2007 +0900 sh: Move over the SH-5 entry.S. Signed-off-by: Paul Mundt commit 49e6c3e7460a718242dc11b801811f0ac6892154 Author: Paul Mundt Date: Sun Nov 11 17:58:11 2007 +0900 sh: Split out linker script to _32 and _64 variants. Signed-off-by: Paul Mundt commit 1b6cf8175e52cbda111ab8b590da6a1d093e9954 Author: Paul Mundt Date: Sun Nov 11 17:46:49 2007 +0900 sh: Split out syscall ABI for _32 and _64 variants. Signed-off-by: Paul Mundt commit 4c91d6b105af5ab3011158addbd23f038aee6a00 Author: Paul Mundt Date: Sun Nov 11 17:41:56 2007 +0900 sh: Fix up the head-y targets for _32 and _64. Signed-off-by: Paul Mundt commit 151468d2b42569f3aff1aedc0dddfed45159c2ab Author: Paul Mundt Date: Sun Nov 11 17:41:35 2007 +0900 sh: Fix up header reference for arch/sh/lib64/panic.c. Signed-off-by: Paul Mundt commit e32acaf601445ddc4baa52a1e4df638543455029 Author: Paul Mundt Date: Sun Nov 11 17:37:21 2007 +0900 sh: Kill off lib64 version of iomap wrappers. Signed-off-by: Paul Mundt commit fcfdd0f14f94d47f2f650a24cd111e11475ccada Author: Paul Mundt Date: Sun Nov 11 17:36:13 2007 +0900 sh: Split out checksum.h in to _32 and _64 variants. Signed-off-by: Paul Mundt commit 63e2c803326babe74033b3cbe6e8c550037c554f Author: Paul Mundt Date: Sun Nov 11 17:28:18 2007 +0900 sh: Plug in SH-5 ffz()/__ffs() bitops. Signed-off-by: Paul Mundt commit 079060c6ff6edd32955c3e511024578db89a717b Author: Paul Mundt Date: Sun Nov 11 17:25:10 2007 +0900 sh: Fix up 64kB page size selection on SH-5. Signed-off-by: Paul Mundt commit 83ce3ac1d13f9a3ae83485a5e5a1cb85faf865ff Author: Paul Mundt Date: Sun Nov 11 17:24:50 2007 +0900 sh: Split out extable.c _32 and _64 variants. Signed-off-by: Paul Mundt commit 8a7bcf0dd0d49fe8b0071adef0dfe8610abdffaa Author: Paul Mundt Date: Sun Nov 11 17:07:06 2007 +0900 sh: Add SH-5 support to the consistent DMA impl. Signed-off-by: Paul Mundt commit b613881ead41c8fc2e1413aeb6ef8f021f00c1e7 Author: Paul Mundt Date: Sun Nov 11 15:53:51 2007 +0900 sh: flush_cache_sigtramp() takes 1 arg only. Signed-off-by: Paul Mundt commit acb499f0ddfbea1176a70d93eb53943c325a073b Author: Paul Mundt Date: Sat Nov 10 20:39:56 2007 +0900 sh: Move vsyscall_init() defs up one level. Signed-off-by: Paul Mundt commit f3ef75b773b38fe2028fa4627cab3991e2c60180 Author: Paul Mundt Date: Sat Nov 10 20:39:32 2007 +0900 sh: Nopped out p3_cache_init() on SH-5 also. Signed-off-by: Paul Mundt commit 0468b4bb125542e75e39f08ebaa74a7daf845631 Author: Paul Mundt Date: Sat Nov 10 20:39:06 2007 +0900 sh: Fix up VMALLOC_START for SH-5. Signed-off-by: Paul Mundt commit 959f7d587e236a2d218f527771f156c336409d11 Author: Paul Mundt Date: Sat Nov 10 20:35:53 2007 +0900 sh: Move over the SH-5 head.S and tlb.h. Signed-off-by: Paul Mundt commit 256b22ca66987c537064dc25b0b267966189b5ba Author: Paul Mundt Date: Sat Nov 10 20:27:03 2007 +0900 sh: Have SH-5 provide an {en,dis}able_fpu() impl. Signed-off-by: Paul Mundt commit 27a511c6f37c05c5cf8fae9fe513f60d87af9158 Author: Paul Mundt Date: Sat Nov 10 20:25:28 2007 +0900 sh: Disable initial cache flush on SH-5. Signed-off-by: Paul Mundt commit c881cbc033c80d92d1bb7a0446735561a46e1f9c Author: Paul Mundt Date: Sat Nov 10 20:18:18 2007 +0900 sh: Don't reference UBC code in CPU init on sh64. Signed-off-by: Paul Mundt commit cc8eae7f5190668337463d6bfba60c137bce0522 Author: Paul Mundt Date: Sat Nov 10 20:15:31 2007 +0900 sh: imask IRQ depends on sh32. Signed-off-by: Paul Mundt commit 2f75fbf16bd87f36f3e72396b603bc6689e04be4 Author: Paul Mundt Date: Sat Nov 10 20:14:15 2007 +0900 sh: Move in the SH-5 traps.c impl. Signed-off-by: Paul Mundt commit 781c63e68ddc37f2fb5eed9b44b3075cd2b3ced3 Author: Paul Mundt Date: Sat Nov 10 20:12:25 2007 +0900 sh: timer.h stub for SH-5. Signed-off-by: Paul Mundt commit c3c307c83c1f8bcf26412bd164eb1c994ea6c413 Author: Paul Mundt Date: Sat Nov 10 20:12:01 2007 +0900 sh: Move arch/sh64/kernel/sys_sh64.c to arch/sh/kernel/ Signed-off-by: Paul Mundt commit f7a7b15344e2bccdd1c73d42685edfe7d43ec5b7 Author: Paul Mundt Date: Sat Nov 10 20:07:57 2007 +0900 sh: Move in the SH-5 signal trampoline impl. Signed-off-by: Paul Mundt commit 76168c21b78a0bd684d4687d14a2bd76bcf92762 Author: Paul Mundt Date: Sat Nov 10 20:01:51 2007 +0900 sh: More SH-5 cpuinfo tidying. Signed-off-by: Paul Mundt commit 01fed9311ab8a724283b3f456c12e573cb51d92b Author: Paul Mundt Date: Sat Nov 10 19:57:58 2007 +0900 sh: Consolidate slab/kmalloc minalign values. Signed-off-by: Paul Mundt commit 9b01bd9ee6408846c0553c03fb4b864353a845c9 Author: Paul Mundt Date: Sat Nov 10 19:55:50 2007 +0900 sh: Split out uaccess.h in to _32 and _64 variants. Signed-off-by: Paul Mundt commit c0acca6789281650134cfbbe00fc461e39440446 Author: Paul Mundt Date: Sat Nov 10 19:54:16 2007 +0900 sh: SH-5 also uses the ASID cache. Signed-off-by: Paul Mundt commit 48b22cf993cbc8f62c9b4025cfe0cfccd800181a Author: Paul Mundt Date: Sat Nov 10 19:53:31 2007 +0900 sh: Move in the SH-5 ptrace impl. Signed-off-by: Paul Mundt commit a62a3861e0adfd2612372883b5b1fc05a5182796 Author: Paul Mundt Date: Sat Nov 10 19:46:31 2007 +0900 sh: Split out system.h in to _32 and _64 variants. Signed-off-by: Paul Mundt commit 36bcd39dbca824daffe16d607ae574b6edc7d31a Author: Paul Mundt Date: Sat Nov 10 19:16:55 2007 +0900 sh: Split out 29-bit and 32-bit physical mode definitions. Signed-off-by: Paul Mundt commit af3c7dfe822b598a2f977098101ed8b63cf0fdd1 Author: Paul Mundt Date: Fri Nov 9 17:08:54 2007 +0900 sh: Split out processor.h in to _32 and _64 variants. Signed-off-by: Paul Mundt commit 33f242ed11ce6b5fbe73fe4ece7ef4bc2f4e2851 Author: Paul Mundt Date: Fri Nov 9 16:57:27 2007 +0900 sh: SH-5 pt_regs. Signed-off-by: Paul Mundt commit fe51bc9eaf45253bd437907ed04031a93640ca69 Author: Paul Mundt Date: Fri Nov 9 16:57:04 2007 +0900 sh: Split out arch/sh/kernel/process.c for _32 and _64 variants. Signed-off-by: Paul Mundt commit 5055235554804b39c613ada76d7598c14265a00b Author: Paul Mundt Date: Fri Nov 9 16:40:43 2007 +0900 sh: Have 32-bit use arch/sh/kernel/Makefile_32. Signed-off-by: Paul Mundt commit cdcc970829e81da3445346cb71b2ea264c9952b9 Author: Paul Mundt Date: Fri Nov 9 16:37:18 2007 +0900 sh: Move in the SH-5 mmu_context headers. Signed-off-by: Paul Mundt commit 9085fa1255fc16bf0dbd217e9f4cdccf16f064d3 Author: Paul Mundt Date: Fri Nov 9 14:07:56 2007 +0900 sh: Kill off lib64 version of io.c. Signed-off-by: Paul Mundt commit 62d6b66edc68f906138df7ba01efd41a45981586 Author: Paul Mundt Date: Fri Nov 9 14:06:24 2007 +0900 sh: Move sh32 optimized I/O routines to arch/sh/lib/ Signed-off-by: Paul Mundt commit 7a65eaf4885d1d0afeec45239eaf9208a3235b51 Author: Paul Mundt Date: Fri Nov 9 13:58:44 2007 +0900 sh: SH-5 byteorder routines. Signed-off-by: Paul Mundt commit 4690bdc7c6e4f18fb58350ccde40df5fcd85a6d9 Author: Paul Mundt Date: Fri Nov 9 13:45:42 2007 +0900 sh: Consolidate CPU features in Kconfig.cpu. Signed-off-by: Paul Mundt commit 114f132975ae8db3caa0c3420dc1083bae8d3757 Author: Paul Mundt Date: Fri Nov 9 13:40:50 2007 +0900 sh: SH-5 version of current_thread_info(). Signed-off-by: Paul Mundt commit f64ee87614e80ca270de0b80c5164ab05f4f1d98 Author: Paul Mundt Date: Fri Nov 9 13:34:36 2007 +0900 sh: Split out irqflags.h in to _32 and _64 variants. Signed-off-by: Paul Mundt commit 7960a1d02b00fd5dfa5c2d9b957e4e5f6ec23997 Author: Paul Mundt Date: Fri Nov 9 13:00:30 2007 +0900 sh: Split out asm/string.h for sh32 and sh64. Signed-off-by: Paul Mundt commit da06b8d0545a1bf95b9060bf301d6de3400fafd6 Author: Paul Mundt Date: Fri Nov 9 12:58:12 2007 +0900 sh: Add SH-5 support to io.h. Signed-off-by: Paul Mundt commit 3b9e78868d000ca10b740c465df9236b04d29718 Author: Paul Mundt Date: Fri Nov 9 12:56:06 2007 +0900 sh: Add in cacheflush and DMA headers for SH-5. Signed-off-by: Paul Mundt commit 2f725945822dbc2e481d5e6ab4693e19a0c99972 Author: Paul Mundt Date: Thu Nov 8 19:24:00 2007 +0900 sh64: Kill off arch/sh64/oprofile. The same implementation exists in arch/sh/oprofile, so get rid of this version. Signed-off-by: Paul Mundt commit f493473a907e41f89814bee682d705bbcc131933 Author: Paul Mundt Date: Thu Nov 8 19:22:26 2007 +0900 sh: Move sh64 board defconfigs to arch/sh/configs. Signed-off-by: Paul Mundt commit db092ee6509ecd3f65843202982a8e2ff9e74cdd Author: Paul Mundt Date: Thu Nov 8 19:21:50 2007 +0900 sh: Move sh64 boards to arch/sh/. Signed-off-by: Paul Mundt commit 0fa70efbd45a6c4fd946fa71c0a609f2c509d07c Author: Paul Mundt Date: Thu Nov 8 19:08:28 2007 +0900 sh: Correct SH-5 instruction size value. Signed-off-by: Paul Mundt commit d752542ade337f059d12c59c4bc9c312befa1f1e Author: Paul Mundt Date: Thu Nov 8 19:00:27 2007 +0900 sh: Add cache definitions for SH-5. Signed-off-by: Paul Mundt commit a096a7e4762f685364df5ca03394eb63bbdb93df Author: Paul Mundt Date: Thu Nov 8 18:58:52 2007 +0900 sh: Add addrspace.h segmentation stub for SH-5. Signed-off-by: Paul Mundt commit e1cd93ea44cb55969e122758c8cc2ddfe21b74b3 Author: Paul Mundt Date: Thu Nov 8 18:58:00 2007 +0900 sh: BUGFLAG_WARNING needs GENERIC_BUG. Move the HAVE_ARCH_BUG/HAVE_ARCH_WARN_ON definitions underneath CONFIG_GENERIC_BUG. This is needed for BUGFLAG_WARNING usage. Signed-off-by: Paul Mundt commit 5a4a5bd127c147aaa16aefef856f4cb28e92cec1 Author: Paul Mundt Date: Thu Nov 8 18:55:39 2007 +0900 sh: Fix up fixmap location for SH-5. Signed-off-by: Paul Mundt commit 34cd6d3ab47284dbebea03585ead6a0d5671b75c Author: Paul Mundt Date: Thu Nov 8 18:54:58 2007 +0900 sh: Add SH-5 support to asm/module.h. Signed-off-by: Paul Mundt commit a09063da33a222adaceea85c9d168cbbb3e626b0 Author: Paul Mundt Date: Thu Nov 8 18:54:16 2007 +0900 sh: Switch Kconfig.sh64 to use arch/sh/mm/Kconfig. Consolidates the HUGETLB definitions and others. Signed-off-by: Paul Mundt commit c20c20047b1aa4ba6fc2bb4e9ab91402026c3e71 Author: Paul Mundt Date: Thu Nov 8 18:52:35 2007 +0900 sh: Plug SH-5 in to arch/sh/Makefile. Adds the ISA tuning and a lib64 rule. Signed-off-by: Paul Mundt commit dd730b8ff8adfdf8d39cd060acc7223f0d374d32 Author: Paul Mundt Date: Thu Nov 8 18:51:33 2007 +0900 sh: Move arch/sh64/lib to arch/sh/lib64. Signed-off-by: Paul Mundt commit 2c6deb5ea414c26483578d41d8537d54dd2d282f Author: Paul Mundt Date: Thu Nov 8 18:46:51 2007 +0900 sh: Move the sh64 Kconfig to arch/sh/Kconfig.sh64. Signed-off-by: Paul Mundt commit 8d5fb297cc8f9f7de2840864e497bc38330abba6 Author: Paul Mundt Date: Thu Nov 8 18:44:09 2007 +0900 sh: Split out cache status bits per-CPU family. Signed-off-by: Paul Mundt commit 5a668651bf0da3891c46ea2cfcac227ded783a5a Author: Paul Mundt Date: Thu Nov 8 18:42:46 2007 +0900 sh: Split out PXSEG segmentation per-CPU family. The CPU family abstraction already exists, so move out the PXSEG definition for each one. SH-2A already has this special cased, and SH-5 will as well. Signed-off-by: Paul Mundt commit 39d28a2dbe3886d84335f69da4c18972a31a217d Author: Paul Mundt Date: Thu Nov 8 18:39:33 2007 +0900 sh: Add a SUPERH32 config symbol. We need to differentiate from SUPERH64, so add a SUPERH32 for regular sh. Signed-off-by: Paul Mundt commit b5f42db0a782d409e5fe0efb6e1387e45774c70b Author: Paul Mundt Date: Thu Nov 8 18:38:14 2007 +0900 sh: Move CPU subtypes to Kconfig.sh. We intend to share the mm options, so move the SH-only subtypes up a level. Signed-off-by: Paul Mundt commit c2254f5a744eda55e73f5592d5bdcf75c0a5302c Author: Paul Mundt Date: Thu Nov 8 18:30:40 2007 +0900 sh: Rename Kconfig to Kconfig.sh. Signed-off-by: Paul Mundt commit 6c7e2a55d3f89deb5bc478ab1759a3a799890c7d Author: Paul Mundt Date: Thu Nov 8 14:45:55 2007 +0900 sh64: Use the generic rtc-sh driver. Rip out the sh64-specific RTC bits, use rtc-sh instead. Signed-off-by: Paul Mundt commit 9a519f62a18c258c8ba695f82b6a9542bde4ca06 Author: Paul Mundt Date: Thu Nov 8 14:44:44 2007 +0900 rtc: rtc-sh: SH-5 support. Trivial support for the SH-5 (sh64) on-chip RTC. Signed-off-by: Paul Mundt commit c847c853a5c562bac940c544748525d038167275 Author: Paul Mackerras Date: Sun Jan 27 11:45:30 2008 +1100 PPC: Fix powerpc vio_find_name to not use devices_subsys This fixes vio_find_name() in arch/powerpc/kernel/vio.c, which is currently broken because it tries to use devices_subsys. That is bad for two reasons: (1) it's doing (or trying to do) a scan of all devices when it should only be scanning those on the vio bus, and (2) devices_subsys was an internal symbol of the device system code which was never meant for external use and has now gone away, and thus the kernel fails to compile on pSeries. The new version uses bus_find_device_by_name() on the vio bus (vio_bus_type). Signed-off-by: Paul Mackerras Signed-off-by: Greg Kroah-Hartman commit 1f9ffc049d7a88c8489b883b6fc0a25185062002 Author: Greg Kroah-Hartman Date: Sun Jan 27 10:29:20 2008 -0800 Driver core: add bus_find_device_by_name function The driver core, and some other parts of the kernel just want to find a device based on a name for a specific bus. Give them a simple wrapper to prevent them from having to always roll their own. This will be used in the PPC patch later in this series. Cc: Paul Mackerras Signed-off-by: Greg Kroah-Hartman commit 123ca9575b1f5342c05a4b84d6af8ba7587c2981 Author: Greg Kroah-Hartman Date: Sun Jan 27 10:29:20 2008 -0800 Module: check to see if we have a built in module with the same name When trying to load a module with the same name as a built-in one, a scary kobject backtrace comes up. Prevent that from checking for this condition and warning the user as to what exactly is going on. Cc: Rusty Russell Cc: Linus Torvalds Cc: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 404aae5d420ec543e2e8434f7ec0edf5e2d2b0c4 Author: Greg Kroah-Hartman Date: Sun Jan 27 10:29:20 2008 -0800 x86: fix runtime error in arch/x86/kernel/cpu/mcheck/mce_amd_64.c This problem is due to the kobject rework recently done in this file. The mce_amd_64.c code uses some wierd forward calls to back out of the recursive way the code creates kobjects. Because of this, we need to verify that we have really created a kobject before calling kobject_uevent(). Many thanks to Yinghai Lu for reporting the problem and testing. Cc: Yinghai Lu Cc: Jacob Shin Cc: Ingo Molnar Signed-off-by: Greg Kroah-Hartman commit 4e886c29610f4374d8971ec7a248f011cc3bd73a Author: Greg Kroah-Hartman Date: Sun Jan 27 12:12:43 2008 -0800 Driver core: Fix up build when CONFIG_BLOCK=N This fixes up the driver core build errors when CONFIG_BLOCK=N Thanks to Alexander van Heukelum for the basis of this patch, and to Jeremy Fitzhardinge for reporting the problem. Cc: Alexander van Heukelum Cc: Jeremy Fitzhardinge Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 91525300baf162e83e923b09ca286f9205e21522 Merge: 991dee5... 9c5e710... Author: Linus Torvalds Date: Mon Jan 28 08:15:24 2008 +1100 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: (54 commits) MAINTIANERS: just use Mike gmail e-mail for contact and pawn the serial driver off onto Sonic [Blackfin] arch: remove old I2C BF54x porting. [Blackfin] arch: Add the semtimedop syscall. Upstream uClibc doesn't compile without it. [Blackfin] arch: fix bug kernel boot message: memory information is not reasonable [Blackfin] arch: use common flash driver to setup partitions rather than the bf5xx-flash driver [Blackfin] arch: Fix bug - kernel build with Debug option enabled fails to boot up [Blackfin] arch: Fix bug Only RTC interrupt can wake up deeper sleep core. [Blackfin] arch: Add proper SW System Reset delay sequence [Blackfin] arch: Update copyright date [Blackfin] arch: GPIO API cleanup and anomaly update [Blackfin] arch: Fix BUG gpio_direction_output API is not compatitable with GENERIC_GPIO API interface [Blackfin] arch: Initial checkin of the memory protection support. [Blackfin] arch: set_bfin_dma_config shouldnt set SYNC or RESTART by default - add argument or option [Blackfin] arch: Add some comments - fix semicolons [Blackfin] arch: move all code related to CPLB handling into a new subdirectory under kernel/ [Blackfin] arch: print out list of modules if kernel is crashing and tell people if the kernel is tainted [Blackfin] arch: enable generic GPIO based I2C driver in STAMP-BF533, EZKIT-BF533 and EZKIT-BF561 boards [Blackfin] arch: Don't oops_in_progress if single step is comming from the kernel [Blackfin] arch: Fix BUG - kernel sometimes would stuck with KEYBOARD_GPIO on [Blackfin] arch: update to latest anomaly sheets ... commit 0052bc5d5c3adc4ee4ba567470aebe775fcf2006 Author: Kumar Gala Date: Thu Jan 24 23:53:03 2008 -0600 [POWERPC] 85xx: Port TQM85xx boards over from arch/ppc Signed-off-by: Kumar Gala commit 77e03a2241fe9a15749b2b30196fc14637310959 Author: Kumar Gala Date: Wed Jan 23 23:42:44 2008 -0600 [POWERPC] 85xx: Port STX GP3 board over from arch/ppc Signed-off-by: Kumar Gala commit 7858f7477e3d9311240b93d4f320a8d57faa3c70 Author: Kumar Gala Date: Thu Jan 24 16:04:58 2008 -0600 [POWERPC] Add a cuboot wrapper for 85xx with CPM2 The bd info struct changes if we have CPM2 enabled in u-boot. Signed-off-by: Kumar Gala commit b3bea15d29799797d1486aeddf883404a2e05c81 Author: Kumar Gala Date: Thu Jan 24 22:41:05 2008 -0600 [POWERPC] bootwrapper: Add find_node_by_compatible Add the ability to find a device node by just what its compatible with. This is useful in cases that we don't have a prop to find the node with. Signed-off-by: Kumar Gala commit 03a16b27bd30f22d88f570585551925248469f84 Author: Kumar Gala Date: Wed Jan 23 23:47:39 2008 -0600 [POWERPC] Always build setup-bus.c on powerpc The common arch/powerpc code calls in to functions in setup-bus.c so some builds of ppc32 would fail. Note, ppc32 usage of setup-irq.c is limited to arch/ppc and should be removed when arch/ppc goes away. Signed-off-by: Kumar Gala Signed-off-by: Greg Kroah-Hartman commit eaf858a988a4b7b34a6ae03a3ac52cdf25013892 Author: David Brownell Date: Mon Jan 14 08:53:22 2008 +0100 [ARM] 4615/4: sam926[13]ek buttons updated From: Nicolas Ferre On the at92sam9263ek board, tell the input subsystem about the buttons. This patch is taken from Andrew Victor's at91 patchset, then updated to match the latest kernel code and to use labels printed on the board. Also update the at91sam9261ek buttons to cope with input changes. Signed-off-by: David Brownell Acked-by: Andrew Victor Signed-off-by: Russell King commit 991dee591a99d035796a8c194eb1796cc020e142 Author: Kalle Pokki Date: Sun Jan 27 18:14:52 2008 +0100 i2c-bfin-twi: Register adapter with a specific bus number All the users of this driver explicitly specify the I2C bus numbers to be used in their platform data. Make the driver respect that. Signed-off-by: Kalle Pokki Cc: Bryan Wu Signed-off-by: Jean Delvare commit 8b798c4d16b762d15f4055597ff8d87f73b35552 Author: Manuel Lauss Date: Sun Jan 27 18:14:52 2008 +0100 i2c-au1550: Convert to platform driver Convert the i2c-au1550 bus driver to platform driver, and register a platform device for the Alchemy Db/Pb series of boards. Signed-off-by: Manuel Lauss Signed-off-by: Jean Delvare commit 91f27958d686da713c3b0a1dc205288898e44124 Author: Manuel Lauss Date: Sun Jan 27 18:14:52 2008 +0100 i2c-au1550: properly terminate zero-byte transfers Zero-bytes transfers would leave the bus transaction unfinished (no i2c stop is sent), with the following transfer actually sending the slave address to the previously addressed device, resulting in weird device failures (e.g. reset minute register values in my RTC). This patch instructs the controller to send an I2C STOP right after the slave address in case of a zero-byte transfer. Signed-off-by: Manuel Lauss Signed-off-by: Jean Delvare commit 4bd28ebda2d48f16c1f16ff936a6927a4ef2194d Author: Jon Smirl Date: Sun Jan 27 18:14:52 2008 +0100 mpc-i2c: Propagate error values properly Propagate the error values returned by i2c_wait() instead of overriding them with a meaningless -1. Signed-off-by: Jon Smirl Signed-off-by: Jean Delvare commit e9f1373b643887f63878d1169b310c9acc534cd5 Author: David Brownell Date: Sun Jan 27 18:14:52 2008 +0100 i2c: Add i2c_new_dummy() utility This adds a i2c_new_dummy() primitive to help work with devices that consume multiple addresses, which include many I2C eeproms and at least one RTC. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 0b987dcd3ae5626ac006fbbe366e9a8415b303df Author: Jean Delvare Date: Sun Jan 27 18:14:52 2008 +0100 i2c: Drop legacy locking in i2c_new_probed_device It is no longer required to hold adapter->clist_lock to call i2c_check_addr. Signed-off-by: Jean Delvare Cc: David Brownell commit 9ddced16bb901415ac46058a55bb842a7df8cc68 Author: Jean Delvare Date: Sun Jan 27 18:14:51 2008 +0100 i2c: Limit locking scope in i2c_detach_client We only need to hold adapter->clist_lock when we touch the client list. Signed-off-by: Jean Delvare commit 86ec5ec872566dda74848e09904bb5380cab962e Author: David Brownell Date: Sun Jan 27 18:14:51 2008 +0100 i2c-remove-redundant-i2c_client-list.patch This goes on top of the patch removing most i2c_adapter.clients usage, updating i2c_attach_client: - Don't call device_register() while holding clist_lock. This removes a self-deadlock when on the i2c_driver.probe() path, for drivers that need to attach new devices (e.g. dummies). - Remove a redundant address check. The driver model core does this as a consequence of guaranteeing unique names. - Move the "device registered" diagnostic so that it never lies; previously, on error paths it would falsely report success. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 961f80f9c0c0f7c45d7818f9c9969dfaa9e4463d Author: Jean Delvare Date: Sun Jan 27 18:14:51 2008 +0100 i2c: Drivers stop using the redundant client list The redundant i2c client list maintained by i2c-core is going away soon, so drivers should stop using it now. Instead, they can use the standard iterator provided by the device driver model (device_for_each_child). Signed-off-by: Jean Delvare Cc: David Brownell Cc: Michael Hunold commit 9b766b814d6a5f31ca1e9da1ebc08164b9352941 Author: David Brownell Date: Sun Jan 27 18:14:51 2008 +0100 i2c: Stop using the redundant client list The i2c_adapter.clients list of i2c_client nodes duplicates driver model state. This patch starts removing that list, letting us remove most existing users of those i2c-core lists. * The core I2C code now iterates over the driver model's list instead of the i2c-internal one in some places where it's safe: - Passing a command/ioctl to each client, a mechanims used almost exclusively by DVB adapters; - Device address checking, in both i2c-core and i2c-dev. * Provide i2c_verify_client() to use with driver model iterators. * Flag the relevant i2c_adapter and i2c_client fields as deprecated, to help prevent new users from appearing. For the moment the list needs to stick around, since some issues show up when deleting devices created by legacy I2C drivers. (They don't follow standard driver model rules. Removing those devices can cause self-deadlocks.) Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 0d227a7e724460bddcd603a1feb672267bcb0d6c Author: Jean Delvare Date: Sun Jan 27 18:14:51 2008 +0100 i2c-viapro: Add support for the VT8237S Add support for another variant of the VT8237. I couldn't test I2C block support but I assume it is present as well. Signed-off-by: Jean Delvare commit 9b7389c0edb94a2623f21a6ac90afae63f201e73 Author: Jean Delvare Date: Sun Jan 27 18:14:51 2008 +0100 i2c-piix4: Drop redundant PCI function number check Checking the PCI function number doesn't add any value, and it makes adding dynamic IDs to the driver more difficult. Drop this check. Signed-off-by: Jean Delvare commit 0f07a24b4baf14859fde39b29bcc6fe279d18109 Author: Jean Delvare Date: Sun Jan 27 18:14:51 2008 +0100 i2c: Let the user specify PCI driver data through new_id The i2c-amd756 and i2c-viapro drivers make use of the driver_data field of the PCI device ID. When adding device IDs dynamically (by writing to the new_id sysfs file) you cannot set the value of this field by default. It has to be allowed explicitly. Do that, and check the value so that the user can't crash the kernel accidentally. Signed-off-by: Jean Delvare Acked-by: Greg Kroah-Hartman commit b7a3670131c7662415fa799700fc0bdfe90a54b6 Author: Mike Rapoport Date: Sun Jan 27 18:14:50 2008 +0100 i2c-pxa: Add polling transfer Add polling I2C transfer implementation for PXA I2C. This is needed for cases where I2C transactions have to occur at times interrups are disabled. Signed-off-by: Mike Rapoport Acked-by: eric miao Signed-off-by: Jean Delvare commit cea443a81c9c6257bf2d00f1392f7d1d4ce03b75 Author: Mike Rapoport Date: Sun Jan 27 18:14:50 2008 +0100 i2c: Support i2c_transfer in atomic contexts Allow i2c_transfer to be called in contexts where sleeping is not allowed. It is the reponsability of the caller to ensure that the underlying i2c bus driver will not sleep either. Signed-off-by: Mike Rapoport Signed-off-by: Jean Delvare commit 5271071b20dee56c01b6b9d8e275611403d3d383 Author: Jean Delvare Date: Sun Jan 27 18:14:50 2008 +0100 i2c-sibyte: Remove the bus scan module parameter The implementation is unsafe, and anyway one can achieve the same from userspace using i2c-dev + i2cdetect. Also tag i2c_sibyte_add_bus __init. Signed-off-by: Jean Delvare Cc: Ralf Baechle commit 7bca0871ca332ad5373a0fd26886e3cfbafa822c Author: Jean Delvare Date: Sun Jan 27 18:14:50 2008 +0100 i2c: Discard unused driver IDs Discard all I2C driver IDs that aren't used anywhere. That's not just a couple of them, but more like 49 or one quarter of all defined IDs! And this is just a first pass, next will come all IDs that are set but never used, or used but never set. Signed-off-by: Jean Delvare commit 6342064cad7a28d10504128d028bc4ba379d489d Author: Jean Delvare Date: Sun Jan 27 18:14:50 2008 +0100 i2c-i801: Implement I2C block read support I2C block read is supported since the ICH5. I couldn't get it to work using the block buffer, so it's using the old-style byte-by-byte mode for now. Note: I'm also updating the driver author... The i2c-i801 driver was really written by Mark Studebaker, even though he based his work on the i2c-piix4 driver which was written by Philip Edelbrock. Signed-off-by: Jean Delvare commit a0921b6c07dfbb59ac2d497e96438adaf4940f16 Author: Jean Delvare Date: Sun Jan 27 18:14:50 2008 +0100 i2c-i801: Clear special mode bits as needed Clear special mode bits (PEC, block buffer) at driver load time, you never know in which state the device was left by its last user. Also make sure that we reset the block buffer mode at the end of every transaction, not only when PEC was used. Signed-off-by: Jean Delvare commit 369f6f4aec5315012ff5d951e0179f860c35c181 Author: Jean Delvare Date: Sun Jan 27 18:14:50 2008 +0100 i2c-i801: More explicit names for chip features Use separate flags with explicit names to describe the features of the ICH chip. Signed-off-by: Jean Delvare commit ae7b0497b8280ad5ecfe7bd045c5106f35950c8a Author: Jean Delvare Date: Sun Jan 27 18:14:49 2008 +0100 i2c-i801: Document which chip support what feature Provide a clearer documentation of which additional features each ICH chip support, and which of these the driver supports. Signed-off-by: Jean Delvare commit 6d16bfb5e81d3925a7efb38b5cc3e0021b57d03a Author: David Brownell Date: Sun Jan 27 18:14:49 2008 +0100 i2c/tps65010: move header to Move the tps65010 header file from the OMAP arch directory to the more generic directory, and remove the spurious dependency of this driver on OMAP. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit caada32afe0d181b1dc36ab3fc29628582776e09 Author: Jean Delvare Date: Sun Jan 27 18:14:49 2008 +0100 i2c: Rename main mutex Rename the main mutex in i2c-core from core_lists to core_lock. This makes more sense now that the redundant lists are gone. Signed-off-by: Jean Delvare commit 026526f5afcd421dce110f53e4c4e2b9e78753c2 Author: Jean Delvare Date: Sun Jan 27 18:14:49 2008 +0100 i2c: Drop redundant i2c_driver.list i2c_driver.list is superfluous, this list duplicates the one maintained by the driver core. Drop it. Signed-off-by: Jean Delvare Acked-by: David Brownell commit 87c6c22945e5d68eb96dd1e5cb26185253cd5b9d Author: Jean Delvare Date: Sun Jan 27 18:14:48 2008 +0100 i2c: Drop redundant i2c_adapter.list i2c_adapter.list is superfluous, this list duplicates the one maintained by the driver core. Drop it. Signed-off-by: Jean Delvare Acked-by: David Brownell commit e48d33193d94175f012c3ed606a1d1e574ed726a Author: Jean Delvare Date: Sun Jan 27 18:14:48 2008 +0100 i2c: Change prototypes of refcounting functions Use more standard prototypes for i2c_use_client() and i2c_release_client(). The former now returns a pointer to the client, and the latter no longer returns anything. This matches what all other subsystems do. Signed-off-by: Jean Delvare Cc: David Brownell commit bdc511f438f6ca40307e06edda00331e6ac0f813 Author: Jean Delvare Date: Sun Jan 27 18:14:48 2008 +0100 i2c: Use the driver model reference counting Don't implement our own reference counting mechanism for i2c clients when the driver model already has one. Signed-off-by: Jean Delvare Cc: David Brownell commit 0f79b72e45da68bf542a63a08f9c924b91b507e7 Author: Jean Delvare Date: Sun Jan 27 18:14:47 2008 +0100 i2c: Deprecate drivers for I2C buses on video adapters The framebuffer drivers for these pieces of hardware include support for the DDC/I2C buses, so there is no need for separate drivers. Signed-off-by: Jean Delvare commit 2caeac810423556a5ee787d5cb7aa902fda13bb4 Author: Jean Delvare Date: Sun Jan 27 18:14:47 2008 +0100 i2c: Don't uselessly set i2c_adapter.retries I2C adapter drivers are supposed to handle retries on nack by themselves if they do, so there's no point in setting .retries if they don't. As this retry mechanism is going away (at least in its current form), clean this up now so that we don't get build failures later. Signed-off-by: Jean Delvare commit 05c7abaeb344975a3257366a52368a4866aa518d Author: Jean Delvare Date: Sun Jan 27 18:14:47 2008 +0100 i2c: Kill rogue driver IDs I2C driver IDs are optional, so if you don't need one, just omit it. Signed-off-by: Jean Delvare commit 2cdddeb8d7dd42dc1847b110228a626d25a1e468 Author: Jean Delvare Date: Sun Jan 27 18:14:47 2008 +0100 i2c: normal_i2c can be made const (remaining drivers) Signed-off-by: Jean Delvare commit 922539a0a3c44e3b8dcf1025910f08e1940ba49f Author: Jean Delvare Date: Sun Jan 27 18:14:47 2008 +0100 i2c: normal_i2c can be made const (rtc drivers) Signed-off-by: Jean Delvare Acked-by: Alessandro Zummo commit bfb6df24facfde7ec6191edbba798777efb3c375 Author: Mark M. Hoffman Date: Sun Jan 27 18:14:46 2008 +0100 i2c: Constify client address data This patch allows much of the I2C client address data to move from initdata into text. Signed-off-by: Mark M. Hoffman Signed-off-by: Jean Delvare commit 6408a8338c63e2beb50e8128814cbc1170390d3a Author: Jean Delvare Date: Sun Jan 27 18:14:46 2008 +0100 i2c-algo-pcf: Delete broken 10-bit address support The 10-bit address support in i2c-algo-pcf is so heavily broken that it can't have ever been used. Nobody ever complained, so I'll take it that nobody needs it. Let's just delete it. Signed-off-by: Jean Delvare commit bf3e2d1d9b860591f3f204aa66d6a3c30058818d Author: David Brownell Date: Sun Jan 27 18:14:46 2008 +0100 i2c-algo-bit: Fix NAK/ARB comments Update comments and logging on return path for byte writes. NAK is an error, to be reported or optionally ignored. Timeouts are always errors. Lost arbitration is not currently handled, so don't even list it as an option in the error message. Don't return bogus EFAULT code for inappropriate NAK; EIO is better, there is no bad userspace address in question. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit cf978ab2846d86709802f38c80d1d53da364bf51 Author: David Brownell Date: Sun Jan 27 18:14:46 2008 +0100 i2c-algo-bit: Whitespace fixes (+ NAK/ARB comments) Fix *LOTS* of whitespace goofs and checkpatch.pl warnings, strangely parenthesized ternary expressions, and other CodingStyle glitches. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 59d70df025473931c500d6d60510798e4bfa3279 Author: eric miao Date: Sun Jan 27 18:14:46 2008 +0100 i2c-pxa: Remove hardcoded #ifdef and use cpu_is_pxa27x remove #ifdef CONFIG_PXA27x .. #endif and use cpu_is_pxaXXXX() macros so that a single binary can support PXA25x/PXA27x/PXA3xx at run-time. Signed-off-by: eric miao Signed-off-by: Jean Delvare commit 7e8b99251be8b6f992baa88e3a6ba3c4ae01660b Author: Adrian Bunk Date: Sun Jan 27 18:14:46 2008 +0100 i2c: some overdue driver removal This patch contains the overdue removal of three I2C drivers. [JD: In fact only i2c-ixp4xx can be removed at the moment, the other two platforms don't implement the generic GPIO layer yet.] Signed-off-by: Adrian Bunk Signed-off-by: Jean Delvare commit 5a4a2387717ec57ec2a9154beb281e09c19fc26e Author: Michael-Luke Jones Date: Sun Jan 27 18:14:46 2008 +0100 ixp4xx-i2c-gpio Migrate all ixp4xx devices to the bitbanging I2C bus driver utilizing the arch-neutral GPIO API (linux/i2c-gpio.h). Tested by the nslu2-linux and openwrt projects in public firmware releases. Signed-off-by: Michael-Luke Jones Acked-by: Rod Whitby Signed-off-by: Jean Delvare commit eee87d3196c9a7ac3422f4298e2250ca68d791c1 Author: Adrian Bunk Date: Sun Jan 27 18:14:45 2008 +0100 i2c: the scheduled I2C RTC driver removal This patch contains the scheduled removal of legacy I2C RTC drivers with replacement drivers. Signed-off-by: Adrian Bunk Signed-off-by: Jean Delvare commit 569be443e3c1329fc6725988004f5d8a32fe3be5 Author: Jean Delvare Date: Sun Jan 27 18:14:45 2008 +0100 i2c-stub: Use a single array for byte and word operations This mimics the behavior of actual SMBus chips better. Signed-off-by: Jean Delvare Cc: Mark M. Hoffman commit b3af547e197fa3ca648d148dd8d36befe989e5a0 Author: Jean Delvare Date: Sun Jan 27 18:14:45 2008 +0100 i2c-stub: Mention the existence of an helper script There's a new script named i2c-stub-from-dump that can be very helpful when working with the i2c-stub driver. Signed-off-by: Jean Delvare commit 1b3e5baa8850947b2cc15f323783ddb04dc4bffa Author: Rodolfo Giometti Date: Sun Jan 27 18:14:45 2008 +0100 i2c/tsl2550: Add power management added Signed-off-by: Rodolfo Giometti Signed-off-by: Jean Delvare commit 5864ae03ca982fb60bedeebfd67562db37c1ee6a Author: Bart Van Assche Date: Sun Jan 27 18:14:45 2008 +0100 i2c: Add support for the PCF8575 chip Signed-off-by: Bart Van Assche Signed-off-by: Jean Delvare commit 217bcec4425cdc8fb90ce688eb4d5b5140713046 Author: Stefan Roese Date: Sun Jan 27 18:14:45 2008 +0100 i2c-ibm_iic: Whitespace cleanup Signed-off-by: Stefan Roese Signed-off-by: Jean Delvare commit ccf60d8571f0e606b5dacf213696b7a57fe2d890 Author: Olof Johansson Date: Sun Jan 27 18:14:44 2008 +0100 i2c-pasemi: use i2c_add_numbered_adapter() Use numbered adapter registration to always have the same hardware bus show up at the same number. PWRficient 1682M has three buses, they are all on the same PCI device but different functions. So do the simple thing and register them based on function number. Future products, if having a different number of busses, are expected to have similar behaviour w.r.t. device/function layout. Signed-off-by: Olof Johansson Signed-off-by: Jean Delvare commit 541b6a7a69fadda82f313bd2176e7756db2b5b43 Author: Jean Delvare Date: Sun Jan 27 18:14:44 2008 +0100 i2c-nforce2: The nForce2 can do block transactions My guess is that all the chips supported by this driver support block transactions and reset, but for now we play it safe and only list the ones for which this was actually tested. Signed-off-by: Jean Delvare Cc: Oleg Ryjkov commit 326e96b92306b7af24a3608ec01156cba17a3fc1 Author: Ingo Molnar Date: Sun Jan 27 08:03:54 2008 +0100 printk: revert ktime_get() timestamps revert 19ef9309273d26cb005cb23e6a370353dca91099. Kevin Winchester reported a lockup during X startup an bisected it to this commit. Reported-by: Kevin Winchester Signed-off-by: Ingo Molnar commit ef3f2de2b5496f721b12f21a157e19eac816394b Merge: 1c7c2cd... 366781c... Author: Linus Torvalds Date: Sat Jan 26 23:01:20 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: [CIFS] DFS build fixes [CIFS] DFS support: provide shrinkable mounts [CIFS] Do not log path names in lookup errors [CIFS] DFS support patchset: Added mountdata [CIFS] Forgot to add two new files from previous commit [CIFS] DNS name resolution helper upcall for cifs [CIFS] fix checkpatch warnings in fs/cifs/inode.c [CIFS] hold ses sem on tcp session reconnect during mount [CIFS] Allow setting mode via cifs acl [CIFS] fix unicode string alignment in SPNEGO setup [CIFS] cifs_partialpagewrite() cleanup [CIFS] use krb5 session key from first SMB session after a NegProt [CIFS] redo existing session setup if needed in cifs_mount [CIFS] Only dump SPNEGO key if CONFIG_CIFS_DEBUG2 is set [CIFS] fix SetEA failure to some Samba versions commit 1c7c2cdec3a6b2873439096983794a550d7ff65b Merge: 0444fa7... 7267c33... Author: Linus Torvalds Date: Sat Jan 26 22:54:32 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (63 commits) ide: remove REQ_TYPE_ATA_CMD ide: switch ide_cmd_ioctl() to use REQ_TYPE_ATA_TASKFILE requests ide: switch set_xfer_rate() to use REQ_TYPE_ATA_TASKFILE requests ide: fix final status check in drive_cmd_intr() ide: check BUSY and ERROR status bits before reading data in drive_cmd_intr() ide: don't enable local IRQs for PIO-in in driver_cmd_intr() (take 2) ide: convert "empty" REQ_TYPE_ATA_CMD requests to use REQ_TYPE_ATA_TASKFILE ide: initialize rq->cmd_type in ide_init_drive_cmd() callers ide: use wait_drive_not_busy() in drive_cmd_intr() (take 2) ide: kill DATA_READY define ide: task_end_request() fix ide: use rq->nr_sectors in task_end_request() ide: remove needless ->cursg clearing from task_end_request() ide: set IDE_TFLAG_IN_* flags before queuing/executing command ide-tape: fix handling of non-special requests in ->end_request method ide: fix final status check in task_in_intr() ide: clear HOB bit for REQ_TYPE_ATA_CMD requests in ide_end_drive_cmd() ide: fix ->io_32bit race in ide_taskfile_ioctl() cmd64x: remove /proc/ide/cmd64x ide: remove broken disk byte-swapping support ... commit 0444fa78751260b38f0db3418e001bf86593f05f Merge: 69e4d4c... 9d40d2e... Author: Linus Torvalds Date: Sat Jan 26 22:52:53 2008 -0800 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: (56 commits) [S390] replace lock_cpu_hotplug with get_online_cpus [S390] usage of s390dbf: shrink number of debug areas to use. [S390] constify function pointer tables. [S390] do local_irq_restore while spinning in spin_lock_irqsave. [S390] add smp_call_function_mask [S390] dasd: fix loop in request expiration handling [S390] Unused field / extern declaration in processor.h [S390] Remove TOPDIR from Makefile [S390] dasd: add hyper PAV support to DASD device driver, part 1 [S390] single-step cleanup [S390] Move NOTES and BUG_TABLE. [S390] drivers/s390/: Spelling fixes [S390] include/asm-s390/: Spelling fixes [S390] arch/s390/: Spelling fixes [S390] Use diag308 subcodes 3 and 6 for reboot and dump when possible. [S390] vmemmap: allocate struct pages before 1:1 mapping [S390] Initialize sclp_ipl_info [S390] Allocate and free cpu lowcores and stacks when needed/possible. [S390] use LIST_HEAD instead of LIST_HEAD_INIT [S390] Load disabled wait psw instead of stopping cpu on halt. ... commit 69e4d4c3e1cb23fce81deeae08b502d27bad6993 Merge: 9b73e76... b1aa530... Author: Linus Torvalds Date: Sat Jan 26 22:43:56 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6: selinux: fix labeling of /proc/net inodes commit 4fb4c5582475452d3bf7c5072ef2d15ee06f7723 Author: Grant Likely Date: Thu Jan 24 22:25:31 2008 -0700 [POWERPC] mpc52xx_psc_spi device driver must not touch port_config and cdm It is dangerous for an mpc52xx device driver to modify the port_config register. If the driver is probed incorrectly, it will change the pin IO configuration in ways which may not be compatible with the board. port_config should be set up by the bootloader, or failing that, in the platform setup code in arch/powerpc/platforms/52xx. Also, modifying CDM registers directly can cause a race condition with other drivers. Instead call a common routine to modify CDM settings. Signed-off-by: Grant Likely Acked-by: Dragos Carp commit c8004a28186110657aa3e75135a6b96ebfa3e8f0 Author: Grant Likely Date: Thu Jan 24 22:25:31 2008 -0700 [POWERPC] Add common clock setting routine mpc52xx_psc_set_clkdiv() PSC drivers should not access the CDM registers directly. Instead provide a common routine for setting the PSC clock parameters with the required locking. Signed-off-by: Grant Likely commit 94d2dde738a50124d1f1b1b40bd5b9d0ed22e2e2 Author: Grant Likely Date: Thu Jan 24 22:25:32 2008 -0700 [POWERPC] Efika: prune fixups and make them more carefull Prune back Efika fixups to only include changes that are actually required to get a working system. Most of the drivers can accept the compatible properties, even if they don't match the what is recommented in the generic names recommended practice document. This patch also adds extra checks so that fixups are not performed blindly. Instead, the code first verifies that the device tree is faulty before making any changes. This way, if the Efika firmware is updated to fix these issues, then the fixups will no longer get applied. At this point; here is the list of fixups needed for the efika: 1. If the device_type property on the root node is 'chrp', then Linux won't boot. Change device_type to 'efika' to avoid this condition 2. Add full interrupt list to the bestcomm node. In actual fact, the bestcomm interrupts property is technically correct, it just doesn't expose the same granularity as the device driver expects. All other 5200 device trees provide a separate irq number for each bestcomm channel. Rather than hack the driver, it's simpler to fix it up 3. /builtin/sound node is missing an interrupts property 4. /builtin/ethernet node is missing a phy-handle property and the device driver doesn't know what to do without one. Signed-off-by: Grant Likely commit 24ce6bc4a2b75509b29372f1e5e7e0fe51d98e66 Author: Grant Likely Date: Thu Jan 24 22:25:31 2008 -0700 [POWERPC] mpc5200: make dts files conform to generic names recommended practice Modify mpc5200 dts files to match Open Firmware's Generic Names recommended practice. Signed-off-by: Grant Likely commit 66ffbe490b6156898364b3f20a571a78f8d77bc8 Author: Grant Likely Date: Thu Jan 24 22:25:31 2008 -0700 [POWERPC] mpc5200: normalize compatible property bindings Update MPC5200 drivers to also look for compatible properties in the form "fsl,mpc5200-*" to better conform to open firmware generic names recommended practice as published here: http://www.openfirmware.org/1275/practice/gnames/gnamv14a.html This patch should *not* break compatibility with older device trees which do not use the 'fsl,' prefix. The drivers will still bind against the older names also. Signed-off-by: Grant Likely commit 82e30140fff8b49bc4459aecad68e5eae824d223 Author: Grant Likely Date: Thu Jan 24 22:24:07 2008 -0700 [POWERPC] mpc52xx: clean up Kconfig Put all the mpc5200 board config option behind a menu item to get them out of the top level of the platform support list Signed-off-by: Grant Likely commit 58a5be39159a2a7473a0c2dd2a487782e65b95ba Author: Paul Gortmaker Date: Sat Jan 26 07:33:20 2008 +1100 [POWERPC] mpc5200: add #address-cells and #size-cells to soc node. The various 5200 dts files don't have values specified for the soc node, which in turn results in a warning from the processing of every child node (roughly 40 warnings per file). This explicitly sets the default values and gets rid of all the warnings. Signed-off-by: Paul Gortmaker Signed-off-by: Grant Likely commit 7267c3377443322588cddaf457cf106839a60463 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:13 2008 +0100 ide: remove REQ_TYPE_ATA_CMD Based on the earlier work by Tejun Heo. All users are gone so we can finally remove it. Cc: Tejun Heo Signed-off-by: Bartlomiej Zolnierkiewicz commit 5a9e77af970f14a94482a6d4dca5c48efb70deb2 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:13 2008 +0100 ide: switch ide_cmd_ioctl() to use REQ_TYPE_ATA_TASKFILE requests Based on the earlier work by Tejun Heo. There should be no functionality changes caused by this patch. Cc: Tejun Heo Signed-off-by: Bartlomiej Zolnierkiewicz commit 34f5d5ae35240a11846875d76eb935875ab0c366 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:12 2008 +0100 ide: switch set_xfer_rate() to use REQ_TYPE_ATA_TASKFILE requests Based on the earlier work by Tejun Heo. Switch set_xfer_rate() to use REQ_TYPE_ATA_TASKFILE requests and make ide_wait_cmd() static. There should be no functionality changes caused by this patch. Cc: Tejun Heo Signed-off-by: Bartlomiej Zolnierkiewicz commit 0455fcc821e87d362f2047922c59c0f378a122b5 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:12 2008 +0100 ide: fix final status check in drive_cmd_intr() Don't check for READY_STAT bit being set for PIO-in protocol (makes the final status check in drive_cmd_intr() match the one in task_in_intr()). Also fix function name reported by ide_error() call while at it. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4d977e43d8ae758434e603cf2455d955f71c77c4 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:12 2008 +0100 ide: check BUSY and ERROR status bits before reading data in drive_cmd_intr() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 18a056feccabdfa9764016a615121b194828bc72 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:12 2008 +0100 ide: don't enable local IRQs for PIO-in in driver_cmd_intr() (take 2) Don't enable local IRQs for PIO-in protocol in driver_cmd_intr(). While at it: * Remove redundant rq->cmd_type check. * Read status register after enabling local IRQs for no-data protocol. v2: * Re-add DRQ=1 check lost in v1 (noticed by Sergei). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 852738f39258deafb3d89c187cb1a4050820d555 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:12 2008 +0100 ide: convert "empty" REQ_TYPE_ATA_CMD requests to use REQ_TYPE_ATA_TASKFILE Based on the previous work by Tejun Heo. There should be no functionality changes caused by this patch. Cc: Tejun Heo Signed-off-by: Bartlomiej Zolnierkiewicz commit 145b75e9aedbe36c55e45da8564dcd0814bdd89e Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:11 2008 +0100 ide: initialize rq->cmd_type in ide_init_drive_cmd() callers * Initialize rq->cmd_type in ide_wait_cmd(), ide_cmd_ioctl() and set_pio_mode() (other callers were aleady over-riding rq->cmd_type). * Remove no longer needed rq->cmd_type setup from ide_init_drive_cmd(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2624565caacedd740fce7803fe2c162842aa5df4 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:11 2008 +0100 ide: use wait_drive_not_busy() in drive_cmd_intr() (take 2) Use wait_drive_not_busy() in drive_cmd_intr(). v2: * Fix wait_drive_not_busy() comment (noticed by Sergei). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4906f3b4cddc3e4d62955ed386598561f95602c0 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:11 2008 +0100 ide: kill DATA_READY define Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4d7a984bdcbdda69fc6b2a4a655415140270aa7b Author: Tejun Heo Date: Sat Jan 26 20:13:11 2008 +0100 ide: task_end_request() fix task_end_request() modified to always call ide_end_drive_cmd() for taskfile requests. Previously, ide_end_drive_cmd() was called only when IDE_TFLAG_FLAGGED was set. Also, ide_dma_intr() is modified to use task_end_request(). Enables TASKFILE ioctls to get valid register outputs on successful completion. Bart: - ported it over recent IDE changes Signed-off-by: Tejun Heo Signed-off-by: Bartlomiej Zolnierkiewicz commit 79f21b84d94c02b941818df282b61f2a5a028722 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:11 2008 +0100 ide: use rq->nr_sectors in task_end_request() Signed-off-by: Bartlomiej Zolnierkiewicz commit 03c3c70ee541c91250e2bff57211d403cb0b7055 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:11 2008 +0100 ide: remove needless ->cursg clearing from task_end_request() Signed-off-by: Bartlomiej Zolnierkiewicz commit 657cc1a8f6cd6a9e2974cba3af9fccd8c25e06ad Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:10 2008 +0100 ide: set IDE_TFLAG_IN_* flags before queuing/executing command * Add IDE_TFLAG_{HOB,TF,DEVICE} defines. * Set IDE_TFLAG_IN_* flags in {do_rw,ide_no_data,ide_raw}_taskfile() users. * Remove no longer needed ->tf_flags setup from ide_end_drive_cmd(). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 3687221f28058c40e2c57a286decd0caeac67382 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:10 2008 +0100 ide-tape: fix handling of non-special requests in ->end_request method Signed-off-by: Bartlomiej Zolnierkiewicz commit 73d7de0c818639cf74a32ce3b13a33021414749c Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:10 2008 +0100 ide: fix final status check in task_in_intr() Check for DRQ bit being cleared on the final status check. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 49c746ee6cc791202172483277a249c12ba437d8 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:10 2008 +0100 ide: clear HOB bit for REQ_TYPE_ATA_CMD requests in ide_end_drive_cmd() ide_dump_status() may set HOB bit before ide_end_drive_cmd() is called. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 35cf2b94d0ecb7034cfa05dd725721538bbb83fc Author: Tejun Heo Date: Sat Jan 26 20:13:10 2008 +0100 ide: fix ->io_32bit race in ide_taskfile_ioctl() In ide_taskfile_ioctl(), there was a race condition involving drive->io_32bit. It was cleared and restored during ioctl requests but there was no synchronization with other requests. So, other requests could execute with the altered ->io_32bit setting or updated drive->io_32bit could be overwritten by ide_taskfile_ioctl(). This patch adds IDE_TFLAG_IO_16BIT flag to indicate to ide_pio_datablock() that 16-bit I/O is needed regardless of drive->io_32bit settting. Bart: - ported it over recent IDE changes Signed-off-by: Tejun Heo Signed-off-by: Bartlomiej Zolnierkiewicz commit 63c4467805c9b23231d8bc9b61305b2013f9fea2 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:09 2008 +0100 cmd64x: remove /proc/ide/cmd64x This belongs to user-space (and only if really needed). text data bss dec hex filename 3874 180 28 4082 ff2 drivers/ide/pci/cmd64x.o.before 2231 180 0 2411 96b drivers/ide/pci/cmd64x.o.after Additionaly to being bloat the code reported incorrect UDMA modes for the reserved values of UDIDETCR0/1 registers. Also while at it remove unused CNTRL_DIS_RA0/1 defines. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9e47be0c97f7357b80e91dc0632e9cce2eb025e0 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:09 2008 +0100 ide: remove broken disk byte-swapping support Remove broken disk byte-swapping support: - it can cause a data corruption on SMP (or if using PREEMPT on UP) - all data coming from disk are byte-swapped by taskfile_*_data() which results in incorrect identify data being reported by /proc/ide/ and IOCTLs - "hdx=bswap/byteswap" kernel parameter has been broken on m68k host drivers (including Atari/Q40 ones) since 2.5.x days (because of 'hwif' zero-ing) - byte-swapping is limited to PIO transfers (for working with TiVo disks on x86 machines using user-space solutions or dm-byteswap should result in much better performance because DMA can be used) For previous discussions please see: http://www.ussg.iu.edu/hypermail/linux/kernel/0201.0/0768.html http://lkml.org/lkml/2004/2/28/111 [ I have dm-byteswap device mapper target if somebody is interested (patch is for 2.6.4 though but I'll dust it off if needed). ] Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3a5015cc9d7051ce8e706ef48276d8484aac0c4b Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:09 2008 +0100 ide: add ide_busy_sleep() helper Add ide_busy_sleep() helper and use it in do_probe(), enable_nest() and probe_hwif(). As a nice side-effect this fixes a minor bug in do_probe() (the code was reading status register without any delay). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ce71ed9ba8b558d54c213d372a6cf8b302fa1fa4 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:09 2008 +0100 ide: make CONFIG_IDEPCI_PCIBUS_ORDER visible and deprecate it Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9ac59226ca95889ad620b0e63c0f700679fee5dd Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:09 2008 +0100 ide: move CONFIG_IDEPCI_PCIBUS_ORDER code to ide-scan-pci.c Signed-off-by: Bartlomiej Zolnierkiewicz commit c99c92c58757985096e2d195dc1631246d99d686 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:09 2008 +0100 ide: print banner message once per controller in m68k host drivers * Print banner message once per controller in m68k host drivers. * Change printk() level to KERN_INFO in buddha, falconide and gayle. * Add banner message to q40ide. This is basically a preparation for the future IDE layer changes. Cc: Geert Uytterhoeven Cc: Roman Zippel Signed-off-by: Bartlomiej Zolnierkiewicz commit 81ca691981da718727281238b435dcf1528d2fda Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:08 2008 +0100 ide: add ide_set_irq() inline helper There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 4f52a32994f9e05fb8ae1a9ba3f20cd0b55145b7 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:08 2008 +0100 ide-pmac: use custom hwif->sg_max_nents only if DMA support is enabled Move setting hwif->sg_max_nents from pmac_ide_setup_device() to pmac_ide_setup_dma(). Acked-by: Benjamin Herrenschmidt Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ce635f605e52a0d47aea5313ba406ada20e6028a Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:08 2008 +0100 rapide: remove write-only hwif->hwif_data Cc: Russell King Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 79127c37aa5d959c9ace40a869386f712b55ac6d Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:08 2008 +0100 ide: use ide_init_port_hw() in setup-pci.c * Move setting hwif->gendev.parent from ide_pci_setup_ports() to ide_hwif_configure(). * Always set hwif->io_ports in ide_hwif_configure(). * Use ide_init_port_hw() in ide_hwif_configure(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 6828fc9a919b06723599192300053ddf6f638c95 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:08 2008 +0100 ide: always use ide_std_init_ports() in setup-pci.c * ide_init_hwif_ports() call in setup-pci.c::ide_hwif_configure() doesn't depend on the default cotrol register offset, default IRQ or ppc_ide_md.ide_init_hwif implementations so ide_std_init_ports() can always be used. * Since 'base' is always non-zero and thus hwif->io_ports[IDE_DATA_OFFSET] is also non-zero always clear hwif->noprobe. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit aa79a2faa01ded0a6a4929dd37c059bef4890838 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:08 2008 +0100 au1xxx-ide: use ide_init_port_hw() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit a42bcc0f2fc380fac81a7ac525a70bbef44bb042 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:07 2008 +0100 au1xxx-ide: au_ide_probe() fixes * hwif->hold is always set in au_ide_probe() (few lines earlier), no need to set it again * hwif->{channel,select_data,config_data} should be always zero * autotune PIO also if CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA is defined Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ade2daf9c6e57845fe83a24e0a9fa1c03c6e91b1 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:07 2008 +0100 ide: make remaining built-in only IDE host drivers modular (take 2) * Make remaining built-in only IDE host drivers modular, add ide-scan-pci.c file for probing PCI host drivers registered with IDE core (special case for built-in IDE and CONFIG_IDEPCI_PCIBUS_ORDER=y) and then take care of the ordering in which all IDE host drivers are probed when IDE is built-in during link time. * Move probing of gayle, falconide, macide, q40ide and buddha (m68k arch specific) host drivers, before PCI ones (no PCI on m68k), ide-cris (cris arch specific), cmd640 (x86 arch specific) and pmac (ppc arch specific). * Move probing of ide-cris (cris arch specific) host driver before cmd640 (x86 arch specific). * Move probing of mpc8xx (ppc specific) host driver before ide-pnp (depends on ISA and none of ppc platform that use mpc8xx supports ISA) and ide-h8300 (h8300 arch specific). * Add "probe_vlb" kernel parameter to cmd640 host driver and update Documentation/ide.txt accordingly. * Make IDE_ARM config option visible so it can also be disabled if needed. * Remove bogus comment from ide.c while at it. v2: * Fix two issues spotted by Sergei: - replace ENOMEM error value by ENOENT in ide-h8300 host driver - fix MODULE_PARM_DESC() in cmd640 host driver Cc: Sergei Shtylyov Cc: Mikael Starvik Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz commit 8ac4ce742c66100931b6f2d7a36b0df08bc721fe Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:06 2008 +0100 ide: fix host drivers depending on ide_generic to probe for interfaces (take 2) * Add mpc8xx_ide_probe() to mpc8xx.c and call it from probe_for_hwifs(). * Convert ide_arm, ide-cris, ide-h8300, ide-pnp, buddha, falconide, gayle, macide, q40ide, cmd640 and mpc8xx host drivers to use ide_device_add(). This removes dependency on ide_generic for these drivers so update ide/Kconfig accordingly. v2: * ide_arm build fix (s/ide_device_idx/ide_device_add/) (Thanks to Christoph Lameter for reporting the problem). Cc: Mikael Starvik Cc: Geert Uytterhoeven Cc: Roman Zippel Signed-off-by: Bartlomiej Zolnierkiewicz commit ac87e41116c229fc1efaac0d17fdbfb2185e4629 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:06 2008 +0100 cmd640: fix dependency on IDE_GENERIC Make BLK_DEV_CMD640 select IDE_GENERIC. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 944000921d41c5aacfda6515ad3a0bbde52f8fa3 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:06 2008 +0100 ide: move ide_arm_init() call from init_ide_data() to ide_init() * Remove ide_init_port_data() call from ide_arm_init() and move ide_arm_init() call from init_ide_data() to ide_init(). This patch is a preparation for the future changes (and as a side-effect makes obsolete "idex=io[,ctl[,irq]]" kernel parameters work for ide_arm). Signed-off-by: Bartlomiej Zolnierkiewicz commit cbb010c180294a5242a7681555c28737d9dd26ab Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:06 2008 +0100 ide: drop 'initializing' argument from ide_register_hw() * Rename init_hwif_data() to ide_init_port_data() and export it. * For all users of ide_register_hw() with 'initializing' argument set hwif->present and hwif->hold are always zero so convert these host drivers to use ide_find_port()+ide_init_port_data()+ide_init_port_hw() instead (also no need for init_hwif_default() call since the setup done by it gets over-ridden by ide_init_port_hw() call). * Drop 'initializing' argument from ide_register_hw(). Cc: Geert Uytterhoeven Cc: Roman Zippel Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 57c802e84f9c759c3d1794a9dbe81bc10444df62 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:05 2008 +0100 ide: add ide_init_port_hw() helper * Add ide_init_port_hw() helper. * rapide.c: convert rapide_locate_hwif() to rapide_setup_ports() and use ide_init_port_hw(). * ide_platform.c: convert plat_ide_locate_hwif() to plat_ide_setup_ports() and use ide_init_port_hw(). * sgiioc4.c: use ide_init_port_hw(). * pmac.c: add 'hw_regs_t *hw' argument to pmac_ide_setup_device(), setup 'hw' in pmac_ide_{macio,pci}_attach() and use ide_init_port_hw() in pmac_ide_setup_device(). This patch is a preparation for the future changes in the IDE probing code. There should be no functionality changes caused by this patch. Cc: Russell King Cc: Anton Vorontsov Cc: Jeremy Higdon Cc: Benjamin Herrenschmidt Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8f8e8483f667d79739007b25f0e59a540fb9fa51 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:05 2008 +0100 sgiioc4: always init hwif->io_ports 'if (hwif->io_ports[IDE_DATA_OFFSET] != cmd_base)' is always true. Cc: Jeremy Higdon Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit b0d5bc27ce995adaafbc114b92fa76815025c94e Author: Olof Johansson Date: Sat Jan 26 20:13:05 2008 +0100 ide: Fix build break caused by "ide: remove ideprobe_init()" Fix build break of powerpc holly_defconfig: In file included from arch/powerpc/platforms/embedded6xx/holly.c:24: include/linux/ide.h:1206: error: 'CONFIG_IDE_MAX_HWIFS' undeclared here (not in a function) There's no need to have a sized array in the prototype, might as well turn it into a pointer. It could probably be argued that large parts of the include file can be covered under #ifdef CONFIG_IDE, but that's a larger undertaking. Signed-off-by: Olof Johansson Cc: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit 151575e4644f917d3a9f83c777ac3543284954f8 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:05 2008 +0100 ide: remove ideprobe_init() * Rename ide_device_add() to ide_device_add_all() and make it accept 'u8 idx[MAX_HWIFS]' instead of 'u8 idx[4]' as an argument. * Add ide_device_add() wrapper for ide_device_add_all(). * Convert ide_generic_init() to use ide_device_add_all(). * Remove no longer needed ideprobe_init(). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 71518342bfdfbe508ee325ab5e20984ba2da7de2 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:04 2008 +0100 ide: add hwif->chipset fixup to ide_device_add() Add hwif->chipset fixup identical to the one in ideprobe_init() to ide_device_add(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit aae73b4ed721912dbd4909ae5f618080c64594de Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:04 2008 +0100 swarm: set hwif->chipset hwif->chipset should be set if the hwif is claimed by host driver. Cc: Maciej W. Rozycki Signed-off-by: Bartlomiej Zolnierkiewicz commit 23d8e72c3a813f2121878120bc49de2cd390119b Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:04 2008 +0100 rapide: set hwif->chipset hwif->chipset should be set if the hwif is claimed by host driver. Cc: Russell King Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2e13093a834ddbbf92701d477e69c9018959a82c Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:04 2008 +0100 ide: fix probing for hosts with serialized or IRQ sharing interfaces After hwif_register_devices() IDE devices are ready to be used so the way in which ide_device_add() works currently is racy for hosts with serialized / IRQ sharing interfaces. Fix ide_device_add() by looping over interfaces for probe_hwif(), hwif_init() and hwif_register_devices() operations. Signed-off-by: Bartlomiej Zolnierkiewicz commit ba6560aa45fc498125b07130784ec5ca8a6922a6 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:04 2008 +0100 ide: kill probe_hwif_init() There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 795d74b51a853e1f5f2c81baf6666836a3866f08 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:03 2008 +0100 ide: don't try to unregister interfaces if 'initializing' in ide_register_hw() Host drivers using ide_register_hw() and 'initializing == 1': * ide-pnp - depends on ISA * ide_arm - ARM arch specific - initialized before all other host drivers * ide-cris - CRIS arch specific => IDE_ARCH_OBSOLETE_INIT is not defined - broken * ide-h8300 - H8300 arch specific => IDE_ARCH_OBSOLETE_INIT is not defined, no PCI * buddha/q40/gayle/macide/falconide - M68K arch specific => IDE_ARCH_OBSOLETE_INIT is not defined, no PCI Since the only host drivers which probe interfaces before the above ones are: * ali14xx/dtc2278/ht6560b/qd65xx/umc8672 - depend on ISA - require IDE_ARCH_OBSOLETE_INIT=y to work * PCI ones - depend on PCI don't try to unregister interfaces if 'initializing == 1' in ide_register_hw() (it is possible that built-in host drivers will claim all IDE interfaces but later ide-pnp host driver will try to unregister them - this change fixes it). Also skip hwif->hold check if 'initializing == 1' since it is set only by: * pmac - PPC && PMAC specific => no ISA * au1xxx-ide - MIPS && SOC_AU1200 specific => no ISA and use ide_find_port() helper to find free ide_hwifs[] slot. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f01393e48c44e30f7c9a36c8b98a07b0232580fe Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:03 2008 +0100 ide: merge ->fixup and ->quirkproc methods * Assign drive->quirk_list in ->quirkproc implementations: - hpt366.c::hpt3xx_quirkproc() - pdc202xx_new.c::pdcnew_quirkproc() - pdc202xx_old.c::pdc202xx_quirkproc() * Make ->quirkproc void. * Move calling ->quirkproc from do_identify() to probe_hwif(). * Convert it821x_fixups() to it821x_quirkproc() in it821x.c. * Convert siimage_fixup() to sil_quirkproc() in siimage.c, also remove no longer needed drive->present check from is_dev_seagate_sata(). * Convert ide_undecoded_slave() to accept 'drive' instead of 'hwif' as an argument. Then convert ide_register_hw() to accept 'quirkproc' argument instead of 'fixup' one. * Remove no longer needed ->fixup method. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 6dd9b8376adbee95ddc321cc83c7f641577e01f6 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:03 2008 +0100 ide: dump taskfile HOB registers in ide_tf_load() (if DEBUG is defined) * Dump taskfile HOB registers in ide_tf_load() (if DEBUG is defined). * Remove no longer needed DEBUG code from __ide_do_rw_disk(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 15ce926ada545cb078711bd9a18c083c93fa01d7 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:03 2008 +0100 ide: merge ->dma_host_{on,off} methods into ->dma_host_set method Merge ->dma_host_{on,off} methods into ->dma_host_set method which takes 'int on' argument. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f37aaf9edeba3f4ae10d22aefc09c06af9ea39b6 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:02 2008 +0100 ide: move drive->using_dma check to callers of ->dma_host_on method Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8ae60e34dd737ed3bef64b08130478393d9c4e8a Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:02 2008 +0100 atiixp: remove ->dma_host_on and ->dma_host_off methods * Enable/disable UDMA in atiixp_set_dma_mode(). * Remove no longer needed atiixp_dma_host_{on,off}() and save_mdma_mode[]. * Bump driver version. Signed-off-by: Bartlomiej Zolnierkiewicz commit 07a085ebd35ba0d4e2d88b9044563661dbca2471 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:01 2008 +0100 ide-cris: fix DMA methods * Rename cris_dma_{on,off}() to cris_dma_host_{on,off}(). * Remove no longer needed ->dma_off_quietly (IDE core has the needed code now). * Make cris_dma_host_on() void. I left fixing ide-cris after "kill dma_on/dma_off_quietly() methods" patch because: * Currently this driver is broken: cris_dma_on() (returns 'int') is assigned to hwif->dma_host_on (returns 'void') so the driver won't build. * ->ide_dma_on method was missing so the driver OOPS-es on attempt to enable DMA. * drive->using_dma was never set/cleared so DMA wouldn't be used anyway. Unfortunately it seems that ide-cris stays broken even after this patch: * V10: needs fixing - ide_init_default_hwifs() should be removed (IDE core no longer uses it) - same for ide_init_hwif_ports() and ide_default_{irq,io_base}() (they shouldn't be needed for ide-cris host driver) * V32: I'm unable to find a place which defines ETRAX_ARCH_V32 but I'm leaving fixing this to CRIS gurus. :) Cc: Mikael Starvik Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4a546e046d562bcd389149591fa5a534c8f832ca Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:01 2008 +0100 ide: remove ->ide_dma_on and ->dma_off_quietly methods from ide_hwif_t * Make ide_dma_off_quietly() and __ide_dma_on() always available. * Drop "__" prefix from __ide_dma_on(). * Check for presence of ->dma_host_on instead of ->ide_dma_on. * Convert all users of ->ide_dma_on and ->dma_off_quietly methods to use ide_dma_on() and ide_dma_off_quietly() instead. * Remove no longer needed ->ide_dma_on and ->dma_off_quietly methods from ide_hwif_t. * Make ide_dma_on() void. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 378f577f7f75aa18a0eeafb044a491dcd5aeaa3d Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:01 2008 +0100 au1xxx-ide: add ide_toggle_bounce() calls Add ide_toggle_bounce() call to ->ide_dma_on/->dma_off_quietly methods so they match generic __ide_dma_on()/ide_dma_off_quietly(). Since there is no PCI device there should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit c58096941284ceaea504b2f8c4d146f0f7c86b49 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:00 2008 +0100 icside: add ide_toggle_bounce() calls Add ide_toggle_bounce() call to ->ide_dma_on/->dma_off_quietly methods so they match generic __ide_dma_on()/ide_dma_off_quietly(). Since there is no PCI device there should be no functionality changes caused by this patch. Cc: Russell King Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit e5efba33289574a08674f7613eb0513bcb44d085 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:00 2008 +0100 sgiioc4: add ide_toggle_bounce() calls Add ide_toggle_bounce() call to ->ide_dma_on/->dma_off_quietly methods so they match generic __ide_dma_on()/ide_dma_off_quietly(). Tested on Altix by Jeremy. Acked-by: Jeremy Higdon Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8704de8f296fcf6a4b2ff6bfd9a63974ad909b3e Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:00 2008 +0100 cy82c693: add ->set_dma_mode method * Fix SWDMA/MWDMA masks in cy82c693_chipset. * Add IDE_HFLAG_CY82C693 host flag and use it in ide_tune_dma() to check whether the DMA should be enabled even if ide_max_dma_mode() fails. * Convert cy82c693_dma_enable() to become cy82c693_set_dma_mode() and remove no longer needed cy82c693_ide_dma_on(). Then set IDE_HFLAG_CY82C693 instead of IDE_HFLAG_TRUST_BIOS_FOR_DMA in cy82c693_chipset. * Bump driver version. As a result of this patch cy82c693 driver will configure and use DMA on all SWDMA0-2 and MWDMA0-2 capable ATA devices instead of relying on BIOS. Signed-off-by: Bartlomiej Zolnierkiewicz commit a530201afed5074dac69b29c519a1df59da97945 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:13:00 2008 +0100 cy82c693: correct DMA modes clipping * Mask device DMA masks by ATA_{S,M}WDMA2 in cy82c693_ide_dma_on(). * Remove clipping of DMA modes by id->tDMA in cy82c693_dma_enable(): - id->tDMA may not be defined on newer devices - id->vendor6/id->tDMA word is in LE endianness (cy82c693 seems to be Alpha specific though) * Bump driver version. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit aea5d375600f132537adf45942c0fbdcd25eb995 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:12:59 2008 +0100 ide: (hopefully) fix VDMA for CS5520 * Set the correct hwif->dma_base for the second channel in ide_get_or_set_dma_base(). * Remove DMA enable code from cs5520_set_pio_mode(), this can be handled by the generic ->dma_host_on method now. * Add VDMA check to ide_config_drive_speed(). * drive->using_dma was never enabled since cs5520 host driver's ->ide_dma_on method overrided the generic ->ide_dma_on (so __ide_dma_on() was never called, drive->using_dma was never set and VDMA was never used since it depends on drive->using_dma). Fix it by using ->dma_host_on method instead of ->ide_dma_on (also add matching ->dma_host_off method). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 29ec683f019608ca0cb6cf69011426ecb5daa69e Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:12:59 2008 +0100 ide-disk: add idedisk_set_doorlock() helper There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7b971df185807ceb358471e16ce8754ccfcc7de9 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:12:59 2008 +0100 serverworks: cleanup ->set_dma_mode method IDE core guarantees that ->set_dma_mode will be called only for DMA modes set in SWDMA/MWDMA/UDMA masks. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 08590556d65b2611c5821bc532ca30db776e6044 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:12:59 2008 +0100 sl82c105: remove no longer needed ->selectproc method * Program register 0x40 in sl82c105_resetproc(). * Remove no longer needed sl82c105_selectproc() and pci_set_drvdata() calls. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 6ae8b1efcc83103f2e323c9486f56a8671ca1880 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 26 20:12:58 2008 +0100 sl82c105: program DMA/PIO timings in ->dma_start/->ide_dma_end * Program DMA timings in sl82c105_dma_start() (->dma_start method) before starting DMA transfer. * Add sl82c105_dma_end() (->ide_dma_end method) to switch back to PIO timings when DMA transfer is complete. * In sl82c105_set_pio_mode() program timings regardless of ->using_dma setting and in sl82c105_set_dma_mode() only cache the new timings. * Remove no longer needed sl82c105_{ide_dma_on,off_quietly}(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5de865b4c5af253db19bdae3c0553952dc7eda1d Author: Nicolas Pitre Date: Mon Dec 3 17:15:52 2007 -0500 ARM kprobes: let's enable it Signed-off-by: Nicolas Pitre commit 796969104cab0d454dbc792ad0d12a4f365a8564 Author: Nicolas Pitre Date: Mon Dec 3 17:22:36 2007 -0500 ARM kprobes: special hook for the kprobes breakpoint handler The kprobes code is already able to cope with reentrant probes, so its handler must be called outside of the region protected by undef_lock. If ever this lock is released when handlers are called then this commit could be reverted. Signed-off-by: Nicolas Pitre commit 785d3cd286f0bf67d1bf692559b9ae5de12678f5 Author: Nicolas Pitre Date: Mon Dec 3 15:27:56 2007 -0500 ARM kprobes: prevent some functions involved with kprobes from being probed Signed-off-by: Nicolas Pitre commit d30a0c8bf99f0e6a7d8c57bd4524039585ffbced Author: Nicolas Pitre Date: Fri Dec 14 15:56:01 2007 -0500 ARM kprobes: don't let a single-stepped stmdb corrupt the exception stack If kprobes installs a breakpoint on a "stmdb sp!, {...}" instruction, and then single-step it by simulation from the exception context, it will corrupt the saved regs on the stack from the previous context. To avoid this, let's add an optional parameter to the svc_entry macro allowing for a hole to be created on the stack before saving the interrupted context, and use it in the undef_svc handler when kprobes is enabled. Signed-off-by: Nicolas Pitre commit 25ce1dd71b8326f2542cf030f68e0e64c3d94dc1 Author: Nicolas Pitre Date: Mon Dec 3 15:21:57 2007 -0500 ARM kprobes: add the kprobes hook to the page fault handler Signed-off-by: Nicolas Pitre commit 24ba613c9d6cad315f484e658288db152f1dc447 Author: Abhishek Sagar Date: Mon Jun 11 22:20:10 2007 +0000 ARM kprobes: core code This is a full implementation of Kprobes including Jprobes and Kretprobes support. This ARM implementation does not follow the usual kprobes double- exception model. The traditional model is where the initial kprobes breakpoint calls kprobe_handler(), which returns from exception to execute the instruction in its original context, then immediately re-enters after a second breakpoint (or single-stepping exception) into post_kprobe_handler(), each time the probe is hit.. The ARM implementation only executes one kprobes exception per hit, so no post_kprobe_handler() phase. All side-effects from the kprobe'd instruction are resolved before returning from the initial exception. As a result, all instructions are _always_ effectively boosted regardless of the type of instruction, and even regardless of whether or not there is a post-handler for the probe. Signed-off-by: Abhishek Sagar Signed-off-by: Quentin Barnes Signed-off-by: Nicolas Pitre commit 35aa1df4328340f38edc46f00837f08d33d49f63 Author: Quentin Barnes Date: Mon Jun 11 22:20:10 2007 +0000 ARM kprobes: instruction single-stepping support This is the code implementing instruction single-stepping for kprobes on ARM. To get around the limitation of no Next-PC and no hardware single- stepping, all kprobe'd instructions are split into three camps: simulation, emulation, and rejected. "Simulated" instructions are those instructions which behavior is reproduced by straight C code. "Emulated" instructions are ones that are copied, slightly altered and executed directly in the instruction slot to reproduce their behavior. "Rejected" instructions are ones that could be simulated, but work hasn't been put into simulating them. These instructions should be very rare, if not unencountered, in the kernel. If ever needed, code could be added to simulate them. One might wonder why this and the ptrace singlestep facility are not sharing some code. Both approaches are fundamentally different because the ptrace code regains control after the stepped instruction by installing a breakpoint after the instruction itself, and possibly at the location where the instruction might be branching to, instead of simulating or emulating the target instruction. The ptrace approach isn't suitable for kprobes because the breakpoints would have to be moved back, and the icache flushed, everytime the probe is hit to let normal code execution resume, which would have a significant performance impact. It is also racy on SMP since another CPU could, with the right timing, sail through the probe point without being caught. Because ptrace single-stepping always result in a different process to be scheduled, the concern for performance is much less significant. On the other hand, the kprobes approach isn't (currently) suitable for ptrace because it has no provision for proper user space memory protection and translation, and even if that was implemented, the gain wouldn't be worth the added complexity in the ptrace path compared to the current approach. So, until kprobes does support user space, both kprobes and ptrace are best kept independent and separate. Signed-off-by: Quentin Barnes Signed-off-by: Abhishek Sagar Signed-off-by: Nicolas Pitre commit 512f03fdae58b96568bac1beee4d3d3b34d4ead4 Author: eric miao Date: Mon Jan 14 15:50:54 2008 +0800 [ARM] pxa: skip registers saving/restoring if entering standby mode registers are retained during standby mode, thus it's not necessary to save/restore and checksum Signed-off-by: eric miao Signed-off-by: Russell King commit dd01b2fc79a567ae03d0c96ddf61eb4de729d36d Author: Russell King Date: Wed Jan 23 12:34:16 2008 +0000 [ARM] pxa: fix PXA27x resume When PXA27x wakes up, tick_resume_oneshot() tries to set a timer interrupt to occur immediately. Since PXA27x requires at least MIN_OSCR_DELTA, this causes us to flag an error. tick_program_event() then increments the next event time by min_delta_ns. However, by the time we get back to programming the next event, the OSCR has incremented such that we fail again. We repeatedly retry, but the OSCR is too fast for us - we never catch up, so we never break out of the loop - resulting in us never apparantly resuming. Fix this by doubling min_delta_ns. Signed-off-by: Russell King commit fd8e7af8d0fd3febc87607214d5dd545089edc71 Author: Russell King Date: Wed Jan 23 12:33:31 2008 +0000 [ARM] pxa: Avoid fiddling with CKEN register on suspend The PXA manuals indicate that when in standby or sleep modes, clocks to peripherals are shut off by the processor itself. Eg: PXA270 standby: "In standby mode, all clocks are disabled except those for the power manager and the RTC." PXA270 sleep: "In sleep mode, all clocks are disabled to the processor and to all peripherals except the RTC." PXA255 sleep: "In Sleep Mode, all processor and peripheral clocks are disabled, except the RTC." Therefore, it should be safe to leave the clock enable register alone prior to entering low power modes for these SoCs. Signed-off-by: Russell King commit 7b5dea12346f98b0624e00ef585246bfec8b0959 Author: Russell King Date: Mon Jan 7 22:18:30 2008 +0000 [ARM] pxa: Add PXA3 standby code hooked into the IRQ wake scheme Wakeup sources on PXA3 are enabled at two levels. First, the MFP configuration has to be set to enable which edges a specific pin will trigger a wakeup. The pin also has to be routed to a functional unit. Lastly, the functional unit must be enabled as a wakeup source in the appropriate AD*ER registers (AD2D0ER for standby resume.) This doesn't fit well with the IRQ wake scheme - we currently do a best effort conversion from IRQ numbers to functional unit wake enable bits. For instance, there's several USB client related enable bits but there's no corresponding IRQs to determine which you'd want. Conversely, there's a single enable bit covering several functional units. Signed-off-by: Russell King commit a10476d4ca52039a9240ac26376e15308b748b19 Author: Russell King Date: Tue Jan 8 15:25:01 2008 +0000 [ARM] pxa: Add zylonite MFP wakeup configurations Signed-off-by: Russell King commit d4fc858f9cfec5200a957c305d61ffc28c5d7796 Author: Russell King Date: Tue Jan 8 15:12:22 2008 +0000 [ARM] pxa: program MFPs for low power mode when suspending Hook the MFP code into the power management code so that the MFPs can be reconfigured when suspending and resuming. However, note the FIXME - low power mode MFP configuration may depend on the system state being entered. Also note that we have to clear any detected edge events prior to entering a low power mode - otherwise we immediately wake up. Signed-off-by: Russell King commit 7f7c8a619253c83cf3b1071df3b001811d0c1a6c Author: eric miao Date: Thu Jan 3 11:25:56 2008 +0800 [ARM] pxa: make MFP configuration processor independent There are two reasons for making the MFP configuration to be processor independent, i.e. removing the relationship of configuration bits with actual MFPR register settings: 1. power management sometimes requires the MFP to be configured differently when in run mode or in low power mode 2. for future integration of pxa{25x,27x} GPIO configurations The modifications include: 1. introducing of processor independent MFP configuration bits, as defined in [include/asm-arm/arch-pxa/mfp.h]: bit 0.. 9 - MFP Pin Number (1024 Pins Maximum) bit 10..12 - Alternate Function Selection bit 13..15 - Drive Strength bit 16..18 - Low Power Mode State bit 19..20 - Low Power Mode Edge Detection bit 21..22 - Run Mode Pull State and so on, 2. moving the processor dependent code from mfp.h into mfp-pxa3xx.h 3. cleaning up of the MFPR bit definitions 4. mapping of processor independent MFP configuration into processor specific MFPR register settings is now totally encapsulated within pxa3xx_mfp_config() 5. using of "unsigned long" instead of invented type of "mfp_cfg_t" according to Documentation/CodingStyle Chapter 5, usage of this in platform code will be slowly removed in later patches Signed-off-by: eric miao Signed-off-by: Russell King commit 0ad1fbc86045c2a27ff082c02344131be072699f Author: eric miao Date: Wed Jan 2 17:34:27 2008 +0800 [ARM] pxa: remove un-used pxa3xx_mfp_set_xxx() functions pxa3xx_mfp_set_xxx() functions are originally provided for overwriting MFP configurations performed by pxa3xx_mfp_config(), the usage of such a dirtry trick is not recommended, since there is currently no user of these functions, they are safely removed Signed-off-by: eric miao Signed-off-by: Russell King commit 83b6759e72a83c344c7fe96a37543b4546f17131 Author: eric miao Date: Wed Jan 2 16:45:06 2008 +0800 [ARM] pxa: introduce a new file mfp-pxa3xx.h for common pin configurations Signed-off-by: eric miao Signed-off-by: Russell King commit 533462fba545d271e087c3c632cf62ff04808e40 Author: Russell King Date: Fri Jan 4 22:43:36 2008 +0000 [ARM] pxa: omit PXA25x or PXA27x standby/sleep code as appropriate There's no point building standby/sleep code for processors which aren't configured. Signed-off-by: Russell King commit f79299ca85f6f8c8817bc38494f7caa0a7043c3b Author: eric miao Date: Wed Jan 2 08:24:49 2008 +0800 [ARM] pxa: clean up pxa{27x,25x}_init_pm() to empty if CONFIG_PM not defined Signed-off-by: eric miao Signed-off-by: Russell King commit 8785a8fbd5a1624dbabd7c782524450e902b722e Author: Russell King Date: Mon Jan 14 17:02:33 2008 +0000 [ARM] pxa: move memory controller registers into pxa2xx-regs.h PXA3 has a different memory controller from PXA2 platforms. Avoid clashing definitions by moving the PXA2 definitions to pxa2xx-regs.h Signed-off-by: Russell King commit 7664c400cc994542a27d1bacde54673880e7e179 Author: Russell King Date: Fri Jan 4 22:41:09 2008 +0000 [ARM] pxa: increase size of memory mapping The mapping for physical address 0x48000000 is not sufficient to allow access to the dynamic memory controller configuration registers on PXA3. These registers need to be accessed to reconfigure the SDRAM when waking from a low power mode. Signed-off-by: Russell King commit ec68e45b75adab3a78dea4ecf0e645127deee8ae Author: eric miao Date: Wed Dec 12 09:29:33 2007 +0800 [ARM] pxa: move pxa27x_device_ohci out of pxa27x.c for use with pxa3xx Signed-off-by: eric miao Signed-off-by: Russell King commit e77ec1898f9693a3572bdd03eb5d2256166d5464 Author: eric miao Date: Wed Dec 12 09:07:47 2007 +0800 [ARM] USB: update to allow pxa27x ohci driver to support pxa3xx Signed-off-by: eric miao Signed-off-by: Russell King commit a8bcf4108d6322ef157ae3c224a57beb8870af38 Author: eric miao Date: Wed Dec 12 08:53:25 2007 +0800 [ARM] USB: update pxa27x ohci driver to use clk support Signed-off-by: eric miao Signed-off-by: Russell King commit 88d456386c2b3ac96e7170f5bc555b3c43f5a951 Author: eric miao Date: Tue Dec 25 10:34:33 2007 +0800 [ARM] pxa: make OHCI register definitions available to both pxa27x and pxa3xx Signed-off-by: eric miao Signed-off-by: Russell King commit f92a629cf75b4f1df46fd8bc0a345ea3d3246281 Author: eric miao Date: Wed Dec 12 09:32:01 2007 +0800 [ARM] pxa: add clk of CKEN_USBHOST for pxa3xx Signed-off-by: eric miao Signed-off-by: Russell King commit 732ce16066964bb7b60947750e48374cc32bd310 Author: eric miao Date: Fri Nov 23 14:55:59 2007 +0800 [ARM] pxa: ensure SSP TX FIFO is empty instead of not full for pxa3xx Signed-off-by: eric miao Signed-off-by: Russell King commit 5a1f21b1e546fafe840944f02949c1a8a8725132 Author: Bridge Wu Date: Fri Dec 21 19:27:08 2007 +0800 [ARM] pxa: mmc: add 3rd host controller support for pxa310 This patch is to add the third mmc controller support _only_ for pxa310. On zylonite, the third controller support one slot. Signed-off-by: Bridge Wu Signed-off-by: Russell King commit 8d33b05581d1bc66e2356957bb2739e177a9cc36 Author: Bridge Wu Date: Fri Dec 21 19:15:36 2007 +0800 [ARM] pxa: mmc: add 2nd host controller support for pxa3xx This patch is to add the second mmc controller support for pxa3xx. It's valid for pxa3[0|1|2]0. On zylonite, the second controller has no slot. Signed-off-by: Bridge Wu Signed-off-by: Russell King commit fafc9d3fa35530c1a14e6743c477d7398b431e74 Author: Bridge Wu Date: Fri Dec 21 19:00:13 2007 +0800 [ARM] pxa: mmc: add 1st host controller support for pxa3xx This patchis to add the first mmc controller support for pxa3xx. It's valid for pxa3[0|1|2]0. On zylonite, the first controller supports two slots, this patch only support the first one right now. Signed-off-by: Bridge Wu Signed-off-by: Russell King commit 8f58de7c3932f659fff3b4e5fc14ca8ccf8ec873 Author: eric miao Date: Wed Dec 19 17:14:02 2007 +0800 [ARM] pxa: create arch/arm/mach-pxa/device.c for all on-chip devices Considering that generic.c is getting more and more bloated by device information, moving that part out side will be much cleaner. Signed-off-by: eric miao Signed-off-by: Russell King commit a333aeb73b45d2b6bbaaebd56f9e7e3a674ac039 Author: Philipp Zabel Date: Fri Dec 21 09:31:25 2007 +0100 [ARM] 4718/1: Fix redefinition warnings in PXA uncompressor code FFUART and friends are already defined as __REG(x) in pxa-regs.h. Instead of redefining them here, we can just provide the __REG macro. Including asm/arch/hardware.h is not an option because this physical addresses are needed here. This is a fix for the compiler warnings generated by 4663/1. Signed-off-by: Philipp Zabel Acked-by: Nicolas Pitre Signed-off-by: Russell King commit 9a788c6b78802b4a378be3f0d4c2da30da811620 Author: Bridge Wu Date: Fri Dec 14 10:40:25 2007 +0100 [ARM] 4711/1: pxa: mmc: move DMA specific code to platform layer This patch is to move pxamci DMA specific code to corresponding platform layer because using DRCMRRXMMC/DRCMRTXMMC in pxamci.c makes the driver code dedicated to platform which is not extensible. It is applicable to all pxa platforms. Signed-off-by: Bridge Wu Signed-off-by: Russell King commit 64eb036af42d3816364c4db49d93be3a4614389c Author: Bridge Wu Date: Thu Dec 13 07:24:30 2007 +0100 [ARM] 4709/1: pxa: mmc: add 26MHz support for pxa3[0|1]0 mmc controller pxa3[0|1]0 mmc controller can support 26MHz clock mode, they support SD spec 1.1 and MMC spec 4.0 which specify high speed mode. So host caps will include MMC_CAP_MMC_HIGHSPEED and MMC_CAP_SD_HIGHSPEED for pxa3[0|1]0. This patch is to add 26MHz support for them. pxa host clock will be set to 26MHz mode when the card supported max clock rate is higher than or equal to 26MHz. Signed-off-by: Bridge Wu Acked-by: Pierre Ossman Signed-off-by: Russell King commit 9e2697ff371b4380dca108a66860868c19d8c4b6 Author: Russell King Date: Fri Dec 14 13:30:14 2007 +0000 [ARM] pxa: add cpufreq support There have been patches hanging around for ages to add support for cpufreq to PXA255 processors. It's about time we applied one. Signed-off-by: Russell King commit cae0554126e0545f8fc37282db7a906df1ec5c3c Author: Russell King Date: Mon Dec 10 15:35:54 2007 +0000 [ARM] pxa: initialise SSP earlier Initialise the SSP driver at arch_initcall() time, so it's available for other drivers to use it. Signed-off-by: Russell King commit 16f159b1fc4f227a25cc4792e3804353e4777ebe Author: Russell King Date: Mon Dec 10 13:33:06 2007 +0000 [ARM] pxa: only register "cpld_irq" for the correct platform Only register the "cpld_irq" sysclass for mainstone/lubbock if we're running on one of those platforms. Signed-off-by: Russell King commit 2f1a74e5a2de0459139b85af95e901448726c375 Author: eric miao Date: Wed Nov 21 18:50:53 2007 +0800 [ARM] pxa: make pxa2xx_spi driver use ssp_request()/ssp_free() 1. make pxa2xx_spi.c use ssp_request() and ssp_free() to get the common information of the designated SSP port. 2. remove those IRQ/memory request code, ssp_request() has done that for the driver 3. the SPI platform device is thus made psuedo, no resource (memory/IRQ) has to be defined, all will be retreived by ssp_request() 4. introduce ssp_get_clk_div() to handle controller difference in clock divisor setting 5. use clk_xxx() API for clock enable/disable, and clk_get_rate() to handle the different SSP clock frequency between different processors Signed-off-by: eric miao Signed-off-by: Russell King commit 3dcb00ea58f6b5dc62b89bbfd54353a06e6af921 Author: eric miao Date: Fri Nov 30 18:26:56 2007 +0800 [ARM] pxa: use __raw_writel()/__raw_readl() for ssp_xxxx() 1. change SSP register definitions from absolute virtual addresses to offsets 2. use __raw_writel()/__raw_readl() for functions of ssp_xxxx() Signed-off-by: eric miao Signed-off-by: Russell King commit 0aea1fd565857f002e873a506d67c92ff913f1af Author: eric miao Date: Wed Nov 21 16:57:12 2007 +0800 [ARM] pxa: move SSP register definitions from pxa-regs.h to regs-ssp.h Signed-off-by: eric miao Signed-off-by: Russell King commit 88286450462216ca9b5c67c2175d75a5aebd5d0f Author: eric miao Date: Thu Dec 6 17:56:42 2007 +0800 [ARM] pxa: define "struct ssp_device" and add ssp_request()/ssp_free() 1. define "struct ssp_device" for SSP information, which is requested and released by function ssp_request()/ssp_free() 2. modify the ssp_init() and ssp_exit() to use the interface Signed-off-by: eric miao Signed-off-by: Russell King commit d8e0db1111b51558456466f66c9115d71b68e8b9 Author: eric miao Date: Mon Dec 10 17:54:36 2007 +0800 [ARM] pxa: add ssp devices and clk support for pxa25x/pxa27x/pxa3xx Signed-off-by: eric miao Signed-off-by: Russell King commit d2b82dded8c45daeaad332459222034a3fabd227 Author: eric miao Date: Mon Dec 10 17:51:29 2007 +0800 [ARM] pxa: define SSP platform devices for pxa2xx/pxa3xx Signed-off-by: eric miao Signed-off-by: Russell King commit 49db76eb5fd7d75babb4f3a5f30e86d1f8e82543 Author: Philipp Zabel Date: Thu Nov 22 17:57:30 2007 +0100 [ARM] 4663/1: Only putc uncompressor output into FFUART if it was enabled by the bootloader Also, use existing register and bit definitions instead of numbers. Signed-off-by: Philipp Zabel Acked-by: Nicolas Pitre Signed-off-by: Russell King commit 6bc54e69921a64e8f813de658aef645c960a2904 Author: Russell King Date: Mon Nov 12 22:49:58 2007 +0000 [ARM] pxa/sa1100: replace wakeup support Replace wakeup support using the alarm via the SA1100 RTC driver on SA1100 and PXA platforms. This allows RTC alarm wakeup to be enabled via sysfs using the conventional attributes. Acked-by: Alessandro Zummo Signed-off-by: Russell King commit 4ae7806f8b4bf9a1e74c82f3bd4e91d59bd3d697 Author: Russell King Date: Mon Nov 12 22:48:12 2007 +0000 [ARM] pxa: Don't wind OSCR backwards over suspend/resume OSCR is supposed to monotonically increment; however restoring it to a time prior to OSMR0 may result in it being wound backwards. Instead, if OSMR0 is within the minimum expiry time, wind OSMR0 forwards. Signed-off-by: Russell King commit a88264c24c44924a549f3d596b86d611b7ee9909 Author: Russell King Date: Mon Nov 12 22:45:16 2007 +0000 [ARM] pxa: remove periodic mode emulation support Apparantly, the generic time subsystem can accurately emulate periodic mode via the one-shot support code, so we don't need our own periodic emulation code anymore. Just ensure that we build support for one shot into the generic time subsystem. Signed-off-by: Russell King commit 3777f7748a5d10222a55ce88f753a19b16c17032 Author: Russell King Date: Thu Nov 8 11:22:48 2007 +0000 [ARM] pxa: mainstone: update backlight to use the backlight infrastructure Linux has framebuffer backlight support infrastructure which should be used to expose backlight attributes. Mainstone should use it. Signed-off-by: Russell King commit 03f5b2cee6cabd0400b9f89956c373a0b5d3802a Author: Russell King Date: Thu Nov 8 11:17:19 2007 +0000 [ARM] pxa: avoid always registering MMC, I2C, IrDA and framebuffer devices Only register the MMC, framebuffer, I2C and FICP devices when the platform supplies the necessary platform data structures for the devices. Signed-off-by: Russell King commit 8f86dda3ed8f05748f2351ae967926227a91ca2a Author: Herbert Valerio Riedel Date: Sun Dec 16 17:42:31 2007 +0100 [ARM] Orion: implement power-off method for QNAP TS-109/209 Since the PIC is attached to UART1, it doesn't need a kernel device driver of its own; but powering off is something that the kernel should do, so this patch forcefully configures the UART1 for 19200 baud and sends the character that tells the PIC to cut the power. Signed-off-by: Herbert Valerio Riedel Cc: Byron Bradley Acked-by: Nicolas Pitre commit 3faf2ee870c26f6a809af3f32368f96c357ed91b Author: Byron Bradley Date: Sat Dec 15 20:05:49 2007 +0000 [ARM] Orion: add support for QNAP TS-109/TS-209 This patch adds support for the Orion/MV88F5182 based QNAP TS-109/TS-209 NAS device. The driver for the S-35390A RTC chip on this board has been submitted to LKML separately. Signed-off-by: Byron Bradley Tested-by: Oyvind Repvik Tested-by: Tim Ellis Tested-by: Herbert Valerio Riedel Acked-by: Tzachi Perelstein commit 144aa3db1e8faa34bb33c61131494ac879a6d978 Author: Herbert Valerio Riedel Date: Mon Nov 12 09:51:36 2007 +0200 [ARM] Orion: I2C support The Orion I2C controller is the same one used in the Discovery family (MV643XX). This patch include the common platform_device stuff according to the existing i2c_mv64xxx.c conventions. Signed-off-by: Herbert Valerio Riedel Signed-off-by: Tzachi Perelstein commit 2f0a8df40ff008822e5570b3323c56622cd92c95 Author: Jean Delvare Date: Thu Nov 22 16:58:08 2007 +0100 [I2C] i2c-mv64xxx: Don't set i2c_adapter.retries I2C adapter drivers are supposed to handle retries on nack by themselves if they do, so there's no point in setting .retries if they don't. As this retry mechanism is going away (at least in its current form), clean this up now so that we don't get build failures later. Signed-off-by: Jean Delvare Acked-by: Mark A. Greer commit a0832798c05241f15e793805b6024919c07b8292 Author: Tzachi Perelstein Date: Mon Nov 12 19:38:51 2007 +0200 [I2C] Split mv643xx I2C platform support The motivation for this change is to allow other chips, like the Marvell Orion ARM SoC family, to use the existing i2c-mv64xxx driver. Signed-off-by: Tzachi Perelstein Acked-by: Nicolas Pitre Acked-by: Dale Farnsworth Acked-by: Mark A. Greer Acked-by: Jean Delvare commit 60ce1c20068ec2c138cdf9e5cbe583cc60883c62 Author: Martin Michlmayr Date: Wed Nov 14 08:58:30 2007 +0100 [ARM] Orion: enable CONFIG_RTC_DRV_M41T80 for D-Link DNS-323 The D-Link DNS-323 uses a M41T80 RTC chip, so enable this driver in the Orion defconfig. Signed-off-by: Martin Michlmayr Cc: Herbert Valerio Riedel Acked-by: Nicolas Pitre Acked-by: Russell King commit eb3cef84adec0fdba1a2531bcefe438a838a57dd Author: Tzachi Perelstein Date: Tue Nov 6 11:18:46 2007 +0200 [ARM] Orion defconfig Basic selections for Orion machines Signed-off-by: Tzachi Perelstein Signed-off-by: Nicolas Pitre Acked-by: Russell King commit 555a36561be191eb01658a5229aa11b4e4a8a7f0 Author: Herbert Valerio Riedel Date: Mon Nov 12 09:05:55 2007 +0100 [ARM] Orion: add support for Orion/MV88F5181 based D-Link DNS-323 With this patch USB, SATA (via sata_mv), Ethernet, RTC, LEDs and NOR Flash work. Signed-off-by: Herbert Valerio Riedel Acked-by: Tzachi Perelstein Acked-by: Russell King commit c9e3de941a1694aeab60a10bd39eb710c975010d Author: Herbert Valerio Riedel Date: Sun Nov 11 12:05:11 2007 +0100 [ARM] Orion: MV88F5181 support bits add MV88F5181 support bits required by D-link DNS-323 patch Signed-off-by: Herbert Valerio Riedel Acked-by: Tzachi Perelstein Acked-by: Russell King commit 1e78045306e9a402b096eef95864ddf313d402d8 Author: Ronen Shitrit Date: Tue Oct 23 15:14:42 2007 -0400 [ARM] Orion: Buffalo/Revogear Kurobox Pro support Only serial, NOR, NAND, PCI and Ethernet is activated at the moment. Signed-off-by: Ronen Shitrit Reviewed-by: Tzachi Perelstein Reviewed-by: Nicolas Pitre Reviewed-by: Lennert Buytenhek Acked-by: Russell King commit 817eb2109d28fcac8f4fd84a9ef3a761de4f8b50 Author: Ronen Shitrit Date: Wed Oct 17 14:51:34 2007 -0400 [ARM] OrionNAS RD board support serial, NOR, PCI and Ethernet is activated at the moment. Signed-off-by: Ronen Shitrit Reviewed-by: Tzachi Perelstein Reviewed-by: Nicolas Pitre Reviewed-by: Lennert Buytenhek Acked-by: Russell King commit e448b12cdacd4b26747480250df843b734896ae5 Author: Tzachi Perelstein Date: Tue Oct 23 15:14:42 2007 -0400 [ARM] Orion: support for Marvell Orion-2 (88F5281) Development Board Signed-off-by: Tzachi Perelstein Reviewed-by: Nicolas Pitre Reviewed-by: Lennert Buytenhek Acked-by: Russell King commit e07c9d85726e57914608a4e66a5dbb35863cd8fb Author: Tzachi Perelstein Date: Wed Oct 31 12:42:41 2007 +0200 [ARM] Orion: common platform setup for Gigabit Ethernet port The Orion Ethernet port is the same port used in the Discovery family (MV643XX). This patch include the common platform_device stuff according to the existing mv643xx_eth conventions. Signed-off-by: Tzachi Perelstein Reviewed-by: Lennert Buytenhek Acked-by: Russell King commit ca26f7d3ed3c841e561613a9ea2f44ca899e27de Author: Tzachi Perelstein Date: Tue Oct 23 15:14:42 2007 -0400 [ARM] Orion: platform device registration for UART, USB and NAND Signed-off-by: Tzachi Perelstein Reviewed-by: Nicolas Pitre Reviewed-by: Lennert Buytenhek Acked-by: Russell King commit 51cbff1d6f1946f97b847f9a144737eca20ede84 Author: Tzachi Perelstein Date: Tue Oct 23 15:14:42 2007 -0400 [ARM] Orion: system timer support Signed-off-by: Tzachi Perelstein Reviewed-by: Nicolas Pitre Reviewed-by: Lennert Buytenhek Acked-by: Russell King commit f00666140cb84cd80276c9a874198874890d5733 Author: Tzachi Perelstein Date: Thu Nov 15 10:57:48 2007 +0200 [ARM] Orion edge GPIO IRQ support This patch adds support for Orion edge sensitive GPIO IRQs. Signed-off-by: Tzachi Perelstein Signed-off-by: Nicolas Pitre CC: Thomas Gleixner commit 3085de6a82821e3d227e8fae7403dc7a5dc27932 Author: Tzachi Perelstein Date: Tue Oct 23 15:14:42 2007 -0400 [ARM] Orion: IRQ support Signed-off-by: Tzachi Perelstein Reviewed-by: Nicolas Pitre Reviewed-by: Lennert Buytenhek Acked-by: Russell King commit b11e9e020c8c6cdd7e7cc6d5178cce2ad0ac0784 Author: Herbert Valerio Riedel Date: Thu Nov 29 15:19:56 2007 +0100 [ARM] Orion: provide GPIO method for enabling hardware assisted blinking This is a pre-requisite for implementing proper hardware accelerated GPIO LED flashing, and since we want proper locking, it's sensible to provide the orion specific orion_gpio_set_blink() implementation within mach-orion/gpio.c. The functions orion_gpio_set_blink() and gpio_set_value() implicitly turn off each others state. Signed-off-by: Herbert Valerio Riedel Acked-by: Tzachi Perelstein Acked-by: Nicolas Pitre Acked-by: Russell King commit 01af72e4e36fba66cd7cfc2a628efee866c346d1 Author: Tzachi Perelstein Date: Tue Oct 23 15:14:42 2007 -0400 [ARM] Orion: GPIO support Signed-off-by: Tzachi Perelstein Signed-off-by: Nicolas Pitre Acked-by: David Brownell commit c67de5b3c0bb48ac56f14928e11f1f7d76add26f Author: Tzachi Perelstein Date: Tue Oct 23 15:14:42 2007 -0400 [ARM] Orion: programable address map support The Orion has fully programable address map. There's a separate address map for each of the device _master_ interfaces, e.g. CPU, PCI, PCIE, USB, Gigabit Ethernet, DMA/XOR engines, etc. Signed-off-by: Tzachi Perelstein Reviewed-by: Nicolas Pitre Reviewed-by: Lennert Buytenhek commit 038ee0832ee1b1e2bd2be4599cd535ea9aaaf658 Author: Tzachi Perelstein Date: Tue Oct 23 15:14:42 2007 -0400 [ARM] Orion: PCI support This patch adds support for PCI and PCI-E controllers in the Orion, Orion-NAS and Orion2. Signed-off-by: Tzachi Perelstein Reviewed-by: Nicolas Pitre Reviewed-by: Lennert Buytenhek Acked-by: Russell King commit 585cf17561d3174a745bec49c422c1a621c95fc4 Author: Tzachi Perelstein Date: Tue Oct 23 15:14:41 2007 -0400 [ARM] basic support for the Marvell Orion SoC family The Marvell Orion is a family of ARM SoCs with a DDR/DDR2 memory controller, 10/100/1000 ethernet MAC, and USB 2.0 interfaces, and, depending on the specific model, PCI-E interface, PCI-X interface, SATA controllers, crypto unit, SPI interface, SDIO interface, device bus, NAND controller, DMA engine and/or XOR engine. This contains the basic structure and architecture register definitions. Signed-off-by: Tzachi Perelstein Reviewed-by: Nicolas Pitre Reviewed-by: Lennert Buytenhek Acked-by: Russell King commit d910a0aa21c9c6e824744d0139bbe6a9ae676e2d Author: Tzachi Perelstein Date: Tue Nov 6 10:35:40 2007 +0200 [ARM] Feroceon: support old cores with ARM926 ID This enables the usage of some old Feroceon cores for which the CPU ID is equal to the ARM926 ID. Relevant for Feroceon-1850 and old Feroceon-2850. Signed-off-by: Tzachi Perelstein Signed-off-by: Nicolas Pitre Acked-by: Russell King commit 3ebb5a2b44b02bddd5fbf0f29d71f1df6146c2c3 Author: Nicolas Pitre Date: Wed Oct 31 15:31:48 2007 -0400 [ARM] add Feroceon support to compressed/head.S The cache replacement policy on the Feroceon core doesn't guarantee that reading through a linear chunk of memory flushes the entire cache. This is however what the default method for ARMv5TE cores does. Although the Feroceon is an ARMv5TE core, it implements the same cache handling instructions as the ARMv5TEJ cores, and must use it for proper cache flush. Signed-off-by: Nicolas Pitre Acked-by: Russell King commit 15754bf98ff564e8bb5296c7f5e67bc59b5700aa Author: Nicolas Pitre Date: Wed Oct 31 15:15:29 2007 -0400 [ARM] add ARMv5TEJ aware cache flush method to compressed/head.S The default ARMv4 method consisting of reading through some memory area isn't compatible with the cache replacement policy of some ARMv5TEJ compatible cache implementations. It is also a bit wasteful when a dedicated instruction can do the needed work optimally. It is hard to tell if all ARMv5TEJ cores will support the used CP15 instruction, but at least all those implementations Linux currently knows about (ARM926 and ARM1026) do support it. Tested on an OMAP1610 H2 target. Signed-off-by: Nicolas Pitre Tested-by: George G. Davis Acked-by: Russell King commit e50d64097b6e63278789ee3a4394d127bd6e4254 Author: Assaf Hoffman Date: Tue Oct 23 15:14:41 2007 -0400 [ARM] Marvell Feroceon CPU core support The Feroceon is a family of independent ARMv5TE compliant CPU core implementations, supporting a variable depth pipeline and out-of-order execution. The Feroceon is configurable with VFP support, and the later models in the series are superscalar with up to two instructions per clock cycle. This patch adds the initial low-level cache/TLB handling for this core. Signed-off-by: Assaf Hoffman Reviewed-by: Tzachi Perelstein Reviewed-by: Nicolas Pitre Reviewed-by: Lennert Buytenhek Acked-by: Russell King commit 86640cae60147b0cd2705145de8067e24db70a8b Author: Andrew Victor Date: Thu Jan 24 15:16:41 2008 +0100 [ARM] 4765/1: [AT91] AT91CAP9A-DK board support Add support for the Atmel AT91CAP9A-DK Evaluation Kit board. Signed-off-by: Stelian Pop Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 2b3b3516b6eeea1464e205b2dde9ebc9b7dd2ec8 Author: Andrew Victor Date: Thu Jan 24 15:10:39 2008 +0100 [ARM] 4764/1: [AT91] AT91CAP9 core support Add support for Atmel's AT91CAP9 Customizable Microcontroller family. Signed-off-by: Stelian Pop Signed-off-by: Andrew Victor Signed-off-by: Russell King commit da7a42d60ba214937ddb35152f336a4e4baa49a6 Author: Christian Glindkamp Date: Thu Jan 3 12:15:23 2008 +0100 [ARM] 4738/1: at91sam9261: Remove udc pullup enabling in board initialisation Currently the udc pullup is enabled by default on boot. If the device is connected to a host at this time, the host starts the negotiation before the udc/gadget driver is ready to handle it. Signed-off-by: Christian Glindkamp Acked-by: David Brownell Acked-by: Andrew Victor Signed-off-by: Russell King commit 1b41bdf68a72c1fd506ee3dbfbf954fd2eaef75c Author: Andrew Victor Date: Wed Jan 23 09:32:17 2008 +0100 [ARM] 4761/1: [AT91] Board-support for NEW_LEDs Add NEW_LEDs support for the following boards: - Cogent CSB337 - Atmel AT91RM9200-DK - Atmel AT91RM9200-EK - Atmel AT91SAM9263-EK Mostly based on patch from David Brownell. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 2743f0c1dcca54d6c80b0de1273b3f4e90051a85 Author: Andrew Victor Date: Wed Jan 23 09:29:46 2008 +0100 [ARM] 4760/1: [AT91] SPI CS0 errata on AT91RM9200 Due to errata regarding the handling of SPI CS0 on the AT91RM9200, the atmel_spi driver drives CS0 from the SPI controller and not as a GPIO pin. We therefore need to configure CS0 for use by the controller Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 6d2a8401d27e3eb8b71d09dd67e0e7d0085b5e29 Author: Andrew Victor Date: Wed Jan 23 09:28:27 2008 +0100 [ARM] 4759/1: [AT91] Buttons on CSB300 Support for the 3 GPIO-connected buttons on the CSB300 board. Based on wakeup testing code from David Brownell. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit a04ff1af9723607f5901b79c559357e37cee6823 Author: Andrew Victor Date: Wed Jan 23 09:27:06 2008 +0100 [ARM] 4758/1: [AT91] LEDs Move the LED initialization code out of the various *_devices.c files, and into leds.c. Also add support for NEW_LEDs. Patch from David Brownell. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit c8f385a631ef1f49d67a3798ca40dec36ccdf07d Author: Andrew Victor Date: Wed Jan 23 09:25:15 2008 +0100 [ARM] 4757/1: [AT91] UART initialization Modify the UART initialization to allow the board-initialization code to specify which pins are connected, and which pins should therefore be initialized. The current at91_init_serial() will continue to work as-is, but is marked as "deprecated" and will be removed once the board-specific files has been updated to use the new interface. As in the AVR32 code, we assume that the TX and RX pins will always be initialized. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit b7b272a8826a2332f689853792eb8c42477fec85 Author: Andrew Victor Date: Wed Jan 23 09:23:09 2008 +0100 [ARM] 4756/1: [AT91] Makefile cleanup Cleanup the main AT91 makefile. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 228235584f0dc1ab7f33f53d6cea8ee8a4d7f0da Author: Andrew Victor Date: Wed Jan 23 09:21:02 2008 +0100 [ARM] 4755/1: [AT91] NAND update Map the complete memory region (SZ_256M) as is done on the other AT91 processors. The SMC_SMARTMEDIA bit should be set in the EBI controller to enable the hardware NAND logic. (Patch from Sascha Erlacher) Signed-off-by: Andrew Victor Signed-off-by: Russell King commit bfbc32663d4846039f88c0eccc1956587d89c042 Author: Andrew Victor Date: Wed Jan 23 09:18:06 2008 +0100 [ARM] 4754/1: [AT91] SSC library support Core support of the Atmel SSC library for all Atmel AT91 processors. Based on David Brownell's initial patch for the AT91RM9200. Signed-off-by: Andrew Victor Acked-by: David Brownell Signed-off-by: Russell King commit c6686ff9df086f9473663c2e61c1173c56788b2e Author: Andrew Victor Date: Wed Jan 23 09:13:53 2008 +0100 [ARM] 4753/1: [AT91] Use DMA_BIT_MASK Replace hard-coded DMA mask (0xffffffff) with DMA_BIT_MASK(32) as defined in dma-mapping.h. Set "dma_mask" field for the UART platform_devices. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 884f5a6a8dc8646d5904f166adf3c558be57e1ab Author: Andrew Victor Date: Wed Jan 23 09:11:13 2008 +0100 [ARM] 4752/1: [AT91] RTT, RTC and WDT peripherals on SAM9 Add platform_device and initialization for the RTT (Real Time Timer) and WDT (Watchdog) integrated in the Atmel AT91SAM9 processors. For SAM9263, register both RTT peripherals. [From: David Brownell ] Provide platform_resources for RTT peripherals [From: David Brownell ] Add support for RTC peripheral on AT91SAM9RL (same RTC peripherals as AT91RM9200) [From: David Brownell ] Signed-off-by: Andrew Victor Signed-off-by: Russell King commit e2920802351b3e01a3e70a26bb1bbb22f29da4cb Author: Andrew Victor Date: Tue Jan 22 11:43:26 2008 +0100 [ARM] 4751/1: [AT91] ISI peripheral on SAM9263 Add support for the Image Sensor Interface (ISI) peripheral integrated in the Atmel AT91SAM9263 processor. Patch from MaLiK Signed-off-by: Andrew Victor Signed-off-by: Russell King commit f06e656fb4f6f41ae9cba0f5d6948a6c7f6250ba Author: Andrew Victor Date: Tue Jan 22 11:37:32 2008 +0100 [ARM] 4750/1: [AT91] STN LCD displays on SAM9261 Add support for STN LCD displays on Atmel AT91SAM9261-based boards. Patch from Nicolas Ferre. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit a50d49dbb72aff90601fda90ea37a02a606d2d90 Author: David Brownell Date: Fri Dec 28 02:04:52 2007 +0100 [ARM] 4734/1: at91sam9263ek: include IRQ for Ethernet PHY On the at92sam9263ek board, tell the MACB driver the IRQ used by its PHY. This patch is taken from Andrew Victor's 2.6.23-at91 patchset; it matches board schematics. (But it's currently a NOP since the MACB driver doesn't yet use PHY irqs.) Signed-off-by: David Brownell Signed-off-by: Russell King commit 5248c657898c018bcd23ef77759fa1d6c690bdf4 Author: David Brownell Date: Mon Nov 12 17:59:10 2007 +0100 [ARM] 4646/1: AT91: configurable HZ, default to 128 This makes HZ configurable on AT91, following the model used on OMAP. It defaults to a power of two on AT91rm9200 chips, avoiding rounding errors which come from dividing a 32 KiHz clock to generate scheduler irqs; and uses 100 on AT91sam926x chips, using MCK/16 (multi-MHZ). Signed-off-by: David Brownell Acked-by: Remy Bhmer Acked-by: Andrew Victor Signed-off-by: Russell King commit 156864f806baa4e1aa6eabd28ac45ecc92b31315 Author: Marc Pignat Date: Mon Dec 3 12:58:24 2007 +0100 [ARM] 4688/1: at91: speed-up irq processing Save N instructions on every interrupt processing (where N is the number of interrupts processed in any one IRQ exception). Signed-off-by: Marc Pignat Acked-by: Andrew Victor Signed-off-by: Russell King commit 9ebbec27da6d7f4762b73985ac4929acf061d48b Author: Andrew Victor Date: Tue Nov 20 13:34:56 2007 +0100 [ARM] 4657/1: AT91: Header definition update Add definitions of registers / bits found on some AT91SAM9 processors Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 7cbed2b507efd1bb19a574b8db14d5aad5936d6d Author: Andrew Victor Date: Tue Nov 20 08:46:53 2007 +0100 [ARM] 4656/1: AT91: Tweak interrupt priorities Slight tweaking of the default interrupt priorities (AIC) for the integrated peripherals on the AT91RM9200, AT91SAM9260, AT91SAM9261 and AT91SAM9263 processors. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 87fee013a23ad02821699aef5b76891b42959182 Author: Guennadi Liakhovetski Date: Tue Nov 13 19:49:25 2007 +0100 [ARM] 4647/1: at91rm9200: Remove redundant machine-type verification and manipulation AT91RM9200 needlessly verifies machine-type numbers of supported / known platforms and overwrites it for unknown ones. Remove it. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Russell King commit 5170874816fc1eb2b0b865a70b6f520268227908 Author: Andrew Victor Date: Tue Nov 20 09:40:12 2007 +0100 [ARM] 4610/2: AT91: Support for STN LCD on SAM9261-EK board. Add STN LCD support on the Atmel AT91SAM9261-EK board. Uses a black and white screen from Hitachi: SP06Q002. Signed-off-by: Nicolas Ferre Signed-off-by: Andrew Victor Signed-off-by: Russell King commit b66545e7ae80b4b0eef3f7884ef9260455070be9 Author: Andrew Victor Date: Fri Nov 23 16:09:10 2007 +0100 [ARM] 4602/3: AT91: debugfs interface to view GPIO pin state This patch adds a debug interface (if CONFIG_DEBUG_FS is selected) to display the basic configuration and current state of the GPIO pins on the Atmel AT91 processors. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit b696b6b448d3ec5f882aa346ce544e00763e7b3d Author: Gordon Farquharson Date: Sat Jan 26 08:35:44 2008 +0100 [ARM] 4770/1: GLAN Tank: correct physmap_flash_data width field This patch is required, in conjunction with the patch submitted to linux-mtd [1], to access the flash memory device in the GLAN Tank. Without the patches, the boot log shows physmap platform flash device: 00080000 at f0000000 ... physmap-flash physmap-flash.0: map_probe failed whereas with the patches, the boot log shows physmap platform flash device: 00080000 at f0000000 Found: ST M29W400DB physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank number of JEDEC chips: 1 cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness. ... cmdlinepart partition parsing not available Searching for RedBoot partition table in physmap-flash.0 at offset 0x70000 No RedBoot partition table detected in physmap-flash.0 The change made by this patch is required because the ST M29W400DB flash memory chip in the GLAN Tank is used in 16 bit bus mode (~BYTE pin is high when the board is powered on). [1] http://lists.infradead.org/pipermail/linux-mtd/2008-January/020291.html Signed-off-by: Gordon Farquharson Signed-off-by: Russell King commit 1d7d4f54b1337bf64605dc9cb3c540f67843be39 Author: Lucas Woods Date: Wed Nov 21 14:51:51 2007 -0800 [ARM] remove duplicate includes Signed-off-by: Lucas Woods Acked-by: Lennert Buytenhek Signed-off-by: Andrew Morton Signed-off-by: Russell King commit ddf4e42c6a109392851d8843e2699bffd3c476bf Author: Sascha Hauer Date: Tue Jul 24 18:37:01 2007 +0200 [ARM] CONFIG_DEBUG_STACK_USAGE In early 2.6 days stack utilization instrumentation was made configurable. Seems that arm misses the DEBUG_STACK_USAGE option. Signed-off-by: Sascha Hauer Signed-off-by: Russell King commit 70b6f2b4af709bded5220bcd8f3b4e255de20411 Author: Nicolas Pitre Date: Tue Dec 4 14:33:33 2007 +0100 [ARM] 4689/1: small comment wrap fix Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 7b544c99e0328937932022da3cbdd38cf3f072ec Author: George G. Davis Date: Sat Dec 1 05:49:41 2007 +0100 [ARM] 4687/1: Trivial arch/arm/kernel/entry-common.S comment fix Make the comment match the code Signed-off-by: George G. Davis Signed-off-by: Russell King commit d2936b1976a9c70d1cce4700c51f26d4b9495e9d Author: Pavel Roskin Date: Sun Nov 25 02:12:39 2007 +0100 [ARM] 4666/1: ixp4xx: fix sparse warnings in include/asm-arm/arch-ixp4xx/io.h Don't lose __iomem in casts. Use __force to cast __iomem addresses to integers. Use __force to cast u32 to __le32 and vice versa. Signed-off-by: Pavel Roskin Signed-off-by: Russell King commit e173dbf68869dd1fe64c16b8d6ae2fbe6a3b2f89 Author: Robert P. J. Day Date: Wed Nov 21 14:51:49 2007 -0800 [ARM] remove reference to non-existent MTD_OBSOLETE_CHIPS The CONFIG variable MTD_OBSOLETE_CHIPS was deleted in commit ba7cc09c9c9e29a57045dc5bbf843ac1cfad3283. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Russell King commit c5f333831fe2ff1656f954aabdb3eb8c276169cc Author: Alan Cox Date: Mon Nov 19 15:12:22 2007 +0000 [SERIAL] 21285: Report baud rate back via termios Currently reports back the requested rate not the result of the divides but thats an easy fix for someone with h/w Signed-off-by: Alan Cox Signed-off-by: Russell King commit 2a7057e306b198e1e0d7db8615d8e9c69b880913 Author: Jeff Garzik Date: Fri Oct 26 05:40:22 2007 -0400 [ARM] Remove pointless casts from void pointers, mostly in and around irq handlers. Signed-off-by: Jeff Garzik Signed-off-by: Russell King commit e8f2af17757b54db7f307b75e088489c480eb889 Author: Jeff Garzik Date: Fri Oct 26 05:40:25 2007 -0400 [ARM] Misc minor interrupt handler cleanups mach-integrator/pci_v3.c: no need to reference 'irq' arg, its constant mach-omap1/pm.c: remove extra whitespace arch/arm/mach-sa1100/ssp.c: remove braces around single C stmt arch/arm/plat-omap/mcbsp.c: - remove pointless casts from void* - make longer lines more readable Signed-off-by: Jeff Garzik Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit f1a6de9c7efc8e3fb535f1e61848f671f90b5cd5 Author: Jan Altenberg Date: Tue Oct 2 13:26:43 2007 -0700 [ARM] Remove at91_lcdc.h include/asm-arm/arch-at91/at91_lcdc.h (which is still present in latest git) has been superseeded by include/video/atmel_lcdc.h, so let's remove it. Signed-off-by: Jan Altenberg Cc: Andrew Victor Cc: Nicolas Ferre Signed-off-by: Andrew Morton Signed-off-by: Russell King commit df1a29032060680d258689448dca37bb003c4c2c Author: Alejandro Martinez Ruiz Date: Wed Oct 17 12:14:25 2007 +0200 [ARM] ARRAY_SIZE() cleanup Signed-off-by: Alejandro Martinez Ruiz Signed-off-by: Russell King commit 2fd2b1242810fb4d2ba36548fecc1f005c36770c Author: Russell King Date: Sat Jan 26 14:47:48 2008 +0000 [ARM] Update mach-types Signed-off-by: Russell King commit b5872db4a2ebe7dbc7a5e4013ae8ee37f3de3b97 Author: Catalin Marinas Date: Thu Jan 10 19:16:17 2008 +0100 [ARM] 4584/2: ARMv7: Add Advanced SIMD (NEON) extension support This patch enables the use of the Advanced SIMD (NEON) extension on ARMv7. The NEON technology is a 64/128-bit hybrid SIMD architecture for accelerating the performance of multimedia and signal processing applications. The extension shares the registers with the VFP unit and enabling/disabling and saving/restoring follow the same rules. In addition, there are instructions that do not have the appropriate CP number encoded, the checks being made in the call_fpe function. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 25ebee020bd34d1f4c5678538204f0b10bf9f6d5 Author: Catalin Marinas Date: Tue Sep 25 15:22:24 2007 +0100 [ARM] 4583/1: ARMv7: Add VFPv3 support This patch adds the support for VFPv3 (the kernel currently supports VFPv2). The main difference is 32 double registers (compared to 16). Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit c98929c07a01c9ec2e1e5253456acc7168da8b66 Author: Catalin Marinas Date: Thu Nov 22 18:32:01 2007 +0100 [ARM] 4582/2: Add support for the common VFP subarchitecture This patch allows the VFP support code to run correctly on CPUs compatible with the common VFP subarchitecture specification (Appendix B in the ARM ARM v7-A and v7-R edition). It implements support for VFP subarchitecture 2 while being backwards compatible with subarchitecture 1. On VFP subarchitecture 1, the arithmetic exceptions are asynchronous (or imprecise as described in the old ARM ARM) unless the FPSCR.IXE bit is 1. The exceptional instructions can be read from FPINST and FPINST2 registers. With VFP subarchitecture 2, the arithmetic exceptions can also be synchronous and marked by the FPEXC.DEX bit (the FPEXC.EX bit is cleared). CPUs implementing the synchronous arithmetic exceptions don't have the FPINST and FPINST2 registers and accessing them would trigger and undefined exception. Note that FPEXC.EX bit has an additional meaning on subarchitecture 1 - if it isn't set, there is no additional information in FPINST and FPINST2 that needs to be saved at context switch or when lazy-loading the VFP state of a different thread. The patch also removes the clearing of the cumulative exception flags in FPSCR when additional exceptions were raised. It is up to the user application to clear these bits. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit d142b6e77d394a4fcc0a42381b03852bd9c4e263 Author: Russell King Date: Mon Nov 12 21:55:12 2007 +0000 [ARM] sa1100: add clock source support Add generic clock source support for SA11x0 platforms. Signed-off-by: Russell King commit bfe645adf1a79b873b528556523abb46f281a5dc Author: Arve Hjønnevåg Date: Mon Nov 26 04:12:29 2007 -0800 [ARM] msm: dma support for MSM7X00A Signed-off-by: Brian Swetland commit 9e73c84c89b7c91ad5d6a141c58efbbe139f6b6c Author: Brian Swetland Date: Mon Nov 26 04:12:13 2007 -0800 [ARM] msm: board file for MACH_HALIBUT (QCT MSM7200A) Add support for the Qualcomm MSM7200A eval board. Common devices are defined in common.c, to avoid excessive cut'n'pasting them into other board files. Signed-off-by: Brian Swetland commit 3e4ea3728a38b224d8b35ff8a9281407f603aa20 Author: Arve Hjønnevåg Date: Mon Nov 26 04:11:58 2007 -0800 [ARM] msm: irq and timer support for ARCH_MSM7X00A - Vectored Interrupt Controller support - Timer support using the GPT and DGT timers Signed-off-by: Brian Swetland commit 3042102a28501510a409fe86962f20369e325cf2 Author: Brian Swetland Date: Mon Nov 26 04:11:43 2007 -0800 [ARM] msm: core platform support for ARCH_MSM7X00A - core header files for arch-msm - Kconfig and Makefiles to enable ARCH_MSM7X00A builds - MSM7X00A specific arch_idle - peripheral iomap and irq number definitions Signed-off-by: Brian Swetland commit 20118ff97823822bf4d52ccb528ce2b5042c3057 Author: Andrew Victor Date: Mon Oct 15 14:27:41 2007 +0100 [ARM] 4603/1: KS8695: debugfs interface to view pin state This patch adds a debug interface (if CONFIG_DEBUG_FS is selected) to display the basic configuration and current state of the GPIO pins on the Kendin/Micrel KS8695 processor. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 7d77ce8f67358c6b7708726f8fa230cd58d75b2c Author: Andrew Victor Date: Mon Oct 15 13:09:19 2007 +0100 [ARM] 4601/1: KS8695: PCI support This patch adds support for the PCI Host controller integrated in the Kendin/Micrel KS8695 processor. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit bd7b8858631bf335ce6e8b4a985b7f951041b572 Author: Martin Michlmayr Date: Thu Dec 27 14:09:07 2007 +0100 [ARM] 4732/1: GLAN Tank: register rtc-rs5c372 i2c device Use the new i2c framework to load rtc-rs5c372 for the GLAN Tank. Tested-by: Gordon Farquharson Signed-off-by: Martin Michlmayr Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit ecdc902bf87e57e47efb6cab3999d64bfe3b2dfd Author: Dan Williams Date: Thu Dec 13 00:20:05 2007 +0100 [ARM] 4708/1: iop: update defconfigs for 2.6.24 * iop13xx, iop33x, iop32x: re-enable the IOP_ADMA driver by default * iop32x: enable RS5C372 and RTC_CLASS support Signed-off-by: Dan Williams Signed-off-by: Russell King commit 6331acd78f7916db16ec20b50d7838bd4944cd27 Author: Herbert Valerio Riedel Date: Mon Nov 26 18:50:42 2007 +0100 [ARM] 4671/1: ep93xx: remove obsolete gpio_line_* operations With the new GPIO methods in place the old gpio_line_* methods are redundant, so this patch finally removes the old legacy gpio_line_* wrappers. Signed-off-by: Herbert Valerio Riedel Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit 3c9a071d77e007464952a2d41b6686d98eb3f0b8 Author: Herbert Valerio Riedel Date: Mon Nov 26 18:49:08 2007 +0100 [ARM] 4670/1: ep93xx: implement IRQT_BOTHEDGE gpio irq sense type Having a both-edge sensitive irq trigger type is required for the generic gpio-keys input driver; alas the ep93xx does not support both-edge gpio triggers in hardware, so this patch implements them by switching edge polarity on each triggered interrupt. This is the same approach as taken by the Orion SoC both-edge gpio irq support implementation. Signed-off-by: Herbert Valerio Riedel Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit 7ca722533979d47563e75a40c86c405153818b83 Author: Herbert Valerio Riedel Date: Mon Nov 26 18:45:59 2007 +0100 [ARM] 4669/1: ep93xx: simplify GPIO code and cleanups This patch renumbers the (virtual) GPIO line numbering to have all irq-capable gpio lines <= EP93XX_GPIO_LINE_MAX_IRQ by swapping the port f range with the port c range; This simplifies code such as #define IRQ_EP93XX_GPIO(x) (64 + (((x) + (((x) >> 2) & 8)) & 0x1f)) or if (line >= 0 && line < 16) { /* Port A/B */ } else if (line >= 40 && line < 48) { /* Port F */ } considerably; in addition to the renumbering this patch also introduces macro constants EP93XX_GPIO_LINE_MAX_IRQ and EP93XX_GPIO_LINE_MAX, and replaces most magic numbers by those and invocations of gpio_to_irq()/irq_to_gpio(). Signed-off-by: Herbert Valerio Riedel Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit 4e9f9fd5148004b983b29e15de66918e71da56c0 Author: Herbert Valerio Riedel Date: Mon Nov 26 18:41:02 2007 +0100 [ARM] 4668/1: ep93xx: implement new GPIO API Implement new GPIO API for ep93xx platform as defined in Documentation/gpio.txt and provide transitional __deprecated wrappers for the previous gpio_line_* functions. Signed-off-by: Herbert Valerio Riedel Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit d0bf37932ac98cc793da2164ac1a4656fbf34bbc Author: Matt Reimer Date: Thu Oct 18 18:02:43 2007 -0700 [MTD] [NAND] fix s3c2410 error correction The single-bit error correction was, well, incorrect. For determing which bit to correct it was using P1' P2' P4' P8' instead of P1 P2 P4 P8, and it was using P16' P32' P64' P128' P256' P512' P1024' P2048' instead of P16 P32 P64 P128 P256 P512 P1024 P2048. Signed-off-by: Matt Reimer Signed-off-by: David Woodhouse commit 9d40d2e3955185b69c264583d080eb3defcb05a0 Author: Martin Schwidefsky Date: Sat Jan 26 14:11:31 2008 +0100 [S390] replace lock_cpu_hotplug with get_online_cpus Git commit 86ef5c9a8edd78e6bf92879f32329d89b2d55b5a forgot a few lock_cpu_hotplug/unlock_cpu_hotplug pairs in arch/s390/kernel/smp.c Signed-off-by: Martin Schwidefsky commit 361f494d4e62ee5f7a971bf34945deeb69392159 Author: Peter Tiedemann Date: Sat Jan 26 14:11:30 2008 +0100 [S390] usage of s390dbf: shrink number of debug areas to use. Signed-off-by: Peter Tiedemann commit 5c81cdbeff72e7fc2eb62ee5dc26197e54f9a06c Author: Jan Engelhardt Date: Sat Jan 26 14:11:29 2008 +0100 [S390] constify function pointer tables. Signed-off-by: Jan Engelhardt Signed-off-by: Martin Schwidefsky commit 894cdde26b538c77b9943bc72f0570abf6e58e37 Author: Hisashi Hifumi Date: Sat Jan 26 14:11:28 2008 +0100 [S390] do local_irq_restore while spinning in spin_lock_irqsave. In s390's spin_lock_irqsave, interrupts remain disabled while spinning. In other architectures like x86 and powerpc, interrupts are re-enabled while spinning if IRQ is not masked before spin_lock_irqsave is called. The following patch re-enables interrupts through local_irq_restore while spinning for a lock acquisition. This can improve system response. [heiko.carstens@de.ibm.com: removed saving of pc] Signed-off-by: Hisashi Hifumi Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit dab5209cd878c146d9f6923f061d1c2725ff210f Author: Carsten Otte Date: Sat Jan 26 14:11:27 2008 +0100 [S390] add smp_call_function_mask This patch adds the s390 variant for smp_call_function_mask(). The implementation is pretty straight forward using the wrapper __smp_call_function_map() which already takes a cpumask_t argument. Signed-off-by: Carsten Otte Signed-off-by: Martin Schwidefsky commit 7dc1da9ffae5a344f7115d019e2be069d3e1bb8d Author: Stefan Haberland Date: Sat Jan 26 14:11:26 2008 +0100 [S390] dasd: fix loop in request expiration handling Add time to the 'expires' value to avoid a loop caused by the cqr termination function Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit 028fed8233b669e03def295a4e632b1b933720f9 Author: Martin Schwidefsky Date: Sat Jan 26 14:11:25 2008 +0100 [S390] Unused field / extern declaration in processor.h Remove extern declaration of non-existent last_task_used_math and remove unused field error_code from the thread_struct. Signed-off-by: Martin Schwidefsky commit 53360fb19672e9ca94d769694a18f46f6e0612a9 Author: WANG Cong Date: Sat Jan 26 14:11:24 2008 +0100 [S390] Remove TOPDIR from Makefile This patch removes TOPDIR from arch/s390/kernel/Makefile. Cc: Sam Ravnborg Signed-off-by: WANG Cong Signed-off-by: Martin Schwidefsky commit 8e09f21574ea3028d5629e5de759e0b196c690c5 Author: Stefan Weinhuber Date: Sat Jan 26 14:11:23 2008 +0100 [S390] dasd: add hyper PAV support to DASD device driver, part 1 Parallel access volumes (PAV) is a storage server feature, that allows to start multiple channel programs on the same DASD in parallel. It defines alias devices which can be used as alternative paths to the same disk. With the old base PAV support we only needed rudimentary functionality in the DASD device driver. As the mapping between base and alias devices was static, we just had to export an identifier (uid) and could leave the combining of devices to external layers like a device mapper multipath. Now hyper PAV removes the requirement to dedicate alias devices to specific base devices. Instead each alias devices can be combined with multiple base device on a per request basis. This requires full support by the DASD device driver as now each channel program itself has to identify the target base device. The changes to the dasd device driver and the ECKD discipline are: - Separate subchannel device representation (dasd_device) from block device representation (dasd_block). Only base devices are block devices. - Gather information about base and alias devices and possible combinations. - For each request decide which dasd_device should be used (base or alias) and build specific channel program. - Support summary unit checks, which allow the storage server to upgrade / downgrade between base and hyper PAV at runtime (support is mandatory). Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit 0ac30be461084f30ad6e22c6b91347e880ed41aa Author: Roland McGrath Date: Sat Jan 26 14:11:22 2008 +0100 [S390] single-step cleanup Signed-off-by: Roland McGrath Signed-off-by: Martin Schwidefsky commit ea29ee16e6ea908c830e70516d440828fd9129a8 Author: Martin Schwidefsky Date: Sat Jan 26 14:11:21 2008 +0100 [S390] Move NOTES and BUG_TABLE. Move the NOTES and BUG_TABLE section in the linker script to the read-only sections right after the text section. Signed-off-by: Martin Schwidefsky commit 5d67d164e6e2e7310cf4b682c418d70d59295eaf Author: Joe Perches Date: Sat Jan 26 14:11:20 2008 +0100 [S390] drivers/s390/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Martin Schwidefsky commit 5800266a7811afeba205e771dcad79023331011b Author: Joe Perches Date: Sat Jan 26 14:11:19 2008 +0100 [S390] include/asm-s390/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Martin Schwidefsky commit c2e3bbac72d5a954bf60c5fabeb7c82ec310035e Author: Joe Perches Date: Sat Jan 26 14:11:18 2008 +0100 [S390] arch/s390/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Martin Schwidefsky commit 48657d223d403af676696d313b421368f5e2208a Author: Michael Holzheu Date: Sat Jan 26 14:11:17 2008 +0100 [S390] Use diag308 subcodes 3 and 6 for reboot and dump when possible. This patch fixes a problem with the following scenario: 1. Linux booted from DASD "A" 2. Reboot from DASD "B" using "/sys/firmware/reipl/ccw/device" 3. Reboot DASD "B" Without this patch in step 3 on newer s390 systems under LPAR instead of DASD "B", DASD "A" will be booted. The reason is that in step 2 we use CCW reipl and in step 3 we use DIAG308 (subcode 3) reipl. DIAG308 does not notice the CCW reipl and still thinks that it has to reboot DASD "A". Before applying this fix, ensure to have MCF RJ9967101E or z9 GA3 base driver installed. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit a2fd64d6aaf498756f700eb1d07818efee046733 Author: Christian Borntraeger Date: Sat Jan 26 14:11:16 2008 +0100 [S390] vmemmap: allocate struct pages before 1:1 mapping We have seen an oops in an OOM situation, where show_mem tried to access the struct page of a dcss segment. The vmemmap code has already created the 1:1 mapping but failed allocating the struct pages. In the OOM case, show_mem now walks the memory. It uses pfn_valid to detect if it may access the struct page. In the case described above, the mapping was established and pfn_valid returned true. As the struct pages were not allocated, the kernel oopsed. We have to ensure that we have created the struct pages, before we add a mapping pointing to the pages. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit d09293aee9fd0f9f291fa3a0e4ca5012f514d083 Author: Michael Holzheu Date: Sat Jan 26 14:11:15 2008 +0100 [S390] Initialize sclp_ipl_info The sclp ipl information has not been initialized. Therefore the ipl loadparm and the "has_dump" flag have not been set correctly. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 1cb6bb4bbdfd7b6bbdd148c4a34c02066339806d Author: Heiko Carstens Date: Sat Jan 26 14:11:14 2008 +0100 [S390] Allocate and free cpu lowcores and stacks when needed/possible. No need to preallocate the per cpu lowcores and stacks. Savings are 28-32k per offline cpu. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit c11ca97ee9d2ed593ab7b5523def7787b46f398f Author: Denis Cheng Date: Sat Jan 26 14:11:13 2008 +0100 [S390] use LIST_HEAD instead of LIST_HEAD_INIT single list_head variable initialized with LIST_HEAD_INIT could almost always can be replaced with LIST_HEAD declaration, this shrinks the code and looks better. Signed-off-by: Denis Cheng Signed-off-by: Martin Schwidefsky commit c654749777e8624187b53fbb94cea91a7bf74347 Author: Michael Holzheu Date: Sat Jan 26 14:11:12 2008 +0100 [S390] Load disabled wait psw instead of stopping cpu on halt. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 99ca4e582d4a4088969681efff97be44d98421a1 Author: Michael Holzheu Date: Sat Jan 26 14:11:11 2008 +0100 [S390] kernel: Shutdown Actions Interface In case of a kernel panic it is currently possible to specify that a dump should be created, the system should be rebooted or stopped. Virtual sysfs files under the directory /sys/firmware/ are used for that configuration. In addition to that, there are kernel parameters 'vmhalt', 'vmpoff' and 'vmpanic', which can be used to specify z/VM commands, which are automatically executed in case of halt, power off or a kernel panic. This patch combines both functionalities and allows to specify the z/VM CP commands also via sysfs attributes. In addition to that, it enhances the existing handling of shutdown triggers (e.g. halt or panic) and associated shutdown actions (e.g. dump or reipl) and makes it more flexible. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit ceb3dfbae1d3faacaedfc64c913fd18cd3624f72 Author: Joe Perches Date: Sat Jan 26 14:11:10 2008 +0100 [S390] drivers/s390: Add missing "space" Signed-off-by: Joe Perches Signed-off-by: Martin Schwidefsky commit cfe7381cea542248766808e7de9a9e7bceecce1a Author: Joe Perches Date: Sat Jan 26 14:11:09 2008 +0100 [S390] arch/s390: Add missing "space" Signed-off-by: Joe Perches Signed-off-by: Martin Schwidefsky commit de3e0da1270bccb046885fbf1baa9140721de7e0 Author: Stefan Haberland Date: Sat Jan 26 14:11:08 2008 +0100 [S390] dasd: fix return value of dasd_generic_probe() Using the return value of ccw_device_set_online as return value for dasd_generic_probe() causes the DASD to fail setting online Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit 3f5615e012b4593943bbc2a6c3ce150bb33e1966 Author: Jan Glauber Date: Sat Jan 26 14:11:07 2008 +0100 [S390] crypto: move s390 Kconfig options. Move s390 crypto Kconfig options to drivers/crypto/Kconfig to have all hardware crypto devices in one place. This also makes messing up the kernel source tree easier for some people. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit 81ef16e763bb899053e06f6050603a305456a085 Author: Heiko Carstens Date: Sat Jan 26 14:11:06 2008 +0100 [S390] Remove appldata include from sysctl_check.c Forgot to remove this when removing the appldata binary sysctls. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 48483b3290988952a593c6e66ca354c19f1a4350 Author: Heiko Carstens Date: Sat Jan 26 14:11:05 2008 +0100 [S390] Get rid of additional_cpus kernel parameter. It caused only a lot of confusion. From now on cpu hotplug of up to NR_CPUS will work by default. If somebody wants to limit that then the possible_cpus parameter can be used. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 519580fc179be6d06a40edd918747bd5f0e1b899 Author: Heiko Carstens Date: Sat Jan 26 14:11:04 2008 +0100 [S390] Use new style spinlock initializer in __RWSEM_INITIALIZER. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 3b4beb31759765efdda9f9431aebfedf828bbfe0 Author: Heiko Carstens Date: Sat Jan 26 14:11:03 2008 +0100 [S390] Remove owner_pc member from raw_spinlock_t. Used to contain the address of the holder of the lock. But since the spinlock code is not inlined anymore all locks contain the same address anyway. And since in addtition nobody complained about that for ages its obviously unused. So remove it. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 9f4b0ba81f158df459fa2cfc98ab1475c090f29c Author: Heiko Carstens Date: Sat Jan 26 14:11:02 2008 +0100 [S390] Get rid of HOLES_IN_ZONE requirement. Align everything to MAX_ORDER so we can get rid of the extra checks. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 5c699714d01ac358c58be9943234081b36b69cdd Author: Heiko Carstens Date: Sat Jan 26 14:11:01 2008 +0100 [S390] Print kernel version in dump_stack() and show_regs(). Also print PREEMPT and/or SMP if the kernel was configured that way. Makes s390 look a bit more like other architectures. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 5fd9c6e214547a32d3da6ee4284c79004d667bc8 Author: Christian Borntraeger Date: Sat Jan 26 14:11:00 2008 +0100 [S390] Change vmalloc defintions Currently the vmalloc area starts at a dynamic address depending on the memory size. There was also an 8MB security hole after the physical memory to catch out-of-bounds accesses. We can simplify the code by putting the vmalloc area explicitely at the top of the kernel mapping and setting the vmalloc size to a fixed value of 128MB/128GB for 31bit/64bit systems. Part of the vmalloc area will be used for the vmem_map. This leaves an area of 96MB/1GB for normal vmalloc allocations. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit 8ffd74a0924e4e04f6455eb2d2187a9564678d01 Author: Martin Schwidefsky Date: Sat Jan 26 14:10:59 2008 +0100 [S390] Avoid warnings in tlblush.h Signed-off-by: Martin Schwidefsky commit 6f457e1a149eb39ee58d51913e8023fc27c52806 Author: Martin Schwidefsky Date: Sat Jan 26 14:10:58 2008 +0100 [S390] Fix tlb flushing with idte. The clear-by-asce operation of the idte instruction gets an asce (address-space-control-element) as argument to specify which TLBs need to get flushed. The current code passes a plain pointer to the start of the pgd without the additional bits which would make the pointer an asce. The current machines don't mind the difference but a future model might want to use the designation type control bits in the asce as a filter for the TLBs to flush. Signed-off-by: Martin Schwidefsky commit 4b28a8fe78bd593cdc4454cf28af71ca9556914d Author: Heiko Carstens Date: Sat Jan 26 14:10:57 2008 +0100 [S390] sclp: convert channel path configure code to use sync interface. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 08d07968277cd898c88bf12b7720d89c02c4f139 Author: Heiko Carstens Date: Sat Jan 26 14:10:56 2008 +0100 [S390] Standby cpu activation/deactivation. Add a new interface so that cpus can be put into standby state and configured state. Only offline cpus can be put into standby state or configured state. For that the new percpu sysfs attribute "configure" must be used. To put a cpu in standby state a "0" must be written to the attribute. In order to switch it into configured state a "1" must be written to the attribute. Only cpus in configured state can be brought online. In addition this patch introduces a static mapping of physical to logical cpus. As a result only the sysfs directories of present cpus will be created. To scan for new cpus the new sysfs attribute "rescan" must be used. Writing to /sys/devices/system/cpu/rescan will trigger a rescan of cpus and will create directories for new cpus. On IPL only configured cpus will be used. And on reboot/shutdown all cpus will remain in their current state (configured/standby). Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit c05ffc4f2b208da8ba7d3a9b5ab886c76f8939b5 Author: Michael Ernst Date: Sat Jan 26 14:10:55 2008 +0100 [S390] sclp: sysfs interface for SCLP cpi Signed-off-by: Michael Ernst Signed-off-by: Martin Schwidefsky commit dfa77f611ff295598e218aa0eb6efa73a5cf26d0 Author: Ursula Braun Date: Sat Jan 26 14:10:54 2008 +0100 [S390] qdio: set QDIO_ACTIVATE_TIMEOUT to 5s Current definition of QDIO_ACTIVATE_TIMEOUT results in value 0. Thus it may cause endless wait in function qdio_activate(). Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky commit 8d08be928eb9e90f1456d34aa0712fa9038674e0 Author: Sebastian Ott Date: Sat Jan 26 14:10:53 2008 +0100 [S390] qdio: Remove double checked value. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 90ab133603d066e850fc9ed297b6eb52f888dd25 Author: Peter Oberparleiter Date: Sat Jan 26 14:10:52 2008 +0100 [S390] cio: introduce timed recovery procedure Add a timed recovery procedure to reactivate ccw devices in cases where HW/VM events are not sufficient to allow for proper recovery of reappearing channel paths. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 808e48882316dd4a325cd1cc382516945edad77d Author: Michael Ernst Date: Sat Jan 26 14:10:51 2008 +0100 [S390] cio: memory leak in cio processing Allocated kernel memory for locks is not freed in case of subchannel found to be invalid. Signed-off-by: Michael Ernst Signed-off-by: Martin Schwidefsky commit 1a908c735aed44c8bbed303371202e416813b271 Author: Cornelia Huck Date: Sat Jan 26 14:10:50 2008 +0100 [S390] cio: Fix ungroup vs. machine check race in ccwgroup. There are two ways for a ccwgroup device to be unregistered: Via the ungroup attribute, or when on of the slave devices is killed by a machine check. As we have to unregister the ccwgroup device via a callback, we'll now have to check whether it hasn't been already unregistered because of a machine check. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 46258ab5e42eed5cbe20a83b732d6538c49ea2fe Author: Cornelia Huck Date: Sat Jan 26 14:10:49 2008 +0100 [S390] cio: Delete timer in ccw_device_verify_done(). Make sure pending timers are always deleted, even if we don't go through ccw_device_done(). Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit e82a1567e4b22eb035da2499d20ddd573c9acf75 Author: Peter Oberparleiter Date: Sat Jan 26 14:10:48 2008 +0100 [S390] cio: reduce cpu utilization during device scan Minimize calls to cpu intensive function get_subchannel_by_schid() by introducing function for_each_subchannel_staged() which temporarily caches the information about registered subchannels in a bitmap. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 4beee64685e116b01c47655daf6d88df87e053c8 Author: Cornelia Huck Date: Sat Jan 26 14:10:47 2008 +0100 [S390] cio: Set driver->owner on css, ccw and ccwgroup busses. Set the owner field in the embedded struct device_driver to the value provided in the {css,ccw,ccwgroup}_driver. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit db6a64238a927777e6e7b251927313f186455b1c Author: Cornelia Huck Date: Sat Jan 26 14:10:46 2008 +0100 [S390] cio: Use dev_{g,s}et_drvdata(). Also define helpers sch_{g,s}et_cdev() to make the intention more clear. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit b279a4f56d5476a0b9b0a97397f7a7bbe00b9b2f Author: Cornelia Huck Date: Sat Jan 26 14:10:45 2008 +0100 [S390] cio: I/O subchannel specific fields. Some fields may be !0 only for I/O subchannels. Add some checks where required. Also adapt cio_enable_subchannel() to make the caller specify the intparm, which makes it more generic. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 4e8e56c6713398f417317d449f50c08bf2756c66 Author: Peter Oberparleiter Date: Sat Jan 26 14:10:44 2008 +0100 [S390] cio: Extend adapter interrupt interface. From: Cornelia Huck Change the adapter interrupt interface in order to allow multiple adapter interrupt handlers to be registered. Indicators are now allocated by cio instead of the device driver. The qdio parts have been Acked-by: Ursula Braun Signed-off-by: Peter Oberparleiter Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit cd6b4f27b9bb2a6a5ec82b96b87c85421257be6c Author: Cornelia Huck Date: Sat Jan 26 14:10:43 2008 +0100 [S390] cio: Introduce subchannel->private. Introduce a private pointer in struct subchannel to store per-subchannel type data (cannot use dev->priv since this is already used for something else). Create a new header io_sch.h for I/O subchannel specific structures and instructions. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit bc698bcf8897363732226dc9ecba044771679996 Author: Cornelia Huck Date: Sat Jan 26 14:10:42 2008 +0100 [S390] cio: Cleanup debug feature usage. Cleanup cio_debug.h. Also make CIO_DEBUG add the "cio:" prefix to the printk string so that it isn't needed for the debug feature. Fix outdated comments for cio_debug_init() and clean it up. Enlarge cio_crw to the same size as cio_msg so we may actually find some relevant information there. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 25b7bb5838ab81b68a9de72df577103d8b4aba3c Author: Cornelia Huck Date: Sat Jan 26 14:10:41 2008 +0100 [S390] cio: Add css_driver_{register,unregister}. Add wrapper functions for driver_register and driver_unregister so that css drivers don't need to muck with struct device_driver directly. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 98c13c283a4e8b7f844f1f470abd7c756248fcc4 Author: Cornelia Huck Date: Sat Jan 26 14:10:40 2008 +0100 [S390] cio: Reset sch->driver. sch->driver needs to be reset to NULL on failed probe and after remove. We also need to check for sch->driver on shutdown. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 602b20f2bf335d0d5fce11cb2ade22aa74e7ba25 Author: Cornelia Huck Date: Sat Jan 26 14:10:39 2008 +0100 [S390] cio: css_driver: Use consistent parameters. Make all callbacks in css_driver take a struct subchannel (and not a struct device). Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 084325d80418adf4d75b10a9ceff1348f2e09163 Author: Cornelia Huck Date: Sat Jan 26 14:10:38 2008 +0100 [S390] cio: Use helpers instead of container_of(). - Introduce to_cssdriver. - Use to_xxx instead of container_of where possible. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 14ff56bbb3422cc465a12e81f5e1b5f06168aeda Author: Sebastian Ott Date: Sat Jan 26 14:10:37 2008 +0100 [S390] cio: Dump ccw device information in case of timeout. Information about a ccw device will be dumped in case of a ccw timeout. This can be enabled with the kernel parameter ccw_timeout_log. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 661ca0da3e1fa60c9e56f995fd83772ffa9ffe90 Author: Sebastian Ott Date: Sat Jan 26 14:10:36 2008 +0100 [S390] Cleanup in Documentation/kernel-parameters.txt. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 55852bed57a97b08ab56028f1054d48d45de3aec Author: Paul Mackerras Date: Sat Jan 26 16:40:33 2008 +1100 Revert "[POWERPC] Fake NUMA emulation for PowerPC" This reverts commit 5c3f5892a2db6757a72ce8b27cba90db06683e1d, basically because it changes behaviour even when no fake NUMA information is specified on the kernel command line. Firstly, it changes the nid, thus destroying the real NUMA information. Secondly, it also changes behaviour in that if a node ends up with no memory in it because of the memory limit, we used to set it online and now we don't. Also, in the non-NUMA case with no fake NUMA information, we do node_set_online once for each LMB now, whereas previously we only did it once. I don't know if that is actually a problem, but it does seem unnecessary. Signed-off-by: Paul Mackerras commit 75e06e2d7dd48ba655789e143e81c73617737890 Merge: 5bc9778... e080296... Author: Paul Mackerras Date: Sat Jan 26 15:30:35 2008 +1100 Merge branch 'for-2.6.25' of master.kernel.org:/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx commit 9b73e76f3cf63379dcf45fcd4f112f5812418d0a Merge: 50d9a12... 23c3e29... Author: Linus Torvalds Date: Fri Jan 25 17:19:08 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (200 commits) [SCSI] usbstorage: use last_sector_bug flag universally [SCSI] libsas: abstract STP task status into a function [SCSI] ultrastor: clean up inline asm warnings [SCSI] aic7xxx: fix firmware build [SCSI] aacraid: fib context lock for management ioctls [SCSI] ch: remove forward declarations [SCSI] ch: fix device minor number management bug [SCSI] ch: handle class_device_create failure properly [SCSI] NCR5380: fix section mismatch [SCSI] sg: fix /proc/scsi/sg/devices when no SCSI devices [SCSI] IB/iSER: add logical unit reset support [SCSI] don't use __GFP_DMA for sense buffers if not required [SCSI] use dynamically allocated sense buffer [SCSI] scsi.h: add macro for enclosure bit of inquiry data [SCSI] sd: add fix for devices with last sector access problems [SCSI] fix pcmcia compile problem [SCSI] aacraid: add Voodoo Lite class of cards. [SCSI] aacraid: add new driver features flags [SCSI] qla2xxx: Update version number to 8.02.00-k7. [SCSI] qla2xxx: Issue correct MBC_INITIALIZE_FIRMWARE command. ... commit b1aa5301b9f88a4891061650c591fb8fe1c1d1da Author: Stephen Smalley Date: Fri Jan 25 13:03:42 2008 -0500 selinux: fix labeling of /proc/net inodes The proc net rewrite had a side effect on selinux, leading it to mislabel the /proc/net inodes, thereby leading to incorrect denials. Fix security_genfs_sid to ignore extra leading / characters in the path supplied by selinux_proc_get_sid since we now get "//net/..." rather than "/net/...". Signed-off-by: Stephen Smalley Signed-off-by: James Morris commit 50d9a126240f9961cfdd063336bbeb91f77a7dce Merge: 29bd17a... 946fef4... Author: Linus Torvalds Date: Fri Jan 25 17:15:23 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: [CRYPTO] hifn795x: Disallow built-in hifn795x when HW_RANDOM is m commit 29bd17af7d8ffc16bb5eb286947495c166ea826e Merge: 2ba14a0... 2fe5c1d... Author: Linus Torvalds Date: Fri Jan 25 17:11:13 2008 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: (31 commits) ocfs2: clean up bh null checks ocfs2: document access rules for blocked_lock_list configfs: file.c fix possible recursive locking configfs: dir.c fix possible recursive locking configfs: Remove EXPERIMENTAL ocfs2: bump version number ocfs2/dlm: Clear joining_node on hearbeat node down ocfs2: convert byte order of constant instead of variable ocfs2: Update default cluster timeouts ocfs2: printf fixes ocfs2: Use generic_file_llseek ocfs2: Safer read_inline_data() ocfs2: Silence false lockdep warnings [PATCH 2/2] ocfs2: cluster aware flock() [PATCH 1/2] ocfs2: add flock lock type ocfs2: Local alloc window size changeable via mount option ocfs2: Support commit= mount option ocfs2: Add missing permission checks [PATCH 2/2] ocfs2: Implement group add for online resize [PATCH 1/2] ocfs2: Add group extend for online resize ... commit 2ba14a017a4ba8d2266316f481d4ad7400073d18 Merge: 99f1c97... a984f58... Author: Linus Torvalds Date: Fri Jan 25 17:08:28 2008 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: (67 commits) fix drivers/ata/sata_fsl.c double-decl [libata] Prefer SCSI_SENSE_BUFFERSIZE to sizeof() pata_legacy: Merge winbond support ata_generic: Cenatek support pata_winbond: error return pata_serverworks: Fix cable types and cosmetics pata_mpc52xx: remove un-needed assignment libata: fix off-by-one in error categorization ahci: factor out AHCI enabling and enable AHCI before reading CAP ata_piix: implement SIDPR SCR access ata_piix: convert to prepare - activate initialization libata: factor out ata_pci_activate_sff_host() from ata_pci_one() [libata] Prefer SCSI_SENSE_BUFFERSIZE to sizeof() pata_legacy: resychronize with upstream changes and resubmit [libata] pata_legacy: typo fix [libata] pata_winbond: update for new ->data_xfer hook pata_pcmcia: convert to new data_xfer prototype libata annotations and fixes libata: use dev_driver_string() instead of "libata" in libata-sff.c ata_piix: kill unused constants and flags ... commit 2fe5c1d7eb88830b09c863a4b5b3279dc120f3af Author: Mark Fasheh Date: Wed Jan 23 18:35:31 2008 -0800 ocfs2: clean up bh null checks If we know a buffer_head is non-null, then brelse() is unnecessary and put_bh() can be used instead. Also, an explicit check for NULL is unnecessary when using brelse(). This patch only covers buffer_head_io.c and resize.c, which have recently added code which exhibits this problem. Signed-off-by: Mark Fasheh commit 7ec373cf33533af6c50828a62f6b305c2d7fa931 Author: Mark Fasheh Date: Wed Jan 23 16:54:48 2008 -0800 ocfs2: document access rules for blocked_lock_list ocfs2_super->blocked_lock_list and ocfs2_super->blocked_lock_count have some usage restrictions which aren't immediately obvious to anyone reading the code. It's a good idea to document this so that we avoid making costly mistakes in the future. Signed-off-by: Mark Fasheh commit 116ba5d5ea1a5789a8c14b1087014007cada363b Author: Joonwoo Park Date: Wed Dec 26 12:09:57 2007 +0900 configfs: file.c fix possible recursive locking configfs_register_subsystem() with default_groups triggers recursive locking. it seems that mutex_lock_nested is needed. ============================================= [ INFO: possible recursive locking detected ] 2.6.24-rc6 #145 --------------------------------------------- swapper/1 is trying to acquire lock: (&sb->s_type->i_mutex_key#3){--..}, at: [] configfs_add_file+0x2e/0x70 but task is already holding lock: (&sb->s_type->i_mutex_key#3){--..}, at: [] configfs_register_subsystem+0x55/0x130 other info that might help us debug this: 1 lock held by swapper/1: #0: (&sb->s_type->i_mutex_key#3){--..}, at: [] configfs_register_subsystem+0x55/0x130 stack backtrace: Pid: 1, comm: swapper Not tainted 2.6.24-rc6 #145 [] show_trace_log_lvl+0x1a/0x30 [] show_trace+0x12/0x20 [] dump_stack+0x6e/0x80 [] __lock_acquire+0xe62/0x1120 [] lock_acquire+0x82/0xa0 [] mutex_lock_nested+0x98/0x2e0 [] configfs_add_file+0x2e/0x70 [] configfs_create_file+0x2c/0x40 [] configfs_attach_item+0x139/0x220 [] configfs_attach_group+0x14/0x140 [] configfs_attach_group+0xc9/0x140 [] configfs_register_subsystem+0xc6/0x130 [] init_netconsole+0x2b6/0x300 [] kernel_init+0x142/0x320 [] kernel_thread_helper+0x7/0x14 ======================= Signed-off-by: Joonwoo Park Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit ba611edfe406be745be95c332990c8e908c026c3 Author: Joonwoo Park Date: Wed Dec 26 12:09:57 2007 +0900 configfs: dir.c fix possible recursive locking configfs_register_subsystem() with default_groups triggers recursive locking. it seems that mutex_lock_nested is needed. ============================================= [ INFO: possible recursive locking detected ] 2.6.24-rc6 #141 --------------------------------------------- swapper/1 is trying to acquire lock: (&sb->s_type->i_mutex_key#3){--..}, at: [] configfs_attach_group+0x4f/0x190 but task is already holding lock: (&sb->s_type->i_mutex_key#3){--..}, at: [] configfs_register_subsystem+0x55/0x130 other info that might help us debug this: 1 lock held by swapper/1: #0: (&sb->s_type->i_mutex_key#3){--..}, at: [] configfs_register_subsystem+0x55/0x130 stack backtrace: Pid: 1, comm: swapper Not tainted 2.6.24-rc6 #141 [] show_trace_log_lvl+0x1a/0x30 [] show_trace+0x12/0x20 [] dump_stack+0x6e/0x80 [] __lock_acquire+0xe62/0x1120 [] lock_acquire+0x82/0xa0 [] mutex_lock_nested+0x98/0x2e0 [] configfs_attach_group+0x4f/0x190 [] configfs_register_subsystem+0xc6/0x130 [] init_netconsole+0x2b6/0x300 [] kernel_init+0x142/0x320 [] kernel_thread_helper+0x7/0x14 ======================= Signed-off-by: Joonwoo Park Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 02ac0499c0e3c62f2e2bf61a13870b36ea103564 Author: Joel Becker Date: Mon Dec 31 13:56:47 2007 -0800 configfs: Remove EXPERIMENTAL configfs has been alive and kicking for a while now. It underpins some non-EXPERIMENTAL subsystems, such as OCFS2's cluster stack. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 0e5ae032030387bf0926aa980f2105646ead2b47 Author: Mark Fasheh Date: Tue Nov 6 15:52:58 2007 -0800 ocfs2: bump version number Bump the printed version to 1.5.0. This helps us quickly identify which version of Ocfs2 a bug filer is running. Signed-off-by: Mark Fasheh commit 2d4b1cbb44f5557727c35895a83f82d023573fa9 Author: Tao Ma Date: Thu Jan 10 15:20:55 2008 +0800 ocfs2/dlm: Clear joining_node on hearbeat node down Currently the process of dlm join contains 2 steps: query join and assert join. After query join, the joined node will set its joining_node. So if the joining node happens to panic before the 2nd step, the joined node will fail to clear its joining_node flag because that node isn't in the domain map. It at least cause 2 problems. 1. All the new join request will fail. So no new node can mount the volume. 2. The joined node can't umount the volume since during the umount process it has to wait for the joining_node to be unknown. So the umount will be hanged. The solution is to clear the joining_node before we check the domain map. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 4092d49f705aa19750c39758fa1be767e162c48d Author: Marcin Slusarz Date: Tue Dec 25 15:52:59 2007 +0100 ocfs2: convert byte order of constant instead of variable Convert byte order of constant instead of variable it will be done at compile time vs run time. Remove unused le32_and_cpu. Signed-off-by: Marcin Slusarz Signed-off-by: Mark Fasheh commit 17104683d262fc6ab58488c4a3f0415012acc636 Author: Sunil Mushran Date: Tue Nov 6 16:10:23 2007 -0800 ocfs2: Update default cluster timeouts Lots of people are having trouble with the default timeouts, which are too low. These new values are derived from an informal survey taken on ocfs2-users, as well as data from bug reports. This should reduce the amount of cluster disconnects and subsequent fencing seen during normal workloads. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 634bf74d1e8a8d06727505ea4eb73e780d7aa246 Author: Jan Kara Date: Wed Dec 19 15:25:42 2007 +0100 ocfs2: printf fixes Explicitely convert loff_t to long long in printf. Just for sure... Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 32c3c0e2e515197ad240f5104116254975e6bbce Author: Jan Kara Date: Wed Dec 19 15:24:52 2007 +0100 ocfs2: Use generic_file_llseek We should use generic_file_llseek() and not default_llseek() so that s_maxbytes gets properly checked when seeking. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit d2849fb294d92d6eee0a811c688f1ecb39d26800 Author: Jan Kara Date: Wed Dec 19 15:24:09 2007 +0100 ocfs2: Safer read_inline_data() In ocfs2_read_inline_data() we should store file size in loff_t. Although the file size should fit in 32 bits we cannot be sure in case filesystem is corrupted. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 5fa0613ea58a80f69852b242337121bd39dc798e Author: Jan Kara Date: Fri Jan 11 00:11:45 2008 +0100 ocfs2: Silence false lockdep warnings Create separate lockdep lock classes for system file's i_mutexes. They are used to guard allocations and similar things and thus rank differently than i_mutex of a regular file or directory. Signed-off-by: Jan Kara Signed-off-by: Mark Fasheh commit 53fc622b9e829c8e632e45ef8c14f054388759c1 Author: Mark Fasheh Date: Thu Dec 20 16:49:04 2007 -0800 [PATCH 2/2] ocfs2: cluster aware flock() Hook up ocfs2_flock(), using the new flock lock type in dlmglue.c. A new mount option, "localflocks" is added so that users can revert to old functionality as need be. Signed-off-by: Mark Fasheh commit cf8e06f1a860d8680d6bb4ac8ec7d7724988e46f Author: Mark Fasheh Date: Thu Dec 20 16:43:10 2007 -0800 [PATCH 1/2] ocfs2: add flock lock type This adds a new dlmglue lock type which is intended to back flock() requests. Since these locks are driven from userspace, usage rules are much more liberal than the typical Ocfs2 internal cluster lock. As a result, we can't make use of most dlmglue features - lock caching and lock level optimizations in particular. Additionally, userspace is free to deadlock itself, so we have to deal with that in the same way as the rest of the kernel - by allowing a signal to abort a lock request. In order to keep ocfs2_cluster_lock() complexity down, ocfs2_file_lock() does it's own dlm coordination. We still use the same helper functions though, so duplicated code is kept to a minimum. Signed-off-by: Mark Fasheh commit 2fbe8d1ebe004425b4f7b8bba345623d2280be82 Author: Sunil Mushran Date: Thu Dec 20 14:58:11 2007 -0800 ocfs2: Local alloc window size changeable via mount option Local alloc is a performance optimization in ocfs2 in which a node takes a window of bits from the global bitmap and then uses that for all small local allocations. This window size is fixed to 8MB currently. This patch allows users to specify the window size in MB including disabling it by passing in 0. If the number specified is too large, the fs will use the default value of 8MB. mount -o localalloc=X /dev/sdX /mntpoint Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit d147b3d630edef1d34de6ea819787a1ac1b8603b Author: Mark Fasheh Date: Wed Nov 7 14:40:36 2007 -0800 ocfs2: Support commit= mount option Mostly taken from ext3. This allows the user to set the jbd commit interval, in seconds. The default of 5 seconds stays the same, but now users can easily increase the commit interval. Typically, this would be increased in order to benefit performance at the expense of data-safety. Signed-off-by: Mark Fasheh commit 0957f00796157564281ea6ff2cea7ef4f897775a Author: Mark Fasheh Date: Tue Dec 18 18:58:18 2007 -0800 ocfs2: Add missing permission checks Check that an online resize is being driven by a user with permission to change system resource limits. Signed-off-by: Mark Fasheh commit 7909f2bf835376a20d6dbf853eb459a27566eba2 Author: Tao Ma Date: Tue Dec 18 15:47:25 2007 +0800 [PATCH 2/2] ocfs2: Implement group add for online resize This patch adds the ability for a userspace program to request that a properly formatted cluster group be added to the main allocation bitmap for an Ocfs2 file system. The request is made via an ioctl, OCFS2_IOC_GROUP_ADD. On a high level, this is similar to ext3, but we use a different ioctl as the structure which has to be passed through is different. During an online resize, tunefs.ocfs2 will format any new cluster groups which must be added to complete the resize, and call OCFS2_IOC_GROUP_ADD on each one. Kernel verifies that the core cluster group information is valid and then does the work of linking it into the global allocation bitmap. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit d659072f736837e56b6433d58e5315ad1d4d5ccf Author: Tao Ma Date: Tue Dec 18 15:47:03 2007 +0800 [PATCH 1/2] ocfs2: Add group extend for online resize This patch adds the ability for a userspace program to request an extend of last cluster group on an Ocfs2 file system. The request is made via ioctl, OCFS2_IOC_GROUP_EXTEND. This is derived from EXT3_IOC_GROUP_EXTEND, but is obviously Ocfs2 specific. tunefs.ocfs2 would call this for an online-resize operation if the last cluster group isn't full. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 23c3e290fb9ce38cabc2822b47583fc8702411bf Author: Hans de Goede Date: Sun Jan 20 11:27:29 2008 +0100 [SCSI] usbstorage: use last_sector_bug flag universally This patch sets the last_sector_bug flag to 1 for all USB disks. This is needed to makes the cardreader on various HP multifunction printers work. Since the performance impact is negible we set this flag for all USB disks to avoid an unusual_devs.h nightmare. Signed-off-by: Hans de Goede Acked-by: Matthew Dharm Signed-off-by: James Bottomley commit 7f68fc28219be3b44ef4132f95c6506ff3e806b5 Author: Tao Ma Date: Tue Dec 18 15:46:37 2007 +0800 ocfs2: Reserve ioctl range We need to reserve at least two ioctls for online-resize. Reserve a small range of ioctls for Ocfs2 use in Documentation/ioctl-number.txt. This should give us enough room for future growth. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit e9d578a8f279d5e7d1e903f436aefc76ba330b43 Author: Tao Ma Date: Tue Dec 18 15:46:10 2007 +0800 ocfs2: Initalize bitmap_cpg of ocfs2_super to be the maximum. This value is initialized from global_bitmap->id2.i_chain.cl_cpg. If there is only 1 group, it will be equal to the total clusters in the volume. So as for online resize, it should change for all the nodes in the cluster. It isn't easy and there is no corresponding lock for it. bitmap_cpg is only used in 2 areas: 1. Check whether the suballoc is too large for us to allocate from the global bitmap, so it is little used. And now the suballoc size is 2048, it rarely meet this situation and the check is almost useless. 2. Calculate which group a cluster belongs to. We use it during truncate to figure out which cluster group an extent belongs too. But we should be OK if we increase it though as the cluster group calculated shouldn't change and we only ever have a small bitmap_cpg on file systems with a single cluster group. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 946fef4e14ebc2f14ab05f54789843621fe87f60 Author: Herbert Xu Date: Sat Jan 26 09:48:44 2008 +1100 [CRYPTO] hifn795x: Disallow built-in hifn795x when HW_RANDOM is m Currently it is possible to select HW_RANDOM as a module and have hifn795x built-in. This causes a build problem because hifn795x will then call hwrng_register which isn't built-in. This patch introduces a new config option to control the hifn795x RNG which lets us avoid this problem. Signed-off-by: Herbert Xu commit 1252c434e39dc60ca9e8ed682f3e04930e2c08de Author: Mark Fasheh Date: Tue Oct 30 12:09:03 2007 -0700 ocfs2: Documentation update Remove 'readpages' from the list in ocfs2.txt. Instead of having two identical lists, I just removed the list in the OCFS2 section of fs/Kconfig and added a pointer to Documentation/filesystems/ocfs2.txt. Signed-off-by: Mark Fasheh commit 628a24f5bdf31b795d596eaed71670579b96a9aa Author: Mark Fasheh Date: Tue Oct 30 12:08:32 2007 -0700 ocfs2: Readpages support Add ->readpages support to Ocfs2. This is rather trivial - all it required is a small update to ocfs2_get_block (for mapping full extents via b_size) and an ocfs2_readpages() function which partially mirrors ocfs2_readpage(). Signed-off-by: Mark Fasheh commit d69a3ad6a0e47b2aa9b2b2ddfd385752132a4d34 Author: Joel Becker Date: Fri Oct 5 14:31:44 2007 -0700 dlm: Split lock mode and flag constants into a sharable header. This allows others to use the DLM constants without being tied to the function API of fs/dlm. Signed-off-by: Joel Becker Signed-off-by: Steven Whitehouse Signed-off-by: David Teigland Signed-off-by: Mark Fasheh commit e63aecb651ba73dffc62f9608ee1b7ae2a0ffd4b Author: Mark Fasheh Date: Thu Oct 18 15:30:42 2007 -0700 ocfs2: Rename ocfs2_meta_[un]lock Call this the "inode_lock" now, since it covers both data and meta data. This patch makes no functional changes. Signed-off-by: Mark Fasheh commit c934a92d05b549dd2f25db72c5fc3cb9dcf1b611 Author: Mark Fasheh Date: Thu Oct 18 15:23:46 2007 -0700 ocfs2: Remove data locks The meta lock now covers both meta data and data, so this just removes the now-redundant data lock. Combining locks saves us a round of lock mastery per inode and one less lock to ping between nodes during read/write. We don't lose much - since meta locks were always held before a data lock (and at the same level) ordered writeout mode (the default) ensured that flushing for the meta data lock also pushed out data anyways. Signed-off-by: Mark Fasheh commit f1f540688eae66c274ff1c1133b5d9c687b28f58 Author: Mark Fasheh Date: Thu Oct 18 15:13:59 2007 -0700 ocfs2: Add data downconvert worker to inode lock In order to extend inode lock coverage to inode data, we use the same data downconvert worker with only a small modification to only do work for regular files. Signed-off-by: Mark Fasheh commit 34d024f84345807bf44163fac84e921513dde323 Author: Mark Fasheh Date: Mon Sep 24 15:56:19 2007 -0700 ocfs2: Remove mount/unmount votes The node maps that are set/unset by these votes are no longer relevant, thus we can remove the mount and umount votes. Since those are the last two remaining votes, we can also remove the entire vote infrastructure. The vote thread has been renamed to the downconvert thread, and the small amount of functionality related to managing it has been moved into fs/ocfs2/dlmglue.c. All references to votes have been removed or updated. Signed-off-by: Mark Fasheh commit 99f1c97dbdb30e958edfd1ced0ae43df62504e07 Merge: b31fde6... 8176d29... Author: Linus Torvalds Date: Fri Jan 25 14:41:24 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (81 commits) RDMA/cxgb3: Fix the T3A workaround checks IB/ipath: Remove unnecessary cast IPoIB: Constify seq_operations function pointer tables RDMA/cxgb3: Mark QP as privileged based on user capabilities RDMA/cxgb3: Fix page shift calculation in build_phys_page_list() RDMA/cxgb3: Flush the receive queue when closing IB/ipath: Trivial simplification of ipath_make_ud_req() IB/mthca: Update latest "native Arbel" firmware revision IPoIB: Remove redundant check of netif_queue_stopped() in xmit handler IB/ipath: Add mappings from HW register to PortInfo port physical state IB/ipath: Changes to support PIO bandwidth check on IBA7220 IB/ipath: Minor cleanup of unused fields and chip-specific errors IB/ipath: New sysfs entries to control 7220 features IB/ipath: Add new chip-specific functions to older chips, consistent init IB/ipath: Remove unused MDIO interface code IB/ehca: Prevent RDMA-related connection failures on some eHCA2 hardware IB/ehca: Add "port connection autodetect mode" IB/ehca: Define array to store SMI/GSI QPs IB/ehca: Remove CQ-QP-link before destroying QP in error path of create_qp() IB/iser: Add change_queue_depth method ... commit 6f7b056ea9c6fa978c79ca626eff43549df94dbb Author: Mark Fasheh Date: Mon Sep 24 15:09:41 2007 -0700 ocfs2: Remove fs dependency on ocfs2_heartbeat module Now that the dlm exposes domain information to us, we don't need generic node up / node down callbacks. And since the DLM is only telling us when a node goes down unexpectedly, we no longer need to optimize away node down callbacks via the umount map. Signed-off-by: Mark Fasheh commit 6561168cb442be8d2769dce663870b6a28573e16 Author: Mark Fasheh Date: Fri Sep 7 11:11:10 2007 -0700 ocfs2_dlm: Call node eviction callbacks from heartbeat handler With this, a dlm client can take advantage of the group protocol in the dlm to get full notification whenever a node within the dlm domain leaves unexpectedly. Signed-off-by: Mark Fasheh commit 8176d297c73a06e6076c9c31f6404047567f6324 Author: Steve Wise Date: Thu Jan 24 16:30:16 2008 -0600 RDMA/cxgb3: Fix the T3A workaround checks Correctly work around T3A issues by checking "hwtype != T3A" instead of "hwtype == T3B". This will be needed for new hardware types. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit f7fca1e8a8eeb6660396327b48995e3d9a7b6dc2 Author: Jan Engelhardt Date: Tue Jan 22 20:45:30 2008 +0100 IB/ipath: Remove unnecessary cast Signed-off-by: Jan Engelhardt Signed-off-by: Roland Dreier commit 1cf18d5aab5144866cb5221250905623b03a32a9 Author: Jan Engelhardt Date: Tue Jan 22 20:45:30 2008 +0100 IPoIB: Constify seq_operations function pointer tables Signed-off-by: Jan Engelhardt Signed-off-by: Roland Dreier commit c6b5b5047417c1becb5e48e748e3acb3801079a1 Author: Steve Wise Date: Mon Jan 21 14:42:13 2008 -0600 RDMA/cxgb3: Mark QP as privileged based on user capabilities This is needed to support zero-stag properly. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit d08ca26ceec4dfbcfdbada4ad728db742ccaecd1 Author: Steve Wise Date: Mon Jan 21 14:42:11 2008 -0600 RDMA/cxgb3: Fix page shift calculation in build_phys_page_list() The existing logic incorrectly maps this buffer list: 0: addr 0x10001000, size 0x1000 1: addr 0x10002000, size 0x1000 To this bogus page list: 0: 0x10000000 1: 0x10002000 The shift calculation must also take into account the address of the first entry masked by the page_mask as well as the last address+size rounded up to the next page size. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 856b5925047d73a85557203d124d62c5eea1fbd3 Author: Steve Wise Date: Mon Jan 21 14:42:09 2008 -0600 RDMA/cxgb3: Flush the receive queue when closing - for kernel mode cqs, call event notification handler when flushing. - flush QP when moving from RTS -> CLOSING. - fix logic to identify a kernel mode qp. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 4e1e93a4189a98cfb0e24865f7f44470ae5f805e Author: Ralph Campbell Date: Fri Jan 25 14:17:44 2008 -0800 IB/ipath: Trivial simplification of ipath_make_ud_req() Move the increment of s_hdrwords into the existing if block that tests if we're doing a send with immediate, to save one test of the opcode. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 950529e5c6efda8a6d3090a8fef9b904c833397a Author: Roland Dreier Date: Fri Jan 25 14:17:44 2008 -0800 IB/mthca: Update latest "native Arbel" firmware revision Signed-off-by: Roland Dreier commit 48fe5e594c979177b7f20affd027be56e8ea2767 Author: Krishna Kumar Date: Thu Nov 15 10:35:37 2007 +0530 IPoIB: Remove redundant check of netif_queue_stopped() in xmit handler qdisc_run() now tests for queue_stopped() before calling __qdisc_run(), and the same check is done in every iteration of __qdisc_run(), so another check is not required in the driver xmit. This means that ipoib_start_xmit() no longer needs to test netif_queue_stopped(); the test was added to fix earlier kernels, where the networking stack did not guarantee that the xmit method of an LLTX driver would not be called after the queue was stopped, but current kernels do provide this guarantee. To validate, I put a debug in the TX_BUSY path which never hit with 64 threads running overnight exercising this code a few 100 million times. Signed-off-by: Krishna Kumar Signed-off-by: Roland Dreier commit 3d68ea32611095c7e09409ac1b2a56da22fd5eb7 Author: Ralph Campbell Date: Thu Jan 10 00:50:41 2008 -0800 IB/ipath: Add mappings from HW register to PortInfo port physical state Add new mappings from port physical state (a HW register value) to the IB SubnGet(PortInfo) port physical state. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 6ac50727bda29e961385e4c40318dadbb5730193 Author: Dave Olson Date: Thu Aug 9 03:11:38 2007 -0700 IB/ipath: Changes to support PIO bandwidth check on IBA7220 The IBA7220 uses a count-based triggering mechanism, and therefore can't use the same bandwidth verification mechanism as older chips. To support the 7220, allow enabling and disabling armlaunch errors on application request. Minor robustness improvements as well. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit ddb70c83a5ce439271f1699e52a97785a8b45b81 Author: Dave Olson Date: Tue Jan 8 01:51:46 2008 -0800 IB/ipath: Minor cleanup of unused fields and chip-specific errors Clean up some unused header fields, minor related cleanup. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 359193ef433061515fe24d57e5bd5a1318d71bc3 Author: Michael Albaugh Date: Tue Jan 8 00:37:34 2008 -0800 IB/ipath: New sysfs entries to control 7220 features IBA7220 includes many more configurable IB settings. Getting/setting these is now grouped into a pair of chip specific functions accessed via function pointers. Provide sysfs access to these settings. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit c4bce8032ef4368063c84d665b19804878d63e7c Author: Dave Olson Date: Tue Jan 8 02:36:46 2008 -0800 IB/ipath: Add new chip-specific functions to older chips, consistent init This adds the new (sometimes empty) chip-specific functions to the older chips, and makes the initialization and related functions consistent across all 3 chips. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 7387273307139ebf8d7f7fb3bb79d1ca48bd71d6 Author: Dave Olson Date: Tue Jan 8 23:16:17 2008 -0800 IB/ipath: Remove unused MDIO interface code This code has been unused for some time, but still had leftovers from when it was used. Signed-off-by: Dave Olson commit 2ec8e662416cc9a171cdfe3d75e1ff00ba757859 Author: Joachim Fenkes Date: Thu Jan 17 15:07:24 2008 +0100 IB/ehca: Prevent RDMA-related connection failures on some eHCA2 hardware Some HW revisions of eHCA2 may cause an RC connection to break if they received RDMA Reads over that connection before. This can be prevented by assuring that, after the first RDMA Read, the QP receives a new RDMA Read every few million link packets. Include code into the driver that inserts an empty (size 0) RDMA Read into the message stream every now and then if the consumer doesn't post them frequently enough. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit bbdd267ef2796e96b461b8447b2026ce06e6ec4b Author: Hoang-Nam Nguyen Date: Thu Jan 17 15:05:45 2008 +0100 IB/ehca: Add "port connection autodetect mode" This patch enhances ehca with a capability to "autodetect" the ports being connected physically. In order to utilize that function the module option nr_ports must be set to -1 (default is 2 - two ports). This feature is experimental and will made the default later. More detail: If the user connects only one port to the switch, current code requires 1) port one to be connected and 2) module option nr_ports=1 to be given. If autodetect is enabled, ehca will not wait at creation of the GSI QP for the respective port to become active. Since firmware does not accept modify_qp() while the port is down at initialization, we need to cache all calls to modify_qp() for the SMI/GSI QP and just return a good return code. When a port is activated and we get a PORT_ACTIVE event, we replay the cached modify-qp() parms and re-trigger any posted recv WRs. Only then do we forward the PORT_ACTIVE event to registered clients. The result of this autodetect patch is that all ports will be accessible by the users. Depending on their respective cabling only those ports that are connected properly will become operable. If a user tries to modify a regular QP of a non-connected port, modify_qp() will fail. Furthermore, ibv_devinfo should show the port state accordingly. Note that this patch primarily improves the loading behaviour of ehca. If the cable is removed while the driver is operating and plugged in again, firmware will handle that properly by sending an appropriate async event. Signed-off-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit b8b50e353b85bc3c791dd2b99370ac300ebcd186 Author: Hoang-Nam Nguyen Date: Thu Jan 17 15:04:32 2008 +0100 IB/ehca: Define array to store SMI/GSI QPs Signed-off-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit 0c86e280fe8a08d4ae30b77e46a1e7da28d756c9 Author: Hoang-Nam Nguyen Date: Thu Jan 17 15:03:55 2008 +0100 IB/ehca: Remove CQ-QP-link before destroying QP in error path of create_qp() Signed-off-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit 6410627eb9804e541b83d220c8e914ce64475b31 Author: Erez Zilber Date: Thu Jan 17 11:53:17 2008 +0200 IB/iser: Add change_queue_depth method Add a .change_queue_depth handler to the scsi_host_template in the iSER driver. iscsi_change_queue_depth was added to iscsi_tcp in order to solve the problem of queue depth which was too high for some targets. It is also applicable for iSER. Signed-off-by: Erez Zilber Signed-off-by: Roland Dreier commit a4ef1451dfba92f51934e8331f634497b9ed3393 Author: Erez Zilber Date: Thu Jan 17 11:51:58 2008 +0200 IB/iser: Print information about unhandled RDMA CM events Some RDMA CM events are not supported or not handled in iSER. This patch adds some info (printk) for the user about them. Signed-off-by: Erez Zilber Signed-off-by: Roland Dreier commit a3cd7d9070be417a21905c997ee32d756d999b38 Author: Olaf Kirch Date: Wed Jan 16 18:37:16 2008 +0100 IB/fmr_pool: ib_fmr_pool_flush() should flush all dirty FMRs When a FMR is released via ib_fmr_pool_unmap(), the FMR usually ends up on the free_list rather than the dirty_list (because we allow a certain number of remappings before actually requiring a flush). However, ib_fmr_batch_release() only looks at dirty_list when flushing out old mappings. This means that when ib_fmr_pool_flush() is used to force a flush of the FMR pool, some dirty FMRs that have not reached their maximum remap count will not actually be flushed. Fix this by flushing all FMRs that have been used at least once in ib_fmr_batch_release(). Signed-off-by: Olaf Kirch Signed-off-by: Roland Dreier commit a656eb758fc6e6a42659ecf5ba34a5c5a2aeec17 Author: Olaf Kirch Date: Wed Jan 16 18:36:27 2008 +0100 IB/fmr_pool: Flush serial numbers can get out of sync Normally, the serial numbers for flush requests and flushes executed for an FMR pool should be in sync. However, if the FMR pool flushes dirty FMRs because the dirty_watermark was reached, we wake up the cleanup thread and let it do its stuff. As a side effect, the cleanup thread increments pool->flush_ser, which leaves it one higher than pool->req_ser. The next time the user calls ib_flush_fmr_pool(), the cleanup thread will be woken up, but ib_flush_fmr_pool() won't wait for the flush to complete because flush_ser is already past req_ser. This means the FMRs that the user expects to be flushed may not have all been flushed when the function returns. Fix this by telling the cleanup thread to do work exclusively by incrementing req_ser, and by moving the comparison of dirty_len and dirty_watermark into ib_fmr_pool_unmap(). Signed-off-by: Olaf Kirch commit 2fe7e6f7c9f55eac24c5b3cdf56af29ab9b0ca81 Author: Roland Dreier Date: Fri Jan 25 14:15:42 2008 -0800 IB/umad: Simplify and fix locking In addition to being overly complex, the locking in user_mad.c is broken: there were multiple reports of deadlocks and lockdep warnings. In particular it seems that a single thread may end up trying to take the same rwsem for reading more than once, which is explicitly forbidden in the comments in . To solve this, we change the locking to use plain mutexes instead of rwsems. There is one mutex per open file, which protects the contents of the struct ib_umad_file, including the array of agents and list of queued packets; and there is one mutex per struct ib_umad_port, which protects the contents, including the list of open files. We never hold the file mutex across calls to functions like ib_unregister_mad_agent(), which can call back into other ib_umad code to queue a packet, and we always hold the port mutex as long as we need to make sure that a device is not hot-unplugged from under us. This even makes things nicer for users of the -rt patch, since we remove calls to downgrade_write() (which is not implemented in -rt). Signed-off-by: Roland Dreier commit cf9542aa923982428fbf6a6f815c32ae2c3da8c7 Author: Roland Dreier Date: Fri Jan 25 14:15:42 2008 -0800 IB/ipath: Fix some sparse warnings about shadowed symbols There are a few places in the ipath driver where a variable is re-declared within a block where it is already in scope. Most of these extra declarations can simply be removed, since the variable from the outer scope is used in a way so that it does not need to keep its variable across the block with the re-declaration. Signed-off-by: Roland Dreier commit 1d6e658e8e3247fcf0fa90c40fdfebf2e85a610e Author: Roland Dreier Date: Fri Jan 25 14:15:42 2008 -0800 RDMA/cxgb3: Endianness annotation for irs field t3_rdma_init_wr.irs is a big-endian field, so declare it as __be32. This fixes one sparse warning. Signed-off-by: Roland Dreier commit 1a7d2dce4169ed42310926a5675fffd0986caa26 Author: Anton Blanchard Date: Mon Oct 15 00:49:07 2007 -0500 IB/ehca: Use round_jiffies() for EQ polling timer Use round_jiffies() to align ehca's 1-second timer with other timers and potentially save power by sleeping cores for longer. Signed-off-by: Anton Blanchard Acked-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit 5851bb893e5bb87150817c180ccddcf4e78db1b6 Author: Sean Hefty Date: Fri Jan 4 10:47:12 2008 -0800 RDMA/cma: Override default responder_resources with user value By default, the responder_resources parameter is set to that received in a connection request. The passive side may override this value when accepting the connection. Use the value provided by the passive side when transitioning the QP to RTR state, rather than the value given in the connect request. Without this change, the RTR transition may fail if the passive side supports fewer responder_resources than that in the request. For code consistency and to protect against QP destruction, restructure overriding initiator_depth to match how responder_resources is set. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 1f813ca830f51ed404195750bdba86c41a8050ba Author: Dave Olson Date: Sun Jan 6 21:12:38 2008 -0800 IB/ipath: Drop support for the original QHT7040 board The original QHT7040 had significant performance issues so there was an additional check in the driver for a newer serial number. Support for the small quantities of that board shipped has been dropped, so this patch removes the special checks to simplify the code. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 7da0498e7f0eb022107811b9d41697298329f6b4 Author: Arthur Jones Date: Sun Jan 6 21:12:38 2008 -0800 IB/ipath: Add ipath_read_ireg() abstraction Different chips have different width interrupt status registers, so add a flag and accessor function to decide which width register read to use. Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit 4ea61b548bc93fb87cec6f52059851076e2ff54d Author: Ralph Campbell Date: Sun Jan 6 21:12:38 2008 -0800 IB/ipath: Add flag and handling for chips with swapped register bug The 6110 had a bug that caused some registers to be swapped; it was fixed for the 7220 (and didn't affect the 6120 because it had fewer registers). This adds a flag and related code to handle that, and includes some minor cleanups in the same area. Signed-off-by: Ralph Campbell commit 60948a415859cb859e24f0dfe739069d66577466 Author: Ralph Campbell Date: Sun Jan 6 21:02:34 2008 -0800 IB/ipath: Port config has on-chip effects for 7220 The number of configured ports for the 7220 changes the number of eager TIDs available per port, for all but port 0 (kernel port) which remains constant, so add a field to give port0 count separate from the portdata structure. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit a18e26ae442001de62f6b84a923e8613347dc35f Author: Ralph Campbell Date: Sun Jan 6 21:02:34 2008 -0800 IB/ipath: Allow more flexible user register alignments User registers have different alignments on different chips (4KB on older, 64KB on 7220). Allow mapping the user registers on kernels with page sizes up to 64K. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 9e2ef36b5a83b3c8ec1153382559dff410cc4341 Author: Dave Olson Date: Sun Jan 6 21:02:34 2008 -0800 IB/ipath: Clean up some comments Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 3029fcc3d44530601f19fd8f551ac195d3a918d7 Author: Ralph Campbell Date: Sun Jan 6 21:02:34 2008 -0800 IB/ipath: Export hardware counters more consistently Various hardware counters are exported via the ipath file system (since it is binary data). The old file format was very dependent on the HW offsets for these registers. Newer HCA chips can have different counters at different offsets. This patch adds a level of indirection to make the file format consistent across HCAs. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 6c719cae0b91f577738dfb4007baee28f03e48a5 Author: Ralph Campbell Date: Sun Jan 6 21:02:33 2008 -0800 IB/ipath: MAD performance sampling registers support Add support for QLogic HCAs which have hardware performance sampling registers for PortSamplesControl and PortSamplesResult MADs. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 7aa54bd730df1468c90ae84b56ade7f322b44de7 Author: David Dillow Date: Mon Jan 7 18:23:41 2008 -0500 IB/srp: Add identifying information to log messages When you have multiple targets, it gets really confusing when you try to track down who did a reset when there is no identifying information in the log message, especially when the same extension ID is mapped through two different local IB ports. So, add an identifier that can be used to track back to which local IB port/remote target pair is the one having problems. Signed-off-by: David Dillow Acked-by: Pete Wyckoff Signed-off-by: Roland Dreier commit 586a693448676de5174e752426ced69ec79ab174 Author: Pradeep Satyanarayana Date: Fri Dec 21 13:08:23 2007 -0800 IPoIB/CM: Enable SRQ support on HCAs that support fewer than 16 SG entries Some HCAs (such as ehca2) support SRQ, but only support fewer than 16 SG entries for SRQs. Currently IPoIB/CM implicitly assumes all HCAs will support 16 SG entries for SRQs (to handle a 64K MTU with 4K pages). This patch removes that restriction by limiting the maximum MTU in connected mode to what the maximum number of SRQ SG entries allows. This patch addresses Signed-off-by: Pradeep Satyanarayana Signed-off-by: Roland Dreier commit fff09a8e6e726f0752254e1f46f7224e3bebb302 Author: David Dillow Date: Wed Dec 19 17:09:15 2007 -0500 IB/srp: Enable SG list chaining By default, the SCSI mid-layer seems to send down 512KB requests (sg_tablesize = 256), with some requests occasionally combined. By allowing the mid-layer to chain requests, we can easily grow to 1024KB or larger -- I've tested 4096KB I/O requests with no problems. I looked through the DMA paths on the hardware drivers to ensure they could take advantage of the SG chaining, and it seems that every one except ipath uses the system's DMA routines, which have been converted to handle chaining. ipath looks like it should be OK, but I have no way to test it. Signed-off-by: David Dillow [ Tested on ipath. - Roland ] Signed-off-by: Roland Dreier commit 8cba2077325b361dedf058c7dfc6c33691422497 Author: David Dillow Date: Wed Dec 19 17:08:43 2007 -0500 IB/srp: Respect target credit limit The current SRP initiator will send requests even if it has no credits available. The results of sending extra requests are vendor specific, but on some devices, overrunning credits will cost 85% of peak performance -- e.g. 100 MB/s vs 720 MB/s. Other devices may just drop the requests. This patch will tell the SCSI midlayer to queue requests if there are fewer than two credits remaining, and will not issue a task management request if there are no credits remaining. The mid-layer will retry the queued command once an outstanding command completes. The patch also removes the unlikely() in __srp_get_tx_iu(), as it is not at all unlikely to hit this limit under heavy load. Signed-off-by: David Dillow Signed-off-by: Roland Dreier commit a9e527e3f9f4510e9f3450ca3bc51bc3ef2854fd Author: Rolf Manderscheid Date: Mon Dec 10 13:38:41 2007 -0700 IPoIB: improve IPv4/IPv6 to IB mcast mapping functions An IPoIB subnet on an IB fabric that spans multiple IB subnets can't use link-local scope in multicast GIDs. The existing routines that map IP/IPv6 multicast addresses into IB link-level addresses hard-code the scope to link-local, and they also leave the partition key field uninitialised. This patch adds a parameter (the link-level broadcast address) to the mapping routines, allowing them to initialise both the scope and the P_Key appropriately, and fixes up the call sites. The next step will be to add a way to configure the scope for an IPoIB interface. Signed-off-by: Rolf Manderscheid Signed-off-by: Roland Dreier commit 755807a296f77ca7c31dc000afdfe1e5172bbf72 Author: Dave Olson Date: Thu Dec 6 00:28:02 2007 -0800 IB/ipath: Changes for fields moving from devdata to portdata This patch moves some arrays that were defined per-device to be variables defined in the per context data structure, thus avoiding extra kzalloc() calls. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit d8274869d742c3d8082e1428de47e54d12104928 Author: Dave Olson Date: Fri Dec 21 01:50:59 2007 -0800 IB/ipath: Generalize some xxx_SHIFT macros In preparation for upcoming chips that have different values for INFINIPATH_R_PORTENABLE_SHIFT, INFINIPATH_R_INTRAVAIL_SHIFT, INFINIPATH_R_TAILUPD_SHIFT, and portcfg_shift, remove the shared #defines and use device-specific variables instead. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit c59a80aca0bfc491d90534ed5606d5493eca24a3 Author: Ralph Campbell Date: Thu Dec 20 02:43:23 2007 -0800 IB/ipath: kreceive uses portdata rather than devdata kreceive is now portdata * instead of devdata * and other kreceive related cleanups.... Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit d65708f3a766116662ff9bac81088d52a49901f4 Author: Ralph Campbell Date: Fri Dec 21 16:47:04 2007 -0800 IB/ipath: Cleanup ipath_get_egrbuf() Remove an unused parameter and fix up the comment. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit cc65edcf0c174eff4367cfbc594a2f33c0d477fa Author: Ralph Campbell Date: Fri Dec 14 19:22:34 2007 -0800 IB/ipath: Fix RNR NAK handling This patch fixes a couple of minor problems with RNR NAK handling: - The insertion sort was causing extra delay when inserting ahead vs. behind an existing entry on the list. - A resend of a first packet of a message which is still not ready, needs another RNR NAK (i.e., it was suppressed when it shouldn't). - Also, the resend tasklet doesn't need to be woken up unless the ACK/NAK actually indicates progress has been made. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit e57d62a14775c9d37195debe837431c75168ef69 Author: Hoang-Nam Nguyen Date: Thu Dec 20 15:06:33 2007 +0100 IB/ehca: Forward event client-reregister-required to registered clients This patch allows ehca to forward event client-reregister-required to registered clients. One such event is generated by a switch eg. after its reboot. Signed-off-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit b3226184af6c13c9d5d38f13f0ef8e03f718bbf7 Author: Roland Dreier Date: Fri Jan 25 14:15:34 2008 -0800 IB/mlx4: Micro-optimize mlx4_ib_poll_one() Rather than byte-swapping cqe->g_mlpath_rqpn each time we extract a field from it, byte-swap it once into a temporary variable. This results in smaller, better code -- eg, on 32-bit x86: add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-5 (-5) function old new delta mlx4_ib_poll_cq 1188 1183 -5 Signed-off-by: Roland Dreier commit e57895d38991036f9ccf193b70fc5ebd5f6e6dc9 Author: Adrian Bunk Date: Tue Jan 1 15:47:10 2008 +0200 IB/mthca: Remove MSI support as scheduled Remove MSI support from the mthca driver, as scheduled. There is no reason to use MSI instead of MSI-X, since MSI-X performs better. No one has spoken up since MSI support was deprecated in commit f6be6fbe ("IB/mthca: Schedule MSI support for removal"), so apparently the MSI support is unused. Signed-off-by: Adrian Bunk Signed-off-by: Roland Dreier commit 38dc732f47948b9f91ae846806159a16aab1015f Author: Oliver Pinter Date: Fri Jan 25 14:15:32 2008 -0800 IB/iser: Typo fix (s/destory/destroy/) Signed-off-by: Oliver Pinter Signed-off-by: Roland Dreier commit bd5d7a8585bb196a03655b25d2ec6395a491cd01 Author: Erez Zilber Date: Fri Jan 25 14:15:32 2008 -0800 IB/iser: update URLs of iSER docs Signed-off-by: Erez Zilber commit 88314e4dda1e158aabce76429ef4d017b48f8b92 Author: Sean Hefty Date: Wed Nov 14 00:29:50 2007 -0800 RDMA/cma: add support for rdma_migrate_id() This is based on user feedback from Doug Ledford at RedHat: Events that occur on an rdma_cm_id are reported to userspace through an event channel. Connection request events are reported on the event channel associated with the listen. When the connection is accepted, a new rdma_cm_id is created and automatically uses the listen event channel. This is suboptimal where the user only wants listen events on that channel. Additionally, it may be desirable to have events related to connection establishment use a different event channel than those related to already established connections. Allow the user to migrate an rdma_cm_id between event channels. All pending events associated with the rdma_cm_id are moved to the new event channel. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 45d9478da106c749203056f56e94d0e370dfac87 Author: Vladimir Sokolovsky Date: Fri Dec 7 20:32:03 2007 -0800 RDMA/cma: Reenable device removal on passive side Enable conn_id remove on the passive side after connection establishment. This corrects an issue where the IB driver can't be unloaded after running applications over RDS. The 'dev_remove' counter does not reach 0 for established connections on the passive side. This problem is limited to device removal, and only occurs on the passive side if there are established connections. Signed-off-by: Vladimir Sokolovsky Reviewed-by: Sean Hefty Signed-off-by: Roland Dreier commit b61d92d8ae6aa13b17d1c31e69d123879cec2ee2 Author: Sean Hefty Date: Fri Nov 30 17:30:18 2007 -0800 IB/mad: Fix incorrect access to items on local_list In cancel_mads(), MADs are moved from the wait_list and local_list to a cancel_list for processing. However, the structures on these two lists are not the same. The wait_list references struct ib_mad_send_wr_private, but local_list references struct ib_mad_local_private. Cancel_mads() treats all items moved to the cancel_list as struct ib_mad_send_wr_private. This leads to a system crash when requests are moved from the local_list to the cancel_list. Fix this by leaving local_list alone. All requests on the local_list have completed are just awaiting processing by a queued worker thread. Bug (crash) reported by Dotan Barak . Problem with local_list access reported by Robert Reynolds . Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 9af57b7a2702f2cdf6ae499612e90b0f84bcb393 Author: Sean Hefty Date: Mon Jul 16 21:49:35 2007 -0700 IB/cm: Add basic performance counters Add performance/debug counters to track sent/received messages, retries, and duplicates. Counters are tracked per CM message type, per port. The counters are always enabled, so intrusive state tracking is not done. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 4fc8cd4919428f9b86f0b65e2f3245a1c186737f Author: Sean Hefty Date: Tue Nov 27 00:11:04 2007 -0800 IB/mad: Report number of times a mad was retried To allow ULPs to tune timeout values and capture retry statistics, report the number of times that a mad send operation was retried. For RMPP mads, report the total number of times that the any portion (send window) of the send operation was retried. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 547af76521b3fd4b9ec5c9a9975a17eadb95e6f6 Author: Sean Hefty Date: Mon Oct 22 21:52:54 2007 -0700 IB/multicast: Report errors on multicast groups if P_key changes P_key changes can invalidate multicast groups. Report errors on all multicast groups affected by a pkey change. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 94545e8c51fbf01d1c1cda7e6d017598d41e840a Author: Joe Perches Date: Mon Dec 17 11:30:36 2007 -0800 IB: Spelling fixes in comments Signed-off-by: Joe Perches Signed-off-by: Roland Dreier commit 5920869f1ec263fee4255ec71d333c118406a419 Author: Jack Morgenstein Date: Mon Dec 10 05:25:23 2007 +0200 mlx4_core: Fix max_eqs masking in QUERY_DEV_CAP log_max_eqs is a 4-bit field, not a 3-bit field in the response to the QUERY_DEV_CAP FW command, so we should mask with 0xf instead of 0x7 when reading it. Found by Yossi Leybovitch of Mellanox. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 3c8450860ba9d6279dbc969633eacf99161860d9 Author: Nick Piggin Date: Thu Dec 13 15:58:57 2007 -0800 IB/ipath: Convert from .nopage to .fault Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Roland Dreier commit a2f76cd69f4913079cad10670f8520ffe07f4067 Author: Ralph Campbell Date: Fri Nov 2 17:40:36 2007 -0700 IB/ipath: Add the work completion error code to the QP error debug output Add the work completion error code to the QP error debug output. This makes it easier to determine the cause of the error. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 2f01a7001131bbf3ce1e39252bf72aea2da034df Author: Arthur Jones Date: Wed Oct 17 18:18:29 2007 -0700 IB/ipath: Better comment for rmb() in ipath_intr() An internal code review found the comment here lacking -- update it with more specifics of how and why the rmb() is there. Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit 6276980138292056aab162f7eb98afe5243b2976 Author: Ralph Campbell Date: Mon Nov 26 23:44:15 2007 -0800 IB/ipath: Fix comments for ipath_create_srq() During a code review, someone noticed the comments didn't match the code. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 733d12813bd36ed7c727686ac1164f92f87a14a2 Author: Ralph Campbell Date: Thu Nov 8 19:53:01 2007 -0800 IB/ipath: Fix error returned from ib_resize_cq if new size smaller than # entries The gen2_basic tests check for the errno value when a CQ is resized smaller than the number of outstanding completions queue on the CQ. This patch changes ib_ipath to return EINVAL which is what ib_mthca returns and what gen2_basic expects. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit e342c119172f87f2d812bccfd0283f62e1bc1c2a Author: John Gregor Date: Wed Sep 5 01:57:14 2007 -0700 IB/ipath: Fix sendctrl locking Code review pointed out that the locking around uses of ipath_sendctrl and kr_sendctrl were, in several places, incorrect and/or inconsistent. Signed-off-by: John Gregor Signed-off-by: Roland Dreier commit 9ab4295d1d9ab10a249aea002060685f935a528c Author: Ralph Campbell Date: Fri Oct 12 20:48:06 2007 -0700 IB/ipath: Remove dead code for user process waiting for send buffer At one point in time there was code to allow a user process to wait for a send buffer if none were available. This feature was never used and most of the code was removed. This removes some missed unused code. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 457fe7b8a6822907cbe65897dc81b83d9df5bcbf Author: Steve Wise Date: Mon Nov 26 11:28:46 2007 -0600 RDMA/cxgb3: Support version 5.0 firmware The 5.0 firmware now supports translating sgls in recv work requests, so remove the host driver logic currently doing the translation. Note: this change requires 5.0 firmware. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 7f049f2f4259e4a5c213720df1ce0c2ca095641a Author: Steve Wise Date: Mon Nov 26 11:28:44 2007 -0600 RDMA/cxgb3: Hold rtnl_lock() around ethtool get_drvinfo call Currently the call into cxgb3 to get the driver info is not serialized. The iw_cxgb3 module needs to hold the rtnl_lock around the ethtool ops call like dev_ioctl() does. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 908cf9a565348b5a6d765d120cb189a568ea4883 Author: Joe Perches Date: Mon Nov 19 17:48:11 2007 -0800 drivers/infiniband: Add missing "space" Add missing spaces in the middle of format strings. Signed-off-by: Joe Perches Signed-off-by: Roland Dreier commit 2c45688faed1b19583c388694025e39001b68c8d Author: Matthias Kaehlcke Date: Thu Nov 15 15:23:25 2007 -0800 IB/ipath: Convert ipath_eep_sem semaphore to a mutex Signed-off-by: Matthias Kaehlcke Acked-by: Michael Albaugh Tested-by: Arthur Jones Signed-off-by: Andrew Morton Signed-off-by: Roland Dreier commit 727792da2bc22e2ce125faef84aeca3b3e2f4a90 Author: Steve Welch Date: Tue Oct 23 15:06:10 2007 -0700 IB/mad: Enable loopback of DR SMP responses from userspace The local loopback of an outgoing DR SMP response is limited to those that originate at the driver specific SMA implementation during the driver specific process_mad() function. This patch enables a returning DR SMP originating in userspace (or elsewhere) to be delivered to the local managment stack. In this specific case the driver process_mad() function does not consume or process the MAD, so a reponse mad has not be created and the original MAD must manually be copied to the MAD buffer that is to be handed off to the local agent. Signed-off-by: Steve Welch Acked-by: Hal Rosenstock Signed-off-by: Roland Dreier commit f9b403532235520ec248c024f621efcaf6ba7b93 Author: Ralph Campbell Date: Tue Oct 23 15:07:41 2007 -0700 IB/ipath: Enable loopback of DR SMP responses from userspace This patch is in response to reviewing a patch to the core MAD processing which fixes loopback of directed route packets to/from user level MAD agents. This change enables the core code to work for ib_ipath by fixing the return code from the ipath process_mad method. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 3828ff457a694f97f88f6978bea428199df0a690 Author: Ralph Campbell Date: Tue Oct 23 15:04:15 2007 -0700 IB/mad: Remove redundant NULL pointer check in ib_mad_recv_done_handler() In ib_mad_recv_done_handler(), the response pointer is checked for NULL after allocating it. It is then checked again in the local process_mad() path but there is no possibility of it changing in between. Signed-off-by: Ralph Campbell Acked-by: Hal Rosenstock Signed-off-by: Roland Dreier commit 8d8293cfb38b042835eeded7c1d90f75ca243e87 Author: Steve Wise Date: Mon Oct 29 11:34:05 2007 -0500 RDMA/iwcm: Set initiator depth and responder resources to device max values Set the initiator depth and responder resources to the device max values for new connect request events in the iWARP connection manager. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit e193e3326c521eea6a0221e945627ae5e3274910 Author: Dave Olson Date: Wed Oct 10 05:10:35 2007 -0700 IB/ipath: Improve interrupt handler cache footprint Improve interrupt handler cache footprint by noinline'ing error functions that are rarely called. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 68e995a295720439ad2bf8677114cdf9d262d905 Author: Pradeep Satyanarayana Date: Fri Jan 25 14:15:24 2008 -0800 IPoIB/cm: Add connected mode support for devices without SRQs Some IB adapters (notably IBM's eHCA) do not implement SRQs (shared receive queues). The current IPoIB connected mode support only works on devices that support SRQs. Fix this by adding support for using the receive queue of each connected mode receive QP. The disadvantage of this compared to using an SRQ is that it means a full queue of receives must be posted for each remote connected mode peer, which means that total memory usage is potentially much higher than when using SRQs. To manage this, add a new module parameter "max_nonsrq_conn_qp" that limits the number of connections allowed per interface. The rest of the changes are fairly straightforward: we use a table of struct ipoib_cm_rx to hold all the active connections, and put the table index of the connection in the high bits of receive WR IDs. This is needed because we cannot rely on the struct ib_wc.qp field for non-SRQ receive completions. Most of the rest of the changes just test whether or not an SRQ is available, and post receives or find received packets in the right place depending on the answer. Cleaning up dead connections actually becomes simpler, because we do not have to do the "last WQE reached" dance that is required to destroy QPs attached to an SRQ. We just move the QP to the error state and wait for all pending receives to be flushed. Signed-off-by: Pradeep Satyanarayana [ Completely rewritten and split up, based on Pradeep's work. Several bugs fixed and no doubt several bugs introduced. - Roland ] Signed-off-by: Roland Dreier commit efcd99717f76c6d19dd81203c60fe198480de522 Author: Roland Dreier Date: Fri Jan 25 14:15:24 2008 -0800 IPoIB/cm: Factor out ipoib_cm_free_rx_reap_list() Factor out the code for going through the rx_reap list of struct ipoib_cm_rx and freeing each one. This consolidates the code duplicated between ipoib_cm_dev_stop() and ipoib_cm_rx_reap() and reduces the risk of error when adding additional accounting. Signed-off-by: Roland Dreier commit 7b3687df66cab4ecd6efb42cfa0c7de60cc4e3b9 Author: Roland Dreier Date: Fri Jan 25 14:15:24 2008 -0800 IPoIB/cm: Factor out ipoib_cm_create_srq() Factor out the code to create an SRQ and allocate the receive ring in ipoib_cm_dev_init() into a new function ipoib_cm_create_srq(). This will make the code neater when support for devices that don't implement SRQs is added. Signed-off-by: Roland Dreier commit 1efb61444ca3a598dfafb7a6c573c5d5d42d3432 Author: Roland Dreier Date: Fri Jan 25 14:15:24 2008 -0800 IPoIB/cm: Factor out ipoib_cm_free_rx_ring() Factor out the code to unmap/free skbs and free the receive ring in ipoib_cm_dev_cleanup() into a new function ipoib_cm_free_rx_ring(). This function will be called from a couple of other places when support for devices that don't implement SRQs is added. Signed-off-by: Roland Dreier commit 2337f80941ac22f747ce6fd2c7a79e91d911a3ce Author: Roland Dreier Date: Tue Oct 23 19:57:54 2007 -0700 IPoIB: Trivial formatting cleanups Fix whitespace blunders, convert "foo* bar" to "foo *bar", etc. Signed-off-by: Roland Dreier commit 657c2f2cbccbac88689ac5174fc13dd3f9aece34 Author: Roland Dreier Date: Fri Jan 25 14:15:21 2008 -0800 IB/ipath: Fix crash on unload introduced by sysfs changes Commit 23b9c1ab ("Infiniband: make ipath driver use default driver groups.") introduced a bug in the ipath driver where ipath_device_create_group() fell through into the error path, even on success, which meant that the sysfs groups it created would always get removed right away. This made ipath_device_remove_group() hit the BUG_ON() in sysfs_remove_group() when it tried to remove those groups a second time. Correct the return path so that the groups stick around until they are supposed to be cleaned up. Signed-off-by: Roland Dreier commit b31fde6db2b76a9f7f59bf016652b46cff43f8da Merge: f31c338... a999337... Author: Linus Torvalds Date: Fri Jan 25 13:59:51 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb * git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (509 commits) V4L/DVB (7078): radio: fix sf16fmi section mismatch V4L/DVB (7077): bt878: remove handcrafted PCI subsystem ID check V4L/DVB (7075): Make a local function static V4L/DVB (7074): DiB7000P: correct tuning problem for 7MHz channel V4L/DVB (7073): DiB7070: Reception quality improved V4L/DVB (7072): sets the MT2060 IF1 frequency according to EEPROM V4L/DVB (7071): DiB0700: Start streaming the right way V4L/DVB (7070): Fix some tuning problems V4L/DVB (7069): Support for myTV.t V4L/DVB (7068): Add support for WinTV Nova-T-CE driver V4L/DVB (7067): fix autoserach in the Hauppauge NOVA-T 500 V4L/DVB (7066): ASUS My Cinema U3000 Mini DVBT Tuner V4L/DVB (7065): Artec T14BR patches V4L/DVB (7063): xc5000: Fix OOPS caused by missing firmware V4L/DVB (7062): radio-si570x: Some fixes and new USB ID addition V4L/DVB (7061): radio-si470x: Some cleanups V4L/DVB (7060): em28xx: remove has_tuner V4L/DVB (7059): cx88: Ensure the tuner is reset correctly V4L/DVB (7058): IR corrections for the Pinnacle 800i V4L/DVB (7056): tuner: suppress obsolete tuner i2c address warning for XC5000 tuners ... commit f31c338675872875e24f124af0689131b0c72600 Merge: 0008bf5... 61a368c... Author: Linus Torvalds Date: Fri Jan 25 13:57:26 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (67 commits) ide: remove redundant DMA blacklist check from __ide_dma_on() ide: cleanup ide_set_dma() ide: remove redundant ->ide_dma_on call from set_using_dma() sc1200: move DMA timings to timing tables ide: add IDE_HFLAG_ABUSE_SET_DMA_MODE host flag sis5513: factor out UDMA programming code pdc202xx_new: move PIO programming code to pdcnew_set_pio_mode() ide: make 'extra' field in struct ide_port_info u8 ide: kill duplicate code in ide_dump_{ata,atapi}_status() ide-disk: use ide_get_lba_addr() ide: printk fix ide: add ide_tf_read() helper ide: fix registers loading order in ide_dump_ata_status() ide-disk: use do_rw_taskfile() (take 2) ide-disk: add ide_tf_set_cmd() helper ide-disk: extend timeout for PIO-in commands ide: remove 'handler' field from ide_task_t (take 2) ide: use ->data_phase to set ->handler in do_rw_taskfile() ide: convert do_rw_taskfile() to use ->data_phase ide: merge flagged_taskfile() into do_rw_taskfile() ... commit 0008bf54408d4c0637c24d34642f1038c299be95 Merge: 2d94dfc... 6d08259... Author: Linus Torvalds Date: Fri Jan 25 13:42:32 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched * git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched: (96 commits) sched: keep total / count stats in addition to the max for sched, futex: detach sched.h and futex.h sched: fix: don't take a mutex from interrupt context sched: print backtrace of running tasks too printk: use ktime_get() softlockup: fix signedness sched: latencytop support sched: fix goto retry in pick_next_task_rt() timers: don't #error on higher HZ values sched: monitor clock underflows in /proc/sched_debug sched: fix rq->clock warps on frequency changes sched: fix, always create kernel threads with normal priority debug: clean up kernel/profile.c sched: remove the !PREEMPT_BKL code sched: make PREEMPT_BKL the default debug: track and print last unloaded module in the oops trace debug: show being-loaded/being-unloaded indicator for modules sched: rt-watchdog: fix .rlim_max = RLIM_INFINITY sched: rt-group: reduce rescheduling hrtimer: unlock hrtimer_wakeup ... commit 61a368c216897aa3bbee35b3f2e6db76ec73fad0 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:19 2008 +0100 ide: remove redundant DMA blacklist check from __ide_dma_on() ->ide_dma_on method is called only after successful ide_dma_check() call (ide_dma_check()->ide_tune_dma() checks DMA blacklist) or if drive->using_dma has been previously enabled for a given device (->ide_dma_on is the only place which sets drive->using_dma to '1'). There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7b905994ce0bd332afc5ebc30ce9afa60d23c6e2 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:19 2008 +0100 ide: cleanup ide_set_dma() * ->dma_off_quietly is always called before ide_set_dma() so the call can be moved inside ide_set_dma(). * ide_dma_check() doesn't touch hardware so ->dma_off_quietly call for 'rc == -1' case is redundant, remove it. * '0' and '-1' are the only values returned by ide_dma_check() so remove dead code for other cases. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 23b1bd459c9e8a925381960f0b69ac85468c3af1 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:19 2008 +0100 ide: remove redundant ->ide_dma_on call from set_using_dma() ide_set_dma() calls ->ide_dma_on method itself and returns zero only if ->ide_dma_on call succeeded. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4eed504d140319d6c1c7e0a5b7a9bf41dabf7cea Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:18 2008 +0100 sc1200: move DMA timings to timing tables Based on pata_sc1200.c. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4db90a145292327b95b03f6dcd3352327235cc36 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:18 2008 +0100 ide: add IDE_HFLAG_ABUSE_SET_DMA_MODE host flag * Add IDE_HFLAG_ABUSE_SET_DMA_MODE host flag and use it to decide what to do with transfer modes < XFER_PIO_0 in ide_set_xfer_rate(). * Set IDE_HFLAG_ABUSE_SET_DMA_MODE in host drivers that need it (aec62xx, amd74xx, cs5520, cs5535, hpt34x, hpt366, pdc202xx_old, serverworks, tc86c001 and via82cxxx) and cleanup ->set_dma_mode methods in host drivers that don't (IDE core code guarantees that ->set_dma_mode will be called only for modes which are present in SWDMA/MWDMA/UDMA masks). While at it: * Add IDE_HFLAGS_HPT34X/HPT3XX/PDC202XX/SVWKS define in hpt34x/hpt366/pdc202xx_old/serverworks host driver. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 428c6440ef933a3d9df5adfeb2cbb3ea7ebb6a68 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:18 2008 +0100 sis5513: factor out UDMA programming code * Factor out UDMA programming code from sis_set_dma_mode() to per chipset family helpers: sis_{ata33,ata133}_program_udma_timings(). * Add sis_program_udma_timings() helper. * Remove unneeded casts to 'unsigned long'. * Minor cleanups. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ad4ba7dcef285c92a6856e0dd9feb780c1a79b87 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:18 2008 +0100 pdc202xx_new: move PIO programming code to pdcnew_set_pio_mode() * Move PIO programming code from pdcnew_set_mode() to pdcnew_set_pio_mode(). * Rename pdcnew_set_mode() to pdcnew_set_dma_mode(). There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3071a9d00b8684899d93f368e670c4de0293df29 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:17 2008 +0100 ide: make 'extra' field in struct ide_port_info u8 The maximum value used currently for 'extra' field in struct ide_port_info is 240. Make 'extra' u8 so it packs nicely together with enablebits[] and 'chipset' fields (ide_pci_enablebit_t is 3 bytes and hwif_chipset_t is 1 byte). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit e62925dd26ef9594b8e4b9380b3211f6dae4ab96 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:17 2008 +0100 ide: kill duplicate code in ide_dump_{ata,atapi}_status() * Move the common code from ide_dump_{ata,atapi}_status() to ide_dump_status(). * ide_dump_{ata,atapi}_status() -> ide_dump_{ata,atapi}_error(). There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit a501633c7d44087e806597d3a213d735346edd51 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:17 2008 +0100 ide-disk: use ide_get_lba_addr() * Export ide_get_lba_addr(). * Convert idedisk_{read_native,set}_max_address() to use ide_get_lba_addr(). * Remove incorrect comment from idedisk_read_native_max_address() (noticed by Sergei). There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1c904fcfbb0d8eef92ef42b1da378b4714143e46 Author: Andrew Morton Date: Fri Jan 25 22:17:17 2008 +0100 ide: printk fix power4: drivers/ide/ide-lib.c: In function `ide_dump_sector': drivers/ide/ide-lib.c:516: warning: long long unsigned int format, u64 arg (arg 2) We don't know what type is used to implement u64 hence it must always be cast when printed. Signed-off-by: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit c2b57cdc1d2976444d451a2a2e43e11b61ed0638 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:17 2008 +0100 ide: add ide_tf_read() helper * Factor out code reading taskfile registers from ide_end_drive_cmd() to the new ide_tf_read() helper. * Add IDE_TFLAG_IN_* taskfile flags to indicate the need to load particular IDE taskfile register in ide_tf_read(). * Update ide_end_drive_cmd() to set respective IDE_TFLAG_IN_* taksfile flags. * Add ide_get_lba_addr() for getting LBA sector address from taskfile struct. * Factor out code getting sector address from ide_dump_ata_status() to the new ide_dump_sector() function. * Convert ide_dump_sector() to use ide_tf_read() and ide_get_lba_addr(). * Remove no longer needed ide_read_24(). The only change in functionality caused by this patch is that ide_dump_ata_status() no longer prints "high"/"low" parts of LBA48 sector address (of course LBA48 sector address is still printed). Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit d32444771b154c3ec37ebf6439004653560c2411 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:17 2008 +0100 ide: fix registers loading order in ide_dump_ata_status() Fix registers loading order in ide_dump_ata_status()/ide_read_24(). Load registers in this order: * IDE_SECTOR_REG * IDE_LCYL_REG * IDE_HCYL_REG * IDE_SELECT_REG It shouldn't affect anything (just a usual paranoia to separate changes which change the way in which hardware is accessed from code cleanups). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f6e29e35cc0f9facf2eb0b0454f9b09021b5aa6f Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:16 2008 +0100 ide-disk: use do_rw_taskfile() (take 2) * Add IDE_TFLAG_DMA_PIO_FALLBACK taskfile flag to indicate the need to skip loading taskfile registers in do_rw_taskfile(). * Export do_rw_taskfile(). * Convert __ide_do_rw_disk() to use do_rw_taskfile(). * Unexport ide_tf_load(). * Unexport {pre_task_out,task_in}_intr() and make it static. * Remove incorrect comment about do_rw_taskfile() from . There should be no functionality changes caused by this patch. v2: * Add missing blk_fs_request() check to task_dma_ok() (for VDMA). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ba76ae3883ad9faa32a6b35271c6a407d6c96ca9 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:16 2008 +0100 ide-disk: add ide_tf_set_cmd() helper * Add ide_tf_set_cmd() helper for selecting/setting command and data phase (note: DMA data phases are there for completness, they are not required ATM). * Set IDE_TFLAG_WRITE taskfile flag for write requests in __ide_do_rw_disk(). * Convert __ide_do_rw_disk() to use the new ide_tf_set_cmd() helper. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit c52ea915d7fdc96819964b32eb124b5ccd22b9af Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:16 2008 +0100 ide-disk: extend timeout for PIO-in commands s/WAIT_CMD/WAIT_WORSTCASE/ to make the timeout the same as in do_rw_taskfile() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 57d7366b78b74a9eef873e8212c03d8c2033a764 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:16 2008 +0100 ide: remove 'handler' field from ide_task_t (take 2) * Add IDE_TFLAG_CUSTOM_HANDLER taskfile flag and use it for internal requests which require custom handlers. Check the flag in do_rw_taskfile() and set handler accordingly. * Cleanup ide_init_{specify,restore,setmult}_cmd() and rename it to ide_tf_set_{specify,restore,setmult}_cmd(). * Make {set_geometry,recal,set_multmode}_intr() static. * Remove no longer needed 'handler' field from ide_task_t. v2: * 'handler' in do_rw_taskfile() must be set to NULL initially. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1192e528e064ebb9a578219731d2b0f78ca3c1ec Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:16 2008 +0100 ide: use ->data_phase to set ->handler in do_rw_taskfile() * Use ->data_phase to set ->handler in do_rw_taskfile() instead of setting ->handler in callers of ide_raw_taskfile()/do_rw_taskfile(). * Unexport task_no_data_intr() and make it static. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 10d90157c83d4b6743c9063c36f9e7f27aa254b6 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:16 2008 +0100 ide: convert do_rw_taskfile() to use ->data_phase * Use task->data_phase in do_rw_taskfile() to decide what to do. * task->prehandler is only used by TASKFILE[_MULTI]_OUT so just use pre_task_out_intr() directly and remove no longer needed 'prehandler' field from ide_task_t. * Remove no longer needed ide_pre_handler_t type. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1edee60e9d994f2b9a79b1333be39790683541fe Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:15 2008 +0100 ide: merge flagged_taskfile() into do_rw_taskfile() Based on the earlier work by Tejun Heo. task->data_phase == TASKFILE_MULTI_{IN,OUT} vs drive->mult_count == 0 check is needed also for ide_taskfile_ioctl() requests that don't have IDE_TFLAG_FLAGGED taskfile flag set. Cc: Tejun Heo Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit a7bbd20b50fb12b3a604c396b3d8a3449a43edcc Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:15 2008 +0100 ide-disk: guarantee 400ns delay after writing command register Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit cf77249ee1a37aab37f39ea1dde9a53c23693655 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:15 2008 +0100 ide-disk: fix __ide_do_rw_disk() to use ->OUTBSYNC Fix __ide_do_rw_disk() to use ->OUTBSYNC instead of ->OUTB (needed for pmac and scc_pata host drivers). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7c0e26661dd104aaeb1391063cc986ddc0ac4aa4 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:14 2008 +0100 sc1200: remove pointless hwif lookup loop Save PCI regs values for both IDE ports in one buffer, in order to eliminate a needless and ugly loop across all hwifs, searching for our PCI device. Partially based on the previous patch by Jeff Garzik. Cc: Jeff Garzik Cc: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit 866e2ec9ce525de0e7c10d02ead8d85af27adffd Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:14 2008 +0100 ide: remove 'tf_in_flags' field from ide_task_t * Add IDE_TFLAG_IN_DATA taskfile flag to indicate the need of reading IDE_DATA_REG in ide_end_drive_cmd(). Set the new flag in ide_taskfile_ioctl() if ->in_flags.b.data is set. * Add IDE_TFLAG_FLAGGED_SET_IN_FLAGS taskfile flag to indicate the need of modifying ->in_flags in ide_taskfile_ioctl(). Set the new flag in flagged_taskfile() and move the code modifying ->tf_in_flags to ide_taskfile_ioctl(). While at it remove the bogus comment: ->tf_in_flags (except .b.data) have no effect on selection of registers to read. * Remove no longer needed 'tf_in_flags' field from ide_task_t. As the result we finally have the internals of HDIO_DRIVE_TASKFILE ioctl separated from the core IDE code. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ac026ff254b32915bb14ba97a23b4019d137f181 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:14 2008 +0100 ide: remove 'command_type' field from ide_task_t * Add 'data_buf' and 'nsect' variables in ide_taskfile_ioctl() to cache data buffer pointer and number of sectors to transfer (this allows us to have only one ide_diag_taskfile() call). * Add IDE_TFLAG_WRITE taskfile flag and use it to check whether the REQ_RW request flag should be set. * Move ->command_type handling from ide_diag_taskfile() to ide_taskfile_ioctl() and use ->req_cmd instead of ->command_type. * Add 'nsect' parameter to ide_raw_taskfile(). * Merge ide_diag_taskfile() into ide_raw_taskfile(). * Initialize ->data_phase explicitly in idedisk_prepare_flush(), ide_start_power_step() and ide_disk_special(). * Remove no longer needed 'command_type' field from ide_task_t. * Add #ifndef/#endif __KERNEL__ to around no longer used by kernel IDE_DRIVE_TASK_* and TASKFILE_* defines. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7299a3918442dc9a5abb71b9f65b1dd17637c8c0 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:14 2008 +0100 ide: remove hwif->intrproc Given that: * hpt366.c::hpt3xx_intrproc() is the only user of hwif->intrproc * hpt366.c::hpt3xx_quirkproc() sets drive->quirk_list to 1 for quirky drives which is a value unique to hpt366 host driver we can remove hwif->intproc and just check for drive->quirk_list == 1 in ide_do_request(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f919790f8c929ab1b392ad1a0c2e1b53337b5071 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:13 2008 +0100 ide: remove SELECT_INTERRUPT() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit cd3dbc99da337f2130f3cb2691fbb65c8bf22337 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:13 2008 +0100 ide: remove QUIRK_LIST() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2fc573881957337c4ea1c84b92d2f27d076cad57 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:13 2008 +0100 ide: add ide_pktcmd_tf_load() helper Add ide_pktcmd_tf_load() helper and convert ATAPI device drivers to use it. There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 932aead6d21b631b2058255981824008a6eae32e Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:13 2008 +0100 ide-{floppy,tape,scsi}: fix register loading order when issuing packet command Load IDE_BCOUNTL_REG before IDE_BCOUNTH_REG when issuing packet command. It shouldn't affect anything (just a usual paranoia to separate changes which change the way in which hardware is accessed from code cleanups). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3a6a3549afe7dfe212b6384106bec957bb393f3a Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:13 2008 +0100 ide-cd: fix register loading order in cdrom_start_packet_command() Load IDE_CONTROL_REG before other registers in cdrom_start_packet_command(). It shouldn't affect anything (just a usual paranoia to separate changes which change the way in which hardware is accessed from code cleanups). While at it move misplaced FIXME comment in the right place. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8e7657ae0f56c14882e53ffdae8055c2b1624de1 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:12 2008 +0100 ide: remove atapi_ireason_t (take 3) Remove atapi_ireason_t. While at it: * replace 'HWIF(drive)' by 'drive->hwif' (or just 'hwif' where possible) v2: * v1 had CD and IO bits reversed in many places. * Use CD and IO defines from . v3: * Fix incorrect "(ireason & IO) == test_bit()". (Noticed by Sergei) Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 790d1239898d4f893112280decd344d90f43ee96 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:12 2008 +0100 ide: remove ata_nsector_t, ata_data_t and atapi_bcount_t Remove ata_nsector_t, ata_data_t (unused) and atapi_bcount_t. While at it: * replace 'HWIF(drive)' by 'hwif' Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit e5f9f5a89a01abc2b9c09747452aeb9218d6bffd Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:12 2008 +0100 ide: remove atapi_feature_t Remove atapi_feature_t. While at it: * replace 'HWIF(drive)' by 'hwif' Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 0e38a66a1e69821ab57a06d5a7b11f0df9275bf4 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:12 2008 +0100 ide: remove atapi_error_t (take 2) Remove atapi_error_t. While at it: * replace 'HWIF(drive)' by 'drive->hwif' v2: * Add {ILI,EOM,LFS}_ERR defines to . Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 22c525b976778cce5bb6f8fdcc70046168c54b1a Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:11 2008 +0100 ide: remove ata_status_t and atapi_status_t Remove ata_status_t (unused) and atapi_status_t. While at it: * replace 'HWIF(drive)' by 'drive->hwif' (or just 'hwif' where possible) Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 6a2144146aa2e0eb60e48ba73ac0e1c51346edf6 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:11 2008 +0100 ide: CPU endianness doesn't matter for special_t special_t is used only internally by the IDE subsystem (it isn't related to hardware registers and isn't exported to the user-space). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 918337a85366ad0f1c4c08ebe45e4fb1e3a3c15f Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:11 2008 +0100 ide-floppy: remove dead code Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 29ed2a5f8c4380959f18e9cbaff13bc61e09889c Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:11 2008 +0100 ide: remove REQ_TYPE_ATA_TASK Based on the earlier work by Tejun Heo. All users are gone so we can finally remove it. Cc: Tejun Heo Signed-off-by: Bartlomiej Zolnierkiewicz commit 14b89ef9814614f18a1fcae51e601e7e16a82ef7 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:11 2008 +0100 ide: switch ide_task_ioctl() to use REQ_TYPE_ATA_TASKFILE requests Based on the earlier work by Tejun Heo. There should be no functionality changes caused by this patch. Cc: Tejun Heo Signed-off-by: Bartlomiej Zolnierkiewicz commit 813a0eb233ee67d7166241a8b389b6a76f2247f9 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:10 2008 +0100 ide: switch idedisk_prepare_flush() to use REQ_TYPE_ATA_TASKFILE requests Based on the earlier work by Tejun Heo. There should be no functionality changes caused by this patch. Cc: Tejun Heo Signed-off-by: Bartlomiej Zolnierkiewicz commit 1f2564b8b56b305ab9acf5d387abca950180dff6 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:10 2008 +0100 ide: extend timeout for REQ_TYPE_ATA_{CMD,TASK} requests Extend timeout for REQ_TYPE_ATA_{CMD,TASK} requests from WAIT_CMD (10sec) to WAIT_WORSTCASE (30sec, already used for REQ_TYPE_ATA_TASKFILE). Signed-off-by: Bartlomiej Zolnierkiewicz commit a3bbb9d882dc94fe3a1361596ab9ce55d84059ea Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:10 2008 +0100 ide: remove unnecessary writes to HOB taskfile registers * Set taskfile flags for REQ_TYPE_ATA_TASKFILE requests before adding the request to the queue. * Cleanup execute_drive_cmd(). * Remove unnecessary writes to HOB taskfile registers when using LBA48 disk for the following cases: - Power Management requests (WIN_FLUSH_CACHE[_EXT], WIN_STANDBYNOW1, WIN_IDLEIMMEDIATE commands) - special commands (WIN_SPECIFY, WIN_RESTORE, WIN_SETMULT) - Host Protected Area support (WIN_READ_NATIVE_MAX, WIN_SET_MAX) - /proc/ide/ SMART support (WIN_SMART with SMART_ENABLE, SMART_READ_VALUES and SMART_READ_THRESHOLDS subcommands) - write cache enabling/disabling in ide-disk (WIN_SETFEATURES with SETFEATURES_{EN,DIS}_WCACHE) - write cache flushing in ide-disk (WIN_FLUSH_CACHE[_EXT]) - acoustic management in ide-disk (WIN_SETFEATURES with SETFEATURES_{EN,DIS}_AAM) - door (un)locking in ide-disk (WIN_DOORLOCK, WIN_DOORUNLOCK) - /proc/ide/hd?/identify support (WIN_IDENTIFY) - ACPI _GTF taskfiles Signed-off-by: Bartlomiej Zolnierkiewicz commit 868e672ac8db650dde695a5707a6caf5a757e7d9 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:10 2008 +0100 ide: use IDE_TFLAG_LBA48 for REQ_TYPE_ATA_TASKFILE requests * Use IDE_TFLAG_LBA48 for REQ_TYPE_ATA_TASKFILE requests in ide_end_drive_cmd() to decide whether we need to read HOB taskfile registers. * Update execute_drive_cmd() accordingly. This is a preparation for the next patch which removes unnecessary writes to HOB taskfile registers for some ATA commands. Signed-off-by: Bartlomiej Zolnierkiewicz commit 807e35d695690011faa1ce3ad67dfc23c1e39bdc Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:10 2008 +0100 ide: use ide_tf_load() in execute_drive_cmd() * Add IDE_TFLAG_OUT_DEVICE taskfile flag to indicate the need of writing the Device register and handle it in ide_tf_load(). Update ide_tf_load() and {do_rw,flagged}_taskfile() users accordingly. * Use struct ide_taskfile and ide_tf_load() in execute_drive_cmd(). * Make the debugging code dump all taskfile registers for both REQ_ATA_TYPE_{CMD,TASK} requests and move it to ide_tf_load() so it also covers REQ_ATA_TYPE_TASKFILE requests. There should be no functionality changes caused by this patch (unless DEBUG is defined). Signed-off-by: Bartlomiej Zolnierkiewicz commit 54688aa372cbc83c4361bfb9236f9bfe02168e19 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:09 2008 +0100 ide: remove ide_cmd() helper * Remove ide_cmd() helper. * Clear nIEN and call SELECT_MASK() before writing taskfile registers. Signed-off-by: Bartlomiej Zolnierkiewicz commit 21d535c91362a1a3bbb299b2e7214c1a6971ef95 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:09 2008 +0100 ide: execute_drive_cmd() cleanup * Rename 'args' variable in 'if (rq->cmd_type == REQ_TYPE_ATA_TASKFILE)' block to 'task'. * execute_drive_cmd() is used only for REQ_TYPE_ATA_{CMD,TASK,TASKFILE} so we can move the common code out from 'if (rq->cmd_type == REQ_TYPE_ATA_CMD)' and 'if (rq->cmd_type == REQ_TYPE_ATA_TASK)' blocks. There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 6dd87233bccc6416dac3b78ac912fd017918efe6 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:09 2008 +0100 ide: fix registers loading order for IDE_NSECTOR_REG in execute_drive_cmd() Move loading of IDE_NSECTOR_REG from ide_cmd() to execute_drive_cmd() (load the IDE_NSECTOR_REG just after IDE_FEATURE_REG). This also allows us to drop 'nsect' argument from ide_cmd() and simplify execute_drive_cmd() code for REQ_TYPE_ATA_CMD case a bit. It shouldn't affect anything (just a usual paranoia to separate changes which change the way in which hardware is accessed from code cleanups). Signed-off-by: Bartlomiej Zolnierkiewicz commit 46f26c362d5109459f04f99e93fc0413d88516c8 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:09 2008 +0100 ide: fix registers loading order for WIN_SMART in execute_drive_cmd() Fix registers loading order for REQ_TYPE_ATA_CMD request with WIN_SMART command in execute_drive_cmd() (load IDE_FEATURE_REG and IDE_SECTOR_REG before loading IDE_LCYL_REG and IDE_HCYL_REG). It shouldn't affect anything (just a usual paranoia to separate changes which change the way in which hardware is accessed from code cleanups). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit d3bb03438c58b2a00f07a59175d4156a9952d825 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:08 2008 +0100 ide-tape: remove dead USE_IOTRACE code Signed-off-by: Bartlomiej Zolnierkiewicz commit 4ee06b7e677da4c75f2fcc5fd850543852d18bf2 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:08 2008 +0100 ide: remove stale ide.h "configuration options" Remove stale ide.h "configuration options": * INITIAL_MULT_COUNT - always defined to 0 * SUPPORT_SLOW_DATA_PORTS - unused * OK_TO_RESET_CONTROLLER - always defined to 1 * DISABLE_IRQ_NOSYNC - always defined to 0 Leave SUPPORT_VLB_SYNC (defined to 0 for CRIS and FRV, otherwise to 1) for now but disallow overriding it by . There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f1ca6d37f991347b87d86430db42e2ab139d1b1d Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:08 2008 +0100 ide: remove CONFIG_IDEPCI_SHARE_IRQ config option We can safely remove CONFIG_IDEPCI_SHARE_IRQ and always support PCI IRQ sharing. Signed-off-by: Bartlomiej Zolnierkiewicz commit 7b5da4be3718c6b4cd771fb82e3e481b04790f0e Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:08 2008 +0100 ide: remove IRQF_DISABLED from IRQ flags for IDE IRQ handler IRQF_DISABLED is not needed because the first thing that ide_intr() (IDE IRQ handler) does is calling spin_lock_irqsave() which disables local IRQs (IRQ unmasking is later handled by drive->unmask). kernel/irq/handle.c: irqreturn_t handle_IRQ_event(unsigned int irq, struct irqaction *action) ... if (!(action->flags & IRQF_DISABLED)) local_irq_enable_in_hardirq(); do { ret = action->handler(irq, action->dev_id); if (ret == IRQ_HANDLED) status |= action->flags; retval |= ret; action = action->next; } while (action); ... drivers/ide/ide-io.c: irqreturn_t ide_intr (int irq, void *dev_id) ... spin_lock_irqsave(&ide_lock, flags); ... spin_unlock(&ide_lock); ... if (drive->unmask) local_irq_enable_in_hardirq(); ... Signed-off-by: Bartlomiej Zolnierkiewicz commit d26805fd025abe1ab8785b23a7942cfb6ceffd75 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:07 2008 +0100 ide-pmac: fix pmac_ide_init_hwif_ports() * pmac_ide_init_hwif_ports() can be called by ide_init_hwif_ports() (through ppc_ide_md.ide_init_hwif hook) for non IDE PMAC interfaces. If this is the case the hw->io_ports[] should be already setup by ide_init_hwif_ports()->ide_std_init_ports() so remove redundant code from pmac_ide_init_hwif_ports(). As side-effect this change fixes ctl_addr == 0 special handling in ide_init_hwif_ports(). * Fix misleading comment while at it. Cc: Benjamin Herrenschmidt Cc: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit 74095a91ed02f6727b62d4416be00a041f2d7436 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:07 2008 +0100 ide: use do_rw_taskfile() in flagged_taskfile() Based on the earlier work by Tejun Heo. * Move setting IDE_TFLAG_LBA48 taskfile flag from do_rw_taskfile() function to the callers. * Add IDE_TFLAG_FLAGGED taskfile flag for flagged taskfiles coming from ide_taskfile_ioctl(). Check it instead of ->tf_out_flags.all. * Add IDE_TFLAG_OUT_DATA taskfile flag to indicate the need to load IDE data register in ide_tf_load(). * Add IDE_TFLAG_OUT_* taskfile flags to indicate the need to load particular IDE taskfile registers in ide_tf_load(). * Update do_rw_taskfile() and ide_tf_load() users to set respective IDE_TFLAG_OUT_* taksfile flags. * Add task_dma_ok() helper. * Use IDE_TFLAG_FLAGGED taskfile flag to select HIHI mask in ide_tf_load(). * Use do_rw_taskfile() in flagged_taskfile(). * Remove no longer needed 'tf_out_flags' field from ide_task_t. There should be no functionality changes caused by this patch. Cc: Tejun Heo Signed-off-by: Bartlomiej Zolnierkiewicz commit 9a3c49be5c5f7388eefb712be9a383904140532e Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:07 2008 +0100 ide: add ide_no_data_taskfile() helper * Add ide_no_data_taskfile() helper and convert ide_raw_taskfile() w/ NO DATA protocol users to use it instead. * Set ->data_phase explicitly in ide_no_data_taskfile() (TASKFILE_NO_DATA is defined as 0x0000). * Unexport task_no_data_intr(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9e42237f26cf517a3f682505f03a3a8d89b3b35d Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:07 2008 +0100 ide: add ide_tf_load() helper Based on the earlier work by Tejun Heo. * Add 'tf_flags' field (for taskfile flags) to ide_task_t. * Add IDE_TFLAG_LBA48 taskfile flag for LBA48 taskfiles. * Add IDE_TFLAG_NO_SELECT_MASK taskfile flag for __ide_do_rw_disk() which doesn't use SELECT_MASK() (looks like a bug but it requires some more investigation). * Split off ide_tf_load() helper from do_rw_taskfile(). * Convert __ide_do_rw_disk() to use ide_tf_load(). There should be no functionality changes caused by this patch. Cc: Tejun Heo Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2bd06b23e2a099abbf550202f62cd433e01f83e7 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:06 2008 +0100 ide-disk: use struct ide_taskfile in __ide_do_rw_disk() Based on the earlier work by Tejun Heo. There should be no functionality changes caused by this patch. Cc: Tejun Heo Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit d00e42dd26bbda6a39aead6a47c59221e03a08f8 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:06 2008 +0100 ide-disk: fix taskfile registers loading order in __ide_do_rw_disk() Load IDE_SECTOR_REG after IDE_FEATURE_REG and IDE_NSECTOR_REG when using CHS. This patch is basically a preparation for the next one which converts __ide_do_rw_disk() to use struct ide_taskfile. It shouldn't affect anything (just a usual paranoia to separate changes which change the way in which hardware is accessed from code cleanups). Signed-off-by: Bartlomiej Zolnierkiewicz commit 7a3b7512d0d7e78353e99f4538eb6d3354019d92 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:06 2008 +0100 ide-disk: merge LBA28 and LBA48 Host Protected Area support code (take 2) * Merge idedisk_{read_native,set}_max_address_ext() into idedisk_{read_native,set}_max_address(). v2: * Remove LBA48 code leftover from idedisk_read_native_max_address() ('high' variable initialization). (Noticed by Sergei). There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 650d841d9e053a618dd8ce753422f91b493cf2f6 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:06 2008 +0100 ide: add struct ide_taskfile (take 2) * Don't set write-only ide_task_t.hobRegister[6] and ide_task_t.hobRegister[7] in idedisk_set_max_address_ext(). * Add struct ide_taskfile and use it in ide_task_t instead of tfRegister[] and hobRegister[]. * Remove no longer needed IDE_CONTROL_OFFSET_HOB define. * Add #ifndef/#endif __KERNEL__ around definitions of {task,hob}_struct_t. While at it: * Use ATA_LBA define for LBA bit (0x40) as suggested by Tejun Heo. v2: * Add missing newlines. (Noticed by Sergei) * Use ~ATA_LBA instead of 0xBF. (Noticed by Sergei) * Use unnamed unions for error/feature and status/command. (Suggested by Sergei). There should be no functionality changes caused by this patch. Acked-by: Sergei Shtylyov Cc: Tejun Heo Signed-off-by: Bartlomiej Zolnierkiewicz commit cd2a2d969761c26542095c01324201ca0b3ee896 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:06 2008 +0100 ide: remove task_ioreg_t typedef (take 2) Remove task_ioreg_t typedef from the kernel code (but leave it in for #ifndef/#endif __KERNEL__ case). While at it also move sata_ioreg_t typedef under #ifndef/#endif __KERNEL__. v2: Remove name of the second parameter from ide_execute_command() declaration. (Noticed by Sergei). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1c029fd658baa2442e8e51dc9c819301cad95777 Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 25 22:17:05 2008 +0100 ide: remove ->dma_master field from ide_hwif_t (take 5) * Convert cmd64x, hpt366 and pdc202xx_old host drivers to use pci_resource_start(hwif->pci_dev, 4) instead of hwif->dma_master. * Remove no longer needed ->dma_master field from ide_hwif_t. v2: * Use the more readable 'hwif->dma_base - (hwif->channel * 8)' instead of pci_resource_start(hwif->pci_dev, 4). v3: * Use hwif->extra_base in hpt366/pdc20xx_old + some cosmetic fixups over v2 (suggested by Sergei). v4: * Correct offsets in hpt3xxn_set_clock(). v5: * Use hwif->extra_base in hpt366 for _real_ this time. (Noticed by Sergei) Acked-by: Sergei Shtylyov Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit 866664d79f6a920af07e6503f64366f4c5b2d41f Author: Sergei Shtylyov Date: Fri Jan 25 22:17:05 2008 +0100 hpt366: merge set_dma_mode() methods Group the array of pointers to the timing tables with the timing register masks which allows us to merge HPT36x/HPT37x set_dma_mode() methods into one. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit a488f34e0dc7180f35fe48a60596fc82fe69d3ef Author: Sergei Shtylyov Date: Fri Jan 25 22:17:05 2008 +0100 hpt366: kill set_dma_mode() method wrapper There's no reason to keep the set_dma_mode() method wrapper for two different chip families, so get rid of it... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ceb1b2c583a9503e3ae68c4e7c652637971e3768 Author: Sergei Shtylyov Date: Fri Jan 25 22:17:04 2008 +0100 hpt366: change timing register masks Since PIO autotuning is now done always, there's no need anymore to program the taskfile timings also on DMA modes, so change the IDE timing register masks accordingly, "inverting the polarity" of the masks while at it... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit b5e1a4e2869af5ffaa102535ad63d184d86e66ec Author: Aristeu Rozanski Date: Fri Jan 25 22:17:04 2008 +0100 ide-io: set REQ_FAILED when drive is dead Currently it's possible to ide-cd to set an incorrect blocksize by reading garbage if the drive is dead: ide_cd_probe() -> cdrom_read_toc() -> cdrom_read_capacity() -> cdrom_queue_packet_command() -> ide_do_drive_cmd() -> ide_do_request() -> start_request() on start_request(): /* bail early if we've exceeded max_failures */ if (drive->max_failures && (drive->failures > drive->max_failures)) { goto kill_rq; } (...) kill_rq: ide_kill_rq(drive, rq); return ide_stopped; ide_kill_rq() and the next calls won't set REQ_FAILED on rq->cmd_flags and thus cdrom_queue_packet_command() won't return an error. then: stat = cdrom_queue_packet_command(drive, &req); if (stat == 0) { *capacity = 1 + be32_to_cpu(capbuf.lba); *sectors_per_frame = be32_to_cpu(capbuf.blocklen) >> SECTOR_BITS; } cdrom_read_capacity() ends believing capbuf is valid but in fact it's just uninitialized data. back to cdrom_read_toc(): /* Try to get the total cdrom capacity and sector size. */ stat = cdrom_read_capacity(drive, &toc->capacity, §ors_per_frame, sense); if (stat) toc->capacity = 0x1fffff; set_capacity(info->disk, toc->capacity * sectors_per_frame); /* Save a private copy of te TOC capacity for error handling */ drive->probed_capacity = toc->capacity * sectors_per_frame; blk_queue_hardsect_size(drive->queue, sectors_per_frame << SECTOR_BITS); that will set drive->queue->hardsect_size to be the random value. hardsect_size is used to calculate inode->i_blkbits. later on, on a read path: void create_empty_buffers(struct page *page, unsigned long blocksize, unsigned long b_state) { struct buffer_head *bh, *head, *tail; head = alloc_page_buffers(page, blocksize, 1); bh = head; do { bh->b_state |= b_state; tail = bh; bh = bh->b_this_page; } while (bh); tail->b_this_page = head; alloc_page_buffers() will return NULL if blocksize > 4096. blocksize is calculed based on inode->i_blkbits. that will trigger a null dereference on create_empty_buffers(). Signed-off-by: Aristeu Rozanski Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit a999337b49fcdd2c4a475e97e4b8337ebdfa4abf Author: Randy Dunlap Date: Wed Jan 23 02:39:39 2008 -0300 V4L/DVB (7078): radio: fix sf16fmi section mismatch isapnp_fmi_probe() is only called by fmi_init(), which is __init, so isapnp_fmi_probe() can also be __init. media/radio/radio-sf16fmi.c: WARNING: vmlinux.o(.text+0x994e19): Section mismatch: reference to .init.data: (between 'isapnp_fmi_probe' and 'vidioc_s_tuner') WARNING: vmlinux.o(.text+0x994e22): Section mismatch: reference to .init.data: (between 'isapnp_fmi_probe' and 'vidioc_s_tuner') WARNING: vmlinux.o(.text+0x994e3a): Section mismatch: reference to .init.data:id_table (between 'isapnp_fmi_probe' and 'vidioc_s_tuner') Signed-off-by: Randy Dunlap Acked-by: Sam Ravnborg Signed-off-by: Mauro Carvalho Chehab commit 386900781205d203c1141d3e2dae759f1b531193 Author: Akinobu Mita Date: Mon Jan 21 12:15:19 2008 -0300 V4L/DVB (7077): bt878: remove handcrafted PCI subsystem ID check This patch moves the subsystem ID and subsystem vendor ID check from probing function to the PCI generic function by describing subsystem IDs in pci_device_id table. This enables to add new PCI IDs to a device driver pci_ids table at runtime by new_id file in sysfs pci driver tree. Signed-off-by: Akinobu Mita Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 4a2b108379743405bc488eaef6a75080aa1bbba4 Author: Patrick Boettcher Date: Fri Jan 25 07:32:58 2008 -0300 V4L/DVB (7075): Make a local function static Make a local function static Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 904a82e3e27b57a2518f7575c0cab9b6aaddc422 Author: Patrick Boettcher Date: Fri Jan 25 07:31:58 2008 -0300 V4L/DVB (7074): DiB7000P: correct tuning problem for 7MHz channel Tuning problem for 7Mhz channels fixes Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 3cb2c39ded029b8572cf7625b8042e9984d63c2c Author: Patrick Boettcher Date: Fri Jan 25 07:25:20 2008 -0300 V4L/DVB (7073): DiB7070: Reception quality improved Removing two bugs to improve sensitivity for DiB7070 and Dib7000P with MT2266. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit c52344fdc49665a4eeef24236750b49637d6982f Author: Olivier DANET Date: Fri Jan 25 06:50:07 2008 -0300 V4L/DVB (7072): sets the MT2060 IF1 frequency according to EEPROM Here is a patch for Hauppage Nova-T-Stick and Nova-T-500 users. It sets the MT2060 IF1 frequency according to the calibration values stored in the EEPROM. It is supposed to enhance the signal quality, but, hey, there is no guarantee. Feedbacks would be much appreciated, to know whether it deserves being applied. Signed-off-by: Olivier DANET Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit a162abb06bda3f38750a208e85e27f419798aa79 Author: Patrick Boettcher Date: Fri Jan 25 06:37:57 2008 -0300 V4L/DVB (7071): DiB0700: Start streaming the right way There was a mistake in the way how to start the streaming in the dib0700. This patch fixes that. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 853ea132c75ff2c4e3c3aaf61bf3ef5779774dbc Author: Soeren Moch Date: Fri Jan 25 06:27:06 2008 -0300 V4L/DVB (7070): Fix some tuning problems The attached patch solves all my vdr tuning problems on a dib7000p nova-t stick as far as I could check within the last weekend. It disables streaming while tuning, like that the number of faulty TS packets is reduced. Signed-off-by: Soeren Moch Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 13b83b5d516abe2610ae7812267d7d322050bf68 Author: Darren Salt Date: Fri Jan 25 06:20:02 2008 -0300 V4L/DVB (7069): Support for myTV.t Here's a roll-up which provides support for both this and the myTV.t. Signed-off-by: Darren Salt Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit c7637b1a31bb0470e1247f1923a323c90927ac37 Author: Tim Taubert Date: Fri Jan 25 06:16:36 2008 -0300 V4L/DVB (7068): Add support for WinTV Nova-T-CE driver Add support for WinTV Nova-T-CE driver Signed-off-by: Tim Taubert Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 3a0311c6c539bd022a65d298355471aacbd7a618 Author: Jose Alberto Reguero Date: Fri Jan 25 06:05:16 2008 -0300 V4L/DVB (7067): fix autoserach in the Hauppauge NOVA-T 500 This patch fix autoserach in the Hauppauge NOVA-T 500. Signed-off-by: Jose Alberto Reguero Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 132c3188433bcb149ee764be1ca9a69f6d719dfe Author: Daniel Gimpelevich Date: Fri Jan 25 06:02:42 2008 -0300 V4L/DVB (7066): ASUS My Cinema U3000 Mini DVBT Tuner Adding support for ASUS My Cinema U3000 Mini DVBT Tuner Signed-off-by: Daniel Gimpelevich Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 7999a8161d06326f3c4cb797fcf0de8b2eb08253 Author: Yousef Lamlum Date: Fri Jan 25 05:51:48 2008 -0300 V4L/DVB (7065): Artec T14BR patches Added Artec T14BR support Signed-off-by: Yousef Lamlum Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 5ea60531c1c6164788ea7d6efecdf575adc543ff Author: Steven Toth Date: Thu Jan 24 22:29:46 2008 -0300 V4L/DVB (7063): xc5000: Fix OOPS caused by missing firmware xc5000: Fix OOPS caused by missing firmware. Signed-off-by: Chaogui Zhang Acked-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 2fb8840663cf0e476549104a2c09caa0fb3b4bc9 Author: Tobias Lorenz Date: Fri Jan 25 05:14:57 2008 -0300 V4L/DVB (7062): radio-si570x: Some fixes and new USB ID addition - avoid poss. locking when doing copy_to_user which may sleep - RDS is automatically activated on read now - code cleaned of unnecessary rds_commands - USB Vendor/Product ID for ADS/Tech FM Radio Receiver verified (thanks to Guillaume RAMOUSSE) Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit 8bf5e5ca394441e56f68300dc4e7b26b79ddfe0b Author: Tobias Lorenz Date: Fri Jan 25 04:19:48 2008 -0300 V4L/DVB (7061): radio-si470x: Some cleanups - code reordered to avoid function prototypes - switch/case defaults are now more user-friendly - unified comment style - applied all checkpatch.pl v1.12 suggestions except the warning about the too long lines with bit comments - renamed FMRADIO to RADIO to cut line length (checkpatch.pl) Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit ed086314f4e41eb90a9107c7fb2737230686f668 Author: Mauro Carvalho Chehab Date: Thu Jan 24 06:59:20 2008 -0300 V4L/DVB (7060): em28xx: remove has_tuner has_tuner flag doesn't make much sense, since tuner_type=TUNER_ABSENT means the same thing. Having two ways to say that a tuner is not present is not nice, since it may lead to bad setups. In fact, with the previous code, if a device were using has_tuner=0, but the user forces a tuner, with modprobe option tuner=type, the modprobe option won't work. Also, tveeprom returns TUNER_ABSENT, when tuner is unknown or absent. So, with the previous logic, in this case, the driver should set has_tuner=0, or has_tuner=1 otherwise. Instead of adding several additional tests and setups, better just to remove .has_tuner. Signed-off-by: Mauro Carvalho Chehab commit 72e04f720f23cfa8d4400d832784f3a424379227 Author: Steven Toth Date: Tue Jan 22 01:03:10 2008 -0300 V4L/DVB (7059): cx88: Ensure the tuner is reset correctly Previous patches assume the tuner was on a different gpio. This patch corrects this. Signed-off-by: Steven Toth Signed-off-by: Chaogui Zhang Signed-off-by: Mauro Carvalho Chehab commit 9121106a7f149f9702ed7c2ac0d86e9feb54ede8 Author: Steven Toth Date: Tue Jan 22 01:00:33 2008 -0300 V4L/DVB (7058): IR corrections for the Pinnacle 800i IR corrections for the Pinnacle 800i Signed-off-by: Steven Toth Signed-off-by: Chaogui Zhang Signed-off-by: Mauro Carvalho Chehab commit 1641002bf56c1da265f2c49ea1c29baba997e63b Author: Michael Krufky Date: Mon Jan 21 12:01:34 2008 -0300 V4L/DVB (7056): tuner: suppress obsolete tuner i2c address warning for XC5000 tuners We already know that the XC5000 tuner can only be located at i2c address 0x61, 0x62, 0x63 or 0x64 We shouldn't display this warning if the XC5000 tuner is present. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0f2ce9834246519e483e89dbc7225fe1fcbd30a8 Author: Michael Krufky Date: Mon Jan 21 10:55:37 2008 -0300 V4L/DVB (7055): make tuner names consistent with standard cases Change TDA9887 to tda9887. TDA8290 shall reflect the actual hardware present in its name, ie: tda8295+18271 tda8290+8275a Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8cb9329309cfc6c922f46bfe05ed6f40d5b1cb56 Author: Luca Olivetti Date: Sun Jan 20 17:56:43 2008 -0300 V4L/DVB (7054): ansonic branded dvb-t usb stick support in the af9005 driver Marcos Melero (marcosmelero at gmail.com) reported he could make his dvb-t usb stick work with the af9005 driver by changing the device ids (10b9:6000). The stick is branded "Ansonic" (one of the brands of a spanish chain of supermarkets) with no other identification of the model. Since neither Marcos nor me know the OEM for the stick, in the attached patch I used Ansonic for the ids/description. Signed-off-by: Luca Olivetti Signed-off-by: Mauro Carvalho Chehab commit ed73683f06475531fb39e7ae9afe3011e4c5f8c1 Author: Michael Krufky Date: Sat Jan 19 17:41:04 2008 -0300 V4L/DVB (7052): tda18271: when tuning digital, the analog demod must be tri-stated Call analog_ops.standby during tda18271_set_params, to put the tda8295 in tri-state when tuning digital channels. Otherwise the tda8295 will interfere with the signal coming from the tda18271 into the digital demodulator. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 3473e342d79be938497a31caedd3c4e8d562485f Author: Mauro Carvalho Chehab Date: Mon Jan 7 10:45:47 2008 -0300 V4L/DVB (7051): Cleans up error handling on or51xxx_attach state is already NULL. Reviewed-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 4e8a23ea3c1333561f8d0f5daee53feee3e85b8a Author: Michael Krufky Date: Thu Jan 17 14:54:53 2008 -0300 V4L/DVB (7047): fix broken build when CONFIG_USB_SI470X is set Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4917019d190d9809287308c4866cbc47d6c1000b Author: Steven Toth Date: Tue Jan 15 21:57:14 2008 -0300 V4L/DVB (7046): Finalise support for the Pinnacle HD 8000i Correctly set the atatch structures, enable IR, configure the xc5000 tuner includes. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 73c993a8294077ae1b724286da8ac323c25d90db Author: Steven Toth Date: Sat Jan 5 17:08:05 2008 -0300 V4L/DVB (7045): xc5000: Small amount of cleanup and commenting xc5000: Small amount of cleanup and commenting, just for clarification. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 8c70017f5793e68ea48085a65008d713c9a85dde Author: Steven Toth Date: Sat Jan 5 16:55:45 2008 -0300 V4L/DVB (7044): XC5000: Fix support for HVR1500Q broken by patch 1 From Zhang: This patch fixes support for the HVR1500Q which was broken when the xc5000 analog patch was added. Patch committed as-is, cleanups to follows .... Steve Signed-off-by: Chaogui Zhang Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 60464da8b1ed8d7c19563f58cadb0ca990448a36 Author: Steven Toth Date: Sat Jan 5 16:53:01 2008 -0300 V4L/DVB (7043): New card supported(partially): Pinnacle 800i From Zhang: This patch continues the support for the Pinnacle HD 800i. Patch committed as-is, cleanups to follow ... Steve Signed-off-by: Chaogui Zhang Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 27c685a4b09b5e391023d769cddb97e4fcb3b9e1 Author: Steven Toth Date: Sat Jan 5 16:50:14 2008 -0300 V4L/DVB (7042): xc5000: Tuner analog support From Zhang: This an updated patch that adds analog support for the xc5000 tuner driver. it was tested on a Pinnacle PCTV HD 800i card (patches to follow). Patch commited as-is, cleanup to follow ... Steve. Signed-off-by: Chaogui Zhang Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit dfc1c08aab447d49230dacb390d3f2263584d28f Author: Steven Toth Date: Tue Jan 15 21:35:22 2008 -0300 V4L/DVB (7041): s5h1409: Bug fix for parallel support Parallel support was not working with the s5h1409 and the Pinnacle HD800i. This patch fixes the demodulator driver and ensures that all existing s5h1409 based products configure the demodulator correctly. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 387d447776484b6e1d08973337aa4c834ea7c6bc Author: Mauro Carvalho Chehab Date: Tue Jan 15 11:25:10 2008 -0300 V4L/DVB (7039): Reorder headers The backports weren't tested, but compile fine. Signed-off-by: Mauro Carvalho Chehab commit 78656acdcf4852547a29e929a1b7a98d5ac65f17 Author: Tobias Lorenz Date: Mon Jan 14 21:55:27 2008 -0300 V4L/DVB (7038): USB radio driver for Silicon Labs Si470x FM Radio Receivers this patch adds a new driver for the Silicon Labs Si470x FM Radio Receiver. It should also work for the identical ADS/Tech FM Radio Receiver (formerly Instant FM Music) as soon as I find out the USB Vendor and Product ID. The driver is inspired by several other USB and radio drivers, but mainly from the D-Link DSB-R100 USB radio (dsbr100.c). The USB stick currently has an Si4701 FM RDS radio receiver. But the other Si470x devices are pin and register compatible, so that in the future the driver can easily be patched to support these too. Therefore I named the driver radio-si470x and the configuration option usb-si470x. The driver itself just provides the control function over the radio. For getting audio back, the device support the USB audio class, which is implemented in the already existing driver. I tested the driver in the last days, until it now satisfies all my functionality and robustness requirements. The application I used for testing was kradio. Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit 438468359e1db16a7d1925fc4f2519a044bbf7dd Author: Zoltan Devai Date: Mon Jan 14 13:24:38 2008 -0300 V4L/DVB (7037): Fix build breakage of the bttv driver, when advanced debugging is not enabled Signed-off-by: Zoltan Devai Signed-off-by: Mauro Carvalho Chehab commit f37fdf3ff744bffc35a8f1b9d7d655d8d88a0404 Author: Julia Lawall Date: Tue Jan 1 18:08:10 2008 -0300 V4L/DVB (7036): radio: Use video_device_release rather than kfree The file drivers/media/video/videodev.c defines both video_device_alloc and video_device_release. These are essentially just kzmalloc and kfree, respectively, but it seems better to use video_device_release, as done in the other media files, rather than kfree, in case the implementation some day changes. The problem was found using the following semantic match. (http://www.emn.fr/x-info/coccinelle/) // @@ type T,T1,T2; identifier E; statement S; expression x1,x2,x3; int ret; @@ T E; ... * E = video_device_alloc(...); if (E == NULL) S ... when != video_device_release(...,(T1)E,...) when != if (E != NULL) { ... video_device_release(...,(T1)E,...); ...} when != x1 = (T1)E when != E = x3; when any if (...) { ... when != video_device_release(...,(T2)E,...) when != if (E != NULL) { ... video_device_release(...,(T2)E,...); ...} when != x2 = (T2)E ( * return; | * return ret; ) } // Signed-off-by: Julia Lawall Signed-off-by: Mauro Carvalho Chehab commit a2a9b1eceb50993ef9e126dffc2f678fd6602158 Author: Julia Lawall Date: Fri Jan 11 22:03:42 2008 -0300 V4L/DVB (7035): drivers/media/common: Add missing video_device_release Video_device_alloc returns the result of a kzalloc. In this case, the value is stored in a local variable which is not copied elsewhere before the point of the error return (video_register_device does not save its first argument anywhere if it returns a negative value). Thus, a video_device_release it needed before the error return. The problem was found using the following semantic match. (http://www.emn.fr/x-info/coccinelle/) // @@ type T,T1,T2; identifier E; statement S; expression x1,x2,x3; int ret; @@ T E; ... * E = video_device_alloc(...); if (E == NULL) S ... when != video_device_release(...,(T1)E,...) when != if (E != NULL) { ... video_device_release(...,(T1)E,...); ...} when != x1 = (T1)E when != E = x3; when any if (...) { ... when != video_device_release(...,(T2)E,...) when != if (E != NULL) { ... video_device_release(...,(T2)E,...); ...} when != x2 = (T2)E ( * return; | * return ret; ) } // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton CC: Oliver Endriss CC: Michael Hunold Signed-off-by: Mauro Carvalho Chehab commit bc835d80d9cd912cfa8beb6ad4549cd8160d3601 Author: Michael Krufky Date: Mon Jan 14 11:10:54 2008 -0300 V4L/DVB (7032): tda18271: tda18271_cal_on_startup should be declared static This module option variable is only handled within the file tda18271-fe.c - Declare this variable as static. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 99beeee9e927bf0c8d62e462a2fda86fa2c1450b Author: Michael Krufky Date: Sun Jan 13 20:02:52 2008 -0300 V4L/DVB (7030): Kconfig: add missing selections for VIDEO_PVRUSB2 VIDEO_PVRUSB2 must select: VIDEO_SAA711X, VIDEO_CX25840, VIDEO_MSP3400, and VIDEO_WM8775 Signed-off-by: Michael Krufky Acked-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 0f96251e7bfb2b2798f35e70efaa54bae65bfb9c Author: Michael Krufky Date: Sun Jan 13 22:01:07 2008 -0300 V4L/DVB (7029): tda18271: provide a choice whether to perform rf cal on init or on first tune If module option "cal" is set to 1, the ~22 sec rf tracking filter calibration sequence will be invoked on startup. Otherwise, the calibration will take place during the first tune. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 839c6c96d05894815b7af0dff22b710ce5a4373a Author: Michael Krufky Date: Sun Jan 13 18:29:44 2008 -0300 V4L/DVB (7028): tda18271: test RF_CAL_OK to see if we need additional RF calibration Test RF_CAL_OK to see if we need to perform the RF tracking filter calibration after returning from standby. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 518d87399baee908b0353bc0ef7d41c3c46295ec Author: Michael Krufky Date: Sun Jan 13 17:01:01 2008 -0300 V4L/DVB (7027): tda18271: put the device in standby mode during sleep() Add function, tda18271_set_standby_mode. During sleep, enter standby mode with slave tuner output enabled, loop through on and xtal oscillator on. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6bfa6657246013bf999fecda0874105441f6ecb5 Author: Michael Krufky Date: Mon Jan 7 00:51:48 2008 -0300 V4L/DVB (7026): tda18271: report when the RF tracking filter calibration has completed Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6200bbaa5bd8b6751931364dfa4aa1cdd5efa686 Author: Thierry MERLE Date: Thu Jan 10 18:20:34 2008 -0300 V4L/DVB (7024): usbvision: YUV to RGB conversion fixes All YUV to RGB conversions in usbvision were reverted (conversion to BGR but saying RGB to the application) Signed-off-by: Thierry MERLE Acked-by: Dwaine Garden Signed-off-by: Mauro Carvalho Chehab commit 1f8d30083abc17897b897787c39d446eb9d99fe0 Author: Mauro Carvalho Chehab Date: Sun Jan 13 19:40:30 2008 -0300 V4L/DVB (7023): Fix a regresion left by changeset 7e65d6e8f6df Changeset 7e65d6e8f6df removed a very bad hack on mmap(). However, the fixes weren't considering usermap and overlay memory models. This were breaking direct reading from /dev/video?, used mostly by mpeg aware drivers. Thanks to Steven Toth for reporting the issue and bissecting it. Signed-off-by: Mauro Carvalho Chehab commit dfd8c04ec14b88bc2849e62d6ff9e36f31352b60 Author: Mauro Carvalho Chehab Date: Sun Jan 13 19:36:11 2008 -0300 V4L/DVB (7022): Fix timestamp presentation on vivi driver Due to date overflow, vivi were not working fine anymore. Signed-off-by: Mauro Carvalho Chehab commit c8793b035df7b18997d1cf34254064dac166f009 Author: Mauro Carvalho Chehab Date: Sun Jan 13 15:42:17 2008 -0300 V4L/DVB (7021): Move all board specific configuration to em28xx-cards.c This cleanup moves the board-specific configurations to em28xx-cards.c. Signed-off-by: Mauro Carvalho Chehab commit 15b9becc68793209a2afd6c580bf71a71fee90a6 Author: Mauro Carvalho Chehab Date: Sun Jan 13 12:02:20 2008 -0300 V4L/DVB (7020): Add USB ID for a newer variant of Hauppauge WinTV USB2 Thanks to Jeroen Janssen Signed-off-by: Mauro Carvalho Chehab commit ec16dae5453eafd1586f35c4ec1ef854e5a808e0 Author: Jaime Velasco Juan Date: Sat Jan 12 06:48:14 2008 -0300 V4L/DVB (7019): V4L: add support for Syntek DC1125 webcams This driver supports cameras with USB ID 174f:a311 or 05e1:0501, and the ov965x sensors. These devices are found in some Asus laptops and probably somewhere else. It is based on the stk11xx driver written by Nicolas Vivien Signed-off-by: Jaime Velasco Juan Signed-off-by: Mauro Carvalho Chehab commit b6667e5fb8c478e65768fdb18fa6576ac1634068 Author: Hermann Pitton Date: Sat Jan 12 14:43:48 2008 -0300 V4L/DVB (7017): saa7134: add MSI TV@nywhere Plus with the older tda8275 tuner Thanks go to Mark Schultz for the initial contribution and to Dean Hilkewich for testing it again. Signed-off-by: Hermann Pitton Signed-off-by: Mauro Carvalho Chehab commit a28cb828ef9ba6669be738dd9affbaba65cc07fb Author: Hermann Pitton Date: Sat Jan 12 14:31:03 2008 -0300 V4L/DVB (7016): saa7134: remove the Avermedia Super 007 from eeprom detection saa7134: remove the Avermedia Super 007 from eeprom detection The card made it into the Philips' Tigers eeprom detection and falls through. Since it has attracted already others to follow, which are wrongly identified as TIGER_S then, move it to the usual analog initialization. Signed-off-by: Hermann Pitton Signed-off-by: Mauro Carvalho Chehab commit 4513fc696e273d64ea32f2366748aed810316ecc Author: Steven Toth Date: Sat Jan 12 11:36:36 2008 -0300 V4L/DVB (7014): cx23885: dprintk macro cleanup Added missing do { } while (0) Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit d685a483b8c92e3d0580b6c28e2ed531391c8c46 Author: Brett T. Warden Date: Thu Jan 10 04:33:31 2008 -0300 V4L/DVB (7013): bw-qcam: add module parameter 'force_init' to skip polite auto-detection prior to direct initialization Setting force_init=1 bypasses the friendly auto-detection by polling the status register, and instead attempts to initialize the qcam directly. Not friendly to other parallel devices, but much more reliable than the auto-detection. Signed-off-by: Brett T. Warden Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit a19602f26a24c32e491108b49790b106a6351f24 Author: Steven Toth Date: Thu Jan 10 11:43:18 2008 -0300 V4L/DVB (7011): cx23885: Cleanup of compiler defines and warnings Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 21a78091921915cd1afd0edb2940dd726edefe9b Author: Steven Toth Date: Thu Jan 10 04:38:59 2008 -0300 V4L/DVB (7010): cx23885: Small cleanup cx23885: Small cleanup Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit e47f30b140333525ea682ec672641b470da1e599 Author: Steven Toth Date: Thu Jan 10 04:25:59 2008 -0300 V4L/DVB (7009): cx23885: Video and VBI related files cx23885: Video and VBI related files. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit a57ed8a1f7381aa7e1bec6c55d5f119706f2982d Author: Steven Toth Date: Thu Jan 10 03:43:11 2008 -0300 V4L/DVB (7008): s5h1409: Ensure the silicon is initialized during attach If not it impacts on analog tuner quality. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 7b8880140ff6aec6a5bec7929b03ce0b96a7c79a Author: Steven Toth Date: Thu Jan 10 03:40:49 2008 -0300 V4L/DVB (7007): cx23885: Add basic video support for the HVR1800 This enabled basic preview NTSC and PAL support for the HVR1800. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit c771261330c90b7c77f686a1aa0fb4f756e07b5f Author: Steven Toth Date: Thu Jan 10 02:24:27 2008 -0300 V4L/DVB (7006): cx23885: Track the board clock frequency and allow overrides The cx23885/6/8 all have different clock rates, this patch allows the core to compensate, and developers to allow vendor specific overrides. This patches will be used by future analog video and encoder patches. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 69ad6e56bade948793957a295b3bf1376cffdf65 Author: Steven Toth Date: Thu Jan 10 02:16:41 2008 -0300 V4L/DVB (7005): cx23885: SRAM reallocation prior to analog video implementation We need to clear space large enough for the video and encoder fifos. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 5206d6ec36e2c66090c3c02c95b8d70c356a9ad3 Author: Steven Toth Date: Thu Jan 10 02:09:27 2008 -0300 V4L/DVB (7004): cx23885: Ensure HVR1800 TDA8295A is reset fully on module load Failure to do this means that a full system reboot is required if the part hangs. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 0ac5881aefc2dab8b3535c2e44fee6628acaf787 Author: Steven Toth Date: Thu Jan 10 02:06:35 2008 -0300 V4L/DVB (7003): cx23885: Add support for device revision detection Each version of the cx23885/7/8 silicon has different build revs. We'll use this internal revision to work around bugs and known issues in the video and encoder related patches. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit f234081bc564c69eb0e2cd4e957ad1cbae4a6144 Author: Steven Toth Date: Thu Jan 10 01:22:39 2008 -0300 V4L/DVB (7002): cx25840: Add basic CX23885 AVCore support The cx23885/7/8 PCIe bridge has an internal AVCore modelled on the cx2584x family. Many of the registers positions are identical but some moved. The register values are also different because the different bridges run at different clock rates. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit d05051c82e0e8ff748e9c9a06a061bda3ad656e5 Author: Mauro Carvalho Chehab Date: Thu Jan 10 07:33:03 2008 -0300 V4L/DVB (6997): Replace a very dirty hack on videobuf for a clean wait_event In order to videobuf_iolock to work, mmap_mapper should be called first. Otherwise, an OOPS is generated. On some cases, .mmap file handler used to took some time to be called. On those situations, mmap_mmapper() were called after iolock. This patch properly waits for mmap_mapper to be called, otherwise generating an error. Signed-off-by: Mauro Carvalho Chehab commit c6243d9c3de82e46467c88898db45ca14b6843a0 Author: Thierry MERLE Date: Wed Jan 9 17:34:53 2008 -0300 V4L/DVB (6995): ubvision: add adjust_X_Offset/adjust_Y_Offset parms Add adjust_X_Offset/adjust_Y_Offset module parameters to allow users to tune X and Y picture offsets for their almost-working tuners without repetitive recompilation. Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit eeec4b3853a8af0cd2b42af24b9e8fd0e0ef1f8a Author: Thierry MERLE Date: Wed Jan 9 17:33:53 2008 -0300 V4L/DVB (6994): usbvision: add Pinnacle Studio PCTV USB (NTSC) FM V3 Add the "Pinnacle Studio PCTV USB (NTSC) FM" device. This is the third occurrence of the same device designation... Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit e9ca1c79f2868d26c3e74ff3f20d5fa7d30724c5 Author: Mauro Carvalho Chehab Date: Wed Jan 9 21:35:56 2008 -0300 V4L/DVB (6993): Fix CARDLIST.saa7134 Signed-off-by: Mauro Carvalho Chehab commit 6d8ea8621f49a1cc486de4bf893db9743d0577bf Author: hermann pitton Date: Mon Jan 7 22:36:09 2008 -0300 V4L/DVB (6992): saa7134: remove Beholder devices without eeprom from auto detection As in the past, we should not allow to auto detect like this, since all saa7130 and saa7134 cards without eeprom will be detected as such Beholder cards then. Signed-off-by: Hermann Pitton Signed-off-by: Mauro Carvalho Chehab commit 006ed1ecf2c62659e5dd902350a7eb209b8a5257 Author: Michael Krufky Date: Wed Jan 9 10:44:27 2008 -0300 V4L/DVB (6989): tda18271: clean up chip id logic in tda829x_release This test is easier to read. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit cf04d29c4868a783b3e994e4a19f78ce22ba2d93 Author: Michael Krufky Date: Wed Jan 9 00:34:30 2008 -0300 V4L/DVB (6988): tda18271: give calibration debug a separate debug mask We don't usually want to see the calibration debug messages, but sometimes it is useful. Assign it to a separate debug mask. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c353f42f752d9b47661ff83b947986f6de948b61 Author: Michael Krufky Date: Tue Jan 8 10:38:10 2008 -0300 V4L/DVB (6987): tda18271: add support for fm radio Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a4f263b587573f47cc6bc7ad85e5f650169d48f6 Author: Michael Krufky Date: Sun Jan 6 15:52:56 2008 -0300 V4L/DVB (6986): tda18271: share state between analog and digital tuner instances Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b3d98135aa6e462d7e3f42a86d12483a9003a4da Author: Mauro Carvalho Chehab Date: Mon Jan 7 09:30:31 2008 -0300 V4L/DVB (6981): Fix bugzillas 9686 and 9691 IR were not working for Winfast XP 2000 TV. Gabor Nyekhelyi wrote a hack some time ago: http://marc.info/?l=linux-video&m=116362609323281&w=2 This patch fixes CodingStyle and commits the hack. I suspect that the proper solution would be to find the proper mask_keydown for this IR. Anyway, better to have this patch as a workaround. Thanks to Stafan Talpalaru for pointing the issue. CC: Gabor Nyekhelyi CC: Stafan Talpalaru Signed-off-by: Mauro Carvalho Chehab commit 8d316bf54b2a1965f9460d0ad9d80850d2c7afb3 Author: Michael Krufky Date: Sun Jan 6 15:31:35 2008 -0300 V4L/DVB (6979): tda18271: use a mutex to protect state in critical sections Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ccbac9bb174db457181f5f58fecf9cbc3020ea1d Author: Michael Krufky Date: Sun Jan 6 00:55:21 2008 -0300 V4L/DVB (6978): tda18271: store frequency and bandwidth after successful tune Store last tuned frequency & bandwidth after successful tune. Clean up tune functions -- remove pointer to tune function in state structure, instead call tune function based on priv->id. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 09f83c4fc06b02597ad4458c2a6675b0872f0b5c Author: Michael Krufky Date: Sat Jan 5 20:00:09 2008 -0300 V4L/DVB (6977): tda18271: clean up calibration initialization procedures Always initialize registers during attach. Perform IR Calibration during init if needed. Perform RF Calibration during init if needed for C2, only. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 98512f7b36ec412ea0461e9aab8f16c882df055d Author: Andrew Morton Date: Mon Jan 7 05:24:51 2008 -0300 V4L/DVB (6976): drivers/media/radio/radio-sf16fmr2.c: fix error handling video_register_device() returns -EFOO on errr, not -1. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=9699 Reported-By: Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 1434bc0cbb842ed71eada244ac46185e3b17e4e2 Author: Mauro Carvalho Chehab Date: Mon Jan 7 05:20:04 2008 -0300 V4L/DVB (6975): Add missing entry for Beholder BeholdTV 407 Acked-by: Andrey J. Melnikov Signed-off-by: Mauro Carvalho Chehab commit 616f8878bc5b5b2276f1941643d9ca7c88690305 Author: Mauro Carvalho Chehab Date: Mon Jan 7 05:18:36 2008 -0300 V4L/DVB (6974): Fix codingStyle Signed-off-by: Mauro Carvalho Chehab commit e8018c9e78b0ff4bb0290e46f4045fb4ea589ae8 Author: Andrey J. Melnikoff (TEMHOTA) Date: Mon Jan 7 05:17:39 2008 -0300 V4L/DVB (6973): Add Beholder TV 401/405/407/409/505/507/609/M6 support This patch updates cardlist for Beholder TV tuners: old models (with GPIO ir) 401, 403, 405, 407, 409, 505, 507 and add support for 607, 609, M6 cards with new i2c-ir. Signed-off-by: Igor Kuznetsov Signed-off-by: Andrey J. Melnikov Signed-off-by: Mauro Carvalho Chehab commit 3f4dfe2acf4ffed48395e69166531d8925eb106a Author: Mauro Carvalho Chehab Date: Sun Jan 6 09:54:17 2008 -0300 V4L/DVB (6970): Request snd-usb-audio for devices with Audio Class support Before this patch, only Vendor Class audio support were loaded. This means that older em28xx devices won't have digital audio support loaded. This patch changes the logic to auto load eighter snd-usb-audio, for devices with USB Audio Class or em28xx-alsa, for devices with USB Vendor Class. Signed-off-by: Mauro Carvalho Chehab commit a4950134d46f0b83745f05ea37987785a3905eba Author: Mauro Carvalho Chehab Date: Sun Jan 6 09:45:44 2008 -0300 V4L/DVB (6969): Avoid causing regressions for non-HVR950 boards Only HVR950 has analog_gpio configured. It makes no sense to set gpio to 0 for other boards. Better to add a test, while this var is not set for all xc3028 devices. Signed-off-by: Mauro Carvalho Chehab commit 11fcd4703004fc8c9030ba45dda8ad74a431d235 Author: Michael Krufky Date: Thu Oct 25 02:01:10 2007 -0300 V4L/DVB (6967): pvrusb2: add support for Hauppauge WinTV PVR-USB2 Model 75xxx Create a device description and enable autodetection for Hauppauge WinTV PVR-USB2 Model 75xxx Signed-off-by: Michael Krufky Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit d2c932a1f7aca16727ce6670c5eccb0a4e2b47a5 Author: Michael Krufky Date: Sat Jan 5 15:42:54 2008 -0300 V4L/DVB (6965): tda18271: fix analog tuning regression caused by earlier changeset An earlier patch, "tda18271: fail table lookups if frequency is out of range" broke analog support on certain hardware. This patch fixes that problem, by allowing the RF_CAL byte to be set to the maximum value, in cases of the frequency being out of range. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0e1fab90a8a76e09b669d3159ec910eab7ee97d6 Author: Michael Krufky Date: Thu Jan 3 01:40:47 2008 -0300 V4L/DVB (6964): tda18271: document debug level and configuration parameters Document debug level module options and tda18271_config attach-time parameters. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2ba65d517b91ebb30f4f2a88f1e1beeabd8d8ee6 Author: Michael Krufky Date: Thu Jan 3 01:17:45 2008 -0300 V4L/DVB (6963): tda18271: store IF frequency in a u16 instead of u32 Store IF Frequency in a u16 instead of a u32. Multiply by 1000 before use. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f21e0d7f0513e743b14df3197fdeeb9a9b7edbb2 Author: Michael Krufky Date: Wed Jan 2 03:01:54 2008 -0300 V4L/DVB (6962): tda18271: allow device-specific configuration of IF frequency and std bits Allow drivers to pass device-specific configuration parameters during attach. If these parameters are omitted, default values will be used. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 59067f7ed491ec95e6e9033e35e1ae726cff3cee Author: Michael Krufky Date: Wed Jan 2 01:58:26 2008 -0300 V4L/DVB (6961): tda18271: move common code to tda18271-common.c Move some common code to a new file to make this easier to look at. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 255b5113b4ed683898a24e381155c081f03411f7 Author: Michael Krufky Date: Tue Jan 1 22:52:09 2008 -0300 V4L/DVB (6960): tda18271: add support for NXP TDA18271HD/C2 Tested successfully with QAM256 digital cable. Analog television is limping, needs more work. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit dec9ccceef9bfd5f3cccc79e90b09f6c31ed3279 Author: Michael Krufky Date: Wed Jan 2 01:35:46 2008 -0300 V4L/DVB (6959): tda18271: add MODULE_VERSION version 0.1 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 95af8a26cba55222d6a1beda7970431b4fbbbdd6 Author: Michael Krufky Date: Tue Jan 1 18:31:34 2008 -0300 V4L/DVB (6958): tda18271: clean up function tda18271_set_analog_params make set_analog_params function look consistent with set_params function Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 33f25b42753f464c5927e8b828352333780c14bd Author: Michael Krufky Date: Sat Dec 29 21:46:01 2007 -0300 V4L/DVB (6957): tda18271: fail table lookups if frequency is out of range Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0be4375410f1ecc917f3c0caf8f98908d357c93f Author: Mauro Carvalho Chehab Date: Sat Jan 5 17:22:01 2008 -0300 V4L/DVB (6956): Add Radio support for em28xx Signed-off-by: Mauro Carvalho Chehab commit 3abee53e4402b6ae39e1e610f9ef94eb74097138 Author: Mauro Carvalho Chehab Date: Sat Jan 5 17:01:41 2008 -0300 V4L/DVB (6955): Properly implement 12MHz I2S support Signed-off-by: Mauro Carvalho Chehab commit 0f6dac18ccc6fb0c95f3e0269e60239661c9b4c5 Author: Mauro Carvalho Chehab Date: Sat Jan 5 16:47:16 2008 -0300 V4L/DVB (6954): There isn't a MTS radio firmware Try to load non-MTS firmware instead. Signed-off-by: Mauro Carvalho Chehab commit e545d6e2760b51163da141caffd288572c2db08d Author: Mauro Carvalho Chehab Date: Sat Jan 5 16:37:04 2008 -0300 V4L/DVB (6953): Fix radio set frequency logic Signed-off-by: Mauro Carvalho Chehab commit d7448a8d9d06ca2ca4fd1f17404450ecba8bea3a Author: Mauro Carvalho Chehab Date: Sat Jan 5 09:59:03 2008 -0300 V4L/DVB (6952): Add code for autoloading em28xx-alsa, if needed Older em28xx devices does implement standard Audio Class. However, on newer devices, this were replaced by a Vendor Class. This patch autodetects that an em28xx lacks Audio Class and auto-loads em28xx-alsa, for the devices that implements only a Vendor Class. For devices with Audio Class, snd-usb-audio module will provide an ALSA interface. This patch uses the request_module_async function as defined on cx88-mpeg.c, originally wrote by Markus Rechberger. Signed-off-by: Mauro Carvalho Chehab commit 6d79468dd8537530f4150e76ed9b4b63f80571c6 Author: Mauro Carvalho Chehab Date: Sat Jan 5 09:57:31 2008 -0300 V4L/DVB (6951): Integrates em28xx-audio.c into em28xx kernel module Also fixes the remaining CodingStyle issues that Lindent didn't fix. Signed-off-by: Mauro Carvalho Chehab commit 1a6f11e0e8db9e76ef34bc6731d5291e4df1ba37 Author: Mauro Carvalho Chehab Date: Sat Jan 5 09:56:24 2008 -0300 V4L/DVB (6950): Lindent em28xx-audio.c Signed-off-by: Mauro Carvalho Chehab commit a52932b405f23082f78ff12f4dd3e1741fcaab6f Author: Markus Rechberger Date: Sat Jan 5 09:55:47 2008 -0300 V4L/DVB (6949): Adds em28xx-audio module em28xx-audio module exports em28xx Vendor Class audio as an -alsa driver. This module were written based on usbaudio driver by Markus Rechberger. Recently, he acked to allow us to merge it on kernel: http://lists-archives.org/video4linux/20408-supporting-prolink-pixelview-405-dvd-maker.html Thanks to Markus Rechberger Signed-off-by: Mauro Carvalho Chehab commit 74f38a82376fb1b289d0957429ba45349f0cad62 Author: Mauro Carvalho Chehab Date: Sat Jan 5 09:54:58 2008 -0300 V4L/DVB (6948): HVR950 requires additional settings for audio to properly work Thanks to Markus Rechberger for retriving those commands. Also, MTS firmware is required for audio to work on HVR950. Signed-off-by: Mauro Carvalho Chehab commit 539c96d0fd86bfdcfac75c88b74aa5798439293d Author: Mauro Carvalho Chehab Date: Sat Jan 5 09:53:54 2008 -0300 V4L/DVB (6947): Improve audio setup handling It is possible to select audio inputs via em28xx or via ac97 functions. This patch allows configuring a board to use either one way. It also do some cleanups at audio setup configurations. Signed-off-by: Mauro Carvalho Chehab commit 6596a4f6032f13f1bef47550fcf1d4134cd978a4 Author: Mauro Carvalho Chehab Date: Tue Jan 1 14:43:02 2008 -0300 V4L/DVB (6944): Fix in-kernel ivtv compilation Due to tuner-xc2028.h, some extra directories should be added at .h search. Signed-off-by: Mauro Carvalho Chehab commit a594dcba943a2edc484ed83f694c27306bf5e28e Author: Mauro Carvalho Chehab Date: Mon Dec 31 02:29:46 2007 -0300 V4L/DVB (6938): Add a tool for extracting xc3028 version 2.7 firmware This tool allows the extraction of xc3028 v2.7 firmware from HVR 12x0 file. Signed-off-by: Mauro Carvalho Chehab commit 29a7b4cb44336a8ef85cb1d283dc6efd4cf0fa12 Author: Michael Krufky Date: Thu Dec 27 22:22:16 2007 -0300 V4L/DVB (6936): cx23885: update model matrix for Hauppauge HVR1500 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b00fff0be5655614bb18a4b1d6e33b27c56c6f7e Author: Michael Krufky Date: Thu Dec 27 22:19:31 2007 -0300 V4L/DVB (6935): cx23885: add missing subsystem IDs for Hauppauge HVR1500 Retail Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 68370cf94e2511aeda3b7cb8490692570a8c9dab Author: Michael Krufky Date: Thu Dec 27 22:02:38 2007 -0300 V4L/DVB (6934): cx23885: update model matrix for Hauppauge HVR1250 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6a0a962cbc2c52fad556692eabda563a01c9966c Author: Michael Krufky Date: Thu Dec 27 21:47:50 2007 -0300 V4L/DVB (6933): cx23885: update model matrix for Hauppauge HVR1800 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6ccb8cfbb94cc82144a92a6a28a754d9772b3aa8 Author: Michael Krufky Date: Thu Dec 27 21:46:34 2007 -0300 V4L/DVB (6932): cx23885: add missing subsystem ID for Hauppauge HVR1800 Retail Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 71bc9bd96b342cd29bbeaa4c83b8d37759ff22d7 Author: Steven Toth Date: Thu Dec 27 14:33:30 2007 -0300 V4L/DVB (6930): xc5000: Removed erroneous defines Basic cleanup. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit b92bf0f6a94b73a1b8bd0023b1fa642d13b01a76 Author: Michael Krufky Date: Tue Dec 25 18:54:22 2007 -0300 V4L/DVB (6928): tda18271: break calculation functions out of tda18271_tune Break out the following new functions from tda18271_tune: tda18271_calc_bp_filter tda18271_calc_km tda18271_calc_rf_band tda18271_calc_gain_taper tda18271_calc_ir_measure tda18271_calc_rf_cal Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 182519f4c99f73f376323580dda494d986b4760b Author: Michael Krufky Date: Tue Dec 25 15:10:11 2007 -0300 V4L/DVB (6927): tda18271: improve printk macros Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2f27dfc98cc0a183be9e3c2fc0da0450b85e5fde Author: Michael Krufky Date: Tue Dec 25 00:39:37 2007 -0300 V4L/DVB (6926): tda18271: consolidate table lookup functions Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d37142102a2adaa3391a384ea6a780afb5804789 Author: Michael Krufky Date: Mon Dec 24 14:38:41 2007 -0300 V4L/DVB (6925): tda18271: move state structures to tda18271-priv.h Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7686b574a1507ecf5fd7c419b43f26222668aa4d Author: Michael Krufky Date: Mon Dec 24 21:03:52 2007 -0300 V4L/DVB (6924): tda18271: fix whitespace in tda18271_ir_measure Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 926bf3ca937461123b98ff2ba8c3409f5b4c05b5 Author: Michael Krufky Date: Mon Dec 24 14:14:03 2007 -0300 V4L/DVB (6923): tda18271: remove extraneous debug We don't need to do a dbg_info during tda18271_attach anymore, since the tda18271_get_id function will call dbg_info with the same information and more. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8574ac690eab730a3ff735177af1d52e45e36c8b Author: Michael Krufky Date: Mon Dec 24 15:49:33 2007 -0300 V4L/DVB (6921): include/media/v4l2-i2c-drv.h must #include Fix the following compiler error: v4l2-i2c-drv.h:72: error: implicit declaration of function 'v4l2_i2c_attach' Also, prevent multiple inclusions of v4l2-i2c-drv.h Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 67d52e29032dd2f21d4080331f47a21205f337f6 Author: Michael Krufky Date: Mon Dec 24 16:05:39 2007 -0300 V4L/DVB (6920): tuner: fix backwards logic in check for set_config tuner-core was checking if analog_ops->set_config is set. If set, it would complain that it isn't. Fix this backwards logic to the proper behavior. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit de7234bb05a8498c5092385d3f1dd9e73cd332d0 Author: Michael Krufky Date: Wed Dec 26 13:04:08 2007 -0300 V4L/DVB (6919): Kconfig: VIDEO_CX23885 must select DVB_TUNER_XC5000 if !DVB_FE_CUSTOMIZE Everybody forgets to add the Kconfig stuff after they add new card support :-/ Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 3e509c76047781525c38fde1e0fa244470c7663c Author: Hans Verkuil Date: Mon Dec 24 10:41:47 2007 -0300 V4L/DVB (6917): ivtv: small textual update Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d998cc6a6d8e7da19ecadded55e373a84b1b4463 Author: Jean Delvare Date: Sat Dec 22 18:28:22 2007 -0300 V4L/DVB (6915): ivtv: drop an incorrect comment Signed-off-by: Jean Delvare Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9134be0376e7527afa4f2574253ff02ca80d5b47 Author: Mauro Carvalho Chehab Date: Thu Dec 27 22:28:31 2007 -0300 V4L/DVB (6914): Fix a few issues at the bttv conversion bttv driver is working as previously. An additional gain of about 1,5Kb were obtained with the driver conversion to vidioc_ioctl2: text data bss dec hex filename 89208 40244 57556 187008 2da80 old/bttv.ko 88960 38740 57556 185256 2d3a8 new/bttv.ko (measured on a x86_64) Signed-off-by: Mauro Carvalho Chehab commit 04a94d3ca25030d7c1fa27f3db3b90eb5a7985b0 Author: Mauro Carvalho Chehab Date: Thu Dec 27 22:23:34 2007 -0300 V4L/DVB (6913): Preserve the previous order to make easier to check the conversion Signed-off-by: Mauro Carvalho Chehab commit e5ae3db461f2de1f4fb455bc73c059c0b97b1230 Author: Mauro Carvalho Chehab Date: Thu Dec 27 22:22:59 2007 -0300 V4L/DVB (6912): Replace vidioc_ to bttv_ Since there are a few vidioc_ functions that were exported, rename those functions to bttv_ in order to avoid poluting namespace. The other functions were also renamed, to standardize inside the driver. Signed-off-by: Mauro Carvalho Chehab commit 402aa76aa5e57801b4db5ccf8c7beea9f580bb1b Author: Douglas Schilling Landgraf Date: Thu Dec 27 22:20:58 2007 -0300 V4L/DVB (6911): Converted bttv to use video_ioctl2 Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 4041f1a58774249f5f26163e68b844521ece1fb4 Author: Michael Krufky Date: Mon Dec 24 04:52:08 2007 -0300 V4L/DVB (6909): cx23885: fix bad use count caused by tda18271 being probed by tda8290 Don't allow the tda8290 module to probe and attach the tuner module, causing incorrect use counts when using dvb_attach. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c90762799c42df203fc2c9c1a2ac39f154f8faca Author: Michael Krufky Date: Mon Dec 24 04:36:14 2007 -0300 V4L/DVB (6908): tda8290: add the option not to probe for tuners passed into tda829x_config Prevent the tda8290 module from probing for tuners during tda829x_attach, by passing: .probe_tuner = TDA829X_DONT_PROBE, ...in struct tda829x_config Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fe0bf6d783d8057bd3dd0dd69613a390d6986c47 Author: Michael Krufky Date: Mon Dec 24 05:05:05 2007 -0300 V4L/DVB (6907): tda18271: create separate calc_pll functions Consolidate duplicated code by creating functions: tda18271_calc_main_pll tda18271_calc_cal_pll Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f0bd504fb91c8929bfbacbad759a8e3fe572589f Author: Michael Krufky Date: Mon Dec 24 04:35:21 2007 -0300 V4L/DVB (6906): tda18271: rename tda18271_calc_* functions to tda18271_lookup_* Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 49e7aaf0ff14a270f3c481ab200dcf361c4155a5 Author: Michael Krufky Date: Mon Dec 24 04:15:20 2007 -0300 V4L/DVB (6905): tda18271: check ID register during attach Identify the silicon during attach, return NULL if unsupported device. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7e946c8a4242e3ed944cececddd3f2294299ed65 Author: Michael Krufky Date: Mon Dec 24 03:47:30 2007 -0300 V4L/DVB (6904): tda18271: divider byte 1, bit 7 is always 0 Bit 7 of both Main Divider byte 1 and Cal Divider byte 1 is always zero. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 994fc28b6cd087cf6ef8d3ebd4eeef97c8194e4e Author: Matthias Schwarzott Date: Mon Dec 24 07:12:55 2007 -0300 V4L/DVB (6903): mt312: CodingStyle fix Fixes all occurences of assignment in if checkpatch marks them as ERROR. Signed-off-by: Matthias Schwarzott Reviewed-by: Andreas Oberritter Signed-off-by: Mauro Carvalho Chehab commit 478f42292df86a618afbe3c22d11cf08c036d413 Author: Michael Krufky Date: Sat Dec 22 17:56:25 2007 -0300 V4L/DVB (6901): Kconfig: VIDEO_CX23885 selects TUNER_TDA8290 and DVB_TDA18271 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 3ba71d2194500d1a9fef1b8491b9e0c168e7d46e Author: Michael Krufky Date: Fri Dec 7 01:40:36 2007 -0300 V4L/DVB (6900): cx23885: enable EZ-QAM mode for Hauppauge WinTV HVR-1800 Add module option 'alt_tuner' disabled by default. When set to one, the dvb_frontend of HVR1800 will consist of: s5h1409 demod + tda18271 tuner When set zero (default), the dvb_frontend of HVR1800 will consist of: s5h1409 demod + mt2131 tuner If the tda18271 is used in digital mode, you will not be able to tune an analog channel at the same time. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4cd8a7bd65a29c5b7833de177622cb2534d5e868 Author: Michael Krufky Date: Sat Dec 22 16:59:08 2007 -0300 V4L/DVB (6899): Kconfig: VIDEO_CX23885 must select TUNER_XC2028 if !DVB_FE_CUSTOMIZE Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 07b4a835d42d6d59e84cbafdc8b7090f97d7b67a Author: Michael Krufky Date: Tue Dec 18 01:09:11 2007 -0300 V4L/DVB (6898): cx23885: add support for Hauppauge WinTV HVR-1500 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ef207feddf826f099562b239543c447e68991b84 Author: Chris Pascoe Date: Sun Dec 2 09:30:55 2007 -0300 V4L/DVB (6897): xc2028: ignore HAS_IF during specific S-Code type searches If we are selecting the S-Code firmware to load by name, then we must mask off the HAS_IF bit during the search. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 0e614cd1a5a09b36a3b6d0fff8a08a97800d3cce Author: Hans Verkuil Date: Fri Dec 21 21:33:36 2007 -0300 V4L/DVB (6896): ivtv: add XC2028 support for Club3D cards Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3f51451b516eeb19d3c1ea311ee8845fc80b5135 Author: Michael Krufky Date: Fri Dec 21 16:20:23 2007 -0300 V4L/DVB (6894): xc5000: fix build warning Fix the following build warning: xc5000.c:560: warning: format '%d' expects type 'int', but argument 2 has type 'size_t' On many architectrues size_t is unsigned long, and may not be printed with %d. Use %Zu instead. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7972f9880c8c812332a56da7cfa4523d01ea310b Author: Michael Krufky Date: Fri Dec 21 16:12:09 2007 -0300 V4L/DVB (6893): tuner-xc2028: fix xc2028_attach function xc2028_attach was returning an integer when disabled from the build, where it should instead be returning NULL. Declare xc2028_attach as type dvb_frontend * instead of void *. The prototype declaration must be marked as extern in the header. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fb6d8e2c7fe1667d8ce057e333b18deb91191be5 Author: Michael Krufky Date: Fri Dec 21 16:00:45 2007 -0300 V4L/DVB (6892): xc5000: fix build when DVB_TUNER_XC5000 is disabled Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 26501a703d9eca3b42d793d2e2553c33744097b9 Author: Michael Krufky Date: Fri Dec 21 14:28:46 2007 -0300 V4L/DVB (6890): tda18271: fix typo in RF tracking filter calibration We want to set bits 1 & 2 on easy programming byte 4, not extended byte 4. Thanks to David Wong for pointing this out. Signed-off-by: Michael Krufky Cc: David Wong Signed-off-by: Mauro Carvalho Chehab commit 2800b439e090aa06194dbbfb939cd259b74c42a3 Author: Steven Toth Date: Thu Dec 20 01:20:38 2007 -0300 V4L/DVB (6888): Add Hauppauge tuner type 150 defintion Add Hauppauge tuner type 150 defintion. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 6df9366857335c6406659ce31554b103a00c3b96 Author: Steven Toth Date: Thu Dec 20 01:17:15 2007 -0300 V4L/DVB (6887): Avoid 'unknown model' message for the HVR1500-Q Avoid 'unknown model' message for the HVR1500-Q Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit e12671cf0c3c8460dfa3ab945023803612827fb7 Author: Steven Toth Date: Thu Dec 20 01:14:43 2007 -0300 V4L/DVB (6886): xc5000: Cleanups of types, result codes etc This translates much of the xceive coding style, adds some result codes and generally cleans up whitespace and function arguments. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit d1987d55a1eda774dfbab240a432607c17241d07 Author: Steven Toth Date: Tue Dec 18 01:57:06 2007 -0300 V4L/DVB (6885): Add support for the Hauppauge HVR1500Q The express card ATSC/QAM tuner. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit aacb9d31ee65c0685745ca4dfc7cdd24f8b7d92b Author: Steven Toth Date: Tue Dec 18 01:55:51 2007 -0300 V4L/DVB (6884): Add support for the Xceive xc5000 silicon tuner This is an all formats tuner, QAM, ATSC, DVB-T and others. Only ATSC and QAM have been tested. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 2426a27e4d25cf932ce73aa84a085ee94b4189a8 Author: Michael Krufky Date: Fri Dec 21 11:34:45 2007 -0300 V4L/DVB (6882): dvb_frontend: release analog demod in dvb_frontend_detach Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit bc3e5c7fc20d3c09667067878fb7a55dd9fc041d Author: Michael Krufky Date: Fri Dec 21 11:18:32 2007 -0300 V4L/DVB (6881): include struct analog_demod_ops directly inside struct dvb_frontend Rather than using a pointer, include struct analog_demod_ops directly inside struct dvb_frontend. This will allow us to use dvb_attach in the future, along with removing the need to check the ops structure before having to check the pointer to the method being called. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9ad89f0104314786138d580ab2c1119e7e470f56 Author: Michael Krufky Date: Fri Dec 21 03:00:59 2007 -0300 V4L/DVB (6880): kill tuner-driver.h Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 807ffe8df23e1977d4e702697a08047f346eb974 Author: Michael Krufky Date: Fri Dec 21 02:55:43 2007 -0300 V4L/DVB (6879): move struct analog_tuner_ops into dvb_frontend.h struct analog_tuner_ops no longer has any dependencies specific to v4l2, so we can move this into dvb_frontend.h with the rest of the tuning structures. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b624aa86cd92b32d66653609e4896f54c0d6111d Author: Michael Krufky Date: Thu Dec 20 23:19:14 2007 -0300 V4L/DVB (6878): tuner: remove extraneous variable declaration tuner_count is already declared as "extern unsigned const int" in -- Remove it from tuner-driver.h Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d536c9df41f5e47a37e22b46ea98451ce8134e55 Author: Michael Krufky Date: Tue Dec 18 10:42:33 2007 -0300 V4L/DVB (6875): tuner-xc2028: ATSC requires 1.75 MHz tuning offset In my testing yesterday, I was using a scan file tailored specifically for a unique test situation -- As it turns out, this scan file was bad, and I will use the one included inside dvb-apps for testing for now on. I've tested with other ATSC tuners just to confirm, using: us-ATSC-center-frequencies-8VSB Anyhow, as it turns out, the tuner-xc2028 *does* require a tuning offset for ATSC. Even though the linux-dvb api passes in center frequencies from userspace, apparantly the xceive firmware is already factoring in the tuning offset to center. In order to make the device function using the same scan files / channels.conf configurations as other atsc devices, we must offset by 1.75 MHz. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0b6a3342a645208feaab76332f1eee33e1688bd5 Author: Matthias Schwarzott Date: Fri Dec 21 08:58:09 2007 -0300 V4L/DVB (6874): removes duplicated KERN_DEBUG flags from dprintk calls in mt312.c do { \ if (debug) printk(KERN_DEBUG "mt312: " args); \ } while (0) So no caller need to specify KERN_DEBUG. Signed-off-by: Matthias Schwarzott Signed-off-by: Mauro Carvalho Chehab commit 89f6475857b89e956a8bcfef64944409ce4173b4 Author: Matthias Schwarzott Date: Fri Dec 21 08:56:44 2007 -0300 V4L/DVB (6873): Fixes issues listed by checkpatch Signed-off-by: Matthias Schwarzott Signed-off-by: Mauro Carvalho Chehab commit 6fb377f85cb8c2c1580ce8b134c887a7b53c7aa9 Author: Hans Verkuil Date: Tue Dec 18 19:40:44 2007 -0300 V4L/DVB (6869): cs5345: new i2c driver Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 0b394def21e7d3bd02aeee5570473582ce7984ec Author: Hans Verkuil Date: Tue Dec 18 19:27:31 2007 -0300 V4L/DVB (6868): i2c-id.h: add I2C_DRIVERID_CS5345 Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9fad368b6dff95b8b009a6b8eed42a549a05b263 Author: Hans Verkuil Date: Wed Dec 12 10:23:52 2007 -0300 V4L/DVB (6867): saa7127: CodingStyle cleanups Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d52c7385ec8d4d2081b0db47e309723ce3eae816 Author: Hans Verkuil Date: Wed Dec 12 08:25:18 2007 -0300 V4L/DVB (6866): msp3400: CodingStyle cleanups Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 35df38c015866b3c28bfb1914b14eba92086cdd1 Author: Hans Verkuil Date: Wed Dec 12 07:40:54 2007 -0300 V4L/DVB (6865): vp27smpx: CodingStyle cleanup Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 79f998a71b9bca5a16b0b8c30e5c0c849705a5ec Author: Hans Verkuil Date: Wed Dec 12 07:34:15 2007 -0300 V4L/DVB (6864): upd64031a: CodingStyle cleanup Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 8c9fc8de546134d021de58c7ade6f025c9d1da1c Author: Hans Verkuil Date: Wed Dec 12 07:30:02 2007 -0300 V4L/DVB (6863): upd64083: CodingStyle cleanups Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f69d419a0bdf4cd2551200b6777a226fea527d1a Author: Hans Verkuil Date: Wed Dec 12 07:24:27 2007 -0300 V4L/DVB (6862): ivtv: really remove i2c legacy support from drivers that no longer need it For some reason the include header wasn't changed from v4l2-i2c-drv-legacy.h to v4l2-i2c-drv.h in the previous patch. This is now corrected. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ea48c13ad0e5626b827bd7076c22df1a352e3983 Author: Hans Verkuil Date: Wed Dec 12 07:04:58 2007 -0300 V4L/DVB (6861): cx2341x: command argument should be u32 instead of int Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f19a73d620c5412e2413b778f4dad21febdd6115 Author: Hans Verkuil Date: Wed Dec 12 06:50:20 2007 -0300 V4L/DVB (6860): tveeprom: CodingStyle cleanup Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5412c8204f8c4f733acef511979fe1a738b74767 Author: Hans Verkuil Date: Wed Dec 12 06:21:58 2007 -0300 V4L/DVB (6859): tveeprom: add support for Hauppauge models 74xxx Thanks to Steve Toth from Hauppauge with providing me with the information needed to add support for these models. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3ac510e6097368695ddff20918ab5822823b548e Author: Mauro Carvalho Chehab Date: Tue Dec 18 00:30:52 2007 -0300 V4L/DVB (6858): Fix offset for ATSC ATSC works with offset=0 Signed-off-by: Mauro Carvalho Chehab commit 5e3c5967da48b54e5d4ee528b51b565e2f7a3178 Author: Chris Pascoe Date: Sat Dec 15 03:31:09 2007 -0300 V4L/DVB (6857): cx23885: correctly join I2C writes and reads from same address When an I2C message specifies a write then a read from the same I2C address, we need to tell the chip to not release the bus between the message parts. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit bc514710889ebb975be9e84ca9c04f698225b656 Author: Chris Pascoe Date: Sat Dec 15 03:24:00 2007 -0300 V4L/DVB (6856): zl10353: improve tuning parameters and update register map Some more I2C traces and a experimentation with register values on both the ZL10353 and MT352 mean that I can now guess at what more of the ZL10353 registers do. Guess at the registers' names (based on the equivalent names in MT352) and update set_parameters/get_parameters with the new knowledge. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 3dfefc50ff45744ffb97ce0bf9c213a3fb6d5d3d Author: Chris Pascoe Date: Sun Dec 2 10:07:06 2007 -0300 V4L/DVB (6855): xc2028: select DTV78 firmware if tuning 7MHz VHF / 8MHz UHF It seems that the DTV78 firmware is intended for use in locations where VHF channels have 7MHz bandwidth and UHF channels have 8MHz bandwidth. If we switch to DTV78 firmware when we detect this condition, we can avoid firmware reloads when switching between VHF and UHF transponders. Place the state for this in the control structure so that card drivers can hint to us to use DTV78 firmware from the first tuning attempt. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 897b842296f1285a6b58e9170f7017022e2e2603 Author: Chris Pascoe Date: Sun Dec 2 09:39:18 2007 -0300 V4L/DVB (6854): xc2028: be more specific about when applying offset for 7MHz channels We have been inserting a mystery 500kHz offset for tuning 7MHz channels, however some experimentation reveals it is only needed under certain conditions with specific firmware combinations. Document these and only apply the offset when we know it is required. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 9ca01e780f8966a7a94f88ef5c54f340e117abea Author: Chris Pascoe Date: Sun Dec 2 06:54:17 2007 -0300 V4L/DVB (6853): xc2028: check HAS_IF flag against table When searching for the right S-Code table to load, check the HAS_IF flag against the firmware we are checking instead of against the the "type" requested. We already ignore the scode type requested if the caller passed an int_freq; this makes the search by frequency consistent with that behaviour. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit ad35ce9e3e03b1515c8581bababb0e64d05cf1ad Author: Chris Pascoe Date: Sun Dec 2 06:36:42 2007 -0300 V4L/DVB (6852): xc2028: s-code offset should not modify internal control structure Don't modify the control structure that was provided at attach when applying an offset to the S-Code, otherwise it will be incorrect on subsequent tunes. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit e026268870b5f05a3f74b37816d96ed3b19a9e33 Author: Chris Pascoe Date: Sun Dec 2 06:30:50 2007 -0300 V4L/DVB (6851): xc2028: include int_freq in firmware version display Add "int_freq" to the debugging output when selecting firmware and the HAS_IF flag when dumping firmware during load. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit aec2aef267203d9ac06ce3508682c0aa81a069dc Author: Aurelien Jarno Date: Mon Dec 17 13:49:17 2007 -0300 V4L/DVB (em28xx): Add support for Pinnacle Dazzle DVC 100 The patch below adds the "Pinnacle Dazzle DVC 100" to the list of cards supported by the em28xx driver. As the configuration is the same as the DVC 90 one, it simply adds a new USB ID to the list of devices supported by the DVC 90 configuration. Signed-off-by: Aurelien Jarno Signed-off-by: Mauro Carvalho Chehab commit 9e7e85ebaeba22979209268423f5aae8a352df4c Author: Akinobu Mita Date: Mon Dec 17 14:26:29 2007 -0300 V4L/DVB (6848): bttv: check pci_register_driver() error Check pci_register_driver() error in module_init. Signed-off-by: Akinobu Mita Signed-off-by: Mauro Carvalho Chehab commit 71021d2601c54eee6df3afaf79aed430b17e1366 Author: Michael Krufky Date: Mon Dec 17 09:49:33 2007 -0300 V4L/DVB (6846): tda9887: initialize mode to T_STANDBY at startup Ensure that the audio is muted at attach-time Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit dabe61565e3b02bc4a841f317896536068f94e63 Author: Michael Krufky Date: Mon Dec 17 01:21:08 2007 -0300 V4L/DVB (6845): tuner: remove unneeded #includes from tuner-driver.h Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f7f427e4cc6078e23078dcd7f321676e0b0f544c Author: Michael Krufky Date: Sun Dec 16 22:02:26 2007 -0300 V4L/DVB (6844): tuner: remove struct tuner from tuner-driver.h struct tuner holds state for tuner-core, only -- move it into tuner-core.c Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 790ba18ec7a5f15c854f52835b0e6f39de2369dd Author: Michael Krufky Date: Sun Dec 16 21:20:21 2007 -0300 V4L/DVB (6843): tda9887: use printk macros from tuner-i2c.h replace tda9887_info and tda9887_dbg printk macros with tuner_info and tuner_dbg, defined in tuner-i2c.h Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8ca4083b50752d588f8b8b1e5e5776fb17d00304 Author: Michael Krufky Date: Sun Dec 16 20:11:46 2007 -0300 V4L/DVB (6842): tda9887: remove dependency on struct tuner Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 91c9d4a16710b047781248a38e7000ce9de324af Author: Michael Krufky Date: Sun Dec 16 20:05:00 2007 -0300 V4L/DVB (6841): tda9887: maintain private state independent of struct tuner Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 710401b837f8849dc9c28385eb5298746b811305 Author: Michael Krufky Date: Sun Dec 16 19:53:32 2007 -0300 V4L/DVB (6840): tuner: convert tda9887 to use TUNER_SET_CONFIG Use TUNER_SET_CONFIG to set configuration in tda9887's private state structure, rather than storing tda9887-specific configuration within struct tuner. Update handling of TUNER_SET_CONFIG by tuner-core, to call &t->fe.ops.analog_demod_ops rather than &t->fe.ops.tuner_ops analog_demod_ops.set_config passes the request to tuner_ops.set_config, so this does not break other drivers. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f1c9a281005f714fdc57c830a23f2b6bd6e2b714 Author: Michael Krufky Date: Sun Dec 16 19:27:23 2007 -0300 V4L/DVB (6839): tuner: add set_config to struct analog_tuner_ops Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit daae58956bebeab6631ba078669970a27bdfbdbe Author: Michael Krufky Date: Sun Dec 16 19:14:31 2007 -0300 V4L/DVB (6838): tda9887: remove references to struct tuner from printk macros Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 35e420357bd835d43c76d3ab5e35694be0b56f95 Author: Michael Krufky Date: Mon Dec 17 10:54:06 2007 -0300 V4L/DVB (6837): Convert cx88_input.audioroute to a bitfield Prevent us from wasting some extra bytes of memory Thanks to Trent Piepho, for pointing this out. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d8f69971d8d6c137e42928492f8d469078113db9 Author: Mauro Carvalho Chehab Date: Mon Dec 17 10:35:59 2007 -0300 V4L/DVB (6836): Fix CodingStyle troubles caused by the previous cx88 commits Signed-off-by: Mauro Carvalho Chehab commit 36e05a44756efe562ad1f49ada9bd6a598242828 Author: Frej Drejhammar Date: Mon Nov 5 17:57:11 2007 -0300 V4L/DVB (6834): cx88-video: Enable selection of the WM8775 for cx88 cards The auto selection of pertinent helper chips (VIDEO_HELPER_CHIPS_AUTO) should select the wm8775 driver, which is used by at least one Conexant 2388x based card (Hauppauge HVR-1300), if VIDEO_CX88 is selected. Signed-off-by: Frej Drejhammar Signed-off-by: Ricardo Cerqueira Signed-off-by: Mauro Carvalho Chehab commit 66e6fbdf99420efe58685feda0ac1b73b33400e0 Author: Ricardo Cerqueira Date: Tue Oct 16 20:52:08 2007 -0300 V4L/DVB (6833): Don't limit cx88 audio routing to blackbird boards All cx2388 boards need the line-in audio to be routed from an external ADC (refered to as "ADC mode" in the spec sheet), since the chip is uncapable of dealing with baseband audio directly. So... this patch enables normal mode when using the tuner (TV or Radio), and enables ADC mode with any other source. It'll probably only work with boards that have supported ADCs (such as the Wolfson wm9775) Signed-off-by: Ricardo Cerqueira Signed-off-by: Mauro Carvalho Chehab commit 6a0bc9a0162d10c551bb916a1a21bfede4db3203 Author: Michael Krufky Date: Sat Oct 13 20:42:45 2007 -0300 V4L/DVB (6832): cx88-blackbird: don't mute audio when stopping the codec We should not mute the audio input when we stop the codec, because it will interfere with the live uncompressed stream. Signed-off-by: Michael Krufky Reviewed-by: Jelle Foks Signed-off-by: Mauro Carvalho Chehab commit 7b27d45bb50498c86aa87e7ef174b2a0f5b6f361 Author: Ricardo Cerqueira Date: Sun Sep 30 13:02:49 2007 -0300 V4L/DVB (6831): Audio routes fix for blackbird boards with the wm8775 ADC Fix lack of audio on the MPEG-2 stream of wm8775 based blackbirds. The wm8775 module initializes the audio input at "route 2", which doesn't hold true for all boards. The HVR-1300, for example, uses route 1 for tuner audio, and route 2 for baseband. So we must route the audio to the proper input depending on what video input is being used. Signed-off-by: Ricardo Cerqueira Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4423a9a3395ef652d80d848161444b417f1f78c0 Author: Jelle Foks Date: Mon May 21 14:48:58 2007 -0300 V4L/DVB (6830): cx88-blackbird: remove unnecessary encoder unmute Remove the unnecessary BLACKBIRD_UNMUTE calls to the mpeg encoder in cx88-blackbird.c The encoder is never muted, hence unmuting should then only be necessary once after hardware initialization. I tested this from warm boots and cold boots (with long power down time to ensure the sram in the chip is emptied), and found that after the firmware upload the encoder is apparently not muted, making the unmutes unnecessary. Signed-off-by: Jelle Foks Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit e21a5c68deab7cd300e8502488f844f77e0f26d0 Author: Jelle Foks Date: Mon May 21 14:46:06 2007 -0300 V4L/DVB (6829): cx88-blackbird: remove unnecessary msleep()'s Remove the unnecessary msleep()'s in cx88-blackbird.c Signed-off-by: Jelle Foks Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f9e54e0c84da869ad9bc372fb4eab26d558dbfc2 Author: Jelle Foks Date: Mon May 21 14:36:01 2007 -0300 V4L/DVB (6828): cx88-blackbird: audio improvements This patch should fix the 'muted audio' and 'raspy audio' problem for mpeg2 streams out of cx88-blackbird devices. Especially mythtv users would find that the audio would often sound bad (aliased, or 'raspy'), mainly related to channel changes, many (all?) other users would find that there was no audio at all in the mpeg data from the encoder chip, unless the audio was manually unmuted. The patch includes the following modifications: Don't actually start the mpeg2 encoder until the device is read from by the application. Wait until the audio is stable for at least 400ms before starting the mpeg encoder. Mute/Unmute the audio when starting/stopping the mpeg encoder. Stop the mpeg encoder when changing parameters and when changing tuner frequency. Add a variable 'mpeg_active' to struct cx8802_dev to allow tracking of whether or not the mpeg2 encoder is active. Load the firmware on cx88-blackbird driver load. Signed-off-by: Jelle Foks Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4bfae52b69360a966f41ba3308e57a6df41ff8e1 Author: Mauro Carvalho Chehab Date: Sun Dec 16 09:24:30 2007 -0300 V4L/DVB (6827): Auto-selects D2633 for ATSC ATSC standard-specific firmware is D2633 on both v2.5 and v2.7. Better to auto-select this firmware, overriding ctrl.d2633. Signed-off-by: Mauro Carvalho Chehab commit 6b7daa88f23bb23f61977063e3f8ea9598e65e32 Author: Michael Krufky Date: Thu Dec 13 10:11:49 2007 -0300 V4L/DVB (6822): s5h1409: use VSB IF frequency ( 44 / 5.38 MHz ) unless otherwise specified use VSB IF frequency ( 44 / 5.38 MHz ) if qam_if is invalid or unspecified Acked-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2b03238a79295aff30afc3d9a82afa617fd33971 Author: Michael Krufky Date: Thu Dec 13 10:04:10 2007 -0300 V4L/DVB (6821): s5h1409: fix IF frequency configuration On the s5h1409 demod, the IF frequency for VSB is limited to 44 / 5.38 MHz. Hardcode VSB IF frequency within the driver to 44 / 5.38 MHz. QAM IF frequency remains configurable via attach-time configuration. Acked-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 18ff605a18b29ab1b52d31f96e2ecbaf7a042a3e Author: Andrew Morton Date: Wed Dec 12 21:43:57 2007 -0300 V4L/DVB (6818): git-dvb: drivers/media/dvb/frontends/zl10353.c: avoid 64-bit divide Signed-off-by: Andrew Morton Acked-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 6594ad829a98d5a9fe720d8d182a4e50fc81953a Author: Mauro Carvalho Chehab Date: Thu Dec 13 16:15:41 2007 -0300 V4L/DVB (6817): Cleanup kernel thread and provide overrun detection The previous code were a little bit messy. Cleans it up. Signed-off-by: Mauro Carvalho Chehab commit 55862ac9b2e656c35ab1e25d9b162e5bda81281f Author: Mauro Carvalho Chehab Date: Thu Dec 13 16:13:37 2007 -0300 V4L/DVB (6816): Add proper locking for buffer filling Avoids de-alocating buffers before finishing to fill a buffer Signed-off-by: Mauro Carvalho Chehab commit 6c2f990105acd360e83b95b41c60ed8bf25e67fe Author: Mauro Carvalho Chehab Date: Thu Dec 13 13:30:14 2007 -0300 V4L/DVB (6815): Fix vivi internal debug messages Signed-off-by: Mauro Carvalho Chehab commit 1fe934ddfc8e6e5663c0308ae216219be87b8d4f Author: Daniel Walker Date: Wed Dec 12 18:37:54 2007 -0300 V4L/DVB (6812): media: video: usbvision: remove ctrlUrbLock The ctrlUrbLock has all it's users commented out, and so it's unused. This patch removes it. Signed-off-by: Daniel Walker Signed-off-by: Andrew Morton Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 544e6175330c86ad87abeeb1b048f56bafd96c31 Author: Andrew Morton Date: Wed Dec 12 18:25:23 2007 -0300 V4L/DVB (6811): media-video-usbvision-add-mutex_unlock-to-error-paths-fix Signed-off-by: Andrew Morton Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 0991112c1c4625323df8a582de1b2f8609922248 Author: Daniel Walker Date: Wed Dec 12 18:22:48 2007 -0300 V4L/DVB (6810): media: video: usbvision: add mutex_unlock() to error paths There are a few error paths which don't unlock the usbvision->lock. So I've added mutex_unlock() calls to fix those paths. Signed-off-by: Daniel Walker Signed-off-by: Andrew Morton Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 7cd355e7c0c02e499784c77e88720f7cc8f98473 Author: Andrew Morton Date: Wed Dec 12 19:55:49 2007 -0300 V4L/DVB (6809): git-dvb: drivers/media/video/et61x251/et61x251_core.c: fix warnings drivers/media/video/et61x251/et61x251_core.c:390: warning: 'et61x251_i2c_read' defined but not used drivers/media/video/et61x251/et61x251_core.c:397: warning: 'et61x251_i2c_write' defined but not used Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 39b43b1a61f3c4b540b024843e592b14533aa961 Author: Andrew Morton Date: Wed Dec 12 19:27:57 2007 -0300 V4L/DVB (6808): git-dvb: fix build in drivers/media/dvb/frontends/tda18271.h Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 8996b3f3cfa9d21ba9ed31a116d5066e38827878 Author: Mauro Carvalho Chehab Date: Thu Dec 13 06:36:22 2007 -0300 V4L/DVB (6807): fix debug enable The changes at vivi_template make debug option to not work properly. Signed-off-by: Mauro Carvalho Chehab commit 784c668b24dede8acd7044b490a538b5b6cd6b20 Author: Mauro Carvalho Chehab Date: Thu Dec 13 06:35:26 2007 -0300 V4L/DVB (6806): Allow emulating changes of video std by vivi Signed-off-by: Mauro Carvalho Chehab commit 63736784f73e7c38b2bad5ed3ed783dc102ba01e Author: Mauro Carvalho Chehab Date: Thu Dec 13 06:34:12 2007 -0300 V4L/DVB (6805): video std is a bitmask. Better to print in hexa Signed-off-by: Mauro Carvalho Chehab commit 225ba900886f6d2d3447dd5bfdb95217f0619755 Author: Mauro Carvalho Chehab Date: Wed Dec 12 21:46:26 2007 -0300 V4L/DVB (6804): __videobuf_read_start is static Thanks to Jean Delvare for pointing this. Signed-off-by: Mauro Carvalho Chehab commit e435f95ce6468f0240f050e14c9eac93e2fe7e71 Author: Michael Krufky Date: Sun Dec 9 22:23:30 2007 -0300 V4L/DVB (6801): tda18271: pass i2c gate configuration into tda18271_attach() If we pass TDA18271_GATE_DIGITAL into tda18271_attach(), it will always try to use the digital demodulator's i2c gate. If we pass TDA18271_GATE_ANALOG into tda18271_attach(), it will always try to use the analog demodulator's i2c gate. If we pass TDA18271_GATE_AUTO into tda18271_attach(), it will try to use the analog demodulator's i2c gate when tuning in analog mode, and it will try to use the digital demodulator's i2c gate when tuning in digital mode. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7206abbc2d19b6846b879fb266672b40da9961cb Author: Michael Krufky Date: Sun Dec 9 22:13:01 2007 -0300 V4L/DVB (6800): tda18271: use an enum rather than an integer to store analog / digital state Use an enum rather than an integer #define to store analog / digital state. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f6e90a66cde270cd6cc7aa1f4f0650930aa7f6bc Author: Mauro Carvalho Chehab Date: Tue Dec 11 15:01:57 2007 -0300 V4L/DVB (6795): Add EXPORT_SYMBOL_GPL to the saa7134 video control routines Those newer functions are used by saa7134-empress. Adds export for them: +EXPORT_SYMBOL_GPL(saa7134_g_ctrl); +EXPORT_SYMBOL_GPL(saa7134_s_ctrl); +EXPORT_SYMBOL_GPL(saa7134_queryctrl); Signed-off-by: Mauro Carvalho Chehab commit 2c10e8a8985e41addbbbe54b403418c27462f854 Author: Mauro Carvalho Chehab Date: Tue Dec 11 12:56:23 2007 -0300 V4L/DVB (6793): Convert saa7134-empress to video_ioctl2 saa7134 were converted to video_ioctl2, but saa7134_empress weren't. This broke saa7134-empress, since it were dependent of saa7134_common_ioctl. With the conversion, the module had a size decrease of 436 bytes on x86_64: text data bss dec hex filename 5196 4912 4 10112 2780 old/saa7134-empress.ko 4760 4912 4 9676 25cc new/saa7134-empress.ko Signed-off-by: Mauro Carvalho Chehab commit a9622391acbcdb124b55eb674dc5196eb55dc105 Author: Mauro Carvalho Chehab Date: Tue Dec 11 12:05:06 2007 -0300 V4L/DVB (6792): Fix VBI support VBI were broken, since there weren't any function handlers for it. This patch fixes it, by removing the vbi_template, using, instead video_template. This also saves some space at the data segment. Signed-off-by: Mauro Carvalho Chehab commit bfb12e38a8f828bb6394fd4f18010bad86832623 Author: Mauro Carvalho Chehab Date: Tue Dec 11 11:51:53 2007 -0300 V4L/DVB (6791): Rename all vidioc_ to saa7134_ Some functions are used also by saa7134-empress, and need to be exported. To avoid namespace confusion, rename all of them to saa7134_ Signed-off-by: Mauro Carvalho Chehab commit bd2b19a78cb215b67d8d016ea6607f04e48fa523 Author: Michael Krufky Date: Mon Dec 10 16:08:25 2007 -0300 V4L/DVB (6789): tuner: use char *name instead of 128 byte fixed array for demod info Don't waste 128 bytes of memory for a name that might not actually need it. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2dcf84b36c23a2c34207ab650071f9ee33d3c4a2 Author: Michael Krufky Date: Mon Dec 10 11:12:59 2007 -0300 V4L/DVB (6788): tda8290: fix codingstyle, open brace following struct on the same line Fix codingstyle issue discovered after using new checkpatch.pl ERROR: open brace '{' following struct go on the same line 396: FILE: linux/drivers/media/video/tda8290.h:24: +struct tda829x_config +{ Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 864a6b813ab6cb69f3552553899ae443329ecfa9 Author: Michael Krufky Date: Sun Dec 9 17:21:54 2007 -0300 V4L/DVB (6787): tuner: bug-fix: default mode was set to bogus value Fix type inconsistency in t->mode value, causing the following: tuner' 1-0043: freq set: unknown mode: 0x0004! (only visible with tuner debug enabled) Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a55db8cd7f8a107f3abcb4c803b1873b2be63663 Author: Michael Krufky Date: Sun Dec 9 13:52:51 2007 -0300 V4L/DVB (6786): tuner: add struct analog_demod_info to struct analog_tuner_ops Store the analog demodulator name in fe.ops.analog_demod_ops.info.name Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ab1660503ac3af7febfcf987648509b484d4feda Author: Michael Krufky Date: Sun Dec 9 02:26:48 2007 -0300 V4L/DVB (6785): tda8290: remove dependency on struct tuner - remove dependency of tda8290 module on struct tuner - move tuner_foo printk macros from tuner-driver.h into tuner-core.c - clean up #includes of tuner-i2c.h / tuner-driver.h Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fa746aee336fedfe25e6945e5967399966948420 Author: Michael Krufky Date: Sun Dec 9 05:16:10 2007 -0300 V4L/DVB (6784): tda8290: prevent possible memory leak Always call tda829x_release if tda829x_attach fails for a reason other than failure to allocate memory for private structure. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c7919d520f4c9a064ae14bc4dd170c4c12ead2af Author: Michael Krufky Date: Sat Dec 8 17:06:30 2007 -0300 V4L/DVB (6783): tuner: combine set_tv_freq and set_radio_freq into a single set_params method We can tell whether we are tuning television or radio by testing for struct analog_parameters *params->mode == V4L2_TUNER_RADIO There is no longer any need for separate set_tv_freq and set_radio_freq functions in the analog tuner demodulator modules. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6881647cce09931f3d787ab83b5250436427ceb9 Author: Michael Krufky Date: Sat Dec 8 16:25:41 2007 -0300 V4L/DVB (6782): tda8290: access frontend structure directly, where possible Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 14d5deba2737c59444e805c10764d58a3d73e9b2 Author: Richard Knutsson Date: Sat Dec 8 10:35:06 2007 -0300 V4L/DVB (6776): ivtv: Some general fixes Fix "warning: Using plain integer as NULL pointer". Convert 'x < y ? x : y' to use min() instead. Signed-off-by: Richard Knutsson Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d130fa8a05ee5f39c786df02dd75d1eebb12633b Author: Mike Isely Date: Sat Dec 8 17:20:06 2007 -0300 V4L/DVB (6773): pvrusb2: rework device descriptor layout The pvrusb2 driver tries to keep all device specific attributes in a single data structure in one source file. This change further cleans up how that table is set up. We now try to group everything together for each specific device, and the number of symbols exported from this module has now been reduced to a single global. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 066bba2d1ccdac2005a64f4c87f8b542744ed94c Author: Mike Isely Date: Sat Dec 8 17:17:44 2007 -0300 V4L/DVB (6772): pvrusb2: Remove obsolete (and misleading) comment Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 577e4023df8e6111bf7c63d182acc967af060054 Author: Mike Isely Date: Sat Dec 8 17:17:09 2007 -0300 V4L/DVB (6771): pvrusb2: Remove old obsolete CONFIG flags for pvrusb2 driver Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 5edfded4811175283c745c9309c9315b721cf674 Author: Mike Isely Date: Sat Dec 8 17:15:55 2007 -0300 V4L/DVB (6770): pvrusb2: Device CONFIG flags for OnAir device support Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 4542783c3733de9a21099cd0c42e1a2392c68a88 Author: Mike Isely Date: Sat Dec 8 17:11:13 2007 -0300 V4L/DVB (6769): pvrusb2: Implement experimental support for OnAir Creator and USB2 devices Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 787f5abb9519fd420c4681a560aabc449632a6c2 Author: Mike Isely Date: Sat Dec 8 17:08:32 2007 -0300 V4L/DVB (6768): pvrusb2: Mark Gotview hardware as having a cx2584x part Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 2a2bfbff3d867c62a49f43266ca993c9c2c2ff28 Author: Hans Verkuil Date: Sat Dec 8 07:43:14 2007 -0300 V4L/DVB (6766): ivtv: remove i2c legacy support from drivers that no longer need it Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d9009201207c4bdce9b95a0bd903b3f087e8eda1 Author: Hans Verkuil Date: Fri Dec 7 21:01:15 2007 -0300 V4L/DVB (6765): ivtv: convert to bus-based i2c API Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9d1a16a4fc39bd908d85e0b7ce167048200d2d2b Author: Hans Verkuil Date: Fri Dec 7 20:48:29 2007 -0300 V4L/DVB (6764): ivtv: select VIDEO_IR in Kconfig Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e08323f099b5aba28610a856fa7d21d0d86fd4f0 Author: Hans Verkuil Date: Fri Dec 7 20:40:16 2007 -0300 V4L/DVB (6763): ivtv: add AVerMedia EZMaker PCI Deluxe support Add support for the AVerMedia EZMaker PCI Deluxe and update the ivtv cardlist. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 0170a48274acbed20b3b8d1f4a6cecd08ae5015e Author: Hans Verkuil Date: Fri Dec 7 20:31:17 2007 -0300 V4L/DVB (6762): ivtv: update version number to 1.2 Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e2c77314c9444c994087c96eb370b333d57657a7 Author: Mauro Carvalho Chehab Date: Mon Dec 10 10:53:20 2007 -0300 V4L/DVB (6759): CodingStyle fixes Signed-off-by: Mauro Carvalho Chehab commit 543323bcf49422c76cf13755ec4a90564065bb60 Author: Mauro Carvalho Chehab Date: Mon Dec 10 09:33:52 2007 -0300 V4L/DVB (6758): Miscelaneous cleanups Manually fixed all pertinent checkpatch.pl errors inside the source code. Also removed some unused code at the driver and a few minor cleanups. Signed-off-by: Mauro Carvalho Chehab commit 025341d4f0caa58f0e5eddbffd11d44e37cff974 Author: Mauro Carvalho Chehab Date: Mon Dec 10 04:43:38 2007 -0300 V4L/DVB (6755): Avoid troubles when using multiple devices mv_count is a counter used to move the vertical bars. Before this patch, it where a static var. This works fine for just one device. However, when using multiple devices, every device would increment it. This patch moves it to its correct place: struct vivi_dev. So, now, each device has its own data. Signed-off-by: Mauro Carvalho Chehab commit 55712ff7e06b721fbeebd36499bad4a11b7d8327 Author: Mauro Carvalho Chehab Date: Mon Dec 10 04:38:11 2007 -0300 V4L/DVB (6754): Allow vivi to open multiple video devices Now, it is possible to open multiple vivi devices, by using n_devs parameter. This makes vivi driver closer to a real one. Signed-off-by: Mauro Carvalho Chehab commit f905c442e5b19f75fe4e8ce96f2acffa565f2392 Author: Mauro Carvalho Chehab Date: Mon Dec 10 04:07:03 2007 -0300 V4L/DVB (6753): Fix vivi to support non-zero minor node There were a trouble at vivi driver when using non-zero inodes. This where due to not properly preserving the minor inode after calling video_register. Since this driver is a reference for newer drivers, and it is possible to have more than one video device inside the machine, this patch makes vivi to dynamically allocate video_device struct. Thanks to Gregor Jasny for pointing the issue. Also, this patch removes a very anoying (but useless) message of not having a proper release call. CC: Gregor Jasny Signed-off-by: Mauro Carvalho Chehab commit d2761f227162f610d35b9d68564f5c64774be581 Author: Albert Graham Date: Sun Dec 9 09:44:38 2007 -0300 V4L/DVB (6752): saa7134: Enable remote control support for Avermedia M102 This patch enabled the IR remote control for the Avermedia M102 (card=110), which appears to be the same IR as the already supported device on the Avermedia AVerTV GO 007 FM (card=57) model, the code is two one liners which enable the IR for this device (subsystem: 1461:f31e) Signed-off-by: Albert Graham Signed-off-by: Mauro Carvalho Chehab commit d172b8bdab3812a6ad710e4cc78ceea3e8a40cd5 Author: Andrew Morton Date: Fri Dec 7 21:14:43 2007 -0300 V4L/DVB (6749): v4l-nopage-fix dont just copy-and-paste stuff. (compile-tested this time) Signed-off-by: Andrew Morton Cc: Nick Piggin Signed-off-by: Mauro Carvalho Chehab commit 105354a0f0410d4715f38e67d5790dead5dafdad Author: Nick Piggin Date: Fri Dec 7 17:57:38 2007 -0300 V4L/DVB (6748): Subject: v4l: nopage Convert v4l from nopage to fault. Remove redundant vma range checks. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 14e3c152a14cb96b5f584d3885d2aedf1a1353fc Author: Michael Krufky Date: Fri Dec 7 00:33:08 2007 -0300 V4L/DVB (6745): tda18271: remove tuning offset for atsc/qam The tuning request coming in from userspace is already center adjusted, so we should not adjust to center (+1.75mhz) within the driver. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4a56eb3f535f92b0585aa01dba05b3f17a547df0 Author: Hans Verkuil Date: Sun Dec 2 07:03:45 2007 -0300 V4L/DVB (6743): cx25840: fix endianness inconsistency cx25840_read4 reads a little-endian 32-bit value whereas cx25840_write4 writes the 32-bit value as big-endian. Convert write4 to use little-endian as well (that's the correct endianness). Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6b1e56763b50f169d8446c43df6adb70f69552db Author: Hans Verkuil Date: Sun Dec 2 06:56:00 2007 -0300 V4L/DVB (6742): ivtv: fix incorrect debug message Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 737bd410e70c3daa02f203dec24351951e89d82f Author: Hans Verkuil Date: Thu Nov 1 13:38:12 2007 -0300 V4L/DVB (6741): cx2341x: codingstyle cleanups Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 574dec611f1578b52dd37df5c95f855a28652e42 Author: Hans Verkuil Date: Thu Nov 1 07:58:17 2007 -0300 V4L/DVB (6740): tlv320aic23b: codingstyle cleanups Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 4c05de9c971b70a61d81cd2f1c78db85e2632d1c Author: Hans Verkuil Date: Thu Nov 1 07:54:57 2007 -0300 V4L/DVB (6739): cs53l32a: codingstyle cleanups Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 099b8e7361512ebfef2dd51f2e81126cc93c22e9 Author: Hans Verkuil Date: Thu Nov 1 07:45:54 2007 -0300 V4L/DVB (6738): wm8739: codingstyle cleanups Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 842441d42de8f22d8f530b19da984df81fed8f7e Author: Hans Verkuil Date: Thu Nov 1 07:35:41 2007 -0300 V4L/DVB (6737): wm8775: codingstyle cleanup Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 8c85454a5963747fca7d0699e2450f676314c176 Author: Mauro Carvalho Chehab Date: Fri Dec 7 17:34:48 2007 -0300 V4L/DVB (6736): Fix some errors at the video_ioctl2 conversion Signed-off-by: Mauro Carvalho Chehab commit 90bdc14533fa37b86ada57fcf60c634106ddbb3f Author: Mauro Carvalho Chehab Date: Fri Dec 7 17:23:38 2007 -0300 V4L/DVB (6735): Reorder functions to make easier to compare with the previous code After this patch, the order of the functions will be the same as before the patch converting the driver to user video_ioctl2. This makes easier to diff between the previous version and the newer one. Signed-off-by: Mauro Carvalho Chehab commit 8f61ae2f4ff698c7cd83b1f17b1ca2ecfc7f0696 Author: Douglas Schilling Landgraf Date: Fri Dec 7 17:09:53 2007 -0300 V4L/DVB (6734): Converted saa7134-video to use video_ioctl2 Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 863c86dd7e014e645207fd16f4e06bc223567984 Author: Oliver Neukum Date: Mon Dec 3 06:48:43 2007 -0300 V4L/DVB (6732): dsbr100 violates DMA coherency rules Signed-off-by: Oliver Neukum Signed-off-by: Mauro Carvalho Chehab commit e1ba33df0cbc6a7ab339dc093f37825775b9caca Author: Richard Knutsson Date: Sun Dec 2 14:47:01 2007 -0300 V4L/DVB (6731): ivtv: Remove a invalid shadow-variable Remove the shadowing 'struct v4l2_chip_ident *chip', since it already exists and makes the if-statement useless. Signed-off-by: Richard Knutsson Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5d2bf930a2f4586a3e19318ed821a34193c4b7cd Author: Michael Krufky Date: Sun Dec 2 17:37:38 2007 -0300 V4L/DVB (6728): tda18271: fix register dump format Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b5f3e1e153b60f7bc338cdd6eefacd59c2dfb375 Author: Michael Krufky Date: Sun Dec 2 16:36:05 2007 -0300 V4L/DVB (6727): tda18271: convert table lookup loops to functions Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit aaeccba68a60eedee5fe90f9e1478367b1f97345 Author: Michael Krufky Date: Sun Dec 2 11:03:57 2007 -0300 V4L/DVB (6726): tda18271: set image rejection validity Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 293da0ec468addf891856e9ffee88af2fd00e25a Author: Michael Krufky Date: Sun Dec 2 02:45:04 2007 -0300 V4L/DVB (6725): tda18271: improve debug flexibility converted debug module option to an or-able setting. 1 = info 2 = table map values 4 = register dumps Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 1457263e9df6911384c474532a49d1b25bc9d248 Author: Michael Krufky Date: Sun Dec 2 02:32:49 2007 -0300 V4L/DVB (6724): tda18271: remove duplicated code Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit efce841093589bfef571a07e18e5446def9e04b4 Author: Michael Krufky Date: Sat Dec 1 17:40:16 2007 -0300 V4L/DVB (6723): tda18271: only force init once during attach Once the image rejection calibration procedure has been successful, we should not initialize the tuner registers again. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2b057e8dc6cc8318956fef92b77a4e86985e84d9 Author: Ian Armstrong Date: Tue Nov 13 19:15:25 2007 -0300 V4L/DVB (6719): ivtv: ivtv-yuv clean-up + source cropping bug-fix ivtv-yuv code clean up & reformat. Includes minor changes to some debug lines. Also fixes a bug found during the reformatting, which would cause the incorrect amount of yuv data to be sent to the card if source cropping coordinates were used. Apart from the bug-fix, there should be no functional difference to the previous version. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 368f080b6870e65d43c346e085e8f81ade5d3e07 Author: Ian Armstrong Date: Mon Nov 5 14:30:03 2007 -0300 V4L/DVB (6718): ivtv: ivtv yuv format description correction The driver was incorrectly reporting that it supported YUV 4:2:2 output, when it is actually YUV 4:2:0. Though I believe the hardware can be pushed to 4:2:2, we don't currently support that. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 77aded6ba51f01335840ce8e18b413067810b68e Author: Ian Armstrong Date: Mon Nov 5 14:27:09 2007 -0300 V4L/DVB (6717): ivtv: Initial merge of video48 yuv handling into the IVTV_IOC_DMA_FRAME framework Previously, all yuv data written to /dev/video48 had only basic support with no double buffering to avoid display tearing. With this patch, yuv frames written to video48 are now handled by the existing IVTV_IOC_DMA_FRAME framework. As such, the frames are hardware buffered to avoid tearing, and honour scaling mode & field order options. Unlike the proprietary IVTV_IOC_DMA_FRAME ioctl, all parameters are controlled by the V4L2 API. Due to mpeg & yuv output restrictions being different, their V4L2 output controls have been separated. To control the yuv output, the V4L2 calls must be done via video48. If the ivtvfb module is loaded, there will be one side effect to this merge. The yuv output window will be constrained to the visible framebuffer area. In the event that a virtual framebuffer size is being used, the limit to the output size will be the virtual dimensions, but only the portion that falls within the currently visible area of the framebuffer will be shown. Like the IVTV_IOC_DMA_FRAME ioctl, the supplied frames must be padded to 720 pixels wide. However the height must only be padded up the nearest multiple of 32. This would mean an image of 102 lines must be padded to 128. As long as the true source image size is given, the padding will not be visible in the final output. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3b5c1c8e71eb8fe2297a5884db59108e3c8b44c5 Author: Ian Armstrong Date: Mon Oct 22 14:24:26 2007 -0300 V4L/DVB (6716): ivtv: yuv interlace mode change Interlace mode selection code moved into the frame setup phase, so it's now run before the frame is loaded into a hardware buffer. Given that it can affect how a new frame is displayed, it was a bit stupid running it after the frame was already visible. A few stray interlace related variables which were linked to individual frames have now been moved into the yuv_frame_info struct. This means that all variables linked to a specific frame are in the same place & not scattered. Minor code reformatting in areas touched by the above changes. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 406c8b0ff0891ace87440bcb298a91c1927f9ae5 Author: Ian Armstrong Date: Sun Oct 21 08:33:59 2007 -0300 V4L/DVB (6715): ivtv: Remove unnecessary register update To reduce the number of display register accesses, the yuv code keeps track of the current video settings. Should there be a change in any single parameter, it will update the associated display registers to ensure everything is displayed correctly. The existing check also looks at the field order for the video. This is not required, since field reversal does not require any display register changes. This patch removes the field order from the check. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 166983cdfbb2779bec98de89927669ed4c9ff8f2 Author: Ian Armstrong Date: Sun Oct 21 08:09:10 2007 -0300 V4L/DVB (6714): ivtv: yuv frame parameter fix Inadvertently missed a line when converting code to new hardware buffering method. In some circumstances, this would lead to a frame being displayed using parameters belonging to another frame. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a3e5f5e2dfb50bebca24329e5377d804c6e3eb1b Author: Ian Armstrong Date: Sat Oct 20 14:52:55 2007 -0300 V4L/DVB (6713): ivtv: ivtv_yuv_prep_frame breakup and yuv hardware buffer changes ivtv_yuv_prep_frame is split in smaller code blocks. Modified yuv buffer handling on the PVR350 itself. We now cycle through all 8 hardware buffers. With this patch in place, driver behaviour should remain unchanged from the existing release. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c240ad00af78228726e6301ad6ffc54d3adce2a0 Author: Ian Armstrong Date: Tue Oct 16 03:21:46 2007 -0300 V4L/DVB (6712): ivtv: ivtv yuv stream handling change Currently the yuv output stream buffer is divided into blocks whose size depend on the broadcast standard selected during the driver init phase. However, the standard can be changed after the init phase. This effectively breaks the yuv output stream handler, since it relies on the different yuv planes being block aligned. This patch changes the setup, so that the block size is always the same. The decoder dma function has been modified to cope with the fact that the second yuv plane may no longer be block aligned. The start of the yuv frame must still be at the beginning of a block, so the stream write function has also been modified to ensure this is always true. Also, the stream write function will now initiate a yuv dma transfer as soon as a full frame is ready. It will not wait until the current write request has completed, or the stream buffer becomes full. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9de982d3117a3f83e4e7b14016a1df25b4a693d6 Author: Mike Isely Date: Mon Dec 3 02:10:04 2007 -0300 V4L/DVB (6710): pvrusb2: Recognize ATSC video standard bit values Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 3d290bdb283c9dc897c5fd160fe3d07ead426c45 Author: Mike Isely Date: Mon Dec 3 01:47:12 2007 -0300 V4L/DVB (6709): pvrusb2: minor rework for default video standard handling pvrusb2: When a per-device-type default video standard is declared, handle it in such a way that it can be correctly and unambiguously reported in the system log. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 4ca7f7092815cad5cb3a9377dce211202fe4b328 Author: Mike Isely Date: Mon Dec 3 01:45:26 2007 -0300 V4L/DVB (6708): pvrusb2: Expand comment in device attributes description Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit e802c14b91e3fddd50652270756124a69e550113 Author: Mike Isely Date: Mon Dec 3 01:44:43 2007 -0300 V4L/DVB (6707): pvrusb2: Remove use of volatile in pipeline control state machine pvrusb2: Eliminate use of volatile in pipeline control state variables. These were all cases of paranoia; upon further review the overall mechanism employed here should not require use of volatile. This had originally been done out of paranoia, and I have since been convinced that the paranoia is not required. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 26e33048aad0486c98155b1406037f02fe70cb1b Author: Mike Isely Date: Mon Dec 3 01:43:23 2007 -0300 V4L/DVB (6706): pvrusb2: Remove use of volatile in command sequencer pvrusb2: Remove use of volatile for command sequencer; these variables are set by interrupt-context code and we check their state in such a manner that there should be no race conditions. This had originally been done out of paranoia, and I have since been convinced that the paranoia is not required. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 6a540254966f8a01de0f7c78a27db17458c2d8f5 Author: Mike Isely Date: Sun Dec 2 23:51:34 2007 -0300 V4L/DVB (6705): pvrusb2: Implement default standard selection based on device type This adds a default video standard setting to the pvr2_device_desc structure for describing device types. With this change it is possible to set a reasonable default standard based on device type. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit ea2562d94fade3d6ee9b22ed5addbbdba697d22a Author: Roel Kluin <12o3l@tiscali.nl> Date: Sun Dec 2 23:04:57 2007 -0300 V4L/DVB (6703): pvrusb2: Change division to bit-or for tveeprom standards Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 482cb9a75ba5df68f4bcbe806c838eaf28af34c0 Author: Michael Krufky Date: Tue Nov 27 16:58:33 2007 -0300 V4L/DVB (6702): pvrusb2: fix typo in comments Firmware file name(s) for 24xxx devices Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9e2e3aeb2d2c8bf64b04e1f5747f1d9842df43de Author: Mike Isely Date: Mon Nov 26 02:14:23 2007 -0300 V4L/DVB (6701): pvrusb2: Enable support for "GOTVIEW USB2.0 DVD2" hardware This changeset allows the pvrusb2 driver to operate a new device type ("GOTVIEW USB2.0 DVD2"). Changes amount to defining a new routing scheme for the device and adding appropriate table entries into pvrusb2-devattr.c. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 65bd80fe18b6abb63776746646321b41b44d70a7 Author: Mike Isely Date: Mon Nov 26 02:11:38 2007 -0300 V4L/DVB (6700): pvrusb2: Soften the crashed encoder warning message The pvrusb2 driver has been successfully recovering from a crashed encoder now for over 2 years. I think it's time to reduce the perceived severity of the warning message. While I'd still very much like to stop these crashes, the recovery logic is solid enough that the problem is effectively benign. No point in panicing the users over it. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 056d1a899201f02777a35a32f8e6c9a2aac63f63 Author: Mike Isely Date: Mon Nov 26 02:09:42 2007 -0300 V4L/DVB (6699): pvrusb2: Use of virtual IR chip is a device-specific attribute For Hauppauge 24xxx devices, the IR receiver is a custom piece of logic that is very specific to the device. The pvrusb2 driver can virtualize this to make it look like a more normal IR receiver found in other Hauppauge devices. The decision of whether or not to enable this virtualization however is a device-specific attribute, thus this changeset. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit f5174af201f2e22c101bb02d06343e4bc5f056de Author: Mike Isely Date: Mon Nov 26 02:07:26 2007 -0300 V4L/DVB (6698): pvrusb2: Implement signal routing schemes The exact routing of video and audio signals within a device is a device-specific attribute. Hauppauge devices do it one way; other types of device may route things differently. Unfortunately it is rather impractical to define chip-specific routing at the device attribute level, so instead what happens here is that "schemes" are defined. Each chip level interface implements its part of a given scheme and the scheme as a whole is made into a device specific attribute controlled via a table entry in pvrusb2-devattr.c. The only scheme defined here is for Hauppauge devices, but clearly this opens the door for other possibilities to follow. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit aaf7884db395332ae8474f3ea5bcdd39c0a941ea Author: Mike Isely Date: Mon Nov 26 02:04:11 2007 -0300 V4L/DVB (6697): pvrusb2: Existence of Hauppauge ROM is a device-specific attribute Arrange so that the pvrusb2 driver can optionally work without a Hauppauge ROM being present - which is fairly important for devices that happen to not come from Hauppauge. The expected existence of a Hauppauge ROM is now a device attribute. The tuner type is now also a device attribute, which is consulted if there is no ROM. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 56dcbfa0d5a46f137df5047ae8f3aab30f59954e Author: Mike Isely Date: Mon Nov 26 02:00:51 2007 -0300 V4L/DVB (6696): pvrusb2: Miscellaneous tweaks for controlling tuner type and video standard Correctly mark when a tuner type is set. Report more faithfully information about known supported device video standards. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 78a47101ac0ac75019a740d62c70ccb16ff7c7c1 Author: Mike Isely Date: Mon Nov 26 01:58:20 2007 -0300 V4L/DVB (6695): pvrusb2: Implement functions to pass descriptive hardware info Implement additional pvrusb2 device info table entries for a device identifier and a device description. Export this information via the driver's internal API. Make this information available via the sysfs driver interface. Also propagate this information into the v4l2 capability structure. An app can now retrieve and report a descriptive string about the particular type of hardware device it is operating. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit f66fbd71f24f5f0264bb8526cfb91ea5c6219f50 Author: Mike Isely Date: Mon Nov 26 01:55:07 2007 -0300 V4L/DVB (6694): pvrusb2: Remove obsolete global hardware type enumeration Device-specific driver behavior is now defined by generic device characteristics rather than by specific device model information. With this change, the hardware type field can go away, thus this change. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit f8bcec6d1814862e299e2a32ff9dbb0be0ff6ceb Author: Mike Isely Date: Mon Nov 26 02:30:20 2007 -0300 V4L/DVB (6693): pvrusb2: Add pvrusb2-devattr.o to driver build Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 989eb154eafad00c3b5039a3eca03e108dac1df8 Author: Mike Isely Date: Mon Nov 26 01:53:12 2007 -0300 V4L/DVB (6692): pvrusb2: Centralize device specific attributes into a single place The pvrusb2 driver currently supports two variants of the Hauppauge PVR USB2. However there are other hardware types potentially supportable, but the driver at the moment is not structured to make it easy to describe these minor variations. This changeset is the first set of changes to make such additional device support possible. Device attributes are held in several tables all contained within pvrusb2-devattr.c; all other device-specific driver behavior now derives from these tables. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 681c739944018d80dbcf7f19997eba97676c7116 Author: Mike Isely Date: Mon Nov 26 01:48:52 2007 -0300 V4L/DVB (6691): pvrusb2: Rework pipeline state control This is a new implementation for video pipeline control within the pvrusb2 driver. Actual start/stop of the pipeline is moved to the driver's kernel thread. Pipeline stages are controlled autonomously based on surrounding pipeline or application control state. Kernel thread management is also cleaned up and moved into the internal control structure of the driver, solving a set up / tear down race along the way. Better failure recovery is implemented with this new control strategy. Also with this change comes better control of the cx23416 encoder, building on additional information learned about the peculiarities of controlling this part (this information was the original trigger for this rework). With this change, overall encoder stability should be considerably improved. Yes, this is a large change for this driver, but due to the nature of the feature being worked on, the changes are fairly pervasive and would be difficult to break into smaller pieces with any semblence of step-wise stability. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 493977f016f2ff52fdca38d031c7211b4da658fd Author: Brandon Philips Date: Fri Nov 30 22:37:28 2007 -0300 V4L/DVB (6688): V4L: fix copy and paste error in dprintk for videobuf-vmalloc.c Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit cc76466b310f61e71ac10778781fdbdb97d333fd Author: Hermann Pitton Date: Wed Nov 28 21:54:35 2007 -0300 V4L/DVB (6687): saa7134: add mute support for radio/analog-in on MD9717 and MD7134 Currently the saa7134 chips only have mute support for the TV input. Cards with mute from external audio muxes are already fine on the other inputs and some recent tuners mute at least the radio on exit. But these mostly hybrid tuners are not fully backward compatible, since they must power down and mute regardless. For some included above, the MD7134 knows several, to switch on mute/automute to the TV input is functional and backward compatible for the applications, except that the tuners with tda9887 always mute on exit. Signed-off-by: Hermann Pitton Signed-off-by: Mauro Carvalho Chehab commit 102df6a785bd5ff22b0ca745f3107ab9780fc30b Author: Michel Lespinasse Date: Mon Nov 26 18:57:10 2007 -0300 V4L/DVB (6685): ir-keymaps.c: extra keys on winfast Y04G0033 remote This change adds support for 4 extra keys on the remote currently being shipped by leadtek with their "WinFast TV2000 XP/Expert" and "WinFast PVR2000" cards. The remote P/N seems to be Y04G0033 and you can see a picture of it here: http://lespinasse.org/y04g0033.jpg The extra keys are at the bottom and are labeled MCE +VOL, -VOL, +CH, -CH. I chose to map them to the F21-F24 keycodes, following the precedent of ir_codes_gotview7135[], so as to differentiate these 'MCE' keys from the other +VOL, -VOL, +CH, -CH 'arrow' keys higher up on the remote. Signed-off-by: Michel Lespinasse Signed-off-by: Mauro Carvalho Chehab commit 5c15648a42016eebb9870dc3af44e94bca4f3604 Author: Mauro Carvalho Chehab Date: Sun Dec 2 00:02:18 2007 -0300 V4L/DVB (6683): Fix DVB compatibility DVB-S is not supported. Also, there are some QAM6 firmwares for xc3028, but it is reported that this doesn't work fine. Thanks to Manu Abraham, Michael Krufky and Patrick Boettcher for their insights. Signed-off-by: Mauro Carvalho Chehab commit 54465b082cc86921aa7d7b638d75803e6d919f25 Author: Michael Krufky Date: Fri Nov 23 18:14:53 2007 -0300 V4L/DVB (6681): tda18271: rename 'debug' to 'tda18271_debug' Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6ca04de36b05aaf2f8122d0e566940969c6df801 Author: Michael Krufky Date: Fri Nov 23 16:52:15 2007 -0300 V4L/DVB (6680): tda18271: move tda18271_map tables to a separate source file Move tda18271_map tables to a separate source file, to improve code readability and ease maintenance. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 63c254805e38bad4c64b5f5b0e135a2a357fa0bf Author: Michael Krufky Date: Fri Nov 23 15:08:11 2007 -0300 V4L/DVB (6679): tda8290: force tuner init after attach Force tuner init after attach, then sleep until use. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 22ee1250bd41534552c61be13994fd12d1ee1318 Author: Michael Krufky Date: Thu Nov 22 17:13:00 2007 -0300 V4L/DVB (6678): tda18271: define init callback Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 63806eeb61dcdf30fdbf488babff98aea2ca3f08 Author: Mauro Carvalho Chehab Date: Sun Nov 25 19:29:22 2007 -0300 V4L/DVB (6677): Fix xc2028 driver for non OFDM A previous patch implemented support for non-OFDM digital TV. However, the previous bandwidth ofdm parameter were left at the code by mistake. Thanks to Michael Krufky and Patrick Boettcher for noticing this mistake. Signed-off-by: Mauro Carvalho Chehab commit 66c2d53db28276fe49b49745230b7ac8d8fd5f47 Author: Mauro Carvalho Chehab Date: Sun Nov 25 19:26:36 2007 -0300 V4L/DVB (6676): Improve s-code support s-code tables are related to IF frequency used for video demodulation. The s-codes for analog are automatically loaded, according with video standard. However, for digital, they will depend on the IF of the demoduler chip. IF of the demoduler. Before this patch, only a few IF's where possible to use. This patch allows selecting any IF defined at firmware file. Signed-off-by: Mauro Carvalho Chehab commit b542dfdc9f6e6eaf3cc2ede27dbaf50425f8b4b5 Author: Mauro Carvalho Chehab Date: Sat Nov 24 11:07:12 2007 -0300 V4L/DVB (6675): Allow selecting the proper SCode table for DTV Signed-off-by: Mauro Carvalho Chehab commit d04aa54a27f7bc6f051e55c47abbc0a1db1718bc Author: Mauro Carvalho Chehab Date: Sat Nov 24 10:47:03 2007 -0300 V4L/DVB (6674): Add support for other DTV types Signed-off-by: Mauro Carvalho Chehab commit d74cb25e427e2ef979107cbed67d39eba53a6b0f Author: Mauro Carvalho Chehab Date: Sat Nov 24 10:20:15 2007 -0300 V4L/DVB (6672): Add support for radio Signed-off-by: Mauro Carvalho Chehab commit 00deff1a076dc1cf6743813657623626720bf0f5 Author: Mauro Carvalho Chehab Date: Sat Nov 24 10:13:42 2007 -0300 V4L/DVB (6671): Avoids checking digital/analog at check_firmware Since check_firmware is called via analog or digital set freq routines, move type selection to those routines. This avoids having several if's at the code, and simplifies the source code. A sideback effect is that implementing radio and other dvb types will become simpler. Signed-off-by: Mauro Carvalho Chehab commit f36224d3992a7734349cdd6289ff73c3d007ce09 Author: Maxim Levitsky Date: Tue Oct 23 00:58:59 2007 -0300 V4L/DVB (6670): V4L: saa7134: tvaudio cleanups move some tv-audio initialization code out of tvaudio thread, and call it on resume too. Signed-off-by: Maxim Levitsky Signed-off-by: Mauro Carvalho Chehab commit 5c01203fd289214ae3062dab4039fcbab4b2b84f Author: Maxim Levitsky Date: Sun Nov 4 18:21:25 2007 -0300 V4L/DVB (6669): Add few missing bits of code to saa7134_resume First the saa7134_initdev waits between saa7134_hwinit1 and saa7134_hwinit2 , thus it is probably wise to do the same in saa7134_resume some hardware probably needs this. Call saa7134_irq_video_signalchange in .resume like in saa7134_resume to make saa7134_resume mirror perfectly the saa7134_initdev although this call isn't strictly necessary in the saa7134_initdev, but it won't harm anyway. Signed-off-by: Maxim Levitsky Signed-off-by: Mauro Carvalho Chehab commit 3203cb86d22c63504f8368151029bf9dad014ddb Author: Maxim Levitsky Date: Sun Nov 4 19:34:23 2007 -0300 V4L/DVB (6668): Fix theoretical races between IRQ handler and .suspend/resume *dev->insuspend = 1 should be set before synchronize_irq *ACK interrupts after synchronize_irq, to make sure there aren't pending interrupts. *Add barrier before we restart interrupts so the handler will 100% see the dev->insuspend Signed-off-by: Maxim Levitsky Signed-off-by: Mauro Carvalho Chehab commit 0d65cd4f2bfe70872e4218d9d35d37a7000d6739 Author: Maxim Levitsky Date: Sun Nov 4 17:59:28 2007 -0300 V4L/DVB (6667): Fix access to configuration space while in D3 pci_save_state should be called before pci_set_power_state and pci_restore_state after pci_set_power_state Signed-off-by: Maxim Levitsky Signed-off-by: Mauro Carvalho Chehab commit 91821ff3f958c16bf84d02258dd79da792c66ca8 Author: Hans Verkuil Date: Sun Dec 2 09:35:33 2007 -0300 V4L/DVB (6665b): add ivtv to MAINTAINERS Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 4c5efc1778387de98d5348666e7bc4396c9a5404 Author: Adrian Bunk Date: Sun Nov 25 19:04:47 2007 -0300 V4L/DVB (6665a): finish the VID_HARDWARE_* removal This patch removes a few remainders of the VID_HARDWARE_* removal. Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab 643d01fb38b6f376cced035549f4e193018776e7 commit c23f5949c0eeec328c872f29c8f4c233e73c3c4d Author: Mauro Carvalho Chehab Date: Fri Nov 23 14:22:14 2007 -0300 V4L/DVB (6665): Fix CodingStyle thanks to checkpatch.pl Signed-off-by: Mauro Carvalho Chehab commit 5a9dfc34fcee89ca399cf201a0904675e87c9576 Author: Mauro Carvalho Chehab Date: Fri Nov 23 14:20:24 2007 -0300 V4L/DVB (6664): Add missing USB ID's at CARDLIST.em28xx Signed-off-by: Mauro Carvalho Chehab commit cca83798119c92a3086af9e8a0419360c63aeadd Author: Mauro Carvalho Chehab Date: Thu Nov 22 11:47:18 2007 -0300 V4L/DVB (6662): Fix standard selection for PAL Not all 8MHz firmware are marked with F8MHz. Signed-off-by: Mauro Carvalho Chehab commit 2800ae9cd669db0fc9993cbefae02f181343c295 Author: Mauro Carvalho Chehab Date: Thu Nov 22 12:48:04 2007 -0300 V4L/DVB (6661): Remove firmware reload hack for analog On some cases, xc2028/xc3028 wents into "turn off" mode. It seems that this happens when very weak signals are tuned. To solve this, specific standard reaload were done previously. Christopher patches changed this behavior to a complete firmware reload. This patch removes the hack. A much cleaner solution for this trouble is just to sent a xc2028/3028 software reset. Signed-off-by: Mauro Carvalho Chehab commit 71a2ee37e8851f430d72daea0722908512d57f79 Author: Mauro Carvalho Chehab Date: Thu Nov 22 12:19:37 2007 -0300 V4L/DVB (6660): Allow fully configuring xc3028 during xc2028_attach xc3028 can be used on some DTV only designs (for example, DVB-S boards). Before this patch, a DTV only board would need to call set_tuner_config callback. This patch allows to optionally pass a xc3028_ctrl parameter, via xc3028_config struct, fully initializing the driver for DTV. Signed-off-by: Mauro Carvalho Chehab commit 5add9a6f3c90680f89b4694e81025d2aed9559af Author: Mauro Carvalho Chehab Date: Thu Nov 22 12:08:53 2007 -0300 V4L/DVB (6659): Convert MTS to bitfield Xc2028.3028 has two type of firmwares: audio-standard specific ones and baseband MTS firmwares. MTS firmwares provide stereo decoding for 6 MHz BTSC/EIAJ and for monoaural audio decoding on 8 MHz firmwares. It seems that the option to use MTS or a standard-specific audio decoding depends on the way xc2028/3028 is connected. Instead of wasting 32 (or 64 bits) to signalize if the driver needs to use MTS firmware, this patch converts it to a bitfield that can be shared with other proprieties of xc2028/3028. Signed-off-by: Mauro Carvalho Chehab commit a5e9fe149afb0fdf0de4729f1b0d203d4ac14906 Author: Mauro Carvalho Chehab Date: Fri Nov 23 11:36:18 2007 -0300 V4L/DVB (6658): Sets a default std, if not specified Some drivers call set_frequency before selecting the video standard. Before this patch, an invalid standard ID could be assumed. Signed-off-by: Mauro Carvalho Chehab commit c71d4bc512dda42069c70219bd00315a91550367 Author: Mauro Carvalho Chehab Date: Thu Nov 22 11:47:18 2007 -0300 V4L/DVB (6657): Fix standard selection for PAL/M, PAL/N, PAL/Nc and NTSC Those standards use 6 MHz firmware. Signed-off-by: Mauro Carvalho Chehab commit a1dcd9de648c8cf21abaeca7f77885665eed4117 Author: Chris Pascoe Date: Tue Nov 20 08:17:54 2007 -0300 V4L/DVB (6656): zl10353: store frequencies in 0.1kHz to eliminate rounding errors Whilst reanalysing my formulas I realised it was no longer possible to get the right values for a 36.1667MHz IF due to rounding problems. Storing frequencies in units of 0.1kHz makes it possible to calculate these again correctly. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 702a67624e4bc9c7056418b576af928940b7dbb9 Author: Chris Pascoe Date: Tue Nov 20 03:34:11 2007 -0300 V4L/DVB (6655): Add support for MT352-based DViCO FusionHDTV DVB-T NANO devices There are at least three variants of the DViCO FusionHDTV DVB-T NANO that share the same USB device ID. The first (ZL10353 w/ firmware in ROM) is already supported; the latter two both require firmware and have either an MT352 or ZL10353 demodulator, and have a different IR receiver from the first. This introduces a new identify_state that can tell the difference between a "warm" device which is running the embedded firmware, and a "cold" device that needs us to upload firmware to it before it will work. We patch the uploaded device ID (like we do for other bluebird devices) to make it easy to identify the particular device variant when it reattaches. NB: These devices use a different firmware file from previous bluebird devices. You need a new firmware file to make this work. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit c6e62a3a398d62e8ae366ac1465911db0ac7fc0b Author: Chris Pascoe Date: Tue Nov 20 02:49:41 2007 -0300 V4L/DVB (6654): mt352: support oversampled IF input Rework the input frequency calculation so that it produces the right values when the ADC oversamples the IF input. This means MT352 devices can now process a near-zero IF (according to the, specs 4.57MHz is supported with the default crystal). Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 5ccaf905015c83a9b28e8496b4504b9b8dc25a80 Author: Chris Pascoe Date: Tue Nov 20 01:53:31 2007 -0300 V4L/DVB (6653): Add support for the DViCO FusionHDTV NANO2 w/ZL10353 and firmware Add support for the DViCO FusionHDTV DVB-T NANO with zl10353 demodulator and firmware in ROM on the device. Again, this is based on the great work of Mike Krufky with my modifications to use the in-tree XC2028 driver. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 1ad0b796a3fa3d1c1a7d16be7c70b626da2940a9 Author: Chris Pascoe Date: Mon Nov 19 23:43:13 2007 -0300 V4L/DVB (6652): xc2028: try non-8MHZ init1 firmware When loading init1 firmware, there may not be an 8MHz specific version. Load the non-8MHz version if it exists. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 11a9eff9b66b1cf860faa84084328d798d18834c Author: Chris Pascoe Date: Mon Nov 19 23:18:36 2007 -0300 V4L/DVB (6651): xc2028: mask off type correctly when searching for standard-specific types When searching for standard-specific analog firmware, only certain type bits are valid, much like for DTV. Mask them off when finding the firmware to load. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 47bd5bc6486a5288aa3002533c24c8e9e564f9ac Author: Chris Pascoe Date: Mon Nov 19 23:11:37 2007 -0300 V4L/DVB (6650): xc2028: base firmwares should have std0 When loading BASE firmware, we must use std = 0. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit aeb012bbf460171b75ba17dc064a543f7256521f Author: Chris Pascoe Date: Mon Nov 19 21:57:10 2007 -0300 V4L/DVB (6649): Add support for the DViCO FusionHDTV Dual Digital 4 Add support for DViCO's Dual Digital 4 with xc3028 tuner, zl10353 DVB-T demodulator and a new-style I2C IR remote control receiver. This would not have been possible without the work of and advice from Mike Krufky, who originally got the Dual Digital 4 and second-gen DVB-T NANO devices working with the out-of-tree XC3028 driver. I converted it to use the in-tree XC3028 driver (after making it suitable for our use), and added the IR remote control support based on his advice. NB: a firmware package is required to use this device. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 45819c381fc4fb342dc091f30eef4b56193e34d5 Author: Chris Pascoe Date: Mon Nov 19 11:41:20 2007 -0300 V4L/DVB (6648): xc2028: add sleep hook Add sleep method to enable putting the tuner into standby mode. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 8bf799a6217f6336fb95f37bf1b130003404bd7b Author: Chris Pascoe Date: Mon Nov 19 11:35:45 2007 -0300 V4L/DVB (6647): xc2028: retry firmware load if tuner does not respond In practice, the tuner occasionally fails to respond correctly after a firmware load. Retry the firmware load if the firmware/hardware version we read back from the tuner after programming does not match what we expect. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit e0f0b37a3e624440b1b0e8a5978b367895226e75 Author: Chris Pascoe Date: Mon Nov 19 11:22:03 2007 -0300 V4L/DVB (6646): xc2028: rework firmware (re)loading process Define a list of valid "firmware types" for each combination of BASE, DTV and SCODEs. By masking the appropriate firmware bits off we can just use one "type" for the firmware searching and also flag when we are looking for a BASE, DTV or SCODE type firmware. This makes it much easier to track if we need to change device modes or flash an individual firmware part. Add a structure to remember what firmware properties we have. This contains the currently loaded/wanted base firmware (type), video std (id), video std requested (std_req), scode file and number in use. Incorporate said structure into the tuner private data. When checking whether the current firmware needs to be reloaded, first figure out exactly what "type" of firmware we want (base, std and scode), and then proceed to load the appropriate matching base, std-specific and scode records iff there are any changes required. This removes guesswork from the process because we no longer need to individually code a check for every tuning parameter's interactions. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 59a636e50f339f91880b3a1e395829c43cc6541a Author: Chris Pascoe Date: Mon Nov 19 10:23:17 2007 -0300 V4L/DVB (6645): xc2028: allow selection of D2633 firmware Add a bit to select D2633 DTV firmware to struct xc2028_ctrl, so that it can be enabled via .set_config. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit d7b22c5cfef28d21051331622f9595993a083cc4 Author: Chris Pascoe Date: Mon Nov 19 10:12:45 2007 -0300 V4L/DVB (6644): xc2028: use correct offset into scode firmware When validating and loading SCODE firmware we need to take into account the two-byte size header before each entry. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit b1535293dc816f01b0934718c370f9533c7d635e Author: Chris Pascoe Date: Mon Nov 19 10:04:06 2007 -0300 V4L/DVB (6643): xc2028: use best match instead of first partial match during firmware selection Rather than picking the first video standard firmware that supports any of the standards that the user has requested, try to select one that supports as many of them as possible. This improves the likelihood that the firmware we select will support the user's desired TV standard. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 0a196b6fa9b42a2bb49733b37565aaaa97ffb07f Author: Chris Pascoe Date: Mon Nov 19 09:29:59 2007 -0300 V4L/DVB (6642): xc2028: don't duplicate max_len in priv There is no need to duplicate the max_len field from the ctrl structure in the private data. If we use it directly from priv->ctrl, we can memcpy the structure (apart from strings) to reduce maintenance as it grows. Enforce a minimum max_len length of 8 data bytes (+ 1 address byte) as seems to be required by the tuner. Also, use kstrdup instead of open coding the string duplication. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit a44f1c43dfa98e2eb763968890157bfaf9001add Author: Chris Pascoe Date: Mon Nov 19 06:35:26 2007 -0300 V4L/DVB (6641): xc2028: correct tuner offset for 7MHz DTV 7MHz bandwidth DVB-T needs an adjusted offset at the PLL to ensure the IF output is correctly centered. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit ddf1c5f1d78c1ce30a7e6b2447670fc0e103bb62 Author: Chris Pascoe Date: Mon Nov 19 06:33:16 2007 -0300 V4L/DVB (6640): xc2028: correctly select 8MHz firmware We were using priv->bandwidth to select the base firmware to load, not the requested bandwidth value, oops. Also, 7MHz Digital TV needs 8MHz base firmware loaded. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 2ce4b3aa7c3c199466ae9f5ed32ea177912c8c3a Author: Chris Pascoe Date: Mon Nov 19 06:20:17 2007 -0300 V4L/DVB (6639): xc2028: correct divisor length The frequency divisor should only be four bytes long. Also, display the frequency and divisor correctly in the debug output. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 06fd82dc7bdc6045bf8d6c1438d2a33ffb1cf337 Author: Chris Pascoe Date: Mon Nov 19 06:06:08 2007 -0300 V4L/DVB (6638): xc2028: firmware loading cleanup Hold the private lock over set_config and set priv->firm_size to 0 after a failed firmware load to prevent firmware accidentally being freed on us. Clean up the firmware load/error messages somewhat and rename priv->version to priv->firm_version to make it clear which "version" it is. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit b32f9fb962d593e3c5a61092a79434714f405ef5 Author: Chris Pascoe Date: Mon Nov 19 04:53:50 2007 -0300 V4L/DVB (6637): xc2028: add missing break Add break to stop us from following the default failure path even upon success. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit aa501be989f5df58c4732d5eb1989e5ca6479d90 Author: Chris Pascoe Date: Mon Nov 19 04:45:38 2007 -0300 V4L/DVB (6636): xc2028: protect device list Protect refcount changes and modifications to xc2028_list with a mutex. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 91240dd92474d4124f80b00e6200052b275a99a1 Author: Chris Pascoe Date: Mon Nov 19 04:38:53 2007 -0300 V4L/DVB (6635): xc2028: v4l2_std_id needs to be long long to display completely Cast v4l2_std_id variables to unsigned long long so they will printk properly. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 3157ecef3bce47df74427d6656fa8592bfe8d2d7 Author: Chris Pascoe Date: Mon Nov 19 04:34:29 2007 -0300 V4L/DVB (6634): xc2028: error messages missing whitespace Fix some missing spaces in errors that may be emitted during attach failure. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 7d58d1117ec02f5fe22ddd03ca08fe2a8c777ea2 Author: Chris Pascoe Date: Mon Nov 19 04:31:58 2007 -0300 V4L/DVB (6633): xc2028: make register reads atomic Issuing register reads as a separate address write and data read transactions means that other I2C activity could occur in between and state could get out of sync. Issue both the write and read in a single transaction so that the i2c layer can prevent other users accessing the bus until we are complete. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit e155d908f72cc429b538c101ee8ffcd10a44b69b Author: Chris Pascoe Date: Mon Nov 19 04:16:47 2007 -0300 V4L/DVB (6632): xc2028: fix inverted logic in audio standard check strcasecmp returns 0 on match, not true. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 47cc5b78102b4e9993ea1c054b4f077cf7aac7db Author: Chris Pascoe Date: Mon Nov 19 04:14:23 2007 -0300 V4L/DVB (6631): xc2028: eliminate i2c macro side-effects The I2C macros have side effects and send_seq could cause a return from a function with a mutex held. Change them to behave like real functions. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 794604c3efb511b74fb664af72c5dd7046e91075 Author: Chris Pascoe Date: Mon Nov 19 03:55:45 2007 -0300 V4L/DVB (6630): zl10353: calculate input frequency register instead of using hardcoded value Now we know the zl10353's correct ADC clock, we can calculate the input frequency registers correctly instead of just blindly setting them. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 58d834ea89664b41e6e21ed2d8dc5680d0dd76b6 Author: Chris Pascoe Date: Mon Nov 19 03:32:06 2007 -0300 V4L/DVB (6628): zl10353: Improve support for boards without a tuner on secondary i2c Issue FSM_GO instead of TUNER_GO if there is no tuner attached to the secondary i2c bus. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit a644e4a3e95f8ca6eca019c92d8dfde101150687 Author: Chris Pascoe Date: Mon Nov 19 03:05:09 2007 -0300 V4L/DVB (6627): CXUSB: handle write then read from different address The path to perform a read immediately after a write was not checking that the address being read from was the same as the one that was written. Handling this case correctly should mean that we now can handle more than two i2c messages at a time. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 272479d7ab067344d118e7633b624bf98f8896f3 Author: Chris Pascoe Date: Mon Nov 19 03:01:22 2007 -0300 V4L/DVB (6626): CXUSB: support only-read i2c requests Any i2c read request that was not immediately preceded by a write request was incorrectly taking the write path. Add the capability to handle individual read requests. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 13e001dfe3aeb9e7b05445af76e5b47235e81285 Author: Chris Pascoe Date: Mon Nov 19 02:48:27 2007 -0300 V4L/DVB (6625): CXUSB: i2c transfer failure notification The i2c master_xfer routine should return a negative result if not all transfers completed successfully. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit b17f109df1cd9fe1009501d59e466701106590d7 Author: Chris Pascoe Date: Mon Nov 19 02:42:44 2007 -0300 V4L/DVB (6624): CXUSB: return control message transfer result to caller Callers to cxusb_ctrl_msg currently do not receive any indication that their transfer failed. Return the true return code from dvb_usb_generic_{rw,write}. Signed-off-by: Chris Pascoe Signed-off-by: Mauro Carvalho Chehab commit 166fb6b4721f9dd8eca3755517671154aa1eaaba Author: Adrian Bunk Date: Wed Nov 21 19:55:52 2007 -0300 V4L/DVB (6623): remove saa7134-oss The saa7134-oss is deprecated for quite some time, it's the only remaining OSS user outside of sound/oss/, and considering how few and what kind of soundcards are left supported by OSS I hardly see any use cases left. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 255c1887ccca6cde4a2eac231623b925bf621540 Author: Michael Krufky Date: Thu Nov 22 14:40:25 2007 -0300 V4L/DVB (6622): tda827x: prevent possible NULL pointer dereference in tda827xa_lna_gain If tda827x_config hasn't been defined, exit the function. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 3b0c453aa78be253b4414cd337c9975f91e2c894 Author: Michael Krufky Date: Sun Nov 18 14:15:42 2007 -0300 V4L/DVB (6621): tda827x: fix NULL pointer dereference during tda827x_probe_version Fix the following oops: [ 750.807586] CPU: 1 [ 750.807587] EIP: 0060:[] Tainted: P VLI [ 750.807589] EFLAGS: 00010296 (2.6.22-14-generic #1) [ 750.807599] EIP is at tda827x_probe_version+0xc3/0x130 [tda827x] [ 750.807603] eax: 00000000 ebx: f5a45a00 ecx: 00000000 edx: 00000001 [ 750.807607] esi: f9de05ac edi: e9b897e0 ebp: ed8015ac esp: ed735f58 [ 750.807611] ds: 007b es: 007b fs: 00d8 gs: 0000 ss: 0068 [ 750.807615] Process kdvb-fe-1 (pid: 10662, ti=ed734000 task=d3b76530 task.ti=ed734000) [ 750.807618] Stack: f9e23972 00000038 ed735fd0 00010060 41ae0001 ed735f73 88b89608 e9b89608 [ 750.807629] e9b89608 ed801400 f9dde338 e9b89608 f9b2a46b 000000ae 00000a18 d3b76640 [ 750.807639] fffffffc f9b2bad6 00000003 f4433e68 e962b8c0 f4433e64 00000292 ed735fd0 [ 750.807649] Call Trace: [ 750.807653] [] tda10046_init+0x2d2/0x6c0 [tda1004x] [ 750.807700] [] tda827x_initial_init+0x8/0x20 [tda827x] [ 750.807713] [] dvb_frontend_init+0x2b/0x60 [dvb_core] [ 750.807745] [] dvb_frontend_thread+0x66/0x2f0 [dvb_core] [ 750.807780] [complete+64/96] complete+0x40/0x60 [ 750.807805] [] dvb_frontend_thread+0x0/0x2f0 [dvb_core] [ 750.807822] [kthread+66/112] kthread+0x42/0x70 [ 750.807828] [kthread+0/112] kthread+0x0/0x70 [ 750.807841] [kernel_thread_helper+7/16] kernel_thread_helper+0x7/0x10 [ 750.807869] ======================= [ 750.807872] Code: 8b 74 24 20 8b 7c 24 24 83 c4 28 c3 8b 0d 00 0c de f9 85 c9 75 42 be e0 04 de f9 81 c7 0c 01 00 00 b9 33 00 00 00 f3 a5 8b 43 08 40 14 50 e3 dd f9 8b 5c 24 1c 31 c0 8b 74 24 20 8b 7c 24 24 [ 750.807925] EIP: [] tda827x_probe_version+0xc3/0x130 [tda827x] SS:ESP 0068:ed735f58 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5efab70958186d2bd63ab27b9465fce202352143 Author: Michael Krufky Date: Thu Nov 22 14:15:34 2007 -0300 V4L/DVB (6620): kconfig: VIDEO_SAA7134 must select VIDEO_TVEEPROM The ability to read Hauppauge eeprom's was recently added to saa7134, so we must build the tveeprom module. Thanks to Matthias Schwarzott for pointing this out. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 122d15888a8aa95fb6ca32eb1307c3e3337f1a38 Author: Aidan Thornton Date: Tue Nov 20 15:25:08 2007 -0300 V4L/DVB (6619): Use MTS firmware for the HVR-900 The HVR-900 requires the MTS version of the xc3028 firmware in order to get any sound. The below patch selects this firmware variant on HVR-900 cards, as well as splitting the HVR-950 into its own entry (since I don't know if it uses the MTS variant and it will have to be split off eventually anyway). Signed-off-by: Aidan Thornton Signed-off-by: Mauro Carvalho Chehab commit 11645cc370c1af0f6bc9ef7440d452def9580790 Author: Joe Perches Date: Mon Nov 19 22:48:15 2007 -0300 V4L/DVB (6618): drivers/media/dvb: Add missing "space" Signed-off-by: Joe Perches Signed-off-by: Mauro Carvalho Chehab commit ac9bb7f5167d53207893a783a2f722cd6e6ed78f Author: Joe Perches Date: Tue Nov 20 09:00:35 2007 -0300 V4L/DVB (6617): drivers/media/video: Add missing "space" Signed-off-by: Joe Perches Signed-off-by: Mauro Carvalho Chehab commit 13d97010ed0850fd7803563a2b9d92a56bb4aa35 Author: Joe Perches Date: Mon Nov 19 22:48:16 2007 -0300 V4L/DVB (6616): drivers/media/radio: Add missing "space" Signed-off-by: Joe Perches Signed-off-by: Mauro Carvalho Chehab commit ef8c1888b32132ae48553a8ce00d5858ec3e9b51 Author: Mauro Carvalho Chehab Date: Fri Nov 16 16:28:21 2007 -0300 V4L/DVB (6614): Fix driver for i386 architectures Signed-off-by: Mauro Carvalho Chehab commit 2d4c0ac60dbcdee83da5bdebc661c2c145938d8a Author: Mauro Carvalho Chehab Date: Fri Nov 16 09:43:19 2007 -0300 V4L/DVB (6613): Fix: add a missing continue statement Signed-off-by: Mauro Carvalho Chehab commit 5403bbae9bfebe1f2df3a022c83e54f70906cefe Author: Michel Ludwig Date: Fri Nov 16 07:49:49 2007 -0300 V4L/DVB (6612): Allow RESET_CLK callback and avoids unneeded loading TM5600/TM6000 needs clock reset during firmware load. This patch adds the capability of caling a callback method for this. Also, avoids uneeded firmware loads. Signed-off-by: Michel Ludwig Signed-off-by: Mauro Carvalho Chehab commit a37b4c9bc87a74ed5003c385eae264fc0acf6b35 Author: Michel Ludwig Date: Fri Nov 16 07:46:14 2007 -0300 V4L/DVB (6611): Change xc2028_attach method to make easier for DVB Removes uneeded parameters and adds an structure for passing the parameters This patch is co-authored by Mauro Carvalho Chehab. Signed-off-by: Michel Ludwig Signed-off-by: Mauro Carvalho Chehab commit 2fc580ffeb551066f769934e3a4717d721d0a559 Author: Michel Ludwig Date: Fri Nov 16 07:19:35 2007 -0300 V4L/DVB (6610): Fix a wrong typecast Signed-off-by: Michel Ludwig Signed-off-by: Mauro Carvalho Chehab commit 993efa7133985597eb48fb486c661010ab08b525 Author: Michael Krufky Date: Thu Nov 15 10:34:33 2007 -0300 V4L/DVB (6607): saa7134: add support for reading Hauppauge eeprom Increased size of dev->eedata from 128 to 256, since the Hauppauge data begins at byte 128. This has been tested on boards with smaller eeproms, and caused no problems. Added comments to distinguish between the various versions of the HVR1110. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ddf12227c3f8413d09c54f85e6642f79312f1430 Author: Michael Krufky Date: Thu Nov 15 10:01:11 2007 -0300 V4L/DVB (6606): saa7134: add autodetection support for alternate subids of Hauppauge HVR1110 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a82200fb59e7d12a1365199d9fe350bbf74255e4 Author: Mauro Carvalho Chehab Date: Thu Nov 15 11:58:00 2007 -0300 V4L/DVB (6605): Add a modprobe option to manually select audio standard While there's no public API to define audio standard, adds a hack option for select them. This is needed only for NICAM and A2 firmwares, since AM, BTSC and EAIJ are already properly handled, on firmware version 2.7. Signed-off-by: Mauro Carvalho Chehab commit d6964aa8d4a418d69da1652121940fabc6b5d591 Author: Brandon Philips Date: Tue Nov 6 20:23:08 2007 -0300 V4L/DVB (6603): V4L: videobuf: convert streaming and reading to bitfields Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit 0fc0686e64d21a6abded96af2b1a895dfa8b2530 Author: Brandon Philips Date: Tue Nov 6 20:02:36 2007 -0300 V4L/DVB (6600): V4L: videobuf: don't chew up namespace STATE_.*, convert to VIDEOBUF_ s/STATE_NEEDS_INIT/VIDEOBUF_NEEDS_INIT/g s/STATE_PREPARED/VIDEOBUF_PREPARED/g s/STATE_QUEUED/VIDEOBUF_QUEUED/g s/STATE_ACTIVE/VIDEOBUF_ACTIVE/g s/STATE_DONE/VIDEOBUF_DONE/g s/STATE_ERROR/VIDEOBUF_ERROR/g s/STATE_IDLE/VIDEOBUF_IDLE/g Signed-off-by: Brandon Philips Signed-off-by: Mauro Carvalho Chehab commit 1414becf15da1701b0c45e9c82b1f120cb676a36 Author: Mauro Carvalho Chehab Date: Thu Nov 15 10:45:19 2007 -0300 V4L/DVB (6598): Fix standard name Signed-off-by: Mauro Carvalho Chehab commit 83fb340b3184875a63564ea174350b1d1b081874 Author: Mauro Carvalho Chehab Date: Thu Nov 15 09:44:30 2007 -0300 V4L/DVB (6595): Corrects printk lines Make the driver less verbose by default. It adds a debug parameter to make the driver more verbose. Also, error messages were using KERN_ERR level, instead of KERN_INFO. A few printk messages were reviewed to make them more clear. Signed-off-by: Mauro Carvalho Chehab commit 98883cdcb5884bd0f7a89ac36b7170404127b3ea Author: Mauro Carvalho Chehab Date: Thu Nov 15 09:35:44 2007 -0300 V4L/DVB (6594): Add tuner_err macro Some tuners, like xc3028, need to print error messages. Instead of declaring local macros, create a tuner global macro for printing tuner errors. To preserve CodingStyle on all tuner_macros, a few CodingStyle violations were fixed at the other macros: - lines with more than 80 columns - two statements at the same line The patch also removes the CodingStyle violation of having emacs declarations inside de source code (CodingStyle chapter 18). Signed-off-by: Mauro Carvalho Chehab commit f380e1d2c9a1ff82a89ec68850ce53094359000e Author: Mauro Carvalho Chehab Date: Thu Nov 15 08:43:53 2007 -0300 V4L/DVB (6593): Fix scode table loading Xceive 2028/3028 has a concept of scode/dcode. Scode is a table of 16 values (each with 12 bytes i2c sequence). Dcode is the entry of Scode table that should be used, given a certain frequency. The idea is that, depending on what frequency is selected, and according with a country-based (or standard-based?) table, the Xceive should be "hacked" to fine-tune that specific frequency. By default, Scode=0 is used, for undefined frequencies. Also, Scode=0 seems to be the most used value. This patch adds the capability of selecting a scode. However, extra work will be needed to allow auto-selecting the proper scode, for a given set of frequencies. I'm not sure what would be the proper way for implementing the dcode selection. Signed-off-by: Mauro Carvalho Chehab commit 43efe70253dd13b2d22ee51bb474ece25b3b41b1 Author: Mauro Carvalho Chehab Date: Wed Nov 14 19:30:28 2007 -0300 V4L/DVB (6592): Add the capability to work with more complete firmwares Firmware version 2.7 has other firmware types. This patch adds the capability for the driver to work with those newer types. Signed-off-by: Mauro Carvalho Chehab commit ddef2dcc4ead7a9412533202a42c40648e620f43 Author: Luca Risolia Date: Mon Nov 12 11:42:54 2007 -0300 V4L/DVB (6591): Adds support for MT9V111 on sn9c102 Adds a new image sensor to the sn9c102 driver. Signed-off-by: Luca Risolia Signed-off-by: Mauro Carvalho Chehab commit 542794be2caf46b5fe95cbb7cd878d884597647e Author: Olivier DANET Date: Mon Nov 12 10:48:51 2007 -0300 V4L/DVB (6590): Adding support for VHF with MT2266-devices MT2266 : - support for VHF - Minor enhancements Signed-off-by: Olivier DANET Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 67053a409af94ac3d67e0ef0651c42c8c10f5394 Author: dominik Date: Sat Nov 10 19:23:31 2007 -0300 V4L/DVB (6589): Gigabyte u7000 usb dvb-t support Signed-off-by: dominik Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 48e6a0173162690533951cd72b3edaa2e1605716 Author: Jaroslav Barton Date: Sat Nov 10 19:17:45 2007 -0300 V4L/DVB (6588): Leadtek Winfast DTV Dongle remote control Add remote controller support for Leadtek Winfast DTV Dongle based on DiB7700P, MT2060 and using last drivers (6040:6a79c243aecc), firmware dvb-usb-dib0700-03-pre1.fw Signed-off-by: Jaroslav Barton Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 7d497f8afa80128bb99a425a6d7a766a863128a5 Author: Mauro Carvalho Chehab Date: Sun Nov 11 14:15:34 2007 -0300 V4L/DVB (6587): Cleanup at tv norm selection With the conversion to the vidio_ioctl2, tvnorms array is not required anymore. Also, removed some code from V4L1 time (VIDEO_MODE_foo), specied at the non-used video_decoder.h. Signed-off-by: Mauro Carvalho Chehab commit cb77d010221e66c63f4a71546fed73be9b12b9a3 Author: Mauro Carvalho Chehab Date: Sun Nov 11 13:23:54 2007 -0300 V4L/DVB (6586): Remove some dead code and make drive fully V4L2 compatible There were some vestiges of an old V4L1 I2C driver that were called by em28xx. This patch removes this dead code, and replaces videodev.h to videodev2.h Now, this driver doesn't require V4L1 anymore. Signed-off-by: Mauro Carvalho Chehab commit 195a4ef627e110cd468a69fdb973548e6914577a Author: Mauro Carvalho Chehab Date: Sun Nov 11 13:17:17 2007 -0300 V4L/DVB (6585): Convert em28xx to video_ioctl2 Uses the newer ioctl handler at videodev. This patch also cleans up some bad logic at the driver and do CodingStyle and other cleanups at the resulting driver. Also, since VIDIOCMBUF were not working, the V4L1 compat code were removed. The compat code will eventually be re-inserted, if we find a clean way for implementing compatibility with the old API. Signed-off-by: Mauro Carvalho Chehab commit 9e31ced888d1ca49ec5be51ef295e3ce994366c4 Author: Mauro Carvalho Chehab Date: Sun Nov 11 01:13:49 2007 -0300 V4L/DVB (6584): Fix read() method Backport read() fixes from Markus Rechberger. Signed-off-by: Mauro Carvalho Chehab commit a225452ef80a7bd894fd2dfd01a4973d444152f4 Author: Mauro Carvalho Chehab Date: Sun Nov 11 01:08:26 2007 -0300 V4L/DVB (6583): Fix em28xx read stream locking On some situations, closing an streaming application and re-opening were returning -EBUSY. Uses the same locking schema also present on cx88. Signed-off-by: Mauro Carvalho Chehab commit a3a048cea301baba5d451991074a85dc20a8f228 Author: Mauro Carvalho Chehab Date: Sat Nov 10 22:21:01 2007 -0300 V4L/DVB (6582): Fix em28xx to allow multiple open Allows shared access support for em28xx. Just one userspace application is allowed to get stream. The other(s) application(s) can change V4L2 controls, set video standards, etc. This patch were splited from Markus Rechberger's tree and backported to 2.6.17 by Pádraig Brady. The original patch were ported to the latest em28xx version and had CodingStyle corrected to solve the issues pointed by scripts/checkpatch.pl. Thanks to Pádraig Brady for pointing this. Signed-off-by: Mauro Carvalho Chehab commit 2c94a674e059e89252d58da655efa4e798be4d48 Author: Sakari Ailus Date: Tue Oct 30 05:52:52 2007 -0300 V4L/DVB (6580): Set slave's master before master's attach call. V4L: Int if: Set slave's master before attach, remove master argument The master also now gets its own pointer from slave's structure. Signed-off-by: Sakari Ailus Signed-off-by: Mauro Carvalho Chehab commit 53133afbeeb177487a907fdc2edf18f857497641 Author: Adrian Bunk Date: Mon Nov 5 14:07:06 2007 -0300 V4L/DVB (6578): dvb-usb: make some debug vars static This patch makes some needlessly global debug variables static. opera1.h became so small that I removed it. Signed-off-by: Adrian Bunk Reviewed-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f760d618ab385e1c4060f1bfebc335971a5b79f4 Author: Adrian Bunk Date: Mon Nov 5 14:07:26 2007 -0300 V4L/DVB (6577): et61x251/: make 5 functions static This patch makes the following needlessly global functions in et61x251_core.c static: - et61x251_read_reg() - et61x251_i2c_try_read() - et61x251_i2c_try_write() - et61x251_i2c_read() - et61x251_i2c_write() Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit a2fbaa519befdb3db2485116518f3af55be604e6 Author: Adrian Bunk Date: Mon Nov 5 14:07:22 2007 -0300 V4L/DVB (6576): cx88-mpeg.c: make 4 functions static This patch makes the following needlessly global functions static: - cx8802_init_common() - cx8802_fini_common() - cx8802_suspend_common() - cx8802_resume_common() Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit 39e75cfedf5b40116136894241ca1182089f3637 Author: Adrian Bunk Date: Mon Nov 5 14:07:20 2007 -0300 V4L/DVB (6575): cx23885/: cleanups This patch contains the following cleanups: - make the following needlessly global code static: - cx23885-core.c: struct cx23885_sram_channels[] - cx23885-core.c: struct cx23887_sram_channels[] - cx23885-core.c: cx23885_wakeup() - cx23885-core.c: cx23885_sram_channel_setup() - cx23885-core.c: cx23885_sram_channel_dump() - cx23885-core.c: cx23885_risc_disasm() - cx23885-core.c: cx23885_shutdown() - cx23885-core.c: cx23885_reset() - cx23885-core.c: cx23885_dev_unregister() - cx23885-core.c: cx23885_risc_databuffer() - cx23885-core.c: cx23885_risc_stopper() - #if 0 the following unused functions: - cx23885-core.c: cx23885_risc_buffer() - cx23885-core.c: cx23885_cancel_buffers() - remove the following unused EXPORT_SYMBOL's: - cx23885-cards.c: cx23885_boards - cx23885-i2c.c: cx23885_call_i2c_clients Signed-off-by: Adrian Bunk Reviewed-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 9695a49839353bdaff79fe27399be2eb72585223 Author: Adrian Bunk Date: Mon Nov 5 14:07:18 2007 -0300 V4L/DVB (6574): common/ir-functions.c: make a function static ir_rc5_decode() can become static. Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit 6fce7fcd6d062f7acb423c5d6a190f2977454640 Author: Adrian Bunk Date: Mon Nov 5 14:06:52 2007 -0300 V4L/DVB (6573): unexport flexcop_reset_block_300 This patch removes the unused EXPORT_SYMBOL(flexcop_reset_block_300). Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit 5e7361a143e94f85cd5f885782592fa835a3d001 Author: Adrian Bunk Date: Mon Nov 5 14:06:47 2007 -0300 V4L/DVB (6572): dvb-usb/vp702x.c: cleanups This patch contains the following cleanups: - make the needlessly global vp702x_usb_out_op() static - #if 0 the unused vp702x_power_ctrl() Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit ad1ce84047a39aec735ef0d5efe29b845bea3262 Author: Adrian Bunk Date: Mon Nov 5 14:06:41 2007 -0300 V4L/DVB (6571): dvb-usb/gp8psk.c: #if 0 gp8psk_bcm4500_reload() This patch #if 0's the unused gp8psk_bcm4500_reload() Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit 67b24c78839067729b660116ba394568cd136130 Author: Adrian Bunk Date: Mon Nov 5 14:06:38 2007 -0300 V4L/DVB (6570): core/dvb_ringbuffer.c: remove unused exports This patch removes the following unused EXPORT_SYMBOL's: - dvb_ringbuffer_flush - dvb_ringbuffer_pkt_write - dvb_ringbuffer_pkt_read - dvb_ringbuffer_pkt_dispose - dvb_ringbuffer_pkt_next Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit b00ef4b8d8c29bfb5f6f92ee60bc04b604f36ef2 Author: Adrian Bunk Date: Mon Nov 5 14:06:31 2007 -0300 V4L/DVB (6569): bt8xx/dst.c: make code static This patch makes the following needlessly global code static: - dst_gpio_outb() - dst_gpio_inb() - rdc_8820_reset() - dst_pio_enable() - dst_command() - struct tuner_list[] Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit c80296d755df29167deafa53e612644a95b40c6e Author: Roel Kluin <12o3l@tiscali.nl> Date: Tue Nov 6 10:25:16 2007 -0300 V4L/DVB (6564): Move check before lock Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Andrew Morton CC: Antti Palosaari CC: Carl Lundqvist CC: Aapo Tahkola Signed-off-by: Mauro Carvalho Chehab commit bbe1e0ba527a18e1ddda2eabb9da369e5bcf556e Author: Michael Krufky Date: Mon Nov 5 09:54:42 2007 -0300 V4L/DVB (6563): tda8290: optimize for loop in tda829x_probe function Thanks to Trent Piepho for pointing this out. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 98ae127cae56b99f2282d73399e0e1ca7dc13bc9 Author: Mauro Carvalho Chehab Date: Mon Nov 5 09:30:39 2007 -0300 V4L/DVB (6562): Make HVR900 to use also tveeprom Hauppauge firmwares can be decoded using tveeprom. This patch adds HVR-900 as a tveeprom client. It also adds xc3028 tuner entry to tveeprom. Signed-off-by: Mauro Carvalho Chehab commit 80b522085a2c870ba0c0bdf2415cc925d7c86ca5 Author: Mauro Carvalho Chehab Date: Mon Nov 5 09:07:13 2007 -0300 V4L/DVB (6561): Fix xc2028 get register functions and calls The status registers require a dword for setting register. Fix it on all occurrences, and at xc3028_get_reg. Also, improves the hardware/firmware detection printk. Signed-off-by: Mauro Carvalho Chehab commit f8b6030ccca06bf0d45d9b0908caac9b624a9beb Author: Mauro Carvalho Chehab Date: Mon Nov 5 08:42:55 2007 -0300 V4L/DVB (6560): Fix a bug when setting tuner type Tuner-type were correctly filled only by the hint function. Signed-off-by: Mauro Carvalho Chehab commit b873e1a3ccf9e04d2de85db0d510ec4b793fe569 Author: Mauro Carvalho Chehab Date: Mon Nov 5 08:41:50 2007 -0300 V4L/DVB (6559): Fix a buffer overflow at xc2028_get_reg Signed-off-by: Mauro Carvalho Chehab commit e7a2bc8a756e5c0adc6804dd7702442a06174b74 Author: Hans Verkuil Date: Thu Nov 1 06:19:39 2007 -0300 V4L/DVB (6557): tea5767: remove unnecessary warning Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9dd659de9fbd1687c6175053c6453db5b932f152 Author: Hans Verkuil Date: Sun Nov 4 11:03:36 2007 -0300 V4L/DVB (6556): tuner: convert to bus-based I2C API Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 92de1f16d15a30831d1685949aeb76c99032ef23 Author: Hans Verkuil Date: Sun Nov 4 10:53:09 2007 -0300 V4L/DVB (6555): tuner: reorder functions to prepare for i2c conversion Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 159ffe77cd9b1cd7c80c416b5635bdad7e3d7d55 Author: Hans Verkuil Date: Sun Nov 4 10:42:42 2007 -0300 V4L/DVB (6553): tuner: replace default_mode_mask The default_mode_mask global is replaced by a list of tuner structs. The tuner driver now walks that list to see which radio and/or tv tuner devices are registered to a given i2c adapter. The default_mode_mask global had to go since this is no longer supported with the new bus-based I2C API. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a818e1c8f7fcb42866a8630c508caddaa8edb331 Author: Michael Krufky Date: Sun Nov 4 11:03:22 2007 -0300 V4L/DVB (6551): tda8290: rule out tda988x before detecting tda8290/tda8295 To ensure prevention of detecting a tda9885/6/7 as a tda8290 or tda8295, we will rule out the tda988x before testing the tda8290 / tda8295 id registers. We read 8 bytes from the chip. If they are all equal, then it is not a tda829x, or some other error has occurred. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 1f3a4e328549cb85aa032c4ee5dfda7886754154 Author: Michael Krufky Date: Sun Nov 4 10:51:28 2007 -0300 V4L/DVB (6550): tda8290: return -ENODEV on probe failures Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 232fcefb55e67cf38176a1e5c188a04694445f11 Author: Mauro Carvalho Chehab Date: Fri Jan 25 11:01:41 2008 -0200 V4L/DVB(6548b) Fix compilation for em28xx From: Mauro Carvalho Chehab In file included from drivers/media/video/em28xx/em28xx-i2c.c:31: drivers/media/video/tuner-xc2028.h:10:26: error: dvb_frontend.h: No such file or directory In file included from drivers/media/video/em28xx/em28xx-i2c.c:31: drivers/media/video/tuner-xc2028.h:32: warning: 'struct dvb_frontend' declared inside parameter list drivers/media/video/tuner-xc2028.h:32: warning: its scope is only this definition or declaration, which is probably not what you want Signed-off-by: Mauro Carvalho Chehab commit e3e97fe61f25aa36b96afe2f16a915dd966c70b0 Author: Mauro Carvalho Chehab Date: Fri Jan 25 11:01:40 2008 -0200 V4L/DVB(6548a) Fix compilation for TDA8290 From: Mauro Carvalho Chehab drivers/media/video/tda8290.c:27:21: error: tda827x.h: No such file or directory drivers/media/video/tda8290.c:28:22: error: tda18271.h: No such file or directory drivers/media/video/tda8290.c:52: error: field 'cfg' has incomplete type drivers/media/video/tda8290.c: In function 'tda829x_find_tuner': drivers/media/video/tda8290.c:590: error: implicit declaration of function 'tda18271_attach' drivers/media/video/tda8290.c:598: error: implicit declaration of function 'tda827x_attach' Signed-off-by: Mauro Carvalho Chehab commit d2ba055d3b7ca7694af38a735f00850363ee9417 Author: Mauro Carvalho Chehab Date: Sun Nov 4 08:32:42 2007 -0300 V4L/DVB (6546): Add comments for the hint methods Signed-off-by: Mauro Carvalho Chehab commit fad7b958e753e18ff443786360f7846da50a3085 Author: Sascha Sommer Date: Sun Nov 4 08:06:48 2007 -0300 V4L/DVB (6545): em28xx: autodetect Cinergy 200 USB and VGear PocketTV Adds autodetection support for the Cinergy200 USB and the VGear PocketTV. Whenever a usb device with generic empia em2800 usb ids is detected the device gets scanned for connected i2c devices. If the device list matches an em2800 device in the device list the model id gets changed accordingly. Signed-off-by: Sascha Sommer Signed-off-by: Mauro Carvalho Chehab commit f1f32849d65ab1eacfedbabb624876ac06c1af9f Author: Michael Krufky Date: Sat Nov 3 22:14:54 2007 -0300 V4L/DVB (6543): tda8290: enable probing of tda8295 Prevent the tda8295 from falsely being detected as a tda9887 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9b15c0251ba9d20dd88a69b2c607a2f2e5f0133a Author: Mauro Carvalho Chehab Date: Sat Nov 3 22:04:33 2007 -0300 V4L/DVB (6541): Add V-Gear PocketTV to Cardlist.em28xx Signed-off-by: Mauro Carvalho Chehab commit 4362559d826b369df41fc74df4c5db6061962dce Author: Sascha Sommer Date: Sat Nov 3 15:05:07 2007 -0300 V4L/DVB (6539): em28xx: add support for vgear pockettv attached patch adds support for the vgear pockettv. It seems to require a write to another register for audio to work. I checked my old cinergydrv and we did the same register write there. I therefore enabled it for all em2800 based devices. Signed-off-by: Sascha Sommer Signed-off-by: Mauro Carvalho Chehab commit 5a80415bcabf2b59e8c34db6e743c54582cfd3c2 Author: Sascha Sommer Date: Sat Nov 3 21:22:38 2007 -0300 V4L/DVB (6538): em28xx: fix locking to allow accesses from 2 different threads at the same time The attached patch modifies the em28xx driver so that there can be ioctls from multiple different threads. This is necessary for capture apps like MPlayer that use different threads for capturing and channel tuning. Now the locking is only done for the ioctls that change properties of the device or access the i2c bus. It also removes some locks that look unnecessary: In em28xx_init_dev: the videodevice is not registered yet so nothing can access the hardware meanwhile, the device struct is not assigned to the interface yet so no race with disconnect is possible In em28xx_release_resources: it gets only called when dev->lock is already held Signed-off-by: Sascha Sommer Signed-off-by: Mauro Carvalho Chehab commit ea4fd5679b258d8ae85124a47b587a53ba6409de Author: Mauro Carvalho Chehab Date: Sat Nov 3 21:21:57 2007 -0300 V4L/DVB (6537): Add entry for Pixelview Prolink PlayTV USB 2.0 Signed-off-by: Mauro Carvalho Chehab commit 03910cc39035d27f4c85c8ad2a236cc5c9456127 Author: Mauro Carvalho Chehab Date: Sat Nov 3 21:20:59 2007 -0300 V4L/DVB (6536): Add a hint for boards without unique USB ID This patch adds a function to allow trying to detect boards that shares the generic IDs. The current detection method is based at eeprom checksum. Signed-off-by: Mauro Carvalho Chehab commit 3dbd85ba36ff74af87550e76f5765a768b108409 Author: Mauro Carvalho Chehab Date: Sat Nov 3 08:07:07 2007 -0300 V4L/DVB (6535): Fix: Adds the generic PCI IDs for em28xx Signed-off-by: Mauro Carvalho Chehab commit 7d070e26a868bd72f0d32189e0f3ceba47d2db82 Author: Mauro Carvalho Chehab Date: Thu Nov 1 21:52:58 2007 -0300 V4L/DVB (6519): Fix HVR900/HVR950 entry - Television is now default; - Add HVR950 name at the entry. Signed-off-by: Mauro Carvalho Chehab commit ab0b9fc67c2370e813ccd5d83bca8db320e67eeb Author: Mauro Carvalho Chehab Date: Thu Nov 1 17:47:42 2007 -0300 V4L/DVB (6517): CodingStyle fixup Used scripts/Lindent + manual check + scripts/checkpatch.pl Signed-off-by: Mauro Carvalho Chehab commit 352fae1dffe2d0d04949e579d03667377a176cff Author: Mauro Carvalho Chehab Date: Thu Nov 1 16:56:26 2007 -0300 V4L/DVB (6516): Allow faster loading by using 64 bytes block by em28xx i2c write Signed-off-by: Mauro Carvalho Chehab commit 8ae1fe2a0935afa878b8a506633fea45a8b00293 Author: Trent Piepho Date: Thu Nov 1 01:16:05 2007 -0300 V4L/DVB (6508): ttpci: Rework Kconfig menus and Makefile The ttpci Kconfig file has bugs that cause it to fail in certain Kconfig situations. The basic problem is that it selects certain drivers, but does not depend on the dependencies of those drivers. See http://article.gmane.org/gmane.comp.video.video4linux/35072 Using the Kconfig file also has some annoyances. For instance one can't turn off AV7110 support unless you go down several options and first turn off budget-patch support. Normally user selectable drivers are not forced on like this. The "AV7110 cards with Budget Patch" option is disabled if "Budget cards" isn't on. Normally a driver appears nested under a driver it depends on, but since drivers that don't depend on "Budget cards" are between the two options, the config programs can't display the tree correctly. The Makefile has an issue too. Some modules, ttpci-eeprom and budget-core, appear in the Makefile under several different config symbols. If more than one of these symbols is on, they will get added the to list of objects multiple times. The normal convention is to have a config symbol just the common object(s) and have the users of the that object either depend on or select that config symbol. This patch fixes all these issues. ttpci-eepom is under a new config symbol, and so is the budget-core module. The four different budget card types appear as sub-drivers under a main "SAA7146 DVB cards" option. Turning on budget-patch doesn't force AV7110. Drivers using SAA7146_VV have the necessary VIDEO_DEV dependency, so that it isn't possible to select SAA7146_VV without V4L being on. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 00405f8f11d3064c4af6fe826d8287863a453e7f Author: Trent Piepho Date: Thu Nov 1 01:16:04 2007 -0300 V4L/DVB (6507): bttv: whitespace cleanup Someone wasn't using the v4l-dvb commit scripts and so didn't run the automatic whitespace cleaner on their code. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 58a44040b4937c7d16b79a1b3048992eeac9853b Author: Marco Schluessler Date: Wed Oct 31 01:20:42 2007 -0300 V4L/DVB (6497): saa7146/budget*/dvb-ttpci: Remove V4L1 code Remove V4L1 code. Signed-off-by: Marco Schluessler Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit c5d857d5d3a7cfe355d93916fc094035c85147f7 Author: Marco Schluessler Date: Wed Oct 31 00:44:22 2007 -0300 V4L/DVB (6496): saa7146_vv.h: remove wrong include remove wrong include Signed-off-by: Marco Schluessler Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 241020d19ee9da29171d989ff876c657e4b938b5 Author: Michael Krufky Date: Tue Oct 30 09:46:10 2007 -0300 V4L/DVB (6492): tuner: improve tuner_foo printk macros consistency Alter the tuner_foo printk macros to indicate which module is generating the message. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4942744f93884cb462400c66258c0013bea65dcf Author: Michael Krufky Date: Tue Oct 30 09:44:12 2007 -0300 V4L/DVB (6491): tuner: prevent repeated "type set" message unless debug is enabled The tuner sub-module will usually log its type during its _attach() function, then tuner-core reports which type was attached when control is returned. In most cases, we expect to see the same message reported from both locations. We only need to see this second message if debug is enabled. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7a06f3f2aab797a12f28cf0f4504ec4e346e97f9 Author: Hans Verkuil Date: Tue Oct 30 06:00:05 2007 -0300 V4L/DVB (6490): Remove EXPERIMENTAL from several i2c drivers Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit fdef464a7fdcc0f5905d380b2065fec7715bc95d Author: Hans Verkuil Date: Tue Oct 30 05:55:58 2007 -0300 V4L/DVB (6489): ivtv: add support for AVerMedia PVR-150 Plus Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e2a1774d9c8b866db65853fd1a17e5f472dd5cf2 Author: Hans Verkuil Date: Tue Oct 30 05:50:03 2007 -0300 V4L/DVB (6488): ivtv: add ASUS Falcon2 support Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 05e997197e459a03df577ba49c34c1820957ee4a Author: Hans Verkuil Date: Tue Oct 30 05:41:54 2007 -0300 V4L/DVB (6487): i2c-id: add M52790 driver ID Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 761dacd25d9e9be2358df21a0f086bbb4cf1c789 Author: Hans Verkuil Date: Tue Oct 30 05:41:25 2007 -0300 V4L/DVB (6486): m52790: add new Mitsubishi A/V switch i2c driver This driver is used by the ASUS Falcon2 cx23416-based cards. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 4be2f47054fb12a5868838770595e8d3a02e60f2 Author: Douglas Schilling Landgraf Date: Mon Oct 29 00:44:55 2007 -0300 V4L/DVB (6483): ivtv-streams: make file_operations const Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit bdd36658fe7cce3b7dbb6ffb72ad0c9500d57e7a Author: Douglas Schilling Landgraf Date: Mon Oct 29 00:37:07 2007 -0300 V4L/DVB (6482): zr364: make file_operations const zr364: make file_operations const Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit c7ac61c4693da113fd067ccfa4246df1e8a5c75e Author: Douglas Schilling Landgraf Date: Sun Oct 28 23:41:19 2007 -0300 V4L/DVB (6481): radio-gemtek: make file_operations const make file_operations const Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 073ad9a00c653ac4a1668c324dd132c9996473f1 Author: Randy Dunlap Date: Mon Oct 29 15:19:45 2007 -0300 V4L/DVB (6480): bttv: uses input functions, should depend on INPUT Several media drivers use input_(*) functions so they need to depend on the INPUT config symbol. drivers/built-in.o: In function `bttv_input_fini': linux-2.6.24-rc1-git4/drivers/media/video/bt8xx/bttv-input.c:346: undefined reference to `input_unregister_device' drivers/built-in.o: In function `bttv_input_init': linux-2.6.24-rc1-git4/drivers/media/video/bt8xx/bttv-input.c:204: undefined reference to `input_allocate_device' linux-2.6.24-rc1-git4/drivers/media/video/bt8xx/bttv-input.c:335: undefined reference to `input_free_device' linux-2.6.24-rc1-git4/drivers/media/video/bt8xx/bttv-input.c:321: undefined reference to `input_register_device' linux-2.6.24-rc1-git4/drivers/media/video/bt8xx/bttv-input.c:335: undefined reference to `input_free_device' Signed-off-by: Randy Dunlap Signed-off-by: Mauro Carvalho Chehab commit 983d214e08010c7b3c1997dc9cab7fa0984446f0 Author: Mauro Carvalho Chehab Date: Mon Oct 29 23:44:18 2007 -0300 V4L/DVB (6477): Properly fill MODULE_AUTHOR Most of the driver were written by Mauro Carvalho Chehab. DTV parts were added by Michel Ludwig. Reviewed-by: Michel Ludwig Signed-off-by: Mauro Carvalho Chehab commit 6c362c8e58da972728a3666a0a00b9c2f1574e1f Author: Mauro Carvalho Chehab Date: Mon Oct 29 23:36:12 2007 -0300 V4L/DVB (6476): Add support for analog tv on HVR-950 This patch adds USB ID for HVR-950. It also adds the callback for handling firmware loading. Thanks to Markus Reichberger for the reset commands. Signed-off-by: Mauro Carvalho Chehab commit 1808a698a87366f9d82945270355c2139df0a16d Author: Mauro Carvalho Chehab Date: Mon Oct 29 17:38:59 2007 -0300 V4L/DVB (6475): Fix some troubles at list handling - priv->count were wrong. Should be incremented since the first usage; - forgot to use list_del() to remove the driver; - Release memory if an error occurs during _attach Thanks to Aidan Thornton for pointing this. Signed-off-by: Mauro Carvalho Chehab commit 882876bf9780fac570184b719a76140a1b1e4178 Author: Mauro Carvalho Chehab Date: Mon Oct 29 11:33:18 2007 -0300 V4L/DVB (6474): Add support for tuner-xc2028 Signed-off-by: Mauro Carvalho Chehab commit 48aa336a842ad3bd4f031f14fb6d06b0274c38f9 Author: Mauro Carvalho Chehab Date: Mon Oct 29 11:33:18 2007 -0300 V4L/DVB (6473): Prevents double tuner registering Signed-off-by: Mauro Carvalho Chehab commit 690c544cf849e627d3f40a71633d0caf5c33eafe Author: Mauro Carvalho Chehab Date: Mon Oct 29 11:33:18 2007 -0300 V4L/DVB (6472): Re-inserts xc2028 attach code, fixing its parameters I2C bus redesign changed i2c parameters. This patch re-adds tuner xc2028 attach function, replacing the parameters to the newer syntax. Signed-off-by: Mauro Carvalho Chehab commit 1cba97d71dca1a3c22b4d7f97893249817036215 Author: Hans Verkuil Date: Fri Sep 14 05:13:54 2007 -0300 V4L/DVB (6471): tuner: i2c_client cannot be part of the tuner struct The bus-based I2C subsystem allocates the i2c_client struct. So if in order to be able to convert the tuner to the bus-based I2C API the embedded i2c_client struct must be removed from the tuner struct and replaced with a pointer. Signed-off-by: Hans Verkuil Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 1a156045ab06b2cce8cf46e7bf53da26ab33b084 Author: Mauro Carvalho Chehab Date: Mon Oct 29 11:33:18 2007 -0300 V4L/DVB (6470): Avoid breaking compilation The next patchset series will change i2c structs inside tuner. This patch avoids breaking bissect, by commenting the still unused tuner xc2028. Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Mauro Carvalho Chehab commit 0b5f4a12e628893624b478523fb4e2708c605710 Author: Michael Krufky Date: Sat Oct 27 13:09:16 2007 -0300 V4L/DVB (6469): tuner: remove TUNER_PHILIPS_TDA8295 TUNER_PHILIPS_TDA8290 will autodetect a TDA8290 or a TDA8295, so we don't need this separate entry anymore. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8c125f2ceb3ec1ba01e96fffd8558ef163b40fe8 Author: Michael Krufky Date: Sat Oct 27 02:00:57 2007 -0300 V4L/DVB (6468): tda8290: auto-detect tda8290 or tda8295 Consolidate tda8290_attach() and tda8295_attach() into a single function, tda829x_attach(), which will detect chip combinations tda8290 or tda8295 with tda8275, tda8275a or tda18271. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 393bf5573269979aa3fb55d1bdd0db4fcb288f99 Author: Hans Verkuil Date: Tue Sep 18 03:22:32 2007 -0300 V4L/DVB (6467): v4l2-common: minor cleanups Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a2e521e85c04af3511af3ea8971efb4ef8bde533 Author: Hans Verkuil Date: Mon Sep 17 05:13:45 2007 -0300 V4L/DVB (6466): v4l2-i2c-drv: first call remove, then detach client The remove driver function expects that the client is still attached to the driver, so do the detach after calling remove(). Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 188f3457c21ac7869005021b56b4578293c644bb Author: Hans Verkuil Date: Sun Sep 16 10:47:15 2007 -0300 V4L/DVB (6465): Use correct error codes when chip is not recognized If the chip isn't recognized, then the correct errors should be returned. The v4l2_i2c_attach() utility function will return 0 for all errors except -ENOMEM to provide proper compatibility support for the old I2C probing function. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6235168db8ed96c587e566be0dd72a77ca212693 Author: Hans Verkuil Date: Fri Sep 14 05:03:17 2007 -0300 V4L/DVB (6464): tlv320aic23b: convert to bus-based I2C API Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2b14e0314631bac6388c4501f3103ab5af22c0f0 Author: Hans Verkuil Date: Fri Sep 14 04:58:31 2007 -0300 V4L/DVB (6463): upd64031a: convert to bus-based I2C API Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 266669776c12b92bab6e0bba4b3124ae920df194 Author: Hans Verkuil Date: Fri Sep 14 04:58:06 2007 -0300 V4L/DVB (6462): upd64083: convert to bus-based I2C API Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 08e140544029192a123cc2cbf28edeb5d5462ad2 Author: Hans Verkuil Date: Fri Sep 14 04:50:44 2007 -0300 V4L/DVB (6461): tvaudio: convert to bus-based I2C API Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 88307eb3c69c80a705072e68463d8f72005fc027 Author: Hans Verkuil Date: Fri Sep 14 04:49:16 2007 -0300 V4L/DVB (6460): v4l2-i2c-drv: add legacy_probe function pointer Some devices do complicated tests whether the device can be probed or not. Add a legacy_probe function pointer to support that. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1a39275a3f2fc6fbdb876f5121d67d4b13310c5b Author: Hans Verkuil Date: Thu Sep 13 11:44:47 2007 -0300 V4L/DVB (6459): cx25840: convert to bus-based I2C API Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e8e6b99184aa8cf72c5a28bf2a64f6d81473b1ca Author: Hans Verkuil Date: Thu Sep 13 11:30:38 2007 -0300 V4L/DVB (6458): cs53l23a: convert to bus-based I2C API Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 79518dafd59a812bb390f201c6f18a8f875fcffb Author: Hans Verkuil Date: Thu Sep 13 11:28:59 2007 -0300 V4L/DVB (6457): msp3400: convert to bus-based I2C API Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 77566dd724f118b332b5dbf62eedc869f1263f22 Author: Hans Verkuil Date: Thu Sep 13 11:21:51 2007 -0300 V4L/DVB (6456): saa7127: convert to bus-based I2C API Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit fbaa3d0db482ae55fc054b9446c1ecf699754054 Author: Hans Verkuil Date: Thu Sep 13 11:19:39 2007 -0300 V4L/DVB (6455): saa7115: convert to bus-based I2C API Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 45eea27624d4dacd36c2167f75e2510ee5d4ab26 Author: Hans Verkuil Date: Thu Sep 13 11:11:44 2007 -0300 V4L/DVB (6454): vp27smpx: convert to bus-based I2C API Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 49457cc2792a63512112434534ecfdd3d4c66e93 Author: Hans Verkuil Date: Thu Sep 13 11:10:07 2007 -0300 V4L/DVB (6453): wm8739: convert to bus-based I2C API Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d9a53aa9024e507df01f257494956e906a92c864 Author: Hans Verkuil Date: Thu Sep 13 11:08:25 2007 -0300 V4L/DVB (6452): wm8775: convert to bus-based I2C API Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 8ffbc6559493c64d6194c92d856196fdaeb8a5fb Author: Hans Verkuil Date: Wed Sep 12 08:32:50 2007 -0300 V4L/DVB (6451): v4l2: add support for bus-based I2C drivers Two new headers were added: one for I2C drivers that are only used by V4L2 drivers converted to the new bus-based I2C API, and one that can be used by both converted and unconverted drivers (at the expense of some additional overhead). To support the legacy I2C API a helper function was added to v4l2-common.c. These headers take care of all the 'boilerplate' code that all V4L2 I2C drivers have in common and will automatically support the bus-based I2C API introduced in kernel 2.6.22. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5ef4730d1bfe5be71ce54d927c510ad5da968854 Author: Michael Krufky Date: Sat Oct 27 02:17:19 2007 -0300 V4L/DVB (6450): tda9887: add missing module license This module was always GPL, and will remain GPL Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7d11c53c5d909d866dee0ce5db2d6ca1c422edca Author: Michael Krufky Date: Wed Oct 24 09:55:54 2007 -0300 V4L/DVB (6449): tda18271: clean up i2c_gate handling Call analog_demod_ops->i2c_gate_ctrl when in analog tuning mode, and frontend_ops.i2c_gate_ctrl when in digital tuning mode. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a72dd305f99f6c6e4eff01478ae53fc80ce98fb1 Author: Michael Krufky Date: Wed Oct 24 09:30:17 2007 -0300 V4L/DVB (6448): tda8290: fill i2c_gate_ctrl callback Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2be1b48fd27a3b6878db034288ed571b03df3a5c Author: Michael Krufky Date: Wed Oct 24 09:23:17 2007 -0300 V4L/DVB (6447): tuner: add i2c_gate_ctrl function to struct analog_tuner_ops In some designs, the tuner silicon may be on an i2c bus behind an i2c gate, controlled by the analog demodulator. We already have a method to control such i2c gates when they are controlled by the digital demodulator, but in some hybrid designs, there may be an i2c gate controlled by each demodulator. For example, when in analog tuning mode, one would access the tuner by opening the i2c gate controlled by the analog demodulator, while when in digital tuning mode, one would access the tuner by opening the i2c gate controlled by the digital demodulator. We must add this callback function to analog_tuner_ops in order to handle such configurations. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6f998742f09a7116f1232cebc87a814e3aca639a Author: Michael Krufky Date: Wed Oct 24 01:00:24 2007 -0300 V4L/DVB (6446): tda18271: clean up debug macros Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4524c1aba5449d3519d1545f8106811eb73fc72c Author: Michael Krufky Date: Mon Oct 22 18:15:39 2007 -0300 V4L/DVB (6445): tuner-core: improve comments inside function fe_release() Explain who is responsible for freeing analog_demod_priv Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit af3b0f3f01d299c46837a408e1b9510b8c304e43 Author: Michael Krufky Date: Mon Oct 22 18:03:29 2007 -0300 V4L/DVB (6444): tuner-core: remove excessive parenthesis Convert all instances of "if ((ops) && (ops->foo))" to "if (ops && ops->foo)" Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 31c9584c0b071dfa7a75db6e21cc727f728f97b0 Author: Michael Krufky Date: Sun Oct 21 20:48:48 2007 -0300 V4L/DVB (6443): make tda9887 build selectable via Kconfig Signed-off-by: Michael Krufky Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5c82f4497b46e9c3877618bc36661a4abbf9c646 Author: Michael Krufky Date: Mon Oct 22 01:10:39 2007 -0300 V4L/DVB (6442): move std if setting from tda8290 to tda827x Signed-off-by: Michael Krufky Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1b29cedab9e69a6e4c9bba5f1981437b62be7bea Author: Michael Krufky Date: Mon Oct 22 01:44:03 2007 -0300 V4L/DVB (6441): tuner: clean up ops checking in tuner_status function Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4e9154b8a77d0f0f8f06857162823905612a50d7 Author: Michael Krufky Date: Sun Oct 21 19:39:50 2007 -0300 V4L/DVB (6440): tuner: convert analog tuner demod sub-modules to dvb_frontend interface Convert tda9887 and tda8290/5 to dvb_frontend interface Signed-off-by: Michael Krufky Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 482b498d7a1eb0e445657fb55d2bc6d4871c0ef5 Author: Michael Krufky Date: Mon Oct 22 00:12:16 2007 -0300 V4L/DVB (6439): dvb_frontend: codingstyle cleanups thanks to checkpatch.pl Signed-off-by: Michael Krufky Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 16f291684c50497cc92e83f01d354fae187d1f18 Author: Michael Krufky Date: Sun Oct 21 15:22:25 2007 -0300 V4L/DVB (6438): tuner: move analog_demod_priv into struct dvb_frontend Signed-off-by: Michael Krufky Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e2be32ac8017d1bcb293f8c11c046ff654991385 Author: Michael Krufky Date: Sun Oct 21 14:35:21 2007 -0300 V4L/DVB (6437): tuner: clear analog_demod_ops on release Clear analog_demod_ops on release. Fix test for analog_demod_ops after tuner attach. Signed-off-by: Michael Krufky Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1dde7a4fa2b197d298c3f1b97a7f78fd1c3a1bda Author: Michael Krufky Date: Sun Oct 21 13:40:56 2007 -0300 V4L/DVB (6436): tuner: move analog_tuner_ops into dvb_frontend_ops Signed-off-by: Michael Krufky Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5bea1cd3871351d70cc7624af138f8aa68b7be77 Author: Michael Krufky Date: Mon Oct 22 09:56:38 2007 -0300 V4L/DVB (6435): tda8290: add support for NXP TDA18271 tuner and TDA8295 analog demod Add basic support for NXP TDA8295 analog demod and TDA18271 tuner silicon. TDA8295 + TDA8275a not yet tested. TDA8290 + TDA18271 not yet supported. Digital mode of TDA18271 not yet tested & needs more work. Signed-off-by: Michael Krufky Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ce1f8bdb0cbe9c5f57cf0256ef75fce06152547f Author: Michael Krufky Date: Mon Oct 22 00:28:50 2007 -0300 V4L/DVB (6434): tda827x: fix GPL export on attach function EXPORT_SYMBOL should have been EXPORT_SYMBOL_GPL Signed-off-by: Michael Krufky Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 746d9732dbd5b95c3ba36230e2814fa2c391a311 Author: Michael Krufky Date: Sat Aug 25 19:08:45 2007 -0300 V4L/DVB (6433): Move all tda8275/8275a tuning code from tda8290 module into tda827x module Add analog tuning support to tda827x dvb_frontend tuner module. Convert tda8290 module back to native tuner interface. The tda8290 analog demodulator will be handled the same way as tda9887. The tuner.ko module (tuner-core) will pass commands to tda8290 via the tuner_operations interface. tda8290 will communicate with tda827x via the dvb_frontend interface, while passing a pointer to a private data structure. Signed-off-by: Michael Krufky Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit de3fe21ba2fdc0733ad4e555b95121baeba7fcd5 Author: Mauro Carvalho Chehab Date: Wed Oct 24 09:22:08 2007 -0300 V4L/DVB (6431): Improve firmware format Signed-off-by: Mauro Carvalho Chehab commit 215b95baf969c6f895969f0a4ae0479954fba7cd Author: Mauro Carvalho Chehab Date: Tue Oct 23 15:24:06 2007 -0300 V4L/DVB (6430): Convert tuner-xc2028 driver to the newer hybrid approach This changeset converts tuner-xc2028 to the newer hybrid approach. It also prevents creating twice the xc3028 private struct by both DVB and V4L parts. Signed-off-by: Mauro Carvalho Chehab commit 3b20532c791399182bd04f0fcc70b60a95637fa5 Author: Mauro Carvalho Chehab Date: Thu Sep 27 18:27:03 2007 -0300 V4L/DVB (6429): Avoid having two tuner commands happening at the same time Signed-off-by: Mauro Carvalho Chehab commit ff7326d4f09aee7fc0416d3b3d6f7106d0961f1f Author: Michel Ludwig Date: Fri Jul 27 08:24:39 2007 -0300 V4L/DVB (6428): Make the naming of the DTV firmware files more consistent Signed-off-by: Michel Ludwig Signed-off-by: Mauro Carvalho Chehab commit d4e7668104f7f17fa093121bf13e9728b88da57d Author: Mauro Carvalho Chehab Date: Wed Jul 18 23:14:25 2007 -0300 V4L/DVB (6427): Some cleanups at tuner-xc2028 driver Signed-off-by: Mauro Carvalho Chehab commit 2e4160ca8046e3c35277bed62b2c180427d57dd7 Author: Mauro Carvalho Chehab Date: Wed Jul 18 13:33:23 2007 -0300 V4L/DVB (6426): Some fixes on tuner-xc2028 Signed-off-by: Mauro Carvalho Chehab commit 701672eb7387390bff43f0c979026dd317836626 Author: Michel Ludwig Date: Wed Jul 18 10:29:10 2007 -0300 V4L/DVB (6425): Add experimental DVB frontend tuner interface to xc2028/3028 Signed-off-by: Michel Ludwig Signed-off-by: Mauro Carvalho Chehab commit c2622e5f8ec0c53794fa33488477f07250c3e452 Author: Michel Ludwig Date: Wed Jul 18 10:26:38 2007 -0300 V4L/DVB (6424): Improve tuner-xc2028 script Signed-off-by: Michel Ludwig Signed-off-by: Mauro Carvalho Chehab commit 6cb45879dca84c667996d65a12880db6705a2b0e Author: Mauro Carvalho Chehab Date: Tue Oct 2 11:57:03 2007 -0300 V4L/DVB (6423): Add tuner-xc2028 driver Add support for Xceive XC2028/XC3028 tuner driver Signed-off-by: Mauro Carvalho Chehab commit 12466577853b0d057f4416f4c7020e544f3a4209 Author: Mauro Carvalho Chehab Date: Wed Oct 24 11:08:20 2007 -0300 V4L/DVB (6422): Add the pending entries for xc2028/3028 based boards Also replaces all occurrences of TUNER_XCEIVE_XC3028 to TUNER_XC2028. Some work is still may be required to make sure that non-tm6000 drivers will be capable of using tuner-xc2028. Signed-off-by: Mauro Carvalho Chehab commit 07533b6a8097c6fdb17fb154725757b64238a8d9 Author: Mauro Carvalho Chehab Date: Fri Aug 25 16:53:11 2006 -0300 V4L/DVB (6421): Make Kconfig reflect the changes at audio helper modules Signed-off-by: Mauro Carvalho Chehab commit 5eba35714e0dfa5618b438cfe46037f22133badc Author: Mauro Carvalho Chehab Date: Fri Aug 25 16:53:10 2006 -0300 V4L/DVB (6420): V4L2 conversion for tda9875 from V4L1 API Signed-off-by: Mauro Carvalho Chehab commit 7a00d45cf017172c74d15bad0f9f14720efd69dd Author: Mauro Carvalho Chehab Date: Fri Aug 25 16:53:09 2006 -0300 V4L/DVB (6419): V4L2 port of tda7432 from V4L1 api Signed-off-by: Mauro Carvalho Chehab commit dc3d75da05c3ff2dd6510c32a11deacced49d1a1 Author: Mauro Carvalho Chehab Date: Fri Aug 25 16:53:08 2006 -0300 V4L/DVB (6418): Converted tvaudio from V4L1 to V4L2 V4L1 ioctls were replaced to V4L2 were applicable. The older ones already implemented were removed. Signed-off-by: Mauro Carvalho Chehab commit 155c6ab9ed255745758b6aa0f266e4d40aa32a21 Author: Nickolay V. Shmyrev Date: Fri Aug 25 16:53:07 2006 -0300 V4L/DVB (6417): Report detected sound carrier into rxsubchans Signed-off-by: Nickolay V. Shmyrev Signed-off-by: Mauro Carvalho Chehab commit 4b9b936f278163614543d66f8e8c93d5484dd148 Author: Nickolay V. Shmyrev Date: Fri Aug 25 16:53:04 2006 -0300 V4L/DVB (6416): Split hooks on volume and audio mode and rework their handling Also convert audio_mode_gpio functions from audio_hook Signed-off-by: Nickolay V. Shmyrev Signed-off-by: Mauro Carvalho Chehab commit 40c6e683a238c561db00c4fdfead43cb3b19d75f Author: Nickolay V. Shmyrev Date: Fri Oct 26 17:21:30 2007 -0300 V4L/DVB (6415): Restructurize volume hook and drop unused mute hook Signed-off-by: Nickolay V. Shmyrev Signed-off-by: Mauro Carvalho Chehab commit de5bec6bb57e88db7efa49c6f7de0794ae67d06a Author: Nickolay V. Shmyrev Date: Fri Oct 26 17:15:19 2007 -0300 V4L/DVB (6414): Remove bass, treble and balance from audio hook since they are unused Signed-off-by: Nickolay V. Shmyrev Signed-off-by: Mauro Carvalho Chehab commit 5b261016f04eb5df1e1e652794f1f4d7dd072566 Author: Nickolay V. Shmyrev Date: Fri Aug 25 16:53:02 2006 -0300 V4L/DVB (6413): Forward VIDIOCGAUDIO and VIDIOCSAUDIO through v4l1-compat Signed-off-by: Nickolay V. Shmyrev Signed-off-by: Mauro Carvalho Chehab commit c2806d03c090a1bf9c8c94bbecb92242b57469f3 Author: Mauro Carvalho Chehab Date: Fri Oct 26 16:54:54 2007 -0300 V4L/DVB (6412): Audio hooks moved to another file Signed-off-by: Mauro Carvalho Chehab commit c96dd0710685a0932c16ecc351621af3fe0cb2c7 Author: Mauro Carvalho Chehab Date: Fri Oct 26 16:51:47 2007 -0300 V4L/DVB (6411): remove V4L1 from being compiled when V4L2 only is selected Signed-off-by: Mauro Carvalho Chehab commit e84619b17440ccca4e4db7583d126c4189b987e5 Author: Nickolay V. Shmyrev Date: Fri Oct 26 11:01:08 2007 -0300 V4L/DVB (6410): Partial conversion from V4L1 to V4L2 This is part of the old V4L1->V4L2 bttv patch, ported to current tree by Mauro Carvalho Chehab Signed-off-by: Nickolay V. Shmyrev Signed-off-by: Mauro Carvalho Chehab commit 302f61ad5db0e6a4c265e1f6454c102e2283a926 Author: Nickolay V. Shmyrev Date: Fri Oct 26 10:53:21 2007 -0300 V4L/DVB (6409): Cleanup: removed i2c_vidiocschan This is part of the old V4L1->V4L2 bttv patch, ported to current tree by Mauro Carvalho Chehab Signed-off-by: Nickolay V. Shmyrev Signed-off-by: Mauro Carvalho Chehab commit 012cf21975e8ccc2d57859413b336087f7f98763 Author: Nickolay V. Shmyrev Date: Fri Aug 25 16:52:54 2006 -0300 V4L/DVB (6408): Cleanup: Removed obsoleted code from bttv-cards This is part of the old V4L1->V4L2 bttv patch, ported to current tree by Mauro Carvalho Chehab Signed-off-by: Nickolay V. Shmyrev Signed-off-by: Mauro Carvalho Chehab commit e92adc2c39aaaa0129b7b97584784a8ba9da9ec4 Author: Steven Toth Date: Thu Sep 20 01:44:27 2007 -0300 V4L/DVB (6404): cx23885: i2c 16bit reg/val read/write fix Fix i2c reads and writes of 16bit register address / values Signed-off-by: Steven Toth Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 289d4d2f0746715ada41e0945116eb3d62d5f35c Author: Matthias Kaehlcke Date: Wed Oct 24 17:31:15 2007 -0300 V4L/DVB (6400): usbvision: Convert the usbvision->lock semaphore to the mutex API Convert the usbvision->lock semaphore to the mutex API Signed-off-by: Matthias Kaehlcke Reviewed-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit b02044d81fc028d4fef1c65f9b179a0aec091f0b Author: Adrian Bunk Date: Wed Oct 24 13:23:14 2007 -0300 V4L/DVB (6399): saa7134/: make 2 functions static saa7134_buffer_requeue() and set_tvnorm() can become static. Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit 55c88610fe974c95a62e495305a7386aaac3df39 Author: Mauro Carvalho Chehab Date: Fri Oct 19 06:59:33 2007 -0300 V4L/DVB (6386): Add support for radio on CX88_BOARD_MSI_TVANYWHERE_MASTER This board has some special tea5767 configuration. Basically, radio XTAL uses a different frequency than the other supported radios. It uses a 13 MHz XTAL. This patch adds the proper radio gpio and tea5767 configurations for the board. Also, with PAL/BG, the board requires some special init for tda9887: port1=0 port2=0 qss=1 Thanks to Serge Kolotylo and MIDImaster for their help on identifying the proper needs for this driver. Signed-off-by: Mauro Carvalho Chehab commit 0e1165e8d05ef4a530001ea4ac5ff0df78129dd2 Author: Mauro Carvalho Chehab Date: Thu Oct 18 20:10:07 2007 -0300 V4L/DVB (6385): Adds the capability of configuring tea5767 support tea5767 has several possible configurations. Before the patch, the driver were assuming the more common configuration. However, some newer cards, like MSI @nyware Master requires other configurations, like de-activating a gpio port and changing chip Xtal. This patch adds the capability of altering device configuration at runtime. This may also be used later to activate some features like auto-mute when signal is weak. Signed-off-by: Mauro Carvalho Chehab commit 7f1711234e6a21c153e892758d9d82c333ab37ac Author: Mauro Carvalho Chehab Date: Thu Oct 18 19:56:47 2007 -0300 V4L/DVB (6384): Replace TDA9887_SET_CONFIG by TUNER_SET_CONFIG Currently, the only tuner-specific device that allows special configurations is tda9887. However, tea5767 also may require some special configurations (for example, to specify a different Xtal freq). This patch replaces TDA9887_SET_CONFIG by a more generic internal ioctl (TUNER_SET_CONFIG). The newer one allows specifying what tuner is appliable to a configuration set, and allows an arbitrary configuration struct. Signed-off-by: Mauro Carvalho Chehab commit b47a166ed0baaaa30112532bad41b21e7c5e4d31 Author: Jan Engelhardt Date: Tue Jan 22 20:48:10 2008 +0100 [WATCHDOG] constify function pointer tables "static struct file_operations" should be "static const struct file_operations". Signed-off-by: Jan Engelhardt Signed-off-by: Wim Van Sebroeck commit 6f702fce387e16e16d7930b5c9927d5e71d36ece Author: Atsushi Nemoto Date: Mon Nov 12 01:32:17 2007 +0900 [WATCHDOG] TXx9 watchdog driver This is a driver for watchdog timer built into TXx9 MIPS SoCs. Signed-off-by: Atsushi Nemoto Cc: Ralf Baechle Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit c6cb13aead3a3cf5bd3e2cfa945602d5cd7825cd Author: Wim Van Sebroeck Date: Wed Dec 26 20:32:51 2007 +0000 [WATCHDOG] misc_register patch Make sure that we first do a register_reboot_notifier before we do a misc_register. A misc_register opens the interface to userspace and it's best to do this as the last action. Signed-off-by: Wim Van Sebroeck commit 01c785dcb4e9fd6c4c370fd9915fc10585ed64bd Author: Alan Cox Date: Wed Jan 9 21:36:01 2008 -0800 [WATCHDOG] wdt: fix locking The audit of _p usage shows various drivers assume inb_p is somehow atomic. Of course it isn't and the delay can be split from the I/O cycle causing a timing violation on chips that matter (eg this one) With the proposed use of udelay() for some _p delays this will cease to be a mostly theoretical bug (as the delay stall is unsplittable) and wants fixing. Lots of other drivers need fixing this way too. Signed-off-by: Alan Cox Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit 2d94dfc8c38edf63e91e48fd55c3a8822b6a9ced Merge: b47711b... 5c5e32c... Author: Linus Torvalds Date: Fri Jan 25 12:20:32 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6: mount options: fix jfs JFS: simplify types to get rid of sparse warning JFS: FIx one more plain integer as NULL pointer warning JFS: Remove defconfig ptr comparison to 0 JFS: use DIV_ROUND_UP where appropriate Remove unnecessary kmalloc casts in the jfs filesystem JFS is missing a memory barrier JFS: Make sure special inode data is written after journal is flushed JFS: clear PAGECACHE_TAG_DIRTY for no-write pages commit 6d082592b62689fb91578d0338d04a9f50991990 Author: Arjan van de Ven Date: Fri Jan 25 21:08:35 2008 +0100 sched: keep total / count stats in addition to the max for Right now, the linux kernel (with scheduler statistics enabled) keeps track of the maximum time a process is waiting to be scheduled. While the maximum is a very useful metric, tracking average and total is equally useful (at least for latencytop) to figure out the accumulated effect of scheduler delays. The accumulated effect is important to judge the performance impact of scheduler tuning/behavior. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 286100a6cf1c1f692e5f81d14b364ff12b7662f5 Author: Alexey Dobriyan Date: Fri Jan 25 21:08:34 2008 +0100 sched, futex: detach sched.h and futex.h Signed-off-by: Alexey Dobriyan Signed-off-by: Ingo Molnar commit 5973e5b954848c63855a357ad4ff39882e3904f7 Author: Peter Zijlstra Date: Fri Jan 25 21:08:34 2008 +0100 sched: fix: don't take a mutex from interrupt context print_cfs_stats is callable from interrupt context (sysrq), hence it should not take mutexes. Change it to use RCU since the task group data is RCU freed anyway. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 5fb5e6de55860a99c2d8fe7e0c8222d5c53d8464 Author: Nick Piggin Date: Fri Jan 25 21:08:34 2008 +0100 sched: print backtrace of running tasks too The attached patch is something really simple that can sometimes help in getting more info out of a hung system. Signed-off-by: Ingo Molnar commit 19ef9309273d26cb005cb23e6a370353dca91099 Author: Ingo Molnar Date: Fri Jan 25 21:08:34 2008 +0100 printk: use ktime_get() printk timestamps: use ktime_get(). Some platforms have a functioning clocksource function only after they are done with early bootup, so delay this until out of SYSTEM_BOOTING state. it's also inherently safe now, as any bugs in this area will be caught by the printk recursion checks. Signed-off-by: Ingo Molnar commit 90739081ef8d5495d50abba9c5d333be9acd872a Author: Ingo Molnar Date: Fri Jan 25 21:08:34 2008 +0100 softlockup: fix signedness fix softlockup tunables signedness. mark tunables read-mostly. Signed-off-by: Ingo Molnar commit 9745512ce79de686df354dc70a8d1a74d801892d Author: Arjan van de Ven Date: Fri Jan 25 21:08:34 2008 +0100 sched: latencytop support LatencyTOP kernel infrastructure; it measures latencies in the scheduler and tracks it system wide and per process. Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 326587b840785c60f5dc18557235a23bafefd620 Author: Dmitry Adamushko Date: Fri Jan 25 21:08:34 2008 +0100 sched: fix goto retry in pick_next_task_rt() looking at it one more time: (1) it looks to me that there is no need to call sched_rt_ratio_exceeded() from pick_next_rt_entity() - [ for CONFIG_FAIR_GROUP_SCHED ] queues with rt_rq->rt_throttled are not within this 'tree-like hierarchy' (or whatever we should call it :-) - there is also no need to re-check 'rt_rq->rt_time > ratio' at this point as 'rt_rq->rt_time' couldn't have been increased since the last call to update_curr_rt() (which obviously calls sched_rt_ratio_esceeded()) well, it might be that 'ratio' for this rt_rq has been re-configured (and the period over which this rt_rq was active has not yet been finished)... but I don't think we should really take this into account. (2) now pick_next_rt_entity() must never return NULL, so let's change pick_next_task_rt() accordingly. Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar commit e118adef232e637a8f091c1ded2fbf44fcf3ecc8 Author: Pavel Machek Date: Fri Jan 25 21:08:34 2008 +0100 timers: don't #error on higher HZ values For some crazy reason (trying to work around hw problem in i810) I wanted to use HZ around 4000. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit cc203d2422004498909c4886d1b94a2e388d973e Author: Guillaume Chazarain Date: Fri Jan 25 21:08:34 2008 +0100 sched: monitor clock underflows in /proc/sched_debug We monitor clock overflows, let's also monitor clock underflows. Signed-off-by: Guillaume Chazarain Signed-off-by: Ingo Molnar commit 782daeee3d596282bfee4cd9e976c86be0e194a8 Author: Guillaume Chazarain Date: Fri Jan 25 21:08:33 2008 +0100 sched: fix rq->clock warps on frequency changes sched: fix rq->clock warps on frequency changes Fix 2bacec8c318ca0418c0ee9ac662ee44207765dd4 (sched: touch softlockup watchdog after idling) that reintroduced warps on frequency changes. touch_softlockup_watchdog() calls __update_rq_clock that checks rq->clock for warps, so call it after adjusting rq->clock. Signed-off-by: Guillaume Chazarain Signed-off-by: Ingo Molnar commit 4f05b98d54b140ed3c5851d5d5156e9918c6305d Author: Michal Schmidt Date: Fri Jan 25 21:08:33 2008 +0100 sched: fix, always create kernel threads with normal priority Ensure that the kernel threads are created with the usual nice level and affinity even if kthreadd's properties were changed from the default by root. Signed-off-by: Michal Schmidt Signed-off-by: Ingo Molnar commit 1ad82fd547c716f96e544b477e0bdbfa2d647529 Author: Paolo Ciarrocchi Date: Fri Jan 25 21:08:33 2008 +0100 debug: clean up kernel/profile.c Before: total: 25 errors, 13 warnings, 602 lines checked After: total: 0 errors, 2 warnings, 601 lines checked No code changed: kernel/profile.o: text data bss dec hex filename 3048 236 24 3308 cec profile.o.before 3048 236 24 3308 cec profile.o.after md5: 2501d64748a4d350dffb11203e2a5182 profile.o.before.asm 2501d64748a4d350dffb11203e2a5182 profile.o.after.asm Signed-off-by: Paolo Ciarrocchi Signed-off-by: Ingo Molnar commit 6478d8800b75253b2a934ddcb734e13ade023ad0 Author: Ingo Molnar Date: Fri Jan 25 21:08:33 2008 +0100 sched: remove the !PREEMPT_BKL code remove the !PREEMPT_BKL code. this removes 160 lines of legacy code. Signed-off-by: Ingo Molnar commit 58b8a73ab8becfcaea84abc2a06038281efa4c8a Author: Ingo Molnar Date: Fri Jan 25 21:08:33 2008 +0100 sched: make PREEMPT_BKL the default make PREEMPT_BKL the default. precursor to removal of the !PREEMPT_BKL code. Signed-off-by: Ingo Molnar commit e14af7eeb47ea96c52741c5e5fa010d33daf6973 Author: Arjan van de Ven Date: Fri Jan 25 21:08:33 2008 +0100 debug: track and print last unloaded module in the oops trace Based on a suggestion from Andi: In various cases, the unload of a module may leave some bad state around that causes a kernel crash AFTER a module is unloaded; and it's then hard to find which module caused that. This patch tracks the last unloaded module, and prints this as part of the module list in the oops trace. Right now, only the last 1 module is tracked; I expect that this is enough for the vast majority of cases where this information matters; if it turns out that tracking more is important, we can always extend it to that. [ mingo@elte.hu: build fix ] Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 21aa9280b9f4e9e68d3fa8990df6c9d7fd71f994 Author: Arjan van de Ven Date: Fri Jan 25 21:08:33 2008 +0100 debug: show being-loaded/being-unloaded indicator for modules It's rather common that an oops/WARN_ON/BUG happens during the load or unload of a module. Unfortunatly, it's not always easy to see directly which module is being loaded/unloaded from the oops itself. Worse, it's not even always possible to ask the bug reporter, since there are so many components (udev etc) that auto-load modules that there's a good chance that even the reporter doesn't know which module this is. This patch extends the existing "show if it's tainting" print code, which is used as part of printing the modules in the oops/BUG/WARN_ON to include a "+" for "being loaded" and a "-" for "being unloaded". As a result this extension, the "taint_flags()" function gets renamed to "module_flags()" (and takes a module struct as argument, not a taint flags int). Signed-off-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 5a52dd50091b6a6e710a1293db741028f8cc5aac Author: Peter Zijlstra Date: Fri Jan 25 21:08:32 2008 +0100 sched: rt-watchdog: fix .rlim_max = RLIM_INFINITY Remove the curious logic to set it_sched_expires in the future. It useless because rt.timeout wouldn't be incremented anyway. Explicity check for RLIM_INFINITY as a test programm that had a 1s soft limit and a inf hard limit would SIGKILL at 1s. This is because RLIM_INFINITY+d-1 is d-2. Signed-off-by: Peter Zijlsta CC: Michal Schmidt Signed-off-by: Ingo Molnar commit 1020387f5f3b52929b387103cf976321981f8e26 Author: Peter Zijlstra Date: Fri Jan 25 21:08:32 2008 +0100 sched: rt-group: reduce rescheduling Only reschedule if the new group has a higher prio task. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 37bb6cb4097e29ffee970065b74499cbf10603a3 Author: Peter Zijlstra Date: Fri Jan 25 21:08:32 2008 +0100 hrtimer: unlock hrtimer_wakeup hrtimer_wakeup creates a base->lock rq->lock lock dependancy. Avoid this by switching to HRTIMER_CB_IRQSAFE_NO_SOFTIRQ which doesn't hold base->lock. This fully untangles hrtimer locks from the scheduler locks, and allows hrtimer usage in the scheduler proper. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit d3d74453c34f8fd87674a8cf5b8a327c68f22e99 Author: Peter Zijlstra Date: Fri Jan 25 21:08:31 2008 +0100 hrtimer: fixup the HRTIMER_CB_IRQSAFE_NO_SOFTIRQ fallback Currently all highres=off timers are run from softirq context, but HRTIMER_CB_IRQSAFE_NO_SOFTIRQ timers expect to run from irq context. Fix this up by splitting it similar to the highres=on case. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 2d44ae4d7135b9aee26439b3523b43473381bc5f Author: Peter Zijlstra Date: Fri Jan 25 21:08:31 2008 +0100 hrtimer: clean up cpu->base locking tricks In order to more easily allow for the scheduler to use timers, clean up the locking a bit. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 48d5e258216f1c7713633439beb98a38c7290649 Author: Peter Zijlstra Date: Fri Jan 25 21:08:31 2008 +0100 sched: rt throttling vs no_hz We need to teach no_hz about the rt throttling because its tick driven. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 614ee1f61f667b02165c1ae0c1357048dc6d94a0 Author: Mike Galbraith Date: Fri Jan 25 21:08:30 2008 +0100 sched: pull_rt_task() cleanup "goto out" is an odd way to spell "skip". Signed-off-by: Mike Galbraith Signed-off-by: Ingo Molnar commit 6f505b16425a51270058e4a93441fe64de3dd435 Author: Peter Zijlstra Date: Fri Jan 25 21:08:30 2008 +0100 sched: rt group scheduling Extend group scheduling to also cover the realtime classes. It uses the time limiting introduced by the previous patch to allow multiple realtime groups. The hard time limit is required to keep behaviour deterministic. The algorithms used make the realtime scheduler O(tg), linear scaling wrt the number of task groups. This is the worst case behaviour I can't seem to get out of, the avg. case of the algorithms can be improved, I focused on correctness and worst case. [ akpm@linux-foundation.org: move side-effects out of BUG_ON(). ] Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit fa85ae2418e6843953107cd6a06f645752829bc0 Author: Peter Zijlstra Date: Fri Jan 25 21:08:29 2008 +0100 sched: rt time limit Very simple time limit on the realtime scheduling classes. Allow the rq's realtime class to consume sched_rt_ratio of every sched_rt_period slice. If the class exceeds this quota the fair class will preempt the realtime class. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 8f4d37ec073c17e2d4aa8851df5837d798606d6f Author: Peter Zijlstra Date: Fri Jan 25 21:08:29 2008 +0100 sched: high-res preemption tick Use HR-timers (when available) to deliver an accurate preemption tick. The regular scheduler tick that runs at 1/HZ can be too coarse when nice level are used. The fairness system will still keep the cpu utilisation 'fair' by then delaying the task that got an excessive amount of CPU time but try to minimize this by delivering preemption points spot-on. The average frequency of this extra interrupt is sched_latency / nr_latency. Which need not be higher than 1/HZ, its just that the distribution within the sched_latency period is important. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 02b67cc3ba36bdba351d6c3a00593f4ec550d9d3 Author: Herbert Xu Date: Fri Jan 25 21:08:28 2008 +0100 sched: do not do cond_resched() when CONFIG_PREEMPT Why do we even have cond_resched when real preemption is on? It seems to be a waste of space and time. remove cond_resched with CONFIG_PREEMPT on. Signed-off-by: Ingo Molnar commit 03319ec8b06849051747a17aa2a0f9aba9277980 Author: Ingo Molnar Date: Fri Jan 25 21:08:28 2008 +0100 sched: documentation, whitespace fixes whitespace fixes. Signed-off-by: Ingo Molnar commit 78f2c7db6068fd6ef75b8c120f04a388848eacb5 Author: Peter Zijlstra Date: Fri Jan 25 21:08:27 2008 +0100 sched: SCHED_FIFO/SCHED_RR watchdog timer Introduce a new rlimit that allows the user to set a runtime timeout on real-time tasks their slice. Once this limit is exceeded the task will receive SIGXCPU. So it measures runtime since the last sleep. Input and ideas by Thomas Gleixner and Lennart Poettering. Signed-off-by: Peter Zijlstra CC: Lennart Poettering CC: Michael Kerrisk CC: Ulrich Drepper Signed-off-by: Ingo Molnar commit fa717060f1ab7eb6570f2fb49136f838fc9195a9 Author: Peter Zijlstra Date: Fri Jan 25 21:08:27 2008 +0100 sched: sched_rt_entity Move the task_struct members specific to rt scheduling together. A future optimization could be to put sched_entity and sched_rt_entity into a union. Signed-off-by: Peter Zijlstra CC: Srivatsa Vaddagiri Signed-off-by: Ingo Molnar commit 8eb703e4f33488bf75829564d51d427e17f7cd4c Author: Pavel Emelyanov Date: Fri Jan 25 21:08:26 2008 +0100 uids: merge multiple error paths in alloc_uid() into one There are already 4 error paths in alloc_uid() that do incremental rollbacks. I think it's time to merge them. This costs us 8 lines of code :) Maybe it would be better to merge this patch with the previous one, but I remember that some time ago I sent a similar patch (fixing the error path and cleaning it), but I was told to make two patches in such cases. Signed-off-by: Pavel Emelyanov Acked-by: Dhaval Giani Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit dc938520d2bf343b239795cfa24e4f44649358dc Author: Gregory Haskins Date: Fri Jan 25 21:08:26 2008 +0100 sched: dynamically update the root-domain span/online maps The baseline code statically builds the span maps when the domain is formed. Previous attempts at dynamically updating the maps caused a suspend-to-ram regression, which should now be fixed. Signed-off-by: Gregory Haskins CC: Gautham R Shenoy Signed-off-by: Ingo Molnar commit f85d6c7168887e6659f4d00fa5f34fa23dbde1bb Author: Paul E. McKenney Date: Fri Jan 25 21:08:25 2008 +0100 Preempt-RCU: update RCU Documentation. This patch updates the RCU documentation to reflect preemptible RCU as well as recent publications. Signed-off-by: Paul E. McKenney Signed-off-by: Gautham R Shenoy Reviewed-by: Steven Rostedt Signed-off-by: Ingo Molnar commit eaf649e9fe6685f4c5a392cd0e16df5fd6660b7c Author: Paul E. McKenney Date: Fri Jan 25 21:08:25 2008 +0100 Preempt-RCU: CPU Hotplug handling This patch allows preemptible RCU to tolerate CPU-hotplug operations. It accomplishes this by maintaining a local copy of a map of online CPUs, which it accesses under its own lock. Signed-off-by: Gautham R Shenoy Signed-off-by: Paul E. McKenney Reviewed-by: Steven Rostedt Signed-off-by: Ingo Molnar commit e260be673a15b6125068270e0216a3bfbfc12f87 Author: Paul E. McKenney Date: Fri Jan 25 21:08:24 2008 +0100 Preempt-RCU: implementation This patch implements a new version of RCU which allows its read-side critical sections to be preempted. It uses a set of counter pairs to keep track of the read-side critical sections and flips them when all tasks exit read-side critical section. The details of this implementation can be found in this paper - http://www.rdrop.com/users/paulmck/RCU/OLSrtRCU.2006.08.11a.pdf and the article- http://lwn.net/Articles/253651/ This patch was developed as a part of the -rt kernel development and meant to provide better latencies when read-side critical sections of RCU don't disable preemption. As a consequence of keeping track of RCU readers, the readers have a slight overhead (optimizations in the paper). This implementation co-exists with the "classic" RCU implementations and can be switched to at compiler. Also includes RCU tracing summarized in debugfs. [ akpm@linux-foundation.org: build fixes on non-preempt architectures ] Signed-off-by: Gautham R Shenoy Signed-off-by: Dipankar Sarma Signed-off-by: Paul E. McKenney Reviewed-by: Steven Rostedt Signed-off-by: Ingo Molnar commit e0ecfa7917cafe72f4a75f87e8bb5d8d51dc534f Author: Paul E. McKenney Date: Fri Jan 25 21:08:24 2008 +0100 Preempt-RCU: fix rcu_barrier for preemptive environment. Fix rcu_barrier() to work properly in preemptive kernel environment. Also, the ordering of callback must be preserved while moving callbacks to another CPU during CPU hotplug. Signed-off-by: Gautham R Shenoy Signed-off-by: Dipankar Sarma Signed-off-by: Paul E. McKenney Reviewed-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 01c1c660f4b8086cad7a62345fd04290f3d82c8f Author: Paul E. McKenney Date: Fri Jan 25 21:08:24 2008 +0100 Preempt-RCU: reorganize RCU code into rcuclassic.c and rcupdate.c This patch re-organizes the RCU code to enable multiple implementations of RCU. Users of RCU continues to include rcupdate.h and the RCU interfaces remain the same. This is in preparation for subsequently merging the preemptible RCU implementation. Signed-off-by: Gautham R Shenoy Signed-off-by: Dipankar Sarma Signed-off-by: Paul E. McKenney Reviewed-by: Steven Rostedt Signed-off-by: Ingo Molnar commit c2d727aa2ff17a1c8e5ed1e5e231bb8579b27e82 Author: Dipankar Sarma Date: Fri Jan 25 21:08:23 2008 +0100 Preempt-RCU: Use softirq instead of tasklets for This patch makes RCU use softirq instead of tasklets. It also adds a memory barrier after raising the softirq inorder to ensure that the cpu sees the most recently updated value of rcu->cur while processing callbacks. The discussion of the related theoretical race pointed out by James Huang can be found here --> http://lkml.org/lkml/2007/11/20/603 Signed-off-by: Gautham R Shenoy Signed-off-by: Steven Rostedt Signed-off-by: Dipankar Sarma Reviewed-by: Steven Rostedt Signed-off-by: Ingo Molnar commit c49443c538c1bbf50eda27e4a3711e9fc15176b0 Author: Gregory Haskins Date: Fri Jan 25 21:08:23 2008 +0100 sched: remove some old cpuset logic We had support for overlapping cpuset based rto logic in early prototypes that is no longer used, so remove it. Signed-off-by: Gregory Haskins Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit cdc8eb984ce47a7c90a049f45229f7b0d59ba781 Author: Gregory Haskins Date: Fri Jan 25 21:08:23 2008 +0100 sched: RT-balance, only adjust overload state when changing The overload set/clears were originally idempotent when this logic was first implemented. But that is no longer true due to the addition of the atomic counter and this logic was never updated to work properly with that change. So only adjust the overload state if it is actually changing to avoid getting out of sync. Signed-off-by: Gregory Haskins Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit cb46984504048db946cd551c261df4e70d59a8ea Author: Steven Rostedt Date: Fri Jan 25 21:08:22 2008 +0100 sched: RT-balance, add new methods to sched_class Dmitry Adamushko found that the current implementation of the RT balancing code left out changes to the sched_setscheduler and rt_mutex_setprio. This patch addresses this issue by adding methods to the schedule classes to handle being switched out of (switched_from) and being switched into (switched_to) a sched_class. Also a method for changing of priorities is also added (prio_changed). This patch also removes some duplicate logic between rt_mutex_setprio and sched_setscheduler. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 9a897c5a6701bcb6f099f7ca20194999102729fd Author: Steven Rostedt Date: Fri Jan 25 21:08:22 2008 +0100 sched: RT-balance, replace hooks with pre/post schedule and wakeup methods To make the main sched.c code more agnostic to the schedule classes. Instead of having specific hooks in the schedule code for the RT class balancing. They are replaced with a pre_schedule, post_schedule and task_wake_up methods. These methods may be used by any of the classes but currently, only the sched_rt class implements them. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 4bf0b77158d581c952af237aec79d0604b78fe27 Author: Peter Zijlstra Date: Fri Jan 25 21:08:21 2008 +0100 sched: remove do_div() from __sched_slice() Yanmin Zhang noticed a nice optimization: p = l * nr / nl, nl = l/g -> p = g * nr which eliminates a do_div() from __sched_period(). Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 5d2f5a616d65e3c08acde3195694c4ab8afbc1b7 Author: Dmitry Adamushko Date: Fri Jan 25 21:08:21 2008 +0100 sched: get rid of 'new_cpu' in try_to_wake_up() Clean-up try_to_wake_up(). Get rid of the 'new_cpu' variable in try_to_wake_up() [ that's, one #ifdef section less ]. Also remove a few redundant blank lines. Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar commit 9ec3b77e11b9398ab40b492c4fde7d8aac04a718 Author: Dmitry Adamushko Date: Fri Jan 25 21:08:21 2008 +0100 sched: no need for 'affine wakeup' balancing No need to do a check for 'affine wakeup and passive balancing possibilities' in select_task_rq_fair() when task_cpu(p) == this_cpu. I guess, this part got missed upon introduction of per-sched_class select_task_rq() in try_to_wake_up(). Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar commit 32525d022ad52a5c14e80e130260431e16e294b6 Author: Ingo Molnar Date: Fri Jan 25 21:08:20 2008 +0100 sched: whitespace cleanups in topology.h whitespace cleanups in topology.h. Signed-off-by: Ingo Molnar commit 52d853431e8d9dc17ba94792123a3fe2bc039831 Author: Ingo Molnar Date: Fri Jan 25 21:08:20 2008 +0100 sched: reactivate fork balancing reactivate fork balancing. Signed-off-by: Ingo Molnar commit b913176917399e92e6f741672038c73d7ce93be5 Author: Ingo Molnar Date: Fri Jan 25 21:08:19 2008 +0100 sched: add credits for RT balancing improvements add credits for RT balancing improvements. Signed-off-by: Ingo Molnar commit 0eab9146571dfa9b50ea952ec2ab27d591f26b63 Author: Ingo Molnar Date: Fri Jan 25 21:08:19 2008 +0100 sched: style cleanup, #2 style cleanup of various changes that were done recently. no code changed: text data bss dec hex filename 26399 2578 48 29025 7161 sched.o.before 26399 2578 48 29025 7161 sched.o.after Signed-off-by: Ingo Molnar commit d7876a08db50895ed9808ede4a259cccf65eba47 Author: Ingo Molnar Date: Fri Jan 25 21:08:19 2008 +0100 sched: remove unused JIFFIES_TO_NS() macro remove unused JIFFIES_TO_NS() macro. Signed-off-by: Ingo Molnar commit bdd7c81b4973e72b670eff6b5725bab189b723d6 Author: Ingo Molnar Date: Fri Jan 25 21:08:18 2008 +0100 sched: fix sched_rt.c:join/leave_domain fix build bug in sched_rt.c:join/leave_domain and make them only be included on SMP builds. Signed-off-by: Ingo Molnar commit 637f50851b57a32f7ec67c50fc16f1601ab1a87a Author: Gregory Haskins Date: Fri Jan 25 21:08:18 2008 +0100 sched: only balance our RT tasks within our domain We move the rt-overload data as the first global to per-domain reclassification. This limits the scope of overload related cache-line bouncing to stay with a specified partition instead of affecting all cpus in the system. Finally, we limit the scope of find_lowest_cpu searches to the domain instead of the entire system. Note that we would always respect domain boundaries even without this patch, but we first would scan potentially all cpus before whittling the list down. Now we can avoid looking at RQs that are out of scope, again reducing cache-line hits. Note: In some cases, task->cpus_allowed will effectively reduce our search to within our domain. However, I believe there are cases where the cpus_allowed mask may be all ones and therefore we err on the side of caution. If it can be optimized later, so be it. Signed-off-by: Gregory Haskins CC: Christoph Lameter Signed-off-by: Ingo Molnar commit 57d885fea0da0e9541d7730a9e1dcf734981a173 Author: Gregory Haskins Date: Fri Jan 25 21:08:18 2008 +0100 sched: add sched-domain roots We add the notion of a root-domain which will be used later to rescope global variables to per-domain variables. Each exclusive cpuset essentially defines an island domain by fully partitioning the member cpus from any other cpuset. However, we currently still maintain some policy/state as global variables which transcend all cpusets. Consider, for instance, rt-overload state. Whenever a new exclusive cpuset is created, we also create a new root-domain object and move each cpu member to the root-domain's span. By default the system creates a single root-domain with all cpus as members (mimicking the global state we have today). We add some plumbing for storing class specific data in our root-domain. Whenever a RQ is switching root-domains (because of repartitioning) we give each sched_class the opportunity to remove any state from its old domain and add state to the new one. This logic doesn't have any clients yet but it will later in the series. Signed-off-by: Gregory Haskins CC: Christoph Lameter CC: Paul Jackson CC: Simon Derr Signed-off-by: Ingo Molnar commit 7f51f298204ec0528422cd9b23feac12612c5665 Author: Ingo Molnar Date: Fri Jan 25 21:08:17 2008 +0100 sched: clean up schedule_balance_rt() clean up schedule_balance_rt(). Signed-off-by: Ingo Molnar commit 80bf3171dcdf0f5d236e2e48afe2a95c7ce23879 Author: Ingo Molnar Date: Fri Jan 25 21:08:17 2008 +0100 sched: clean up pull_rt_task() clean up pull_rt_task(). Signed-off-by: Ingo Molnar commit 00597c3ed78e424bdafff123565c078d8b6088cf Author: Ingo Molnar Date: Fri Jan 25 21:08:16 2008 +0100 sched: remove leftover debugging remove leftover debugging. Signed-off-by: Ingo Molnar commit 6e1938d3ad58c940ec4119d387dd92a787cb238c Author: Ingo Molnar Date: Fri Jan 25 21:08:16 2008 +0100 sched: remove rt_overload() remove rt_overload() - it's an unnecessary indirection. Signed-off-by: Ingo Molnar commit 84de4274893691aa8c471a1f7336d51e555d23a0 Author: Ingo Molnar Date: Fri Jan 25 21:08:15 2008 +0100 sched: clean up kernel/sched_rt.c clean up whitespace damage and missing comments in kernel/sched_rt.c. Signed-off-by: Ingo Molnar commit deeeccd41bd94a9db133d7b923f9a7479a47305d Author: Ingo Molnar Date: Fri Jan 25 21:08:15 2008 +0100 sched: clean up overlong line in kernel/sched_debug.c clean up overlong line in kernel/sched_debug.c. Signed-off-by: Ingo Molnar commit 4df64c0bfb7e0e260d10ebc005f7d0ba1308eed7 Author: Ingo Molnar Date: Fri Jan 25 21:08:15 2008 +0100 sched: clean up find_lock_lowest_rq() clean up find_lock_lowest_rq(). Signed-off-by: Ingo Molnar commit 79064fbf75796c4c6a53e40729dbe52f789a91fd Author: Ingo Molnar Date: Fri Jan 25 21:08:14 2008 +0100 sched: clean up pick_next_highest_task_rt() clean up pick_next_highest_task_rt(). Signed-off-by: Ingo Molnar commit 0d1311a536a0face6267e7346223f2e68b002018 Author: Steven Rostedt Date: Fri Jan 25 21:08:14 2008 +0100 sched: RT-balance on new task rt-balance when creating new tasks. Signed-off-by: Ingo Molnar commit 610bf05645a7ac6ea104a474e328eeaaea148870 Author: Steven Rostedt Date: Fri Jan 25 21:08:13 2008 +0100 sched: RT-balance, optimize cpu search This patch removes several cpumask operations by keeping track of the first of the CPUS that is of the lowest priority. When the search for the lowest priority runqueue is completed, all the bits up to the first CPU with the lowest priority runqueue is cleared. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 06f90dbd7610d51549004ea9c2ada337831eb292 Author: Gregory Haskins Date: Fri Jan 25 21:08:13 2008 +0100 sched: RT-balance, optimize We can cheaply track the number of bits set in the cpumask for the lowest priority CPUs. Therefore, compute the mask's weight and use it to skip the optimal domain search logic when there is only one CPU available. Signed-off-by: Gregory Haskins Signed-off-by: Ingo Molnar commit 17b3279b48835eb522d842eae16f541da3729c8a Author: Gregory Haskins Date: Fri Jan 25 21:08:13 2008 +0100 sched: break out early if RT task cannot be migrated We don't need to bother searching if the task cannot be migrated Signed-off-by: Gregory Haskins Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit e1f47d891c0f00769d6d40ac5740f943e998d089 Author: Steven Rostedt Date: Fri Jan 25 21:08:12 2008 +0100 sched: RT-balance, avoid overloading This patch changes the searching for a run queue by a waking RT task to try to pick another runqueue if the currently running task is an RT task. The reason is that RT tasks behave different than normal tasks. Preempting a normal task to run a RT task to keep its cache hot is fine, because the preempted non-RT task may wait on that same runqueue to run again unless the migration thread comes along and pulls it off. RT tasks behave differently. If one is preempted, it makes an active effort to continue to run. So by having a high priority task preempt a lower priority RT task, that lower RT task will then quickly try to run on another runqueue. This will cause that lower RT task to replace its nice hot cache (and TLB) with a completely cold one. This is for the hope that the new high priority RT task will keep its cache hot. Remeber that this high priority RT task was just woken up. So it may likely have been sleeping for several milliseconds, and will end up with a cold cache anyway. RT tasks run till they voluntarily stop, or are preempted by a higher priority task. This means that it is unlikely that the woken RT task will have a hot cache to wake up to. So pushing off a lower RT task is just killing its cache for no good reason. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit a22d7fc187ed996b66d8439db27b2303f79a8e7b Author: Gregory Haskins Date: Fri Jan 25 21:08:12 2008 +0100 sched: wake-balance fixes We have logic to detect whether the system has migratable tasks, but we are not using it when deciding whether to push tasks away. So we add support for considering this new information. Signed-off-by: Gregory Haskins Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 6e1254d2c41215da27025add8900ed187bca121d Author: Gregory Haskins Date: Fri Jan 25 21:08:11 2008 +0100 sched: optimize RT affinity The current code base assumes a relatively flat CPU/core topology and will route RT tasks to any CPU fairly equally. In the real world, there are various toplogies and affinities that govern where a task is best suited to run with the smallest amount of overhead. NUMA and multi-core CPUs are prime examples of topologies that can impact cache performance. Fortunately, linux is already structured to represent these topologies via the sched_domains interface. So we change our RT router to consult a combination of topology and affinity policy to best place tasks during migration. Signed-off-by: Gregory Haskins Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 318e0893ce3f524ca045f9fd9dfd567c0a6f9446 Author: Gregory Haskins Date: Fri Jan 25 21:08:10 2008 +0100 sched: pre-route RT tasks on wakeup In the original patch series that Steven Rostedt and I worked on together, we both took different approaches to low-priority wakeup path. I utilized "pre-routing" (push the task away to a less important RQ before activating) approach, while Steve utilized a "post-routing" approach. The advantage of my approach is that you avoid the overhead of a wasted activate/deactivate cycle and peripherally related burdens. The advantage of Steve's method is that it neatly solves an issue preventing a "pull" optimization from being deployed. In the end, we ended up deploying Steve's idea. But it later dawned on me that we could get the best of both worlds by deploying both ideas together, albeit slightly modified. The idea is simple: Use a "light-weight" lookup for pre-routing, since we only need to approximate a good home for the task. And we also retain the post-routing push logic to clean up any inaccuracies caused by a condition of "priority mistargeting" caused by the lightweight lookup. Most of the time, the pre-routing should work and yield lower overhead. In the cases where it doesnt, the post-router will bat cleanup. Signed-off-by: Gregory Haskins Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 2de0b4639f4b1b6bfe31f795e5855f041f177170 Author: Gregory Haskins Date: Fri Jan 25 21:08:10 2008 +0100 sched: RT balancing: include current CPU It doesn't hurt if we allow the current CPU to be included in the search. We will just simply skip it later if the current CPU turns out to be the lowest. We will use this later in the series Signed-off-by: Gregory Haskins Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 07b4032c9e505e2a1fbe7703aff64a153c3249be Author: Gregory Haskins Date: Fri Jan 25 21:08:10 2008 +0100 sched: break out search for RT tasks Isolate the search logic into a function so that it can be used later in places other than find_locked_lowest_rq(). Signed-off-by: Gregory Haskins Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit e7693a362ec84bb5b6fd441d8a8b4b9d568a7a0c Author: Gregory Haskins Date: Fri Jan 25 21:08:09 2008 +0100 sched: de-SCHED_OTHER-ize the RT path The current wake-up code path tries to determine if it can optimize the wake-up to "this_cpu" by computing load calculations. The problem is that these calculations are only relevant to SCHED_OTHER tasks where load is king. For RT tasks, priority is king. So the load calculation is completely wasted bandwidth. Therefore, we create a new sched_class interface to help with pre-wakeup routing decisions and move the load calculation as a function of CFS task's class. Signed-off-by: Gregory Haskins Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 697f0a487f294e634a342764472b79375bb3158a Author: Gregory Haskins Date: Fri Jan 25 21:08:09 2008 +0100 sched: clean up this_rq use in kernel/sched_rt.c "this_rq" is normally used to denote the RQ on the current cpu (i.e. "cpu_rq(this_cpu)"). So clean up the usage of this_rq to be more consistent with the rest of the code. Signed-off-by: Gregory Haskins Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 73fe6aae84400e2b475e2a1dc4e8592cd3ed6e69 Author: Gregory Haskins Date: Fri Jan 25 21:08:07 2008 +0100 sched: add RT-balance cpu-weight Some RT tasks (particularly kthreads) are bound to one specific CPU. It is fairly common for two or more bound tasks to get queued up at the same time. Consider, for instance, softirq_timer and softirq_sched. A timer goes off in an ISR which schedules softirq_thread to run at RT50. Then the timer handler determines that it's time to smp-rebalance the system so it schedules softirq_sched to run. So we are in a situation where we have two RT50 tasks queued, and the system will go into rt-overload condition to request other CPUs for help. This causes two problems in the current code: 1) If a high-priority bound task and a low-priority unbounded task queue up behind the running task, we will fail to ever relocate the unbounded task because we terminate the search on the first unmovable task. 2) We spend precious futile cycles in the fast-path trying to pull overloaded tasks over. It is therefore optimial to strive to avoid the overhead all together if we can cheaply detect the condition before overload even occurs. This patch tries to achieve this optimization by utilizing the hamming weight of the task->cpus_allowed mask. A weight of 1 indicates that the task cannot be migrated. We will then utilize this information to skip non-migratable tasks and to eliminate uncessary rebalance attempts. We introduce a per-rq variable to count the number of migratable tasks that are currently running. We only go into overload if we have more than one rt task, AND at least one of them is migratable. In addition, we introduce a per-task variable to cache the cpus_allowed weight, since the hamming calculation is probably relatively expensive. We only update the cached value when the mask is updated which should be relatively infrequent, especially compared to scheduling frequency in the fast path. Signed-off-by: Gregory Haskins Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit c7a1e46aa9782a947cf2ed506245d43396dbf991 Author: Steven Rostedt Date: Fri Jan 25 21:08:07 2008 +0100 sched: disable standard balancer for RT tasks Since we now take an active approach to load balancing, we don't need to balance RT tasks via the normal task balancer. In fact, this code was found to pull RT tasks away from CPUS that the active movement performed, resulting in large latencies. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 4642dafdf93dc7d66ee33437b93a5e6b8cea20d2 Author: Steven Rostedt Date: Fri Jan 25 21:08:07 2008 +0100 sched: push RT tasks from overloaded CPUs This patch adds pushing of overloaded RT tasks from a runqueue that is having tasks (most likely RT tasks) added to the run queue. TODO: We don't cover the case of waking of new RT tasks (yet). Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit f65eda4f789168ba5ff3fa75546c29efeed19f58 Author: Steven Rostedt Date: Fri Jan 25 21:08:07 2008 +0100 sched: pull RT tasks from overloaded runqueues This patch adds the algorithm to pull tasks from RT overloaded runqueues. When a pull RT is initiated, all overloaded runqueues are examined for a RT task that is higher in prio than the highest prio task queued on the target runqueue. If another runqueue holds a RT task that is of higher prio than the highest prio task on the target runqueue is found it is pulled to the target runqueue. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 4fd29176b7cd24909f8ceba2105cb3ae2857b90c Author: Steven Rostedt Date: Fri Jan 25 21:08:06 2008 +0100 sched: add rt-overload tracking This patch adds an RT overload accounting system. When a runqueue has more than one RT task queued, it is marked as overloaded. That is that it is a candidate to have RT tasks pulled from it. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit e8fa136262e1121288bb93befe2295928ffd240d Author: Steven Rostedt Date: Fri Jan 25 21:08:05 2008 +0100 sched: add RT task pushing This patch adds an algorithm to push extra RT tasks off a run queue to other CPU runqueues. When more than one RT task is added to a run queue, this algorithm takes an assertive approach to push the RT tasks that are not running onto other run queues that have lower priority. The way this works is that the highest RT task that is not running is looked at and we examine the runqueues on the CPUS for that tasks affinity mask. We find the runqueue with the lowest prio in the CPU affinity of the picked task, and if it is lower in prio than the picked task, we push the task onto that CPU runqueue. We continue pushing RT tasks off the current runqueue until we don't push any more. The algorithm stops when the next highest RT task can't preempt any other processes on other CPUS. TODO: The algorithm may stop when there are still RT tasks that can be migrated. Specifically, if the highest non running RT task CPU affinity is restricted to CPUs that are running higher priority tasks, there may be a lower priority task queued that has an affinity with a CPU that is running a lower priority task that it could be migrated to. This patch set does not address this issue. Note: checkpatch reveals two over 80 character instances. I'm not sure that breaking them up will help visually, so I left them as is. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 764a9d6fe4b52995c8aba277e3634385699354f4 Author: Steven Rostedt Date: Fri Jan 25 21:08:04 2008 +0100 sched: track highest prio task queued This patch adds accounting to each runqueue to keep track of the highest prio task queued on the run queue. We only care about RT tasks, so if the run queue does not contain any active RT tasks its priority will be considered MAX_RT_PRIO. This information will be used for later patches. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 63489e45e265f64c368882be1f01c42dec5d984c Author: Steven Rostedt Date: Fri Jan 25 21:08:03 2008 +0100 sched: count # of queued RT tasks This patch adds accounting to keep track of the number of RT tasks running on a runqueue. This information will be used in later patches. Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 82a1fcb90287052aabfa235e7ffc693ea003fe69 Author: Ingo Molnar Date: Fri Jan 25 21:08:02 2008 +0100 softlockup: automatically detect hung TASK_UNINTERRUPTIBLE tasks this patch extends the soft-lockup detector to automatically detect hung TASK_UNINTERRUPTIBLE tasks. Such hung tasks are printed the following way: ------------------> INFO: task prctl:3042 blocked for more than 120 seconds. "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message prctl D fd5e3793 0 3042 2997 f6050f38 00000046 00000001 fd5e3793 00000009 c06d8264 c06dae80 00000286 f6050f40 f6050f00 f7d34d90 f7d34fc8 c1e1be80 00000001 f6050000 00000000 f7e92d00 00000286 f6050f18 c0489d1a f6050f40 00006605 00000000 c0133a5b Call Trace: [] schedule_timeout+0x6d/0x8b [] schedule_timeout_uninterruptible+0x15/0x17 [] msleep+0x10/0x16 [] sys_prctl+0x30/0x1e2 [] sysenter_past_esp+0x5f/0xa5 ======================= 2 locks held by prctl/3042: #0: (&sb->s_type->i_mutex_key#5){--..}, at: [] do_fsync+0x38/0x7a #1: (jbd_handle){--..}, at: [] journal_start+0xc7/0xe9 <------------------ the current default timeout is 120 seconds. Such messages are printed up to 10 times per bootup. If the system has crashed already then the messages are not printed. if lockdep is enabled then all held locks are printed as well. this feature is a natural extension to the softlockup-detector (kernel locked up without scheduling) and to the NMI watchdog (kernel locked up with IRQs disabled). [ Gautham R Shenoy : CPU hotplug fixes. ] [ Andrew Morton : build warning fix. ] Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven commit d0d23b5432fe61229dd3641c5e94d4130bc4e61b Author: Ingo Molnar Date: Fri Jan 25 21:08:02 2008 +0100 cpu-hotplug: fix build on !CONFIG_SMP fix build on !CONFIG_SMP. Signed-off-by: Ingo Molnar commit 95402b3829010fe1e208f44e4a158ccade88969a Author: Gautham R Shenoy Date: Fri Jan 25 21:08:02 2008 +0100 cpu-hotplug: replace per-subsystem mutexes with get_online_cpus() This patch converts the known per-subsystem mutexes to get_online_cpus put_online_cpus. It also eliminates the CPU_LOCK_ACQUIRE and CPU_LOCK_RELEASE hotplug notification events. Signed-off-by: Gautham R Shenoy Signed-off-by: Ingo Molnar commit 86ef5c9a8edd78e6bf92879f32329d89b2d55b5a Author: Gautham R Shenoy Date: Fri Jan 25 21:08:02 2008 +0100 cpu-hotplug: replace lock_cpu_hotplug() with get_online_cpus() Replace all lock_cpu_hotplug/unlock_cpu_hotplug from the kernel and use get_online_cpus and put_online_cpus instead as it highlights the refcount semantics in these operations. The new API guarantees protection against the cpu-hotplug operation, but it doesn't guarantee serialized access to any of the local data structures. Hence the changes needs to be reviewed. In case of pseries_add_processor/pseries_remove_processor, use cpu_maps_update_begin()/cpu_maps_update_done() as we're modifying the cpu_present_map there. Signed-off-by: Gautham R Shenoy Signed-off-by: Ingo Molnar commit d221938c049f4845da13c8593132595a6b9222a8 Author: Gautham R Shenoy Date: Fri Jan 25 21:08:01 2008 +0100 cpu-hotplug: refcount based cpu hotplug This patch implements a Refcount + Waitqueue based model for cpu-hotplug. Now, a thread which wants to prevent cpu-hotplug, will bump up a global refcount and the thread which wants to perform a cpu-hotplug operation will block till the global refcount goes to zero. The readers, if any, during an ongoing cpu-hotplug operation are blocked until the cpu-hotplug operation is over. Signed-off-by: Gautham R Shenoy Signed-off-by: Paul Jackson [For !CONFIG_HOTPLUG_CPU ] Signed-off-by: Ingo Molnar 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 The current load balancing scheme isn't good enough for precise group fairness. For example: on a 8-cpu system, I created 3 groups as under: a = 8 tasks (cpu.shares = 1024) b = 4 tasks (cpu.shares = 1024) c = 3 tasks (cpu.shares = 1024) a, b and c are task groups that have equal weight. We would expect each of the groups to receive 33.33% of cpu bandwidth under a fair scheduler. This is what I get with the latest scheduler git tree: Signed-off-by: Ingo Molnar -------------------------------------------------------------------------------- Col1 | Col2 | Col3 | Col4 ------|---------|-------|------------------------------------------------------- a | 277.676 | 57.8% | 54.1% 54.1% 54.1% 54.2% 56.7% 62.2% 62.8% 64.5% b | 116.108 | 24.2% | 47.4% 48.1% 48.7% 49.3% c | 86.326 | 18.0% | 47.5% 47.9% 48.5% -------------------------------------------------------------------------------- Explanation of o/p: Col1 -> Group name Col2 -> Cumulative execution time (in seconds) received by all tasks of that group in a 60sec window across 8 cpus Col3 -> CPU bandwidth received by the group in the 60sec window, expressed in percentage. Col3 data is derived as: Col3 = 100 * Col2 / (NR_CPUS * 60) Col4 -> CPU bandwidth received by each individual task of the group. Col4 = 100 * cpu_time_recd_by_task / 60 [I can share the test case that produces a similar o/p if reqd] The deviation from desired group fairness is as below: a = +24.47% b = -9.13% c = -15.33% which is quite high. After the patch below is applied, here are the results: -------------------------------------------------------------------------------- Col1 | Col2 | Col3 | Col4 ------|---------|-------|------------------------------------------------------- a | 163.112 | 34.0% | 33.2% 33.4% 33.5% 33.5% 33.7% 34.4% 34.8% 35.3% b | 156.220 | 32.5% | 63.3% 64.5% 66.1% 66.5% c | 160.653 | 33.5% | 85.8% 90.6% 91.4% -------------------------------------------------------------------------------- Deviation from desired group fairness is as below: a = +0.67% b = -0.83% c = +0.17% which is far better IMO. Most of other runs have yielded a deviation within +-2% at the most, which is good. Why do we see bad (group) fairness with current scheuler? ========================================================= Currently cpu's weight is just the summation of individual task weights. This can yield incorrect results. For ex: consider three groups as below on a 2-cpu system: CPU0 CPU1 --------------------------- A (10) B(5) C(5) --------------------------- Group A has 10 tasks, all on CPU0, Group B and C have 5 tasks each all of which are on CPU1. Each task has the same weight (NICE_0_LOAD = 1024). The current scheme would yield a cpu weight of 10240 (10*1024) for each cpu and the load balancer will think both CPUs are perfectly balanced and won't move around any tasks. This, however, would yield this bandwidth: A = 50% B = 25% C = 25% which is not the desired result. What's changing in the patch? ============================= - How cpu weights are calculated when CONFIF_FAIR_GROUP_SCHED is defined (see below) - API Change - Two tunables introduced in sysfs (under SCHED_DEBUG) to control the frequency at which the load balance monitor thread runs. The basic change made in this patch is how cpu weight (rq->load.weight) is calculated. Its now calculated as the summation of group weights on a cpu, rather than summation of task weights. Weight exerted by a group on a cpu is dependent on the shares allocated to it and also the number of tasks the group has on that cpu compared to the total number of (runnable) tasks the group has in the system. Let, W(K,i) = Weight of group K on cpu i T(K,i) = Task load present in group K's cfs_rq on cpu i T(K) = Total task load of group K across various cpus S(K) = Shares allocated to group K NRCPUS = Number of online cpus in the scheduler domain to which group K is assigned. Then, W(K,i) = S(K) * NRCPUS * T(K,i) / T(K) A load balance monitor thread is created at bootup, which periodically runs and adjusts group's weight on each cpu. To avoid its overhead, two min/max tunables are introduced (under SCHED_DEBUG) to control the rate at which it runs. Fixes from: Peter Zijlstra - don't start the load_balance_monitor when there is only a single cpu. - rename the kthread because its currently longer than TASK_COMM_LEN Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Ingo Molnar commit a183561567b5446d3362b4839bd4f744f4b2af1e Author: Srivatsa Vaddagiri Date: Fri Jan 25 21:08:00 2008 +0100 sched: introduce a mutex and corresponding API to serialize access to doms_curarray doms_cur[] array represents various scheduling domains which are mutually exclusive. Currently cpusets code can modify this array (by calling partition_sched_domains()) as a result of user modifying sched_load_balance flag for various cpusets. This patch introduces a mutex and corresponding API (only when CONFIG_FAIR_GROUP_SCHED is defined) which allows a reader to safely read the doms_cur[] array w/o worrying abt concurrent modifications to the array. The fair group scheduler code (introduced in next patch of this series) makes use of this mutex to walk thr' doms_cur[] array while rebalancing shares of task groups across cpus. Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Ingo Molnar commit 58e2d4ca581167c2a079f4ee02be2f0bc52e8729 Author: Srivatsa Vaddagiri Date: Fri Jan 25 21:08:00 2008 +0100 sched: group scheduling, change how cpu load is calculated This patch changes how the cpu load exerted by fair_sched_class tasks is calculated. Load exerted by fair_sched_class tasks on a cpu is now a summation of the group weights, rather than summation of task weights. Weight exerted by a group on a cpu is dependent on the shares allocated to it. This version of patch has a minor impact on code size, but should have no runtime/functional impact for !CONFIG_FAIR_GROUP_SCHED. Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Ingo Molnar commit ec2c507fe8c8fa3c04fc6cb99a382a965c477379 Author: Srivatsa Vaddagiri Date: Fri Jan 25 21:07:59 2008 +0100 sched: group scheduling, minor fixes Minor bug fixes for the group scheduler: - Use a mutex to serialize add/remove of task groups and also when changing shares of a task group. Use the same mutex when printing cfs_rq debugging stats for various task groups. - Use list_for_each_entry_rcu in for_each_leaf_cfs_rq macro (when walking task group list) Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Ingo Molnar commit 93f992ccc008dd4030381caeebb252e85e66684b Author: Srivatsa Vaddagiri Date: Fri Jan 25 21:07:59 2008 +0100 sched: group scheduling code cleanup Minor cleanups: - Fix coding style - remove obsolete comment Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Ingo Molnar commit 86faf39d0fc04272b05fab1db6d683f3ac7199d1 Author: Ingo Molnar Date: Fri Jan 25 21:07:59 2008 +0100 sched: remove printk_clock references from ia64 remove remaining printk_clock references from ia64. Signed-off-by: Ingo Molnar commit b842271fbb9c8b5fd0e1c3e1895a3b67ba5bcc54 Author: Ingo Molnar Date: Fri Jan 25 21:07:59 2008 +0100 sched: remove printk_clock() printk_clock() is obsolete - it has been replaced with cpu_clock(). Signed-off-by: Ingo Molnar commit d713f519332e029d43eca8462629314eee1ded86 Author: Ingo Molnar Date: Fri Jan 25 21:07:58 2008 +0100 sched: fix CONFIG_PRINT_TIME's reliance on sched_clock() Stefano Brivio reported weird printk timestamp behavior during CPU frequency changes: http://bugzilla.kernel.org/show_bug.cgi?id=9475 fix CONFIG_PRINT_TIME's reliance on sched_clock() and use cpu_clock() instead. Reported-and-bisected-by: Stefano Brivio Signed-off-by: Ingo Molnar commit 32a76006683f7b28ae3cc491da37716e002f198e Author: Ingo Molnar Date: Fri Jan 25 21:07:58 2008 +0100 printk: make printk more robust by not allowing recursion make printk more robust by allowing recursion only if there's a crash going on. Also add recursion detection. I've tested it with an artificially injected printk recursion - instead of a lockup or spontaneous reboot or other crash, the output was a well controlled: [ 41.057335] SysRq : <2>BUG: recent printk recursion! [ 41.057335] loglevel0-8 reBoot Crashdump show-all-locks(D) tErm Full kIll saK showMem Nice powerOff showPc show-all-timers(Q) unRaw Sync showTasks Unmount shoW-blocked-tasks also do all this printk-debug logic with irqs disabled. Signed-off-by: Ingo Molnar Reviewed-by: Nick Piggin commit 366ca51f30de1cbb5b356c70b7bb22051c558e41 Author: James Bottomley Date: Fri Jan 18 10:47:01 2008 -0600 [SCSI] libsas: abstract STP task status into a function Break out the frame processor for STP tasks from aic94xx so they can be shared by other SAS HBA's Original patch from Jeff Garzik Signed-off-by: James Bottomley commit 1292500b159c00a8fece072b004f154e6fda9f48 Author: Frederik Deweerdt Date: Wed Jan 16 17:19:08 2008 +0100 [SCSI] ultrastor: clean up inline asm warnings To: linux-kernel@vger.kernel.org Cc: bunk@kernel.org Subject: [trivial patch] scsi/ultrastor: clean up inline asm warnings Hi, Compiling latest mainline with gcc 4.2.1 spews the following warnings: drivers/scsi/ultrastor.c: In function 'find_and_clear_bit_16': drivers/scsi/ultrastor.c:303: warning: matching constraint does not allow a register drivers/scsi/ultrastor.c:302: warning: matching constraint does not allow a register drivers/scsi/ultrastor.c: At top level: drivers/scsi/ultrastor.c:1202: warning: matching constraint does not allow a register drivers/scsi/ultrastor.c:1202: warning: matching constraint does not allow a register drivers/scsi/ultrastor.c: In function 'ultrastor_queuecommand': drivers/scsi/ultrastor.c:698: warning: matching constraint does not allow a register drivers/scsi/ultrastor.c:698: warning: matching constraint does not allow a register drivers/scsi/ultrastor.c:698: warning: matching constraint does not allow a register drivers/scsi/ultrastor.c:698: warning: matching constraint does not allow a register drivers/scsi/ultrastor.c:698: warning: matching constraint does not allow a register drivers/scsi/ultrastor.c:698: warning: matching constraint does not allow a register drivers/scsi/ultrastor.c:698: warning: matching constraint does not allow a register drivers/scsi/ultrastor.c:302: warning: matching constraint does not allow a register drivers/scsi/ultrastor.c:302: warning: matching constraint does not allow a register The following patch fixes it by using the '+' operator on the (*field) operand, marking it as read-write to gcc. I diffed the two resulting .s, and gcc produced the same code. This was tested with gcc 4.2.1 and gcc 3.4.3 Signed-off-by: Frederik Deweerdt Cc: Adrian Bunk Signed-off-by: James Bottomley commit b47711bfbcd4eb77ca61ef0162487b20e023ae55 Merge: 7556afa... 2e08c0c... Author: Linus Torvalds Date: Fri Jan 25 08:44:29 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6: selinux: make mls_compute_sid always polyinstantiate security/selinux: constify function pointer tables and fields security: add a secctx_to_secid() hook security: call security_file_permission from rw_verify_area security: remove security_sb_post_mountroot hook Security: remove security.h include from mm.h Security: remove security_file_mmap hook sparse-warnings (NULL as 0). Security: add get, set, and cloning of superblock security information security/selinux: Add missing "space" commit 7556afa0e0e436cad4f560ee83e5fbd5dac9359a Merge: e07dd2a... d6c49a7... Author: Linus Torvalds Date: Fri Jan 25 08:40:02 2008 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6: [AVR32] extint: Set initial irq type to low level [AVR32] extint: change set_irq_type() handling [AVR32] NMI debugging [AVR32] constify function pointer tables [AVR32] ATNGW100: Update defconfig [AVR32] ATSTK1002: Update defconfig [AVR32] Kconfig: Choose daughterboard instead of CPU [AVR32] Add support for ATSTK1003 and ATSTK1004 [AVR32] Clean up external DAC setup code [AVR32] ATSTK1000: Move gpio-leds setup to setup.c [AVR32] Add support for AT32AP7001 and AT32AP7002 [AVR32] Provide more CPU information in /proc/cpuinfo and dmesg [AVR32] Oprofile support [AVR32] Include instrumentation menu Disable VGA text console for AVR32 architecture [AVR32] Enable debugging only when needed ptrace: Call arch_ptrace_attach() when request=PTRACE_TRACEME [AVR32] Remove redundant try_to_freeze() call from do_signal() [AVR32] Drop GFP_COMP for DMA memory allocations commit e07dd2ad305f6b29b47d713600aa8b722ef2a9f7 Merge: eba0e31... 7bc5c41... Author: Linus Torvalds Date: Fri Jan 25 08:39:18 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (56 commits) [GFS2] Allow journal recovery on read-only mount [GFS2] Lockup on error [GFS2] Fix page_mkwrite truncation race path [GFS2] Fix typo [GFS2] Fix write alloc required shortcut calculation [GFS2] gfs2_alloc_required performance [GFS2] Remove unneeded i_spin [GFS2] Reduce inode size by moving i_alloc out of line [GFS2] Fix assert in log code [GFS2] Fix problems relating to execution of files on GFS2 [GFS2] Initialize extent_list earlier [GFS2] Allow page migration for writeback and ordered pages [GFS2] Remove unused variable [GFS2] Fix log block mapper [GFS2] Minor correction [GFS2] Eliminate the no longer needed sd_statfs_mutex [GFS2] Incremental patch to fix compiler warning [GFS2] Function meta_read optimization [GFS2] Only fetch the dinode once in block_map [GFS2] Reorganize function gfs2_glmutex_lock ... commit eba0e319c12fb098d66316a8eafbaaa9174a07c3 Merge: df8dc74... 15e7b44... Author: Linus Torvalds Date: Fri Jan 25 08:38:25 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (125 commits) [CRYPTO] twofish: Merge common glue code [CRYPTO] hifn_795x: Fixup container_of() usage [CRYPTO] cast6: inline bloat-- [CRYPTO] api: Set default CRYPTO_MINALIGN to unsigned long long [CRYPTO] tcrypt: Make xcbc available as a standalone test [CRYPTO] xcbc: Remove bogus hash/cipher test [CRYPTO] xcbc: Fix algorithm leak when block size check fails [CRYPTO] tcrypt: Zero axbuf in the right function [CRYPTO] padlock: Only reset the key once for each CBC and ECB operation [CRYPTO] api: Include sched.h for cond_resched in scatterwalk.h [CRYPTO] salsa20-asm: Remove unnecessary dependency on CRYPTO_SALSA20 [CRYPTO] tcrypt: Add select of AEAD [CRYPTO] salsa20: Add x86-64 assembly version [CRYPTO] salsa20_i586: Salsa20 stream cipher algorithm (i586 version) [CRYPTO] gcm: Introduce rfc4106 [CRYPTO] api: Show async type [CRYPTO] chainiv: Avoid lock spinning where possible [CRYPTO] seqiv: Add select AEAD in Kconfig [CRYPTO] scatterwalk: Handle zero nbytes in scatterwalk_map_and_copy [CRYPTO] null: Allow setkey on digest_null ... commit df8dc74e8a383eaf2d9b44b80a71ec6f0e52b42e Merge: 556a169... 4a3ad20... Author: Linus Torvalds Date: Fri Jan 25 08:34:42 2008 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 This can be broken down into these major areas: - Documentation updates (language translations and fixes, as well as kobject and kset documenatation updates.) - major kset/kobject/ktype rework and fixes. This cleans up the kset and kobject and ktype relationship and architecture, making sense of things now, and good documenation and samples are provided for others to use. Also the attributes for kobjects are much easier to handle now. This cleaned up a LOT of code all through the kernel, making kobjects easier to use if you want to. - struct bus_type has been reworked to now handle the lifetime rules properly, as the kobject is properly dynamic. - struct driver has also been reworked, and now the lifetime issues are resolved. - the block subsystem has been converted to use struct device now, and not "raw" kobjects. This patch has been in the -mm tree for over a year now, and finally all the issues are worked out with it. Older distros now properly work with new kernels, and no userspace updates are needed at all. - nozomi driver is added. This has also been in -mm for a long time, and many people have asked for it to go in. It is now in good enough shape to do so. - lots of class_device conversions to use struct device instead. The tree is almost all cleaned up now, only SCSI and IB is the remaining code to fix up... * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6: (196 commits) Driver core: coding style fixes Kobject: fix coding style issues in kobject c files Kobject: fix coding style issues in kobject.h Driver core: fix coding style issues in device.h spi: use class iteration api scsi: use class iteration api rtc: use class iteration api power supply : use class iteration api ieee1394: use class iteration api Driver Core: add class iteration api Driver core: Cleanup get_device_parent() in device_add() and device_move() UIO: constify function pointer tables Driver Core: constify the name passed to platform_device_register_simple driver core: fix build with SYSFS=n sysfs: make SYSFS_DEPRECATED depend on SYSFS Driver core: use LIST_HEAD instead of call to INIT_LIST_HEAD in __init kobject: add sample code for how to use ksets/ktypes/kobjects kobject: add sample code for how to use kobjects in a simple manner. kobject: update the kobject/kset documentation kobject: remove old, outdated documentation. ... commit 556a169dab38b5100df6f4a45b655dddd3db94c1 Author: Pekka Enberg Date: Fri Jan 25 08:20:51 2008 +0200 slab: fix bootstrap on memoryless node If the node we're booting on doesn't have memory, bootstrapping kmalloc() caches resorts to fallback_alloc() which requires ->nodelists set for all nodes. Fix that by calling set_up_list3s() for CACHE_CACHE in kmem_cache_init(). As kmem_getpages() is called with GFP_THISNODE set, this used to work before because of breakage in 2.6.22 and before with GFP_THISNODE returning pages from the wrong node if a node had no memory. So it may have worked accidentally and in an unsafe manner because the pages would have been associated with the wrong node which could trigger bug ons and locking troubles. Tested-by: Mel Gorman Tested-by: Olaf Hering Reviewed-by: Christoph Lameter Signed-off-by: Pekka Enberg [ With additional one-liner by Olaf Hering - Linus ] Signed-off-by: Linus Torvalds commit eb36f4fc019835cecf0788907f6cab774508087b Author: Karsten Keil Date: Fri Jan 25 11:55:28 2008 +0100 fix oops on rmmod capidrv Fix overwriting the stack with the version string (it is currently 10 bytes + zero) when unloading the capidrv module. Safeguard against overwriting it should the version string grow in the future. Should fix Kernel Bug Tracker Bug 9696. Signed-off-by: Gerd v. Egidy Acked-by: Karsten Keil Signed-off-by: Linus Torvalds commit 93a38fa2dd83fcaf65b2327fff65e364472388f9 Author: Vegard Nossum Date: Thu Jan 24 23:02:52 2008 +0100 [SCSI] aic7xxx: fix firmware build This patch adds the proper $(obj) and $(src) prefixes to dependency rules in aic7xxx makefile. Without this patch, there is a remote possibility that parallel make with a different output directory can fail. Also changed the deprecated EXTRA_CFLAGS construct to ccflags-y syntax. Fixed up patch to survive "make drivers/scsi/ -j" with BUILD_FIRMWARE enable. /Sam Signed-off-by: Vegard Nossum Signed-off-by: Sam Ravnborg Acked-by: Hannes Reinecke Signed-off-by: James Bottomley commit a119ee8ee3045bf559d4cf02d72b112f3de2a15b Author: Salyzyn, Mark Date: Thu Jan 24 07:40:10 2008 -0800 [SCSI] aacraid: fib context lock for management ioctls Alan noticed the lack of locking surrounding the driver's dealings with the fib context managed by the trio of ioctls that are used by the RAID management applications to retrieve Adapter Initiated FIBs. I merely expanded the fib lock to include the fib context. There have been no field reports of any issues generally because the applications are relatively static and do not come and go often enough to stress this area. I bloated this patch a little with some space junk. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 5aa22af3d089123df954693d1f911323307d41f7 Author: FUJITA Tomonori Date: Thu Jan 24 17:24:52 2008 +0900 [SCSI] ch: remove forward declarations This moves ch_template and changer_fops structs to the end of file and removes forward declarations. This also removes some trailing whitespace. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit da707c54c3424b4b50d4352c2103867284ba6724 Author: FUJITA Tomonori Date: Thu Jan 24 17:24:50 2008 +0900 [SCSI] ch: fix device minor number management bug ch_probe uses the total number of ch devices as minor. ch_probe: ch->minor = ch_devcount; ... ch_devcount++; Then ch_remove decreases ch_devcount: ch_remove: ch_devcount--; If you have two ch devices, sch0 and sch1, and remove sch0, ch_devcount is 1. Then if you add another ch device, ch_probe tries to create sch1. So you get a warning and fail to create sch1: Jan 24 16:01:05 nice kernel: sysfs: duplicate filename 'sch1' can not be created Jan 24 16:01:05 nice kernel: WARNING: at fs/sysfs/dir.c:424 sysfs_add_one() Jan 24 16:01:05 nice kernel: Pid: 2571, comm: iscsid Not tainted 2.6.24-rc7-ga3d2c2e8-dirty #1 Jan 24 16:01:05 nice kernel: Jan 24 16:01:05 nice kernel: Call Trace: Jan 24 16:01:05 nice kernel: [] sysfs_add_one+0x54/0xbd Jan 24 16:01:05 nice kernel: [] create_dir+0x4f/0x87 Jan 24 16:01:05 nice kernel: [] sysfs_create_dir+0x35/0x4a Jan 24 16:01:05 nice kernel: [] kobject_get+0x12/0x17 Jan 24 16:01:05 nice kernel: [] kobject_add+0xf3/0x1a6 Jan 24 16:01:05 nice kernel: [] class_device_add+0xaa/0x39d Jan 24 16:01:05 nice kernel: [] class_device_create+0xcb/0xfa Jan 24 16:01:05 nice kernel: [] printk+0x4e/0x56 Jan 24 16:01:05 nice kernel: [] sysfs_ilookup_test+0x0/0xf Jan 24 16:01:05 nice kernel: [] :ch:ch_probe+0xbe/0x61a (snip) This patch converts ch to use a standard minor number management way, idr like sg and bsg. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit e653879c269735c9ff6684e03edf1d4e041ff3d3 Author: Artem Bityutskiy Date: Thu Jan 24 18:48:21 2008 +0200 UBI: implement atomic LEB change ioctl Signed-off-by: Artem Bityutskiy commit 866136827b9a71c39dcb06d23ce523f719eab74b Author: Artem Bityutskiy Date: Thu Jan 24 16:15:14 2008 +0200 UBI: introduce atomic LEB change ioctl We have to be able to change individual LEBs for utilities like ubifsck, ubifstune. For example, ubifsck has to be able to fix errors on the media, ubifstune has to be able to change the the superblock, hence this ioctl. Signed-off-by: Artem Bityutskiy commit 60c031531a85b3580f66c2530f9b2802adcad4df Author: Artem Bityutskiy Date: Thu Jan 24 17:56:14 2008 +0200 UBI: handle zero-length case ubi_eba_atomic_leb_change() has to just map the LEB to a free PEB if data length is zero. Signed-off-by: Artem Bityutskiy commit 1b68d0eea5daddc762c54bf02154f4ad607d9ce8 Author: Artem Bityutskiy Date: Thu Jan 24 17:04:01 2008 +0200 UBI: simplify internal interfaces Instead of passing vol_id to all functions and then find struct ubi_volume, pass struct ubi_volume pointer. Signed-off-by: Artem Bityutskiy commit 0411e7353192d7deebd4f50b9ee41974ec3a634c Author: Artem Bityutskiy Date: Thu Jan 24 16:45:57 2008 +0200 UBI: do not change file pointer while updating Since we do not change semantics of seek(), changing the file pointer while updating does not make much sense. Signed-off-by: Artem Bityutskiy commit 91f2d53cd75a8fa3557246af965155208c4c69a7 Author: Artem Bityutskiy Date: Thu Jan 24 11:23:23 2008 +0200 UBI: add layout volume information Add more information about layout volume to make userspace tools use the macros instead of constants. Also rename UBI_LAYOUT_VOL_ID to make it consistent with other macros. Signed-off-by: Artem Bityutskiy commit c18a84186cc05bee19d55823f1a35f4ea91a92d6 Author: Artem Bityutskiy Date: Thu Jan 24 11:19:14 2008 +0200 UBI: fix warnings Old gcc complains: CC drivers/mtd/ubi/wl.o drivers/mtd/ubi/wl.c: In function 'wear_leveling_worker': drivers/mtd/ubi/wl.c:746: warning: 'pe' may be used uninitialized in this function CC drivers/mtd/ubi/scan.o drivers/mtd/ubi/scan.c: In function 'ubi_scan': drivers/mtd/ubi/scan.c:772: warning: 'ec' may be used uninitialized in this function drivers/mtd/ubi/scan.c:772: note: 'ec' was declared here Signed-off-by: Artem Bityutskiy commit 64203195edf44601d9825284101dcaf7ad54ece8 Author: Artem Bityutskiy Date: Tue Jan 22 12:38:15 2008 +0200 UBI: add sanity check Signed-off-by: Artem Bityutskiy commit 2f9270e7fe86591d6ba01c0df6ad3f6c035687ea Author: Artem Bityutskiy Date: Tue Jan 22 12:31:30 2008 +0200 UBI: remove bogus assertion Signed-off-by: Artem Bityutskiy commit d536058752274b2fe60135142da550b5355ffa94 Author: Artem Bityutskiy Date: Thu Jan 17 15:41:14 2008 +0200 UBI: bugfix: calculate data offset properly Data offset is VID header offset + VID header size aligned to the min. I/O unit size up. Signed-off-by: Artem Bityutskiy commit ddc4939161c502452392b353f9e0dd088239e4c1 Author: Artem Bityutskiy Date: Thu Jan 17 15:35:57 2008 +0200 UBI: amend array size Since the data offset parameter was removed, the size of the parameters array is now 2, not 3. Signed-off-by: Artem Bityutskiy commit 4ccf8cffa963c7b5bdc6d455ea9417084ee49aa8 Author: Artem Bityutskiy Date: Wed Jan 16 15:44:24 2008 +0200 UBI: add auto-resize feature The problem: NAND flashes have different amount of initial bad physical eraseblocks (marked as bad by the manufacturer). For example, for 256MiB Samsung OneNAND flash there might be from 0 to 40 bad initial eraseblocks, which is about 2%. When UBI is used as the base system, one needs to know the exact amount of good physical eraseblocks, because this number is needed to create the UBI image which is put to the devices during production. But this number is not know, which forces us to use the minimum number of good physical eraseblocks. And UBI additionally reserves some percentage of physical eraseblocks for bad block handling (default is 1%), so we have 1-3% of PEBs reserved at the end, depending on the amount of initial bad PEBs. But it is desired to always have 1% (or more, depending on the configuration). Solution: this patch adds an "auto-resize" flag to the volume table. The volume which has the "auto-resize" flag will automatically be re-sized (enlarged) on the first UBI initialization. UBI clears the flag when the volume is re-sized. Only one volume may have the "auto-resize" flag. So, the production UBI image may have one volume with "auto-resize" flag set, and its size is automatically adjusted on the first boot of the device. Signed-off-by: Artem Bityutskiy commit 896c0c06aa30147630e9a75949b6ae2014c841fc Author: Artem Bityutskiy Date: Wed Jan 16 14:24:14 2008 +0200 UBI: use bit-fields Save 12 bytes of RAM per volume by using bit-fields instead of integers. Signed-off-by: Artem Bityutskiy commit ae616e1be13599c3b64e544ebe99e69ea851e99c Author: Artem Bityutskiy Date: Wed Jan 16 12:15:47 2008 +0200 UBI: fix warnings drivers/mtd/ubi/cdev.c: In function ‘vol_cdev_read’: drivers/mtd/ubi/cdev.c:187: warning: unused variable ‘vol_id’ CC [M] drivers/mtd/ubi/kapi.o drivers/mtd/ubi/kapi.c: In function ‘ubi_leb_erase’: drivers/mtd/ubi/kapi.c:483: warning: unused variable ‘vol_id’ drivers/mtd/ubi/kapi.c: In function ‘ubi_leb_unmap’: drivers/mtd/ubi/kapi.c:544: warning: unused variable ‘vol_id’ drivers/mtd/ubi/kapi.c: In function ‘ubi_leb_map’: drivers/mtd/ubi/kapi.c:582: warning: unused variable ‘vol_id’ Signed-off-by: Artem Bityutskiy commit b9a06623d9d0c6dff758d525ceb0d9e2bba8f7d6 Author: Artem Bityutskiy Date: Wed Jan 16 12:11:54 2008 +0200 UBI: get rid of ubi_ltree_slab This slab cache is not really needed since the number of objects is low and the constructor does not make much sense because we allocate oblects when doint I/O, which is way slower then allocation. Suggested-by: Arnd Bergmann Signed-off-by: Artem Bityutskiy commit e08029675181a16d435431ad51255aa730fd6772 Author: Roel Kluin <12o3l@tiscali.nl> Date: Thu Jan 24 09:37:33 2008 +1100 [POWERPC] 4xx: logical/bitand typo in powerpc/boot/4xx.c logical/bitand typo Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Josh Boyer commit 1c0d3eb58314df2a461bcfe557e2f7ee7ba9ec8b Author: Sean MacLennan Date: Thu Jan 10 07:23:59 2008 +1100 [POWERPC] 4xx: PIKA Warp defconfig Add the defconfig for the PIKA Warp board Signed-off-by: Sean MacLennan Signed-off-by: Josh Boyer commit 1e12f3c59d045b152d4482f8b6ab19573e869c40 Author: Sean MacLennan Date: Fri Jan 11 17:17:51 2008 +1100 [POWERPC] 4xx: PIKA Warp bootwrapper Add the cuboot wrapper for the PIKA Warp board Signed-off-by: Sean MacLennan Signed-off-by: Josh Boyer commit 99192af00af3ba336e6fd74a30b7809a18f79a8f Author: Sean MacLennan Date: Sun Jan 13 07:32:38 2008 +1100 [POWERPC] 4xx: PIKA Warp DTS Add the device tree for the PIKA Warp board Signed-off-by: Sean MacLennan Signed-off-by: Josh Boyer commit f9bdedb2c5f2952f33e4f88038e5c48e27144cda Author: Sean MacLennan Date: Tue Jan 22 04:55:29 2008 +1100 [POWERPC] 4xx: PIKA Warp base platform Add the base platform support for the PIKA Warp boards. Signed-off-by: Sean MacLennan Signed-off-by: Josh Boyer commit 3f8fc3e0c7445dab78a81d68d995e9150f895d7e Author: Sean MacLennan Date: Thu Jan 10 07:25:58 2008 +1100 [POWERPC] 4xx: Add PowerPC 440EP Rev C This adds the 440EP revision C PVR to the CPU table. The chip has an FPU on it, so we also match the logical PVR Signed-off-by: Sean MacLennan Signed-off-by: Josh Boyer commit 22258fa40e54ceefe75a6c6a793f5c44d8339b9c Author: David Gibson Date: Fri Jan 11 14:25:34 2008 +1100 [POWERPC] Enable RTC for Ebony and Walnut (v2) This patch extends the Ebony and Walnut platform code to instantiate the existing ds1742 RTC class driver for the DS1743 RTC/NVRAM chip found on both those boards. The patch uses a helper function to scan the device tree and instantiate the appropriate platform_device based on it, so it should be easy to extend for other boards which have mmio mapped RTC chips. Along with this, the device tree binding for the ds1743 chips is tweaked, based on the existing DS1385 OF binding found at: http://playground.sun.com/1275/proposals/Closed/Remanded/Accepted/346-it.txt Although that document covers the NVRAM portion of the chip, whereas here we're interested in the RTC portion, so it's not entirely clear if that's a good model. This implements only RTC class driver support - that is /dev/rtc0, not /dev/rtc, and the low-level get/set time callbacks remain unimplemented. That means in order to get at the clock you will either need a modified version of hwclock which will look at /dev/rtc0, or you'll need to configure udev to symlink rtc0 to rtc. Signed-off-by: David Gibson Signed-off-by: Josh Boyer commit a40955167ffc34a1651ebe2e88a8c1db2987fc91 Author: Stefan Roese Date: Wed Jan 16 18:24:52 2008 +1100 [POWERPC] 4xx: Add AMCC Haleakala (405EXr) dts The patch adds the Haleakala dts. The Haleakala is a stripped down version of the Kilauea (405EX) with only one EMAC and only one PCIe interface. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit b676d84e72467a2e31191f41abebd59ab53a06bb Author: Stefan Roese Date: Tue Jan 15 18:09:15 2008 +1100 [POWERPC] 4xx: Add 405EXr to cputable This patch adds the 405EXr to the powerpc cuptable. Basically the 405EXr is a 405EX with only one EMAC and only one PCIe interface. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 5bc977867f36fc36cde43b309b891b2f7b714f52 Author: Olaf Hering Date: Tue Jan 22 02:37:45 2008 +1100 [POWERPC] Autodetect serial console on pegasos2 Signed-off-by: Olaf Hering Signed-off-by: Paul Mackerras commit 092ca5bd61da6344f3b249754b337f2d48dfe08d Author: Olaf Hering Date: Mon Jan 21 20:39:30 2008 +1100 [POWERPC] Revert chrp_pci_fixup_vt8231_ata devinit to fix libata on pegasos Commit 6d98bda79bea0e1be26c0767d0e9923ad3b72f2e changed the init order for chrp_pci_fixup_vt8231_ata(). It can not work anymore because either the irq is not yet set to 14 or pci_get_device() returns nothing. At least the printk() in chrp_pci_fixup_vt8231_ata() does not trigger anymore. pata_via works again on Pegasos with the change below. Signed-off-by: Olaf Hering Signed-off-by: Paul Mackerras commit 3ca6644e5cc6ee7700b158fd5b4e8c48899118c6 Author: Michael Ellerman Date: Mon Jan 21 18:01:43 2008 +1100 [POWERPC] Make IOMMU code safe for > 132 GB of memory Currently the IOMMU code allocates one page for the segment table, that isn't safe if we have more than 132 GB of RAM. Signed-off-by: Michael Ellerman Acked-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit bd83fbde5b87ba230db2ffdc70af563719792db1 Author: Michael Ellerman Date: Mon Jan 21 16:42:49 2008 +1100 [POWERPC] Remove bogus comment in dma_direct_alloc_coherent() Since commit c80d9133e99de1af607314107910a2a1645efb17 (Make direct DMA use node local allocations) went in this comment makes no sense. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 31d1b493237c8168cd2fc0f3d40b9ad5651e6f4c Author: Michael Ellerman Date: Mon Jan 21 16:42:48 2008 +1100 [POWERPC] Remove the global dma_direct_offset We no longer need the global dma_direct_offset, update the comment to reflect the new reality. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 15c60cc472d4cc0e1bcde1081b0f75ef616e4c7e Author: Michael Ellerman Date: Mon Jan 21 16:42:46 2008 +1100 [POWERPC] Have celleb use its own dma_direct_offset variable Rather than using the global variable, have celleb use its own variable to store the direct DMA offset. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit f5d67bd5ecd90cc03eb84f709ab83ccc05a37eee Author: Michael Ellerman Date: Mon Jan 21 16:42:45 2008 +1100 [POWERPC] Have cell use its own dma_direct_offset variable Rather than using the global variable, have cell use its own variable to store the direct DMA offset. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 35e4a6e26d0c6bc7f32087db61f0fb3666531183 Author: Michael Ellerman Date: Mon Jan 21 16:42:43 2008 +1100 [POWERPC] Use archdata.dma_data in dma_direct_ops and add the offset Now that all platforms using dma_direct_offset setup the archdata.dma_data correctly, we can change the dma_direct_ops to retrieve the offset from the dma_data, rather than directly from the global. While we're here, change the way the offset is used - instead of or'ing it into the value, add it. This should have no effect on current implementations where the offset is far larger than memory, however in future we may want to use smaller offsets. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 450d87eaeb4d43bd9e1f9523a6a3bfeb48209fea Author: Michael Ellerman Date: Mon Jan 21 16:42:42 2008 +1100 [POWERPC] Add celleb_dma_dev_setup() Celleb always uses dma_direct_ops, and sets dma_direct_offset, so it too should set dma_data to dma_direct_offset. Currently there's no pci_dma_dev_setup() routine for Celleb so add one. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 110f95c9f082709c5a28a64c00bae819916e8578 Author: Michael Ellerman Date: Mon Jan 21 16:42:41 2008 +1100 [POWERPC] Set archdata.dma_data for direct DMA in cell_dma_dev_setup() Store the direct_dma_offset in each device's dma_data in the case where we're using the direct DMA ops. We need to make sure we setup the ppc_md.pci_dma_dev_setup() callback if we're using a non-zero offset. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 9d5f49283b85d925f17fa07af5e4879465e179d6 Author: Benjamin Herrenschmidt Date: Mon Jan 21 11:32:50 2008 +1100 [POWERPC] Always hookup PHB IO resource even when empty We must always hookup the pci_bus resource 0 to the PHB io_resource even if the latter is empty (the bus has no IO support). Otherwise, some other code will end up hooking it up to something bogus and the resource tree will end up being broken. This fixes boot on QS20 Cell blades where the IDE driver failed to allocate the IO resources due to breakage of the resource tree. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 335675a3a2e6f3dc8f47111f73362aae8acc36bc Author: Geoff Levand Date: Sat Jan 19 07:33:04 2008 +1100 [POWERPC] PS3: Update ps3_defconfig Update ps3_defconfig. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit a628df1e9dd0d3de540bf0b7d8c6ea4896539bbb Author: Geoff Levand Date: Sat Jan 19 07:32:59 2008 +1100 [POWERPC] PS3: Remove lpar address workaround Remove the PS3 workaround needed to support sparsemem SPU mappings. The SPU mappings no longer use sparsemem, so this workaround is no longer needed. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit c4e6752dd4f249d6797146d655973bc0bde4c26e Author: Geoff Levand Date: Sat Jan 19 07:32:53 2008 +1100 [POWERPC] PS3: Vuart: change semaphore to mutex A general housekeeping change of the PS3 vuart variable vuart_bus_priv.probe_mutex from semaphore to mutex. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 781749a46b34dc5c9e4000df7b9d37d675c17463 Author: Takashi Yamamoto Date: Sat Jan 19 07:32:46 2008 +1100 [POWERPC] PS3: Add logical performance monitor driver support Add PS3 logical performance monitor (lpm) device driver. The PS3's LV1 hypervisor provides a Logical Performance Monitor that abstracts the Cell processor's performance monitor features for use by guest operating systems. Signed-off-by: Takashi Yamamoto Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit ed7570022a42a60ecb67c53f429bc96c7bc5597d Author: Geoff Levand Date: Sat Jan 19 07:32:38 2008 +1100 [POWERPC] PS3: Add logical performance monitor device support Add PS3 logical performance monitor device support to the PS3 system-bus and platform device registration routines. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit c2b16e1c1050b3cb3a63943eafc99ae86b8f51c3 Author: Takashi Yamamoto Date: Sat Jan 19 07:32:31 2008 +1100 [POWERPC] PS3: Add logical performance monitor repository routines Add repository routines for the PS3 Logical Performance Monitor. Signed-off-by: Takashi Yamamoto Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 720c9133ff108998c5fb910d165146de5bc4705a Author: Geert Uytterhoeven Date: Sat Jan 19 07:32:24 2008 +1100 [POWERPC] PS3: Checkpatch cleanups for arch/powerpc/platforms/ps3/repository.c Cleanup coding errors in arch/powerpc/platforms/ps3/repository.c as reported by sparse and checkpatch. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit d0e5c2185e1c6508894e1ee1a8e9bf79e009e427 Author: Geert Uytterhoeven Date: Sat Jan 19 07:32:19 2008 +1100 [POWERPC] PS3: Checkpatch cleanups for drivers/ps3/ps3-vuart.c Cleanup coding errors in drivers/ps3/ps3-vuart.c as reported by checkpatch. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit eff56c92a15c3dbb1e55efea5251e28c0e5efb8b Author: Geert Uytterhoeven Date: Sat Jan 19 07:32:14 2008 +1100 [POWERPC] PS3: Checkpatch cleanups for drivers/ps3/ps3-sys-manager.c Cleanup coding errors in drivers/ps3/ps3-sys-manager.c as reported by checkpatch. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit ad7d8193e49c5534f76f87b22a6fd80e39be96cc Author: Geert Uytterhoeven Date: Sat Jan 19 07:32:10 2008 +1100 [POWERPC] PS3: Refactor ps3_repository_find_device() PS3: Refactor ps3_repository_find_device() to use the existing ps3_repository_read_bus_id() routine. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 0a4689373915ad7a38e7308538edeef407d1db97 Author: Geert Uytterhoeven Date: Sat Jan 19 07:32:04 2008 +1100 [POWERPC] PS3: Kill unused ps3_repository_bump_device() PS3: Kill unused routine ps3_repository_bump_device(). Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 972b1f040c8698ef2a44ad3f2b790039d5a8ac09 Author: Geert Uytterhoeven Date: Sat Jan 19 07:30:53 2008 +1100 [POWERPC] PS3: Add repository polling loop to work around timing bug PS3: Add repository polling loop to work around timing bug On some firmware versions (e.g. 1.90), the storage device may not show up in the repository immediately after receiving the notification message. Add a small polling loop to make sure we don't miss it. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit b4cb2941f855993410ca456ef998888434e86098 Author: Geert Uytterhoeven Date: Sat Jan 19 07:30:40 2008 +1100 [POWERPC] PS3: Use the HVs storage device notification mechanism properly The PS3 hypervisor has a storage device notification mechanism to wait until a storage device is ready. Unfortunately the storage device probing code used this mechanism in an incorrect way, needing a polling loop and handling of devices that are not yet ready. This change corrects this by: - First waiting for the reception of an asynchronous notification that a new storage device became ready, - Then looking up the storage device in the device repository. On shutdown, the storage probe thread is stopped and the storage notification device is closed using a reboot notifier. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit e06bcf3cc3a6c45a16e9ffeb0401380aebfdea02 Author: Geert Uytterhoeven Date: Sat Jan 19 07:30:27 2008 +1100 [POWERPC] PS3: Add ps3_repository_find_device_by_id() The storage probe feature of the PS3 hypervisor returns device IDs. Add the corresponding repository routine ps3_repository_find_device_by_id() which can be used to retrieve the device info from the repository. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 034e0ab54bfe57bc980452f991d3ab443f1b085a Author: Geert Uytterhoeven Date: Sat Jan 19 07:30:09 2008 +1100 [POWERPC] PS3: Make bus_id and dev_id u64 Change the PS3 bus_id and dev_id from type unsigned int to u64. These IDs are 64-bit in the repository, and the special storage notification device has a device ID of ULONG_MAX. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit cda563fb9ca2c26ff720110b25e96205b71d3bae Author: Geoff Levand Date: Sat Jan 19 07:29:47 2008 +1100 [POWERPC] Add definition of Cell bookmark SPR Add a definition for the Cell bookmark SPR to asm-powerpc/regs.h. Signed-off-by: Geoff Levand Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 496b010e1e70a9b4286fa34f19523f24a194f119 Author: Michael Neuling Date: Fri Jan 18 15:50:30 2008 +1100 [POWERPC] kdump shutdown hook support This adds hooks into the default_machine_crash_shutdown so drivers can register a function to be run in the first kernel before we hand off to the second kernel. This should only be used in exceptional circumstances, like where the device can't be reset in the second kernel alone (as is the case with eHEA). To emphasize this, the number of handles allowed to be registered is currently #def to 1. This uses the setjmp/longjmp code around the call out to the registered hooks, so any bogus exceptions we encounter will hopefully be recoverable. Tested with bogus data and instruction exceptions. Signed-off-by: Michael Neuling Signed-off-by: Paul Mackerras commit c3b75bd7bbf4a0438dc140033b80657995fd30ed Author: Michael Neuling Date: Fri Jan 18 15:50:30 2008 +1100 [POWERPC] Make setjmp/longjmp code usable outside of xmon This makes the setjmp/longjmp code used by xmon, generically available to other code. It also removes the requirement for debugger hooks to be only called on 0x300 (data storage) exception. Signed-off-by: Michael Neuling Signed-off-by: Paul Mackerras commit caa34c9e9cab6afb243a3da406cce272805c48c5 Author: Stephen Rothwell Date: Fri Jan 18 12:06:01 2008 +1100 [POWERPC] Fix a couple of copyright symbols Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 745c2ef2e7819ff7cee249b01e1030ef665ecde2 Author: Stephen Rothwell Date: Mon Jan 14 17:46:48 2008 +1100 [POWERPC] Make ibmebus use of_(un)register_driver Signed-off-by: Stephen Rothwell Acked-by: Joachim Fenkes Signed-off-by: Paul Mackerras commit ab1f89b388732d8a7de6f9694d9d6bd32bff8d61 Author: Joseph Fannin Date: Wed Jan 2 02:36:07 2008 +1100 [POWERPC] Export copy_page() on 32bit Export copy_page() on 32-bit powerpc; unionfs needs it. Unionfs already builds as a module on 64bit powerpc, so the export is placed within an existing CONFIG_PPC32 #ifdef. Signed-off-by: Joseph Fannin Signed-off-by: Paul Mackerras commit e057d985fd8aad83d07376c5c36f2c8a6c5411be Author: Olof Johansson Date: Fri Dec 28 15:11:09 2007 +1100 [POWERPC] Make smp_send_stop() handle panic and xmon reboot smp_send_stop() will send an IPI to all other cpus to shut them down. However, for the case of xmon-based reboots (as well as potentially some panics), the other cpus are (or might be) spinning with interrupts off, and won't take the IPI. Current code will drop us into the debugger when the IPI fails, which means we're in an infinite loop that we can't get out of without an external reset of some sort. Instead, make the smp_send_stop() IPI call path just print the warning about being unable to send IPIs, but make it return so the rest of the shutdown sequence can continue. It's not perfect, but the lesser of two evils. Also move the call_lock handling outside of smp_call_function_map so we can avoid deadlocks in smp_send_stop(). Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit b616de5ef928ac1914348ff6a42521ca6b83112e Author: Olof Johansson Date: Fri Dec 28 15:08:36 2007 +1100 [POWERPC] Make smp_call_function_map static smp_call_function_map should be static, and for consistency prepend it with __ like other local helper functions in the same file. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 366781c19635d861f43ff5e03388a3873ec912d9 Author: Steve French Date: Fri Jan 25 10:12:41 2008 +0000 [CIFS] DFS build fixes Also includes a few minor changes suggested by Christoph Signed-off-by: Steve French commit 7bc5c414fe6627ec518c82d154c796f0981f5b02 Author: Abhijith Das Date: Fri Jan 18 14:06:37 2008 -0600 [GFS2] Allow journal recovery on read-only mount This patch allows gfs2 to perform journal recovery even if it is mounted read-only. Strictly speaking, a read-only mount should not be writing to the filesystem, but we do this only to perform journal recovery. A read-only mount will fail if we don't recover the dirty journal. Also, when gfs2 is used as a root filesystem, it will be mounted read-only before being mounted read-write during the boot sequence. A failed read-only mount will panic the machine during bootup. Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit 1b8177ec1e779bcc3ed89419ff7c80dbc3dcc489 Author: Bob Peterson Date: Sat Jan 19 21:50:24 2008 -0600 [GFS2] Lockup on error I spotted this bug while I was digging around. Looks like it could cause a lockup in some rare error condition. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit b7fe2e391ee7b711d6dfd6a694d60c4f21113cbb Author: Steven Whitehouse Date: Thu Jan 17 15:12:03 2008 +0000 [GFS2] Fix page_mkwrite truncation race path There was a bug in the truncation/invalidation race path for ->page_mkwrite for gfs2. It ought to return 0 so that the effect is the same as if the page was truncated at any of the other points at which the page_lock is dropped. This will result in the restart of the whole page fault path. If it was due to a real truncation (as opposed to an invalidate because we let a glock go) then the ->fault path will pick that up when it gets called again. Signed-off-by: Steven Whitehouse commit 3e5cd0877e6d2f059dc36b8206cb7e93938151db Author: Bob Peterson Date: Wed Jan 16 08:45:39 2008 -0600 [GFS2] Fix typo This patch fixes a minor typo. Surprisingly, it still compiled. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 1af535727bbf68e1da7ac232de47315da4c66ade Author: Steven Whitehouse Date: Wed Jan 16 14:24:05 2008 +0000 [GFS2] Fix write alloc required shortcut calculation The comparison was being made against the wrong quantity. Signed-off-by: Steven Whitehouse commit 05220535196d413db434527a3edcba79b7187df8 Author: Bob Peterson Date: Fri Jan 11 13:44:50 2008 -0600 [GFS2] gfs2_alloc_required performance This is a small I/O performance enhancement to gfs2. (Actually, it is a rework of an earlier version I got wrong). The idea here is to check if the write extends past the last block in the file. If so, the function can save itself a lot of time and trouble because it knows an allocate will be required. Benchmarks like iozone should see better performance. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 598278bd4808ed81b0e6fa445458a7d549f72a32 Author: Bob Peterson Date: Fri Jan 11 13:31:12 2008 -0600 [GFS2] Remove unneeded i_spin This patch removes a vestigial variable "i_spin" from the gfs2_inode structure. This not only saves us memory (>300000 of these in memory for the oom test) it also saves us time because we don't have to spend time initializing it (i.e. slightly better performance). Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 6dbd822487d0a9f14432cb4680415b80656b63a2 Author: Steven Whitehouse Date: Thu Jan 10 15:18:55 2008 +0000 [GFS2] Reduce inode size by moving i_alloc out of line It is possible to reduce the size of GFS2 inodes by taking the i_alloc structure out of the gfs2_inode. This patch allocates the i_alloc structure whenever its needed, and frees it afterward. This decreases the amount of low memory we use at the expense of requiring a memory allocation for each page or partial page that we write. A quick test with postmark shows that the overhead is not measurable and I also note that OCFS2 use the same approach. In the future I'd like to solve the problem by shrinking down the size of the members of the i_alloc structure, but for now, this reduces the immediate problem of using too much low-memory on x86 and doesn't add too much overhead. Signed-off-by: Steven Whitehouse commit ac39aadd0440ae696e6dacaa8006ce1737b17008 Author: Steven Whitehouse Date: Thu Jan 10 14:49:43 2008 +0000 [GFS2] Fix assert in log code Although the values were all being calculated correctly, there was a race in the assert due to the way it was using atomic variables. This changes the value we assert on so that we get the same effect by testing a different variable. This prevents the assert triggering when it shouldn't. Signed-off-by: Steven Whitehouse commit 9656b2c14c6ee0806c90a6be41dec71117fc8f50 Author: Steven Whitehouse Date: Tue Jan 8 08:14:30 2008 +0000 [GFS2] Fix problems relating to execution of files on GFS2 This patch fixes a couple of problems which affected the execution of files on GFS2. The first is that there was a corner case where inodes were not always uptodate at the point at which permissions checks were being carried out, this was resulting in refusal of execute permission, but only on the first lookup, subsequent requests worked correctly. The second was a problem relating to incorrect updating of file sizes which was introduced with the write_begin/end code for GFS2 a little while back. Signed-off-by: Steven Whitehouse Cc: Abhijith Das commit 0811a127cb83ad2e0355e5e3e30164d7ef0f2d65 Author: Bob Peterson Date: Thu Jan 3 09:24:53 2008 -0600 [GFS2] Initialize extent_list earlier Here is a patch for the latest upstream GFS2 code: The journal extent map needs to be initialized sooner than it currently is. Otherwise failed mount attempts (e.g. not enough journals, etc.) may panic trying to access the uninitialized list. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit e5d9dc278c7f79c220e4506cc1ade2efa2ca73fd Author: Steven Whitehouse Date: Thu Jan 3 11:31:38 2008 +0000 [GFS2] Allow page migration for writeback and ordered pages To improve performance on NUMA, we use the VM's standard page migration for writeback and ordered pages. Probably we could also do the same for journaled data, but that would need a careful audit of the code, so will be the subject of a later patch. Signed-off-by: Steven Whitehouse commit 65a6290998f3d38b5c5e84423ae9e08bdd957095 Author: Steven Whitehouse Date: Wed Jan 2 10:16:56 2008 +0000 [GFS2] Remove unused variable The go_drop_th function is never called or referenced. Signed-off-by: Steven Whitehouse commit ff91cc9bb41b62bc4ea7d5ced396fabf97539df9 Author: Steven Whitehouse Date: Fri Dec 14 14:04:34 2007 +0000 [GFS2] Fix log block mapper A missing offset in the calculation. Signed-off-by: Steven Whitehouse commit fa3742fa8545df20e54aa0953a1873cca3a9bd92 Author: Bob Peterson Date: Wed Dec 12 17:52:13 2007 -0600 [GFS2] Minor correction This is a small correction to my previously posted patch1. It just changes a divide to a shift. It's faster and doesn't introduce odd dependencies on 32-bit compiles. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit c3f60b6e3a7667f78a63b15cf09655ecfca757fc Author: Bob Peterson Date: Wed Dec 12 11:44:41 2007 -0600 [GFS2] Eliminate the no longer needed sd_statfs_mutex This patch eliminates the unneeded sd_statfs_mutex mutex but preserves the ordering as discussed. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit b3513fca7e41965d85125c9770ce5f8fd4ff509a Author: Bob Peterson Date: Wed Dec 12 09:24:08 2007 -0600 [GFS2] Incremental patch to fix compiler warning Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 15c7cee7995a9013f1b2f31a15b70e1d2e8ae501 Author: Bob Peterson Date: Tue Dec 11 19:29:17 2007 -0600 [GFS2] Function meta_read optimization This patch optimizes function gfs2_meta_read. Basically, gfs2_meta_wait was being called regardless of whether a disk read was requested. This just pulls that wait into the if that triggers the read. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit b0d5fd307463405fe1f57494fbb37f810715ed6d Author: Bob Peterson Date: Tue Dec 11 19:16:09 2007 -0600 [GFS2] Only fetch the dinode once in block_map Function gfs2_block_map was often looking up the disk inode twice. This optimizes it so that only does it once. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 398bbe68321947f6763fbc259a01eb548ce19408 Author: Bob Peterson Date: Tue Dec 11 19:13:54 2007 -0600 [GFS2] Reorganize function gfs2_glmutex_lock This patch optimizes the function gfs2_glmutex_lock. The basic theory is: Why bother initializing a holder, setting up wait bits and then waiting on them, if you know the glock can be yours. So the holder stuff is placed inside the if checking if the glock is locked. This one needs careful scrutiny because changing anything to do with locking should strike terror into one's heart. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 5fdc2eeb5d1d3800367f471690b01fcd1fd5b963 Author: Bob Peterson Date: Tue Dec 11 19:00:16 2007 -0600 [GFS2] Run through full bitmaps quicker in gfs2_bitfit I eliminated the passing of an unused parameter into gfs2_bitfit called rgd. This also changes the gfs2_bitfit code that searches for free (or used) blocks. Before, the code was trying to check for bytes that indicated 4 blocks in the undesired state. The problem is, it was spending more time trying to do this than it actually was saving. This version only optimizes the case where we're looking for free blocks, and it checks a machine word at a time. So on 32-bit machines, it will check 32-bits (16 blocks) and on 64-bit machines, it will check 64-bits (32 blocks) at a time. The compiler optimizes that quite well and we save some time, especially when running through full bitmaps (like the bitmaps allocated for the journals). There's probably a more elegant or optimized way to do this, but I haven't thought of it yet. I'm open to suggestions. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 0d0868bde33273a200b33e54f4fad6099ad0c566 Author: Bob Peterson Date: Tue Dec 11 18:51:25 2007 -0600 [GFS2] Get rid of useless "found" variable in quota.c This just eliminates an unused variable from the quota code. Not likely to be a time saver. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit da6dd40d59fa9617ed697b90114e197036901632 Author: Bob Peterson Date: Tue Dec 11 18:49:21 2007 -0600 [GFS2] Journal extent mapping This patch saves a little time when gfs2 writes to the journals by keeping a mapping between logical and physical blocks on disk. That's better than constantly looking up indirect pointers in buffers, when the journals are several levels of indirection (which they typically are). Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit e9e1ef2b6ee401d7c1e1eb38052857b4b206d172 Author: Bob Peterson Date: Mon Dec 10 14:13:27 2007 -0600 [GFS2] Remove function gfs2_get_block This patch is just a cleanup. Function gfs2_get_block() just calls function gfs2_block_map reversing the last two parameters. By reversing the parameters, gfs2_block_map() may be called directly and function gfs2_get_block may be eliminated altogether. Since this function is done for every block operation, this streamlines the code and makes it a little bit more efficient. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 2066b58b0a038d7aedd24133677efb8856cac3a1 Author: David Teigland Date: Thu Dec 6 09:35:25 2007 -0600 [GFS2] use pid for plock owner for nfs clients The fl_owner is that of lockd when posix locks arrive from nfs clients, so it can't be used to distinguish between lock holders. Use fl_pid as owner instead; it's the pid of the process on the nfs client. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit dbee2199c37336e89060fbe9abdfd1ca8454372a Author: Steven Whitehouse Date: Fri Nov 30 08:17:15 2007 +0000 [GFS2] Remove unused variable Signed-off-by: Steven Whitehouse commit 292c8c14cace19c94c6abe25506310239daf949e Author: Abhijith Das Date: Thu Nov 29 14:13:54 2007 -0600 [GFS2] patch to check for recursive lock requests in gfs2_rename code path A certain scenario in the rename code path triggers a kernel BUG() because it accidentally does recursive locking The first lock is requested to unlink an already existing inode (replacing a file) and the second lock is requested when the destination directory needs to alloc some space. It is rare that these two events happen during the same rename call, and even more rare that these two instances try to lock the same rgrp. It is, however, possible. https://bugzilla.redhat.com/show_bug.cgi?id=404711 Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit c97bfe4351771675963e02f34d31e206fd2d7150 Author: Wendy Cheng Date: Thu Nov 29 17:56:51 2007 -0500 [GFS2] Remove lock methods for lock_nolock protocol GFS2 supports two modes of locking - lock_nolock for single node filesystem and lock_dlm for cluster mode locking. The gfs2 lock methods are removed from file operation table for lock_nolock protocol. This would allow VFS to handle posix lock and flock logics just like other in-tree filesystems without duplication. Signed-off-by: S. Wendy Cheng Signed-off-by: Steven Whitehouse commit bcd405599faa16cf32a3d3f1ce6a1e12cb37fede Author: Fabio M. Di Nitto Date: Wed Nov 28 16:22:09 2007 +0100 [GFS2] Remove unrequired code Signed-off-by: Fabio M. Di Nitto Signed-off-by: Steven Whitehouse commit 6a69a23f7df18f39e4a084e10b62ff4a144b05a5 Author: Fabio Massimo Di Nitto Date: Tue Nov 27 06:16:42 2007 +0100 [GFS2] Fix build warnings Hi Steven, Steven Whitehouse wrote: > Hi, > > Now in the -nmw git tree. Thanks, > > Steve. > > On Wed, 2007-11-21 at 11:54 -0600, Ryan O'Hara wrote: this patch introduces a bunch of build warnings by leaving around struct inode *inode = &ip->i_inode; The patch in attachment cleans them up. Please apply. Signed-off-by: Fabio Massimo Di Nitto Signed-off-by: Steven Whitehouse commit 002ef1dc63ded14507c110d3cf83d0c3f51374ab Author: Ryan O'Hara Date: Wed Nov 21 11:54:54 2007 -0600 [GFS2] remove unnecessary permission checks Remove read/write permission() checks from xattr operations. VFS layer is already handling permission for xattrs via the xattr_permission() call, so there is no need for gfs2 to check permissions. Futhermore, using permission() for SELinux xattrs ops is incorrect. Signed-off-by: Ryan O'Hara Signed-off-by: Steven Whitehouse commit 1a2781cfa5ed8eb82bb311d684f268c1822dae69 Author: Fabio Massimo Di Nitto Date: Fri Nov 16 09:50:40 2007 +0000 [GFS2] Fix runtime issue with UP kernels The issue is indeed UP vs SMP and it is totally random. spin_is_locked() is a bad assertion because there is no correct answer on UP. on UP spin_is_locked() has to return either one value or another, always. This means that in my setup I am lucky enough to trigger the issue and your you are lucky enough not to. the patch in attachment removes the bogus calls to BUG_ON and according to David (in CC and thanks for the long explanation on the problem) we can rely upon things like lockdep to find problem that might be trying to catch. Signed-off-by: Fabio M. Di Nitto Cc: David S. Miller Signed-off-by: Steven Whitehouse commit 00c134756c5ad570a1ad3d6f93a67fc9c25a67ea Author: David Teigland Date: Thu Nov 15 09:01:13 2007 -0600 [GFS2] tidy up error message Print error with log_error() to be consistent with others. Signed-off-by: David Teigland Signed-off-by: Fabio M. Di Nitto Signed-off-by: Steven Whitehouse commit 0b7580c786a5feda6291fe68ead3a1b92b6b35b8 Author: Fabio Massimo Di Nitto Date: Thu Nov 15 13:48:52 2007 +0000 [GFS2] Check for installation of mount helpers for DLM mounts The patch is a fix to abort mount if the mount.gfs* and possible umount.* are missing from /sbin. While we do what we can to guarantee that they are installed properly in userland (CVS HEAD), we want to make sure that mount still aborts properly. The only sign of missing helpers is that lock_dlm will receive no mount options at all. According to David the problem does not exist for lock_nolock as the helpers are not required. The patch has been tested for both gfs and gfs2 and it works as expected. The lack of mount.gfs* will generate an error that is propagated to mount: oot@node1:~# mount -t gfs2 /dev/nbd2 /mnt/ mount: wrong fs type, bad option, bad superblock on /dev/nbd2, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so [ 3513.303346] GFS2: fsid=: Trying to join cluster "lock_dlm", "gutsy:gfs2" [ 3513.304546] DLM/GFS2/GFS ERROR: (u)mount helpers are not installed properly! [ 3513.306290] GFS2: fsid=: can't mount proto=lock_dlm, table=gutsy:gfs2, hostdata= You might want to notice that it will also avoid mount to hang or fail silently or with strange errors that will require the cluster to reboot/restart before you can actually mount the filesystem again. Signed-off-by: Fabio M. Di Nitto Signed-off-by: Steven Whitehouse commit e35b921185728850c5db3b5d5b356178f931a157 Author: Steven Whitehouse Date: Fri Nov 9 10:07:21 2007 +0000 [GFS2] Don't periodically update the jindex We only care about the content of the jindex in two cases, one is when we mount the fs and the other is when we need to recover another journal. In both cases we have to update the jindex anyway, so there is no point in updating it periodically between times, so this removes it to simplify gfs2_logd. Signed-off-by: Steven Whitehouse commit ec69b188837a347769e187997d040e84a683b38a Author: Steven Whitehouse Date: Fri Nov 9 10:01:41 2007 +0000 [GFS2] Move gfs2_logd into log.c This means that we can mark gfs2_ail1_empty static and prepares the way for further changes. Signed-off-by: Steven Whitehouse commit fd041f0b4045db8646b36d393cbb274db60649f5 Author: Steven Whitehouse Date: Thu Nov 8 14:55:03 2007 +0000 [GFS2] Use atomic_t for journal free blocks counter This patch changes the counter which keeps track of the free blocks in the journal to an atomic_t in preparation for the following patch which will update the log reservation code. Signed-off-by: Steven Whitehouse commit 2bcd610d2fdea608a8fdac32788fc35a32a2327c Author: Steven Whitehouse Date: Thu Nov 8 14:25:12 2007 +0000 [GFS2] Don't add glocks to the journal The only reason for adding glocks to the journal was to keep track of which locks required a log flush prior to release. We add a flag to the glock to allow this check to be made in a simpler way. This reduces the size of a glock (by 12 bytes on i386, 24 on x86_64) and means that we can avoid extra work during the journal flush. Signed-off-by: Steven Whitehouse commit 8cbc4342478311c2a85260a7ca54d96cb7f71f7b Author: David Teigland Date: Wed Nov 7 09:03:56 2007 -0600 [GFS2] check kthread_should_stop when waiting Use wait_event_interruptible() in the lock_dlm thread instead of an open coded equivalent, and include a kthread_should_stop() check in the wait test so we don't miss a kthread_stop(). Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit c7227e46423a57b4df27a2d75b5869bd3ae654d0 Author: Bob Peterson Date: Fri Nov 2 09:37:15 2007 -0500 [GFS2] Given device ID rather than s_id in "id" sysfs file This patch changes the /sys/fs/gfs2//id file to give the device id "major:minor" rather than the s_id. That enables gfs2_tool to match devices properly (by id, not name) when locating the tuning files. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit e589665eb97b297412fb16b4c1737a01a91db903 Author: Steven Whitehouse Date: Fri Nov 2 09:14:31 2007 +0000 [GFS2] Remove flags no longer required The HIF_MUTEX and HIF_PROMOTE flags were set on the glock holders depending upon which of the two waiters lists they were going to be queued upon. They were then tested when the holders were taken off the lists to ensure that the right type of holder was being dequeued. Since we are already using separate lists, there doesn't seem a lot of point having these flags as well, and since setting them and testing them is in the fast path for locking and unlocking glock, this patch removes them. Signed-off-by: Steven Whitehouse commit 3042a2ccd68d2b609d283219e51cba363aa35c1d Author: Steven Whitehouse Date: Fri Nov 2 08:39:34 2007 +0000 [GFS2] Reorder writeback for glock sync Previously we were doing (write data, wait for data, write metadata, wait for metadata). After this patch we so (write metadata, write data, wait for data, wait for metadata) which should be more efficient. Also I noticed that the drop_bh and xmote_bh functions were almost identical. In fact the only difference was a single test, and that test is such that in the drop_bh case, it would always evaluate to the correct result. As such we can use the xmote_bh functions in all the places where we were using the drop_bh function and remove the drop_bh functions. Signed-off-by: Steven Whitehouse commit 52d4c74b08bf859f698ddb4e8a43c0dc8d4a0685 Author: Steven Whitehouse Date: Thu Nov 1 09:34:14 2007 +0000 [GFS2] Add sync_page to metadata address space operations This set of address space operations was missing a sync_page operation. Signed-off-by: Steven Whitehouse commit c2932e03dbcfe7ea9052953dbd5f3157183c1e9b Author: Steven Whitehouse Date: Thu Nov 1 09:26:54 2007 +0000 [GFS2] Remove "reclaim limit" This call to reclaim glocks is not needed, and in particular we don't want it in the fast path for locking glocks. The limit was entirely arbitrary anyway and we can't expect users to adjust things like this, the remaining code will do the right thing on its own. Signed-off-by: Steven Whitehouse commit 60b0d0877986b8fa70148f06055422d2ed858e88 Author: Steven Whitehouse Date: Wed Oct 31 14:24:33 2007 +0000 [GFS2] Remove unused variables These haven't been used for some time, remove them. Signed-off-by: Steven Whitehouse commit 47e83b509127f5e83ae5d93afd5c7cb9241acc38 Author: Steven Whitehouse Date: Thu Oct 18 11:15:50 2007 +0100 [GFS2] Use correct include file in ops_address.c Something changed in the upstream kernel, and it needs this one-liner to allow ops_address.c to build. Signed-off-by: Steven Whitehouse commit c41d4f09f13671f98ba4b82fdc94420cdc09be08 Author: Steven Whitehouse Date: Wed Oct 17 14:05:41 2007 +0100 [GFS2] Don't hold page lock when starting transaction This is an addendum to the new AOPs work which moves the point at which we take the page lock so that we don't get it until the last possible moment. This resolves a conflict between starting transactions and the page lock. Signed-off-by: Steven Whitehouse commit b8e7cbb65bcc99630e123422c6829ce3c0fcdf14 Author: Steven Whitehouse Date: Wed Oct 17 09:04:24 2007 +0100 [GFS2] Add writepages for GFS2 jdata This patch resolves a lock ordering issue where we had been getting a transaction lock in the wrong order with respect to the page lock. By using writepages rather than just writepage, it is then possible to start a transaction before locking the page, and thus matching the locking order elsewhere in the code. Signed-off-by: Steven Whitehouse commit 9ff8ec32e58875022447af619bec6e5aee7c77e4 Author: Steven Whitehouse Date: Fri Sep 28 13:49:05 2007 +0100 [GFS2] Split gfs2_writepage into three cases This patch splits gfs2_writepage into separate functions for each of the three cases: writeback, ordered and journalled. As a result it becomes a lot easier to see what each one is doing. The common code is moved into gfs2_writepage_common. This fixes a performance bug where we were doing more work than strictly required in the ordered write case. Signed-off-by: Steven Whitehouse commit 5561093e2cac9f7d2a77e39cc689b8d2b7f9b2bc Author: Steven Whitehouse Date: Wed Oct 17 08:47:38 2007 +0100 [GFS2] Introduce gfs2_set_aops() Just like ext3 we now have three sets of address space operations to cover the cases of writeback, ordered and journalled data writes. This means that the individual operations can now become less complicated as we are able to remove some of the tests for file data mode from the code. Signed-off-by: Steven Whitehouse commit bf36a713169432643d4fc7eeb4e0ace96d791d26 Author: Steven Whitehouse Date: Wed Oct 17 08:35:19 2007 +0100 [GFS2] Add gfs2_is_writeback() This adds a function "gfs2_is_writeback()" along the lines of the existing "gfs2_is_jdata()" in order to clean up the code and make the various tests for the inode mode more obvious. It also fixes the PageChecked() logic where we were resetting the flag too early in the case of an error path. Signed-off-by: Steven Whitehouse commit e7e36f143565d14950055c893cfaf4400ad64d34 Author: Steven Whitehouse Date: Tue Oct 16 11:47:04 2007 +0100 [GFS2] Remove unused field in struct gfs2_inode Removes a field that is not used. Signed-off-by: Steven Whitehouse commit f91a0d3e24e4b0198be5fae20d45a35c40d1efce Author: Steven Whitehouse Date: Mon Oct 15 16:29:05 2007 +0100 [GFS2] Remove useless i_cache from inodes The i_cache was designed to keep references to the indirect blocks used during block mapping so that they didn't have to be looked up continually. The idea failed because there are too many places where the i_cache needs to be freed, and this has in the past been the cause of many bugs. In addition there was no performance benefit being gained since the disk blocks in question were cached anyway. So this patch removes it in order to simplify the code to prepare for other changes which would otherwise have had to add further support for this feature. Signed-off-by: Steven Whitehouse commit 3cc3f710ce0effe397b830826a1a081fa81f11c7 Author: Steven Whitehouse Date: Mon Oct 15 15:40:33 2007 +0100 [GFS2] Use ->page_mkwrite() for mmap() This cleans up the mmap() code path for GFS2 by implementing the page_mkwrite function for GFS2. We are thus able to use the generic filemap_fault function for our ->fault() implementation. This now means that shared writable mappings will be much more efficiently shared across the cluster if there is a reasonable proportion of read activity (the greater proportion, the better). As a side effect, it also reduces the size of the code, removes special cases from readpage and readpages, and makes the code path easier to follow. Signed-off-by: Steven Whitehouse commit 51ff87bdd9f21a5d3672517b75d25ab5842d94a8 Author: Steven Whitehouse Date: Mon Oct 15 14:42:35 2007 +0100 [GFS2] Clean up internal read function As requested by Christoph, this patch cleans up GFS2's internal read function so that it no longer uses the do_generic_mapping_read function. This function is obsolete and GFS2 is the last user of it. As a side effect the internal read code gets smaller and easier to read and gfs2_readpage is split into two. One function has the locking and the other function has the rest of the logic. Signed-off-by: Steven Whitehouse Cc: Christoph Hellwig commit cc7e79b168a552152299bd8a8254dc099aacc993 Author: Wendy Cheng Date: Fri Oct 5 00:27:58 2007 -0400 [GFS2] Handle multiple glock demote requests Fix a race condition where multiple glock demote requests are sent to a node back-to-back. This patch does a check inside handle_callback() to see whether a demote request is in progress. If true, it sets a flag to make sure run_queue() will loop again to handle the new request, instead of erronously setting gl_demote_state to a different state. Signed-off-by: S. Wendy Cheng Signed-off-by: Steven Whitehouse commit d6c49a7a78fc841418bbd58bda504076f80ec51d Author: Haavard Skinnemoen Date: Thu Jan 24 16:56:53 2008 +0100 [AVR32] extint: Set initial irq type to low level David Brownell pointed out a mismatch in the avr32 extint code: > I noticed a small glitch that's not fixed by this patch: the > initial type is falling edge, but IRQ_TYPE_NONE is mapped to > IRQ_TYPE_LEVEL_LOW. Potentially surprising. Fix it by setting the initial type (and handler) to low level, matching the meaning of IRQ_TYPE_NONE. Signed-off-by: Haavard Skinnemoen commit e4f586f280bbfa05c68f99df2db981356ee30533 Author: David Brownell Date: Tue Dec 18 20:50:28 2007 -0800 [AVR32] extint: change set_irq_type() handling Update the AVR32 EIC code to use the new __set_irq_handler_unlocked() call, getting rid of one more instance of this widespread problem. Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen commit e7ba176b47db2ed53f258a6b4fe9d9fc6fa437a9 Author: Haavard Skinnemoen Date: Wed Oct 10 14:58:29 2007 +0200 [AVR32] NMI debugging Change the NMI handler to use the die notifier chain to signal anyone who cares. Add a simple "nmi debugger" which hooks into this chain and that may dump registers, task state, etc. when it happens. Signed-off-by: Haavard Skinnemoen commit f6135d12db4bed3b992052020f1c50d749cd8dc6 Author: Jan Engelhardt Date: Tue Jan 22 20:41:37 2008 +0100 [AVR32] constify function pointer tables Signed-off-by: Jan Engelhardt Signed-off-by: Haavard Skinnemoen commit 00625723428c23748668ca225e199a2c674c63f7 Author: Haavard Skinnemoen Date: Wed Jan 9 23:21:15 2008 +0100 [AVR32] ATNGW100: Update defconfig Signed-off-by: Haavard Skinnemoen commit f141035decdf8e3ce498991deee3984cb47426bf Author: Haavard Skinnemoen Date: Wed Jan 9 22:45:05 2008 +0100 [AVR32] ATSTK1002: Update defconfig Turn off a few useless options, enable a few useful ones and enable quite a few new drivers. Signed-off-by: Haavard Skinnemoen commit e8897bfef2b056a527df21b25b602c59dbbad67a Author: Haavard Skinnemoen Date: Thu Nov 29 11:15:15 2007 +0100 [AVR32] Kconfig: Choose daughterboard instead of CPU Remove the CPU selection menu and instead let it be selected by the board or daughterboard option. Add daughterboard selection for ATSTK1000 (this was previously determined based on CPU type.) Signed-off-by: Haavard Skinnemoen commit 78693e47a285dbfafabc85a42797660e4fe2967b Author: Haavard Skinnemoen Date: Mon Oct 29 17:03:26 2007 +0100 [AVR32] Add support for ATSTK1003 and ATSTK1004 ATSTK1003 and ATSTK1004 are CPU daughterboards for ATSTK1000 featuring the AT32AP7001 and AT32AP7002 CPUs, respectively. Signed-off-by: Haavard Skinnemoen commit 64d81052671bc2e66efd46251883f5e8e3043db9 Author: Haavard Skinnemoen Date: Mon Oct 29 16:24:09 2007 +0100 [AVR32] Clean up external DAC setup code Reduce the ridiculous amount of #ifdef clutter in atstk1002.c a bit by moving all the extdac stuff into its own function and providing an empty stub for the case when it isn't wanted. Signed-off-by: Haavard Skinnemoen commit f4c41b2689eec03bd4f8145a08903862673e002b Author: Haavard Skinnemoen Date: Mon Oct 29 16:02:51 2007 +0100 [AVR32] ATSTK1000: Move gpio-leds setup to setup.c There may be other boards than STK1002 that want to use the leds on STK1000. Move it to stk1000 common code to make it easier to reuse. Signed-off-by: Haavard Skinnemoen commit 438ff3f3cc33833206a48492e9d6674e4e82bed8 Author: Haavard Skinnemoen Date: Mon Oct 29 15:28:07 2007 +0100 [AVR32] Add support for AT32AP7001 and AT32AP7002 These are derivatives of the AT32AP7000 chip, which means that most of the code stays the same. Rename a few files, functions, definitions and config symbols to reflect that they apply to all AP700x chips, and exclude some platform devices from chips where they aren't present. Signed-off-by: Haavard Skinnemoen commit 281ef58ccf62eaa6c4e4b7e4c0a3ee6b52e84e5b Author: Haavard Skinnemoen Date: Fri Dec 7 10:21:02 2007 +0100 [AVR32] Provide more CPU information in /proc/cpuinfo and dmesg Add the following fields to /proc/cpuinfo: * chip type and revision (from the JTAG chip id) * cpu MHz (from clk_get_rate()) * features (from the CONFIG0 register) Also rename "cpu family" to "cpu arch" and "cpu type" to "cpu core" to remove some ambiguity. Show chip type and revision at bootup, and clarify that the other kinds of IDs that we're already printing are for the cpu core and architecture. Rename "AP7000" to "AP7" since that's the name of the core. Signed-off-by: Haavard Skinnemoen commit 2853ce5ecefe9d9ca119f33db0c23a3f075e35d9 Author: Haavard Skinnemoen Date: Wed Jan 4 17:26:23 2006 +0100 [AVR32] Oprofile support This adds the necessary architecture code to run oprofile on AVR32 using the performance counters documented by the AVR32 Architecture Manual. Signed-off-by: Haavard Skinnemoen Acked-by: Philippe Elie commit a7f5bf9b95ace39cd8b61e8c9ca1035966779ed1 Author: Haavard Skinnemoen Date: Wed Oct 31 15:22:34 2007 +0100 [AVR32] Include instrumentation menu Remove KPROBES option from Kconfig.debug and include kernel/Kconfig.instrumentation. Signed-off-by: Haavard Skinnemoen commit 9e4e980b027c892b02a73d6ea0d01c197b818a32 Author: Hans-Christian Egtvedt Date: Mon Dec 3 10:43:28 2007 +0100 Disable VGA text console for AVR32 architecture This patch disables the VGA text console for AVR32 architecture since it does not provide the vga.h include file. AVR32 users should use framebuffer console instead if they need a console on an attached display. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit 13b54a50525a9685065684e1e11258d27dd27bdf Author: Haavard Skinnemoen Date: Tue Nov 27 13:50:45 2007 +0100 [AVR32] Enable debugging only when needed Keep track of processes being debugged (including the kernel itself) and turn the OCD system on and off as appropriate. Since enabling debugging turns off some optimizations in the CPU core, this fixes the issue that enabling KProbes support or simply running a program under gdbserver will reduce system performance significantly until the next reboot. The CPU performance will still be reduced for all processes while a process is being debugged, but this is a lot better than reducing the performance forever. Signed-off-by: Haavard Skinnemoen commit 6ea6dd93c9454cc9521134f907bc970d09f460e4 Author: Haavard Skinnemoen Date: Tue Nov 27 13:02:40 2007 +0100 ptrace: Call arch_ptrace_attach() when request=PTRACE_TRACEME arch_ptrace_attach() is a hook that allows the architecture to do book-keeping after a ptrace attach. This patch adds a call to this hook when handling a PTRACE_TRACEME request as well. Currently only one architecture, m32r, implements this hook. When called, it initializes a number of debug trap slots in the ptraced task's thread struct, and it looks to me like this is the right thing to do after a PTRACE_TRACEME request as well, not only after PTRACE_ATTACH. Please correct me if I'm wrong. I want to use this hook on AVR32 to turn the debugging hardware on when a process is actually being debugged and keep it off otherwise. To be able to do this, I need to intercept PTRACE_TRACEME and PTRACE_ATTACH, as well as PTRACE_DETACH and thread exit. The latter two can be handled by existing hooks. Signed-off-by: Haavard Skinnemoen commit 7f0f616bb093823b70855685cf085d39a8784818 Author: Haavard Skinnemoen Date: Wed Nov 28 14:51:44 2007 +0100 [AVR32] Remove redundant try_to_freeze() call from do_signal() get_signal_to_deliver() will call try_to_freeze(), so there's no point in do_signal() doing it as well. Signed-off-by: Haavard Skinnemoen commit 3611553ef985ef7c5863c8a94641738addd04cff Author: Haavard Skinnemoen Date: Thu Jul 5 17:08:09 2007 +0200 [AVR32] Drop GFP_COMP for DMA memory allocations dma_alloc_coherent wants to split pages after allocation in order to reduce the memory footprint. This does not work well with GFP_COMP pages, so drop this flag before allocation. This patch was forward-ported from BSP 2.0 Signed-off-by: Haavard Skinnemoen commit 4a3ad20ccd8f4d2a0535cf98fa83f7b561ba59a9 Author: Greg Kroah-Hartman Date: Thu Jan 24 22:50:12 2008 -0800 Driver core: coding style fixes Fix up a number of coding style issues in the drivers/base/ directory that have annoyed me over the years. checkpatch.pl is now very happy. Signed-off-by: Greg Kroah-Hartman commit e374a2bfebf359f846216336de91670be40499da Author: Greg Kroah-Hartman Date: Thu Jan 24 21:59:04 2008 -0800 Kobject: fix coding style issues in kobject c files Clean up the kobject.c and kobject_uevent.c files to follow the proper coding style rules. Signed-off-by: Greg Kroah-Hartman commit 79a6ee42fd81be9abc6bdab08f932875924b26a5 Author: Greg Kroah-Hartman Date: Thu Jan 24 21:27:06 2008 -0800 Kobject: fix coding style issues in kobject.h Finally clean up the odd spaces and other mess in kobject.h Signed-off-by: Greg Kroah-Hartman commit d462943afee8bff610258a82dba666e8ab72c9c8 Author: Greg Kroah-Hartman Date: Thu Jan 24 21:04:46 2008 -0800 Driver core: fix coding style issues in device.h Finally clean up the odd spaces and other mess in device.h Signed-off-by: Greg Kroah-Hartman commit 5ed2c832ed256b18d90c2462369c62fd79312e6c Author: Dave Young Date: Tue Jan 22 15:14:18 2008 +0800 spi: use class iteration api Convert to use the class iteration api. Signed-off-by: Dave Young Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 9c7701088a61cc0cf8a6e1c68d1e74e3cc2ee0b7 Author: Dave Young Date: Tue Jan 22 14:01:34 2008 +0800 scsi: use class iteration api Convert to use the class iteration api. Signed-off-by: Dave Young Cc: James Bottomley Signed-off-by: Greg Kroah-Hartman commit 71da890509fec13d54329485bf5e4ac16b992bb6 Author: Dave Young Date: Tue Jan 22 14:00:34 2008 +0800 rtc: use class iteration api Convert to use the class iteration api. Signed-off-by: Dave Young Cc: Alessandro Zummo Signed-off-by: Greg Kroah-Hartman commit 443cad920a1c6894da3de917ce02a194cc6d80ea Author: Dave Young Date: Tue Jan 22 13:58:22 2008 +0800 power supply : use class iteration api Convert to use the class iteration api. Signed-off-by: Dave Young Cc: Anton Vorontsov Cc: David Woodhouse Signed-off-by: Greg Kroah-Hartman commit 73cf60232ef16e1f8a64defa97214a1722db1e6c Author: Dave Young Date: Tue Jan 22 13:56:32 2008 +0800 ieee1394: use class iteration api Convert to use the class iteration api. Signed-off-by: Dave Young Cc: Stefan Richter Signed-off-by: Greg Kroah-Hartman commit fd04897bb20be29d60f7e426a053545aebeaa61a Author: Dave Young Date: Tue Jan 22 15:27:08 2008 +0800 Driver Core: add class iteration api Add the following class iteration functions for driver use: class_for_each_device class_find_device class_for_each_child class_find_child Signed-off-by: Dave Young Acked-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 63b6971a0876b744e2fcf3c9df15d130501e1deb Author: Cornelia Huck Date: Mon Jan 21 16:09:44 2008 +0100 Driver core: Cleanup get_device_parent() in device_add() and device_move() Make setup_parent() void as get_device_parent() will always return either a valid kobject or NULL. Introduce cleanup_glue_dir() to drop reference grabbed on "glue" directory by get_device_parent(). Use it for cleanup in device_move() and device_add() on errors. This should fix the refcounting problem reported in http://marc.info/?l=linux-kernel&m=120052487909200&w=2 Signed-off-by: Cornelia Huck Cc: Dave Young Cc: Gabor Gombas Cc: Tejun Heo Cc: Al Viro Cc: Marcel Holtmann Cc: David Miller Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 4f0146919be6bff47b5ea97252bcec0286e4dd19 Author: Jan Engelhardt Date: Tue Jan 22 20:50:54 2008 +0100 UIO: constify function pointer tables Signed-off-by: Jan Engelhardt Signed-off-by: Greg Kroah-Hartman commit ae72cddb2338bc36b991674a56a7bf70ae104d9e Author: Stephen Rothwell Date: Fri Jan 11 17:24:53 2008 +1100 Driver Core: constify the name passed to platform_device_register_simple This name is just passed to platform_device_alloc which has its parameter declared const. Signed-off-by: Stephen Rothwell Signed-off-by: Greg Kroah-Hartman commit 92b421416f8194aec87b1439487b5544e9ac8187 Author: Randy Dunlap Date: Mon Dec 31 10:05:43 2007 -0800 driver core: fix build with SYSFS=n When SYSFS=n and MODULES=y, build ends with: linux-2.6.24-rc6-mm1/drivers/base/module.c: In function 'module_add_driver': linux-2.6.24-rc6-mm1/drivers/base/module.c:49: error: 'module_kset' undeclared (first use in this function) make[3]: *** [drivers/base/module.o] Error 1 Below is one possible fix. Build-tested with all 4 config combinations of SYSFS & MODULES. Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 9148fe8767dc8612b2e66d11126744d6436cc94e Author: Randy Dunlap Date: Mon Dec 31 10:05:34 2007 -0800 sysfs: make SYSFS_DEPRECATED depend on SYSFS Make SYSFS_DEPRECATED depend on SYSFS since files that check CONFIG_SYSFS_DEPRECATED don't check for CONFIG_SYSFS first. Also don't prompt user about SYSFS_DEPRECATED if SYSFS=n. Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit db1118a460c7bfd20278955cbf56c0b283a9701f Author: Denis Cheng Date: Thu Dec 6 02:24:40 2007 +0800 Driver core: use LIST_HEAD instead of call to INIT_LIST_HEAD in __init LIST_HEAD has been widely used, so switch to this simpler method. Signed-off-by: Denis Cheng Signed-off-by: Greg Kroah-Hartman commit 44bfe16e1083d66f97a5289e359c52ee2c8b19a7 Author: Greg Kroah-Hartman Date: Tue Nov 27 11:28:26 2007 -0800 kobject: add sample code for how to use ksets/ktypes/kobjects This is a more complex example showing how to create a kset and a ktype and some default attributes for a group of kobjects. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 40efcb05f213180b7cc8fd8d963377305f236c28 Author: Greg Kroah-Hartman Date: Tue Nov 27 11:28:26 2007 -0800 kobject: add sample code for how to use kobjects in a simple manner. This is a simple kobject module, showing how to use kobj_attributes in basic and more complex ways. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 36d78d6c5b50ba945bbdee9bf1d8daac00154e02 Author: Greg Kroah-Hartman Date: Tue Nov 27 11:28:26 2007 -0800 kobject: update the kobject/kset documentation This provides a much-needed kobject and kset documentation update. Thanks to Kay Sievers, Alan Stern, Jonathan Corbet, Randy Dunlap, Jan Engelhardt, and others for reviewing and providing help with this document. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 5008743dc7f98dd1ad4f20f4d7ff0b479e78895d Author: Greg Kroah-Hartman Date: Tue Nov 27 11:28:26 2007 -0800 kobject: remove old, outdated documentation. As we are replacing the documentation, it's easier to do this in a two stage pass, delete the old file and add the new one. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit af5ca3f4ec5cc4432a42a73b050dd8898ce8fd00 Author: Kay Sievers Date: Thu Dec 20 02:09:39 2007 +0100 Driver core: change sysdev classes to use dynamic kobject names All kobjects require a dynamically allocated name now. We no longer need to keep track if the name is statically assigned, we can just unconditionally free() all kobject names on cleanup. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 528a4bf1d5ffed310d26fc1d82d45c02949f71cf Author: Greg Kroah-Hartman Date: Thu Dec 20 08:13:05 2007 -0800 Kobject: remove kobject_unregister() as no one uses it anymore There are no in-kernel users of kobject_unregister() so it should be removed. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 78a2d906b40fe530ea800c1e873bfe8f02326f1e Author: Greg Kroah-Hartman Date: Thu Dec 20 08:13:05 2007 -0800 Kobject: convert remaining kobject_unregister() to kobject_put() There is no need for kobject_unregister() anymore, thanks to Kay's kobject cleanup changes, so replace all instances of it with kobject_put(). Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 197b12d6796a3bca187f22a8978a33d51e2bcd79 Author: Greg Kroah-Hartman Date: Thu Dec 20 08:13:05 2007 -0800 Kobject: convert fs/* from kobject_unregister() to kobject_put() There is no need for kobject_unregister() anymore, thanks to Kay's kobject cleanup changes, so replace all instances of it with kobject_put(). Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit c10997f6575f476ff38442fa18fd4a0d80345f9d Author: Greg Kroah-Hartman Date: Thu Dec 20 08:13:05 2007 -0800 Kobject: convert drivers/* from kobject_unregister() to kobject_put() There is no need for kobject_unregister() anymore, thanks to Kay's kobject cleanup changes, so replace all instances of it with kobject_put(). Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 38a382ae5dd4f4d04e3046816b0a41836094e538 Author: Greg Kroah-Hartman Date: Thu Dec 20 08:13:05 2007 -0800 Kobject: convert arch/* from kobject_unregister() to kobject_put() There is no need for kobject_unregister() anymore, thanks to Kay's kobject cleanup changes, so replace all instances of it with kobject_put(). Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 7a6a41615bfb2f03ce797bc24104c50b42c935e5 Author: Greg Kroah-Hartman Date: Sat Dec 22 21:18:25 2007 -0800 Modules: remove unneeded release function Now that kobjects properly clean up their name structures, no matter if they have a release function or not, we can drop this empty module kobject release function too (it was needed prior to this because of the way we handled static kobject names, we based the fact that if a release function was present, then we could safely free the name string, now we are more smart about things and only free names we have previously set.) Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 0f4dafc0563c6c49e17fe14b3f5f356e4c4b8806 Author: Kay Sievers Date: Wed Dec 19 01:40:42 2007 +0100 Kobject: auto-cleanup on final unref We save the current state in the object itself, so we can do proper cleanup when the last reference is dropped. If the initial reference is dropped, the object will be removed from sysfs if needed, if an "add" event was sent, "remove" will be send, and the allocated resources are released. This allows us to clean up some driver core usage as well as allowing us to do other such changes to the rest of the kernel. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 12e339ac6e31a34fe42396aec8fb1c0b43caf61e Author: Greg Kroah-Hartman Date: Tue Apr 9 12:14:34 2002 -0700 Kset: remove kset_add function No one is calling this anymore, so just remove it and hard-code the one internal-use of it. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 6d06adfaf82d154023141ddc0c9de18b6a49090b Author: Greg Kroah-Hartman Date: Wed Dec 19 11:26:50 2007 -0800 Kobject: remove kobject_register() The function is no longer used by anyone in the kernel, and it prevents the proper sending of the kobject uevent after the needed files are set up by the caller. kobject_init_and_add() can be used in its place. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit f9cb074bff8e762ef24c44678a5a7d907f82fbeb Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: rename kobject_init_ng() to kobject_init() Now that the old kobject_init() function is gone, rename kobject_init_ng() to kobject_init() to clean up the namespace. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit e1543ddf739b22a8c4218716ad50c26b3e147403 Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: remove kobject_init() as no one uses it anymore The old kobject_init() function is on longer in use, so let us remove it from the public scope (kset mess in the kobject.c file still uses it, but that can be cleaned up later very simply.) Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit b2d6db5878a0832659ed58476357eea2db915550 Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: rename kobject_add_ng() to kobject_add() Now that the old kobject_add() function is gone, rename kobject_add_ng() to kobject_add() to clean up the namespace. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 9e7bbccd0290e720e0874443932869c55f63d5a8 Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: remove kobject_add() as no one uses it anymore The old kobject_add() function is on longer in use, so let us remove it from the public scope (kset mess in the kobject.c file still uses it, but that can be cleaned up later very simply.) Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit ac3c8141f62f357169980ec21b7be6d29964a394 Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: convert kernel/module.c to use kobject_init/add_ng() This converts the code to use the new kobject functions, cleaning up the logic in doing so. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 649316b25b148e57c8ef71748fc69fa6db276ad1 Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: convert drivers/md/md.c to use kobject_init/add_ng() This converts the code to use the new kobject functions, cleaning up the logic in doing so. Cc: Neil Brown Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit d5a379f77bc79c0a78b26f8c0159f55c8b11d68b Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: convert block/ll_rw_blk.c to use kobject_init/add_ng() This converts the code to use the new kobject functions, cleaning up the logic in doing so. Cc: Jens Axboe Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 29e3dd0df1b9556170ce90484a9d1a2ff9104ea7 Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: convert block/elevator.c to use kobject_init/add_ng() This converts the code to use the new kobject functions, cleaning up the logic in doing so. Cc: Jens Axboe Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit edfaa7c36574f1bf09c65ad602412db9da5f96bf Author: Kay Sievers Date: Mon May 21 22:08:01 2007 +0200 Driver core: convert block from raw kobjects to core devices This moves the block devices to /sys/class/block. It will create a flat list of all block devices, with the disks and partitions in one directory. For compatibility /sys/block is created and contains symlinks to the disks. /sys/class/block |-- sda -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda |-- sda1 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1 |-- sda10 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda10 |-- sda5 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda5 |-- sda6 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda6 |-- sda7 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda7 |-- sda8 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda8 |-- sda9 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda9 `-- sr0 -> ../../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sr0 /sys/block/ |-- sda -> ../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda `-- sr0 -> ../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sr0 Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 09f82ea92822a7bbb7e816508abbda47ed54a77f Author: Alan Stern Date: Mon Nov 19 10:53:40 2007 -0500 Kobject: drop child->parent ref at unregistration This patch (as1015) reverts changes that were made to the driver core about four years ago. The intent back then was to avoid certain kinds of invalid memory accesses by leaving kernel objects allocated as long as any of their children were still allocated. The original and correct approach was to wait only as long as any children were still _registered_; that's what this patch reinstates. This fixes a problem in the SCSI core made visible by the class_device to regular device conversion: A reference loop (scsi_device holds reference to request_queue, which is the child of a gendisk, which is the child of the scsi_device) prevents the data structures from being released, even though they are deregistered okay. It's possible that this change will cause a few bugs to surface, things that have been hidden for several years. They can be fixed easily enough by having the child device take an explicit reference to the parent whenever needed. Signed-off-by: Alan Stern Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 97c146ef075dc40ae34407c03d3860fc3850b8e8 Author: Kay Sievers Date: Thu Nov 29 23:46:11 2007 +0100 sysfs: fix /sys/module/*/holders after sysfs logic change Sysfs symlinks now require fully registered kobjects as a target, otherwise the call to create a symlink will fail. Here we register the kobject before we request the symlink in the holders directory. Signed-off-by: Kay Sievers Cc: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit da231fd5d113ab6da5dab7a2d2c38d0a540f939c Author: Kay Sievers Date: Wed Nov 21 17:29:15 2007 +0100 Driver core: fix class glue dir cleanup logic We should remove the glue directory between the class and the bus device _after_ we sent out the 'remove' event for the device, otherwise the parent relationship is no longer valid, and composing the path with deleted sysfs entries will not work. Cc: Alan Stern Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit ef2c51746dc89c2326ce522f8fb8a57695780e75 Author: Alan Stern Date: Fri Nov 16 11:57:28 2007 -0500 Driver core: fix race in __device_release_driver This patch (as1013) was suggested by David Woodhouse; it fixes a race in the driver core. If a device is unregistered at the same time as its driver is unloaded, the driver's code pages may be unmapped while the remove method is still running. The calls to get_driver() and put_driver() were intended to prevent this, but they don't work if the driver's module count has already dropped to 0. Instead, the patch keeps the device on the driver's list until after the remove method has returned. This forces the necessary synchronization to occur. Signed-off-by: Alan Stern Signed-off-by: David Woodhouse Signed-off-by: Greg Kroah-Hartman commit c8e90d822bff3e0502d004facedb05859f98055f Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change drivers/base/bus to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 7dc72b2842381684b864750af31a5fb168dec764 Author: Greg Kroah-Hartman Date: Wed Nov 28 23:49:41 2007 -0800 Driver core: clean up debugging messages The driver core debugging messages are a mess. This provides a unified message that makes them actually useful. The format for new kobject debug messages should be: driver/bus/class: 'OBJECT_NAME': FUNCTION_NAME: message.\n Note, the class code is not changed in this patch due to pending patches in my queue that this would conflict with. A later patch will clean them up. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit e5dd12784617f0f1fae5f96a7fac1ec4c49fadbe Author: Greg Kroah-Hartman Date: Wed Nov 28 15:59:15 2007 -0800 Driver core: move the static kobject out of struct driver This patch removes the kobject, and a few other driver-core-only fields out of struct driver and into the driver core only. Now drivers can be safely create on the stack or statically (like they currently are.) Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit c63469a3985a9771c18a916b8d42845d044ea0b1 Author: Greg Kroah-Hartman Date: Wed Nov 28 12:23:18 2007 -0800 Driver core: move the driver specific module code into the driver core The module driver specific code should belong in the driver core, not in the kernel/ directory. So move this code. This is done in preparation for some struct device_driver rework that should be confined to the driver core code only. This also lets us keep from exporting these functions, as no external code should ever be calling it. Thanks to Andrew Morton for the !CONFIG_MODULES fix. Signed-off-by: Greg Kroah-Hartman commit cbe9c595f1de2e2a98403be2c14bfbc2486e84c4 Author: Greg Kroah-Hartman Date: Wed Dec 19 15:54:39 2007 -0400 Driver: add driver_add_kobj for looney iseries_veth driver The iseries driver wants to hang kobjects off of its driver, so, to preserve backwards compatibility, we need to add a call to the driver core to allow future changes to work properly. Hopefully no one uses this function in the future and the iseries_veth driver authors come to their senses so I can remove this hack... Cc: Dave Larson Cc: Santiago Leon Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 23b9c1ab5baf368a32b7242bf110ef1f48700d04 Author: Greg Kroah-Hartman Date: Tue Dec 4 22:53:16 2007 -0800 Infiniband: make ipath driver use default driver groups. Make the ipath driver use the new driver functions so that it does not touch the sysfs portion of the driver structure. We also remove the redundant symlink from the device back to the driver, as it is already in the sysfs tree. Any userspace tools should be using the standard symlink, not some driver specific one. Cc: Roland Dreier Cc: Bryan O'Sullivan Cc: Arthur Jones Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 0478b83adb0269033221dc063d1185a224681ee8 Author: Cornelia Huck Date: Wed Dec 5 12:50:31 2007 +0100 zfcp: Use device_driver default attribute groups. CC: Swen Schillig Signed-off-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 5b88feb134e0a7413cb9cb6ba677943615ca56cc Author: Cornelia Huck Date: Wed Dec 5 12:50:28 2007 +0100 netiucv: Use device_driver default attribute groups. CC: Ursula Braun Signed-off-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 57c745340a60c51d2b9af3d4dcf7e0ede284855b Author: Cornelia Huck Date: Wed Dec 5 12:50:23 2007 +0100 driver core: Introduce default attribute groups. This is lot like default attributes for devices (and indeed, a lot of the code is lifted from there). Signed-off-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 2b937303188807b498d1a3163f60305f0941538e Author: Greg Kroah-Hartman Date: Wed Nov 28 12:23:18 2007 -0800 PCI: remove foolish code from pci-driver.c The PCI bus should not be trying to declare its own attribute type. Especially as this code could never ever be called because the driver core overwrites the driver kobject type to be its own internal type. Delete all of this code as it was never being used and is not correct. Also update my copyright on the file while I'm touching things there. Signed-off-by: Greg Kroah-Hartman commit 03d43b19b9f56c1d18bc8f2f7890534fbe6a285d Author: Greg Kroah-Hartman Date: Wed Nov 28 12:23:18 2007 -0800 PCI: use proper call to driver_create_file Don't try to call the "raw" sysfs_create_file when we already have a helper function to do this kind of work for us. Signed-off-by: Greg Kroah-Hartman commit 2344c6de6b6f2a4b07e4416aac9522d23e00d7bc Author: Greg Kroah-Hartman Date: Wed Nov 28 12:23:18 2007 -0800 PCMCIA: use proper call to driver_create_file Don't try to call the "raw" sysfs_create_file when we already have a helper function to do this kind of work for us. Signed-off-by: Greg Kroah-Hartman commit 15147ffd57576fc00a23ad8a020ff46493a4f924 Author: Greg Kroah-Hartman Date: Wed Nov 28 12:23:18 2007 -0800 USB: use proper call to driver_create_file Don't try to call the "raw" sysfs_create_file when we already have a helper function to do this kind of work for us. Signed-off-by: Greg Kroah-Hartman commit c6f7e72a3f4641095ade9ded287d910c980c6148 Author: Greg Kroah-Hartman Date: Thu Nov 1 19:41:16 2007 -0700 driver core: remove fields from struct bus_type struct bus_type is static everywhere in the kernel. This moves the kobject in the structure out of it, and a bunch of other private only to the driver core fields are now moved to a private structure. This lets us dynamically create the backing kobject properly and gives us the chance to be able to document to users exactly how to use the struct bus_type as there are no fields they can improperly access. Thanks to Kay for the build fixes on this patch. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit b249072ee6897fe4f8d461c7bb4b926223263c28 Author: Greg Kroah-Hartman Date: Thu Nov 1 19:41:16 2007 -0700 driver core: add way to get to bus device klist This allows an easier way to get to the device klist associated with a struct bus_type (you have three to choose from...) This will make it easier to move these fields to be dynamic in a future patch. The only user of this is the PCI core which horribly abuses this interface to rearrange the order of the pci devices. This should be done using the existing bus device walking functions, but that's left for future patches. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 0fed80f7a63abd7168907267af69ee31f6bcf301 Author: Greg Kroah-Hartman Date: Thu Nov 1 19:41:16 2007 -0700 driver core: add way to get to bus kset This allows an easier way to get to the kset associated with a struct bus_type (you have three to choose from...) This will make it easier to move these fields to be dynamic in a future patch. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit cc972e896b303f453f5893ecf8eca0d0e395ab64 Author: Greg Kroah-Hartman Date: Thu Nov 1 13:31:26 2007 -0700 driver core: remove owner field from struct bus_type This isn't used by anything in the driver core, and by no one in the 204 different usages of it in the kernel tree. Remove this field so no one gets any idea that it is needed to be used. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit e32cc7366d88eeba12d22272a73dd83fb570ccb0 Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: convert net/bridge/br_if.c to use kobject_init/add_ng() This converts the code to use the new kobject functions, cleaning up the logic in doing so. Cc: Stephen Hemminger Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 1eada11c88251e0a30ce5690d2607bb4293b3564 Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: convert mm/slub.c to use kobject_init/add_ng() This converts the code to use the new kobject functions, cleaning up the logic in doing so. Cc: Christoph Lameter Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit cf15126b3d4511e06e5299781ab74922590900be Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: convert kernel/user.c to use kobject_init/add_ng() This converts the code to use the new kobject functions, cleaning up the logic in doing so. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit e43b9192c59402685bd1f809068dd13aa5931570 Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: convert kernel/params.c to use kobject_init/add_ng() This converts the code to use the new kobject functions, cleaning up the logic in doing so. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit a5815ddf26aa8208d4ad79b4fba5e6bf7d5ba688 Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: convert fs/char_dev.c to use kobject_init/add_ng() This converts the code to use the new kobject functions, cleaning up the logic in doing so. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 78be3d2f574bf8a9886550ad07b8124b194badb8 Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: convert drivers/net/iseries_veth.c to use kobject_init/add_ng() This converts the code to use the new kobject functions, cleaning up the logic in doing so. Cc: Kyle A. Lucke Cc: David Gibson Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 9990513c1ef040528c4e38163a073089d39c7903 Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: convert drivers/base/core.c to use kobject_init/add_ng() This converts the code to use the new kobject functions, cleaning up the logic in doing so. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 60728d62e4d273776e9ef9704f9ff8e8a248a8a1 Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: convert drivers/base/class.c to use kobject_init/add_ng() This converts the code to use the new kobject functions, cleaning up the logic in doing so. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 52840bd628707979b5bbcce3c506786d3a69dba0 Author: Greg Kroah-Hartman Date: Mon Dec 17 23:05:35 2007 -0700 Kobject: the cris iop_fw_load.c code is broken This code is really really really broken. So much so that it's almost impossible to fix with a simple patch, so just comment out the offending registration with the kobject core, and mark the driver as broken. The problem is that the code is trying to register a "raw" struct device, which is not allowed. struct device is only for use within the driver model. This is being done to try to use the firmware layer which wants a struct device. To properly fix this, use something easy, like a platform device, which is a struct device and can be used for this kind of thing. Cc: Mikael Starvik Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 542eb75a27616bdde95c8d3764e0ab703579f8b5 Author: Greg Kroah-Hartman Date: Wed Dec 19 09:23:20 2007 -0800 Kobject: change arch/x86/kernel/cpu/mcheck/mce_amd_64.c to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Jacob Shin Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit a521cf209c6e7042f85b2c5b16da3ffa8004fb7b Author: Greg Kroah-Hartman Date: Wed Dec 19 09:23:20 2007 -0800 Kobject: change arch/x86/kernel/cpu/mcheck/mce_amd_64.c to use kobject_create_and_add Make this kobject dynamic and convert it to not use kobject_register, which is going away. Cc: Jacob Shin Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 3830c62fef49f8bb1b2f353c7fb9469e3d038f5d Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change drivers/md/md.c to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Neil Brown Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit c199790a8bc90c91b88ad1205dee2955401cff81 Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change arch/ia64/kernel/topology.c to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Tony Luck Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 73f368cf679babef42e54f0fe19270040ac9d4d7 Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change drivers/parisc/pdc_stable.c to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Kyle McMartin Cc: Matthew Wilcox Cc: Grant Grundler Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 8dde2a96c146cc0491beec41fe3bf0477a1f15aa Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change drivers/net/ibmveth.c to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Dave Larson Cc: Santiago Leon Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit d48b335256cd75fcb1a4abb3ce8136d8d9c931cc Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change arch/sh/kernel/cpu/sh4/sq.c to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 89c426066462263c90957c37af29765855516b83 Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change drivers/block/pktcdvd.c to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Jens Axboe Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit a77aa28a2db3d134dd387f0f05cd6b6717fb1d28 Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change drivers/acpi/system.c to use kobject_create_and_add Stop using kobject_register for this static kobject, as it's overkill. This way is much simpler. Cc: Len Brown Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 5b3f355d8fef95901505e924818b3031092453c2 Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change arch/x86/kernel/cpu/intel_cacheinfo.c to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Ashok Raj Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 61030bfb79148b12b661580c8e3c2adfe1d9fc9e Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change drivers/base/sys.c to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 64dbcac3a16d0d22045b2c80d7f208196575486a Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change drivers/pci/hotplug/pci_hotplug_core.c to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Kristen Carlson Accardi Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 94f57f33680922197581b127b3badde7ef658258 Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change drivers/cpuidle/sysfs.c to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Shaohua Li Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit b2ed215a3338b8b16187be8d136153054118a41e Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change drivers/edac to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Acked-by: Doug Thompson Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 038c5b3e412b0b751cb4b1507506bad3c7ffefae Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change drivers/cpufreq/cpufreq.c to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Dominik Brodowski Cc: Ashok Raj Cc: Jacob Shin Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit d6d292c451e0ffe715fff36dc3a1129868258fa3 Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change drivers/firmware/efivars.c to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Matt Domsch Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit dd002e807486f9858147c073069a37ba625baad8 Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change drivers/firmware/edd.c to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Matt Domsch Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 35be0681983752116a8161ad3b30e830963108a4 Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change drivers/infiniband to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Roland Dreier Cc: Sean Hefty Cc: Hal Rosenstock Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 901195ed7f4b2f30dc5a36271887939c5d7bfb9f Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change GFS2 to use kobject_init_and_add Stop using kobject_register, as this way we can control the sending of the uevent properly, after everything is properly initialized. Cc: Steven Whitehouse Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 43b98c4a66760d18d4056beed4078a8dbad193cc Author: Greg Kroah-Hartman Date: Mon Dec 17 15:54:39 2007 -0400 Kobject: change net/bridge to use kobject_create_and_add The kobject in the bridge code is only used for registering with sysfs, not for any lifespan rules. This patch changes it to be only a pointer and use the simpler api for this kind of thing. Cc: Stephen Hemminger Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 81e7c6a636c81d9eeaeaa732bfbace44535fab00 Author: Greg Kroah-Hartman Date: Tue Dec 4 22:41:54 2007 +0000 UIO: fix kobject usage The uio kobject code is "wierd". This patch should hopefully fix it up to be sane and not leak memory anymore. Cc: Kay Sievers Cc: Thomas Gleixner Cc: Benedikt Spranger Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit 9f66fa2a4690a16da0dbaae2f44ddfc313802504 Author: Greg Kroah-Hartman Date: Wed Nov 28 23:49:41 2007 -0800 kobject: clean up debugging messages The kobject debugging messages are a mess. This provides a unified message that makes them actually useful. The format for new kobject debug messages should be: kobject: 'KOBJECT_NAME' (ADDRESS): FUNCTION_NAME: message.\n Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit cfb36fff45e3997b8044c81045fc4869ba5f281a Author: Greg Kroah-Hartman Date: Wed Nov 28 10:46:22 2007 -0800 kobject: grab the kset reference in kobject_add, not kobject_init kobject_init should not be grabing any references, but only initializing the object. This patch fixes this, and makes the lock hold-time shorter for when a kset is present in the kobject. The current kernel tree has been audited to verify that this change should be safe. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit d76e15fb20eeb7632ef38876a884fe3508b2c01d Author: Greg Kroah-Hartman Date: Tue Nov 27 11:28:26 2007 -0800 driver core: make /sys/power a kobject /sys/power should not be a kset, that's overkill. This patch renames it to power_kset and fixes up all usages of it in the tree. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 37b0c020343080241984d978981d6caf877b278a Author: Greg Kroah-Hartman Date: Mon Nov 26 22:11:55 2007 -0800 driver core: clean up device_shutdown device_shutdown does not need to be in a separate file. Move it into the driver core file where it belongs. This also moves us one more step closer to making devices_kset static, now only the crazy sysdevs are keeping that from happening... Signed-off-by: Greg Kroah-Hartman commit 822a89ed1ea0f7a2d8079307426fbeeac0370138 Author: Greg Kroah-Hartman Date: Tue Nov 20 13:56:21 2007 -0800 driver core: clean up shutdown.c shutdown.c had some stuff it did not need, including a duplicate extern in the power.h file. This cleans up all of that. Signed-off-by: Greg Kroah-Hartman commit c829a5b49858a83cc7bb5e1e730796575f5bb261 Author: Greg Kroah-Hartman Date: Wed Nov 7 13:56:19 2007 -0800 kobject: convert parisc/pdc_stable to use kobject_create Using a kset for this simple directory is an overkill. Cc: Kay Sievers Cc: Thibaut VARENE Cc: Matthew Wilcox Cc: Grant Grundler Cc: Kyle McMartin Signed-off-by: Greg Kroah-Hartman commit bc87d2fe7a1190f1c257af8a91fc490b1ee35954 Author: Greg Kroah-Hartman Date: Wed Nov 7 13:56:19 2007 -0800 kobject: convert efivars to use kobject_create Using a kset for this simple directory is an overkill. Cc: Kay Sievers Cc: Matt Domsch Cc: Matt Tolentino Signed-off-by: Greg Kroah-Hartman commit 6e90aa972dda8ef86155eefcdbdc8d34165b9f39 Author: Greg Kroah-Hartman Date: Tue Nov 6 15:08:08 2007 -0800 kobject: convert ecryptfs to use kobject_create Using a kset for this trivial directory is an overkill. Cc: Kay Sievers Cc: Mike Halcrow Cc: Phillip Hellewell Signed-off-by: Greg Kroah-Hartman commit f55842f2329f4b3a3a6bb98b005bca3cc851d38a Author: Greg Kroah-Hartman Date: Tue Nov 6 15:03:30 2007 -0800 kobject: clean up rpadlpar horrid sysfs abuse rpadlpar pci hotplug driver was doing some pretty bad stuff with the sysfs files. This cleans up the logic to be sane and gets rid of the gratuitous kset that is not needed for a simple directory like this. Note, this patch is not even build tested, let alone run-time tested. Someone with access to this hardware and can test would be greatly appreciated. Cc: Kay Sievers Cc: John Rose Cc: Badari Pulavarty Cc: Kamalesh Babulal Signed-off-by: Greg Kroah-Hartman commit 2fb9113b974c3c7c43e76647bd5077238e274e1c Author: Greg Kroah-Hartman Date: Tue Nov 6 15:03:30 2007 -0800 kobject: remove subsystem_(un)register functions These functions are no longer used and are the last remants of the old subsystem crap. So delete them for good. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 0ff21e46630abce11fdaaffabd72bbd4eed5ac2c Author: Greg Kroah-Hartman Date: Tue Nov 6 10:36:58 2007 -0800 kobject: convert kernel_kset to be a kobject kernel_kset does not need to be a kset, but a much simpler kobject now that we have kobj_attributes. We also rename kernel_kset to kernel_kobj to catch all users of this symbol with a build error instead of an easy-to-ignore build warning. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 5c03c7ab886859eb195440dbb6ccb8c30c4e84cc Author: Greg Kroah-Hartman Date: Fri Nov 2 16:19:59 2007 -0700 kset: remove decl_subsys macro This macro is no longer used. ksets should be created dynamically with a call to kset_create_and_add() not declared statically. Yes, there are 5 remaining static struct kset usages in the kernel tree, but they will be fixed up soon. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 830d3cfb16728e2496edc2985ad8f68025135e37 Author: Greg Kroah-Hartman Date: Tue Nov 6 10:36:58 2007 -0800 kset: convert block_subsys to use kset_create Dynamically create the kset instead of declaring it statically. We also rename block_subsys to block_kset to catch all users of this symbol with a build error instead of an easy-to-ignore build warning. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit c60b71787982cefcf9fa09aa281fa8c4c685d557 Author: Greg Kroah-Hartman Date: Fri Nov 2 16:19:59 2007 -0700 kset: convert ocfs2 to use kset_create Dynamically create the kset instead of declaring it statically. Also use the new kobj_attribute which cleans up this file a _lot_. Cc: Kay Sievers Cc: Mark Fasheh Cc: Kurt Hackel Signed-off-by: Greg Kroah-Hartman commit f62ed9e33b3ccff54d66b08f82d11940bb9e269b Author: Greg Kroah-Hartman Date: Mon Nov 5 13:16:15 2007 -0800 firmware: change firmware_kset to firmware_kobj There is no firmware "subsystem" it's just a directory in /sys that other portions of the kernel want to hook into. So make it a kobject not a kset to help alivate anyone who tries to do some odd kset-like things with this. Cc: Kay Sievers Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 15f2f9b3a9db65aaf908fe7ee17bbe262ae3550f Author: Greg Kroah-Hartman Date: Fri Nov 2 16:19:59 2007 -0700 firmware: remove firmware_(un)register() These functions are no longer called or needed, so we can remove them. As I rewrote the whole firmware.c file, add my copyright. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 99e0d2fc6c60ca44f56203eeda9fc0e07b508f06 Author: Greg Kroah-Hartman Date: Fri Nov 2 16:19:59 2007 -0700 kobject: convert /sys/firmware/acpi/ to use kobject_create We don't need a kset here, a simple kobject will do just fine, so dynamically create the kobject and use it. Cc: Kay Sievers Cc: Len Brown Signed-off-by: Greg Kroah-Hartman commit 9651d350ab2c1b9ef1875be2a9def1c375e6503f Author: Greg Kroah-Hartman Date: Fri Nov 2 16:19:59 2007 -0700 kset: convert edd to use kset_create Dynamically create the kset instead of declaring it statically. Cc: Kay Sievers Cc: Matt Domsch Signed-off-by: Greg Kroah-Hartman commit 000f2a4d8cfc1e1cbc0aa98136015e7ae7719b46 Author: Kay Sievers Date: Fri Nov 2 13:47:53 2007 +0100 Driver Core: kill subsys_attribute and default sysfs ops Remove the no longer needed subsys_attributes, they are all converted to the more sensical kobj_attributes. There is no longer a magic fallback in sysfs attribute operations, all kobjects which create simple attributes need explicitely a ktype assigned, which tells the core what was intended here. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 4443d07fcfab39c4d2d9d7711cff983f15b374fc Author: Greg Kroah-Hartman Date: Fri Nov 2 15:25:00 2007 -0700 kset: convert parisc/pdc_stable.c to use kset_create Dynamically create the kset instead of declaring it statically. This makes the kobject attributes now work properly that I broke in the previous patch. Cc: Kay Sievers Cc: Thibaut VARENE Cc: Matthew Wilcox Cc: Grant Grundler Cc: Kyle McMartin Signed-off-by: Greg Kroah-Hartman commit 7f548217860a7cf8a345d87792a07512450dfbff Author: Greg Kroah-Hartman Date: Fri Nov 2 15:25:00 2007 -0700 kobject: convert parisc/pdc_stable to kobj_attr interface This makes the code a bit simpler and and gets us one step closer to deleting the deprecated subsys_attr code. NOTE, this needs the next patch in the series in order to work properly. This will build, but the sysfs files will not properly operate. Cc: Kay Sievers Cc: Thibaut VARENE Cc: Matthew Wilcox Cc: Grant Grundler Cc: Kyle McMartin Signed-off-by: Greg Kroah-Hartman commit d91885bef25be2bab686bed082a5d82e358333b9 Author: Greg Kroah-Hartman Date: Fri Nov 2 17:17:00 2007 -0400 kset: convert s390 ipl.c to use kset_create Dynamically create the kset instead of declaring it statically. This makes the kobject attributes now work properly that I broke in the previous patch. Cc: Kay Sievers Cc: Michael Holzheu Cc: Heiko Carstens Cc: Volker Sameske Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 9b949165bd4a86c536cb92a9ce4367effbde9079 Author: Greg Kroah-Hartman Date: Fri Nov 2 17:17:00 2007 -0400 kobject: convert s390 ipl.c to kobj_attr interface This makes the code a bit simpler and and gets us one step closer to deleting the deprecated subsys_attr code. NOTE, this needs the next patch in the series in order to work properly. This will build, but the sysfs files will not properly operate. Thanks to Cornelia for the build fix on this patch. Cc: Kay Sievers Cc: Michael Holzheu Cc: Heiko Carstens Cc: Volker Sameske Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 79393fc46ede43451a500a132e5de9856f5a4c83 Author: Greg Kroah-Hartman Date: Fri Nov 2 13:20:40 2007 -0700 kobject: convert pseries/power.c to kobj_attr interface This makes the code a bit simpler and and gets us one step closer to deleting the deprecated subsys_attr code. Cc: Kay Sievers Cc: Manish Ahuja Signed-off-by: Greg Kroah-Hartman commit 851324c6ffdf94976b4a925d0684a4faa993b9ca Author: Greg Kroah-Hartman Date: Fri Nov 2 13:20:40 2007 -0700 kobject: convert arm/mach-omap1/pm.c to kobj_attr interface This makes the code a bit simpler and and gets us one step closer to deleting the deprecated subsys_attr code. Cc: Kay Sievers Cc: Cliff Brake Cc: Dirk Behme Signed-off-by: Greg Kroah-Hartman commit 66ac831e03879c3c7dae76f793e6094e407081d2 Author: Greg Kroah-Hartman Date: Fri Nov 2 13:20:40 2007 -0700 kset: convert efivars to use kset_create for the vars sub-subsystem. Dynamically create the kset instead of declaring it statically. Cc: Kay Sievers Cc: Matt Domsch Cc: Matt Tolentino Signed-off-by: Greg Kroah-Hartman commit 89a07e34b16d9dcdf0a9ada3ca0c9a506b490c8f Author: Greg Kroah-Hartman Date: Fri Nov 2 13:20:40 2007 -0700 kset: convert efivars to use kset_create for the efi subsystem. Dynamically create the kset instead of declaring it statically. Cc: Kay Sievers Cc: Matt Domsch Cc: Matt Tolentino Signed-off-by: Greg Kroah-Hartman commit 9e5f7f9abe18a4f134585a2de016974cbda80539 Author: Greg Kroah-Hartman Date: Fri Nov 2 13:20:40 2007 -0700 firmware: export firmware_kset so that people can use that instead of the braindead firmware_register interface Needed for future firmware subsystem cleanups. In the end, the firmware_register/unregister functions will be deleted entirely, but we need this symbol so that subsystems can migrate over. Cc: Kay Sievers Cc: Matt Domsch Cc: Matt Tolentino Signed-off-by: Greg Kroah-Hartman commit 334c6307543a2b8af730a422f466d5f9442b606a Author: Greg Kroah-Hartman Date: Fri Nov 2 13:20:40 2007 -0700 kobject: convert efivars to kobj_attr interface This cleans up a lot of code and gets rid of a unneeded macro, and gets us one step closer to deleting the deprecated subsys_attr code. Cc: Kay Sievers Cc: Matt Domsch Cc: Matt Tolentino Signed-off-by: Greg Kroah-Hartman commit 97fa5bb74c26fda93757b94ed248f5dabd4ad3d7 Author: Greg Kroah-Hartman Date: Wed Nov 7 13:56:19 2007 -0800 efivars: make new_var and del_var binary sysfs files These files should not be "normal" sysfs files as they really are binary ones. This patch makes them binary files and saves code in doing so. Cc: Kay Sievers Tested-by: Matt Domsch Cc: Matt Tolentino Signed-off-by: Greg Kroah-Hartman commit af6370ea9268443351d6e931c702dc8162a1c8a1 Author: Greg Kroah-Hartman Date: Fri Nov 2 13:20:40 2007 -0700 ecryptfs: remove version_str file from sysfs This file violates the one-value-per-file sysfs rule. If you all want it added back, please do something like a per-feature file to show what is present and what isn't. Cc: Kay Sievers Cc: Mike Halcrow Cc: Phillip Hellewell Signed-off-by: Greg Kroah-Hartman commit eb41d9465cdafee45e0cb30f3b7338646221908e Author: Kay Sievers Date: Fri Nov 2 13:47:53 2007 +0100 fix struct user_info export's sysfs interaction Clean up the use of ksets and kobjects. Kobjects are instances of objects (like struct user_info), ksets are collections of objects of a similar type (like the uids directory containing the user_info directories). So, use kobjects for the user_info directories, and a kset for the "uids" directory. On object cleanup, the final kobject_put() was missing. Cc: Dhaval Giani Cc: Srivatsa Vaddagiri Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 386f275f5d097758f867bc99ddeaeb7a03b6b190 Author: Kay Sievers Date: Fri Nov 2 13:47:53 2007 +0100 Driver Core: switch all dynamic ksets to kobj_sysfs_ops Switch all dynamically created ksets, that export simple attributes, to kobj_attribute from subsys_attribute. Struct subsys_attribute will be removed. Signed-off-by: Kay Sievers Cc: Mike Halcrow Cc: Phillip Hellewell Signed-off-by: Greg Kroah-Hartman commit 23b5212cc7422f475b82124334b64277b5b43013 Author: Kay Sievers Date: Fri Nov 2 13:47:53 2007 +0100 Driver Core: add kobj_attribute handling Add kobj_sysfs_ops to replace subsys_sysfs_ops. There is no need for special kset operations, we want to be able to use simple attribute operations at any kobject, not only ksets. The whole concept of any default sysfs attribute operations will go away with the upcoming removal of subsys_sysfs_ops. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 6dcec2511ff55b4abaca7ad3433011a7c04c2430 Author: Greg Kroah-Hartman Date: Thu Nov 1 13:31:26 2007 -0700 kset: convert struct bus_device->drivers to use kset_create Dynamically create the kset instead of declaring it statically. Having 3 static kobjects in one structure is not only foolish, but ripe for nasty race conditions if handled improperly. We also rename the field to catch any potential users of it (not that there should be outside of the driver core...) Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 3d8995963dfec66ef6270e729bf75903e9043f9d Author: Greg Kroah-Hartman Date: Thu Nov 1 13:31:26 2007 -0700 kset: convert struct bus_device->devices to use kset_create Dynamically create the kset instead of declaring it statically. Having 3 static kobjects in one structure is not only foolish, but ripe for nasty race conditions if handled improperly. We also rename the field to catch any potential users of it (not that there should be outside of the driver core...) Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 039a5dcd2fc45188a2d522df630db4f7ef903a0f Author: Greg Kroah-Hartman Date: Thu Nov 1 10:39:50 2007 -0700 kset: convert /sys/power to use kset_create Dynamically create the kset instead of declaring it statically. We also rename power_subsys to power_kset to catch all users of the variable and we properly export it so that people don't have to guess that it really is present in the system. The pseries code is wierd, why is it createing /sys/power if CONFIG_PM is disabled? Oh well, stupid big boxes ignoring config options... Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 7405c1e15edfe43b137bfbc5882f1af34d6d414d Author: Greg Kroah-Hartman Date: Thu Nov 1 10:39:50 2007 -0700 kset: convert /sys/module to use kset_create Dynamically create the kset instead of declaring it statically. We also rename module_subsys to module_kset to catch all users of the variable. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 081248de0a0288a0ce4e1447a07ccf56aa4fae01 Author: Greg Kroah-Hartman Date: Thu Nov 1 09:29:06 2007 -0600 kset: move /sys/slab to /sys/kernel/slab /sys/kernel is where these things should go. Also updated the documentation and tool that used this directory. Cc: Kay Sievers Acked-by: Christoph Lameter Signed-off-by: Greg Kroah-Hartman commit 27c3a314d55b810f3b51902d1d815c714a7afbd2 Author: Greg Kroah-Hartman Date: Thu Nov 1 09:29:06 2007 -0600 kset: convert slub to use kset_create Dynamically create the kset instead of declaring it statically. Cc: Kay Sievers Cc: Christoph Lameter Signed-off-by: Greg Kroah-Hartman commit aade4041aa60a3ed335391ba308458e26f2dbc0a Author: Greg Kroah-Hartman Date: Thu Nov 1 09:29:06 2007 -0600 kset: convert /sys/devices/system to use kset_create Dynamically create the kset instead of declaring it statically. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 9b477705360c16198d7a4bd73d199f5a957585b0 Author: Greg Kroah-Hartman Date: Thu Nov 1 09:29:06 2007 -0600 kobject: convert s390 hypervisor to use kobject_create We don't need a kset here, a simple kobject will do just fine, so dynamically create the kobject and use it. Thanks to Cornelia for the build fix. Cc: Kay Sievers Cc: Michael Holzheu Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 2d72fc00a1fb055e6127ccd30cac3f0eafaa98d0 Author: Greg Kroah-Hartman Date: Thu Nov 1 09:29:06 2007 -0600 kobject: convert /sys/hypervisor to use kobject_create We don't need a kset here, a simple kobject will do just fine, so dynamically create the kobject and use it. We also rename hypervisor_subsys to hypervisor_kset to catch all users of the variable. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 881c6cfd7c5edfe6129006e2404654bfe5911050 Author: Greg Kroah-Hartman Date: Thu Nov 1 09:29:06 2007 -0600 kset: convert /sys/devices to use kset_create Dynamically create the kset instead of declaring it statically. We also rename devices_subsys to devices_kset to catch all users of the variable. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit b0d78e5549b44b3d64bf8b3ffe95280025ed102e Author: Greg Kroah-Hartman Date: Mon Oct 29 23:22:26 2007 -0500 kset: convert drivers/base/firmware.c to use kset_create Dynamically create the kset instead of declaring it statically. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 443dbf9007854ef2892226615e23b60a35b89697 Author: Greg Kroah-Hartman Date: Mon Oct 29 23:22:26 2007 -0500 kset: convert drivers/base/class.c to use kset_create Dynamically create the kset instead of declaring it statically. The class_obj subsystem is not yet converted as it is more complex and should be going away soon with the removal of class_device from the kernel tree. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 59a548338ac6c9d7549c54278d0f724088585928 Author: Greg Kroah-Hartman Date: Mon Oct 29 23:22:26 2007 -0500 kset: convert drivers/base/bus.c to use kset_create Dynamically create the kset instead of declaring it statically. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit bd35b93d8049ab47b5bfaf6b10ba39badf21d1c3 Author: Greg Kroah-Hartman Date: Mon Oct 29 20:13:17 2007 +0100 kset: convert kernel_subsys to use kset_create Dynamically create the kset instead of declaring it statically. We also rename kernel_subsys to kernel_kset to catch all users of this symbol with a build error instead of an easy-to-ignore build warning. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit e5e38a86c0bbe8475543f10f0a48393a45df5182 Author: Greg Kroah-Hartman Date: Mon Oct 29 23:22:26 2007 -0500 kset: remove decl_subsys_name The last user of this macro (pci hotplug core) is now switched over to using a dynamic kset, so this macro is no longer needed at all. Cc: Kay Sievers Cc: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 81ace5cd8fcb55e144f496af40d4275b03252456 Author: Greg Kroah-Hartman Date: Mon Oct 29 23:22:26 2007 -0500 kset: convert pci hotplug to use kset_create_and_add This also renames pci_hotplug_slots_subsys to pcis_hotplug_slots_kset catch all current users with a build error instead of a build warning which can easily be missed. Cc: Kay Sievers Cc: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit d405936b322220dc5cca9d2b58ef1911ae8efec9 Author: Greg Kroah-Hartman Date: Mon Oct 29 20:13:17 2007 +0100 kset: convert dlm to use kset_create Dynamically create the kset instead of declaring it statically. Cc: Kay Sievers Cc: Steven Whitehouse Signed-off-by: Greg Kroah-Hartman commit 136a27507fd09006973f11b17ca971d4c176a06a Author: Greg Kroah-Hartman Date: Mon Oct 29 20:13:17 2007 +0100 kset: convert gfs2 dlm to use kset_create Dynamically create the kset instead of declaring it statically. Cc: Kay Sievers Cc: Steven Whitehouse Signed-off-by: Greg Kroah-Hartman commit 9bec101a0c38d559a8c95b44d850cd09a7b4edef Author: Greg Kroah-Hartman Date: Mon Oct 29 20:13:17 2007 +0100 kset: convert gfs2 to use kset_create Dynamically create the kset instead of declaring it statically. Cc: Kay Sievers Cc: Steven Whitehouse Signed-off-by: Greg Kroah-Hartman commit 00d2666623368ffd39afc875ff8a2eead2a0436c Author: Greg Kroah-Hartman Date: Mon Oct 29 14:17:23 2007 -0600 kobject: convert main fs kobject to use kobject_create This also renames fs_subsys to fs_kobj to catch all current users with a build error instead of a build warning which can easily be missed. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 917e865df7eb020f20ffc2b4204f282a587df94f Author: Greg Kroah-Hartman Date: Mon Oct 29 20:13:17 2007 +0100 kset: convert ecryptfs to use kset_create Dynamically create the kset instead of declaring it statically. Cc: Kay Sievers Cc: Mike Halcrow Cc: Phillip Hellewell Signed-off-by: Greg Kroah-Hartman commit 3794491d0c4b6355c55b0379f003900e57666a97 Author: Greg Kroah-Hartman Date: Mon Oct 29 20:13:17 2007 +0100 kobject: convert configfs to use kobject_create We don't need a kset here, a simple kobject will do just fine, so dynamically create the kobject and use it. Cc: Kay Sievers Signed-off-by: Joel Becker Signed-off-by: Greg Kroah-Hartman commit 191e186bd0589e28496745275157323a6f7902ca Author: Greg Kroah-Hartman Date: Mon Oct 29 20:13:17 2007 +0100 kobject: convert debugfs to use kobject_create We don't need a kset here, a simple kobject will do just fine, so dynamically create the kobject and use it. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 69d8e1389551b107b1a8ec70c280cb7a56096666 Author: Greg Kroah-Hartman Date: Mon Oct 29 20:13:17 2007 +0100 kobject: convert securityfs to use kobject_create We don't need a kset here, a simple kobject will do just fine, so dynamically create the kobject and use it. Cc: Kay Sievers Acked-by: Chris Wright Signed-off-by: Greg Kroah-Hartman commit 5c89e17e9c2bc03ed16320967832b33b174e6234 Author: Greg Kroah-Hartman Date: Mon Oct 29 20:13:17 2007 +0100 kobject: convert fuse to use kobject_create We don't need a kset here, a simple kobject will do just fine, so dynamically create the kobject and use it. Cc: Kay Sievers Cc: Miklos Szeredi Signed-off-by: Greg Kroah-Hartman commit 43968d2f1648f4dc92437dc0363a3e88377445b3 Author: Greg Kroah-Hartman Date: Mon Nov 5 22:24:43 2007 -0800 kobject: get rid of kobject_kset_add_dir kobject_kset_add_dir is only called in one place so remove it and use kobject_create() instead. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 4ff6abff832fbc6cb1d769f6106c841bc2b09f63 Author: Greg Kroah-Hartman Date: Mon Nov 5 22:24:43 2007 -0800 kobject: get rid of kobject_add_dir kobject_create_and_add is the same as kobject_add_dir, so drop kobject_add_dir. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 3f9e3ee9dc3605e5c593b5d708494571fb0d3970 Author: Greg Kroah-Hartman Date: Mon Nov 5 13:16:15 2007 -0800 kobject: add kobject_create_and_add function This lets users create dynamic kobjects much easier. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit b727c702896f88d2ff6c3e03bd011d7c3dffe3e1 Author: Greg Kroah-Hartman Date: Thu Sep 27 14:48:53 2007 -0700 kset: add kset_create_and_add function Now ksets can be dynamically created on the fly, no static definitions are required. Thanks to Miklos for hints on how to make this work better for the callers. And thanks to Kay for finding some stupid bugs in my original version and pointing out that we need to handle the fact that kobject's can have a kset as a parent and to handle that properly in kobject_add(). Cc: Kay Sievers Cc: Miklos Szeredi Signed-off-by: Greg Kroah-Hartman commit 12d03da7c19366268bdbc9fb0cd08d719c0cc283 Author: Greg Kroah-Hartman Date: Tue Oct 16 10:11:44 2007 -0600 kobject: remove kobj_set_kset_s as no one is using it anymore What a confusing name for a macro... Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 3514faca19a6fdc209734431c509631ea92b094e Author: Greg Kroah-Hartman Date: Tue Oct 16 10:11:44 2007 -0600 kobject: remove struct kobj_type from struct kset We don't need a "default" ktype for a kset. We should set this explicitly every time for each kset. This change is needed so that we can make ksets dynamic, and cleans up one of the odd, undocumented assumption that the kset/kobject/ktype model has. This patch is based on a lot of help from Kay Sievers. Nasty bug in the block code was found by Dave Young Cc: Kay Sievers Cc: Dave Young Signed-off-by: Greg Kroah-Hartman commit c11c4154e7ff4cebfadad849b1e22689d759c3f4 Author: Greg Kroah-Hartman Date: Mon Dec 3 21:31:08 2007 -0800 kobject: add kobject_init_and_add function Also add a kobject_init_and_add function which bundles up what a lot of the current callers want to do all at once, and it properly handles the memory usages, unlike kobject_register(); Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 244f6cee9a928103132a722292bfa0eb84114b07 Author: Greg Kroah-Hartman Date: Mon Dec 3 21:31:08 2007 -0800 kobject: add kobject_add_ng function This is what the kobject_add function is going to become. Add this to the kernel and then we can convert the tree over to use it. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit e86000d042d23904bbb609af2f8618a541cf129b Author: Greg Kroah-Hartman Date: Mon Dec 3 21:31:08 2007 -0800 kobject: add kobject_init_ng function This is what the kobject_init function is going to become. Add this to the kernel and then we can convert the tree over to use it. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 18041f4775688af073d9b3ab0ffc262c1847e60b Author: Greg Kroah-Hartman Date: Mon Dec 3 21:31:08 2007 -0800 kobject: make kobject_cleanup be static No one except the kobject core calls it so make the function static. Signed-off-by: Greg Kroah-Hartman commit 663a47430b361f863b515752a97166a7a4b92d35 Author: Greg Kroah-Hartman Date: Thu Nov 29 18:32:47 2007 -0500 kobject: fix up kobject_set_name to use kvasprintf Kay pointed out that kobject_set_name was being very stupid, doing two allocations for every call, when it should just be using the kernel function kvasprintf() instead. This change adds the internal kobject_set_name_vargs() function, which other follow-on patches will be using. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 15f2bbb28e96e20149548926e5b08551ba140b14 Author: Greg Kroah-Hartman Date: Mon Dec 3 21:16:20 2007 -0700 kobject: convert icom to use kref, not kobject The IBM icom serial driver is using a kobject only for reference counting, nothing else. So switch it to use a kref instead, which is all that is needed, and is much smaller. Cc: Anton Blanchard Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Ryan S. Arnold Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit f7eb12c626d4375faf03039261546bd19c1325fd Author: Greg Kroah-Hartman Date: Wed Nov 28 10:46:22 2007 -0800 kobject: convert hvcs to use kref, not kobject hvcs is using a kobject only for reference counting, nothing else. So switch it to use a kref instead, which is all that is needed, and is much smaller. Cc: Anton Blanchard Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Ryan S. Arnold Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 12b20ded6f980d9161b1c6b062560b65a7295e1c Author: Greg Kroah-Hartman Date: Wed Nov 28 10:46:22 2007 -0800 kobject: convert hvc_console to use kref, not kobject hvc_console is using a kobject only for reference counting, nothing else. So switch it to use a kref instead, which is all that is needed, and is much smaller. Cc: Anton Blanchard Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Ryan S. Arnold Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit a045171f875cd61f690981a78ab98fbd137c938b Author: Greg Kroah-Hartman Date: Mon Dec 3 21:16:20 2007 -0700 kobject: convert ibmasm to use kref, not kobject The IBM asm driver is using a kobject only for reference counting, nothing else. So switch it to use a kref instead, which is all that is needed, and is much smaller. Cc: Max Asböck Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit d7b37889650bb316f5c4ad4b0569ba897120d70d Author: Jiri Slaby Date: Wed Nov 21 14:55:19 2007 -0800 sysfs: remove SPIN_LOCK_UNLOCKED SPIN_LOCK_UNLOCKED is deprecated, use DEFINE_SPINLOCK instead Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Cc: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 2f90a851800e88436873c8d27238cf219b9ef48e Author: Kay Sievers Date: Thu Nov 1 20:20:52 2007 +0100 sysfs: create optimal relative symlink targets Instead of walking from the source down to the root of sysfs, and back to the target, we stop at the first directory the source and the target share. This link: /devices/pci0000:00/0000:00:1d.7/usb1/1-0:1.0/ep_81 pointed to: ../../../../../devices/pci0000:00/0000:00:1d.0/usb2/2-0:1.0/usb_endpoint/usbdev2.1_ep81 now it just points to: usb_endpoint/usbdev1.1_ep81 Thanks to Denis Cheng for bringing this up, and sending the initial patch. CC: Denis Cheng Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 7b8712e563df4fefc25d3107fa3fb3abb7331ff4 Author: Emil Medve Date: Tue Oct 30 14:37:14 2007 -0500 driver core: Make the dev_*() family of macros in device.h complete Removed duplicates defined elsewhere Signed-off-by: Emil Medve Signed-off-by: Greg Kroah-Hartman commit 30a468b1c1b9911ae515ff8972ee10c50cca3021 Author: Greg Kroah-Hartman Date: Mon Oct 15 15:01:24 2007 -0700 ecryptfs: clean up attribute mess It isn't that hard to add simple kset attributes, so don't go through all the gyrations of creating your own object type and show and store functions. Just use the functions that are already present. This makes things much simpler. Note, the version_str string violates the "one value per file" rule for sysfs. I suggest changing this now (individual files per type supported is one suggested way.) Cc: Michael A. Halcrow Cc: Michael C. Thompson Cc: Tyler Hicks Signed-off-by: Greg Kroah-Hartman commit 02ff82cac7ee7351d2649c4a3568f12e4e0fe534 Author: Tony Jones Date: Tue Sep 25 02:03:03 2007 +0200 cosa: Convert from class_device to device for cosa sync driver struct class_device is going away, this converts the code to use struct device instead. Signed-off-by: Tony Jones Cc: Jan "Yenya" Kasprzak Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 7dd817d083b6fc103b9ea4f2b4f4a1c6a09e29a0 Author: Tony Jones Date: Tue Sep 25 02:03:03 2007 +0200 tifm: Convert from class_device to device for TI flash media Signed-off-by: Tony Jones Cc: Alex Dubov Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 6013c12be8313b3205b41912d965b03f3b06147d Author: Tony Jones Date: Tue Sep 25 02:03:03 2007 +0200 pktcdvd: Convert from class_device to device for block/pktcdvd struct class_device is going away, this converts the code to use struct device instead. Signed-off-by: Tony Jones Cc: Peter Osterlund Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit aa2758261469374b598e2a6a2702e000a6ab2fbb Author: Tony Jones Date: Tue Sep 25 02:03:03 2007 +0200 paride: Convert from class_device to device for block/paride struct class_device is going away, this converts the code to use struct device instead. Signed-off-by: Tony Jones Cc: Tim Waugh Cc: Jens Axboe Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit a98894ab02bc9a3e2dc8cccab55d7ed200d3b05f Author: Tony Jones Date: Tue Sep 25 02:03:03 2007 +0200 mtd: Convert from class_device to device for MTD/mtdchar struct class_device is going away, this converts the code to use struct device instead. Signed-off-by: Tony Jones Cc: David Woodhouse Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 0c55445f201841bfd6c658c47df8311b6722f002 Author: Tony Jones Date: Tue Sep 25 02:03:03 2007 +0200 MCP_UCB1200: Convert from class_device to device struct class_device is going away, this converts the code to use struct device instead. Signed-off-by: Tony Jones Cc: Russell King Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 68db2bc98cc1594a1cc487755aff4340fd4f1611 Author: Tony Jones Date: Tue Sep 25 02:03:03 2007 +0200 adb: Convert from class_device to device struct class_device is going away, this converts the code to use struct device instead. Signed-off-by: Tony Jones Cc: Joshua Thompson Cc: Benjamin Herrenschmidt Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit d78b03683a6f96645d265abdd5c556547dc76d70 Author: Tony Jones Date: Tue Sep 25 02:03:03 2007 +0200 ISDN: Convert from class_device to device for ISDN capi Signed-off-by: Tony Jones Cc: Kay Sievers Acked-by: Karsten Keil Signed-off-by: Greg Kroah-Hartman commit dbc1272ed4a9ce45ecc50e7ea7d52e7413eb1a4f Author: Tony Jones Date: Tue Sep 25 02:03:03 2007 +0200 IDE: Convert from class_device to device for ide-tape Signed-off-by: Tony Jones Cc: Gadi Oxman Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 891f78ea833edd4a1e524e15bfe297a7a84d81a0 Author: Tony Jones Date: Tue Sep 25 02:03:03 2007 +0200 DMA: Convert from class_device to device for DMA engine Signed-off-by: Tony Jones Signed-off-by: Dan Williams Cc: Shannon Nelson Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 62ca8792560e5bd7dc09f54ed3523a7864f416c7 Author: Kay Sievers Date: Tue Sep 25 02:03:03 2007 +0200 coda: convert struct class_device to struct device Signed-off-by: Kay Sievers Cc: Tony Jones Cc: Jan Harkes Signed-off-by: Greg Kroah-Hartman commit 7ea7ed01ff741918532978b30f6f226ed6f78476 Author: Tony Jones Date: Tue Sep 25 02:03:03 2007 +0200 aoechr: Convert from class_device to device Signed-off-by: Tony Jones Cc: Jens Axboe Cc: Sam Hopkins Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 41ca28ab2abd76dc203e2c3a7cd609607cb927c3 Author: Evgeniy Polyakov Date: Mon Dec 10 23:03:43 2007 +0300 kref: add kref_set() This adds kref_set() to the kref api for future use by people who really know what they are doing with krefs... From: Evgeniy Polyakov Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 775b64d2b6ca37697de925f70799c710aab5849a Author: Rafael J. Wysocki Date: Sat Jan 12 20:40:46 2008 +0100 PM: Acquire device locks on suspend This patch reorganizes the way suspend and resume notifications are sent to drivers. The major changes are that now the PM core acquires every device semaphore before calling the methods, and calls to device_add() during suspends will fail, while calls to device_del() during suspends will block. It also provides a way to safely remove a suspended device with the help of the PM core, by using the device_pm_schedule_removal() callback introduced specifically for this purpose, and updates two drivers (msr and cpuid) that need to use it. Signed-off-by: Alan Stern Signed-off-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman commit 7a83d456a86d559a6347115d206d23774bc152d9 Author: Greg Kroah-Hartman Date: Wed Oct 24 21:52:56 2007 -0700 kobject: remove incorrect comment in kobject_rename As pointed out by Kay. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit b1c7192df1b089ed654c76fbf14d7f7dbf4b9616 Author: Robert P. J. Day Date: Wed Nov 7 04:09:46 2007 -0500 Documentation: Replace obsolete "driverfs" with "sysfs". Signed-off-by: Robert P. J. Day commit 20fd1e3bea554620d489f3542496639c1babe0b3 Author: Frank Seidel Date: Fri Nov 9 14:49:23 2007 +0100 nozomi driver This is a driver to control the cardbus wireless data card that works on 3g networks. Greg Kroah-Hartman did the initial driver cleanup. Thanks to Arnaud Patard for help with bugfixing. Thanks to Alan Cox for a lot of tty fixes. Thanks to Satyam Sharma for fixing buildbreakage. Thanks to Frank Seidel for a lot of bugfixes and rewriting to make it a sane Linux driver Thanks to Jiri Slaby for a lot bugfixes, cleanups and rewrites that make it much more readable. Signed-off-by: Greg Kroah-Hartman Signed-off-by: Frank Seidel Signed-off-by: Jiri Slaby commit 9fd5b1c906a9b4b0efb24cb2b4d20c678ff26122 Author: Jean Delvare Date: Tue Jan 8 18:11:24 2008 +0100 sysfs: Fix a copy-n-paste typo in comment Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit 463e526083fdaa284eaea45b53bb917ed3c72900 Author: Zhang Le Date: Tue Jan 8 00:59:16 2008 +0800 Chinese: add translation of Codingstyle Signed-off-by: Zhang Le Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit 22033d38bca82a4a511450562086c69f5dc457ee Author: Li Yang Date: Wed Oct 24 01:04:21 2007 +0800 Chinese: add translation of sparse.txt Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit c642ecf874028c9f41d18d59a9d663c2a954cc45 Author: Bryan Wu Date: Wed Oct 24 01:00:23 2007 +0800 Chinese: add translation of volatile-considered-harmful.txt Signed-off-by: Bryan Wu Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit 6941ee8896bfc462c3e3ad113c769a57ecbf3b2a Author: TripleX Chung Date: Wed Oct 24 00:57:24 2007 +0800 Chinese: add translation of stable_kernel_rules.txt Signed-off-by: TripleX Chung Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit d1a1d45142ed3969b3cc3964f81e4249f9e49fbf Author: Dave Young Date: Wed Oct 24 01:14:29 2007 +0800 Chinese: add translation of oops-tracing.txt Signed-off-by: Dave Young Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit 09792200e465db0861dee25bdecfc55278907ed3 Author: Li Yang Date: Wed Oct 24 00:51:11 2007 +0800 Chinese: add translation of SubmittingDrivers Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit 12428e7626378dec7968cd4f5df9aab2ee58e735 Author: TripleX Chung Date: Wed Oct 24 00:46:43 2007 +0800 Chinese: add translation of SubmittingPatches Signed-off-by: TripleX Chung Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit 5dae82cc186da487cf33d7f5648a9ab3e02eaee4 Author: Li Yang Date: Tue Oct 23 21:58:51 2007 +0800 Chinese: Change man-pages maintainer address in HOWOTO The email address of the man-pages maintainer has changed. Cc: Michael Kerrisk Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit 24277db3894941026662743e400e77c68c4a9e92 Author: Li Yang Date: Wed Jul 25 02:43:32 2007 +0800 Chinese: rephrase English introduction in HOWTO Rephrase the introduction as suggested by Jesper Juhl. Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit 6b2cb91efce215c3c34b1b79b15f30e860761a3e Author: Li Yang Date: Wed Jul 25 02:03:06 2007 +0800 Chinese: Add the known_regression URI to the HOWTO Update translation for commit be3884943674f8ee7656b1d8b71c087ec900c836. Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit 6d5ae0deb1641bf615eafd8fef64218e10cb2fd0 Author: Igor Mammedov Date: Fri Jan 25 03:28:31 2008 +0000 [CIFS] DFS support: provide shrinkable mounts Signed-off-by: Igor Mammedov Signed-off-by: Steve French commit 2e08c0c1c3977a5ddc88887dd3af1b26c433e9d0 Author: Eamon Walsh Date: Thu Jan 24 15:30:52 2008 -0500 selinux: make mls_compute_sid always polyinstantiate This patch removes the requirement that the new and related object types differ in order to polyinstantiate by MLS level. This allows MLS polyinstantiation to occur in the absence of explicit type_member rules or when the type has not changed. Potential users of this support include pam_namespace.so (directory polyinstantiation) and the SELinux X support (property polyinstantiation). Signed-off-by: Eamon Walsh Acked-by: Stephen Smalley Signed-off-by: James Morris commit 1996a10948e50e546dc2b64276723c0b64d3173b Author: Jan Engelhardt Date: Wed Jan 23 00:02:58 2008 +0100 security/selinux: constify function pointer tables and fields Constify function pointer tables and fields. Signed-off-by: Jan Engelhardt Signed-off-by: James Morris commit 63cb34492351078479b2d4bae6a881806a396286 Author: David Howells Date: Tue Jan 15 23:47:35 2008 +0000 security: add a secctx_to_secid() hook Add a secctx_to_secid() LSM hook to go along with the existing secid_to_secctx() LSM hook. This patch also includes the SELinux implementation for this hook. Signed-off-by: Paul Moore Acked-by: Stephen Smalley Signed-off-by: James Morris commit c43e259cc756ece387faae849af0058b56d78466 Author: James Morris Date: Sat Jan 12 22:05:48 2008 +1100 security: call security_file_permission from rw_verify_area All instances of rw_verify_area() are followed by a call to security_file_permission(), so just call the latter from the former. Acked-by: Eric Paris Signed-off-by: James Morris commit bced95283e9434611cbad8f2ff903cd396eaea72 Author: H. Peter Anvin Date: Sat Dec 29 16:20:25 2007 -0800 security: remove security_sb_post_mountroot hook The security_sb_post_mountroot() hook is long-since obsolete, and is fundamentally broken: it is never invoked if someone uses initramfs. This is particularly damaging, because the existence of this hook has been used as motivation for not using initramfs. Stephen Smalley confirmed on 2007-07-19 that this hook was originally used by SELinux but can now be safely removed: http://marc.info/?l=linux-kernel&m=118485683612916&w=2 Cc: Stephen Smalley Cc: James Morris Cc: Eric Paris Cc: Chris Wright Signed-off-by: H. Peter Anvin Signed-off-by: James Morris commit 42d7896ebc5f7268b1fe6bbd20f2282e20ae7895 Author: James Morris Date: Wed Dec 26 15:12:37 2007 +1100 Security: remove security.h include from mm.h Remove security.h include from mm.h, as it is only needed for a single extern declaration, and pulls in all kinds of crud. Fine-by-me: David Chinner Acked-by: Eric Paris Signed-off-by: James Morris commit 88c3f7a8f2c86be264d326cf6f49a3e8c30d13a6 Author: Richard Knutsson Date: Sat Dec 8 12:02:48 2007 +0100 Security: remove security_file_mmap hook sparse-warnings (NULL as 0). Fixing: CHECK mm/mmap.c mm/mmap.c:1623:29: warning: Using plain integer as NULL pointer mm/mmap.c:1623:29: warning: Using plain integer as NULL pointer mm/mmap.c:1944:29: warning: Using plain integer as NULL pointer Signed-off-by: Richard Knutsson Signed-off-by: James Morris commit c9180a57a9ab2d5525faf8815a332364ee9e89b7 Author: Eric Paris Date: Fri Nov 30 13:00:35 2007 -0500 Security: add get, set, and cloning of superblock security information Adds security_get_sb_mnt_opts, security_set_sb_mnt_opts, and security_clont_sb_mnt_opts to the LSM and to SELinux. This will allow filesystems to directly own and control all of their mount options if they so choose. This interface deals only with option identifiers and strings so it should generic enough for any LSM which may come in the future. Filesystems which pass text mount data around in the kernel (almost all of them) need not currently make use of this interface when dealing with SELinux since it will still parse those strings as it always has. I assume future LSM's would do the same. NFS is the primary FS which does not use text mount data and thus must make use of this interface. An LSM would need to implement these functions only if they had mount time options, such as selinux has context= or fscontext=. If the LSM has no mount time options they could simply not implement and let the dummy ops take care of things. An LSM other than SELinux would need to define new option numbers in security.h and any FS which decides to own there own security options would need to be patched to use this new interface for every possible LSM. This is because it was stated to me very clearly that LSM's should not attempt to understand FS mount data and the burdon to understand security should be in the FS which owns the options. Signed-off-by: Eric Paris Acked-by: Stephen D. Smalley Signed-off-by: James Morris commit 19c5fc198c369bb00f3ed9716ef40648865d8d94 Author: Joe Perches Date: Mon Nov 19 17:53:44 2007 -0800 security/selinux: Add missing "space" Add missing space. Signed-off-by: Joe Perches Signed-off-by: James Morris commit 5c5e32ceeb6b64496a1842d5d99e4ac8d20166c4 Author: Miklos Szeredi Date: Thu Jan 24 16:13:21 2008 -0600 mount options: fix jfs Add iocharset= and errors= options to /proc/mounts for jfs filesystems. Signed-off-by: Miklos Szeredi Signed-off-by: Dave Kleikamp commit fccd5d00ba68455425a35f905fd92538429c310d Author: Mattia Dongili Date: Mon Jan 14 18:05:46 2008 +0900 sony-laptop: fix scancode decode compare against the sony_laptop specific event list index to decode the input scancode to send. Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 3eb8749a37990b505ab94466038c067444bbd7eb Author: Mattia Dongili Date: Mon Jan 14 18:05:45 2008 +0900 sony-laptop: add Type4 model Recent Vaio models (UX, SZ and presumably TZ and others) add more events and a slightly different handling of Fn key events for additional hotkeys (s1, s2, zoom-in/out, etc.). Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 425ef5d75de25c53b6dc79008fe3678d2fe7e8ed Author: Mattia Dongili Date: Mon Jan 14 18:05:44 2008 +0900 sony-laptop: bump version to 0.6 Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit de9204300112dea10ca3d3cc76858cee61043e47 Author: Mattia Dongili Date: Mon Jan 14 18:05:43 2008 +0900 sony-laptop: refactor model types Create mini drivers and allow callbacks for each model to be specified. Following patches will make use of this feature to handle specific cases instead of just executing code and hope not to break other models. Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 88877c2a2ebd0e554496efb23e7dc8ade661d289 Author: Mattia Dongili Date: Mon Jan 14 18:05:42 2008 +0900 sony-laptop: Add Vaio N series to the special init sequence to enable Fn keys Also the recent Vaio N series need some more calls into the DSDT to enable reporting of FN key events to be delivered to the SNC device. Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit 75a1f9ce8f422fd32774a0674ed4386d07628d5e Author: Mattia Dongili Date: Mon Jan 14 18:05:41 2008 +0900 sony-laptop: printk more info in sony_pic_call[123] Signed-off-by: Mattia Dongili Signed-off-by: Len Brown commit dcb571be2019ae677bc5ed64437dbc87ae1eb67f Merge: 9156ad4... 96f39c1... Author: Paul Mackerras Date: Thu Jan 24 15:29:14 2008 +1100 Merge branch 'for-2.6.25' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc into for-2.6.25 commit 96f39c1718091d63dc1c5012d566737ea0d2a20c Author: Jon Loeliger Date: Wed Jan 23 12:43:14 2008 -0600 [POWERPC] Add initial storcenter config file. Signed-off-by: Jon Loeliger Acked-by: Andy Wilcox Signed-off-by: Kumar Gala commit 3490cba56f7f8a78ef4c94814c3181f09ce1e2ef Author: Jon Loeliger Date: Wed Jan 23 12:42:50 2008 -0600 [POWERPC] Add initial iomega StorCenter board port. Use cuImage bootwrapper until U-Boot port is completed. Derived heavily from Linkstation port. Signed-off-by: Jon Loeliger Acked-by: Andy Wilcox Signed-off-by: Kumar Gala commit b164b9032e5210dfc94b564344d61995785c9bd7 Author: Jon Loeliger Date: Wed Jan 23 12:42:29 2008 -0600 [POWERPC] Add StorCenter DTS first draft. Based on the Kurobox DTS files. Signed-off-by: Jon Loeliger Acked-by: Andy Wilcox Signed-off-by: Kumar Gala commit 1d59483aecb5bc80bdd677a46e77515a733c1a6f Author: Jon Loeliger Date: Wed Jan 23 12:42:07 2008 -0600 [POWERPC] Add _nmask_and_or_msr() declartion to asm-powerpc/system.h Prevents miscellaneous users from declaring it locally. Signed-off-by: Jon Loeliger Signed-off-by: Kumar Gala commit 70f782e14870435aa37b91e1ea0a189a78eb0fa9 Author: Jochen Friedrich Date: Tue Dec 18 16:25:43 2007 +0100 fs_enet: Add fixed-phy support for fs_enet This patch adds support to use the fixed-link property of an ethernet node to fs_enet for the CONFIG_PPC_CPM_NEW_BINDING case. Signed-off-by: Jochen Friedrich Acked-by: Jeff Garzik Acked-by: Vitali Bordug Signed-off-by: Kumar Gala commit 6869e4ad4bd17e7699e58bed6464738e8677c392 Author: Grant Likely Date: Mon Jan 21 11:58:06 2008 -0700 [POWERPC] 8xx: Use machine_*_initcall() hooks in platform code Signed-off-by: Grant Likely Signed-off-by: Kumar Gala commit 1dd4561e7d9b907afd10709f9ff092861e8ab095 Author: Kumar Gala Date: Wed Jan 23 06:36:40 2008 -0600 [POWERPC] Fix compile error if CONFIG_STX_GP3 is defined cpmux is need in all cases, having wrapped by the ifndef CONFIG_STX_GP3 was causing a compile error. Signed-off-by: Kumar Gala commit de3c8d41828553fa4cbba0399826e20a02670663 Author: Kumar Gala Date: Wed Jan 23 06:12:06 2008 -0600 [POWERPC] Move RapidIO support code from arch/ppc Do just enough to move the RapidIO support code for 85xx over from arch/ppc into arch/powerpc and make it still build. Signed-off-by: Kumar Gala commit 5febf1cd79425d3c65d9a66a2299f0d06dc4b1eb Author: Kumar Gala Date: Wed Jan 23 05:53:47 2008 -0600 [RAPIDIO] Fix compile error and warning drivers/rapidio/rio.c: In function 'rio_get_asm': drivers/rapidio/rio.c:413: error: implicit declaration of function 'in_interrupt' drivers/rapidio/rio.c: In function 'rio_init_mports': drivers/rapidio/rio.c:480: warning: format '%8.8lx' expects type 'long unsigned int', but argument 2 has type 'resource_size_t' drivers/rapidio/rio.c:480: warning: format '%8.8lx' expects type 'long unsigned int', but argument 3 has type 'resource_size_t' Signed-off-by: Kumar Gala commit 15061d60a3be0845dc17a0fbe87610d1cc7106c7 Author: Wade Farnsworth Date: Tue Jan 22 13:17:45 2008 -0700 [POWERPC] 86xx: MPC8641 HPCN - call of_platform_bus_probe() Call of_platform_bus_probe() on the MPC8641 HPCN, similar to what is done for other platforms. Signed-off-by: Wade Farnsworth Signed-off-by: Kumar Gala commit 0ac247d5690570b825088a5752817eff42488897 Author: Wade Farnsworth Date: Tue Jan 22 13:13:39 2008 -0700 [POWERPC] 86xx: Add localbus and flash nodes to mpc8641_hpcn.dts Add local bus, flash, and MTD partition nodes to mpc8641_hpcn.dts Also add compatible field for the soc node, so that it will be picked up by of_platform_bus_probe(). Signed-off-by: Wade Farnsworth Signed-off-by: Kumar Gala commit de7566bff359bbd7f6a4a37b4b5ce93225067786 Author: Scott Wood Date: Tue Jan 22 12:31:41 2008 -0600 [POWERPC] 8xx: adder875 - Fix flash bus-width and remove duplicate __initdata Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 5f44668c88dd056a590696787e7203a2ef8a5c83 Author: Scott Wood Date: Thu Jan 17 16:38:11 2008 -0600 [POWERPC] 83xx: Update MPC8313e RDB defconfig for MTD, NAND, JFFS2. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 12600e48ca8732aa318a533ca7f21034f0010024 Author: Scott Wood Date: Thu Jan 17 16:37:56 2008 -0600 [POWERPC] 83xx: MPC8313e RDB - Add NOR flash to the device tree. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit ff5ac76088cd317b6f534cbb774b92b26e508b34 Author: Scott Wood Date: Thu Jan 17 16:37:51 2008 -0600 [POWERPC] 83xx: MPC8313e RBD add NAND to device tree Add NAND to device tree, and call of_platform_bus_probe(). Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 0dde1a1df9ab0615ed08558fb7144e7739e9f565 Author: Scott Wood Date: Thu Jan 17 16:32:05 2008 -0600 [POWERPC] 82xx: Embedded Planet EP8248E support This board is also resold by Freescale under the names "QUICCStart MPC8248 Evaluation System" and "CWH-PPC-8248N-VE". Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit b09c16440eb39c12cc91aea5b572c753a5567d57 Author: Scott Wood Date: Thu Jan 17 16:31:40 2008 -0600 [POWERPC] 8xx: Analogue & Micro Adder875 board support. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit e8b63761554aca641bd9020447d487bfd85111bf Author: Dale Farnsworth Date: Thu Nov 22 08:46:20 2007 -0700 [POWERPC] 85xx: Respect KERNELBASE, PAGE_OFFSET, and PHYSICAL_START on e500 The e500 MMU init code previously assumed KERNELBASE always equaled PAGE_OFFSET and PHYSICAL_START was 0. This is useful for kdump support as well as asymetric multicore. For the initial kdump support the secondary kernel will run at 32M but need access to all of memory so we bump the initial TLB up to 64M. This also matches with the forth coming ePAPR spec. Signed-off-by: Dale Farnsworth Signed-off-by: Kumar Gala commit 6c7e072b1682eeb7c17ed5fdec0672fcf3ccb205 Author: Scott Wood Date: Mon Jan 14 10:29:35 2008 -0600 [POWERPC] fsl_soc: Fix get_immrbase() to use ranges, rather than reg. Don't depend on the reg property as a way to determine the base of the immr space. The reg property might be defined differently for different SoC families. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit c7d24a2dd02b9fe736e13931ee3e4a1f4f89cb47 Author: Timur Tabi Date: Fri Jan 18 09:24:53 2008 -0600 [POWERPC] Update MPC8610 HPCD to support audio drivers Update the MPC8610 HPCD files to support the audio driver. Update booting-without-of.txt with information on the SSI device. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit b0bbad60680a5e76067eb1e55c3676b28abe7481 Author: John Rigby Date: Thu Jan 17 17:05:31 2008 -0700 [POWERPC] Add IPIC Kconfig option IPIC is not just for 83xx anymore so make it a separate config option. Signed-off-by: John Rigby Signed-off-by: Kumar Gala commit a7267d679fc5a2f1d3f3f247e22a9824f17b507a Author: John Rigby Date: Thu Jan 17 17:05:32 2008 -0700 [POWERPC] Add support for mpc512x interrupts to ipic Added ipic_info entries for vectors used by 512x that were previously unused by 83xx. Signed-off-by: John Rigby Signed-off-by: Kumar Gala commit e3bc3a09bdfc1b3b88b32d7960c4c3b84a2b860f Author: Liu Yu Date: Fri Jan 18 11:21:39 2008 +0800 [POWERPC] Fix carry bug in 128-bit unsigned integer adding Synchronize it to the definition in include/math-emu/op-4.h for short term. Signed-off-by: Liu Yu Signed-off-by: Kumar Gala commit e5091842dc067c0c9ae0d8a26f9e2eecf7df34f3 Author: Paul Gortmaker Date: Wed Jan 2 12:50:01 2008 -0500 [POWERPC] 85xx: mpc85xx_ads: add in missing of_node_put() Add in missing of_node_put() after cpm2_pic_init(). This and other coding style cleanups as suggested by Stephen Rothwell. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit d7584ed2b994a572326650b0c4d2c25961e6f49d Author: Timur Tabi Date: Tue Jan 15 09:56:13 2008 -0600 [POWERPC] qe-uart: add support for Freescale QUICCEngine UART Add file ucc_uart.c, a serial device driver for the Freescale QUICCEngine. Update the Kconfig and Makefile accordingly. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit 845cf505cebd159b57b3ae3b25e9ad0eb036f9ab Author: Timur Tabi Date: Wed Jan 9 17:35:05 2008 -0600 [POWERPC] QE: Add support for Freescale QUICCEngine UART Add support for UART serial ports using a Freescale QUICCEngine. Update booting-without-of.txt to define new properties for a QE UART node. Update the MPC8323E-MDS device tree to add UCC5 as a UART. Update the QE library to support slow UCC devices and modules. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit bc556ba940085e46e0ab1b5ed7c31428dc86dd03 Author: Timur Tabi Date: Tue Jan 8 10:30:58 2008 -0600 [POWERPC] QE: Add ability to upload QE firmware Define the layout of a binary blob that contains a QE firmware and instructions on how to upload it. Add function qe_upload_firmware() to parse the blob and perform the actual upload. Fully define 'struct rsp' in immap_qe.h to include the actual RISC Special Registers. Added description of a new QE firmware node to booting-without-of.txt. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit a21e282a124f4679c040087ab73aa5b147d4275f Author: Vitaly Bordug Date: Fri Dec 7 01:51:31 2007 +0300 [POWERPC] fsl_soc: add support to gianfar for fixed-link property fixed-link says: register new "Fixed/emulated PHY", i.e. PHY that not connected to the real MDIO bus. Signed-off-by: Vitaly Bordug Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit e30007656463228ba23748df81a786f74dabf8b4 Author: Vitaly Bordug Date: Fri Dec 7 01:51:39 2007 +0300 [POWERPC] MPC8349E-mITX: Vitesse 7385 PHY is not connected to the MDIO bus ...thus use fixed-link to register proper "Fixed PHY" Signed-off-by: Anton Vorontsov Signed-off-by: Vitaly Bordug Signed-off-by: Kumar Gala commit a79d8e93d300adb84cccc38ac396cfb118c238ad Author: Vitaly Bordug Date: Fri Dec 7 01:51:22 2007 +0300 phy/fixed.c: rework to not duplicate PHY layer functionality With that patch fixed.c now fully emulates MDIO bus, thus no need to duplicate PHY layer functionality. That, in turn, drastically simplifies the code, and drops down line count. As an additional bonus, now there is no need to register MDIO bus for each PHY, all emulated PHYs placed on the platform fixed MDIO bus. There is also no more need to pre-allocate PHYs via .config option, this is all now handled dynamically. Signed-off-by: Anton Vorontsov Signed-off-by: Vitaly Bordug Acked-by: Jeff Garzik Signed-off-by: Kumar Gala commit 9b6d19dd1d87fcca43ebadfad2f50cee07fbef5e Author: Anton Vorontsov Date: Tue Dec 4 22:45:31 2007 +0300 [POWERPC] MPC8349E-mITX: introduce localbus and pata nodes This patch adds localbus and pata nodes to use CF IDE interface on MPC8349E-mITX boards. Patch also adds code to probe localbus. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 866b6ddd283ac453d4208831119d2b8272cda832 Author: Li Yang Date: Tue Jan 8 15:18:46 2008 +0800 [POWERPC] 83xx: USB device tree cleanups Remove device_type = "usb" for 83xx SoC USB controller Signed-off-by: Li Yang Signed-off-by: Kumar Gala commit e10241d8a1a68955e2f3e74befd9fa6ce61ba2bc Author: Li Yang Date: Tue Jan 8 15:18:45 2008 +0800 [POWERPC] 83xx: Add MPC837x USB platform support Add chip specific and board specific initialization for MPC837x USB. Signed-off-by: Li Yang Signed-off-by: Kumar Gala commit 5761bc5dae656b96e4bb22fd05480e5beddab24c Author: Li Yang Date: Mon Jan 7 20:03:18 2008 +0800 [POWERPC] 83xx: add device trees for MPC837x MDS board Signed-off-by: Li Yang Signed-off-by: Kumar Gala commit 93967ae20a04f77effe5e3106d98790d19796195 Author: Kumar Gala Date: Thu Jan 17 22:32:49 2008 -0600 [POWERPC] Fix incorrect interrupt map on FSL reference boards The ULI based boards had the interrupt maps for USB on the ULI incorrectly set. Also, the MPC8572DS was missing the interrupt-map-mask for the 3rd PCIe controller. Signed-off-by: Kumar Gala commit 3e6f4394ab3ae4480593d5f2612a0d92fd39bf07 Author: Kumar Gala Date: Tue Jan 15 09:33:56 2008 -0600 [POWERPC] bootwrapper: convert cuboot-8{3,5}xx to dt_fixup_mac_address_by_alias Signed-off-by: Kumar Gala commit ad160681c8caa0a73e6abd3ac606cd857608f94a Author: Kumar Gala Date: Tue Jan 15 09:30:32 2008 -0600 [POWERPC] bootwrapper: Add find_node_by_alias and dt_fixup_mac_address_by_alias Add the ability to set the mac address given the alias for the device. Removes the need for having a linux,network-index property. Signed-off-by: Kumar Gala commit 6392f1845b54eefbfa5f3569155451949d250b6d Author: Kumar Gala Date: Tue Jan 15 09:47:10 2008 -0600 [POWERPC] 83xx: convert boards to use machine_device_initcall Signed-off-by: Kumar Gala commit 277982e2d8a240576359e44b3f98c490861fc1ad Author: Kumar Gala Date: Tue Jan 15 09:42:36 2008 -0600 [POWERPC] 85xx: convert boards to use machine_device_initcall Signed-off-by: Kumar Gala commit c51a3fdc0a950dc65b4d552497e54cf60677f8a5 Author: Becky Bruce Date: Mon Jan 14 20:56:18 2008 -0600 [POWERPC] Fixup use of phys_addr_t in mpic code The mpic_map() and __mpic_map_mmio() need to use phys_addr_t for the physical address they are passed. Signed-off-by: Becky Bruce Signed-off-by: Kumar Gala commit 82f0183ef3c8832684ec460cfbd4693cc8732a7a Author: Kumar Gala Date: Mon Jan 14 20:42:53 2008 -0600 [POWERPC] Remove update_bridge_resource The 85xx/86xx pci code no longer uses update_bridge_resource and it was the only caller. Signed-off-by: Kumar Gala commit 72b122cc301858dcf283fe6731e61322c9772cf4 Author: Kumar Gala Date: Mon Jan 14 17:02:19 2008 -0600 [POWERPC] FSL: Rework PCI/PCIe support for 85xx/86xx The current PCI code for Freescale 85xx/86xx was treating the virtual P2P PCIe bridge as a transparent bridge. Rather than doing that fixup the virtual P2P bridge by copying the resources from the PHB. Also, fixup a bit of the code for dealing with resource_size_t being 64-bits and how we set ATMU registers for >4G. Signed-off-by: Kumar Gala commit b188b2aefe2b0e7d34c98106e20214f806f812a3 Author: Kumar Gala Date: Mon Jan 14 09:41:36 2008 -0600 [POWERPC] Fixup transparent P2P resources For transparent P2P bridges the first 3 resources may get set from based on BAR registers and need to get fixed up. Where as the remainder come from the parent bus and have already been fixed up. Signed-off-by: Kumar Gala commit 96d69c31c5115341c6c1163aa3d591c2da687a76 Author: Kumar Gala Date: Sat Jan 12 17:23:26 2008 -0600 [POWERPC] Ensure we only handle PowerMac PCI bus fixup for memory resources The fixup code that handles the case for PowerMac's that leave bridge windows open over an inaccessible region should only be applied to memory resources (IORESOURCE_MEM). If not we can get it trying to fixup IORESOURCE_IO on some systems since the other conditions that are used to detect the case can easily match for IORESOURCE_IO. Signed-off-by: Kumar Gala commit f98eeb4eb1c52de89dcefeb538029bcecc6dd42d Author: Kumar Gala Date: Wed Jan 9 11:27:23 2008 -0600 [POWERPC] Fix handling of memreserve if the range lands in highmem There were several issues if a memreserve range existed and happened to be in highmem: * The bootmem allocator is only aware of lowmem so calling reserve_bootmem with a highmem address would cause a BUG_ON * All highmem pages were provided to the buddy allocator Added a lmb_is_reserved() api that we now use to determine if a highem page should continue to be PageReserved or provided to the buddy allocator. Also, we incorrectly reported the amount of pages reserved since all highmem pages are initally marked reserved and we clear the PageReserved flag as we "free" up the highmem pages. Signed-off-by: Kumar Gala commit 9156ad48338e0306e508ead5c0d9986050744475 Merge: fa28237... 8f7b3d1... Author: Paul Mackerras Date: Thu Jan 24 10:07:21 2008 +1100 Merge branch 'linux-2.6' commit fa28237cfcc5827553044cbd6ee52e33692b0faa Author: Paul Mackerras Date: Thu Jan 24 08:35:13 2008 +1100 [POWERPC] Provide a way to protect 4k subpages when using 64k pages Using 64k pages on 64-bit PowerPC systems makes life difficult for emulators that are trying to emulate an ISA, such as x86, which use a smaller page size, since the emulator can no longer use the MMU and the normal system calls for controlling page protections. Of course, the emulator can emulate the MMU by checking and possibly remapping the address for each memory access in software, but that is pretty slow. This provides a facility for such programs to control the access permissions on individual 4k sub-pages of 64k pages. The idea is that the emulator supplies an array of protection masks to apply to a specified range of virtual addresses. These masks are applied at the level where hardware PTEs are inserted into the hardware page table based on the Linux PTEs, so the Linux PTEs are not affected. Note that this new mechanism does not allow any access that would otherwise be prohibited; it can only prohibit accesses that would otherwise be allowed. This new facility is only available on 64-bit PowerPC and only when the kernel is configured for 64k pages. The masks are supplied using a new subpage_prot system call, which takes a starting virtual address and length, and a pointer to an array of protection masks in memory. The array has a 32-bit word per 64k page to be protected; each 32-bit word consists of 16 2-bit fields, for which 0 allows any access (that is otherwise allowed), 1 prevents write accesses, and 2 or 3 prevent any access. Implicit in this is that the regions of the address space that are protected are switched to use 4k hardware pages rather than 64k hardware pages (on machines with hardware 64k page support). In fact the whole process is switched to use 4k hardware pages when the subpage_prot system call is used, but this could be improved in future to switch only the affected segments. The subpage protection bits are stored in a 3 level tree akin to the page table tree. The top level of this tree is stored in a structure that is appended to the top level of the page table tree, i.e., the pgd array. Since it will often only be 32-bit addresses (below 4GB) that are protected, the pointers to the first four bottom level pages are also stored in this structure (each bottom level page contains the protection bits for 1GB of address space), so the protection bits for addresses below 4GB can be accessed with one fewer loads than those for higher addresses. Signed-off-by: Paul Mackerras commit a3d2c2e8f5e01e185013d8f944c0a26fdc558ad8 Author: FUJITA Tomonori Date: Wed Jan 23 23:34:35 2008 +0900 [SCSI] ch: handle class_device_create failure properly When class_device_create fails, ch_probe needs to fail too. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit a43cf0f3511585493e3c948f7ec62f659486d0b3 Author: Randy Dunlap Date: Tue Jan 22 21:39:33 2008 -0800 [SCSI] NCR5380: fix section mismatch Many release() methods that are not __exit or __devexit call this __devexit function, so remove its "__devexit" attribute. scsi/g_NCR5380.c: WARNING: vmlinux.o(.text+0xadaf8c): Section mismatch: reference to .exit.text:NCR5380_exit (between 'generic_NCR5380_release_resources' and 'generic_NCR5380_biosparam') WARNING: vmlinux.o(.text+0xadd18c): Section mismatch: reference to .exit.text:NCR5380_exit (between 'generic_NCR5380_release_resources' and 'generic_NCR5380_biosparam') scsi/pas16.c, seagate.c: WARNING: vmlinux.o(.text+0xb29e91): Section mismatch: reference to .exit.text:NCR5380_exit (between 'pas16_release' and 'seagate_st0x_info') t128.c: WARNING: vmlinux.o(.text+0xb2a774): Section mismatch: reference to .exit.text:NCR5380_exit (between 't128_release' and 't128_biosparam') dtc.c, sym2/sym_fw.c: WARNING: vmlinux.o(.text+0xb2f215): Section mismatch: reference to .exit.text:NCR5380_exit (between 'dtc_release' and 'sym_fw1_patch') Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley commit 02f8a8586574350a1f3c2cee79cbc0faf630961d Author: Andrew Patterson Date: Tue Jan 22 17:18:22 2008 -0700 ACPI: Check for any matching CID when walking namespace. The callback function acpi_ns_get_device_callback called from acpi_get_devices() will check CID's if the HID does not match. This code has a bug where it requires that all CIDs match the HID. Changed the code so that any CID match will do. Signed-off-by: Andrew Patterson Signed-off-by: Len Brown commit 53474c042c0e1be39557474c945ad4a8e653ad46 Author: Tony Battersby Date: Tue Jan 22 15:25:49 2008 -0500 [SCSI] sg: fix /proc/scsi/sg/devices when no SCSI devices The patch "[SCSI] sg: use idr to replace static arrays" in 2.6.24-rc1 causes a bogus line to appear in /proc/scsi/sg/devices containing "-1 -1 -1 -1 -1 -1 -1 -1 -1" when there are no SCSI devices in the system. In 2.6.23, /proc/scsi/sg/devices is empty when there are no SCSI devices in the system. A similar problem exists with /proc/scsi/sg/device_strs. The following patch restores the behavior of 2.6.23. Signed-off-by: Tony Battersby Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 90c18f3c280f80e0bfbab7c1fc4b282842ccb853 Author: Erez Zilber Date: Tue Jan 22 12:06:25 2008 +0200 [SCSI] IB/iSER: add logical unit reset support eh_device_reset_handler was already added to scsi_host_template in iscsi_tcp, and is now added also for iscsi_iser. Signed-off-by: Erez Zilber Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 5b7f16804ad90e7f7a10c05b6a2e782598d9745a Author: James Bottomley Date: Sun Jan 20 09:28:24 2008 -0600 [SCSI] don't use __GFP_DMA for sense buffers if not required Only hosts which actually have ISA DMA requirements need sense buffers coming out of ZONE_DMA, so only use the __GFP_DMA flag for that case to avoid allocating this scarce resource if it's not necessary. [tomo: fixed slab leak in failure case] Acked-by: FUJITA Tomonori Signed-off-by: James Bottomley commit de25deb18016f66dcdede165d07654559bb332bc Author: FUJITA Tomonori Date: Wed Jan 16 13:32:17 2008 +0900 [SCSI] use dynamically allocated sense buffer This removes static array sense_buffer in scsi_cmnd and uses dynamically allocated sense_buffer (with GFP_DMA). The reason for doing this is that some architectures need cacheline aligned buffer for DMA: http://lkml.org/lkml/2007/11/19/2 The problems are that scsi_eh_prep_cmnd puts scsi_cmnd::sense_buffer to sglist and some LLDs directly DMA to scsi_cmnd::sense_buffer. It's necessary to DMA to scsi_cmnd::sense_buffer safely. This patch solves these issues. __scsi_get_command allocates sense_buffer via kmem_cache_alloc and attaches it to a scsi_cmnd so everything just work as before. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit b30c2fc1113edfb2371427c10503ff942b0a0370 Author: James Bottomley Date: Sun Jan 20 09:09:40 2008 -0600 [SCSI] scsi.h: add macro for enclosure bit of inquiry data The macro tells us whether the device is (or contains) an enclosure device. Signed-off-by: James Bottomley commit a0899d4df534d2bcf671b0f647b809842309a9ae Author: Hans de Goede Date: Sun Jan 20 11:12:26 2008 +0100 [SCSI] sd: add fix for devices with last sector access problems This patch adds a new scsi_device flag (last_sector_bug) for devices which contain a bug where the device crashes when the last sector is read in a larger then 1 sector read. This is for example the case with sdcards in the HP PSC1350 printer cardreader and in the HP PSC1610 printer cardreader. Signed-off-by: Hans de Goede Signed-off-by: James Bottomley commit b523381e325366cc54a2548df418c2a427b2f2ee Author: James Bottomley Date: Fri Jan 18 17:47:56 2008 -0600 [SCSI] fix pcmcia compile problem This patch commit 8ae732a91df051aba6820068a47b631a06599d84 Author: Tejun Heo Date: Fri Dec 7 22:36:23 2007 +0900 [SCSI] make pcmcia directory use obj-y|m instead of subdir-y|m Moved the scsi Makefile into conformance, but also caused the pcmcia subdirectory to get built in for the first time, leading to duplicate symbols in an allyesconfig build. Since evidently no-one relies on these being built in, fix this by ensuring they can only be built as modules. Acked-by: Tejun Heo Signed-off-by: James Bottomley commit cb1042f285c2168bd8cf10aca0e24802e682252b Author: Salyzyn, Mark Date: Thu Jan 17 09:25:07 2008 -0800 [SCSI] aacraid: add Voodoo Lite class of cards. The cards being added are supported in a limited sense already through family matching, but we needed to add some functionality to the driver to expose selectively the physical drives. These Physical drives are specifically marked to not be part of any array and thus are declared JBODs (Just a Bunch Of Drives) for generic SCSI access. We report that this is the second patch in a set of two, but merely depends on the stand-alone functionality of the first patch which adds in that case the ability to report a driver feature flag via sysfs. We leverage that functionality by reporting that this driver now supports this new JBOD feature for the controller so that the array management applications may react accordingly and guide the user as they manage the controller. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 2ca39c48ea0d2fd265479d0b62f2ac8878900360 Author: Salyzyn, Mark Date: Thu Jan 17 09:24:56 2008 -0800 [SCSI] aacraid: add new driver features flags Feature enhancement, adding a 'flags' entry that will reside in the host controller's tree, with a newline separated list of arbitrary ascii named features that indicate whether the combination of driver and controller has support for said feature. Breaking from the one-line output typical of sysfs entries, newline was added to tailor for grep, or simple gets line by line string match within an application. I added one for a compiler time check for existence of debug print output, one for an optional manifest defined enhanced status reporting in the logs, and one for runtime reporting whether the controller and driver supports arrays larger than 2TB. Adaptec's storage management software uses the last flag to determine whether to make available the creation of arrays larger than 2TB, otherwise a warning is posted. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 0c27f5bd00aba65a2a3313859ebce1c77c90000e Author: Andrew Vasquez Date: Thu Jan 17 09:02:20 2008 -0800 [SCSI] qla2xxx: Update version number to 8.02.00-k7. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit c48339decceec8e011498b0fc4c7c7d8b2ea06c1 Author: Seokmann Ju Date: Thu Jan 17 09:02:19 2008 -0800 [SCSI] qla2xxx: Issue correct MBC_INITIALIZE_FIRMWARE command. There is a case where 54xx HBA loads MID firmware as it use 24xx firmware. In this case, the driver should issue MBC_MID_INITIALIZE FIRMWARE even though the HBA doesn't support NPIV. This patch make changes in the driver so that could behave accordingly. Signed-off-by: Seokmann Ju Signed-off-by: James Bottomley commit fc44765f5a232d451fa58a04606b254ac257b429 Author: Andrew Vasquez Date: Thu Jan 17 09:02:18 2008 -0800 [SCSI] qla2xxx: Correct late-memset() of EFT buffer. Original code would clear the buffer after the firmware had already been initialized to use the buffer, thus potentially and inadvertantly clearing data previously DMA'd by the firmware. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit df613b96077cee826b14089ae6e75eeabf71faa3 Author: Andrew Vasquez Date: Thu Jan 17 09:02:17 2008 -0800 [SCSI] qla2xxx: Add Fibre Channel Event (FCE) tracing support. FCE support enables the firmware to record FC extended link services and basic link services frames which have been transmitted and received by the ISP. This allows for a limited view of the FC traffic through the ISP without using a FC analyzer. This can be useful in situations where a physical connection to the FC bus is not possible. The driver exports this information in two ways -- first, via a debugfs node exported for all supported ISPs under: /qla2xxx/qla2xxx_/fce where a read of the 'fce' file will provide a snapshot of the firmware's FCE buffer; and finally, the FCE buffer will be extracted during a firmware-dump scenario. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 00b6bd25166e2a4bad23c614c10c55993bb2489e Author: Andrew Vasquez Date: Thu Jan 17 09:02:16 2008 -0800 [SCSI] qla2xxx: Trace-Control naming cleanups. In preparation for FCE (Fibre Channel Event) tracing support. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit a824ebb37c1a1c5fd8e19b47bf5c14cb7b419b48 Author: Adrian Bunk Date: Thu Jan 17 09:02:15 2008 -0800 [SCSI] qla2xxx: Code cleanups. - make the following needlessly global code static: - qla_attr.c: qla24xx_vport_delete() - qla_attr.c: qla24xx_vport_disable() - qla_mid.c: qla24xx_allocate_vp_id() - qla_mid.c: qla24xx_find_vhost_by_name() - qla_mid.c: qla2x00_do_dpc_vp() - qla_os.c: struct qla2x00_driver_template - qla_os.c: qla2x00_stop_timer() - qla_os.c: qla2x00_mem_alloc() - qla_os.c: qla2x00_mem_free() - qla_sup.c: qla2x00_lock_nvram_access() - qla_sup.c: qla2x00_unlock_nvram_access() - qla_sup.c: qla2x00_get_nvram_word() - qla_sup.c: qla2x00_write_nvram_word() - #if 0 the following unused global functions: - qla_mbx.c: qla2x00_system_error() - qla_os.c: remove some unneeded function prototypes - removed unused functions: - qla_dbg.c: qla2x00_dump_pkt() - qla_mbx.c: qla2x00_get_serdes_params() - qla_mbx.c: qla2x00_get_idma_speed() - qla_mbx.c: qla24xx_get_vp_database() - qla_mbx.c: qla24xx_get_vp_entry() Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Small modifications and Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 50db6b134c31351a03cec9d2a7f9e61f63a5ce9f Author: Seokmann Ju Date: Thu Jan 17 09:02:14 2008 -0800 [SCSI] qla2xxx: Add a filter to compare port_name against the physical on vport creation. During vport creation, there was a possibility to get create a vport with same port_name as pport. A new filter has added to compare given port_name with the port_name of the pport. Signed-Off-by: Seokmann Ju Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 0b05a1f0d68bf4714c37aa7843c31df1866b017a Author: Marcus Barrow Date: Thu Jan 17 09:02:13 2008 -0800 [SCSI] qla2xxx: Use completion routines. Instead of abusing the semaphore interfaces for mailbox command completions. Additional cleanups and Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit a4722cf24d7a0dfa0874d49f61b053a6459761bf Author: Andrew Vasquez Date: Thu Jan 17 09:02:12 2008 -0800 [SCSI] qla2xxx: Don't schedule the DPC routine to perform an issue-lip request. As the driver depends on the DPC routine to handle bottom-half loop resynchronization in order to recover from the issue-lip request. The issue_lip call is sleeping context capable, so just issue the reset function there. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit da7429f9ab5ba939cec37d07ef7f6a630fe48421 Author: Andrew Vasquez Date: Thu Jan 17 09:02:11 2008 -0800 [SCSI] qla2xxx: Restrict MSI/MSI-X enablement on select ISP2432-type HBAs. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 6f13fd57cd84c06cea6c4b6d61517a4350820a9f Author: Andrew Vasquez Date: Thu Jan 17 09:02:10 2008 -0800 [SCSI] qla2xxx: Wait for FLASH write-protection to complete after a write. Some flash parts have a slow enable write-protection (WP) operation whereby subsequent FLASH accesses would fail if the WP operation had not completed. Software now polls the SPI's status-register for WP completion. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 3776541d8a46347a4924353a192c6ce4a3d04e2e Author: Andrew Vasquez Date: Thu Jan 17 09:02:09 2008 -0800 [SCSI] qla2xxx: Fix for 32-bit platforms with 64-bit resources. The driver stores the contents of PCI resources into unsigned long's before ioremapping. This breaks on 32-bit platforms which support 64-bit MMIO resources. Correct code by removing the temporary variables used during MMIO PIO mapping and using resource_size_t where applicable. Also correct a small typo in a printk() where the wrong region number was displayed. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 43ef058010c79a967195539bbcdeee8c5b24219d Author: Andrew Vasquez Date: Thu Jan 17 09:02:08 2008 -0800 [SCSI] qla2xxx: Retrieve additional HBA port statistics from recent ISPs. HBAs supporting these additional counters include ISP24xx and ISP25xx type boards. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 4733fcb1fe4d64402a8bd18cec766e8b8ad25eee Author: Andrew Vasquez Date: Thu Jan 17 09:02:07 2008 -0800 [SCSI] qla2xxx: Consolidate duplicate sense-data handling codes. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit fd66c1b4e491a2a17d7a420fa38fd04b0e8d36c1 Author: Kai Makisara Date: Thu Jan 17 22:45:22 2008 +0200 [SCSI] st: convert to unlocked_ioctl Convert st to unlocked_ioctl. The necessary locking was already in place. Signed-off-by: Kai Makisara Signed-off-by: James Bottomley commit 8ce3eca4dc8161e030a055bde94cde28476e0894 Author: Salyzyn, Mark Date: Wed Jan 16 07:39:06 2008 -0800 [SCSI] aacraid: remove pigs in space I was amazed at how much embedded space was present in the aacraid driver source files. Just selected five files from the set to clean up for now and the attached patch swelled to 73K in size! - Removed trailing space or tabs - Removed spaces embedded within tabs - Replaced leading 8 spaces with tabs - Removed spaces before ) - Removed ClusterCommand as it was unused (noticed it as one triggered by above) - Replaced scsi_status comparison with 0x02, to compare against SAM_STATUS_CHECK_CONDITION. - Replaced a long series of spaces with tabs - Replaced some simple if...defined() with ifdef/ifndef Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit d07e03610ca1f4be373f32ad5b25ac00dbdb867d Author: FUJITA Tomonori Date: Tue Jan 15 13:18:00 2008 +0900 [SCSI] sg: handle class_device_create failure properly Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit a24484f281dda11e4fc0041a51907d3564da3d7f Author: FUJITA Tomonori Date: Tue Jan 15 13:17:47 2008 +0900 [SCSI] sg: set class_data after success If cdev_add fails in sg_add, sg_remove crashes since class_data is bogus. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit d814c5173c671cf2c88d4e07db01b13312467ecd Author: Salyzyn, Mark Date: Mon Jan 14 11:04:40 2008 -0800 [SCSI] dpt_i2o: use constant instead of bare value 0x02 becomes SAM_STAT_CHECK_CONDITION Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit f7fea185d2998dc4c902ec47834ab6db28fe0029 Author: Mathieu Segaud Date: Mon Jan 14 15:43:18 2008 +0100 [SCSI] ch: Convert to use unlocked_ioctl As of now, compat_ioctl already runs without the BKL, whereas ioctl runs with the BKL. This patch first converts changer_fops to use a .unlocked_ioctl member. It applies the same locking rationale than ch_ioctl_compat() uses to ch_ioctl(). Signed-off-by: Mathieu Segaud Reviewed-by: Matthew Wilcox Signed-off-by: James Bottomley commit eaa3e22e8d32bf7a6176f04efad90f4a5aa67f58 Author: Andi Kleen Date: Sun Jan 13 17:41:43 2008 +0100 [SCSI] sg: Only print SCSI data direction warning once for a command When I use cdparanoia my logs get spammed a lot by printk: 464 messages suppressed. sg_write: data in/out 30576/30576 bytes for SCSI command 0xbe--guessing data in; program cdparanoia not setting count and/or reply_len properly printk: 1078 messages suppressed. and many more of those. With this patch the message is only printed once for a command in a row. v1->v2: Prevent rate limit messages too (pointed out by jejb) Signed-off-by: Andi Kleen Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit d496f94d22d1491ffb25f4000e85f7a4ecf7f2c4 Author: Alan Cox Date: Wed Nov 7 23:58:10 2007 +0000 [SCSI] aacraid: fix security weakness Actually there are several but one is trivially fixed 1. FSACTL_GET_NEXT_ADAPTER_FIB ioctl does not lock dev->fib_list but needs to 2. Ditto for FSACTL_CLOSE_GET_ADAPTER_FIB 3. It is possible to construct an attack via the SRB ioctls where the user obtains assorted elevated privileges. Various approaches are possible, the trivial ones being things like writing to the raw media via scsi commands and the swap image of other executing programs with higher privileges. So the ioctls should be CAP_SYS_RAWIO - at least all the FIB manipulating ones. This is a bandaid fix for #3 but probably the ioctls should grow their own capable checks. The other two bugs need someone competent in that driver to fix them. Signed-off-by: Alan Cox Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 3ace426f9575dd112252d72baaee4554fcb2e450 Author: Salyzyn, Mark Date: Mon Jan 14 07:25:33 2008 -0800 [SCSI] aacraid: replace ' Signed-off-by: James Bottomley commit b80ca4f7ee36c26d300c5a8f429e73372d153379 Author: FUJITA Tomonori Date: Sun Jan 13 15:46:13 2008 +0900 [SCSI] replace sizeof sense_buffer with SCSI_SENSE_BUFFERSIZE This replaces sizeof sense_buffer with SCSI_SENSE_BUFFERSIZE in several LLDs. It's a preparation for the future changes to remove sense_buffer array in scsi_cmnd structure. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 94aa5e5f6251ca0e1d77e083f8c2f9f40ee548c5 Author: FUJITA Tomonori Date: Sun Jan 13 15:46:12 2008 +0900 [SCSI] aic7xxx_old, eata_pio, ips, libsas: don't zero out sense_buffer in queuecommand LLDs don't need to zero out scsi_cmnd::sense_buffer in queuecommand since scsi-ml does. This is a preparation of the future changes to allocate the sense_buffer only when necessary. Many LLDs zero out the sense_buffer before touching it on the error case. This patch lets them alone for now because new APIs for them would be added later on. Signed-off-by: FUJITA Tomonori Acked-by: "Salyzyn, Mark" Signed-off-by: James Bottomley commit 382db811a8cc1427efabdc959cd1aeef8685ffa6 Author: Randy Dunlap Date: Thu Jan 10 14:33:16 2008 -0800 [SCSI] megaraid: fix section mismatch Change megaraid_pci_driver_g variable name so that it matches the modpost whitelist that allows pointers to init text/data. WARNING: vmlinux.o(.data+0x1a8e30): Section mismatch: reference to .init.text:megaraid_probe_one (between 'megaraid_pci_driver_g' and 'class_device_attr_megaraid_mbox_app_hndl') Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley commit cc75e8ab6f262a3ea60e8d8268f48da5365f2823 Author: FUJITA Tomonori Date: Sun Jan 13 02:20:18 2008 +0900 [SCSI] libsas: fix sense_buffer overrun Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 3bc8070fb75b33151791fb54ca36ae5abcc8b8df Author: Salyzyn, Mark Date: Fri Jan 11 13:46:24 2008 -0800 [SCSI] aacraid: SMC vendor identification Due to an internal limit associated with the AdapterTypeText field, SMC required a product ID that overloaded the combined vendor and product ID. A decision was made to ship the SMC products without a vendor string dropping the defacto space that used to delineate vendor and product to boot. To correct this, we needed to adjust the code in the driver to parse out the vendor and product strings for the adapter. We match of 'AOC' in the AdapterTypeText, if so we set the vendor to SMC and place the entire AdapterTypeText into the product field. This only affects the cosmetic presentation of the Adapter vendor and product in the logs and in sysfs. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 0995ad382df77b438d0c1e4f93ff349aa2eb9caf Author: Salyzyn, Mark Date: Fri Jan 11 11:56:07 2008 -0800 [SCSI] aacraid: respond to enclosure service events Added support to respond to enclosure service events (controller AIFs) to add, online or offline physical targets reported to sg. Also added online and offlining of arrays. Removed an automatic variable definition in a sub block that hid an earlier definition, determined to be inert as the sub-block use did not interfere. Bumped the driver versioning to stamp the addition of this feature. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit d9aa3af09cdc5d3ae0e67bed4107bcf7e25b9f31 Author: Krzysztof Helt Date: Fri Jan 11 21:50:46 2008 +0100 [SCSI] sym53c8xx: fixes two bugs related to chip reset This patch fixes two bugs pointed by James Bottomley: 1. the if (!sym_data->io_reset). That variable is only ever filled by a stack based completion. If we find it non empty it means this code has been entered twice and we have a severe problem, so that should just become a BUG_ON(sym_data->io_reset). 2. sym_data->io_reset should be set to NULL before the routine is exited otherwise the PCI recovery code could end up completing what will be a bogus pointer into the stack. Big thanks to James Bottomley for help with the patch. Signed-off-by: Krzysztof Helt Signed-off-by: James Bottomley commit 3a0086a80ab7c2f1adb0e9b2a6fc82632979cec5 Author: Salyzyn, Mark Date: Fri Jan 11 11:46:44 2008 -0800 [SCSI] aacraid: add call to flush_kernel_dcache_page Some architectures require a call to flush_kernel_dcache_page for processor spoofed DMA operations. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 984621b4379cccbd0330e10622021a3cfe464ad5 Author: Prakash, Sathya Date: Fri Jan 11 14:42:17 2008 +0530 [SCSI] mpt fusion: Fix for module unload problem in flash less controller environment This patch fixes the module unload problem in flash less 1030 controller environment where firmware download boot functionality is invoked. The problem is due to the firmware download is being done in the reverse order, which this patch solves by insureing the download occurs to the last controller being reset. signed-off-by: Sathya Prakash Signed-off-by: James Bottomley commit 32cfe344b002b4d6fe6852a006a9ef3c9ccdb545 Author: James Smart Date: Fri Jan 11 01:53:33 2008 -0500 [SCSI] lpfc 8.2.4 : Update lpfc driver version to 8.2.4 Update lpfc driver version to 8.2.4 Signed-off-by: James Smart Signed-off-by: James Bottomley commit fa4066b672821d24cb7180b8d0434b01a7043172 Author: James Smart Date: Fri Jan 11 01:53:27 2008 -0500 [SCSI] lpfc 8.2.4 : Rework misplaced reference taking on node structure Rework misplaced reference taking on node structure Signed-off-by: James Smart Signed-off-by: James Bottomley commit c95d6c6c2b0a303a113fd468efce7430d5b20eac Author: James Smart Date: Fri Jan 11 01:53:23 2008 -0500 [SCSI] lpfc 8.2.4 : Enhance debugfs use Enhance debugfs to dump HBA SLIM as well as Host SLIM Signed-off-by: James Smart Signed-off-by: James Bottomley commit 9c2face68782d5b7a322df6aade0512b47d29f10 Author: James Smart Date: Fri Jan 11 01:53:18 2008 -0500 [SCSI] lpfc 8.2.4 : Fix Unsolicited Data items Fix Drivers Unsolicited CT command handling - we did not handle multiframe sequences well. Fix error due to delay in replenishing buffers for unsolicited data. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 83108bd3826310def1e49330558467406c46b970 Author: James Smart Date: Fri Jan 11 01:53:09 2008 -0500 [SCSI] lpfc 8.2.4 : Add additional sysfs and module parameters Made link speed and link topology modifiable via sysfs Make scatter gather Segment Count into a module parameter. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 8a4df120b0712a12134d0d9435ccaec1c12b07a7 Author: Tomohiro Kusumi Date: Fri Jan 11 01:53:00 2008 -0500 [SCSI] lpfc 8.2.4 : Make lpfc legacy I/O port free This is a patch written by Tomohiro Kusumi and submitted to linux-scsi: http://marc.info/?l=linux-scsi&m=118673720712152&w=2 The original patch comment: This patch makes Emulex lpfc driver legacy I/O port free. It has already been acked quite long time ago. So I resubmit the patch. http://lkml.org/lkml/2006/11/22/28 Current lpfc driver is already using pci_select_bars() and pci_enable_device_bars() when the PCI bus has been reset. So I think this patch should also be acked. Signed-off-by: Tomohiro Kusumi Signed-off-by: James Smart Signed-off-by: James Bottomley commit 0937282036d9ae798e02c9c69a8b2ef044048855 Author: James Smart Date: Fri Jan 11 01:52:54 2008 -0500 [SCSI] lpfc 8.2.4 : Miscellaneous Fixes Miscellaneous Fixes: - Fix a couple of sparse complaints - Reset the FCP recovery flag when the node is not a FCP2 device. - Speed up offline prep delays - Fixed a memory leak in lpfc_mem_alloc failure path - Fixed external loopback test. - Fixed error code returned from the driver when HBA is over heated. - Correct Max NPIV vport to limits read from adapter - Add missing locks around fc_flag and FC_NEEDS_REG_VPI - Add missing hba ids for device identification - Added support for SET_VARIABLE and MBX_WRITE_WWN mailbox commands - Changed all temperature event messages from warning to error - Fix reporting of link speed when link is down - Added support for MBX_WRITE_WWN mailbox command - Change del_timer_sync() in ISR to del_timer() in interrupt handler - Correct instances of beXX_to_cpu() that should be cpu_to_beXX() - Perform target flush before releasing node references on module unload - Avoid bogus devloss_tmo messages when driver unloads - Fix panic when HBA generates ERATT interupt - Fix mbox race condition and a workaround on back-to-back mailbox commands - Force NPIV off for pt2pt mode between 2 NPorts - Stop worker thread before removing fc_host. - Fix up discovery timeout error case due to missing clear_la - Tighten mailbox polling code to speed up detection of fast completions - Only allow DUMP_MEMORY if adapter offline due to overtemp errors - Added extended error information to the log messages in chip init. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 13815c8344a238c204e4f4339b22dc4833c6df0f Author: James Smart Date: Fri Jan 11 01:52:48 2008 -0500 [SCSI] lpfc 8.2.4 : Add parameters to enable and disable heartbeat and hba resets Add parameters to enable and disable heartbeat and hba resets Signed-off-by: James Smart Signed-off-by: James Bottomley commit fa61a54e48efc8e5c7a6d4680ad8ceb74a5fca84 Author: James Smart Date: Fri Jan 11 01:52:42 2008 -0500 [SCSI] lpfc 8.2.4 : Correct abort handler logic Correct Abort handler logic. It was unconditionally waiting a minimum of 2 seconds rather than looking for abort completion. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 0ff10d46cf0a373c9c855a23cc9383ba4030d8d2 Author: James Smart Date: Fri Jan 11 01:52:36 2008 -0500 [SCSI] lpfc 8.2.4 : Miscellaneous Discovery/ELS Fixes Miscellaneous Discovery/ELS Fixes: - Delay free's of ELS requests if adapter reject conditions - Fix concurrent PLOGI vs ADISC state handling - Add retry mechanism for GFF_ID - Correct some illegal state transitions around RSCN timeouts - Fix missing return in FAN handling Signed-off-by: James Smart Signed-off-by: James Bottomley commit b18268fc631034882f5f3dd93daa248a3bfdd085 Author: Salyzyn, Mark Date: Tue Jan 8 14:07:57 2008 -0800 [SCSI] aacraid: improve queue balancing The adapter queue is divided up equally to all the arrays to prevent command starvation to any individual array. On the other hand, physical targets are only granted a queue depth of one each. The code prior to this patch used to deal with the incremental discovery of targets, but the driver knows how many arrays are present prior to the scan so this knowledge is used to generate a better estimate for the queue depth. Remove the capability of 'physical=0' from preventing access to the class of adapters that have the RAID/SCSI mode of operation since none of the physicals on the SCSI channel are candidates ever for an array. As always, the user can override this default queue depth policy by making the appropriate adjustments utilizing sysfs. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit b6ef70f33ca2a3084b4fea12414550724a9114dc Author: Salyzyn, Mark Date: Tue Jan 8 13:26:43 2008 -0800 [SCSI] aacraid: OS panic after Adapter panic (hardening). In experiments in the lab we managed to trigger an Adapter firmware panic (BlinkLED) coincidentally while several pass-through ioctl command from the management software were outstanding on a bug only present on a class of RAID Adapters that require a hardware reset rather than a commanded reset. The net result was an attempt to time out the management software command as if it came from the SCSI layer resulting in an OS panic. Adapters that use commanded reset, management commands are returned failed by the Adapter correctly. The adapter firmware panic that resulted in this condition was also resolved, and there were no adapters in the field with this specific firmware bug so we do not expect any field reports. This is a rare or unlikely corner condition, and no reports have ever been forwarded from the field. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 6dcd4a7fe5dfaace2763187d6941e700a8bc6f27 Author: Salyzyn, Mark Date: Tue Jan 8 13:08:04 2008 -0800 [SCSI] aacraid: fix multiple definition of automatic variable warning. The 'entry' automatic variable was defined at the top and within a block that uses it, removed the definition from the block that uses it. Some cosmetic changes were made while in the same file. This patch should be inert. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit a3940da5e6fe8b833eecdbca3fac9456b4204d6e Author: Salyzyn, Mark Date: Tue Jan 8 12:48:25 2008 -0800 [SCSI] aacraid: fix big endian issues Big endian systems issues discovered in the aacraid driver. Somewhat reverses a patch from November 7th of last year that removed swap operations because they formerly were being assigned to an u8 array when they should have been assigned to an le32 array. This patch is largely inert for any little endian processor architecture. It resolves a bug in delivering the BlinkLED AIF event to registered applications when the adapter or associated hardware was reset due to ill health. A rare corner case occurrence, also largely unnoticed by any as it was a new (untested!) feature. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 06a43d1725f59a0f5e043bd06081c44ae528098e Author: Salyzyn, Mark Date: Tue Jan 8 12:32:00 2008 -0800 [SCSI] aacraid: variable redefinition hides earlier warning The parameter 'info' is reused, renamed the second to sinfo to represent supplemental adapter info, to suppress compile warning message. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 17eaaceef52b1ce5ca061d49a1ff9ae56ccce1e1 Author: Salyzyn, Mark Date: Tue Jan 8 12:23:49 2008 -0800 [SCSI] aacraid: add sysfs report of RAID level Report the RAID level string for the SCSI device representing the array. Report is in /sys/class/scsi_device/#:#:#:#/device/level. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 95e852e1ef165560e85d3012127068c8f08b19a1 Author: Salyzyn, Mark Date: Tue Jan 8 12:01:07 2008 -0800 [SCSI] aacraid: add parameter to control FUA and SYNCHRONIZE_CACHE policy aacraid.cache parameter, Disable Queue Flush commands: bit 0 - Disable FUA in WRITE SCSI commands bit 1 - Disable SYNCHRONIZE_CACHE SCSI command bit 2 - Disable only if Battery not protecting adapter supplied Cache e.g.: aacraid.cache=7 will disable the FUA and SYNCHRONIZE_CACHE commands if the adapter has reported that it's cache is battery backed up. This parameter permits experimentation with tradeoffs between performance and caching policy. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 9b161a4d3e83518323ce13822e55de70c630aa65 Author: James Bottomley Date: Sat Jan 5 10:18:27 2008 -0600 [SCSI] scsi_transport_spi: convert to attribute groups This conversion makes full use of the is_visible() callback on attribute groups. Now, each device appears only with its capability flags in the transport class directory. Previously each device appeared with the capability of the host, so this is a functionality improvement. Converting to attribute groups allows us to sweep away most of the home grown #defines that were effectively doing the same thing. Signed-off-by: James Bottomley commit d4acd722b7bb5f48b9fc3848e8c2a845b100d84f Author: James Bottomley Date: Wed Oct 31 09:38:04 2007 -0500 [SCSI] sysfs: add filter function to groups This patch allows the various users of attribute_groups to selectively allow the appearance of group attributes. The primary consumer of this will be the transport classes in which we currently have elaborate attribute selection algorithms to do this same thing. Acked-by: Greg KH Signed-off-by: James Bottomley commit d52b3815a52456dcf1a45fbc344e23bb643b2bda Author: James Bottomley Date: Sat Jan 5 09:38:30 2008 -0600 [SCSI] add missing transport configure points for target and host While trying to convert the SPI transport class to attribute groups, I discovered that we don't actually have any transport configure points for either the target or the host. This patch adds these missing transport class triggers. The host one is simply done after the add, the target one tries to be more clever and add it after devices may have been placed on the target (so the device configure will have set up the target parameters). Signed-off-by: James Bottomley commit fd1109711d7f76126e7cef947999f139b198dc15 Author: James Bottomley Date: Wed Jan 2 18:48:47 2008 -0600 [SCSI] attribute_container: update to use the group interface This patch is the beginning of moving the attribute_containers to use attribute groups exclusively. The attr element is now deprecated and will eventually be removed (along with all the hand rolled code for doing exactly what attribute groups do) when all the consumers are converted to attribute groups. Acked-by: Greg Kroah-Hartman Signed-off-by: James Bottomley commit 11f24fbdf511cf588c3a18e3208ee02d85db0020 Author: James Bottomley Date: Wed Jan 2 18:44:05 2008 -0600 [SCSI] sysfs: fix the sysfs_add_file_to_group interfaces I can't see a reason why these shouldn't work on every group. However, they only seem to work on named groups. This patch allows the group functions to work on anonymous groups (those with NULL names). Acked-by: Tejun Heo Acked-by: Kay Sievers Acked-by: Greg Kroah-Hartman Signed-off-by: James Bottomley commit d0ad3bc97c06fba5d37b4ca03c03b7eeeda39c47 Author: James Bottomley Date: Tue Jan 22 13:43:48 2008 -0600 [SCSI] libata: fix corruption induced by relaxed DMA alignment in SCSI Hugh Dickens noticed that SMART commands issued from user space can end up corupting memory. The problem occurs if the buffer used to read data spans two pages. The reason is that the PIO sector routines in libata are expecting physically contiguous pages when they do sector operations, so the left overs on the second page go into the next physically adjacent page rather than the next page in the sg mapping. Fix this by enforcing strict 512 byte alignment on all buffers from userspace. Acked-by: Hugh Dickins Acked-by: Jeff Garzik Signed-off-by: James Bottomley commit a984f58dd97f22f5113700322fed311a0ee29947 Author: akpm@linux-foundation.org Date: Thu Jan 17 11:33:52 2008 -0800 fix drivers/ata/sata_fsl.c double-decl drivers/ata/sata_fsl.c: In function 'sata_fsl_fill_sg': drivers/ata/sata_fsl.c:337: error: redeclaration of 'si' with no linkage drivers/ata/sata_fsl.c:326: error: previous declaration of 'si' was here Reported-by: Olof Johansson Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 7ccd720da3857c21ea893448aaf73620cfe1d27e Author: James Bottomley Date: Thu Jan 17 11:56:24 2008 -0600 [libata] Prefer SCSI_SENSE_BUFFERSIZE to sizeof() Signed-off-by: Jeff Garzik commit b832548773b0cd98216534caa31b9ed7607c4e76 Author: Alan Cox Date: Sat Jan 19 15:47:23 2008 +0000 pata_legacy: Merge winbond support This puts winbond VLB in with the other ISA/VLB support and means we can lose pata_winbond.c. With all the VLB/ISA probe in one space (and out of the core libata) this makes legacy probing work sanely. Also switch to devm_ for resource handling on the ports post probe Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 5e8f757cb2e0f67bf43f71d5180a8bf0ab3484eb Author: Alan Cox Date: Sat Jan 19 16:07:58 2008 +0000 ata_generic: Cenatek support Not much to do here. It's an ata memory as disk. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 3e9b90265e9ab191c8f7e072fd0abf05824d2f1b Author: Alan Cox Date: Sat Jan 19 15:53:55 2008 +0000 pata_winbond: error return If no device is active return an error not zero. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 0f069788c32ea7af108c6032dfb0594cc718bde8 Author: Alan Cox Date: Sat Jan 19 15:52:56 2008 +0000 pata_serverworks: Fix cable types and cosmetics Minor tidying up. Only real change is to return UNK not 80 wire when we don't know the cable type. This didn't use to matter but with Tejun's reworking of cable detection it may. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 0eaea364edec4132fe42ef33fe87edb15f00507b Author: Alan Cox Date: Sat Jan 19 15:48:59 2008 +0000 pata_mpc52xx: remove un-needed assignment ata_irq is always assigned so does not need to be initialised to zero. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 75f9cafc2d24a1cf44d7c3f3e5b4f7a393afcf71 Author: Tejun Heo Date: Thu Jan 3 01:21:14 2008 +0900 libata: fix off-by-one in error categorization ATA_ECAT_DUBIOUS_BASE was too high by one and thus all DUBIOUS error categorizations were wrong. This passed test because only ATA_BUS and UNK_DEV were used during testing and the ones after them - ATA_BUS and an overflowed entry - behaved similarly. This patch fixes the problem by adding DUBIOUS_NONE category and use it as base. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit b710a1f4b34438b624e9c6c2dc8bcf54b0b0ba27 Author: Tejun Heo Date: Sat Jan 5 23:11:57 2008 +0900 ahci: factor out AHCI enabling and enable AHCI before reading CAP Factor out AHCI enabling into ahci_enable_ahci() and enabling AHCI before reading CAP in ahci_save_initial_config() as the spec requires enabling AHCI mode before accessing any other registers. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit c729072459446885c5c200137de1db32da5db4dc Author: Tejun Heo Date: Fri Jan 18 18:36:30 2008 +0900 ata_piix: implement SIDPR SCR access For ICH8, SCRs can be accessed using index and data register pair located at BAR 5. This patch implements support for it such that PHY status, errors and hardreset are available for those controllers. This is the only case where two devices on a PATA channel have access to SCRs and creates a unique problem of mapping two SCRs to one link. Note that this is different from PMP case in that they aren't quite separate links - e.g. softreset resets both devices. This problem is worked around by merging the SCR values. To upper layer, it looks like there is a single link with one set of SCRs but with two devices. This works well enough for PHY event, error reporting and hardreset. Supporting hardreset is important because in rare cases SATA devices fail to recover without it after PHY errors. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 8b09f0da0f873698a7e8b329dfb7b10fd42d5cdf Author: Tejun Heo Date: Fri Jan 18 18:36:29 2008 +0900 ata_piix: convert to prepare - activate initialization ata_piix requires more configuration during initialization than most other SFF compliant controllers and one-go initialzation with ata_pci_one() is too rigid. This patch converts ata_piix to use two step prepare - activate initialization used by other more advanced controllers. This conversion brings the happy side effect of enabling PCI device before accessing PCI configuration registers. Other than that, there shouldn't be any behavior change. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 4e6b79fa61091a0ed9b0af0f573cc257772cd88d Author: Tejun Heo Date: Fri Jan 18 18:36:28 2008 +0900 libata: factor out ata_pci_activate_sff_host() from ata_pci_one() Factor out ata_pci_activate_sff_host() from ata_pci_one(). This does about the same thing as ata_host_activate() but needs to be separate because SFF controllers use different and multiple IRQs in legacy mode. This will be used to make SFF LLD initialization more flexible. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit cadb7345d92628d46cccd3765cc15cb9cd6abccf Author: akpm@linux-foundation.org Date: Tue Jan 15 16:01:52 2008 -0800 [libata] Prefer SCSI_SENSE_BUFFERSIZE to sizeof() Cc: James Bottomley Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit defc9cd826e4a99f550504a744f9407b518828ae Author: Alan Cox Date: Thu Jan 10 14:33:10 2008 -0800 pata_legacy: resychronize with upstream changes and resubmit Update the legacy driver so it can handle VLB ports nicely, and has an internal structure for nailing new ISA/VLB forms in. Anyone got an ALI14xx and a spare day ;) Also adds an "all" parameter so you can load this driver after all the PCI ones in a boot time kernel and tell it to grab anything ST412 compatible even if it is an unknown PCI device. That allows libata to offer the same "just get me a disk somehow" fallback that old IDE did. Obsoletes pata_qdi. Signed-off-by: Alan Cox Cc: Tejun Heo Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit c294f1b32940d5bf853e006b9ccc72629c859749 Author: Andrew Morton Date: Tue Jan 15 15:42:37 2008 -0800 [libata] pata_legacy: typo fix Cc: Jeff Garzik Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 045eeb4f796bf50439cfbf4f165946b648a1a928 Author: Andrew Morton Date: Thu Jan 10 14:33:04 2008 -0800 [libata] pata_winbond: update for new ->data_xfer hook drivers/spi/Kconfig:156:warning: 'select' used by config symbol 'SPI_PXA2XX' refers to undefined symbol 'PXA_SSP' drivers/ata/pata_winbond.c: In function 'winbond_data_xfer': drivers/ata/pata_winbond.c:109: error: 'read' undeclared (first use in this function) drivers/ata/pata_winbond.c:109: error: (Each undeclared identifier is reported only once drivers/ata/pata_winbond.c:109: error: for each function it appears in.) drivers/ata/pata_winbond.c:123: warning: 'return' with a value, in function returning void drivers/ata/pata_winbond.c: At top level: drivers/ata/pata_winbond.c:162: warning: initialization from incompatible pointer type distcc[29718] ERROR: compile drivers/ata/pata_winbond.c on bix/8 failed make[1]: *** [drivers/ata/pata_winbond.o] Error 1 make: *** [drivers/ata/pata_winbond.o] Error 2 Cc: Jeff Garzik Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit f885521f0aa4a4f9d339cf32a4821a56f3f97426 Author: Tejun Heo Date: Wed Jan 2 20:12:47 2008 +0900 pata_pcmcia: convert to new data_xfer prototype While merging data_xfer prototype change, pata_pcmcia was left out. Convert it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 4ca4e439640cd1d3659cbcf60e7a73c2ae0450b3 Author: Al Viro Date: Sun Dec 30 09:32:22 2007 +0000 libata annotations and fixes Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 35a10a80daa04b7316d6bac1b1402cc347c35b1e Author: Tejun Heo Date: Fri Jan 4 18:42:21 2008 +0900 libata: use dev_driver_string() instead of "libata" in libata-sff.c libata-sff code used DRV_NAME which is hardcoded to "libata" when requesting resources. Use dev_driver_string() such that low level driver names are used in resource listing. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 723159c58371b860cf6ef38affd19d16290e4898 Author: Tejun Heo Date: Fri Jan 4 18:42:20 2008 +0900 ata_piix: kill unused constants and flags Kill PIIX_FLAG_SCR, PIIX_PORT_ENABLED and PIIX_PORT_PRESENT. These are unused. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 442eacc362c2576aac8ebfd41b99252e28e0f49c Author: Jeff Garzik Date: Wed Dec 19 04:25:10 2007 -0500 libata: make ata_port_queue_task() an internal function ata_port_queue_task() served a single user: ata_pio_task() Rename to ata_pio_queue_task() and un-export it, as nobody outside of libata-core.c uses it. Signed-off-by: Jeff Garzik commit d7b174500e5750099537c7f0bc4873f06b6c1b9a Author: Alan Cox Date: Mon Nov 19 14:43:07 2007 +0000 pata_pcmcia: Minor cleanups and support for dual channel cards Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit c5038fc05d4aa4ae0671776199459690e4c973cb Author: Alan Cox Date: Thu Oct 25 14:21:16 2007 +0100 libata/pata_it821x: Improve handling of poorly compatible emulations Some it821x RAID firmwares return 0 for the err return off both devices. A similar issue occurs with the slave returning 0 not 1 if you plug a gigabyte sata ramdisk into a controller that fakes two SATA ports as master/slave on an SFF channel. The patch does the following - Allow the 'failed diagnostics' case on both master and slave - Move the HORKAGE_DIAGNOSTIC check after ->dev_config This second change also allows IT821x to fix up a problem where we report drive diagnostic failures when in fact the drive is fine but the microcontroller firmware doesn't appear to get it right. IT821x clears the flag again to avoid giving the user bogus warnings about their disk. The other IT821x change is a bit ugly, we slightly abuse the cable type hook to fiddle with the identify data for the devices. We could add a new hook for this but as we have only one offender and no more seeming likely it seems better to keep libata-core clean. Please let this sit in -mm briefly, just in case the relaxed checking breaks some other emulated interface. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit a5df2eabdae7cd7840d59cffe621b3658a3a70cb Author: Alan Cox Date: Mon Oct 15 20:44:11 2007 +0100 pata_pcmcia: Add support for dumb 8bit IDE emulations Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 0bcc65ad78ae517de16b2ca07a2891f49d44d156 Author: Tejun Heo Date: Wed Dec 5 16:43:12 2007 +0900 libata: make qc->nbytes include extra buffers qc->nbytes didn't use to include extra buffers setup by libata core layer and my be odd. This patch makes qc->nbytes include any extra buffers setup by libata core layer and guaranteed to be aligned on 4 byte boundary. This value is to be used to program the host controller. As this represents the actual length of buffer available to the controller and the controller must be able to deal with short transfers for ATAPI commands which can transfer variable length, this shouldn't break any controllers while making problems like rounding-down and controllers choking up on odd transfer bytes much less likely. The unmodified value is stored in new field qc->raw_nbytes. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit ff2aeb1eb64c8a4770a6304f9addbae9f9828646 Author: Tejun Heo Date: Wed Dec 5 16:43:11 2007 +0900 libata: convert to chained sg libata used private sg iterator to handle padding sg. Now that sg can be chained, padding can be handled using standard sg ops. Convert to chained sg. * s/qc->__sg/qc->sg/ * s/qc->pad_sgent/qc->extra_sg[]/. Because chaining consumes one sg entry. There need to be two extra sg entries. The renaming is also for future addition of other extra sg entries. * Padding setup is moved into ata_sg_setup_extra() which is organized in a way that future addition of other extra sg entries is easy. * qc->orig_n_elem is unused and removed. * qc->n_elem now contains the number of sg entries that LLDs should map. qc->mapped_n_elem is added to carry the original number of mapped sgs for unmapping. * The last sg of the original sg list is used to chain to extra sg list. The original last sg is pointed to by qc->last_sg and the content is stored in qc->saved_last_sg. It's restored during ata_sg_clean(). * All sg walking code has been updated. Unnecessary assertions and checks for conditions the core layer already guarantees are removed. Signed-off-by: Tejun Heo Cc: Jens Axboe Signed-off-by: Jeff Garzik commit f92a26365a72333f418abe82700c6030d4a1a807 Author: Tejun Heo Date: Wed Dec 5 16:43:10 2007 +0900 libata: change ATA_QCFLAG_DMAMAP semantics ATA_QCFLAG_DMAMAP was a bit peculiar in that it got set during qc initialization and cleared if DMA mapping wasn't necessary. Make it more straight forward by making the following changes. * Don't set it during initialization. Set it after DMA is actually mapped. * Add BUG_ON() to guarantee that there is data to transfer if DMAMAP is set. This always holds for the current code. The BUG_ON() is for docummentation and sanity check. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 001102d7859be0e7f7b9f2d62b841f2c0f9c2640 Author: Tejun Heo Date: Wed Dec 5 16:43:09 2007 +0900 libata: kill non-sg DMA interface With atapi_request_sense() converted to use sg, there's no user of non-sg interface. Kill non-sg interface. * ATA_QCFLAG_SINGLE and ATA_QCFLAG_SG are removed. ATA_QCFLAG_DMAMAP is used instead. (this way no LLD change is necessary) * qc->buf_virt is removed. * ata_sg_init_one() and ata_sg_setup_one() are removed. Signed-off-by: Tejun Heo Cc: Rusty Russel Signed-off-by: Jeff Garzik commit 55dba3120fbcbea6800f9a18503d25f73212a347 Author: Tejun Heo Date: Wed Dec 5 16:43:07 2007 +0900 libata: update ->data_xfer hook for ATAPI Depending on how many bytes are transferred as a unit, PIO data transfer may consume more bytes than requested. Knowing how much data is consumed is necessary to determine how much is left for draining. This patch update ->data_xfer such that it returns the number of consumed bytes. While at it, it also makes the following changes. * s/adev/dev/ * use READ/WRITE constants for rw indication * misc clean ups Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit ceb0c642624f634c5b4f46b0e22df19be87a2e53 Author: Tejun Heo Date: Wed Dec 5 16:43:06 2007 +0900 libata: add ATAPI_* cmd types and implement atapi_cmd_type() Add ATAPI command types - ATAPI_READ, WRITE, RW_BUF, READ_CD and MISC, and implement atapi_cmd_type() which takes SCSI opcode and returns to which class the opcode belongs. This will be used later to improve ATAPI handling. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 0dc36888d4422140f9eaf50f24953ec109f750a3 Author: Tejun Heo Date: Tue Dec 18 16:34:43 2007 -0500 libata: rename ATA_PROT_ATAPI_* to ATAPI_PROT_* ATA_PROT_ATAPI_* are ugly and naming schemes between ATA_PROT_* and ATA_PROT_ATAPI_* are inconsistent causing confusion. Rename them to ATAPI_PROT_* and make them consistent with ATA counterpart. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 537b53c1692960b8b3b0324e886fbe48cb9e5c00 Author: Tejun Heo Date: Wed Dec 5 16:43:04 2007 +0900 cdrom: add more GPCMD_* constants Add GPCMD_* constants for READ_BUFFER, WRITE_12 and WRITE_BUFFER for completeness. These will be used libata. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 0106372db6dc135f300035ce8e93cddd7283a26a Author: Albert Lee Date: Wed Dec 5 16:43:02 2007 +0900 libata: zero xfer length on ATAPI data xfer IRQ is HSM violation Treat zero xfer length as HSM violation. While at it, add unlikely()'s to ATAPI ireason and transfer length checks. tj: Formatted patch and added unlikely()'s. Signed-off-by: Albert Lee Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 93f8fecbe72bc3c121f3605dd198ff39ef358522 Author: Tejun Heo Date: Wed Dec 5 16:43:01 2007 +0900 libata: make atapi_request_sense() use sg atapi_request_sense() is now the only left user of ata_sg_init_one(). Convert it to use sg interface. Signed-off-by: Tejun Heo Cc: Rusty Russel Signed-off-by: Jeff Garzik commit 1973a023a616b40ba33fd0d38b1055c62c88e73d Author: Tejun Heo Date: Wed Dec 5 10:36:13 2007 +0900 libata: convert NCQ test in ata_qc_issue() to ata_is_ncq() I missed one while converting to ata_is_*() protocol test helpers. Convert it. Pointed out by Jeff Garzik. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 40f46f17819c2d199f99addc3278ff2eb11f3cd5 Author: Andrew Morton Date: Thu Dec 13 16:01:38 2007 -0800 pata_hpt37x: checkpatch fixes WARNING: line over 80 characters #70: FILE: drivers/ata/pata_hpt37x.c:850: + struct pci_dev *pdev_0 = pci_get_slot(pdev->bus, pdev->devfn - 1); ERROR: else should follow close brace '}' #78: FILE: drivers/ata/pata_hpt37x.c:858: + } + else total: 1 errors, 1 warnings, 100 lines checked Your patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. Please run checkpatch prior to sending patches Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit e6a73ab1c8e814ac7b0d69f44fde63299b639489 Author: Andrew Morton Date: Thu Dec 13 16:01:37 2007 -0800 drivers/ata/libata-eh.c: fix printk warning drivers/ata/libata-eh.c: In function `ata_port_pbar_desc': drivers/ata/libata-eh.c:215: warning: long long unsigned int format, long unsigned int arg (arg 4) Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit ce54d1616302117fa98513ae916bb3333e1c02ea Author: Tejun Heo Date: Tue Dec 18 16:33:07 2007 +0900 pata_amd: update mode selection for NV PATAs Cable detection on NV PATA hosts isn't implemented and the CBLID- cable isn't wired according to the sepc either, so both host-side and generic drive-side cable detections are broken. Till now, nv_cable_detect() relied on peeking BIOS and ACPI configurations to upgrade to 80C but this often results in misdetection of 40C cable as 80C. Also, the original implementation was broken in that by the time BIOS configuration is read it has already been cleared by programming PIO0 during reset. This patch reimplements NV mode selection such that... * BIOS configuration value is stored during driver attach and restored on detach. * Cable type is fixed to ATA_CBL_PATA_IGN and mode selection is soley done by nv_mode_filter() which peeks both BIOS and ACPI configurations and filter accordingly. Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit 021ee9a6da1cfc57f6a6c769c3c898bdd4753108 Author: Tejun Heo Date: Tue Dec 18 16:33:06 2007 +0900 libata: reimplement ata_acpi_cbl_80wire() using ata_acpi_gtm_xfermask() Reimplement ata_acpi_cbl_80wire() using ata_acpi_gtm_xfermask() and while at it relocate the function below ata_acpi_gtm_xfermask(). New ata_acpi_cbl_80wire() implementation takes @gtm, in both pata_via and pata_amd, use the initial GTM value. Both are trying to peek initial BIOS configuration, so using initial caching value makes sense. This fixes ACPI part of cable detection in pata_amd which previously always returned 0 because configuring PIO0 during reset clears DMA configuration. Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit a0f79b929acaba10d4780acd2543eff20bf4b5b0 Author: Tejun Heo Date: Tue Dec 18 16:33:05 2007 +0900 libata: implement ata_timing_cycle2mode() and use it in libata-acpi and pata_acpi libata-acpi is using separate timing tables for transfer modes although libata-core has the complete ata_timing table. Implement ata_timing_cycle2mode() to look for matching mode given transfer type and cycle duration and use it in libata-acpi and pata_acpi to replace private timing tables. Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit 5df91a25df08d85700fef5fd59bb1873273e5ef5 Author: Tejun Heo Date: Tue Dec 18 16:33:04 2007 +0900 libata: fix ata_acpi_gtm_xfermask() ata_acpi_gtm_xfermask() as separated out from pacpi_discover_modes() has various bugs. Fix them. * The wrong comparison operator is used when finding for matching cycle resulting totally bogus result. * With the comparion operator fixed, boundary condtion handling is clumsy. * Setting of any DMA mask bit set all bits in PIO mask. * MWDMA and UDMA blocks are swapped. Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit 7c77fa4d51b1480bcec2e898c94d6912fe063c16 Author: Tejun Heo Date: Tue Dec 18 16:33:03 2007 +0900 libata: separate out ata_acpi_gtm_xfermask() from pacpi_discover_modes() Finding out matching transfer mode from ACPI GTM values is useful for other purposes too. Separate out the function and timing tables from pata_acpi::pacpi_discover_modes(). Other than checking shared-configuration bit after doing ata_acpi_gtm() in pacpi_discover_modes() which should be safe, this patch doesn't introduce any behavior change. Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit 9cde9ed151e170f2e2a530f7ec0032dfbe9f443b Author: Tejun Heo Date: Sat Nov 24 21:16:07 2007 +0900 ata_piix: separate controller IDs into separate enum Separate controller IDs into a separate enum as Jeff requested. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 46a671430dfa4ca59c7a69f01326e99edddb21bd Author: Tejun Heo Date: Tue Dec 4 13:33:30 2007 +0900 sata_promise: make pdc_atapi_pkt() use values from qc->tf Make pdc_atapi_pkt() use values from qc->tf instead of creating its own. This is to ease future ATAPI handling changes. Signed-off-by: Tejun Heo Cc: Mikael Pettersson Signed-off-by: Jeff Garzik commit c88f90c3779cd5e710f2acdf59ad2bd0380de98d Author: Tejun Heo Date: Tue Nov 27 19:43:48 2007 +0900 libata: add ATA_CBL_PATA_IGN ATA_CBL_PATA_UNK indicates that the cable type can't be determined from the host side and might be either 80c or 40c. libata applies drive or other generic limit in this case. However, there are controllers where both host and drive side detections are misimplemented and the driver has to rely solely on private method - peeking BIOS or ACPI configuration or using some other private mechanism. This patch adds ATA_CBL_PATA_IGN which tells libata to ignore the cable type completely and just let the LLD determine the transfer mode via host transfer mode masks and ->mode_filter(). Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit 7dc951aefdc1dc20228691b04867fb6195864d67 Author: Tejun Heo Date: Tue Nov 27 19:43:42 2007 +0900 libata: xfer_mask is unsigned long not unsigned int Jeff says xfer_mask is unsigned long not unsigned int. Convert all xfermask fields and handling functions to deal with unsigned longs. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 9d3501ab962b1506d93974faf8509251b4a85fbc Author: Tejun Heo Date: Tue Nov 27 19:43:41 2007 +0900 libata: kill ata_id_to_dma_mode() ata_id_to_dma_mode() isn't quite generic. The function is basically privately implemented ata_id_xfermask() combined with hardcoded mode printing and configuration which are specific to ata_generic. Kill the function and open code it in generic_set_mode() using generic xfermode handling functions. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 70cd071e4ecc06c985189665af75c108601fd5a3 Author: Tejun Heo Date: Tue Nov 27 19:43:40 2007 +0900 libata: clean up xfermode / PATA timing related stuff * s/ATA_BITS_(PIO|MWDMA|UDMA)/ATA_NR_\1_MODES/g * Consistently use 0xff to indicate invalid transfer mode (0x00 is valid for PIO_SLOW). * Make ata_xfer_mode2mask() return proper mode mask instead of just the highest bit. * Sort ata_timing table in increasing xfermode order and update ata_timing_find_mode() accordingly. This patch doesn't introduce any behavior change. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 6357357cae7794dcb89cace758108dec612e7ed5 Author: Tejun Heo Date: Tue Nov 27 19:43:39 2007 +0900 libata: export xfermode / PATA timing related functions Export the following xfermode related functions. * ata_pack_xfermask() * ata_unpack_xfermask() * ata_xfer_mask2mode() * ata_xfer_mode2mask() * ata_xfer_mode2shift() * ata_mode_string() * ata_id_xfermask() * ata_timing_find_mode() These functions will be used later by LLD updates. While at it, change unsigned short @speed to u8 @xfer_mode in ata_timing_find_mode() for consistency. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit f8ab6d8e15a9b978f79aee794c263014c2959dfc Author: Tejun Heo Date: Tue Nov 27 19:43:38 2007 +0900 ata_generic: unindent loop in generic_set_mode() Unindent loop body in generic_set_mode(). This is to ease future change. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit e39eec13ff8c58520d77b5f977b1e0fa067fbd2c Author: Jeff Garzik Date: Sat Dec 1 18:05:39 2007 -0500 [libata] Build fix WRT ata_is_xxx() new API introduction Signed-off-by: Jeff Garzik commit 76326ac1ac1f524014ef36986fed97796b28ec6b Author: Tejun Heo Date: Tue Nov 27 19:28:59 2007 +0900 libata: implement fast speed down for unverified data transfer mode It's very likely that the configured data transfer mode is the wrong one if device fails data transfers right after initial data transfer mode configuration (including NCQ on/off and xfermode). libata EH needs to speed down fast before upper layers give up on probing. This patch implement fast speed down rules to handle such cases better. Error occured while data transfer hasn't been verified trigger fast back-to-back speed down actions until data transfer works. This change will make cable mis-detection and other initial configuration problems corrected before partition scanning code gives up. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 00115e0f5bc3bfdf3f3855ad89c8895f10458f92 Author: Tejun Heo Date: Tue Nov 27 19:28:58 2007 +0900 libata: implement ATA_DFLAG_DUBIOUS_XFER ATA_DFLAG_DUBIOUS_XFER is set whenever data transfer speed or method changes and gets cleared when data transfer command succeeds in the newly configured transfer mode. This will be used to improve speed down logic. Signed-off-by: Tejun Heo commit 663f99b86ac7d4c0eed8c239638da0ea8849288b Author: Tejun Heo Date: Tue Nov 27 19:28:57 2007 +0900 libata: adjust speed down rules Speed down rules were too conservative. Adjust them a bit. * More than 10 timeouts can't happen in 5 minutes as command timeout is 30secs. Lower the limit for rule #1 to 6. * 10 timeouts is too high for rule #3 too. Lower it to 6. * SATAPI can benefit from falling back to PIO too. Allow SATAPI devices to fall back to PIO. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 3884f7b0a8382b89d8ca5da23bd98e3e15fc805b Author: Tejun Heo Date: Tue Nov 27 19:28:56 2007 +0900 libata: clean up EH speed down implementation Clean up EH speed down implementation. * is_io boolean variable is replaced eflags. is_io is ATA_EFLAG_IS_IO. * Error categories now have names. * Better comments. * Reorder 5min and 10min rules in ata_eh_speed_down_verdict() * Use local variable @link to cache @dev->link in ata_eh_speed_down() These changes are to improve readability and ease further changes. This patch doesn't introduce any behavior change. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 6f1d1e3a03fd04a9d9c82fd3cf414020097bb142 Author: Tejun Heo Date: Tue Nov 27 19:28:55 2007 +0900 libata: move ata_set_mode() to libata-eh.c Move ata_set_mode() to libata-eh.c. ata_set_mode() is surely an EH action and will be more tightly coupled with the rest of error handling. Move it to libata-eh.c. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 02c05a27e884c9655dae5b1c8bc0cd89c060c43d Author: Tejun Heo Date: Tue Nov 27 19:28:54 2007 +0900 libata: factor out ata_eh_schedule_probe() Factor out ata_eh_schedule_probe() from ata_eh_handle_dev_fail() and ata_eh_recover(). This is to improve maintainability and make future changes easier. In the previous revision, ata_dev_enabled() test was accidentally dropped while factoring out. This problem was spotted by Bartlomiej. Signed-off-by: Tejun Heo Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit 405e66b38797875e80669eaf72d313dbb76533c3 Author: Tejun Heo Date: Tue Nov 27 19:28:53 2007 +0900 libata: implement protocol tests Implement protocol tests - ata_is_atapi(), ata_is_nodata(), ata_is_pio(), ata_is_dma(), ata_is_ncq() and ata_is_data() and use them to replace is_atapi_taskfile() and hard coded protocol tests. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit f20ded38aa54b92dd0af32578b8916d0aa2d9e05 Author: Tejun Heo Date: Tue Nov 27 19:28:52 2007 +0900 libata: rearrange ATA_DFLAG_* Area for DFLAGs which are cleared on INIT is full. Extend it by 8 bits. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 11b7becca9425aab50807503c8102b2db9e5ecf0 Author: Jeff Garzik Date: Fri Nov 23 21:12:14 2007 -0500 libata: checkpatch fixes Signed-off-by: Jeff Garzik commit 49f290903935612aadab3899a4aca884c1140348 Author: Tejun Heo Date: Mon Nov 19 16:03:44 2007 +0900 ahci: update PCS programming For intel ones, ahci unconditionally OR'd 0xf to PCS. This isn't correct for the following cases. * ich6/7m's which only implement P0 and P2 (0xf works fine tho) * ich8/9's which have six ports and needs 0x3f to enable all ports This patch updates PCS programming such that... * port_map determined by ahci_save_initial_config() is OR'd instead of 0xf * PCS is updated only if necessary (there are turned off enable bits) port_map is determined from PORTS_IMPL PCI register which is implemented as write or write-once register. If the register isn't programmed, ahci automatically generates it from number of ports, which is good enough for PCS programming. ICH6/7M are probably the only ones where non-contiguous enable bits are necessary && PORTS_IMPL isn't programmed properly but they're proven to work reliably with 0xf anyway. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 51dbd490614e6228e9b2b198bd4f5f76ef961059 Author: Alan Cox Date: Mon Nov 19 14:45:53 2007 +0000 pata_ninja32: Cardbus ATA initial support Lots of work needed to bring it up to scratch but it does work so you can now use the card. That makes it at least useful, especially as the other cardbus cards are usually INIC162x which aren't yet supported well. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 76548eda8c47e50260bc87196d40b26ce7a7bcd6 Author: Alan Cox Date: Mon Nov 19 14:34:56 2007 +0000 libata-sff: tf_load Jeff said he preferred that the SFF tf_load followed the spec and we documented that anyone who needed different overrode it, rather than it using the ->check_status methods. No driver relies on the current behaviour. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit b9f8ab2dafba2dc12dd94e5d2db31d5cf495775f Author: Alan Cox Date: Mon Nov 19 14:33:11 2007 +0000 libata: IORDY handling I believe this version meets all Sergei's objections Correct the logic for when we issue a set features for transfer mode - If the device has IORDY and the controller has IORDY - set the mode - If the device has IORDY and the controller does not - turn IORDY off - If neither has IORDY do nothing Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit bd3adca52bc43b72c75db3e4c7809d47923b154c Author: Shaohua Li Date: Fri Nov 2 09:32:38 2007 +0800 libata-acpi: add ACPI _PSx method ACPI spec (ver 3.0a, p289) requires IDE power on/off executes ACPI _PSx methods. As recently most PATA drivers use libata, this patch adds _PSx method support in libata. ACPI spec doesn't mention if SATA requires the same _PSx method. Signed-off-by: Shaohua Li Acked-by: Len Brown Signed-off-by: Jeff Garzik commit ae8d4ee7ff429136c8b482c3b38ed994c021d3fc Author: Alan Cox Date: Sun Nov 4 22:05:49 2007 -0500 libata: Disable ATA8-ACS proposed Trusted Computing features by default Historically word 48 in the identify data was used to mean 32bit I/O was supported for VLB IDE etc. ATA8 reassigns this word to the Trusted Computing Group, where it is used for TCG features. This means that an ATA8 TCG drive is going to trigger 32bit I/O on some systems which will be funny. Anyway we need to sort this out ready for ATA8 so: - Reorder the ata.h header a bit so the ata_version function occurs early in it - Make dword_io check the ATA version - Add an ATA8 version checking TCG presence test While we are at it the current drafts have a flaw where it may not be possible to disable TCG features at boot (and opt out of the trusted model) as TCG intends because it relies on presence of a different optional feature (DCS). Handle this in software by refusing the TCG commands if libata.allow_tpm is not set. (We must make it possible as some environments such as proprietary VDR devices will doubtless want to use it to lock up content) Finally as with CPRM print a warning so that the user knows they may not be able to full access and use the device. Signed-off-by: Alan Cox commit ffe188dd83e84119516688c822388c8f30a54877 Author: Peter Schwenke Date: Thu Jan 17 23:08:55 2008 +1000 ata_piix: Add Toshiba Satellite R20 and Tecra M6 to broken suspend list. Add Toshiba Satellite R20 and Tecra M6 to broken suspend list. Matt Piermarini reported and provided the M6 patch. This is from OSDL bug 7780. Signed-off-by: Peter Schwenke Cc: Matt Piermarini Acked-by: Tejun Heo Signed-off-by: Jeff Garzik commit 0a0a5af30b9831e4f049610b5a2d9d5108ff027a Author: Grant Likely Date: Mon Jan 21 11:22:22 2008 -0700 [POWERPC] mpc5200: merge defconfigs for all mpc5200 boards There is no reason to have separate defconfigs for each mpc5200 board. Instead, here is a common defconfig that can be used for all supported platforms. Merging the defconfigs means there are fewer configuration to test when compile testing all of arch/powerpc and should make support easier. Supported boards: Lite5200(b), Efika, TQM5200, CM5200, MotionPro Signed-off-by: Grant Likely commit 406b7d4f7b6b4a19dadaaad0744466013afe59b8 Author: John Rigby Date: Thu Jan 17 08:37:25 2008 +1100 [POWERPC] mpc5200: Cleanup checkpatch.pl problems in mpc52xx_uart.c In preparation of adding MPC5121 support cleanup some things that checkpatch.pl complains about also some minor fixes suggested by Stephen Rothwell. Signed-off-by: John Rigby Signed-off-by: Grant Likely commit 94f389485e27641348c1951ab8d65157122a8939 Author: John Rigby Date: Thu Jan 17 08:37:24 2008 +1100 [POWERPC] Separate MPC52xx PSC FIFO registers from rest of PSC This is in preparation for the addition of MPC512x PSC support. The main difference in the 512x is in the fifo registers. Signed-off-by: John Rigby Signed-off-by: Grant Likely commit e2c75391dd74173d4855e997c7c3754a6a9b7977 Author: Andre Haupt Date: Mon Jan 21 01:16:15 2008 -0500 Input: remove duplicate includes Signed-off-by: Andre Haupt Signed-off-by: Dmitry Torokhov commit 0c1efd365306c9b04df5abdd41e9b4dc721e84fb Author: Dmitry Torokhov Date: Mon Jan 21 01:08:24 2008 -0500 Input: remove cdev from input_dev structure Cdev field was obsolete and provided only for backward compatibility since conversion of input core from class devices to regular devices. It is time to remove it. Signed-off-by: Dmitry Torokhov commit 3eaeb9c951d060fff71bcdc327eb48ee52ed1c0c Author: Francisco Alecrim Date: Mon Jan 21 01:05:23 2008 -0500 Input: remove duplicated headers in drivers/char/keyboard.c drivers/char/keyboard.c: linux/consolemap.h is included more than once. Signed-off-by: Francisco Alecrim Signed-off-by: Dmitry Torokhov commit 8987fec0de0a4b71dd345052ea4271eaf05f7956 Author: Carlos Corbacho Date: Mon Jan 21 01:04:40 2008 -0500 Input: i8042 - add Dritek keyboard extension quirk Some Wistron based laptops need us to explicitly enable the 'Dritek keyboard extension' to make their extra keys start generating scancodes. Originally, this was just confined to older laptops, but a few Acer laptops have turned up in 2007 that also need this again. Signed-off-by: Carlos Corbacho Signed-off-by: Dmitry Torokhov commit 93e9012f40f75b8ab8a37deaf532b3c5e9b527c6 Author: Dmitry Baryshkov Date: Mon Jan 21 01:04:20 2008 -0500 Input: add Tosa keyboard driver Add keyboard support on tosa (Sharp Zaurus SL-6000x). Largely based on patches by Dirk Opfer. Signed-off-by: Dmitry Baryshkov Signed-off-by: Dmitry Torokhov commit 52fe0cdb090a344cad9d95461ad06239e0c28712 Author: Stephen Hemminger Date: Fri Dec 14 11:08:37 2007 -0500 Input: add driver for Fujitsu application buttons This driver supports the application buttons on some Fujitsu Lifebook laptops. It is based on the earlier apanel driver done by Jochen Eisenger, but with many changes. The original driver used ioctl's and a separate user space program (see http://apanel.sourceforge.net). This driver hooks into the input subsystem so that the normal keys act as expected without a daemon. In addition to buttons, the Mail Led is handled via LEDs class device. The driver now supports redefinable keymaps and no longer has to have a DMI table for all Fujitsu laptops. I thought about mixing this driver should be integrated into the Fujitsu laptop extras driver that handles backlight, but rejected the idea because it wasn't clear if all the Fujitsu laptops supported both. Signed-off-by: Stephen Hemminger Signed-off-by: Dmitry Torokhov commit fbb38e30e414c9ccd8b5d04344264522551008bc Author: David Brownell Date: Fri Dec 14 01:26:33 2007 -0500 Input: ads7846 - stop updating dev->power.power_state This stops the ads7846 driver from using dev->power.power_state; that field is deprecated (overdue for removal) and the only reason to update it was to make the /sys/devices/.../power/state files (now removed) work better. Signed-off-by: David Brownell Signed-off-by: Dmitry Torokhov commit 3b04a61107dfe46dbfc1796298b59ca3c0a09cd9 Author: Julia Lawall Date: Tue Nov 27 00:45:50 2007 -0500 Input: drop redundant includes of moduleparam.h Drop #include in files that also include linux/module.h, since module.h includes moduleparam.h already. Signed-off-by: Julia Lawall Signed-off-by: Dmitry Torokhov commit 75570af1504141316c22dfb6796cd13bf5b11fd2 Author: Steven Whitehouse Date: Tue Nov 27 00:45:34 2007 -0500 Input: fix bug in example code The input example driver uses BTN_0 in the later stages of the example, so this changes the interrupt routine to match. Signed-off-by: Steven Whitehouse Signed-off-by: Dmitry Torokhov commit 374766bc2aa784f7a0833cc7563f057241ca7815 Author: Stephen Hemminger Date: Wed Nov 21 14:03:37 2007 -0500 Input: implement proper timer rounding for polled devices Rounding doesn't matter for the first tick, but we want succeeding ticks to be aligned on second boundary if poll interval is large enough. Also: cancel_rearming_delayed_workqueue is marked as obsolete in workqueue.h so use cancel_delayed_work_sync. Signed-off-by: Stephen Hemminger Acked-by: Arjan van de Ven Signed-off-by: Dmitry Torokhov commit a512a8cc20bbf74700d368ecb0a61dd9d8f1df48 Author: Dmitry Torokhov Date: Sun Nov 4 00:50:19 2007 -0400 V4L/DVB: Don't access input_dev->private directly Drivers should use input_{get|set}_drvdata() instead of accessing input_dev->provate directly, but since these drivers do not actually use the data stored there we can simply remove the assignments. Signed-off-by: Dmitry Torokhov Acked-by: Mauro Carvalho Chehab commit 4615e33f43d3fad5fd92cd02757d23f7803dd7f9 Author: Dmitry Torokhov Date: Sun Nov 4 00:49:54 2007 -0400 Input: iforce - don't access input_dev->private directly input_{get|set}_drvdata() helpers should be used instead. Signed-off-by: Dmitry Torokhov commit a8399c512b5fa2cf80831f5b4cd3adffd299fbe3 Author: Dmitry Torokhov Date: Sun Nov 4 00:44:31 2007 -0400 Input: i8042 - use synchronize_irq() instead of synchronize_sched() RT guys advised me that in their kernels synchronize_sched() will not work to ensure that all IRQ handlers run to their completion and that synchronize_irq() should be used instead. Signed-off-by: Dmitry Torokhov commit f0b92b961b222fa1012058a773dfca1c5f21a498 Author: Dmitry Torokhov Date: Sun Nov 4 00:42:21 2007 -0400 Input: atkbd - remove unneeded synchronize_sched() atkbd_disable() provides all necessary synchronization with atkbd_interrupt(). Signed-off-by: Dmitry Torokhov commit b037b08e59633d939d79f1df9c43c6625f8db904 Author: Dmitry Torokhov Date: Sun Nov 4 00:41:36 2007 -0400 Input: cobalt_btns - add support for loadable keymaps Signed-off-by: Dmitry Torokhov commit 72341eea6f62a91f270157d86c0c82d832627dfd Author: Dmitry Torokhov Date: Sun Nov 4 00:41:30 2007 -0400 Input: atlas_btns - add support for loadable keymaps Signed-off-by: Dmitry Torokhov commit 1953ea2d8df48f33d2a79042ae1b4a2d5f1548a3 Author: Dmitry Torokhov Date: Sun Nov 4 00:41:24 2007 -0400 Input: keyspan_remote - add support for loadable keymaps Signed-off-by: Dmitry Torokhov commit f4f37c8ec7d2491c8885c890ba74254b9adfbeee Author: Dmitry Torokhov Date: Sun Nov 4 00:41:12 2007 -0400 Input: Add proper locking when changing device's keymap Take dev->event_lock to make sure that we don't race with input_event() and also force key up event when removing a key from keymap table. Signed-off-by: Dmitry Torokhov commit 554101e3e5f396b987c846332863a3fcdc87b1d6 Author: Giel de Nijs Date: Fri Nov 2 09:08:02 2007 -0400 Input: atkbd - properly handle special keys on Dell Latitudes Most of Fn+F? special keys on (at least) the Dell Latitude laptops don't generate a hardware key release event so the driver has to generate one. Signed-off-by: Giel de Nijs Signed-off-by: Dmitry Torokhov commit ed2b91701d97047fa9970645e43d5e551e261adb Author: Steve French Date: Sun Jan 20 00:30:29 2008 +0000 [CIFS] Do not log path names in lookup errors Andi Kleen noticed that we were logging access denied errors (which is noisy in the dmesg log, and not needed to be logged) and that we were logging path names on that an other errors (e.g. EIO) which we should not be doing. CC: Andi Kleen Signed-off-by: Steve French commit 5b5820d08b8cc90ba0148bf8d4a5a1f792e9e8ba Author: Marian Balakowicz Date: Thu Nov 15 22:40:21 2007 +1100 [POWERPC] mpc5200: Add generic support for simple MPC5200 based boards This patch adds support for 'mpc5200-simple-platform' compatible boards which do not need a platform specific setup. Such boards are supported assuming the following: - GPIO pins are configured by the firmware, - CDM configuration (clocking) is setup correctly by firmware, - if the 'fsl,has-wdt' property is present in one of the gpt nodes, then it is safe to use such gpt to reset the board, - PCI is supported if enabled in the kernel configuration and if there is a PCI bus node defined in the device tree. Signed-off-by: Marian Balakowicz Signed-off-by: Grant Likely commit 0238aa54b598af5919d82f6b196fd34f0182c78d Author: Marian Balakowicz Date: Sat Nov 10 04:12:49 2007 +1100 [POWERPC] mpc5200: Add Promess Motion-PRO DTS Add device tree source file for Promess Motion-PRO board. Signed-off-by: Marian Balakowicz Signed-off-by: Grant Likely commit 8bd3b7093e0f134cc252167ace9ff395e5e726f5 Author: Marian Balakowicz Date: Sat Nov 10 04:12:31 2007 +1100 [POWERPC] mpc5200: add CM5200 DTS Add device tree source file for CM5200 board. Signed-off-by: Marian Balakowicz Signed-off-by: Grant Likely commit 30d992e34e370954c174b6ab9af39f3617a8a685 Author: Marian Balakowicz Date: Sat Nov 10 04:12:20 2007 +1100 [POWERPC] mpc5200: Add TQM5200 DTS Add device tree source file for TQ Components TQM5200 board. Signed-off-by: Marian Balakowicz Signed-off-by: Grant Likely commit 75ca399e82726fba877f3cce7ee49c13b43efd67 Author: Grant Likely Date: Fri Jan 18 09:30:37 2008 -0700 [POWERPC] mpc5200: eliminate mpc52xx_*_map_*() functions. mpc5200 platform code defines a bunch of map functions which duplicate the functionality of of_iomap(). Remove them and use of_iomap() instead. Signed-off-by: Grant Likely commit f584bc65ca9b9a4c21cc17bb01883874e2e6df0a Author: Marian Balakowicz Date: Sat Nov 10 04:11:56 2007 +1100 [POWERPC] mpc5200: Add common mpc52xx_setup_pci() routine This patch moves a generic pci init code from lite5200 platform file to a common mpc52xx_setup_pci() routine and adds additional compatibility property verification. Signed-off-by: Marian Balakowicz Signed-off-by: Grant Likely commit a6f024bbbef1f529cd6bee57f3ff576139e6f8d7 Author: Marian Balakowicz Date: Sat Nov 10 04:11:49 2007 +1100 [POWERPC] mpc5200: Add 'fsl,lpb' bus type for localplus bus Define MPC52xx specific device id list, add new 'fsl,lpb' compatible id for LocalPlus Bus. Signed-off-by: Marian Balakowicz Acked-by: David Gibson Signed-off-by: Grant Likely commit 52920df4aa9dd25836b8ed4dc0b177ea14c09e53 Merge: 0173d42... 9cd55be... Author: Paul Mackerras Date: Thu Jan 17 16:17:58 2008 +1100 Merge branch 'for-2.6.25' of master.kernel.org:/pub/scm/linux/kernel/git/olof/pasemi into for-2.6.25 commit 0173d422aa32fa1e5141f1759202b955215c1da2 Author: Jon Loeliger Date: Tue Jan 8 05:07:15 2008 +1100 [POWERPC] Use and not variants. Signed-off-by: Jon Loeliger Signed-off-by: Paul Mackerras commit 0a4690cf751db6adb28b9275a6ecbaa6549a9ea8 Author: Stephen Rothwell Date: Mon Jan 7 16:12:44 2008 +1100 [POWERPC] Check that the syscall table matches the syscall numbers Also check that __NR_syscalls has been updated appropriately. Hopefully this will catch any out of order additions to the table in the future. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 4ec161cf73bc0b4e5c36843638ef9171896fc0b9 Author: Jon Tollefson Date: Fri Jan 4 09:59:50 2008 +1100 [POWERPC] Add hugepagesz boot-time parameter This adds the hugepagesz boot-time parameter for ppc64. It lets one pick the size for huge pages. The choices available are 64K and 16M when the base page size is 4k. It defaults to 16M (previously the only only choice) if nothing or an invalid choice is specified. Tested 64K huge pages successfully with the libhugetlbfs 1.2. Signed-off-by: Jon Tollefson Signed-off-by: Paul Mackerras commit 5b14e5f9ddbb1bd32a876cac75f5f3ecfd353063 Author: Mark A. Greer Date: Fri Jan 4 02:40:47 2008 +1100 [POWERPC] #address-cells & #size-cells properties are not inherited Fix error in booting-without-of.txt that indicates that a node can inherit its #address-cells and #size-cells definitions from its parent's parent. This is not correct. Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit 10804f0fb89561d63b2131be17cfaf8d1a30468c Author: Stephen Rothwell Date: Thu Jan 3 15:17:12 2008 +1100 [POWERPC] therm_adt746x: Eliminate some build warnings We don't care if the device_create_file calls fail, the driver will work just as well without them, so just issue a runtime warning. drivers/macintosh/therm_adt746x.c: In function 'thermostat_init': drivers/macintosh/therm_adt746x.c:615: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result drivers/macintosh/therm_adt746x.c:616: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result drivers/macintosh/therm_adt746x.c:617: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result drivers/macintosh/therm_adt746x.c:618: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result drivers/macintosh/therm_adt746x.c:619: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result drivers/macintosh/therm_adt746x.c:620: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result drivers/macintosh/therm_adt746x.c:621: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result drivers/macintosh/therm_adt746x.c:622: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result drivers/macintosh/therm_adt746x.c:623: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result drivers/macintosh/therm_adt746x.c:625: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 98894dffaf11981ac9dc33c818ecafcb02a5439b Author: Stephen Rothwell Date: Thu Jan 3 15:15:28 2008 +1100 [POWERPC] therm_windtunnel: Eliminate some build warnings We don't care if the device_create_file calls fail, the driver will work just as well without them, so just issue a runtime warning. drivers/macintosh/therm_windtunnel.c: In function 'setup_hardware': drivers/macintosh/therm_windtunnel.c:268: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result drivers/macintosh/therm_windtunnel.c:269: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 85e99b9fffb62e101e38c74c935256fc589703c2 Author: Stephen Rothwell Date: Thu Jan 3 15:13:37 2008 +1100 [POWERPC] arch/powerpc/kernel: Use for_each_child_of_node Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit e25c47ffa97ca5e4602593b03ce6d21cff652864 Author: Grant Likely Date: Thu Jan 3 06:14:36 2008 +1100 [POWERPC] cell: Use machine_*_initcall() hooks in platform code Signed-off-by: Grant Likely Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit d518b71784c6fa4c8eafb334236883f763f8e296 Author: Grant Likely Date: Thu Jan 3 06:14:28 2008 +1100 [POWERPC] powermac: Use machine_*_initcall() hooks in platform code Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit 97759e494e2bfccc23ffc7b236196cb5c1703e2e Author: Stephen Rothwell Date: Wed Jan 2 16:25:32 2008 +1100 [POWERPC] therm_pm72: Suppress some compile warnings We don't really care if any of these calls to device_create_file fails, so just issue warnings in that case. drivers/macintosh/therm_pm72.c: In function 'init_cpu_state': drivers/macintosh/therm_pm72.c:1185: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result drivers/macintosh/therm_pm72.c:1186: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result drivers/macintosh/therm_pm72.c:1187: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result drivers/macintosh/therm_pm72.c:1188: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result drivers/macintosh/therm_pm72.c:1189: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result drivers/macintosh/therm_pm72.c:1191: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result drivers/macintosh/therm_pm72.c:1192: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result drivers/macintosh/therm_pm72.c:1193: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result drivers/macintosh/therm_pm72.c:1194: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result drivers/macintosh/therm_pm72.c:1195: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result drivers/macintosh/therm_pm72.c: In function 'init_backside_state': drivers/macintosh/therm_pm72.c:1383: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result drivers/macintosh/therm_pm72.c:1384: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result drivers/macintosh/therm_pm72.c: In function 'init_drives_state': drivers/macintosh/therm_pm72.c:1503: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result drivers/macintosh/therm_pm72.c:1504: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result drivers/macintosh/therm_pm72.c: In function 'init_dimms_state': drivers/macintosh/therm_pm72.c:1625: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result drivers/macintosh/therm_pm72.c: In function 'init_slots_state': drivers/macintosh/therm_pm72.c:1743: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result drivers/macintosh/therm_pm72.c:1744: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 9eb81bdf12efd32661a8eb97a5aaa6b7a1d3c795 Author: Jochen Friedrich Date: Tue Jan 1 03:14:53 2008 +1100 [POWERPC] Update .gitignore files Update .gitignore as needed by dtc addition. Signed-off-by: Jochen Friedrich Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 66524b220a2929625e4c39ec692d3a4698e761fb Author: Stephen Rothwell Date: Fri Dec 21 15:52:43 2007 +1100 [POWERPC] pci_32.c: Use for_each_child_of_node Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit acaa617620b8b4071c6a3525b0160f4be07412d7 Author: Stephen Rothwell Date: Fri Dec 21 15:52:07 2007 +1100 [POWERPC] eeh.c: Use for_each_child_of_node Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 885b86e4e7ccc360f8ce4d7fb10dfdfb6e3c8650 Author: Stephen Rothwell Date: Fri Dec 21 15:50:09 2007 +1100 [POWERPC] iSeries: eliminate pci_dn bussubno xlate_iomm_address() really wants the ds_addr to pass to the HV, so store that value (instead of the BAR number) when we allocate the device bars. This is not a fast path, so we can look up the device_node property there instead of using the bussubno field of the pci_dn. The other user of iseries_ds_addr() was already scanning the device tree, so looking up a property will not slow it down any more. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit b6ed42a794e1ca51fb46ff2bdc562315c46dd9a8 Author: Stephen Rothwell Date: Fri Dec 21 15:49:11 2007 +1100 [POWERPC] The pci_dn pcidev is only used by EEH Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 86bcab492cfdbaad144bdfb453b4e9db6117a7a5 Author: Stephen Rothwell Date: Fri Dec 21 15:48:18 2007 +1100 [POWERPC] The pci_dn class_code is only used by EEH ... so move it into the #ifdef CONFIG_EEH section. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 253772b151ce3944a4bde0f06e0efd19dea8449e Author: Anton Vorontsov Date: Sat Dec 15 05:48:26 2007 +1100 [POWERPC] booting-without-of: localbus should not include board name Fix documentation once and for ever, because I'm pretty tired of repeating that I am merely following it. ;-) http://ozlabs.org/pipermail/linuxppc-dev/2007-December/048096.html http://ozlabs.org/pipermail/linuxppc-dev/2007-November/046977.html http://ozlabs.org/pipermail/linuxppc-dev/2007-November/046979.html http://ozlabs.org/pipermail/linuxppc-dev/2007-October/044411.html http://ozlabs.org/pipermail/linuxppc-dev/2007-October/044413.html Signed-off-by: Anton Vorontsov Signed-off-by: Paul Mackerras commit dc2e425857a95f2b5dcded188ec7e813ed92c30d Author: Cyrill Gorcunov Date: Fri Nov 30 06:46:54 2007 +1100 [POWERPC] Use for_each macros in arch/powerpc/platforms/powermac Signed-off-by: Cyrill Gorcunov Signed-off-by: Paul Mackerras commit 3329c0d1b2de2eb9e156aa8c13ad639f54791f24 Author: Cyrill Gorcunov Date: Fri Nov 30 06:45:47 2007 +1100 [POWERPC] Use for_each macros in arch/powerpc/kernel Signed-off-by: Cyrill Gorcunov Signed-off-by: Paul Mackerras commit 26cb7d8bbddc8338904b8810b860ccf052c761fa Author: Cyrill Gorcunov Date: Fri Nov 30 06:44:36 2007 +1100 [POWERPC] Use for_each macros in arch/powerpc/sysdev Signed-off-by: Cyrill Gorcunov Signed-off-by: Paul Mackerras commit 283029d16a882539ab0027afd94ac52858d050b2 Author: Grant Likely Date: Wed Jan 9 06:20:40 2008 +1100 [POWERPC] Add of_find_matching_node() helper function Similar to of_find_compatible_node(), of_find_matching_node() and for_each_matching_node() allow you to iterate over the device tree looking for specific nodes, except that they take of_device_id tables instead of strings. This also moves of_match_node() from driver/of/device.c to driver/of/base.c to colocate it with the of_find_matching_node which depends on it. Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit 91bbbe22dbd6d156b7059af13adb26a978a45661 Author: Geert Uytterhoeven Date: Tue Nov 27 03:24:43 2007 +1100 [POWERPC] Kill sparse warning in HPTE_V_COMPARE() Fixes sparse warning: constant 0xffffffffffffff80 is so big it is unsigned long Signed-off-by: Geert Uytterhoeven Signed-off-by: Paul Mackerras commit 9cd55be4d22376893d2818ce3c0e5706a3d74121 Author: Olof Johansson Date: Tue Dec 4 14:44:32 2007 -0600 [POWERPC] pasemi: Move electra-ide to pata_of_platform Move electra-ide glue over to the new pata_of_platform framework, and add the quirks needed to that driver. Signed-off-by: Olof Johansson commit 61f7162117d4767875825abf2f6ed1eeebbcceed Author: Anton Vorontsov Date: Wed Jan 9 22:10:41 2008 +0300 libata: pata_of_platform: OF-Platform PATA device driver This driver nicely wraps around pata_platform library functions, and provides OF platform bus bindings to the PATA devices. Also add || PPC to the PATA_PLATFORM's "depends on" Kconfig entry, needed for PA Semi Electra. Signed-off-by: Anton Vorontsov Signed-off-by: Olof Johansson commit cf03613e9662c28372b8c83538fb402df37c53f5 Author: Anton Vorontsov Date: Wed Jan 9 22:10:22 2008 +0300 libata: pata_platform: make probe and remove functions device type neutral Split pata_platform_{probe,remove} into two pieces: 1. pata_platform_{probe,remove} -- platform_device-dependant bits; 2. __ptata_platform_{probe,remove} -- device type neutral bits. This is done to not duplicate code for the OF-platform driver. Signed-off-by: Anton Vorontsov Acked-by: Paul Mundt Signed-off-by: Olof Johansson commit 15e7b4452b72ae890f2fcb027b4c4fa63a1c9a7a Author: Sebastian Siewior Date: Mon Jan 14 17:07:57 2008 +1100 [CRYPTO] twofish: Merge common glue code There is almost no difference between 32 & 64 bit glue code. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 856608ee5e1ea37b8976ce01ddbd19a45da88921 Author: Shaohua Li Date: Sat Jan 12 19:37:49 2008 -0500 pnp: Failed to activate device 00:0a - Samsung P35 XVM 1600 III PNP_WRITE requires protocol supports .set. If ACPI doesn't support _SRS, .set ismeanless, so PNP_WRITE. Signed-off-by: Shaohua Li Signed-off-by: Len Brown commit 37748ebf8888aef6a252016d7c3cdc84514df051 Author: Dave Jones Date: Wed Jun 6 03:34:07 2007 -0400 ACPI: remove P2B-S from blacklist. According to http://bugzilla.kernel.org/show_bug.cgi?id=6933 The latest BIOS for the P2B-S works fine. Remove it from the blacklist. Signed-off-by: Dave Jones Signed-off-by: Len Brown commit 4fac9f698404a5cd50b978fbdb7e54235353c215 Author: Matt Reimer Date: Thu Oct 18 18:02:44 2007 -0700 [MTD] [NAND] make s3c2410 indicate an error for multi-bit read errors If there were multiple bit errors in the data s3c2410_nand_correct_data() was returning 0 (no error) instead of -1, so the upper layers (like JFFS2) would not know the data is corrupt. Signed-off-by: Matt Reimer Signed-off-by: David Woodhouse commit ad3399c378993152f12c23304ee56d7f9108e758 Author: Rafael J. Wysocki Date: Fri Jan 11 00:10:38 2008 +0100 ACPI: Fix acpi_pm_device_sleep_state() Fix acpi_pm_device_sleep_state() to return the value returned by _SxD if the device is supposed to wake up the system from given sleep state and the evaluation of _SxW fails (e.g. _SxW is not present). Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 465ff3185e0cb76d46137335a4d21d0d9d3ac8a2 Author: James Bottomley Date: Tue Jan 1 10:00:10 2008 -0600 [SCSI] relax scsi dma alignment This patch relaxes the default SCSI DMA alignment from 512 bytes to 4 bytes. I remember from previous discussions that usb and firewire have sector size alignment requirements, so I upped their alignments in the respective slave allocs. The reason for doing this is so that we don't get such a huge amount of copy overhead in bio_copy_user() for udev. (basically all inquiries it issues can now be directly mapped). Acked-by: Alan Stern Signed-off-by: James Bottomley commit 11c3e689f1c3a73e3af7b0ea767b1b0626da8033 Author: James Bottomley Date: Mon Dec 31 16:37:00 2007 -0600 [SCSI] block: Introduce new blk_queue_update_dma_alignment interface The purpose of this is to allow stacked alignment settings, with the ultimate queue alignment being set to the largest alignment requirement in the stack. The reason for this is so that the SCSI mid-layer can relax the default alignment requirements (which are basically causing a lot of superfluous copying to go on in the SG_IO interface) while allowing transports, devices or HBAs to add stricter limits if they need them. Acked-by: Jens Axboe Signed-off-by: James Bottomley commit 166a72878f76e911f2d1ce4b2310d4403e94be11 Author: FUJITA Tomonori Date: Tue Jan 8 07:59:05 2008 +0900 [SCSI] fix scsi_setup_command_freelist failure path race Looks like that host_cmd_pool_mutex are necessary here. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 210ba1d1724f5c4ed87a2ab1a21ca861a915f734 Author: James Bottomley Date: Sat Jan 5 10:39:51 2008 -0600 [SCSI] sr: update to follow tray status correctly Based on an original patch from: David Martin When trying to get the drive status via ioctl CDROM_DRIVE_STATUS, with no disk it gives CDS_TRAY_OPEN even if the tray is closed. ioctl works as expected with ide-cd driver. Gentoo bug report: http://bugs.gentoo.org/show_bug.cgi?id=196879 Cc: Maarten Bressers Signed-off-by: James Bottomley commit 32e8ae36b8f80372015b88b63c4358a376c9af0f Author: James Bottomley Date: Sun Dec 30 12:37:31 2007 -0600 [SCSI] libsas: don't use made up error codes This is bad for two reasons: 1. If they're returned to outside applications, no-one knows what they mean. 2. Eventually they'll clash with the ever expanding standard error codes. The problem error code in question is ETASK. I've replaced this by ECOMM (communications error on send) a network error code that seems to most closely relay what ETASK meant. Acked-by: Darrick J. Wong Signed-off-by: James Bottomley commit 2d507a01dac338831266b44ccbb01c69e84606ed Author: James Bottomley Date: Sat Dec 29 10:59:53 2007 -0600 [SCSI] libsas, bsg: pass errors through correctly Currently in BSG, errors returned in req->errors aren't passed back to the calling programme (either via SG_IO or via read/write). Fix this, while preserving the SCSI convention of returning status in req->errors. Now update libsas to return errors correctly instead of to ignore them. Acked-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 2d4b63e1505b317d4253cee3f2970792ec6d41cb Author: James Bottomley Date: Sat Dec 29 11:49:53 2007 -0600 [SCSI] libsas: don't treat underrun as an error on SMP tasks All SMP tasks sent through bsg generate messages like: sas: smp_execute_task: task to dev 500605b000001450 response: 0x0 status 0x81 Three times (because the task gets retried). Firstly, don't retry either overrun or underrun (the data buffer isn't going to change size) and secondly, just report the underrun but don't set an error for it. This is necessary so bsg can report back the residual. Signed-off-by: James Bottomley commit b98e66fa0b687149dc3b26179096dc542c7d5001 Author: James Bottomley Date: Fri Dec 28 16:35:17 2007 -0600 [SCSI] libsas: add host SMP processing This adds support for host side SMP processing, via a separate SMP interpreter file. Signed-off-by: James Bottomley commit 38b3167f75c9508156b974d19692c19b78292e2e Author: FUJITA Tomonori Date: Sun Dec 30 19:34:52 2007 +0900 [SCSI] mpt fusion: make mptsas_smp_handler update resid This patch fixes mptsas_smp_handler to update both din_resid or dout_resid on success. bsg can report back the residual. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit fdf234527a070f6fc89f3ec5ee4ae1b263e59939 Author: Christof Schmitt Date: Thu Dec 20 12:30:27 2007 +0100 [SCSI] zfcp: Hold queue lock when checking port/unit handle for task management cmd We need to hold the queue-lock when checking whether we still have a valid unit/port handle for the task management command, i.e whether we can issue this request for this unit/port. If the error recovery is about to close this unit/port, then it competes for the queue-lock. If the close request issued by the error recovery wins, then it is guaranteed that this unit/port has been blocked for other requests. Signed-off-by: Christof Schmitt Signed-off-by: Martin Peschke Signed-off-by: James Bottomley commit ba1724202aafed4bbc4a239ac6fb433f454fddea Author: Christof Schmitt Date: Thu Dec 20 12:30:26 2007 +0100 [SCSI] zfcp: Hold queue lock when checking port/unit handle for FCP command We need to hold the queue-lock when checking whether we still have a valid unit/port handle for the FCP command, i.e whether we can issue this request for this unit/port. If the error recovery is about to close this unit/port, then it competes for the queue-lock. If the close request issued by the error recovery wins, then it is guaranteed that this unit/port has been blocked for other requests. Signed-off-by: Christof Schmitt Signed-off-by: Martin Peschke Signed-off-by: James Bottomley commit 3f0ca62add34010241db682e63bb68ba765bf4a9 Author: Christof Schmitt Date: Thu Dec 20 12:30:25 2007 +0100 [SCSI] zfcp: Hold queue lock when checking port handle for ELS command We need to hold the queue-lock when checking whether we still have a valid port handle for the ELS command, i.e whether we can issue this request for this port. If the error recovery is about to close this port, then it competes for the queue-lock. If the close request issued by the error recovery wins, then it is guaranteed that this port has been blocked for other requests. Signed-off-by: Christof Schmitt Signed-off-by: Martin Peschke Signed-off-by: James Bottomley commit 951f746fece2e24a26853b3872d16e9013b6fe0b Author: Christof Schmitt Date: Thu Dec 20 12:30:24 2007 +0100 [SCSI] zfcp: Hold queue lock when checking port/unit handle for abort command We need to hold the queue-lock when checking whether we still have a valid unit/port handle for the abort command, i.e whether we can issue this request for this unit/port. If the error recovery is about to close this unit/port, then it competes for the queue-lock. If the close request issued by the error recovery wins, then it is guaranteed that this unit/port has been blocked for other requests. Signed-off-by: Christof Schmitt Signed-off-by: Martin Peschke Signed-off-by: James Bottomley commit 8627533c115c546649693d68fed6a74762c47d51 Author: Christof Schmitt Date: Thu Dec 20 12:30:23 2007 +0100 [SCSI] zfcp: Fix evaluation of port handles in abort handler According to the FSF spec, word 0 (bytes 0-3) has the handle specified with the abort command and word 1 (bytes 4-7) has the handle for the command to be aborted. Fix the if statements that try to compare those. Signed-off-by: Christof Schmitt Signed-off-by: Martin Peschke Signed-off-by: James Bottomley commit d1ad09db2fd551d49d65ef040591cb9298e70fb6 Author: Heiko Carstens Date: Thu Dec 20 12:30:22 2007 +0100 [SCSI] zfcp: fix use after free bug. zfcp_erp_strategy_check_fsfreq() checks if it is safe to access the fsf_req associated with the erp_action that gets passed. To test if it is safe it accesses the fsf_req in order to get its index into the hash list. This is broken since the fsf_req might be freed already and the read index has no meaning. It could lead to memory corruption. Fix this by introducing a new zfcp_reqlist_find_safe() method which just checks if addresses are equal. This is slower, but only gets called in case of error recovery. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky Signed-off-by: Christof Schmitt Signed-off-by: Martin Peschke Signed-off-by: James Bottomley commit bfd90dce248a49ced2b7419ecf78af9f7f37039e Author: Adrian Bunk Date: Tue Dec 11 23:23:31 2007 +0100 [SCSI] megaraid: add __devexit annotation megaraid_remove_one() can become __devexit. Signed-off-by: Adrian Bunk Acked-by: "Patro, Sumant" Signed-off-by: James Bottomley commit 3be38e7a351a88e0fcf1565661cc94d1992fcad9 Author: Roel Kluin <12o3l@tiscali.nl> Date: Thu Nov 15 21:13:46 2007 +0100 [SCSI] atari_NCR5380, sun3_NCR5380: operator precedence fix SR_REQ is defined 0x20, but bitanding has no effect because '!' has a higher priority than '&' Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: James Bottomley commit 0033bb477e93f5f6ce9dae7a1f2aa5e5a8ebabd3 Author: Swen Schillig Date: Tue Dec 18 11:16:14 2007 +0100 [SCSI] zfcp: update MAINTAINERS we are planning a major rewrite of the zfcp driver, meaning that a lot of patches will hit the mailing-list in the near future. Since I can't support this additional work-load along with my other responsibilities we are shifting the maintainership to Christof Schmitt as the maintainer and Martin Peschke as the co-maintainer. Please support the two in providing us a new and more stable zfcp environment. Thanks Swen Signed-off-by: James Bottomley commit 103962380ec3d86e675fc735e3e2b2fc8decaae9 Author: Mike Christie Date: Thu Dec 13 12:43:43 2007 -0600 [SCSI] iscsi class: bump version Update version. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit df93ffcd748ce41e7b716c3056ae511939bb745e Author: Mike Christie Date: Thu Dec 13 12:43:42 2007 -0600 [SCSI] iscsi_tcp: fix setting of r2t If we negotiate for X r2ts we have to use only X r2ts. We cannot round up (we could send less though). It is ok to fail if it is not something the driver can handle, so this patch just does that. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 118365721768f29d74718a59895ed7bd3c10b68e Author: vignesh babu Date: Thu Dec 13 12:43:41 2007 -0600 [SCSI] libiscsi: use is_power_of_2 Replacing n & (n - 1) for power of 2 check by is_power_of_2(n) Signed-off-by: vignesh babu Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 4545a88fc1ae2c0cd1da6e35f3adcbc56ff27b07 Author: Mike Christie Date: Thu Dec 13 12:43:40 2007 -0600 [SCSI] iscsi_tcp: hold lock during data rsp processing iscsi_data_rsp needs to hold the sesison lock when it calls iscsi_update_cmdsn. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 66bbe0ce11c7ebe20cd1d4b5d271b2e124e223c5 Author: Mike Christie Date: Thu Dec 13 12:43:39 2007 -0600 [SCSI] iscsi_tcp: enable sg chaining The previous patches converted iscsi_tcp to support sg chaining. This patch sets the proper flags and sets sg_table size to 4096. This allows fs io to be capped at max_sectors, but passthrough IO to be limited by some other part of the kernel. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 4cd49ea1330c946db00a28819b766062716aa857 Author: Mike Christie Date: Thu Dec 13 12:43:38 2007 -0600 [SCSI] libiscsi, iscsi class: set tmf to a safe default and export in sysfs Older tools will not be setting the tmf time outs since they did not exists, so set them to a safe default. And export abort and lu reset timeout values in sysfs. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 7a53dc52a5f218bf306b875bf0610e851d5a8268 Author: Mike Christie Date: Thu Dec 13 12:43:37 2007 -0600 [SCSI] iscsi_tcp: drop session when itt does not match any command A target should never send us a itt that does not match a running task. If it does we do not really know what is coming down after the header, unless we evaluate the hdr and do some guessing sometimes. However, even if we know what is coming we probably do not have buffers for it or we cannot respond (if it is a r2t for example), so just drop the session. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 03766a1d4e4520066d3ed2097bfdf6e606aba828 Author: Olaf Kirch Date: Thu Dec 13 12:43:36 2007 -0600 [SCSI] iscsi_tcp: stop leaking r2t_info's when the incoming R2T is bad iscsi_r2t_rsp checks the incoming R2T for sanity, and if it thinks it's fishy, it will drop it silently. In this case, we leaked an r2t_info object. If we do this often enough, we run into a BUG_ON some time later. Removed r2t wrappers and update patch by Mike Christie Signed-off-by: Olaf Kirch Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit a8ac6311cc21d78fa284cd43f56df2063f536bf1 Author: Olaf Kirch Date: Thu Dec 13 12:43:35 2007 -0600 [SCSI] iscsi: convert xmit path to iscsi chunks Convert xmit to iscsi chunks. from michaelc@cs.wisc.edu: Bug fixes, more digest integration, sg chaining conversion and other sg wrapper changes, coding style sync up, and removal of io fields, like pdu_sent, that are not needed. Signed-off-by: Olaf Kirch Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 1040c99d9fd9de2bf00efae6d91014f890575bdb Author: Mike Christie Date: Thu Dec 13 12:43:34 2007 -0600 [SCSI] libiscsi: Drop host lock in queuecommand The driver does not need the host lock in queuecommand so drop it. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit c1635cb786dbadd16fd6e6959dd3b41ae2f2831a Author: Mike Christie Date: Thu Dec 13 12:43:33 2007 -0600 [SCSI] libiscsi: clear conn->ctask when task is completed early If the current ctask is failed early, we legt the conn->ctask pointer pointing to a invalid task. When the xmit thread would send data for it, we would then oops. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 9000bcd649b26aef4c35d2941f8a65f05bbb9ee1 Author: Mike Christie Date: Thu Dec 13 12:43:32 2007 -0600 [SCSI] libiscsi: Do not fail commands immediately during logout If the target requests a logout, then we do not want to fail commands to scsi-ml right away. This patch just fails in pending commands for a requeue immediately, and then lets iscsid handle running commands like normal recovery. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit bca1088a8194f4fc850b65ea4f324c15d47d3cc3 Author: FUJITA Tomonori Date: Thu Dec 13 12:43:31 2007 -0600 [SCSI] iscsi_tcp: update the website URL Use open-iscsi.org instead of linux-iscsi.sf.net, which hasn't been updated for ages. Signed-off-by: FUJITA Tomonori Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit f6d5180c78780d63b0577edeb3ce41eeb3e93eea Author: Mike Christie Date: Thu Dec 13 12:43:30 2007 -0600 [SCSI] libiscsi: fix nop handling During root boot and shutdown the target could send us nops. At this time iscsid cannot be running, so the target will drop the session and the boot or shutdown will hang. To handle this and allow us to better control when to check the network this patch moves the nop handling to the kernel. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 2697478903d0ad8bdbf868b1346ae4b891662bb1 Author: Mike Christie Date: Thu Dec 13 12:43:29 2007 -0600 [SCSI] libiscsi: fix shutdown We were using the device delete sysfs file to remove each device then logout. Now in 2.6.21 this will not work because the sysfs delete file returns immediately and does not wait for the device removal to complete. This causes a hang if a cache sync is needed during shutdown. Before .21, that approach had other problems, so this patch fixes the shutdown code so that we remove the target and unbind the session before logging out and shut down the session Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit bc436b278776d22eb10e7e75bf3e5257d14550a9 Author: Mike Christie Date: Thu Dec 13 12:43:28 2007 -0600 [SCSI] libiscsi: grab eh_mutex during host reset I thought we may not need the eh mutex during host reset, but that is wrong with the new shutdown code. When start_session_recovery sets the state to terminate then drops the session lock. The scsi eh thread could then grab the session lock see that we are terminating and then return failed to scsi-ml. scsi-ml's eh then owns the command and will do whatever it wants with it. But then the iscsi eh thread could grab the session lock and want to complete the scsi commands that we in the LLD, but it no longer owns them and kaboom. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit d8bf541e657824cb03effd726ac96e2f4dcf58a5 Author: Mike Christie Date: Thu Dec 13 12:43:27 2007 -0600 [SCSI] iscsi class: Use our own workq instead of common system one. There is just too much going on through the common workq and something like a scsi device removal through sysfs affects how long it will take to recover the transport, mark it as failed, or shut it down gracefully. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit b3a7ea8d50f6028964b468d13a095dfb2508b2fb Author: Mike Christie Date: Thu Dec 13 12:43:26 2007 -0600 [SCSI] libiscsi: do not block session during logout There is not need to block the session during logout. Since we are going to fail the commands that were blocked just fail them immediately instead. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 6320377fd94316e58f75d0be6f6e7a644950a4ee Author: Olaf Kirch Date: Thu Dec 13 12:43:25 2007 -0600 [SCSI] libiscsi, iscsi_tcp: iscsi pool cleanup iscsi_pool_init simplified iscsi_pool_init currently has a lot of duplicate kfree() calls it does when some allocation fails. This patch simplifies the code a little by using iscsi_pool_free to tear down the pool in case of an error. iscsi_pool_init also returns a copy of the item array to the caller. Not all callers use this array, so we make it optional. Instead of allocating a second array and return that, allocate just one array, of twice the size. Update users of iscsi_pool_{init,free} This patch drops the (now useless) second argument to iscsi_pool_free, and updates all callers. It also removes the ctask->r2ts array, which was never used anyway. Since the items argument to iscsi_pool_init is now optional, we can pass NULL instead. Signed-off-by: Olaf Kirch Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 38ad03de3fd350e683213ddf898a7049534628a8 Author: Boaz Harrosh Date: Thu Dec 13 12:43:24 2007 -0600 [SCSI] libiscsi,iser: patch for AHS support - The default initialization of hdr_max is the minimum - sizeof(struct iscsi_cmd) - Once this patch goes into iser the default initialization at libiscsi can be removed. - This is not yet full support for AHSs at iser end. But it should be easy. Just allocate more space at iser_desc right after iscsi_hdr. Than at transmission time use ctask->hdr_len to retrieve the total size of all iscsi pdu headers. See previous patch at iscsi_tcp.[ch] Signed-off-by: Boaz Harrosh Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 004d6530f83bee43a55b51bb5960db96e7ae0ffa Author: Boaz Harrosh Date: Thu Dec 13 12:43:23 2007 -0600 [SCSI] iscsi_tcp, libiscsi: initial AHS Support at libiscsi generic code - currently code assumes a storage space of pdu header is allocated at llds ctask and is pointed to by iscsi_cmd_task->hdr. Here I add a hdr_max field pertaining to that storage, and an hdr_len that accumulates the current use of the pdu-header. - Add an iscsi_next_hdr() inline which returns the next free space to write new Header at. Also iscsi_next_hdr() is used to retrieve the address at which to write the header-digest. - Add iscsi_add_hdr(length). What the user do is calls iscsi_next_hdr() for address of the new header, than calls iscsi_add_hdr(length) with the size of the new header. iscsi_add_hdr() will check if space is available and update to the new size. length must be padded according to standard. - Add 2 padding inline helpers thanks to Olaf. Current patch does not use them but Following patches will. Also moved definition of ISCSI_PAD_LEN to iscsi_proto.h which had PAD_WORD_LEN that was never used anywhere. - Let iscsi_prep_scsi_cmd_pdu() signal an Error return since now it is possible that it will fail. - I was tired of yet again writing a "this is a digest" comment next to sizeof(__u32) so I defined a new ISCSI_DIGEST_SIZE. Now I don't need any comments. Changed all places that used sizeof(__u32) or "4" in connection to a digest. iscsi_tcp specific code - At struct iscsi_tcp_cmd_task allocate maximum space allowed in standard for all headers following the iscsi_cmd header. and mark it so in iscsi_tcp_session_create() - At iscsi_send_cmd_hdr() retrieve the correct headers size and write header digest at iscsi_next_hdr(). Signed-off-by: Boaz Harrosh Signed-off-by: Olaf Kirch Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 7207fea452cfdd2d4e2f4419e2c31f570edbade3 Author: Boaz Harrosh Date: Thu Dec 13 12:43:22 2007 -0600 [SCSI] iscsi: Prettify resid handling and some extra checks - Check to see that OVERFLOW is not negative indicating a bug. - Unify handling of UNDERFLOW and OVERFLOW to the same code. - Also handle BIDI_OVERFLOW. Signed-off-by: Boaz Harrosh Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit da32dd681f7a1a17073c42b375fc23cf73c92155 Author: Olaf Kirch Date: Thu Dec 13 12:43:21 2007 -0600 [SCSI] iscsi_tcp: rewrite recv path Rewrite recv path. Fixes: - data digest processing and error handling. - ahs support. Some fixups by Mike Christie Signed-off-by: Olaf Kirch Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 843c0a8a76078cf961b244b839683d0667313740 Author: Mike Christie Date: Thu Dec 13 12:43:20 2007 -0600 [SCSI] libiscsi, iscsi_tcp: add device support This patch adds logical unit reset support. This should work for ib_iser, but I have not finished testing that driver so it is not hooked in yet. This patch also temporarily reverts the iscsi_tcp r2t write out patch. That code is completely rewritten in this patchset. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 8ae732a91df051aba6820068a47b631a06599d84 Author: Tejun Heo Date: Fri Dec 7 22:36:23 2007 +0900 [SCSI] make pcmcia directory use obj-y|m instead of subdir-y|m subdir-y|m isn't supposed to contain modules or built-in components. Change subdir-$(CONFIG_PCMCIA) to obj-$(CONFIG_PCMCIA). Signed-off-by: Tejun Heo Acked-by: Sam Ravnborg Signed-off-by: James Bottomley commit b7d68ca3f055b90bb782bcfcf535f54cead7d7db Author: Denis Cheng Date: Thu Dec 13 16:14:27 2007 -0800 [SCSI] ipr: use LIST_HEAD instead of LIST_HEAD_INIT Signed-off-by: Denis Cheng Acked-by: Brian King Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 230e886e7bd663ff2e83cdeede12d7f09b9d3711 Author: Jeff Garzik Date: Thu Dec 13 16:14:12 2007 -0800 [SCSI] gdth: kill unneeded 'irq' argument Neither gdth_get_status() nor __gdth_interrupt() need their 'irq' argument, so remove it. [akpm@linux-foundation.org: coding style fixes] Signed-off-by: Jeff Garzik Acked-by: Boaz Harrosh Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 736f77deaf6b0bf51eaab1ea5d074adc11b8c7cd Author: Jeff Garzik Date: Thu Dec 13 16:14:13 2007 -0800 [SCSI] sym53c416: kill pointless irq handler loop and test - kill pointless irq handler loop to find base address, it is already passed to irq handler via Scsi_Host. - kill now-pointless !base test. Signed-off-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit baa9aac6a15a1990e9d2d7a5648f53dfccc440ad Author: Jeff Garzik Date: Thu Dec 13 16:14:14 2007 -0800 [SCSI] NCR5380: minor irq handler cleanups * remove unnecessary cast * remove unnecessary use of 'irq' function arg Signed-off-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit fc9b5118823e84b4ed0acddd99c1e453298e103d Author: Andrew Morton Date: Thu Dec 13 16:14:23 2007 -0800 [SCSI] sgiwd93: export sgiwd93_reset() mips allmodconfig: ERROR: "sgiwd93_reset" [drivers/scsi/wd33c93.ko] undefined! Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 94cf6ba11b068b8a8f68a1e88bffb6827e92124b Author: Salyzyn, Mark Date: Thu Dec 13 16:14:18 2007 -0800 [SCSI] aacraid: fix driver failure with Dell PowerEdge Expandable RAID Controller 3/Di As reported in http://bugzilla.kernel.org/show_bug.cgi?id=3D9133 it was discovered that the PERC line of controllers lacked a key 64 bit ScatterGather capable SCSI pass-through function. The adapters are still capable of 64 bit ScatterGather I/O commands, but these two can not be mixed. This problem was exacerbated by the introduction of the SCSI Generic access to the DASD physical devices. The fix for users before this patch is applied is aacraid.dacmode=3D0 on the kernel command line to disable 64 bit I/O. The enclosed patch introduces a new adapter quirk and tries to limp along by enabling pass-through in situations where memory is 32 bit addressable on 64 bit machines, or disable the pass-through functions altogether. I expect that the check for 32 bit addressable memory to be controversial in that it can be incorrect in non-Dell non-Intel systems that PERC would never be installed under, the alternative is to disable pass-through in all cases which could be reported as another regression. Pass-through is used for SCSI Generic access to the physical devices, or for the management applications to properly function. In systems where this patch has disabled pass-through because it is unsupportable in combination with I/O performance, the user can choose to enable pass-through by turning off dacmode (aacraid.dacmode=3D0) or limiting the discovered kernel memory (mem=3D4G) with an associated loss in runtime performance. If we chose instead to turn off 64 bit dacmode for the adapters with this quirk, then this would be reported as another regression. Signed-off-by: Mark Salyzyn Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 00f5970193e22c48f399a2430635d6416b51befe Author: HighPoint Linux Team Date: Thu Dec 13 16:14:26 2007 -0800 [SCSI] hptiop: add more adapter models and other fixes Most code changes were made to support adapters based on Marvell IOP, plus some other fixes. - add more PCI device IDs - support for adapters based on Marvell IOP - fix a result code translation error on big-endian systems - fix resource releasing bug when scsi_host_alloc() fail in hptiop_probe() - update scsi_cmnd.resid when finishing a request - correct some coding style issues [akpm@linux-foundation.org: type fixes] Signed-off-by: HighPoint Linux Team Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit a7ed0448e28ce6154390bf690b8b5c37853732dc Author: Randy Dunlap Date: Mon Oct 29 11:20:35 2007 -0700 [SCSI] aic94xx: fix section mismatches Fix section mismatch warning: WARNING: vmlinux.o(.init.text+0x23be6): Section mismatch: reference to .exit.text:asd_unmap_ha (between 'asd_pci_probe' and 'qla4xxx_module_init') + WARNING: vmlinux.o(.text+0x1ec8a8): Section mismatch: reference to .exit.text:as d_unmap_ioport (between 'asd_unmap_ha' and 'asd_remove_dev_attrs') WARNING: vmlinux.o(.text+0x1ec8b1): Section mismatch: reference to .exit.text:as d_unmap_memio (between 'asd_unmap_ha' and 'asd_remove_dev_attrs') Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley commit 2551a13e61d3c3df6c2da6de5a3ece78e6d67111 Author: Jeff Garzik Date: Thu Dec 13 16:14:10 2007 -0800 [SCSI] ips: handle scsi_add_host() failure, and other err cleanups Signed-off-by: Jeff Garzik Acked-by: "Salyzyn, Mark" Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 21e1a5f26c437591f67779a97e5cc95ebbb02e90 Author: Jeff Garzik Date: Thu Dec 13 16:14:09 2007 -0800 [SCSI] ips: PCI API cleanups * pass Scsi_Host to ips_remove_device() via pci_set_drvdata(), allowing us to eliminate the ips_ha[] search loop and call ips_release() directly. * call pci_{request,release}_regions() and eliminate individual request/release_[mem_]region() calls * call pci_disable_device(), paired with pci_enable_device() * s/0/NULL/ in a few places * check ioremap() return value Signed-off-by: Jeff Garzik Acked-by: "Salyzyn, Mark" Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 2f277d6a719064f830211d0a0e104a37da2ac116 Author: Jeff Garzik Date: Thu Dec 13 16:14:08 2007 -0800 [SCSI] ips: trim trailing whitespace [akpm@linux-foundation.org: coding style fixes] Signed-off-by: Jeff Garzik Acked-by: "Salyzyn, Mark" Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 8a694cc87a1f9640aac9a9a278a8673e35a5e507 Author: Jeff Garzik Date: Thu Dec 13 16:14:07 2007 -0800 [SCSI] ips: remove ips_ha members that duplicate struct pci_dev members Signed-off-by: Jeff Garzik Acked-by: "Salyzyn, Mark" Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 864473bbbbcbe99e95a57ad496894768cd77a567 Author: Randy Dunlap Date: Mon Oct 29 11:20:40 2007 -0700 [SCSI] sym2: fix section mismatch warning Fix section mismatch warning: WARNING: vmlinux.o(.text+0x1ff3a2): Section mismatch: reference to .exit.text:sym2_remove (between 'sym2_io_error_detected' and 'sym_xpt_done') Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley commit a6ababd26aac6ef875df2055dcc147ccda2f8364 Author: Adrian Bunk Date: Mon Nov 5 18:07:33 2007 +0100 [SCSI] lpfc: minor cleanups This patch contains the following minor cleanups: - make the following needlessly global functions static: - lpfc_els.c: lpfc_register_new_vport() - lpfc_els.c: lpfc_issue_els_fdisc() - lpfc_els.c: lpfc_issue_fabric_iocb() - lpfc_els.c: lpfc_fabric_abort_vport() - lpfc_hbadisc.c: lpfc_dev_loss_tmo_handler() - lpfc_hbadisc.c: lpfc_mbx_cmpl_clear_la() - lpfc_hbadisc.c: lpfc_disc_flush_list() - lpfc_hbadisc.c: __lpfc_find_node() - lpfc_init.c: lpfc_hb_timeout() - lpfc_init.c: lpfc_block_mgmt_io() - lpfc_sli.c: __lpfc_sli_release_iocbq() - lpfc_sli.c: lpfc_sli_next_hbq_slot() - lpfc_sli.c: lpfc_sli_hbqbuf_init_hbqs() - lpfc_sli.c: lpfc_sli_hbqbuf_find() - lpfc_sli.c: __lpfc_sli_issue_iocb() - #if 0 the following unused global functions: - lpfc_els.c: lpfc_fabric_abort_flogi() - lpfc_hbadisc.c: lpfc_find_node() - lpfc_hbadisc.c: lpfc_findnode_rpi() - remove the unused exports Signed-off-by: Adrian Bunk Acked-by: James Smart Signed-off-by: James Bottomley commit 001aac257cf8adbe90cdcba6e07f8d12dfc8fa6b Author: James Bottomley Date: Sun Dec 2 19:10:40 2007 +0200 [SCSI] sd,sr: add early detection of medium not present The current scsi_test_unit_ready() is updated to return sense code information (in struct scsi_sense_hdr). The sd and sr drivers are changed to interpret the sense code return asc 0x3a as no media and adjust the device status accordingly. Signed-off-by: James Bottomley commit 4a03d90e35bc5273d27301fa669d4b2103196f94 Author: Rusty Russell Date: Mon Nov 19 11:28:48 2007 +1100 [SCSI] BUG_ON() impossible condition in sg list counting If blk_rq_map_sg wrote more than was allocated in the scatterlist, BUG_ON() is probably the right thing to do. [jejb: rejections fixed up] Signed-off-by: Rusty Russell Acked-by: Jens Axboe Signed-off-by: James Bottomley commit a8aae4d3427a5cf7c92b50125e35ea6cb9ba7394 Author: Randy Dunlap Date: Thu Nov 15 11:53:25 2007 +0200 [SCSI] tgt: fix build when dprintk is defined Fix scsi_tgt_lib build when dprintk is defined: Also fix accessors problem when dprintk is defined drivers/scsi/scsi_tgt_lib.c: In function 'scsi_tgt_cmd_destroy': drivers/scsi/scsi_tgt_lib.c:183: warning: format '%lu' expects type 'long unsigned int', but argument 6 has type 'unsigned int' drivers/scsi/scsi_tgt_lib.c: In function 'scsi_tgt_cmd_done': drivers/scsi/scsi_tgt_lib.c:330: warning: format '%lu' expects type 'long unsigned int', but argument 5 has type 'unsigned int' drivers/scsi/scsi_tgt_lib.c: In function 'scsi_tgt_transfer_response': drivers/scsi/scsi_tgt_lib.c:345: warning: format '%lu' expects type 'long unsigned int', but argument 5 has type 'unsigned int' drivers/scsi/scsi_tgt_lib.c: In function 'scsi_tgt_init_cmd': drivers/scsi/scsi_tgt_lib.c:368: warning: format '%lu' expects type 'long unsigned int', but argument 6 has type 'unsigned int' drivers/scsi/scsi_tgt_lib.c: In function 'scsi_tgt_kspace_exec': drivers/scsi/scsi_tgt_lib.c:499: warning: format '%lu' expects type 'long unsigned int', but argument 9 has type 'unsigned int' drivers/scsi/scsi_tgt_lib.c: In function 'scsi_tgt_kspace_it_nexus_rsp': drivers/scsi/scsi_tgt_lib.c:620: error: 'mid' undeclared (first use in this function) drivers/scsi/scsi_tgt_lib.c:620: error: (Each undeclared identifier is reported only once drivers/scsi/scsi_tgt_lib.c:620: error: for each function it appears in.) make[2]: *** [drivers/scsi/scsi_tgt_lib.o] Error 1 [tomo: > - dprintk("%d %d %llx\n", host_no, result, (unsigned long long) mid); > + dprintk("%d %d\n", host_no, result); 'mid' is a typo. I wanted to do: dprintk("%d %d %llx\n", host_no, result, (unsigned long long)itn_id); The rest looks ok. Thanks, ] Signed-off-by: Randy Dunlap Signed-off-by: Boaz Harrosh Acked-by: FUJITA Tomonori Signed-off-by: James Bottomley commit f3307f7276067e2f8f29a20e3ebe52887e8f9f00 Author: Christoph Hellwig Date: Thu Nov 8 17:27:47 2007 +0000 [SCSI] aacraid: don't assign cpu_to_le32(int) to u8 On Wed, Nov 07, 2007 at 01:51:44PM -0500, Salyzyn, Mark wrote: > Christoph Hellwig [mailto:hch@infradead.org] sez: > > Did anyone run the driver through sparse to see if we have > > more issues like this? > > There are some warnings from sparse, none like this one. I will deal > with the warnings ... Actually there are a lot of endianess warnings, fortunately most of them harmless. The patch below fixes all of them up (including the ones in the patch I replied to), except for aac_init_adapter which is really odd and I don't know what to do. [jejb fixed up rejections and checkpatch issues] Signed-off-by: Christoph Hellwig Acked-by: Mark Salyzyn Signed-off-by: James Bottomley commit 3fb8931645e23785ee406444a782ba03c31d0e71 Author: Andrew Vasquez Date: Mon Nov 12 10:31:00 2007 -0800 [SCSI] qla2xxx: Update version number to 8.02.00-k6. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit f4a8dbc7f6ca8c0a7ec4f112320899b6b77d7e17 Author: Shyam Sundar Date: Mon Nov 12 10:30:59 2007 -0800 [SCSI] qla2xxx: Properly handle Vport state-change-notifications. Drivers do SCRs for each Vport. When something changes in the fabric, firmware generates one interrupt for each RSCN. Based on the current implementation, in each case, we make recursive calls to handle RSCN for physical and each subsequent virtual ports. The fix is to also take into consideration the vp_idx, which is set by the firmware to indicate the vport the RSCN was meant for. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit eb66dc60be5a72bc940458a5adfd400e4d810d49 Author: Andrew Vasquez Date: Mon Nov 12 10:30:58 2007 -0800 [SCSI] qla2xxx: Correct NPIV support for recent ISPs. Firmware will export to software the maximum number of vports supported for any given firmware version and ISP type. Use this information rather than the current hardcoding of limitations within the driver. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 06e23b7470ca7974b0ca8150c5415b55b5ea2a99 Author: Andrew Vasquez Date: Mon Nov 12 10:30:57 2007 -0800 [SCSI] qla2xxx: Don't explicitly read mbx registers while processing a system-error. Callers of qla2x00_async_event() already populate the mb[] array upon invocation, doing so via the appropriate mailbox register accessors. The stale codes removed are leftover-bits kept during the FWI2 transition. Though relatively benign, the extra-reads are not valid for FWI2 boards (ISP24xx and above) and peek into the incorrect regions of registers. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 860784c8a2b077157b6a51fb8749524d0363cc49 Author: Robert Jennings Date: Mon Nov 12 09:00:23 2007 -0600 [SCSI] ibmvscsi: requeue while CRQ closed CRQ send errors that return with H_CLOSED should return with SCSI_MLQUEUE_HOST_BUSY until firmware alerts the client of a CRQ transport event. The transport event will either reinitialize and requeue the requests or fail and return IO with DID_ERROR. To avoid failing the eh_* functions while re-attaching to the server adapter this will retry for a period of time while ibmvscsi_send_srp_event returns SCSI_MLQUEUE_HOST_BUSY. In ibmvscsi_eh_abort_handler() the loop includes the search of the event list. The lock on the hostdata is dropped while waiting to try again after failing ibmvscsi_send_srp_event. The event could have been purged if a login was in progress when the function was called. In ibmvscsi_eh_device_reset_handler() the loop includes the call to get_event_struct() because a failing call to ibmvscsi_send_srp_event() will have freed the event struct. Signed-off-by: Robert Jennings Signed-off-by: Brian King Signed-off-by: James Bottomley commit dc8875e1078961591af4fbf9556c44648bf28d11 Author: Randy Dunlap Date: Thu Nov 15 15:42:30 2007 -0800 [SCSI] docbook and kernel-doc updates - Change title to remove "Mid-Layer" since the doc is about all of the SCSI layers. - Use "SCSI" instead of "scsi" in docbook text. - Use "*/" to end kernel-doc notation blocks. - A few other minor typo fixes. Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley commit c93ff979a40e99f7229544cc8298c820b8eda17e Author: Randy Dunlap Date: Thu Nov 15 17:07:28 2007 -0800 [SCSI] kernel-doc: use correct function name Use correct function name in kernel-doc. Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley commit 6af6632a1c1cac169fe7fbedb2f642b4ebb38323 Author: Randy Dunlap Date: Wed Nov 14 16:52:25 2007 -0800 [SCSI] boot options: correct option name and tell where to find docs for it Minor corrections and additions to 'scsi_logging_level', as pointed out by Chuck Ebbert. Also point out the IBM S390-tools 'scsi_logging_level' script. Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley commit 25d7c363f2663fe399e623c9bd819258c9760bdc Author: Tony Battersby Date: Mon Nov 12 10:00:44 2007 -0500 [SCSI] move single_lun flag from scsi_device to scsi_target Some SCSI tape medium changers that need the BLIST_SINGLELUN flag have the medium changer at one LUN and the tape drive at a different LUN. The inquiry string of the tape drive may be different from that of the medium changer. In order for single_lun to be effective, every scsi_device under a given scsi_target must have it set. This means that there needs to be a blacklist entry for BOTH the medium changer AND the tape drive, which is impractical because some medium changers may be paired with a variety of different tape drive models. It makes more sense to put the single_lun flag in scsi_target instead of scsi_device, which causes every device at a given target ID to inherit the single_lun flag from one LUN. This makes it possible to blacklist just the medium changer and not the tape drive. Signed-off-by: Tony Battersby Signed-off-by: James Bottomley commit f28cd7cf8f696eafe42d1632b5a306fbf784d3cd Author: bo yang Date: Fri Nov 9 04:44:56 2007 -0500 [SCSI] megaraid_sas: Update version and changelog Update version and changelog Signed-off-by: Bo Yang Signed-off-by: James Bottomley commit ad84db2e2e1817bb8a29e7c9108eb66bf023d99f Author: bo yang Date: Fri Nov 9 04:40:16 2007 -0500 [SCSI] megaraid_sas: support for poll_mode_io (reduced interrupt) Added module parameter "poll_mode_io" to support for "polling" (reduced interrupt operation). In this mode, IO completion interrupts are delayed. At the end of initiating IOs, the driver schedules for cmd completion if there are pending cmds. A timer-based interrupt has also been added to prevent IO completion from being delayed indefinitely in the case that no new IOs are initiated. Some formatting issues in resume, suspend comment block also corrected Signed-off-by: Bo Yang Signed-off-by: James Bottomley commit 7343eb6570ae3b299e7b5185b139d8335ef60e9b Author: bo yang Date: Fri Nov 9 04:35:44 2007 -0500 [SCSI] megaraid_sas: call cmd completion from reset Driver will call cmd completion routine from Reset path without waiting for cmd completion from isr context. Signed-off-by: Bo Yang Signed-off-by: James Bottomley commit b10c36a57552f03582c0ab3ece04f3cce791922d Author: bo yang Date: Fri Nov 9 04:28:47 2007 -0500 [SCSI] megaraid_sas: use unsigned long for sense_buff ptr MegaRAID utilities expect sense_buff to be of type unsigned long. Signed-off-by: Bo Yang Signed-off-by: James Bottomley commit 14faea9f7fe1e8805629b50cf14a65a85fe4a4fd Author: bo yang Date: Fri Nov 9 04:14:00 2007 -0500 [SCSI] megaraid_sas: check max_sgl reported by FW for setting max_sectors_per_req 1. Setting the max_sectors_per_req based on max SGL supported by the FW. Prior versions calculated this value from controller info's max_sectors_1, max_sectors_2. For certain controllers/FW, this was resulting in a value greater than max SGL supported by the FW. Now we take the min of max sgl from FW and max_sectors calculation. 2. Increased MFI_POLL_TIMEOUT_SECS to 60 seconds from 10. FW may take a max of 60 seconds to respond to the INIT cmd. Signed-off-by: Bo Yang Signed-off-by: James Bottomley commit 31ea7088974c2405e19d72f17c2afb103ef19e02 Author: bo yang Date: Wed Nov 7 12:09:50 2007 -0500 [SCSI] megaraid_sas: add hibernation support Adding hibernation support. suspend, resume routine implemented. Signed-off-by: Bo Yang Signed-off-by: James Bottomley commit 1e6c38cec08f88b0df88a34e80f15492cace74e9 Author: Tony Battersby Date: Fri Nov 9 13:04:35 2007 -0500 [SCSI] 3w-9xxx: fix abysmal write performance on some motherboards The 3ware 9500S-8 SATA RAID controller exhibits terrible write performance when PCI memory-write-and-invalidate is disabled. This is easy to demonstrate by replacing pci_try_set_mwi() in the patch below with pci_clear_mwi(). My benchmarks show the following: MWI disabled: 15 MB/s write, 330 MB/s read MWI enabled: 240 MB/s write, 330 MB/s read Most motherboards will enable MWI without the driver having to set it explicitly, so most people probably wouldn't encounter this problem. For the few motherboards that don't enable it, this patch could give a 16x performance improvement for writing. This issue does not seem to affect the 9550SX controller, but the patch doesn't hurt it either. I haven't tested any of the other 3ware controllers. Signed-off-by: Tony Battersby Acked-by: adam radford Signed-off-by: James Bottomley commit 8ee24023ef43c77cdaea1add00e1e45cc4fc3261 Author: Darrick J. Wong Date: Mon Nov 5 11:52:14 2007 -0800 [SCSI] libsas: Fix various sparse complaints Annotate sas_queuecommand with locking details, and clean up a few more sparse warnings about static/non-static declarations. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit 5929faf3334f4c69f3bb02be59d7c127e0cefa1f Author: Darrick J. Wong Date: Mon Nov 5 11:51:17 2007 -0800 [SCSI] libsas: Convert sas_proto users to sas_protocol sparse complains about the mixing of enums in libsas. Since the underlying numeric values of both enums are the same, combine them to get rid of the warning. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit e5a69e27cc193f98c9a5a9086e3bf85528170623 Author: Matthias Kaehlcke Date: Sat Oct 27 09:48:46 2007 +0200 [SCSI] megaraid_sas: Convert aen_mutex to the mutex API Signed-off-by: Matthias Kaehlcke Acked-by: Bo Yang Signed-off-by: James Bottomley commit 3ce7c6588637614b00072569679791a04898c790 Author: Boaz Harrosh Date: Sun Sep 9 21:13:42 2007 +0300 [SCSI] imm: convert to accessors and !use_sg cleanup - convert to accessors and !use_sg cleanup - Not ready for sg-chaining Signed-off-by: Boaz Harrosh Acked-by: Randy Dunlap Tested-by: Randy Dunlap Signed-off-by: James Bottomley commit 57643c711c3759623e7ac651a4a418858cdaeae5 Author: Boaz Harrosh Date: Sun Sep 9 21:16:58 2007 +0300 [SCSI] ppa: convert to accessors and !use_sg cleanup - convert to accessors and !use_sg cleanup Signed-off-by: Boaz Harrosh Acked-by: Randy Dunlap Tested-by: Randy Dunlap Signed-off-by: James Bottomley commit 74286a3c276bca449f934b2cd921f9bced996e04 Author: James Bottomley Date: Wed Nov 14 18:01:21 2007 -0600 [SCSI] DocBook scsi_midlayer.tmpl->scsi.tmpl Signed-off-by: James Bottomley commit eb44820c28bc9a042e1157b41c677018a8fdfc74 Author: Rob Landley Date: Sat Nov 3 13:30:39 2007 -0500 [SCSI] Add Documentation and integrate into docbook build Add Documentation/DocBook/scsi_midlayer.tmpl, add to Makefile, and update lots of kerneldoc comments in drivers/scsi/*. Updated with comments from Stefan Richter, Stephen M. Cameron, James Bottomley and Randy Dunlap. Signed-off-by: Rob Landley Signed-off-by: James Bottomley commit 3f48985823001c89c9bd5c5e57cc07530578dfcc Author: Christof Schmitt Date: Mon Nov 5 12:37:48 2007 +0100 [SCSI] zfcp: Reduce flood on hba trace Remove tracing for request with a "qualifier" field set in the response. The protocol status qualifier now contains measurement data for "good" commands, so this check would trace every response by default. The fix is to simply remove the "qual" tracing: The responses with an interesting status are also traced as "ferr" or "perr" and all responses can be traced as "norm" with a higher trace level. Signed-off-by: Christof Schmitt Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit 1de1b43b5f0bb536126e31f07ec833e01969ed1c Author: Christof Schmitt Date: Mon Nov 5 12:37:47 2007 +0100 [SCSI] zfcp: Fix deadlock when adding invalid LUN When adding an invalid LUN, there is a deadlock between the add via scsi_scan_target and the slave_destroy handler: The handler waits for the scan to complete, but for an invalid unit, scsi_scan_target directly calls the slave_destroy handler. Fix the deadlock by removing the wait in the slave_destroy handler, it was not necessary anyway. Signed-off-by: Christof Schmitt Signed-off-by: Martin Schwidefsky Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit e39c8877a41e8f70225baeeb74fade8fe3a80d8b Author: Christof Schmitt Date: Mon Nov 5 12:37:46 2007 +0100 [SCSI] zfcp: Remove SCSI devices when removing complete adapter The common I/O layer can call remove a handler to inform zfcp that a device disappeared. The handler zfcp_ccw_remove then removes all unit, port and the adapter data structures. Removing the units requires that the SCSI devices are removed first. Signed-off-by: Christof Schmitt Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit 18edcdbdb2911baa5aaeb0ed781e3424cbf98d64 Author: Christof Schmitt Date: Mon Nov 5 12:37:45 2007 +0100 [SCSI] zfcp: Specify waiting times in ERP in seconds It is not necessary to use jiffies or milliseconds to specify waiting times that last a couple of seconds. Signed-off-by: Christof Schmitt Signed-off-by: Martin Schwidefsky Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit 345bfea5e424f086b654294eddcfa3f8ff92b47f Author: Christof Schmitt Date: Mon Nov 5 12:37:44 2007 +0100 [SCSI] zfcp: Use also port and adapter to identify unit in messages. Signed-off-by: Christof Schmitt Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit a11b4743e58f53213acdd16e3a0004d035aa45f0 Author: Christof Schmitt Date: Mon Nov 5 12:37:43 2007 +0100 [SCSI] zfcp: Remove unnecessary eh_bus_reset_handler callback The callback function used by zfcp always returns success, which is an indication for the SCSI midlayer to stop error handling. Remove the bus_reset callback, since the same function will be called via the host_reset callback. Signed-off-by: Christof Schmitt Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit f858317d894a22eb2c26edcd26c7060fc4f40a15 Author: Salyzyn, Mark Date: Tue Oct 30 15:50:49 2007 -0400 [SCSI] aacraid: forced reset override Some of our vendors have requested that our adapters ignore the hardware reset attempts during recovery and have enforced this with changes in Adapter Firmware. Some of our customers have requested the option to be able to reset the adapter under adverse adapter failure, we even had a few defects reported here considering it a regression that the Adapter could not be reset. This patch addresses this dichotomy. The user can force the adapter to be reset if it supports the IOP_RESET_ALWAYS command, in cases where the adapter has been programmed to ignore the reset, by setting the aacraid.check_reset parameter to a value of -1. The driver will not reset an Adapter that does not support the reset command(s). This patch also fixes and cleans up some of the logic associated with resetting the adapter. Signed-off-by: Mark Salyzyn Signed-off-by: James Signed-off-by: James Bottomley commit 9e0fe44ddb9ed037188ac711af1e981ac32d3c32 Author: Boaz Harrosh Date: Mon Nov 5 11:23:35 2007 +0200 [SCSI] NCR5380 family: convert to accessors & !use_sg cleanup - This patch depends on: NCR5380: Use scsi_eh API for REQUEST_SENSE invocation - convert to accessors and !use_sg cleanup - FIXME: Not sg-chain ready look for ++cmd->SCp.buffer Signed-off-by: Boaz Harrosh Signed-off-by: James Signed-off-by: James Bottomley commit 9a3dd65bafcfa3338cfb4b6b7e12ff59aca0ac28 Author: Boaz Harrosh Date: Mon Nov 5 11:21:40 2007 +0200 [SCSI] wd7000: proper fix for boards without sg support - code used to set sg_tablesize to zero for board revision less than 6. This is no longer supported, therefore I use sg_tablesize=1 and open code the sg handling for that case. - Get rid of use of SG_NONE which will be removed soon. Signed-off-by: Boaz Harrosh Signed-off-by: James Signed-off-by: James Bottomley commit fe7ed98fd49a28287aca8b0ba8da8fb9ca35a055 Author: Boaz Harrosh Date: Sun Sep 9 21:06:23 2007 +0300 [SCSI] atp870u: convert to accessors and !use_sg cleanup - convert to accessors and !use_sg cleanup - Probably not ready for sg-chaining Signed-off-by: Boaz Harrosh Acked-by: Christoph Hellwig Cc: jameshsu Signed-off-by: James Bottomley commit c73961e563dde3239e2e5da08b25ab2832b2e840 Author: Boaz Harrosh Date: Fri Sep 7 06:50:20 2007 +0900 [SCSI] scsi_debug: convert to use the data buffer accessors - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: Boaz Harrosh Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 48c23d3e377bb090bf49ea6c45d024b4c11439b0 Author: Boaz Harrosh Date: Wed Aug 22 19:10:45 2007 +0300 [SCSI] isd200: use one-element sg list in issuing commands - This patch should be commited before: usb: transport - convert to accessors and !use_sg code path removal - isd200_action() was still using direct liniar pointers in issuing commands to the USB transport level. This is no longer supported, use one-element scatterlist instead. - Adjustment of command's length in the case of scsi-to-ata translation is now restored before return to queuecommand, since other wise it can leak BIOs. - isd200_action() return Error on unknown requests. Used to print an error but still try to send garbage cdb. - convert few places to scsi data accessors. - Todo: This file will need to be changed when scsi_cmnd changes to scsi_data_buffer or any other solution. Signed-off-by: Boaz Harrosh Acked-by: Matthew Dharm Signed-off-by: James Bottomley commit 6d416e6173394defda5933e419e805b696681b7e Author: Boaz Harrosh Date: Mon Sep 10 18:01:08 2007 +0300 [SCSI] usb: transport - convert to accessors and !use_sg code path removal - This patch depends on: usb: transport.c use scsi_eh API in REQUEST_SENSE execution - Use scsi data accessors and remove of !use_sg code path. - New usb_stor_bulk_srb() for use by drivers [jejb: updated with corrective fix. had a bug in residual handling in the new usb_stor_bulk_srb() function. Found by Gabriel C. in -mm tree. Tested-by: Gabriel C ] Signed-off-by: Boaz Harrosh Acked-by: Matthew Dharm Signed-off-by: James Bottomley commit 4776e99ebb171d61c7e242db437358183f27b471 Author: Boaz Harrosh Date: Sun Sep 9 20:40:56 2007 +0300 [SCSI] usb: shuttle_usbat - convert to accessors and !use_sg code path removal - functions that received char* but where passed scatterlist* mostly were changed to receive void* - Use scsi data accessors and remove of !use_sg code path Signed-off-by: Boaz Harrosh Acked-by: Matthew Dharm Signed-off-by: James Bottomley commit 41c2497b188a641c542328d08a45cf3214d453bd Author: Boaz Harrosh Date: Sun Sep 9 20:47:26 2007 +0300 [SCSI] usb: freecom & sddr09 - convert to accessors and !use_sg cleanup - Use scsi data accessors and remove of !use_sg code path - This patch is dependent on cleanup patch to usb transport.c/h Signed-off-by: Boaz Harrosh Acked-by: Matthew Dharm Signed-off-by: James Bottomley commit dd829d2302c6b0f88542ca367229d676cb9ca212 Author: Boaz Harrosh Date: Sun Sep 9 20:22:23 2007 +0300 [SCSI] usb: protocol - convert to accessors and !use_sg code path removal - Use scsi data accessors and remove of !use_sg code path Signed-off-by: Boaz Harrosh Acked-by: Matthew Dharm Signed-off-by: James Bottomley commit caa1e8c32131201193fc4711f5b07a36d3d941df Author: Boaz Harrosh Date: Wed Oct 17 10:43:20 2007 +0200 [SCSI] seagate: Remove driver - Apparently no one wonts this driver, and no one is willing to fix it for future changes to SCSI. So remove it, and if someone wants it in the future He can revive it with the needed fixes. Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 864a4675b239dcc3ae5b8adce15a370639b5ccab Author: Boaz Harrosh Date: Thu Jul 12 19:49:15 2007 +0300 [SCSI] psi240i: remove driver The psi240i driver is still written for cmnd->request_buffer as a char pointer to actual data. There was never any attempt to use the scatterlist option. - remove all source files (3) from drivers/scsi - Remove from Makefile and Kconfig Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 53d2a885032411b471b393d065c7b4693fbaafb4 Author: Boaz Harrosh Date: Sun Sep 9 21:14:41 2007 +0300 [SCSI] in2000: convert to accessors and !use_sg cleanup - convert to accessors and !use_sg cleanup Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit dfb104ff5d8215e09892aad3cd094ad6597b1cfe Author: Boaz Harrosh Date: Sun Sep 9 21:21:35 2007 +0300 [SCSI] qlogicpti: convert to accessors and !use_sg cleanup - convert to accessors and !use_sg cleanup Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit ee0ae927937ac8a30350cca1a7a75efafb13976e Author: Boaz Harrosh Date: Sun Sep 9 21:25:11 2007 +0300 [SCSI] wd33c93: convert to accessors and !use_sg cleanup - convert to accessors and !use_sg cleanup Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 8e31f1f4d94c8e7e09efab0166cb2ef2ceeec2ce Author: Boaz Harrosh Date: Sun Sep 9 21:12:24 2007 +0300 [SCSI] fd_mcs: convert to accessors and !use_sg cleanup - convert to accessors and !use_sg cleanup - Not ready for sg-chaining Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit fc3fdfcc8bb0e069a2d172e745664fa2c1f1b0ca Author: Boaz Harrosh Date: Sun Sep 9 21:02:45 2007 +0300 [SCSI] aha1542: convert to accessors and !use_sg cleanup - convert to accessors and !use_sg cleanup Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit cc0455fac06f0539277d7b724dbc513284629069 Author: Boaz Harrosh Date: Sun Sep 9 20:59:32 2007 +0300 [SCSI] a3000: convert to accessors and !use_sg cleanup - convert to accessors and !use_sg cleanup Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit f2c1afa5ebc6cd3171539e686b48a2afe24694c0 Author: Boaz Harrosh Date: Sun Sep 9 20:57:05 2007 +0300 [SCSI] a2091: convert to accessors and !use_sg cleanup - convert to accessors and !use_sg cleanup Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 7410d849a47047f1299a505dd5fde68d0ed45eaa Author: Boaz Harrosh Date: Sun Sep 9 21:10:27 2007 +0300 [SCSI] eata_pio: convert to accessors and !use_sg cleanup - convert to accessors and !use_sg cleanup Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 040cd23242413a8bd2a49b6de1ee320ce392a46d Author: Boaz Harrosh Date: Thu Aug 16 13:01:05 2007 +0300 [SCSI] nsp_cs: convert to data accessors and !use_sg cleanup - use scsi data accessors - cleanup !use_sg code paths - TODO: use next_sg() for Jens's sglist branch. Look for 2 places with "SCp.buffer++" Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 73d2cb165af80f6a61458d808d80514d2665d7da Author: Boaz Harrosh Date: Thu Nov 1 18:54:44 2007 +0200 [SCSI] aha152x: Use scsi_eh API for REQUEST_SENSE invocation - Use new scsi_eh_prep/restor_cmnd() for synchronous REQUEST_SENSE invocation. Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 75a9a4e1476db705dbbcbd2e3a16b265ef8ec3e9 Author: Mike Christie Date: Wed Oct 31 20:59:56 2007 -0500 [SCSI] add DID_REQUEUE string to scsi_show_result host table I was working on patches which add new transport error values, when I noticed that DID_REQUEUE was not in the hostbyte_table. I do not think there is any way to hit the code path where scsi_show_result is called and where you return DID_REQUEUE, because DID_REQUEUE causes scsi-ml to always requeue the command. However, for completeness and because I want to one day send a patch that tries to add new host bytes values, I am sending this patch. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 062af9c300cd4c703c78bcc109647a9629afea0d Author: James Smart Date: Sat Oct 27 13:38:20 2007 -0400 [SCSI] lpfc 8.2.3 : Change version number to 8.2.3 Change version number to 8.2.3 Signed-off-by: James Smart Signed-off-by: James Bottomley commit 7af670510df343db55752a2210dcf4fc09f59fbb Author: James Smart Date: Sat Oct 27 13:38:11 2007 -0400 [SCSI] lpfc 8.2.3 : Temperature handling fix Temperature handling fix - return proper error code indicator for applications Signed-off-by: James Smart Signed-off-by: James Bottomley commit 76bb24efdc5de8eead0ccc07ec7e3b59a4ca0f15 Author: James Smart Date: Sat Oct 27 13:38:00 2007 -0400 [SCSI] lpfc 8.2.3 : Internal loopback fixes Internal loopback fixes: - Use HBQs rather than Q_RING_BUFF - Correct HBQs continuation entries - Update CT handler to SLI3 iocbs Signed-off-by: James Smart Signed-off-by: James Bottomley commit a8adb83208020c913f010cb4e26d09e25300db8e Author: James Smart Date: Sat Oct 27 13:37:53 2007 -0400 [SCSI] lpfc 8.2.3 : Miscellaneous Small Fixes - part 2 Miscellaneous Small Fixes - part 2 - Fix ndlp left in PLOGI state after link up - Fix cannot rcv unsol ELS frames after running HBA resets for a few minutes - Fix HBQ buffer_count implemention - Fix RPI leak - Fix crash while deleting vports while HBA is reset - Revert the FCP Fbits offset back to 7 - Fix panic when deleting vports - Remove unused code in switch statement outside of a case - Reject PLOGI from invalid PName or NName of 0 - Ignore PLOGI responses from WWPName or WWNName of 0 - Fix debugfs hbqinfo display for ppc - Added 8G to list of supported speeds for sysfs parameter - Defer ndlp cleanup to dev-loss timeout handler - Added support for WRITE_VPARMS mailbox command by applications Signed-off-by: James Smart Signed-off-by: James Bottomley commit 87af33fe5f78c27cf9e43c6e586dd6efd4be3e40 Author: James Smart Date: Sat Oct 27 13:37:43 2007 -0400 [SCSI] lpfc 8.2.3 : FC Discovery Fixes FC Discovery Fixes: - Fix up lpfc_drop_node() vs lpfc_nlp_not_used() usage - Clear ADISC flag when unregistering RPI and REMOVE ndlps if in recovery. - Fix usage of UNUSED list and ndlps - Fix PLOGI race conditions - Reset link if NameServer PLOGI errors occur - Synchronize GID_FT queries with PLOGI receptions Signed-off-by: James Smart Signed-off-by: James Bottomley commit 98c9ea5c026ee47efe2a0f595078dbf199d08f50 Author: James Smart Date: Sat Oct 27 13:37:33 2007 -0400 [SCSI] lpfc 8.2.3 : Miscellaneous Small Fixes - part 1 Miscellaneous Small Fixes - part 1 - Fix typo kmzlloc -> kzalloc - Fix discovery ndlp use after free panic - Fix link event causing flood of 0108 messages - Relieve some mbox congestion on link up with 100 vports - Fix broken vport parameters - Prevent lock recursion in logo_reglogin_issue - Split uses of error variable in lpfc_pci_probe_one into retval and error - Remove completion code related to dev_loss_tmo - Remove unused LPFC_MAX_HBQ #define - Don't compare pointers to 0 for sparse - Make 2 functions static for sparse - Fix default rpi cleanup code causing rogue ndlps to remain on the NPR list - Remove annoying ELS messages when driver is unloaded - Fix Cannot issue Register Fabric login problems on link up - Remove LPFC_EVT_DEV_LOSS_DELAY - Fix FC port swap test leads to device going offline - Fix vport CT flags to only be set when accepted - Add code to handle signals during vport_create - Fix too many retries in FC-AL mode - Pull lpfc_port_link_failure out of lpfc_linkdown_port Signed-off-by: James Smart Signed-off-by: James Bottomley commit 0b727fea7a700e223bf52fb1eaf4c3a27c4340db Author: James Smart Date: Sat Oct 27 13:37:25 2007 -0400 [SCSI] lpfc 8.2.3 : Remove flawed MBX_STOP_IOCB logic Remove flawed MBX_STOP_IOCB logic Signed-off-by: James Smart Signed-off-by: James Bottomley commit 7ee5d43e2ea25336a7638715420c75583bd2ed69 Author: James Smart Date: Sat Oct 27 13:37:17 2007 -0400 [SCSI] lpfc 8.2.3 : NPIV bug fixes NPIV bug fixes: - Remove vport params on physical hba when npiv is disabled - Implement new DA_ID CT command to remove vport information from the switch after delete. Some switches didn't clean this up unless the physical link dropped. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 57127f157298ea2dacbbc878a3c5d2a5daca772c Author: James Smart Date: Sat Oct 27 13:37:05 2007 -0400 [SCSI] lpfc 8.2.3 : Added support for ASICs that report temperature Added support for ASICs that report temperature. Temperature notices are reported as events and logged. Temperature can be read via sysfs. Signed-off-by: James Smart Signed-off-by: James Bottomley commit d1a357fcc8348d325d151f6fe0ea54e317652457 Author: Brian King Date: Thu Oct 25 16:06:34 2007 -0500 [SCSI] ibmvscsi: Set default command timeout Set the default command timeout for ibmvscsi disks to 60 seconds to ensure we don't prematurely timeout commands. This fixes a problem seen where the default 30 seconds was not long enough due to congestion on the server. Signed-off-by: Brian King Signed-off-by: James Bottomley commit f37a7238d379bc2befbcb08a03de03f4f446131c Author: Adrian Bunk Date: Wed Oct 24 18:26:22 2007 +0200 [SCSI] 53c7xx: fix removal fallout This patch does some additional cleanups after the 53c7xx removal. Signed-off-by: Adrian Bunk Acked-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit f10ab66fa564fd624b04fe207ccae206df85efbf Author: FUJITA Tomonori Date: Thu Oct 25 01:21:30 2007 +0900 [SCSI] tgt: convert to use the data buffer accessors - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 1237c98db2aa94b42dbb9fb1df062b7d3733dc83 Author: Gilbert Wu Date: Mon Oct 22 15:19:11 2007 -0700 [SCSI] aic94xx: update BIOS image from user space. 1. Create a file "update_bios" in sysfs to allow user to update bios from user space. 2. The BIOS image file can be downloaded from web site "http://www.adaptec.com/en-US/downloads/bios_fw/bios_fw_ver?productId=SAS-48300&dn=Adaptec+Serial+Attached+SCSI+48300" and copy the BIOS image into /lib/firmware folder. 3. The aic994xx will accept "update bios_file" and "verify bios_file" commands to perform update and verify BIOS image . For example: Type "echo "update asc483c01.ufi" > /sys/devices/.../update_bios" to update BIOS image from /lib/firmware/as483c01.ufi file into HBA's flash memory. Type "echo "verify asc483c01.ufi" > /sys/devices/.../update_bios" to verify BIOS image between /lib/firmware/asc48c01.ufi file and HBA's flash memory. 4. Type "cat /sys/devices/.../update_bios" to view the status or result of updating BIOS. Signed-off-by: Gilbert Wu Signed-off-by: James Bottomley commit 285e9670d91cdeb6b6693729950339cb45410fdc Author: Kay Sievers Date: Tue Aug 14 14:10:39 2007 +0200 [SCSI] sr,sd: send media state change modification events This will send for a card reader slot (remove/add media): UEVENT[1187091572.155884] change /devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/host7/target7:0:0/7:0:0:0 (scsi) UEVENT[1187091572.162314] remove /block/sdb/sdb1 (block) UEVENT[1187091572.172464] add /block/sdb/sdb1 (block) UEVENT[1187091572.175408] change /devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2:1.0/host7/target7:0:0/7:0:0:0 (scsi) and for a DVD drive (add/eject media): UEVENT[1187091590.189159] change /devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0 (scsi) UEVENT[1187091590.957124] add /module/isofs (module) UEVENT[1187091604.468207] change /devices/pci0000:00/0000:00:1f.1/host4/target4:0:0/4:0:0:0 (scsi) Userspace gets events, even for unpartitioned media. This unifies the event handling for asynchronoous events (AN) and events caused by perodical polling the device from userspace. Signed-off-by: Kay Sievers [jejb: modified for new event API] Signed-off-by: James Bottomley commit 98c31c1d6c9c8a7e57cdac96ad574e0e172d3192 Merge: 78994e2... f67702a... Author: Josh Boyer Date: Fri Jan 11 07:02:57 2008 -0600 Merge branch 'virtex-for-2.6.25' of git://git.secretlab.ca/git/linux-2.6-virtex into for-2.6.25 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 b3b233c7d948a5f55185fb5a1b248157b948a1e5 Author: Alexey Starikovskiy Date: Fri Jan 11 02:42:57 2008 +0300 ACPI: EC: Some hardware requires burst mode to operate properly Burst mode temporary (50 ms) locks EC to do only transactions with driver, without it some hardware returns abstract garbage. Reference: http://bugzilla.kernel.org/show_bug.cgi?id=9341 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit e6ab15827eec0bc4444421f7ccf0223de321c708 Author: Igor Mammedov Date: Fri Jan 11 01:49:48 2008 +0000 [CIFS] DFS support patchset: Added mountdata Also cifs_fs_type was made not static for ussage in dfs code. Signed-off-by: Igor Mammedov Signed-off-by: Steve French commit 3e71a87d03055de0b8c8e42aba758ee6494af083 Author: Alexey Starikovskiy Date: Fri Jan 11 02:42:51 2008 +0300 ACPI: EC: Do the byte access with a fast path Specification allows only byte access for EC region, so make it separate from bug-compatible multi-byte access. Also do not allow return of garbage in supplied *value. Reference: http://bugzilla.kernel.org/show_bug.cgi?id=9341 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit de7921f01a407e0cb38143363995db89a5f9a5c5 Author: Bartlomiej Sieka Date: Mon Nov 26 18:55:18 2007 +0100 [MTD] [NOR] Fix incorrect interface code for x16/x32 chips According to "Common Flash Memory Interface Publication 100" dated December 1, 2001, the interface code for x16/x32 chips is 0x0005, and not 0x0004 used so far. Signed-off-by: Bartlomiej Sieka Signed-off-by: David Woodhouse commit 967c9ec4ec6178bee42f4231c49a3d7f77627978 Author: Dave Kleikamp Date: Thu Jan 10 16:04:25 2008 -0600 JFS: simplify types to get rid of sparse warning jfs_metapage.c was using uints and unsigned ints inconsistently when regular ints suffice. Signed-off-by: Dave Kleikamp commit b966b54654598aebdac9c57f102d769b36d2f68f Author: Alexey Dobriyan Date: Tue Jan 8 21:36:34 2008 +1100 [CRYPTO] hifn_795x: Fixup container_of() usage Signed-off-by: Alexey Dobriyan Signed-off-by: Herbert Xu commit e6ccc727f30a02670f6a00df6d548942bc988f43 Author: Ilpo Järvinen Date: Tue Jan 8 17:20:31 2008 +1100 [CRYPTO] cast6: inline bloat-- Bloat-o-meter shows rather high readings for cast6... crypto/cast6.c: cast6_setkey | -1310 cast6_encrypt | -4567 cast6_decrypt | -4561 3 functions changed, 10438 bytes removed, diff: -10438 crypto/cast6.c: W | +659 Q | +308 QBAR | +316 3 functions changed, 1283 bytes added, diff: +1283 crypto/cast6.o: 6 functions changed, 1283 bytes added, 10438 bytes removed, diff: -9155 Signed-off-by: Ilpo Järvinen Signed-off-by: Herbert Xu commit 6eb7228421c01ba48a6a88a7a5b3e71cfb70d4a9 Author: Herbert Xu Date: Tue Jan 8 17:16:44 2008 +1100 [CRYPTO] api: Set default CRYPTO_MINALIGN to unsigned long long Thanks to David Miller for pointing out that the SLAB (or SLOB/SLUB) cache uses the alignment of unsigned long long if the architecture kmalloc/slab alignment macros are not defined. This patch changes the CRYPTO_MINALIGN so that it uses the same default value. Signed-off-by: Herbert Xu commit 38ed9ab23b8614c9c1553b2961ef2627f3088fd9 Author: Herbert Xu Date: Tue Jan 1 15:59:28 2008 +1100 [CRYPTO] tcrypt: Make xcbc available as a standalone test Currently the gcm(aes) tests have to be taken together with all other algorithms. This patch makes it available by itself at number 106. Signed-off-by: Herbert Xu commit 94765b9e4cba8e3c51c292338db16aa174894d30 Author: Herbert Xu Date: Tue Jan 1 15:49:17 2008 +1100 [CRYPTO] xcbc: Remove bogus hash/cipher test When setting the digest size xcbc tests to see if the underlying algorithm is a hash. This is silly because we don't allow it to be a hash and we've specifically requested for a cipher. This patch removes the bogus test. Signed-off-by: Herbert Xu commit 1b87887d6c232becba77835b29a424cf78442b7d Author: Herbert Xu Date: Tue Jan 1 15:44:50 2008 +1100 [CRYPTO] xcbc: Fix algorithm leak when block size check fails When the underlying algorithm has a block size other than 16 we abort without freeing it. In fact, we try to return the algorithm itself as an error! This patch plugs the leak and makes it return -EINVAL instead. Signed-off-by: Herbert Xu commit 2a999a3abb2d3885741b09b9d05280db7e757544 Author: Herbert Xu Date: Sun Dec 30 20:24:11 2007 +1100 [CRYPTO] tcrypt: Zero axbuf in the right function The axbuf buffer is used by test_aead and therefore should be zeroed there instead of in test_hash. Signed-off-by: Herbert Xu commit 866cd902e864e9d0e31299efa9d61fc9a9bec315 Author: Herbert Xu Date: Thu Dec 27 00:04:44 2007 +1100 [CRYPTO] padlock: Only reset the key once for each CBC and ECB operation Currently we reset the key for each segment fed to the xcrypt instructions. This patch optimises this for CBC and ECB so that we only do this once for each encrypt/decrypt operation. Signed-off-by: Herbert Xu commit 1c5dfe6a959b79215c0f73d793169a7d5755900e Author: Herbert Xu Date: Mon Dec 24 08:54:24 2007 +0800 [CRYPTO] api: Include sched.h for cond_resched in scatterwalk.h As Andrew Morton correctly points out, we need to explicitly include sched.h as we use the function cond_resched in crypto/scatterwalk.h. Signed-off-by: Herbert Xu commit 214dc54f6f1b71bcd895ef272c108c67ef046200 Author: Tan Swee Heng Date: Tue Dec 18 22:45:35 2007 +0800 [CRYPTO] salsa20-asm: Remove unnecessary dependency on CRYPTO_SALSA20 Signed-off-by: Tan Swee Heng Signed-off-by: Herbert Xu commit d1cda4e39638e906f022c8ce56f566b617e1f77e Author: Sebastian Siewior Date: Tue Dec 18 00:08:27 2007 +0800 [CRYPTO] tcrypt: Add select of AEAD ERROR: "crypto_aead_setauthsize" [crypto/tcrypt.ko] undefined! ERROR: "crypto_alloc_aead" [crypto/tcrypt.ko] undefined! Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 9a7dafbba47384c330779c75a1546684efaa8c1a Author: Tan Swee Heng Date: Tue Dec 18 00:04:40 2007 +0800 [CRYPTO] salsa20: Add x86-64 assembly version This is the x86-64 version of the Salsa20 stream cipher algorithm. The original assembly code came from . It has been reformatted for clarity. Signed-off-by: Tan Swee Heng Signed-off-by: Herbert Xu commit 974e4b752ee623854c5dc2bbfc7c7725029ce173 Author: Tan Swee Heng Date: Mon Dec 10 15:52:56 2007 +0800 [CRYPTO] salsa20_i586: Salsa20 stream cipher algorithm (i586 version) This patch contains the salsa20-i586 implementation. The original assembly code came from . I have reformatted it (added indents) so that it matches the other algorithms in arch/x86/crypto. Signed-off-by: Tan Swee Heng Signed-off-by: Herbert Xu commit dadbc53d0bbde0e84c40b9f6bc5c50eb9eb7352a Author: Herbert Xu Date: Mon Dec 17 15:33:17 2007 +0800 [CRYPTO] gcm: Introduce rfc4106 This patch introduces the rfc4106 wrapper for GCM just as we have an rfc4309 wrapper for CCM. The purpose of the wrapper is to include part of the IV in the key so that it can be negotiated by IPsec. Signed-off-by: Herbert Xu commit 189ed66e95fb23666a62963b718dcbe62adbadde Author: Herbert Xu Date: Fri Dec 14 22:29:37 2007 +0800 [CRYPTO] api: Show async type This patch adds an async field to /proc/crypto for ablkcipher and aead algorithms. Signed-off-by: Herbert Xu commit e7cd2514ea506f06bd4f7b13a9b62afd60f9c73b Author: Herbert Xu Date: Fri Dec 14 22:28:14 2007 +0800 [CRYPTO] chainiv: Avoid lock spinning where possible This patch makes chainiv avoid spinning by postponing requests on lock contention if the user allows the use of asynchronous algorithms. If a synchronous algorithm is requested then we behave as before. This should improve IPsec performance on SMP when two CPUs attempt to transmit over the same SA. Currently one of them will spin doing nothing waiting for the other CPU to finish its encryption. This patch makes it postpone the request and get on with other work. If only one CPU is transmitting for a given SA, then we will process the request synchronously as before. Signed-off-by: Herbert Xu commit 4726204200327c04a77b819e2c653c063f1bc6ab Author: Herbert Xu Date: Fri Dec 14 10:19:27 2007 +0800 [CRYPTO] seqiv: Add select AEAD in Kconfig Now that seqiv supports AEAD algorithms it needs to select the AEAD option. Thanks to Erez Zadok for pointing out the problem. Signed-off-by: Herbert Xu commit 6e050778c5d08a97d5d98f7cb62bc503e872615c Author: Herbert Xu Date: Fri Dec 14 00:44:11 2007 +0800 [CRYPTO] scatterwalk: Handle zero nbytes in scatterwalk_map_and_copy It's better to return silently than crash and burn when someone feeds us a zero length. In particular the null digest algorithm when used as part of authenc will do that to us. Signed-off-by: Herbert Xu commit ce5bd4aca3c467936370846119b7f3daf9ccea78 Author: Herbert Xu Date: Fri Dec 14 00:28:40 2007 +0800 [CRYPTO] null: Allow setkey on digest_null We need to allow setkey on digest_null if it is to be used directly by authenc instead of through hmac. Signed-off-by: Herbert Xu commit 3631c650c495d61b1dabf32eb26b46873636e918 Author: Herbert Xu Date: Thu Dec 13 22:28:59 2007 +0800 [CRYPTO] null: Add null blkcipher algorithm This patch adds a null blkcipher algorithm called ecb(cipher_null) for backwards compatibility. Previously the null algorithm when used by IPsec copied the data byte by byte. This new algorithm optimises that to a straight memcpy which lets us better measure inherent overheads in our IPsec code. Signed-off-by: Herbert Xu commit 93cc74e078eed8735585e5687903727bcfbcc8b4 Author: Joy Latten Date: Wed Dec 12 20:24:22 2007 +0800 [CRYPTO] tcrypt: Add CCM vectors This patch adds 7 test vectors to tcrypt for CCM. The test vectors are from rfc 3610. There are about 10 more test vectors in RFC 3610 and 4 or 5 more in NIST. I can add these as time permits. I also needed to set authsize. CCM has a prerequisite of authsize. Signed-off-by: Joy Latten Signed-off-by: Herbert Xu commit 4a49b499dfa0c9e42be6d6fdd771f3434c776278 Author: Joy Latten Date: Wed Dec 12 20:25:13 2007 +0800 [CRYPTO] ccm: Added CCM mode This patch adds Counter with CBC-MAC (CCM) support. RFC 3610 and NIST Special Publication 800-38C were referenced. Signed-off-by: Joy Latten Signed-off-by: Herbert Xu commit d29ce988aeb459203c74f14747f4f77e1829ef78 Author: Herbert Xu Date: Wed Dec 12 19:24:27 2007 +0800 [CRYPTO] aead: Create default givcipher instances This patch makes crypto_alloc_aead always return algorithms that is capable of generating their own IVs through givencrypt and givdecrypt. All existing AEAD algorithms already do. New ones must either supply their own or specify a generic IV generator with the geniv field. Signed-off-by: Herbert Xu commit 14df4d80433b8413f901e80880c39e8759b8418f Author: Herbert Xu Date: Wed Dec 12 12:27:26 2007 +0800 [CRYPTO] seqiv: Add AEAD support This patch adds support for using seqiv with AEAD algorithms. This is useful for those AEAD algorithms that performs authentication before encryption because the IV generated by the underlying encryption algorithm won't be available for authentication. Signed-off-by: Herbert Xu commit 5b6d2d7fdf806f2b5a9352416f9e670911fc4748 Author: Herbert Xu Date: Wed Dec 12 19:23:36 2007 +0800 [CRYPTO] aead: Add aead_geniv_alloc/aead_geniv_free This patch creates the infrastructure to help the construction of IV generator templates that wrap around AEAD algorithms by adding an IV generator to them. This is useful for AEAD algorithms with no built-in IV generator or to replace their built-in generator. Signed-off-by: Herbert Xu commit aedb30dc49eeecd48558b601c47e0b3f9e42c602 Author: Herbert Xu Date: Wed Dec 12 19:27:25 2007 +0800 [CRYPTO] aead: Allow algorithms with no givcrypt support Some algorithms always require manual IV construction. For instance, the generic CCM algorithm requires the first byte of the IV to be manually constructed. Such algorithms are always used by other algorithms equipped with their own IV generators and do not need IV generation per se. Signed-off-by: Herbert Xu commit 3a282bd2e77966e7361fffbd5d1cea6eb0499b6c Author: Herbert Xu Date: Sat Dec 8 20:13:15 2007 +0800 [CRYPTO] aead: Add top-level givencrypt/givdecrypt calls This patch finally makes the givencrypt/givdecrypt operations available to users by adding crypto_aead_givencrypt and crypto_aead_givdecrypt. A suite of helpers to allocate and fill in the request is also available. Signed-off-by: Herbert Xu commit e56dd56418fcc024683d1638564a494d9e9aab85 Author: Herbert Xu Date: Mon Dec 10 16:20:24 2007 +0800 [CRYPTO] authenc: Add givencrypt operation This patch implements the givencrypt function for authenc. It simply calls the givencrypt operation on the underlying cipher instead of encrypt. Signed-off-by: Herbert Xu commit 743edf57272fd420348e148bf94f9e48ed6abb70 Author: Herbert Xu Date: Mon Dec 10 16:18:01 2007 +0800 [CRYPTO] aead: Add givcrypt operations This patch adds the underlying givcrypt operations for aead and associated support elements. The rationale is identical to that of the skcipher givcrypt operations, i.e., sometimes only the algorithm knows how the IV should be generated. A new request type aead_givcrypt_request is added which contains an embedded aead_request structure with two new elements to support this operation. The new elements are seq and giv. The seq field should contain a strictly increasing 64-bit integer which may be used by certain IV generators as an input value. The giv field will be used to store the generated IV. It does not need to obey the alignment requirements of the algorithm because it's not used during the operation. The existing iv field must still be available as it will be used to store intermediate IVs and the output IV if chaining is desired. Signed-off-by: Herbert Xu commit 03bf712fb4defc7831c727d1e32d0269f7f96de0 Author: Herbert Xu Date: Sat Dec 1 18:35:38 2007 +1100 [CRYPTO] skcipher: Add top-level givencrypt/givdecrypt calls This patch finally makes the givencrypt/givdecrypt operations available to users by adding crypto_skcipher_givencrypt and crypto_skcipher_givdecrypt. A suite of helpers to allocate and fill in the request is also available. Signed-off-by: Herbert Xu commit 0a270321dbf948963aeb0e8382fe17d2c2eb3771 Author: Herbert Xu Date: Fri Nov 30 21:38:37 2007 +1100 [CRYPTO] seqiv: Add Sequence Number IV Generator This generator generates an IV based on a sequence number by xoring it with a salt. This algorithm is mainly useful for CTR and similar modes. This patch also sets it as the default IV generator for ctr. Signed-off-by: Herbert Xu commit 45d44eb56ad197cfccb8f84b5df64abff8b7cb96 Author: Herbert Xu Date: Sun Dec 2 21:21:02 2007 +1100 [CRYPTO] skcipher: Remove crypto_spawn_ablkcipher Now that gcm and authenc have been converted to crypto_spawn_skcipher, this patch removes the obsolete crypto_spawn_ablkcipher function. Signed-off-by: Herbert Xu commit 1472e5ebaac14dafbc0f978b5e951f1e9ca0b251 Author: Herbert Xu Date: Fri Dec 7 19:26:11 2007 +0800 [CRYPTO] gcm: Use crypto_grab_skcipher This patch converts the gcm algorithm over to crypto_grab_skcipher which is a prerequisite for IV generation. Signed-off-by: Herbert Xu commit d00aa19b507b39ee9a680d0d2ac2ae483686453a Author: Herbert Xu Date: Fri Dec 7 20:31:10 2007 +0800 [CRYPTO] gcm: Allow block cipher parameter This patch adds the gcm_base template which takes a block cipher parameter instead of cipher. This allows the user to specify a specific CTR implementation. This also fixes a leak of the cipher algorithm that was previously looked up but never freed. Signed-off-by: Herbert Xu commit 9ffde35a8edd3486cd7c80af931c15cec99a1a0d Author: Herbert Xu Date: Mon Dec 17 20:12:49 2007 +0800 [CRYPTO] authenc: Use crypto_grab_skcipher This patch converts the authenc algorithm over to crypto_grab_skcipher which is a prerequisite for IV generation. This patch also changes authenc to set its ASYNC status depending on the ASYNC status of the underlying skcipher. Signed-off-by: Herbert Xu commit b9c55aa475599183d0eab6833ea23e70c52dd24b Author: Herbert Xu Date: Tue Dec 4 12:46:48 2007 +1100 [CRYPTO] skcipher: Create default givcipher instances This patch makes crypto_alloc_ablkcipher/crypto_grab_skcipher always return algorithms that are capable of generating their own IVs through givencrypt and givdecrypt. Each algorithm may specify its default IV generator through the geniv field. For algorithms that do not set the geniv field, the blkcipher layer will pick a default. Currently it's chainiv for synchronous algorithms and eseqiv for asynchronous algorithms. Note that if these wrappers do not work on an algorithm then that algorithm must specify its own geniv or it can't be used at all. Signed-off-by: Herbert Xu commit 806d183aa6cc565d0f6bd2fb7fc6bfb175cc4813 Author: Herbert Xu Date: Wed Dec 5 12:10:53 2007 +1100 [CRYPTO] eseqiv: Add Encrypted Sequence Number IV Generator This generator generates an IV based on a sequence number by xoring it with a salt and then encrypting it with the same key as used to encrypt the plain text. This algorithm requires that the block size be equal to the IV size. It is mainly useful for CBC. It has one noteworthy property that for IPsec the IV happens to lie just before the plain text so the IV generation simply increases the number of encrypted blocks by one. Therefore the cost of this generator is entirely dependent on the speed of the underlying cipher. Signed-off-by: Herbert Xu commit 15c67286685cddce207b646306e8819ec8268ede Author: Herbert Xu Date: Fri Nov 30 20:17:28 2007 +1100 [CRYPTO] skcipher: Added skcipher_givcrypt_complete This patch adds the helper skcipher_givcrypt_complete which should be called when an ablkcipher algorithm has completed a givcrypt request. Signed-off-by: Herbert Xu commit 7f47073911f0e4384d38a0827d28305a177c8816 Author: Herbert Xu Date: Tue Nov 27 23:17:23 2007 +0800 [CRYPTO] chainiv: Add chain IV generator The chain IV generator is the one we've been using in the IPsec stack. It simply starts out with a random IV, then uses the last block of each encrypted packet's cipher text as the IV for the next packet. It can only be used by synchronous ciphers since we have to make sure that we don't start the encryption of the next packet until the last one has completed. It does have the advantage of using very little CPU time since it doesn't have to generate anything at all. Signed-off-by: Herbert Xu commit ecfc43292f68566c144afca966b46b371c26d56c Author: Herbert Xu Date: Wed Dec 5 21:08:36 2007 +1100 [CRYPTO] skcipher: Add skcipher_geniv_alloc/skcipher_geniv_free This patch creates the infrastructure to help the construction of givcipher templates that wrap around existing blkcipher/ablkcipher algorithms by adding an IV generator to them. Signed-off-by: Herbert Xu commit 927eead52c958829ef62c8aa5da2751033a2cf98 Author: Herbert Xu Date: Tue Nov 27 21:15:31 2007 +0800 [CRYPTO] cryptd: Use geniv of the underlying algorithm If the underlying algorithm specifies a specific geniv algorithm then we should use it for the cryptd version as well. Signed-off-by: Herbert Xu commit 23508e11ab3bb405dca66bf4d77e488bf2b07b0c Author: Herbert Xu Date: Tue Nov 27 21:33:24 2007 +0800 [CRYPTO] skcipher: Added geniv field This patch introduces the geniv field which indicates the default IV generator for each algorithm. It should point to a string that is not freed as long as the algorithm is registered. Signed-off-by: Herbert Xu commit 61da88e2b800eed2b03834a73c46cc89ad48716d Author: Herbert Xu Date: Mon Dec 17 21:51:27 2007 +0800 [CRYPTO] skcipher: Add givcrypt operations and givcipher type Different block cipher modes have different requirements for intialisation vectors. For example, CBC can use a simple randomly generated IV while modes such as CTR must use an IV generation mechanisms that give a stronger guarantee on the lack of collisions. Furthermore, disk encryption modes have their own IV generation algorithms. Up until now IV generation has been left to the users of the symmetric key cipher API. This is inconvenient as the number of block cipher modes increase because the user needs to be aware of which mode is supposed to be paired with which IV generation algorithm. Therefore it makes sense to integrate the IV generation into the crypto API. This patch takes the first step in that direction by creating two new ablkcipher operations, givencrypt and givdecrypt that generates an IV before performing the actual encryption or decryption. The operations are currently not exposed to the user. That will be done once the underlying functionality has actually been implemented. It also creates the underlying givcipher type. Algorithms that directly generate IVs would use it instead of ablkcipher. All other algorithms (including all existing ones) would generate a givcipher algorithm upon registration. This givcipher algorithm will be constructed from the geniv string that's stored in every algorithm. That string will locate a template which is instantiated by the blkcipher/ablkcipher algorithm in question to give a givcipher algorithm. Signed-off-by: Herbert Xu commit 378f4f51f9fdd8df80ea875320e2bf1d7c6e6e77 Author: Herbert Xu Date: Mon Dec 17 20:07:31 2007 +0800 [CRYPTO] skcipher: Add crypto_grab_skcipher interface Note: From now on the collective of ablkcipher/blkcipher/givcipher will be known as skcipher, i.e., symmetric key cipher. The name blkcipher has always been much of a misnomer since it supports stream ciphers too. This patch adds the function crypto_grab_skcipher as a new way of getting an ablkcipher spawn. The problem is that previously we did this in two steps, first getting the algorithm and then calling crypto_init_spawn. This meant that each spawn user had to be aware of what type and mask to use for these two steps. This is difficult and also presents a problem when the type/mask changes as they're about to be for IV generators. The new interface does both steps together just like crypto_alloc_ablkcipher. As a side-effect this also allows us to be stronger on type enforcement for spawns. For now this is only done for ablkcipher but it's trivial to extend for other types. This patch also moves the type/mask logic for skcipher into the helpers crypto_skcipher_type and crypto_skcipher_mask. Finally this patch introduces the function crypto_require_sync to determine whether the user is specifically requesting a sync algorithm. Signed-off-by: Herbert Xu commit 84c911523020a2e39b307a2da26ee1886b7214fe Author: Herbert Xu Date: Mon Dec 17 21:42:08 2007 +0800 [CRYPTO] gcm: Add support for async ciphers This patch adds the necessary changes for GCM to be used with async ciphers. This would allow it to be used with hardware devices that support CTR. Signed-off-by: Herbert Xu commit 5311f248b7764ba8b59e6d477355f766e5609686 Author: Herbert Xu Date: Mon Dec 17 21:34:32 2007 +0800 [CRYPTO] ctr: Refactor into ctr and rfc3686 As discussed previously, this patch moves the basic CTR functionality into a chainable algorithm called ctr. The IPsec-specific variant of it is now placed on top with the name rfc3686. So ctr(aes) gives a chainable cipher with IV size 16 while the IPsec variant will be called rfc3686(ctr(aes)). This patch also adjusts gcm accordingly. Signed-off-by: Herbert Xu commit 653ebd9c8510a7d647ed23e66e1338f848ebdbab Author: Herbert Xu Date: Tue Nov 27 19:48:27 2007 +0800 [CRYPTO] blkcipher: Merge ablkcipher and blkcipher into one option/module With the impending addition of the givcipher type, both blkcipher and ablkcipher algorithms will use it to create givcipher objects. As such it no longer makes sense to split the system between ablkcipher and blkcipher. In particular, both ablkcipher.c and blkcipher.c would need to use the givcipher type which has to reside in ablkcipher.c since it shares much code with it. This patch merges the two Kconfig options as well as the modules into one. Signed-off-by: Herbert Xu commit 2589469d7bc69bdfad4e05d88a0d2748f92ef0f3 Author: Herbert Xu Date: Wed Dec 12 19:16:38 2007 +0800 [CRYPTO] gcm: Fix request context alignment This patch fixes the request context alignment so that it is actually aligned to the value required by the algorithm. Signed-off-by: Herbert Xu commit 68b6c7d6919be7c732fc6229c55e35d0166e9258 Author: Herbert Xu Date: Fri Dec 7 20:18:17 2007 +0800 [CRYPTO] api: Add crypto_attr_alg_name This patch adds a new helper crypto_attr_alg_name which is basically the first half of crypto_attr_alg. That is, it returns an algorithm name parameter as a string without looking it up. The caller can then look it up immediately or defer it until later. Signed-off-by: Herbert Xu commit 551a09a7a954f720067f207657bbbd26a3fe156a Author: Herbert Xu Date: Sat Dec 1 21:47:07 2007 +1100 [CRYPTO] api: Sanitise mask when allocating ablkcipher/hash When allocating ablkcipher/hash objects, we use a mask that's wider than the usual type mask. This patch sanitises the mask supplied by the user so we don't end up using a narrower mask which may lead to unintended results. Signed-off-by: Herbert Xu commit 5e553110f27ff77591ec7305c6216ad6949f7a95 Author: Borislav Petkov Date: Fri Dec 14 16:43:32 2007 +0800 [CRYPTO] authenc: Select HASH in Kconfig i get here: ---- LD vmlinux SYSMAP System.map SYSMAP .tmp_System.map Building modules, stage 2. MODPOST 226 modules ERROR: "crypto_hash_type" [crypto/authenc.ko] undefined! make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2 --- which fails because crypto_hash_type is declared in crypto/hash.c. You might wanna fix it like so: Signed-off-by: Borislav Petkov Signed-off-by: Herbert Xu commit f17922bc75d6261dd6e0e2d687ff43b96e91e04a Author: Adrian Bunk Date: Wed Dec 12 10:42:41 2007 +0800 [CRYPTO] geode: Add __dev{init,exit} annotations This patch adds __dev{init,exit} annotations. Signed-off-by: Adrian Bunk Signed-off-by: Herbert Xu commit 7c3d703fa81db42f9766325cebd6bfc1c5eac838 Author: Herbert Xu Date: Mon Dec 10 16:15:41 2007 +0800 [CRYPTO] authenc: Merge common hashing code This patch merges the common hashing code between encryption and decryption. Signed-off-by: Herbert Xu commit 12dc5e62b4f93f1d399fd81e35be3f9ea0027712 Author: Herbert Xu Date: Mon Dec 10 10:55:21 2007 +0800 [CRYPTO] authenc: Use RTA_OK to check length This patch changes setkey to use RTA_OK to check the validity of the setkey request. Signed-off-by: Herbert Xu commit c2c61f513db395ddd8d67690bf3301ebe1e8155a Author: Herbert Xu Date: Mon Dec 10 10:54:44 2007 +0800 [CRYPTO] authenc: Fix typo in ivsize The ivsize should be fetched from ablkcipher, not blkcipher. Signed-off-by: Herbert Xu commit 2d74d405fc5ea78b20a4a2efd24201db424e07b1 Author: Sebastian Siewior Date: Mon Dec 10 15:49:41 2007 +0800 [CRYPTO] s390-aes: Use correct encrypt/decrypt function in fallback crypto_blkcipher_decrypt is wrong because it does not care about the IV. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit fdc520aa693d462f4958339534a3b596f95795b7 Author: Sebastian Siewior Date: Mon Dec 10 15:48:17 2007 +0800 [CRYPTO] geode: Use correct encrypt/decrypt function in fallback crypto_blkcipher_decrypt is wrong because it does not care about the IV. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 5de8f1b562e87ae9d93a4e0897e54c18a5e82915 Author: Tan Swee Heng Date: Fri Dec 7 17:17:43 2007 +0800 [CRYPTO] tcrypt: Added salsa20 speed test This patch adds a simple speed test for salsa20. Usage: modprobe tcrypt mode=206 Signed-of-by: Tan Swee Heng Signed-off-by: Herbert Xu commit 0b77abb3b2d0c2eee1da79a3f3bd4312a0edb156 Author: Zoltan Sogor Date: Fri Dec 7 16:53:23 2007 +0800 [CRYPTO] lzo: Add LZO compression algorithm support Add LZO compression algorithm support Signed-off-by: Zoltan Sogor Signed-off-by: Herbert Xu commit 91755a921c4af51c355bcb74a98b717d5c1818b6 Author: Zoltan Sogor Date: Fri Dec 7 16:48:11 2007 +0800 [CRYPTO] tcrypt: Add common compression tester function Add common compression tester function Modify deflate test case to use the common compressor test function Signed-off-by: Zoltan Sogor Signed-off-by: Herbert Xu commit 8bff664cdf8797564fb6b59b7be028846fab8c27 Author: Tan Swee Heng Date: Fri Dec 7 16:41:29 2007 +0800 [CRYPTO] tcrypt: Salsa20 large test vector This is a large test vector for Salsa20 that crosses the 4096-bytes page boundary. Signed-off-by: Tan Swee Heng Signed-off-by: Herbert Xu commit eb6f13eb9f812f5812ed5d14f241309da369dee6 Author: Tan Swee Heng Date: Fri Dec 7 16:38:45 2007 +0800 [CRYPTO] salsa20_generic: Fix multi-page processing This patch fixes the multi-page processing bug that affects large test vectors (the same bug that previously affected ctr.c). There is an optimization for the case walk.nbytes == nbytes. Also we now use crypto_xor() instead of adhoc XOR routines. Signed-off-by: Tan Swee Heng Signed-off-by: Herbert Xu commit 7f6813786a6521380e1756ca5b4336bc63c5bf7d Author: Herbert Xu Date: Thu Dec 6 14:59:53 2007 +0800 [CRYPTO] gcm: Put abreq in private context instead of on stack The abreq structure is currently allocated on the stack. This is broken if the underlying algorithm is asynchronous. This patch changes it so that it's taken from the private context instead which has been enlarged accordingly. Signed-off-by: Herbert Xu commit b2ab4a57b018aafbba35bff088218f5cc3d2142e Author: Herbert Xu Date: Wed Dec 5 20:59:25 2007 +1100 [CRYPTO] scatterwalk: Restore custom sg chaining for now Unfortunately the generic chaining hasn't been ported to all architectures yet, and notably not s390. So this patch restores the chainging that we've been using previously which does work everywhere. Signed-off-by: Herbert Xu commit 42c271c6c538857cb13c5ead5184d264d745f675 Author: Herbert Xu Date: Fri Dec 7 18:52:49 2007 +0800 [CRYPTO] scatterwalk: Move scatterwalk.h to linux/crypto The scatterwalk infrastructure is used by algorithms so it needs to move out of crypto for future users that may live in drivers/crypto or asm/*/crypto. Signed-off-by: Herbert Xu commit fe70f5dfe1a7b5caab96531089dac3d8728c0ebd Author: Herbert Xu Date: Tue Dec 4 20:07:27 2007 +1100 [CRYPTO] aead: Return EBADMSG for ICV mismatch This patch changes gcm/authenc to return EBADMSG instead of EINVAL for ICV mismatches. This convention has already been adopted by IPsec. Signed-off-by: Herbert Xu commit 6160b289929c0b622e64aa36106d8e6e53fcd826 Author: Herbert Xu Date: Tue Dec 4 19:17:50 2007 +1100 [CRYPTO] gcm: Fix ICV handling The crypto_aead convention for ICVs is to include it directly in the output. If we decided to change this in future then we would make the ICV (if the algorithm has an explicit one) available in the request itself. For now no algorithm needs this so this patch changes gcm to conform to this convention. It also adjusts the tcrypt aead tests to take this into account. Signed-off-by: Herbert Xu commit 8df213d9b520a4b58b7a8f7f2200324d4e40363d Author: Herbert Xu Date: Sun Dec 2 14:55:47 2007 +1100 [CRYPTO] tcrypt: Make gcm available as a standalone test Currently the gcm(aes) tests have to be taken together with all other ciphers. This patch makes it available by itself at number 35. Signed-off-by: Herbert Xu commit 481f34ae752ac74c4cbd88a9954dd4ed10e84f81 Author: Herbert Xu Date: Tue Dec 4 20:04:21 2007 +1100 [CRYPTO] authenc: Fix hash verification The previous code incorrectly included the hash in the verification which also meant that we'd crash and burn when it comes to actually verifying the hash since we'd go past the end of the SG list. This patch fixes that by subtracting authsize from cryptlen at the start. Signed-off-by: Herbert Xu commit e236d4a89a2ffbc8aa18064161f4f159c4d89b4a Author: Herbert Xu Date: Thu Nov 22 23:11:53 2007 +0800 [CRYPTO] authenc: Move enckeylen into key itself Having enckeylen as a template parameter makes it a pain for hardware devices that implement ciphers with many key sizes since each one would have to be registered separately. Since the authenc algorithm is mainly used for legacy purposes where its key is going to be constructed out of two separate keys, we can in fact embed this value into the key itself. This patch does this by prepending an rtnetlink header to the key that contains the encryption key length. Signed-off-by: Herbert Xu commit 7ba683a6deba70251756aa5a021cdaa5c875a7a2 Author: Herbert Xu Date: Sun Dec 2 18:49:21 2007 +1100 [CRYPTO] aead: Make authsize a run-time parameter As it is authsize is an algorithm paramter which cannot be changed at run-time. This is inconvenient because hardware that implements such algorithms would have to register each authsize that they support separately. Since authsize is a property common to all AEAD algorithms, we can add a function setauthsize that sets it at run-time, just like setkey. This patch does exactly that and also changes authenc so that authsize is no longer a parameter of its template. Signed-off-by: Herbert Xu commit e29bc6ad0e84e3157e0f49130a15b278cb232c72 Author: Herbert Xu Date: Thu Nov 22 22:46:40 2007 +0800 [CRYPTO] authenc: Use or instead of max on alignment masks Since alignment masks are always one less than a power of two, we can use binary or to find their maximum. Signed-off-by: Herbert Xu commit 9aa6ad3e87af58b4fc87bd4beef1d4c6d9a4c5b7 Author: Kamalesh Babulal Date: Sat Dec 1 12:52:35 2007 +1100 [HWRNG] pasemi: Add missing wait argument to data_present drivers/char/hw_random/pasemi-rng.c: In function `pasemi_rng_data_present': drivers/char/hw_random/pasemi-rng.c:53: error: `wait' undeclared (first use in this function) drivers/char/hw_random/pasemi-rng.c:53: error: (Each undeclared identifier is reported only once drivers/char/hw_random/pasemi-rng.c:53: error: for each function it appears in.) drivers/char/hw_random/pasemi-rng.c: At top level: drivers/char/hw_random/pasemi-rng.c:93: warning: initialization from incompatible pointer type Signed-off-by: Kamalesh Babulal Signed-off-by: Andrew Morton Signed-off-by: Herbert Xu commit b0c3e75d857f3785a4b274e26b1c0b2327580dda Author: Sebastian Siewior Date: Sat Dec 1 12:47:37 2007 +1100 [CRYPTO] aes_s390: Add fallback driver Some CPUs support only 128 bit keys in HW. This patch adds SW fallback support for the other keys which may be required. The generic algorithm (and the block mode) must be availble in case of a fallback. Signed-off-by: Sebastian Siewior Signed-off-by: Jan Glauber Signed-off-by: Herbert Xu commit a10e11946bb2d59516a5252b1b588e2963a13ebe Author: Denis Cheng Date: Fri Nov 30 16:59:30 2007 +1100 [CRYPTO] tcrypt: Use print_hex_dump from linux/kernel.h These utilities implemented in lib/hexdump.c are more handy, please use this. Signed-off-by: Denis Cheng Signed-off-by: Herbert Xu commit d2456c66236c15d6462f1ac751cdbd48a34e9704 Author: Sebastian Siewior Date: Fri Nov 30 16:36:57 2007 +1100 [CRYPTO] geode: do not copy the IV too often There is no reason to keep the IV in the private structre. Instead keep just a pointer to make the patch smaller :) This also remove a few memcpy()s Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 9617d6ef6278edd04070ae404c871f65a466c6d2 Author: Jan Glauber Date: Fri Nov 30 15:57:05 2007 +1100 [CRYPTO] tcrypt: AES CBC test vectors from NIST SP800-38A Add test vectors to tcrypt for AES in CBC mode for key sizes 192 and 256. The test vectors are copied from NIST SP800-38A. Signed-off-by: Jan Glauber Signed-off-by: Herbert Xu commit a773edb3ed0c3288f5ae76adc7d48c934ccfcf8c Author: Tan Swee Heng Date: Fri Nov 30 00:36:07 2007 +1100 [CRYPTO] tcrypt: AES CTR large test vector This patch adds a large AES CTR mode test vector. The test vector is 4100 bytes in size. It was generated using a C++ program that called Crypto++. Note that this patch increases considerably the size of "struct cipher_testvec" and hence the size of tcrypt.ko. Signed-off-by: Tan Swee Heng Signed-off-by: Herbert Xu commit 6d1a69d53a34e6d906551d92e7639b739332b177 Author: Tan Swee Heng Date: Fri Nov 30 00:30:11 2007 +1100 [CRYPTO] tcrypt: Support for large test vectors Currently the number of entries in a cipher test vector template is limited by TVMEMSIZE/sizeof(struct cipher_testvec). This patch circumvents the problem by pointing cipher_tv to each entry in the template, rather than the template itself. Signed-off-by: Tan Swee Heng Signed-off-by: Herbert Xu commit 0971eb0de9446b66bd45696338f54948314db379 Author: Herbert Xu Date: Fri Nov 30 00:23:53 2007 +1100 [CRYPTO] ctr: Fix multi-page processing When the data spans across a page boundary, CTR may incorrectly process a partial block in the middle because the blkcipher walking code may supply partial blocks in the middle as long as the total length of the supplied data is more than a block. CTR is supposed to return any unused partial block in that case to the walker. This patch fixes this by doing exactly that, returning partial blocks to the walker unless we received less than a block-worth of data to start with. This also allows us to optimise the bulk of the processing since we no longer have to worry about partial blocks until the very end. Thanks to Tan Swee Heng for fixes and actually testing this :) Signed-off-by: Herbert Xu commit 06e1a8f0505426a97292174a959560fd86ea0a3d Author: Sebastian Siewior Date: Fri Nov 30 00:15:11 2007 +1100 [CRYPTO] aes-asm: Merge common glue code 32 bit and 64 bit glue code is using (now) the same piece code. This patch unifies them. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 28db8e3e38e593d22e2c69942bb1ca7be2a35f05 Author: Mikko Herranen Date: Mon Nov 26 22:24:11 2007 +0800 [CRYPTO] gcm: New algorithm Add GCM/GMAC support to cryptoapi. GCM (Galois/Counter Mode) is an AEAD mode of operations for any block cipher with a block size of 16. The typical example is AES-GCM. Signed-off-by: Mikko Herranen Reviewed-by: Mika Kukkonen Signed-off-by: Herbert Xu commit e3a4ea4fd2e5f154ae9233f1ce30e7564e5cbcfc Author: Mikko Herranen Date: Mon Nov 26 22:12:07 2007 +0800 [CRYPTO] tcrypt: Add aead support Add AEAD support to tcrypt, needed by GCM. Signed-off-by: Mikko Herranen Reviewed-by: Mika Kukkonen Signed-off-by: Herbert Xu commit ff85a8082f0665fe6f79d50eb79bdccb98cabfa2 Author: Denys Vlasenko Date: Fri Nov 23 21:21:03 2007 +0800 [CRYPTO] camellia: Move more common code into camellia_setup_tail Analogously to camellia7 patch, move "absorb kw2 to other subkeys" and "absorb kw4 to other subkeys" code parts into camellia_setup_tail(). This further reduces source and object code size at the cost of two brances in key setup code. Signed-off-by: Denys Vlasenko Signed-off-by: Herbert Xu commit dedcf8b0647572ca00547efef58dfab6b8dddf83 Author: Denys Vlasenko Date: Fri Nov 23 21:14:24 2007 +0800 [CRYPTO] camellia: Move common code into camellia_setup_tail Move "key XOR is end of F-function" code part into camellia_setup_tail(), it is sufficiently similar between camellia_setup128 and camellia_setup256. Signed-off-by: Denys Vlasenko Signed-off-by: Herbert Xu commit acca79a664859e3ddaea87af86d4ccfb2e07cd65 Author: Denys Vlasenko Date: Fri Nov 23 21:10:03 2007 +0800 [CRYPTO] camellia: Merge encrypt/decrypt routines for all key lengths unifies encrypt/decrypt routines for different key lengths. This reduces module size by ~25%, with tiny (less than 1%) speed impact. Also collapses encrypt/decrypt into more readable (visually shorter) form using macros. Signed-off-by: Denys Vlasenko Signed-off-by: Herbert Xu commit 2ddae4a64491f790799e2adbfaec72a23dc2e7ef Author: Denys Vlasenko Date: Fri Nov 23 21:05:55 2007 +0800 [CRYPTO] camellia: Code shrink Remove unused macro params. Use (u8)(expr) instead of (expr) & 0xff, helps gcc to realize how to use simpler commands. Move CAMELLIA_FLS macro closer to encrypt/decrypt routines. Signed-off-by: Denys Vlasenko Signed-off-by: Herbert Xu commit 3f8214ea335e422702340d7e835921e78367f99d Author: Herbert Xu Date: Tue Nov 20 20:32:56 2007 +0800 [CRYPTO] ctr: Use crypto_inc and crypto_xor This patch replaces the custom inc/xor in CTR with the generic functions. Signed-off-by: Herbert Xu commit d0b9007a27206fe944d9db72e13dab157b8e118c Author: Herbert Xu Date: Tue Nov 20 17:49:49 2007 +0800 [CRYPTO] pcbc: Use crypto_xor This patch replaces the custom xor in CBC with the generic crypto_xor. It changes the operations for in-place encryption slightly to avoid calling crypto_xor with tmpbuf since it is not necessarily aligned. Signed-off-by: Herbert Xu commit 50b6544e1371bfe884f787107a8de0c2f8546e8f Author: Herbert Xu Date: Tue Nov 20 17:36:00 2007 +0800 [CRYPTO] cbc: Require block size to be a power of 2 All common block ciphers have a block size that's a power of 2. In fact, all of our block ciphers obey this rule. If we require this then CBC can be optimised to avoid an expensive divide on in-place decryption. I've also changed the saving of the first IV in the in-place decryption case to the last IV because that lets us use walk->iv (which is already aligned) for the xor operation where alignment is required. Signed-off-by: Herbert Xu commit 3c7f076da557eadb37240d70b0399ff9763fa2ae Author: Herbert Xu Date: Tue Nov 20 17:33:39 2007 +0800 [CRYPTO] cbc: Use crypto_xor This patch replaces the custom xor in CBC with the generic crypto_xor. Signed-off-by: Herbert Xu commit 7613636def82092a5c7b6322078a2af832410417 Author: Herbert Xu Date: Tue Nov 20 17:26:06 2007 +0800 [CRYPTO] api: Add crypto_inc and crypto_xor With the addition of more stream ciphers we need to curb the proliferation of ad-hoc xor functions. This patch creates a generic pair of functions, crypto_inc and crypto_xor which does big-endian increment and exclusive or, respectively. For optimum performance, they both use u32 operations so alignment must be as that of u32 even though the arguments are of type u8 *. Signed-off-by: Herbert Xu commit fcd06755936d2209b69650d2a7cc99cbcd3ccc67 Author: Patrick McHardy Date: Wed Nov 21 12:51:52 2007 +0800 [HIFN]: Add support for using the random number generator Signed-off-by: Patrick McHardy Acked-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 37a8023ce59bfc1fa24067fd94aee7b286f4c01b Author: Patrick McHardy Date: Wed Nov 21 12:47:13 2007 +0800 [HIFN]: Improve PLL initialization The current PLL initalization has a number of deficiencies: - uses fixed multiplier of 8, which overclocks the chip when using a reference clock that operates at frequencies above 33MHz. According to a comment in the BSD source, this is true for the external clock on almost all every board. - writes to a reserved bit - doesn't follow the initialization procedure specified in chapter 6.11.1 of the HIFN hardware users guide - doesn't allow to use the PCI clock This patch adds a module parameter to specify the reference clock (pci or external) and its frequency and uses that to calculate the optimum multiplier to reach the maximal speed. By default it uses the external clock and assumes a speed of 66MHz, which effectively halfs the frequency currently used. Signed-off-by: Patrick McHardy Acked-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 984e976f5382ff09351ddd3b023937611396d739 Author: Patrick McHardy Date: Wed Nov 21 12:24:45 2007 +0800 [HWRNG]: move status polling loop to data_present callbacks Handle waiting for new random within the drivers themselves, this allows to use better suited timeouts for the individual rngs. Signed-off-by: Patrick McHardy Acked-by: Michael Buesch Signed-off-by: Herbert Xu commit 2407d60872dd2a95404c6048f775f3b64d438f4b Author: Tan Swee Heng Date: Fri Nov 23 19:45:00 2007 +0800 [CRYPTO] salsa20: Salsa20 stream cipher This patch implements the Salsa20 stream cipher using the blkcipher interface. The core cipher code comes from Daniel Bernstein's submission to eSTREAM: http://www.ecrypt.eu.org/stream/svn/viewcvs.cgi/ecrypt/trunk/submissions/salsa20/full/ref/ The test vectors comes from: http://www.ecrypt.eu.org/stream/svn/viewcvs.cgi/ecrypt/trunk/submissions/salsa20/full/ It has been tested successfully with "modprobe tcrypt mode=34" on an UML instance. Signed-off-by: Tan Swee Heng Signed-off-by: Herbert Xu commit 332f8840f7095d294f9bb066b175a100bcde214c Author: Herbert Xu Date: Thu Nov 15 22:36:07 2007 +0800 [CRYPTO] ablkcipher: Add distinct ABLKCIPHER type Up until now we have ablkcipher algorithms have been identified as type BLKCIPHER with the ASYNC bit set. This is suboptimal because ablkcipher refers to two things. On the one hand it refers to the top-level ablkcipher interface with requests. On the other hand it refers to and algorithm type underneath. As it is you cannot request a synchronous block cipher algorithm with the ablkcipher interface on top. This is a problem because we want to be able to eventually phase out the blkcipher top-level interface. This patch fixes this by making ABLKCIPHER its own type, just as we have distinct types for HASH and DIGEST. The type it associated with the algorithm implementation only. Which top-level interface is used for synchronous block ciphers is then determined by the mask that's used. If it's a specific mask then the old blkcipher interface is given, otherwise we go with the new ablkcipher interface. Signed-off-by: Herbert Xu commit 86f578de5ba6ea11ead9284d9f036fee01ba5893 Author: Herbert Xu Date: Thu Nov 15 19:00:06 2007 +0800 [CRYPTO] doc: Update api-intro.txt This patch updates the list of transforms we support and clarifies that the Block Ciphers interface in fact supports all ciphers including stream ciphers. It also removes the obsolete Configuration Notes section and adds the linux-crypto mailing list as the primary bug reporting address. Finally it documents the fact that setkey should only be called from user context. Signed-off-by: Herbert Xu commit 468577abe37ff7b453a9ac613e0ea155349203ae Author: Herbert Xu Date: Thu Nov 15 12:08:45 2007 +0800 [CRYPTO] scatterwalk: Use generic scatterlist chaining This patch converts the crypto scatterwalk code to use the generic scatterlist chaining rather the version specific to crypto. Signed-off-by: Herbert Xu commit 102d49d3d0f0f471b338b6805001fc3ca7bf663b Author: Andrew Morton Date: Tue Nov 13 21:55:28 2007 +0800 [CRYPTO] hifn: Add missing includes alpha: drivers/crypto/hifn_795x.c: In function 'ablkcipher_walk_init': drivers/crypto/hifn_795x.c:1231: error: implicit declaration of function 'sg_init_table' drivers/crypto/hifn_795x.c:1243: error: implicit declaration of function 'sg_set_page' drivers/crypto/hifn_795x.c: In function 'ablkcipher_walk_exit': drivers/crypto/hifn_795x.c:1257: error: implicit declaration of function 'sg_page' drivers/crypto/hifn_795x.c:1257: warning: passing argument 1 of '__free_pages' makes pointer from integer without a cast drivers/crypto/hifn_795x.c: In function 'ablkcipher_add': drivers/crypto/hifn_795x.c:1278: warning: passing argument 1 of 'kmap_atomic' makes pointer from integer without a cast drivers/crypto/hifn_795x.c: In function 'ablkcipher_walk': drivers/crypto/hifn_795x.c:1336: warning: passing argument 1 of 'kmap_atomic' makes pointer from integer without a cast drivers/crypto/hifn_795x.c: In function 'hifn_setup_session': drivers/crypto/hifn_795x.c:1465: warning: assignment makes pointer from integer without a cast drivers/crypto/hifn_795x.c:1469: warning: assignment makes pointer from integer without a cast drivers/crypto/hifn_795x.c:1472: warning: assignment makes pointer from integer without a cast drivers/crypto/hifn_795x.c: In function 'ablkcipher_get': drivers/crypto/hifn_795x.c:1593: warning: passing argument 1 of 'kmap_atomic' makes pointer from integer without a cast {standard input}: Assembler messages: {standard input}:7: Warning: setting incorrect section attributes for .got drivers/crypto/hifn_795x.c: In function 'hifn_process_ready': drivers/crypto/hifn_795x.c:1653: warning: passing argument 1 of 'kmap_atomic' makes pointer from integer without a cast drivers/crypto/hifn_795x.c: In function 'hifn_probe': drivers/crypto/hifn_795x.c:2438: error: 'DMA_32BIT_MASK' undeclared (first use in this function) drivers/crypto/hifn_795x.c:2438: error: (Each undeclared identifier is reported only once drivers/crypto/hifn_795x.c:2438: error: for each function it appears in.) drivers/crypto/hifn_795x.c:2443: warning: format '%d' expects type 'int', but argument 4 has type 'long int' drivers/crypto/hifn_795x.c:2443: warning: format '%d' expects type 'int', but argument 4 has type 'long int' Signed-off-by: Andrew Morton Signed-off-by: Herbert Xu commit 2707b937f322ba6b437f3dd1de05b9bb9756d803 Author: Jan Glauber Date: Mon Nov 12 21:56:38 2007 +0800 [CRYPTO] hifn: Make Kconfig option depend on PCI The HIFN driver is currently selectable on s390 but wont compile. Since it looks like HIFN needs PCI make the Kconfig dependent on PCI, which is not available on s390. Signed-off-by: Jan Glauber Acked-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit a1e6ef2f1e01f2aa9ed930e1089fc85dc745bf7a Author: Evgeniy Polyakov Date: Sat Nov 10 20:24:18 2007 +0800 [CRYPTO] hifn: Schedule callback invocation to tasklet. This patch forces HIFN driver to invoke crypto request callbacks from tasklet (softirq context) instead of hardirq context, since network stack expects it to be called from bottom halves. It is done by simply scheduling callback invocation via dedicated tasklet. Workqueue solution was dropped because of tooo slow rescheduling performance (7 times slower than tasklet, for mode details one can check this link: http://tservice.net.ru/~s0mbre/blog/devel/other/2007_11_09.html). Driver passed all AES and DES tests in tcryt.c module. Signed-off-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit cd12fb906d2591e80da9edcbd4794b9b916d7489 Author: Jonathan Lynch Date: Sat Nov 10 20:08:25 2007 +0800 [CRYPTO] sha256-generic: Extend sha256_generic.c to support SHA-224 Resubmitting this patch which extends sha256_generic.c to support SHA-224 as described in FIPS 180-2 and RFC 3874. HMAC-SHA-224 as described in RFC4231 is then supported through the hmac interface. Patch includes test vectors for SHA-224 and HMAC-SHA-224. SHA-224 chould be chosen as a hash algorithm when 112 bits of security strength is required. Patch generated against the 2.6.24-rc1 kernel and tested against 2.6.24-rc1-git14 which includes fix for scatter gather implementation for HMAC. Signed-off-by: Jonathan Lynch Signed-off-by: Herbert Xu commit cd7c3bfe54270f41ac52be6b725a7194d99175b4 Author: Sebastian Siewior Date: Sat Nov 10 19:29:33 2007 +0800 [CRYPTO] geode: Add fallback for unsupported modes The Geode AES crypto engine supports only 128 bit long key. This patch adds fallback for other key sizes which are required by the AES standard. Signed-off-by: Sebastian Siewior Acked-by: Jordan Crouse Signed-off-by: Herbert Xu commit 5157dea8139cf0edc4834d528531e642c0d27e37 Author: Sebastian Siewior Date: Sat Nov 10 19:07:16 2007 +0800 [CRYPTO] aes-i586: Remove setkey The setkey() function can be shared with the generic algorithm. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit b345cee90a3ffec5eca6d6c1c59bd0d1feb453d4 Author: Sebastian Siewior Date: Thu Nov 8 21:27:05 2007 +0800 [CRYPTO] ctr: Remove default M NO other block mode is M by default. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 81190b321548bb0bf2d6e1f172695275b0fd1363 Author: Sebastian Siewior Date: Thu Nov 8 21:25:04 2007 +0800 [CRYPTO] aes-x86-64: Remove setkey The setkey() function can be shared with the generic algorithm. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 96e82e4551d38e0863b366a7b61185bc4a9946cc Author: Sebastian Siewior Date: Thu Nov 8 21:20:30 2007 +0800 [CRYPTO] aes-generic: Make key generation exportable This patch exports four tables and the set_key() routine. This ressources can be shared by other AES implementations (aes-x86_64 for instance). The decryption key has been turned around (deckey[0] is the first piece of the key instead of deckey[keylen+20]). The encrypt/decrypt functions are looking now identical (except they are using different tables and key). Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit be5fb270125729b7bca7879967f1dfadff0d9841 Author: Sebastian Siewior Date: Thu Nov 8 20:39:26 2007 +0800 [CRYPTO] aes-generic: Coding style cleanup Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 41fdab3dd385dde36caae60ed2df82aecb7a32f0 Author: Joy Latten Date: Wed Nov 7 22:59:47 2007 +0800 [CRYPTO] ctr: Add countersize This patch adds countersize to CTR mode. The template is now ctr(algo,noncesize,ivsize,countersize). For example, ctr(aes,4,8,4) indicates the counterblock will be composed of a salt/nonce that is 4 bytes, an iv that is 8 bytes and the counter is 4 bytes. When noncesize + ivsize < blocksize, CTR initializes the last block - ivsize - noncesize portion of the block to zero. Otherwise the counter block is composed of the IV (and nonce if necessary). If noncesize + ivsize == blocksize, then this indicates that user is passing in entire counterblock. Thus countersize indicates the amount of bytes in counterblock to use as the counter for incrementing. CTR will increment counter portion by 1, and begin encryption with that value. Note that CTR assumes the counter portion of the block that will be incremented is stored in big endian. Signed-off-by: Joy Latten Signed-off-by: Herbert Xu commit d3e7480572bf882dee5baa2891bccbfa3db0b1a1 Author: Denys Vlasenko Date: Tue Nov 6 22:15:19 2007 +0800 [CRYPTO] camellia: De-unrolling Move huge unrolled pieces of code (3 screenfuls) at the end of 128/256 key setup routines into common camellia_setup_tail(), convert it to loop there. Loop is still unrolled six times, so performance hit is very small, code size win is big. Signed-off-by: Denys Vlasenko Acked-by: Noriaki TAKAMIYA Signed-off-by: Herbert Xu commit 1ce73e8d6d95ceb860184c34fa1a91a82e51cbb3 Author: Denys Vlasenko Date: Tue Nov 6 22:13:40 2007 +0800 [CRYPTO] camellia: Code cleanup Optimize GETU32 to use 4-byte memcpy (modern gcc will convert such memcpy to single move instruction on i386). Original GETU32 did four byte fetches, and shifted/XORed those. Signed-off-by: Denys Vlasenko Acked-by: Noriaki TAKAMIYA Signed-off-by: Herbert Xu commit 3a5e5f8108fe440657e8041afd973d2fe72180bb Author: Denys Vlasenko Date: Tue Nov 6 22:05:36 2007 +0800 [CRYPTO] camellia: Code cleanup Rename some macros to shorter names: CAMELLIA_RR8 -> ROR8, making it easier to understand that it is just a right rotation, nothing camellia-specific in it. CAMELLIA_SUBKEY_L() -> SUBKEY_L() - just shorter. Move be32 <-> cpu conversions out of en/decrypt128/256 and into camellia_en/decrypt - no reason to have that code duplicated twice. Signed-off-by: Denys Vlasenko Acked-by: Noriaki TAKAMIYA Signed-off-by: Herbert Xu commit 1721a81256ed7f7bfdd1a721f3a6c9c85efeac53 Author: Denys Vlasenko Date: Tue Nov 6 22:01:20 2007 +0800 [CRYPTO] camellia: Code cleanup Move code blocks around so that related pieces are closer together: e.g. CAMELLIA_ROUNDSM macro does not need to be separated from the rest of the code by huge array of constants. Remove unused macros (COPY4WORD, SWAP4WORD, XOR4WORD[2]) Drop SUBL(), SUBR() macros which only obscure things. Same for CAMELLIA_SP1110() macro and KEY_TABLE_TYPE typedef. Remove useless comments: /* encryption */ -- well it's obvious enough already! void camellia_encrypt128(...) Combine swap with copying at the beginning/end of encrypt/decrypt. Signed-off-by: Denys Vlasenko Acked-by: Noriaki TAKAMIYA Signed-off-by: Herbert Xu commit e2b21b5002a2bf21ca73c7448309a7288a984ddf Author: Denys Vlasenko Date: Fri Oct 26 16:22:57 2007 +0800 [CRYPTO] twofish: Do not unroll big stuff in twofish key setup Currently twofish cipher key setup code has unrolled loops - approximately 70-100 instructions are repeated 40 times. As a result, twofish module is the biggest module in crypto/*. Unrolling produces x2.5 more code (+18k on i386), and speeds up key setup by 7%: unrolled: twofish_setkey/sec: 41128 loop: twofish_setkey/sec: 38148 CALC_K256: ~100 insns each CALC_K192: ~90 insns CALC_K: ~70 insns Attached patch removes this unrolling. $ size */twofish_common.o text data bss dec hex filename 37920 0 0 37920 9420 crypto.org/twofish_common.o 13209 0 0 13209 3399 crypto/twofish_common.o Run tested (modprobe tcrypt reports ok). Please apply. Signed-off-by: Denys Vlasenko Signed-off-by: Herbert Xu commit b7a30da61adc5f252ee97b2a4f3fc23c9d06a08a Author: Sebastian Siewior Date: Sun Oct 21 16:21:25 2007 +0800 [CRYPTO] geode: move defines into a headerfile This patch moves macros in geode-aes.c into geode-aes.h. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 1f4e4773761d0aa622411469b54d6570005a66b1 Author: Sebastian Siewior Date: Sun Oct 21 16:18:12 2007 +0800 [CRYPTO] geode: relax in busy loop and care about return value The code waits in a busy loop until the hardware finishes the encryption or decryption process. This wants a cpu_relax() :) The busy loop finishes either if the encryption is done or if the counter is zero. If the latter is true than the hardware failed. Since this should not happen, leave sith a BUG(). Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 2d506d4fa1df18aa9505820722f834426edc907f Author: Sebastian Siewior Date: Sun Oct 21 16:04:23 2007 +0800 [CRYPTO] geode: use consistent IV copy It is enough if the IV is copied before and after the while loop. With DM-Crypt is seems not be required to save the IV after encrytion because a new one is used in the request (dunno about other users). It is not save to load the IV within while loop and not save afterwards because we mill end up with the wrong IV if the request goes consists of more than one page. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit 89e12654312dddbbdbf17b5adc95b22cb672f947 Author: Sebastian Siewior Date: Wed Oct 17 23:18:57 2007 +0800 [CRYPTO] aes: Move common defines into a header file This three defines are used in all AES related hardware. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit f1901f1fc710ec0fc482a7c98ee4552874139f39 Author: Sebastian Siewior Date: Mon Oct 15 22:09:47 2007 +0800 [CRYPTO] geode: remove alias alias isn't required because the module provides PCI ids. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit c3041f9c93e31159f4e321abea7c1549d271e6a7 Author: Evgeniy Polyakov Date: Thu Oct 11 19:58:16 2007 +0800 [CRYPTO] hifn_795x: Detect weak keys HIFN driver update to use DES weak key checks (exported in this patch). Signed-off-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 16d004a2eda7be2c6a2de63eca2ad3c6b57307b3 Author: Evgeniy Polyakov Date: Thu Oct 11 19:48:58 2007 +0800 [CRYPTO] des: Create header file for common macros This patch creates include/crypto/des.h for common macros shared between DES implementations. Signed-off-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit f7d0561ea1dadec5462846520b1f4fb304294fd5 Author: Evgeniy Polyakov Date: Fri Oct 26 21:31:14 2007 +0800 [CRYPTO] hifn_795x: HIFN 795x driver This is a driver for HIFN 795x crypto accelerator chips. It passed all tests for AES, DES and DES3_EDE except weak test for DES, since hardware can not determine weak keys. Signed-off-by: Evgeniy Polyakov Signed-off-by: Herbert Xu commit 23e353c8a681cc30d42fbd4f2c2be85c44fe209b Author: Joy Latten Date: Tue Oct 23 08:50:32 2007 +0800 [CRYPTO] ctr: Add CTR (Counter) block cipher mode This patch implements CTR mode for IPsec. It is based off of RFC 3686. Please note: 1. CTR turns a block cipher into a stream cipher. Encryption is done in blocks, however the last block may be a partial block. A "counter block" is encrypted, creating a keystream that is xor'ed with the plaintext. The counter portion of the counter block is incremented after each block of plaintext is encrypted. Decryption is performed in same manner. 2. The CTR counterblock is composed of, nonce + IV + counter The size of the counterblock is equivalent to the blocksize of the cipher. sizeof(nonce) + sizeof(IV) + sizeof(counter) = blocksize The CTR template requires the name of the cipher algorithm, the sizeof the nonce, and the sizeof the iv. ctr(cipher,sizeof_nonce,sizeof_iv) So for example, ctr(aes,4,8) specifies the counterblock will be composed of 4 bytes from a nonce, 8 bytes from the iv, and 4 bytes for counter since aes has a blocksize of 16 bytes. 3. The counter portion of the counter block is stored in big endian for conformance to rfc 3686. Signed-off-by: Joy Latten Signed-off-by: Herbert Xu commit 197c183f3526dc08aa52ca97ec66c268442d4b84 Author: Steve French Date: Thu Jan 10 17:10:23 2008 +0000 [CIFS] Forgot to add two new files from previous commit Thanks to Igor for noticing this. CC: Igor Mammedov Signed-off-by: Steve French commit 6103335de8afa5d780dcd512abe85c696af7b040 Author: Steve French Date: Wed Jan 9 16:21:36 2008 +0000 [CIFS] DNS name resolution helper upcall for cifs Adds additional option CIFS_DFS_UPCALL to fs/Kconfig for enabling DFS support. Resolved IP address is saved as a string in the key payload. Igor has a series of related patches that will follow which finish up CIFS DFS support Acked-by: Igor Mammedov Signed-off-by: Steve French commit f67702a37533f59eee3386578450eeeb531da279 Author: Stephen Neuendorffer Date: Wed Jan 9 06:35:09 2008 +1100 [POWERPC] Xilinx uartlite: Section type fixups All the __devexit functions are now appropriately tagged. This fixes some ppc link warnings. Signed-off-by: Stephen Neuendorffer Acked-by: Peter Korsgaard Signed-off-by: Grant Likely commit c35a8fb2f2467c93fe402b1d4b1e124341d0da13 Author: Stephen Neuendorffer Date: Wed Jan 9 06:35:08 2008 +1100 [POWERPC] Xilinx: updated device tree compatibility to match uboot bsp generator. Missed this one in the boot loader before. Signed-off-by: Stephen Neuendorffer Signed-off-by: Grant Likely commit ab99eee8ac902a0e176231447f318a0ed68f45d8 Author: Stephen Neuendorffer Date: Wed Jan 9 06:35:07 2008 +1100 [POWERPC] Xilinx: Update booting-without-of. This now better describes what the UBoot device tree generator actually does. In particular: 1) Nodes have a label derived from the device name, and a node name derived from a generic version of the device type, e.g. 'ethernet', 'serial', etc. 2) Usage of compound nodes (representing more than one device in the same IP) which actually works. This requires having a valid compatible node, and all the other things that a bus normally has. I've chosen 'xlnx,compound' as the bus name to describe these compound nodes. In addition, I've clarified some of the language relating to how mhs nodes should be represent in the device tree. Signed-off-by: Stephen Neuendorffer Signed-off-by: Grant Likely commit faa6511109026f1549619ebce972be00d1b921ce Author: Stephen Neuendorffer Date: Wed Jan 9 06:35:06 2008 +1100 [POWERPC] Xilinx: Add correct compatible list for device tree bus bindings. Includes both flavors of plb, opb, dcr, and a pseudo 'compound' bus for representing compound peripherals containing more than one logical device. Signed-off-by: Stephen Neuendorffer Signed-off-by: Grant Likely commit 021a607c2fe59cc5c37fd67813b4a61fd2f7e61b Author: Stephen Neuendorffer Date: Wed Jan 9 06:35:04 2008 +1100 [POWERPC] Xilinx: update compatible list for interrupt controller These values now match what is generated by the uboot BSP generator. Signed-off-by: Stephen Neuendorffer Signed-off-by: Grant Likely commit cfaf3747ff3d431fba33f75083b7f50f58ae22ff Author: Zhang Rui Date: Wed Jan 9 02:17:47 2008 -0500 ACPI: ACPI Exception (): AE_NOT_FOUND, Processor Device is not present ACPI Exception (acpi_processor-0677): AE_NOT_FOUND, Processor Device is not present [20060707] According to the ACPI spec 6.3.7, "If a device object (including the processor object) does not have an _STA object, then OSPM assumes that all of the above bits are set, (in other words, the device is present, enabled, shown in the UI and funtioning)". is_processor_present shoud return 1 if the processor device object exists while it doesn't have an _STA object. http://bugzilla.kernel.org/show_bug.cgi?id=8570 Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit f6d09982197c4163c70f6af0cf15bb78674105c0 Author: Steve French Date: Tue Jan 8 23:18:22 2008 +0000 [CIFS] fix checkpatch warnings in fs/cifs/inode.c Signed-off-by: Steve French commit 78994e240fce03832ceebc875c43773a2c615e79 Author: Stefan Roese Date: Mon Dec 31 16:41:15 2007 +1100 [POWERPC] 4xx: PCIe: Increase max busses per port to 64 Because of how big mapping the config space is (1M per bus), we limit how many busses we support for now. In the long run, we could replace that with something akin to kmap_atomic instead. This patch changes the limit from currently 16 to 64. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 2af59f7d5c3e342db4bdd28c59090aee05577aef Author: Matthias Fuchs Date: Fri Dec 7 09:23:05 2007 +1100 [POWERPC] 4xx: Add 405GPr and 405EP support in boot wrapper This patch adds support for 405GPr processors with optional new mode strapping. ibm405gp_fixup_clocks() can now be used for 405GP and 405GPr CPUs. This is in preparation of porting the cpci405 platform support from arch/ppc to arch/powerpc. This patch also adds ibm405ep_fixup_clocks() to support 405EP CPUs from the boot wrapper. Signed-off-by: Matthias Fuchs Signed-off-by: Josh Boyer commit 5834584e4ea0b03c767e315a5879551b240c5652 Author: Hollis Blanchard Date: Sat Jan 5 10:26:54 2008 +1100 [POWERPC] 4xx: enable built-in networking for Sequoia defconfig Enable EMAC driver for Sequoia (and while we're in there, disable Macintosh drivers for Sequoia and Bamboo). Signed-off-by: Hollis Blanchard Signed-off-by: Josh Boyer commit 78b65179d08e7e4466ba69d5ede85035a2c96358 Author: Scott Wood Date: Thu Dec 13 11:15:28 2007 -0600 [MTD] [NAND] Don't panic if a controller driver does ecc its own way. Some hardware, such as the enhanced local bus controller used on some mpc83xx chips, does ecc transparently when reading and writing data, rather than providing a generic calculate/correct mechanism that can be exported to the nand subsystem. The subsystem should not BUG() when calculate, correct, or hwctl are missing, if the methods that call them have been overridden. Signed-off-by: Scott Wood Signed-off-by: David Woodhouse commit 36f97bc617e2c31d16b74e89cd2406de4d24ede5 Author: Julia Lawall Date: Sun Jan 6 17:50:34 2008 +0100 [JFFS2] Add missing call to posix_acl_release posix_acl_clone does a memory allocation and sets a reference count, so posix_acl_release is needed afterwards to free it. The problem was fixed using the following semantic patch. (http://www.emn.fr/x-info/coccinelle/) // @@ type T; identifier E; expression E1, E2; int ret; statement S; @@ T E; <+... ( E = \(posix_acl_clone\|posix_acl_alloc\|posix_acl_dup\)(...); if (E == NULL) S | if ((E = \(posix_acl_clone\|posix_acl_alloc\|posix_acl_dup\)(...)) == NULL) S ) ... when != E2 = E when strict ( posix_acl_release(E); | E1 = E; | + posix_acl_release(E); return; | + posix_acl_release(E); return ret; ) ...+> // Signed-off-by: Julia Lawall Acked-by: KaiGai Kohei Signed-off-by: David Woodhouse commit 71053fb1c645e86feb48051d6a4c58b8f2b26806 Author: David Woodhouse Date: Mon Dec 31 17:52:29 2007 +0000 [MTD] [MAPS] Remove Photron PNC-2000 map driver It should be done as a physmap device, and people keep turning it on and whining about it. Signed-off-by: David Woodhouse commit e9d8d48253c50106d85b288939e5227083360863 Author: David Scidmore Date: Tue Dec 11 17:44:30 2007 -0600 [MTD] mtdchar.c: ioctl always returns 0 as size written for ppc64 "include/linux/mtd/mtd.h" declares "mtd_oob_ops.retlen" as size_t, which is 64 bits on targets with a 64 bit addressing. The MEMWRITEOOB ioctl calls copy_to_user() to write it back to "mtd_oob_buf.length", which is declared in "include/linux/mtd-abi.h" as uint32_t. Since powerpc is a big endian architecture, this only copies the upper 32 bits of the address, which is always 0. Signed-off-by: David Scidmore Signed-off-by: David Woodhouse commit 7e52b48216da96632a3bcc051faaf57d3a4aacc1 Author: Stefan Roese Date: Sat Jan 5 01:00:43 2008 +1100 [POWERPC] 4xx: Add EMAC support to Kilauea defconfig Somehow the EMAC support was dropped (or never really added) to the Kilauea defconfig file. This patch finally adds EMAC support. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit da8a41d19233c2bdcc59447aedc808fcdaabf5b7 Author: Dave Kleikamp Date: Tue Nov 13 22:25:41 2007 -0600 JFS: FIx one more plain integer as NULL pointer warning Signed-off-by: Dave Kleikamp commit 09aaa749f637b19c308464c2b65a001e67c2a16c Author: Joe Perches Date: Tue Nov 13 22:16:08 2007 -0600 JFS: Remove defconfig ptr comparison to 0 Remove sparse warning: Using plain integer as NULL pointer Signed-off-by: Joe Perches Signed-off-by: Dave Kleikamp commit a7fe0ba7eee4f7c53077ff2bed2b581db17d00df Author: Shaun Zinck Date: Fri Aug 31 12:57:28 2007 -0500 JFS: use DIV_ROUND_UP where appropriate This replaces some macros and code, which do the same thing as DIV_ROUND_UP defined in kernel.h, to use the DIV_ROUND_UP macro. Signed-off-by: Shaun Zinck Signed-off-by: Dave Kleikamp commit 1eb3a711d6a1c8a4697a2e89d09048353b8aefd3 Author: Jack Stone Date: Tue Jul 31 09:36:53 2007 -0500 Remove unnecessary kmalloc casts in the jfs filesystem Signed-off-by: Jack Stone Signed-off-by: Dave Kleikamp commit 54af6233d1cb84cdfaa6ea44ea0db0bcf518baac Author: Nick Piggin Date: Mon Nov 26 14:58:10 2007 -0600 JFS is missing a memory barrier JFS is missing a memory barrier needed to close the critical section before clearing the lock bit. Use lock bitops for this. unlock_page() has a second barrier after clearing the lock, which is required because it checks whether the waitqueue is active without locks. Such a barrier is not required here because the waitqueue spinlock is always taken (something to think about if performance is an issue). Signed-off-by: Nick Piggin Signed-off-by: Dave Kleikamp commit 67e6682f18b3bf812a994ae027ff87174a297ae8 Author: Dave Kleikamp Date: Wed Oct 10 11:11:24 2007 -0500 JFS: Make sure special inode data is written after journal is flushed This patch makes sure that data that we tried to flush before the journal was completely written actually gets pushed to disk. To avoid duplicating code, moved common code to write_special_inodes(). Signed-off-by: Dave Kleikamp commit 29a424f28390752a4ca2349633aaacc6be494db5 Author: Dave Kleikamp Date: Thu Jan 3 13:09:33 2008 -0600 JFS: clear PAGECACHE_TAG_DIRTY for no-write pages When JFS decides to drop a dirty metapage, it simply clears the META_dirty bit and leave alone the PG_dirty and PAGECACHE_TAG_DIRTY bits. When such no-write page goes to metapage_writepage(), the `relic' PAGECACHE_TAG_DIRTY tag should be cleared, to prevent pdflush from repeatedly trying to sync them. This is done through set_page_writeback(), so call it should be called in all cases. If no I/O is initiated, end_page_writeback() should be called immediately. This is how __block_write_full_page() does things. Signed-off-by: Dave Kleikamp CC: Fengguang Wu commit 88e7d705c4bdb729f02173583628ccbf49dba945 Author: Steve French Date: Thu Jan 3 17:37:09 2008 +0000 [CIFS] hold ses sem on tcp session reconnect during mount Signed-off-by: Jeff Layton Signed-off-by: Steve French commit bdddec454c205028c010c1c4e1e6163c054487c6 Author: Grant Likely Date: Wed Jan 2 12:32:28 2008 -0700 [POWERPC] pasemi: Use machine_*_initcall() hooks in platform code Signed-off-by: Grant Likely Signed-off-by: Olof Johansson commit f0d4577c4d19f439b8f05e2c540519343e6f71e1 Author: Olof Johansson Date: Wed Jan 2 12:35:50 2008 -0600 [POWERPC] pasemi: Fix NMI handling check The logic that checks to see if a machine check is caused by an NMI will always match when NMI hasn't been initialized, since the mpic routine will return NO_IRQ (and that's what the nmi_virq value is as well). Signed-off-by: Olof Johansson commit 1fe1b95d86aea936582de3bdd1ac8dd62601893e Author: Grant Likely Date: Thu Jan 3 04:23:56 2008 +1100 [POWERPC] 4xx: typo in calling machine_device_initcall() for Sequoia board Fix an obvious typo. Signed-off-by: Grant Likely Signed-off-by: Josh Boyer commit 623b78c39c4525731f852072edd742cc4fba6786 Author: Thomas Renninger Date: Fri May 18 21:59:28 2007 -0500 ACPI: add "processor.ignore_ppc" hook to workaround BIOS _PPC weirdness There have been fixes using _PPC, which seem to unhide a problem on HP nx6125 (double cpufreq switch freezes the machine for several seconds). This one should provide a workaround for the nx6125 and for possible other machines that show any weird _PPC behaviour. Signed-off-by: Thomas Renninger Signed-off-by: Len Brown commit 97837582bc1e191d2792af74c1f3762ed01243b9 Author: Steve French Date: Mon Dec 31 07:47:21 2007 +0000 [CIFS] Allow setting mode via cifs acl Requires cifsacl mount flag to be on and CIFS_EXPERIMENTAL enabled CC: Shirish Pargaonkar Signed-off-by: Steve French commit 28c5a02a11f70bb1fd8dd3b633206e2db3220308 Author: Jeff Layton Date: Mon Dec 31 04:56:21 2007 +0000 [CIFS] fix unicode string alignment in SPNEGO setup Unicode strings need to be word aligned, but the code that handles that is currently not taking the length of the SPNEGO blob into account. Fix it to do so. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit bb5a9a04d4cab4b13d63ac5cd3e1fb35f9583607 Author: Steve French Date: Mon Dec 31 04:21:29 2007 +0000 [CIFS] cifs_partialpagewrite() cleanup rc cannot be -EBADF now and condition is always true Signed-off-by: Vasily Averin Signed-off-by: Steve French commit 1a67570c76402b36695cd0725e28649ee8fe830d Author: Jeff Layton Date: Mon Dec 31 04:03:02 2007 +0000 [CIFS] use krb5 session key from first SMB session after a NegProt Currently, any new kerberos SMB session overwrites the server's session key. The session key should only be set by the first SMB session set up on the socket. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 4f43143f9fbbb679c38d2ff99e44d3aaa00d0fe1 Merge: 533b192... 90c2637... Author: Paul Mackerras Date: Mon Dec 31 13:54:13 2007 +1100 Merge branch 'for-2.6.25' of git://git.kernel.org/pub/scm/linux/kernel/git/olof/pasemi commit 1d9a8852c365fb7f8db0f8364210138985f457b8 Author: Jeff Layton Date: Mon Dec 31 01:37:11 2007 +0000 [CIFS] redo existing session setup if needed in cifs_mount When cifs_mount finds an existing SMB session that it can use for a new mount, it does not check to see whether that session is in need of being reconnected. An easy way to reproduce: 1) mount //server/share1 2) watch /proc/fs/cifs/DebugData for the share to go DISCONNECTED 3) mount //server/share2 with same creds as in step 1. The second mount will fail because CIFSTCon returned -EAGAIN. If you do an operation in share1 and then reattempt the mount it will work (since the session is reestablished). The following patch fixes this by having cifs_mount check the status of the session when it picks an existing session and calling cifs_setup_session on it again if it's in need of reconnection. Thanks to Wojciech Pilorz for the initial bug report. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 05b3de63da2abe804f5dbe0174298bf48949079f Author: Jeff Layton Date: Mon Dec 31 00:51:45 2007 +0000 [CIFS] Only dump SPNEGO key if CONFIG_CIFS_DEBUG2 is set The SPNEGO key data is not terribly interesting except in certain debugging situations. Only dump it to the ring buffer if needed. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit dae5dbdbd786798ad2249e54df1156d524da30aa Author: Steve French Date: Sun Dec 30 23:49:57 2007 +0000 [CIFS] fix SetEA failure to some Samba versions Thanks to Oleg Gvozdev for noticing the problem. CC: Andrew Morton Signed-off-by: Steve French commit 533b1928b5c37dbdaabec3e7ff073aee8d7af3eb Author: Paul Mackerras Date: Mon Dec 31 10:04:15 2007 +1100 Revert "[POWERPC] Disable PCI IO/Mem on a device when resources can't be allocated" This reverts commit 553aa7659bc0e188348f64e978343ed984eb6e56 at Ben H's request, because it confused IORESOURCE_* flags with command register bits. Requested-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 90c26375b48e764a099bb5b606a74bb54bb5a3a7 Author: Olof Johansson Date: Fri Dec 28 10:41:28 2007 -0600 [POWERPC] Enable CONFIG_PCI_MSI and CONFIG_MD in pasemi_defconfig Enable MSI now that we have an implementation, and enable CONFIG_MD and the raid options by default as well. Signed-off-by: Olof Johansson commit d87bf3bed71375b141e95b5fdbac413ac4b65184 Author: Olof Johansson Date: Thu Dec 27 22:16:29 2007 -0600 [POWERPC] pasemi: Distribute interrupts evenly across cpus By default the OpenPIC on PWRficient will bias to one core (since that will improve changes of the other core being able to stay idle/powered down). However, this conflicts with most irq load balancing schemes, since setting an interrupt to be delivered to either core doesn't really result in the load being shared. It also doesn't work well with the soft irq disable feature of PPC, since EE will stay on until the first interrupt is taken while soft disabled. Set the gconf0 config bit that enables even distribution of interrupts among the two cores. Signed-off-by: Olof Johansson commit f365355e65ee619e3b7baeca69b46fd2c4a5ec68 Author: Olof Johansson Date: Thu Dec 20 13:11:18 2007 -0600 [POWERPC] pasemi: Implement NMI support Some PWRficient-based boards have a NMI button that's wired up to a GPIO as interrupt source. By configuring the openpic accordingly, these get delivered as a machine check with high priority, instead of as an external interrupt. The device tree contains a property "nmi-source" in the openpic node for these systems, and it's the (hwirq) source for the input. Also, for these interrupts, the IACK is read from another register than the regular (MCACK instead), but they are EOI'd as usual. So implement said function for the mpic driver. Finally, move a couple of external function defines to include/ instead of local under sysdev. Being able to mask/unmask and eoi directly saves us from setting up a dummy irq handler that will never be called. Signed-off-by: Olof Johansson commit 975c30257e75c3d067d4858f60963b80fc6bd0e4 Author: Signed-off by Yi Yang Date: Thu Dec 27 21:50:42 2007 -0500 ACPI: detect invalid argument written to /proc/acpi/alarm /proc/acpi/alarm can't be set correctly, here is a sample: [root@localhost /]# echo "2006 09" > /proc/acpi/alarm [root@localhost /]# cat /proc/acpi/alarm 2007-12-09 09:09:09 [root@localhost /]# echo "2006 04" > /proc/acpi/alarm [root@localhost /]# cat /proc/acpi/alarm 2007-12-04 04:04:04 [root@localhost /]# Obviously, it is wrong, it should consider it as an invalid input. after this patch: [root@localhost /]# echo "2008 09" > /proc/acpi/alarm -bash: echo: write error: Invalid argument [root@localhost /]# Signed-off-by: Yi Yang Signed-off-by: Len Brown commit 087980295082ccaa816330bc69c29a2ff53a244c Author: Yi Yang Date: Thu Dec 27 22:04:26 2007 -0500 ACPI: /proc/acpi/alarm parsing: handle large numbers properly In function acpi_system_write_alarm in file drivers/acpi/sleep/proc.c, big sec, min, hr, mo, day and yr are counted twice to get reasonable values, that is very superfluous, we can do that only once. In additon, /proc/acpi/alarm can set a related value which can be specified as YYYY years MM months DD days HH hours MM minutes SS senconds, it isn't a date, so you can specify as +0000-00-00 96:00:00 , that means 3 days later, current code can't handle such a case. This patch removes unnecessary code and does with the aforementioned situation. Before applying this patch: [root@localhost /]# cat /proc/acpi/alarm 2007-12-00 00:00:00 [root@localhost /]# echo "0000-00-00 96:180:180" > /proc/acpi/alarm [root@localhost /]# cat /proc/acpi/alarm 0007-12-02 **:**:** [root@localhost /]# After applying this patch: [root@localhost ~]# echo "2007-12-00 00:00:00" > /proc/acpi/alarm [root@localhost ~]# cat /proc/acpi/alarm 2007-12-00 00:00:00 [root@localhost ~]# echo "0000-00-00 96:180:180" > /proc/acpi/alarm [root@localhost ~]# cat /proc/acpi/alarm 0007-12-04 03:03:00 [root@localhost ~]# Signed-off-by: Yi Yang Signed-off-by: Len Brown commit 4b3cc340614e552c476bec29d984c5a363b26494 Author: Artem Bityutskiy Date: Wed Dec 26 15:59:39 2007 +0200 UBI: bugfix: do not forget to increment vol_count When creating a new volume, do not forget to increment the vol_count variable. Also, users are not interested in internal volumes, so do not show them in the volumes_count sysfs file. Signed-off-by: Artem Bityutskiy commit aeddb87718823fb81b896155b34d1bb4c8cae874 Author: Artem Bityutskiy Date: Wed Dec 26 14:25:58 2007 +0200 UBI: do not support kiB Be strict and accept only KiB, MiB and GiB, not Kib, not kib, etc. Signed-off-by: Artem Bityutskiy commit b6b76ba466bbd47397efad0fdaeaa5ebf7d462c7 Author: Artem Bityutskiy Date: Wed Dec 26 13:46:46 2007 +0200 UBI: add mtd_num sysfs attribute Expose number or the underlying MTD device in sysfs. Signed-off-by: Artem Bityutskiy commit d1f3dd6cc00f5bf744118fb2820ecdf09a1f4b73 Author: Artem Bityutskiy Date: Tue Dec 25 19:17:00 2007 +0200 UBI: fix mtd device string parsing UBI allows to specify MTD device name or number when the module is being loaded. When parsing MTD device identity string, it first tries to treat it as device NAME, and if that fails, it treats it as device number. Make it vice-versa as this is more logical and makes less troubles when you have an MTD device named "1" and try to load mtd1 which has different name. This is especially easy to hit when gluebi is enabled. Signed-off-by: Artem Bityutskiy commit 783b273afab43437dca731a229d53d72faf77fd3 Author: Artem Bityutskiy Date: Tue Dec 25 18:13:33 2007 +0200 UBI: use separate mutex for volumes checking Introduce a separate mutex which serializes volumes checking, because we cammot really use volumes_mutex - it cases reverse locking problems with mtd_tbl_mutex when gluebi is used - thanks to lockdep. Signed-off-by: Artem Bityutskiy commit 897a316c9e6f7fea6f1d3759797b75c0ebaec479 Author: Artem Bityutskiy Date: Tue Dec 18 18:23:39 2007 +0200 UBI: handle attach ioctl Actually implement the MTD device attach/detach handlers. Signed-off-by: Artem Bityutskiy commit 9b79cc0f84edecceb04b806b9014fcec1306c34d Author: Artem Bityutskiy Date: Tue Dec 18 18:22:16 2007 +0200 UBI: introduce attach ioctls Signed-off-by: Artem Bityutskiy commit dd38fccfbc77e12417512c38508a5283ea79a375 Author: Artem Bityutskiy Date: Wed Dec 19 21:43:32 2007 +0200 UBI: remove data_offset 'data_offset' parameter does not really make sense and it is not needed. Get rid of it. Signed-off-by: Artem Bityutskiy commit cdfa788acd134a35d3e5b73d1a76fca4033d8aa9 Author: Artem Bityutskiy Date: Mon Dec 17 20:33:20 2007 +0200 UBI: prepare attach and detach functions Prepare the attach and detach functions to by used outside of module initialization: * detach function checks reference count before detaching * it kills the background thread as well Signed-off-by: Artem Bityutskiy commit e73f4459d969bb266f03dd4cbe21bdba8cb2732c Author: Artem Bityutskiy Date: Mon Dec 17 17:37:26 2007 +0200 UBI: add UBI devices reference counting This is one more step on the way to "removable" UBI devices. It adds reference counting for UBI devices. Every time a volume on this device is opened - the device's refcount is increased. It is also increased if someone is reading any sysfs file of this UBI device or of one of its volumes. Signed-off-by: Artem Bityutskiy commit 9f961b57568960a150cc9781c52824c9093a0514 Author: Artem Bityutskiy Date: Sun Dec 16 16:59:31 2007 +0200 UBI: add UBI control device This patch is a preparation to make UBI devices dynamic. It adds an UBI control device which has dynamically allocated major number and registers itself as "ubi_ctrl". It does not do anything so far. The idea is that this device will allow to attach/detach MTD devices from userspace. This is symilar to what the Linux device mapper has. The next things to do are: * Fix UBI, because it now assumes UBI devices cannot go away * Implement control device ioctls which will attach/detach MTD devices Signed-off-by: Artem Bityutskiy commit 16f557ecbf96dd13d13788a6f62d4d97ae73b1f9 Author: Artem Bityutskiy Date: Wed Dec 19 16:03:17 2007 +0200 UBI: fix comment Signed-off-by: Artem Bityutskiy commit 593dd33c92c6529443d5df1350dc5cc76511232d Author: Artem Bityutskiy Date: Tue Dec 18 15:54:35 2007 +0200 UBI: fix ubi_wl_flush The flush function should finish all the pending jobs. But if somebody else is doing a work, this function should wait and let it finish. This patche uses rw semaphore for synchronization purpose - it just looks quite convinient. Signed-off-by: Artem Bityutskiy commit 458dbb3d07574e8fcdcb921ac155ccd81b16b05f Author: Artem Bityutskiy Date: Wed Dec 19 17:03:42 2007 +0200 UBI: fix printk Add proper log level to printk's. Signed-off-by: Artem Bityutskiy commit 43f9b25a9cdd7b177f77f026b1461abd1abbd174 Author: Artem Bityutskiy Date: Tue Dec 18 15:06:55 2007 +0200 UBI: bugfix: protect from volume removal When the WL worker is moving an LEB, the volume might go away occasionally. UBI does not handle these situations correctly. This patch introduces a new mutex which serializes wear-levelling worker and the the 'ubi_wl_put_peb()' function. Now, if one puts an LEB, and its PEB is being moved, it will wait on the mutex. And because we unmap all LEBs when removing volumes, this will make the volume remove function to wait while the LEB movement finishes. Below is an example of an oops which should be fixed by this patch: Pid: 9167, comm: io_paral Not tainted (2.6.24-rc5-ubi-2.6.git #2) EIP: 0060:[] EFLAGS: 00010246 CPU: 0 EIP is at prot_tree_del+0x2a/0x63 [ubi] EAX: f39a90e0 EBX: 00000000 ECX: 00000000 EDX: 00000134 ESI: f39a90e0 EDI: f39a90e0 EBP: f2d55ddc ESP: f2d55dd4 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 Process io_paral (pid: 9167, ti=f2d54000 task=f72a8030 task.ti=f2d54000) Stack: f39a95f8 ef6aae50 f2d55e08 f884a511 f88538e1 f884ecea 00000134 00000000 f39a9604 f39a95f0 efea8280 00000000 f39a90e0 f2d55e40 f8847261 f8850c3c f884eaad 00000001 000000b9 00000134 00000172 000000b9 00000134 00000001 Call Trace: [] show_trace_log_lvl+0x1a/0x30 [] show_stack_log_lvl+0xa5/0xca [] show_registers+0xcf/0x21b [] die+0x126/0x224 [] do_page_fault+0x27f/0x60d [] error_code+0x72/0x78 [] ubi_wl_put_peb+0xf0/0x191 [ubi] [] ubi_eba_unmap_leb+0xaf/0xcc [ubi] [] ubi_remove_volume+0x102/0x1e8 [ubi] [] ubi_cdev_ioctl+0x22a/0x383 [ubi] [] do_ioctl+0x68/0x71 [] vfs_ioctl+0x55/0x271 [] sys_ioctl+0x33/0x52 [] sysenter_past_esp+0x5f/0xa5 ======================= Signed-off-by: Artem Bityutskiy commit d2c468550915ab2f16149e274a6f0da0b925a748 Author: Artem Bityutskiy Date: Tue Dec 18 13:17:24 2007 +0200 UBI: improve comment Explain better the purpose of thie 'move_to_put' stuff. Signed-off-by: Artem Bityutskiy commit d19bafd99d334cdc2530a7466235756bbc87c5d5 Author: Artem Bityutskiy Date: Tue Dec 18 12:57:52 2007 +0200 UBI: add PID to debugging prints Also, use single dbg_msg() macro for all prints. Signed-off-by: Artem Bityutskiy commit 40e4d0c1660f8ee01ea4ed570297b32c35c70aa3 Author: Artem Bityutskiy Date: Mon Dec 17 17:08:55 2007 +0200 UBI: tweak volumes locking some more Make the code more consistent by requiring the caller to lock the ubi->volume_mutex, because this is what we do for updates. Signed-off-by: Artem Bityutskiy commit d05c77a816974c09f8c7e8f48e5b9f7b59dafdf3 Author: Artem Bityutskiy Date: Mon Dec 17 15:42:57 2007 +0200 UBI: introduce volume refcounting Add ref_count field to UBI volumes and remove weired "vol->removed" field. This way things are better understandable and we do not have to do whold show_attr operation under spinlock. Signed-off-by: Artem Bityutskiy commit db6e5770ef0ab351a403ac26e1ab1309e58f15d7 Author: Artem Bityutskiy Date: Mon Dec 17 15:48:49 2007 +0200 UBI: simplify error handling If we fail halfway through sysfs file creation, we may just call sysfs remove function and it will delete all the files we created. For non-existing files it will also be OK - the remove functions just return -ENOENT. Signed-off-by: Artem Bityutskiy commit 35ad5fb76cc0a08e14068408b064103439feee36 Author: Artem Bityutskiy Date: Mon Dec 17 14:22:55 2007 +0200 UBI: fix and cleanup volume opening functions This patch fixes error codes of the functions - if the device number is out of range, -EINVAL should be returned. It also removes unneeded try_module_get call from the open by name function. Signed-off-by: Artem Bityutskiy commit fc75a1e166268e0c3366c3b30888a024125f6665 Author: Artem Bityutskiy Date: Mon Dec 17 14:02:09 2007 +0200 UBI: fix error path Error path in volume creation is bogus. First of, it ovverrides the 'err' variable and returns zero to the caller. Second, ubi_assert() in the release function is wrong. Signed-off-by: Artem Bityutskiy commit 450f872a8e1763c883c9f723e6937b7ed223e6d3 Author: Artem Bityutskiy Date: Mon Dec 17 13:09:09 2007 +0200 UBI: get device when opening volume When a volume is opened, get its kref via get_device() call. And put the reference when closing the volume. With this, we may have a bit saner volume delete. Signed-off-by: Artem Bityutskiy commit c63a491d3737aec3c47c5e785d87021752ad9fa6 Author: Artem Bityutskiy Date: Mon Dec 17 13:21:07 2007 +0200 UBI: add some more comments Signed-off-by: Artem Bityutskiy commit cae0a77125467c42f0918e78457913ee4a2f925b Author: Artem Bityutskiy Date: Mon Dec 17 12:46:48 2007 +0200 UBI: tweak volumes locking Transform vtbl_mutex to volumes_mutex - this just makes code easier to understand. Signed-off-by: Artem Bityutskiy commit 89b96b69290668351a33b09372ec1c94cb5748e5 Author: Artem Bityutskiy Date: Sun Dec 16 20:00:38 2007 +0200 UBI: improve internal interfaces Pass volume description object to the EBA function which makes more sense, and EBA function do not have to find the volume description object by volume ID. Signed-off-by: Artem Bityutskiy commit 77c722dde9975361051c5530475f8f92ed67a506 Author: Artem Bityutskiy Date: Sun Dec 16 16:46:57 2007 +0200 UBI: bugfix: dont oops with NULL module parameter E.g., it oopsed in case of: modprobe ubi mtd = 0 Signed-off-by: Artem Bityutskiy commit b96bf4c33d4860bf1584ad2f9ed3b783d79aada8 Author: Artem Bityutskiy Date: Sun Dec 16 13:01:03 2007 +0200 UBI: remove ubi_devices_cnt This global variablea is not really needed, remove it Signed-off-by: Artem Bityutskiy commit 06b68ba15671f32a3aa3bbddf04b0d2dd7fbf902 Author: Artem Bityutskiy Date: Sun Dec 16 12:49:01 2007 +0200 UBI: create ubi_wl_entry slab on initialization Similarly to ltree_entry_slab, it makes more sense to create and destroy ubi_wl_entry slab on module initialization/exit. Signed-off-by: Artem Bityutskiy commit 3a8d4642861fb69b62401949e490c0bcb19ceb40 Author: Artem Bityutskiy Date: Sun Dec 16 12:32:51 2007 +0200 UBI: create ltree_entry slab on initialization Since the ltree_entry slab cache is a global entity, which is used by all UBI devices, it is more logical to create it on module initialization time and destro on module exit time. Signed-off-by: Artem Bityutskiy commit 01f7b309e453dc8499c318f6810f76b606b66134 Author: Artem Bityutskiy Date: Sat Dec 15 19:56:51 2007 +0200 UBI: improve error messages Always print error code with error messages, sometimes it is extremely helpful info. Signed-off-by: Artem Bityutskiy commit 49dfc299288fe183b62a3f679a40c91b482d6d73 Author: Artem Bityutskiy Date: Sat Dec 15 18:13:56 2007 +0200 UBI: remove redundant field Remove redundant ubi->major field - we have it in ubi->cdev.dev already. Signed-off-by: Artem Bityutskiy commit 732aeacff6b2fcf3750cad9018bdd663a21a6a12 Author: Artem Bityutskiy Date: Sat Dec 15 15:09:07 2007 +0200 UBI: minor tidy-ups Signed-off-by: Artem Bityutskiy commit 54b2c8f93d7c3ddc04b55666b878fec437d32983 Author: Jesper Juhl Date: Thu Dec 13 23:53:08 2007 +0100 UBI: silence a warning This patch silences the following warning : drivers/mtd/ubi/vmt.c:73: warning: 'ret' may be used uninitialized in this function gcc can't see that we always initialize ret in all situations where it is actually used. The one case where it's not initialized is when we BUG(), but gcc doesn't know that we won't then continue and use an uninitialized 'ret'. This patch results in code that does exactely the same as before, but it also makes gcc shut up, so we generate one less line of warning noise. Signed-off-by: Jesper Juhl Signed-off-by: Artem Bityutskiy commit 393852ecfeec575ac78216b0eb58e4fd92f0816c Author: Artem Bityutskiy Date: Thu Dec 6 18:47:30 2007 +0200 UBI: add ubi_leb_map interface The idea of this interface belongs to Adrian Hunter. The interface is extremely useful when one has to have a guarantee that an LEB will contain all 0xFFs even in case of an unclean reboot. UBI does have an 'ubi_leb_erase()' call which may do this, but it is stupid and ineffecient, because it flushes whole queue. I should be re-worked to just be a pair of unmap, map calls. The user of the interfaci is UBIFS at the moment. Signed-off-by: Artem Bityutskiy commit 94780d4de2e9339ab93df63420db70f11882634d Author: Artem Bityutskiy Date: Tue Dec 4 21:36:12 2007 +0200 UBI: bugfix: allocate mandatory EBs first First allocate the necessary eraseblocks, then the optional ones. Otherwise it allocates all PEBs for bad EB handling, and fails on then following EBA LEB allocation. Reported-by: Adrian Hunter Signed-off-by: Artem Bityutskiy commit 2362a53ec59f286495307e0e0d8ef2401e8c5c49 Author: Artem Bityutskiy Date: Thu Oct 18 20:09:41 2007 +0300 UBI: fix error code in ubi_io_read() When NAND detects an ECC error, it returns -EBADMSG. It does not stop reading requested data if one page has an ECC error, it keeps going and reads all the requested data. If it fails to read all the data, it does not return -EBADMSG, but returns the error code which reflects the reason of the failure. But some drivers may have bugs (e.g., OneNAND had) and stop reading after the first ECC error, so it returns -EBADMSG. In turn, UBI propagates this up to the caller. The caller will treat this as "all the requested data was read, but there was an ECC error". So we change the error code to -EIO if it is -EBADMSG and the read length is less then the requested length. We also add an assertion, so if UBI debugging is enabled, UBI will bug. Pointed-to-by: Adrian Hunter Signed-off-by: Artem Bityutskiy commit d2d8cfc657e2fc766cd2c0487397109240cb0427 Author: Josh Boyer Date: Mon Dec 24 19:46:29 2007 -0600 [POWERPC] 4xx: Update defconfigs Update the 4xx board defconfigs Signed-off-by: Josh Boyer commit 67196d7275fcbc62c41c34400855d3d3c95d8d1d Author: Josh Boyer Date: Mon Dec 24 19:46:06 2007 -0600 [POWERPC] 4xx: Minor coding style cleanups for 4xx bootwrapper Remove some unneeded braces and make a busy loop more obvious. Signed-off-by: Josh Boyer commit 3f8c5c3b4d07fa24e7081a54798ddfab7360a102 Author: Josh Boyer Date: Mon Dec 24 10:42:02 2007 -0600 [POWERPC] 4xx: Use machine_device_initcall for bus probe Some machine_xx_initcall macros were recently added that check for the machine type before calling the function. This converts the 4xx platforms to use those for bus probing. Signed-off-by: Josh Boyer commit 9e0fd5f06cbdb3bb47ce54bdbfa43257e6b2b789 Author: Josh Boyer Date: Mon Dec 24 09:01:11 2007 -0600 [POWERPC] Remove unneeded variable declarations from mpc837x_mds Remove the declarations for isa_io_base and isa_mem_base as they are declared in pci-common.c now. Signed-off-by: Josh Boyer commit e3e414bcc2e994f98ca647f16fb31799570dc574 Author: Josh Boyer Date: Mon Dec 24 08:44:47 2007 -0600 [POWERPC] Conditionally compile e200 and e500 platforms in cputable The e200 and e500 platforms are separated in various parts of the kernel with ifdefs, most notably reg_booke.h and traps.c. The new machine_check rework requires them to be similarly separated in cputable.c to avoid compile errors. Signed-off-by: Josh Boyer commit 8cb34d291d3bcf03f284a4c44c9d618ffc278a9d Author: Josh Boyer Date: Mon Dec 24 08:40:31 2007 -0600 [POWERPC] 4xx: Mark of_bus structures as __initdata Mark the of_device_id structures used to probe the various busses on 4xx as __initdata. Signed-off-by: Josh Boyer 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 990116237092460d886660f31b3c6f602749654a Author: Josh Boyer Date: Thu Dec 20 09:00:17 2007 -0600 [POWERPC] 4xx: Update Kilauea, Rainier, and Walnut defconfigs Enable PCI support for these eval boards among other things. Also selects PCI for Rainier in the Kconfig file. Signed-off-by: Josh Boyer commit 9a2b77b0dac28e5290b3f9a81e849c09d76640b4 Author: Stefan Roese Date: Fri Dec 21 18:11:01 2007 +1100 [POWERPC] 4xx: Makalu defconfig Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 1b55883af0eae90ff9ee9cd4933d709fcbe72ec8 Author: Stefan Roese Date: Fri Dec 21 18:10:51 2007 +1100 [POWERPC] 4xx: Makalu dts Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit be1e0e98cc6dc34db9e45109fbe96b89c86eafea Author: Stefan Roese Date: Fri Dec 21 18:10:36 2007 +1100 [POWERPC] 4xx: Add AMCC Makalu board support to platforms/40x This patch adds basic support for the AMCC Makalu board to arch/powerpc. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit dc88416b098a1e0bde82dc4e00ed95109681ab5c Author: Stefan Roese Date: Sat Dec 15 19:10:56 2007 +1100 [POWERPC] 4xx: Change Kilauea PCIe bus ranges in dts file Currently we have some limitations in the 4xx PCIe driver and can't support all possible PCIe busses. But the current limits in the dts file are quite low (only 16 busses per RC). This patch increases the number to 64 per RC. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 8aaed98c1e28a2c803309fcb2d32761bba4bee09 Author: Stefan Roese Date: Sat Dec 15 18:55:16 2007 +1100 [POWERPC] 4xx: Add aliases node to 4xx dts files Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 0b2e97518da185b87144992e1f0bdacd904dcbb9 Author: Valentine Barshak Date: Sat Dec 22 04:22:39 2007 +1100 [POWERPC] 4xx: Add PCI entry to 440GRx Rainier DTS. This adds PCI entry to PowerPC 440GRx Rainier DTS. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit 14b3d926a22b89f779229f88ed16a76b6b641b1c Author: Valentine Barshak Date: Sat Dec 22 03:24:02 2007 +1100 [POWERPC] 4xx: update 440EP(x)/440GR(x) identical PVR issue workaround Renaming the CPU nodes with generic names put the CPU model in the "model" property and thus broke the PowerPC 440EP(x)/440GR(x) identical PVR workaround. The updates it to use the new model property for CPU identification. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit 72fda1148e14d2f06d8653c26f579b7d2dabba57 Author: Josh Boyer Date: Thu Dec 6 13:20:05 2007 -0600 [POWERPC] 4xx: Rename CPU nodes to avoid dtc incompatibility Recent DTC versions disallow certain special characters in full paths without being quoted with {}. That however breaks compatibility with older DTC versions. Work around this by renaming the CPU nodes for the 4xx files to a generic node name, and specify the processor type in the model property of the CPU node. Signed-off-by: Josh Boyer commit 55aaf6ecf796b809100abfbdf359ef8309a7aac9 Author: Stefan Roese Date: Fri Dec 7 20:34:34 2007 +1100 [POWERPC] 4xx: Set ibpre for 405EX in 4xx PCIe driver This patch sets the ibpre flag (Inbound Presence) for the 405EX in the 4xx PCIe driver. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 151161c6e23160b8573a7048e7de0ded77c89655 Author: Stefan Roese Date: Fri Dec 7 20:34:26 2007 +1100 [POWERPC] 4xx: Add Kilauea PCIe support to dts and Kconfig Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 0a6ea8bef14064ec6b5f9cf3d4ce2f81b73a9bb0 Author: Stefan Roese Date: Sat Dec 1 21:25:00 2007 +1100 [POWERPC] 4xx: Change Kilauea dts to support new EMAC device tree properties The recent changes from Benjamin Herrenschmidt to the ibm_newemac now make it possible to support other 4xx variants by just defining the correct properties in the device tree. In this case of the 405EX we need to define "has-mdio" in the RGMII node and "has-inverted-stacr-oc" and "has-new-stacr-staopc" in the EMAC node same as on the 440EPx. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit cdb159af9dc345814832438b3df9220a5fe362e6 Author: Stefan Roese Date: Sat Dec 1 21:19:55 2007 +1100 [POWERPC] 4xx: Add 405EX CPU type needed for EMAC support on Kilauea For EMAC support, 405EX needs to be defined to enable the corresponding EMAC features (IBM_NEW_EMAC_EMAC4, etc.). Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit f4151b9ba87901eb3a7bc49f418cc352d4e1927e Author: Stefan Roese Date: Tue Nov 20 21:19:16 2007 +1100 [POWERPC] 4xx: Fix TLB 0 problem with CONFIG_SERIAL_TEXT_DEBUG Right now TLB entry 0 ist used as UART0 mapping for the early debug output (via CONFIG_SERIAL_TEXT_DEBUG). This causes problems when many TLB's get used upon Linux bootup (e.g. while PCIe scanning behind bridges and/or switches on 440SPe platforms). This will overwrite the TLB 0 entry and further debug output's may crash/hang the system. This patch moves the early debug UART0 TLB entry from 0 to 62 as done in arch/powerpc. This way it is in the "pinned" area and will not get overwritten. Also the arch/ppc/mm/44x_mmu.c code is now synced with the newer code from arch/powerpc. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 4922566f0394ac41c72fb960f22b4f84333026bc Author: Josh Boyer Date: Thu Dec 20 08:55:34 2007 -0600 [POWERPC] 4xx: libfdt and pci fixes for Rainier Update the Rainier wrapper for the libfdt merge and add the pci flags to the platform file. Signed-off-by: Josh Boyer commit af7baf9259c12cfbe927a674f3bd17d855d1e156 Author: Josh Boyer Date: Fri Dec 14 06:36:35 2007 -0600 [POWERPC] 4xx: Include missing header A small error caused a header file to be removed making sequoia support no longer compile. Fix it. Signed-off-by: Josh Boyer commit 58c50192675cfbaa51cf9ccf2ef1180d45170ec8 Author: Valentine Barshak Date: Thu Dec 6 19:21:12 2007 +0300 [POWERPC] 44x: Sequoia and Rainier updates for 2.6.25 PowerPC 440Epx/GRx Sequoia/Rainier updates for 2.6.25 Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit 9ac30c314529af21ae739375d25c7da78887363b Author: Josh Boyer Date: Tue Dec 4 13:02:18 2007 -0600 [POWERPC] 4xx: Fix 440grx setup function to call 440A fixup The mechanism to do the setup for 440A cores changed recently. This fixes the 440grx setup function to call __fixup_440A_mcheck. Signed-off-by: Josh Boyer commit 2a13448aa316e83a381e073f8e58d3899426700b Author: Valentine Barshak Date: Sat Dec 22 03:26:01 2007 +1100 [POWERPC] 4xx: Add PCI entry to 440EPx Sequoia DTS. This adds PCI entry to PowerPC 440EPx Sequoia DTS. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit b2be3b1529d0adec549a166adb6825bc069c2ec8 Author: Valentine Barshak Date: Sat Dec 22 03:22:23 2007 +1100 [POWERPC] 4xx: Correct 440GRx machine_check callback Correct the PowerPC 440GRx machine check callback. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit 5aac48dc1a7bf0e8c5d01a2d6b16f8063d157649 Author: Valentine Barshak Date: Fri Dec 7 00:48:26 2007 +1100 [POWERPC] 4xx: rework UIC cascade irq handling This is a UIC cascade handler rework to use set_irq_chained_handler() for cascade, just like othe ppc platforms do. With current implementation we have additional redirection for irq handler and we call generic_handle_irq twice (once for the primary uic and the other time for handling cascade interrupt). This causes Ingo's realtime support patch to stop working on 4xx. Not sure of any other possible problems though, but with set_irq_chained_handler() we can abolish "struct irqaction cascade" from the chip descriptor and call generic_handle_irq() once, directly for cascade irq. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit c80905637efb4af6e58da91fae89ffcb2cf8f1aa Author: Valentine Barshak Date: Thu Nov 15 01:00:52 2007 +1100 [POWERPC] 4xx: make UIC use generic level irq handler This patch makes PowerPC 4xx UIC use generic level irq handler instead of a custom handle_uic_irq() function. We ack only edge irqs in mask_ack callback, since acking a level irq on UIC has no effect if the interrupt is still asserted by the device, even if the interrupt is already masked. So, to really de-assert the interrupt we need to de-assert the external source first *and* ack it on UIC then. The handle_level_irq() function masks and ack's the interrupt with mask_ack callback prior to calling the actual ISR and unmasks it at the end. So, to use it with UIC interrupts we need to ack level irqs in the unmask callback instead, after the ISR has de-asserted the external interrupt source. Even if we ack the interrupt that we didn't handle (unmask/ack it at the end of the handler, while next irq is already pending) it will not de-assert the irq, untill we de-assert its exteral source. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit 309ae1a363181a6b290b5bdfaee81123431f8644 Author: Valentine Barshak Date: Wed Oct 31 04:00:49 2007 +1100 [POWERPC] 4xx: 440GRx Rainier default config PowerPC 440GRx Rainier default config. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit 6272175d2a0849ac36e3ea54c0b6949009532a75 Author: Valentine Barshak Date: Wed Oct 31 03:57:39 2007 +1100 [POWERPC] 4xx: 440GRx Rainier board support. PowerPC 440GRx Rainier board support. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit 3910cd8c11a883a5e4d644f24c56b9897dffb34c Author: Valentine Barshak Date: Wed Oct 31 03:56:50 2007 +1100 [POWERPC] 4xx: 440GRx Rainier DTS. PowerPC 440GRx Rainier DTS. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit 295e742734179380fbd977a113e0182cc3fa9fb0 Author: Valentine Barshak Date: Wed Oct 31 03:56:06 2007 +1100 [POWERPC] 4xx: 440GRx Rainier bootwrapper. Bootwrapper code for PowerPC 440GRx Rainier board. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit f82f5a26723a055b08eba115660e245ef60c5a7a Author: Valentine Barshak Date: Tue Oct 9 00:26:58 2007 +1000 [POWERPC] 4xx: 440EPx Sequoia USB OHCI DTS entry Add the 440EPx Sequoia USB OHCI device tree entry. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit accf5ef254b9dd4d3b53040dd73d80875c2cd39b Author: Stefan Roese Date: Fri Dec 21 15:39:38 2007 +1100 [POWERPC] 4xx: Add 440SPe revA runtime detection to PCIe This patch adds runtime detection of the 440SPe revision A chips. These chips are equipped with a slighly different PCIe core and need special/ different initialization. The compatible node is changed to "plb-pciex-440spe" ("A" and "B" dropped). This is needed for boards that can be equipped with both PPC revisions like the AMCC Yucca. Signed-off-by: Stefan Roese Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer commit 25c24f3dc7f01491ea0d92a1de2bb84094b27e21 Author: Benjamin Herrenschmidt Date: Fri Dec 21 15:39:37 2007 +1100 [POWERPC] pci32: 4xx embedded platforms want to reassign all PCI resources This makes 4xx embedded platforms re-assign all PCI resources as we pretty much never care about what the various firmwares have done on these, it's generally not compatible with the way the kernel will map the bridges. We still need to also enable bus renumbering on some of them, but I will do that from a separate patch after I've fixed 4xx PCIe to handle all bus numbers. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer commit 035ee4282dc5ad19f0141821511346b8de1839af Author: Benjamin Herrenschmidt Date: Fri Dec 21 15:39:36 2007 +1100 [POWERPC] 4xx: PCI-E Link setup improvements This improves the way the 4xx PCI-E code handles checking for a link and adds explicit testing of CRS result codes on config space accesses. This should make it more reliable. Also, bridges with no link are now still created, though config space accesses beyond the root complex are filtered. This is one step toward eventually supporting hotplug. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer commit 5be9419ac613b9e6ce29fbddd0c4429f8d0acc08 Author: Benjamin Herrenschmidt Date: Fri Dec 21 15:39:35 2007 +1100 [POWERPC] 4xx: remove bogus "ranges" property in Bamboo EBC node This removes a bogus empty "ranges" property in the EBC device node of the Bamboo board device-tree. The "ranges" property should be created by the wrapper code when it is implemented. Until then, remove the empty property since it incorrectly implies that there is a 1:1 address mapping between the EBC and the OPB. This also fixes a warning from newer DTCs. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer commit 3de9c9cd22c69c6aa2e17d4dcf55dcf1260b5718 Author: Benjamin Herrenschmidt Date: Fri Dec 21 15:39:34 2007 +1100 [POWERPC] 4xx: Base support for 440SPe "Katmai" eval board This adds base support for the Katmai board, including PCI-X and PCI-Express (but no RTC, nvram, etc... yet). Signed-off-by: Benjamin Herrenschmidt Acked-by: Stefan Roese Signed-off-by: Josh Boyer commit 190de005384204ba4dc339c3d05f8d40f6b16643 Author: Benjamin Herrenschmidt Date: Fri Dec 21 15:39:33 2007 +1100 [POWERPC] 4xx: Rework clock probing in boot wrapper This reworks the boot wrapper library function that probes the chip clocks. Better separate the base function that is used on 440GX,SPe,EP,... from the uart fixups as those need different device-tree path on different processors. Also, rework the function itself based on the arch/ppc code from Eugene Surovegin which I find more readable, and which handles one more bypass case. Also handle the subtle difference between 440EP/EPx and 440SPe/GX, on the former, PerClk is derived from the PLB clock while on the later, it's derived from the OPB. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer commit bc0b4e7ffb528282df5f8ba9c7c3f60135603e9e Author: Benjamin Herrenschmidt Date: Fri Dec 21 15:39:32 2007 +1100 [POWERPC] 4xx: Add CPR0 accessors to boot wrapper This adds macros to the boot wrapper to access the CPR registers from the boot wrappers. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer commit ee41eea947ebe2f1f627fafe0e429b5dcaaab944 Author: Benjamin Herrenschmidt Date: Fri Dec 21 15:39:32 2007 +1100 [POWERPC] 4xx: Add mfspr/mtspr inline macros to 4xx bootwrapper The 4xx bootwrapper occasionally needs to access SPR registers, this adds mfspr/mtspr wrappers to it. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer commit d23f5099297c0f017ba4fb165dc9879bda11f9ce Author: Benjamin Herrenschmidt Date: Fri Dec 21 15:39:31 2007 +1100 [POWERPC] 4xx: Adds decoding of 440SPE memory size to boot wrapper library This adds a function to the bootwrapper 4xx library to decode memory size on 440SPE processors. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer commit 007b6aa8114550c59373c751ac9cc9f356a0a81f Author: Benjamin Herrenschmidt Date: Fri Dec 21 15:39:30 2007 +1100 [POWERPC] 4xx: Wire up 440EP USB controller support to Bamboo board This adds the definition of the on-chip OHCI controller to the Bamboo board's device-tree. This is enough to get it probed and working, though a separate patch fixing a bug in the OHCI driver is needed to make it reliable. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer commit c3fc2de0fea2bbd54780226d66ec91d73f35e74a Author: Benjamin Herrenschmidt Date: Fri Dec 21 15:39:29 2007 +1100 [POWERPC] 4xx: Wire up PCI on Bamboo board This adds the device-tree bits & call to ppc4xx_pci_find_bridges() to make PCI work on the Bamboo board Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer commit 6bbc5476298a3dd46a7a19c2af03778b094acb15 Author: Hugh Blemings Date: Fri Dec 21 15:39:28 2007 +1100 [POWERPC] 4xx: Base support for 440GX Taishan eval board This patch adds base support for the AMCC Taishan 440GX evaluation board. Signed-off-by: Hugh Blemings Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer commit 379865d63cb97f8e8241724aae48e795a6b7cb10 Author: Benjamin Herrenschmidt Date: Fri Dec 21 15:39:28 2007 +1100 [POWERPC] 4xx: Add PCI to Walnut platform This wires up the 4xx PCI support & device-tree bits for the 405GP based Walnut platform. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer commit 619740384cebe2601a8d307654a22d9ed85f2fcb Author: Benjamin Herrenschmidt Date: Fri Dec 21 15:39:26 2007 +1100 [POWERPC] 4xx: EP405 boards support for arch/powerpc Brings EP405 support to arch/powerpc. The IRQ routing for the CPLD comes from a device-tree property, PCI is working to the point where I can see the video card, USB device, and south bridge. This should work with both EP405 and EP405PC. I've not totally figured out how IRQs are wired on this hardware though, thus at this stage, expect only USB interrupts working, pretty much the same as what arch/ppc did. Also, the flash, nvram, rtc and temp control still have to be wired. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer commit 9dae8afdf212d39bc7c25f1b1ca9b10f10f6beaa Author: Benjamin Herrenschmidt Date: Fri Dec 21 15:39:26 2007 +1100 [POWERPC] 4xx: Add early udbg support for 40x processors This adds some basic real mode based early udbg support for 40x in order to debug things more easily Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer commit 69c0785112921a43739495a68f459fde88a9bbd8 Author: Benjamin Herrenschmidt Date: Fri Dec 21 15:39:25 2007 +1100 [POWERPC] 4xx: PCI support for Ebony board This wires up the 4xx PCI support & device tree bits for 440GP based Ebony platform. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer commit a2d2e1ec07a80946cbe812dc8c73291cad8214b2 Author: Benjamin Herrenschmidt Date: Fri Dec 21 15:39:24 2007 +1100 [POWERPC] 4xx: PLB to PCI Express support This adds to the previous 2 patches the support for the 4xx PCI Express cells as found in the 440SPe revA, revB and 405EX. Unfortunately, due to significant differences between these, and other interesting "features" of those pieces of HW, the code isn't as simple as it is for PCI and PCI-X and some of the functions differ significantly between the 3 implementations. Thus, not only this code can only support those 3 implementations for now and will refuse to operate on any other, but there are added ifdef's to avoid the bloat of building a fairly large amount of code on platforms that don't need it. Also, this code currently only supports fully initializing root complex nodes, not endpoint. Some more code will have to be lifted from the arch/ppc implementation to add the endpoint support, though it's mostly differences in memory mapping, and the question on how to represent endpoint mode PCI in the device-tree is thus open. Many thanks to Stefan Roese for testing & fixing up the 405EX bits ! Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit c839e0eff500af03de65e560c2e21c3831586e6e Author: Benjamin Herrenschmidt Date: Fri Dec 21 15:39:23 2007 +1100 [POWERPC] 4xx: PLB to PCI 2.x support This adds to the previous patch the support for the 4xx PCI 2.x bridges. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer commit 5738ec6d00b7abbcd4cd342af83fd18d192b0979 Author: Benjamin Herrenschmidt Date: Fri Dec 21 15:39:22 2007 +1100 [POWERPC] 4xx: PLB to PCI-X support This adds base support code for the 4xx PCI-X bridge. It also provides placeholders for the PCI and PCI-E version but they aren't supported with this patch. The bridges are configured based on device-tree properties. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer commit 0e6140a56f2878816ecf9db50f40133d25d987e4 Author: Benjamin Herrenschmidt Date: Fri Dec 21 15:39:22 2007 +1100 [POWERPC] 4xx: Improve support for 4xx indirect DCRs Accessing indirect DCRs is done via a pair of address/data DCRs. Such accesses are thus inherently racy, vs. interrupts, preemption and possibly SMP if 4xx SMP cores are ever used. This updates the mfdcri/mtdcri macros in dcr-native.h (which were so far unused) to use a spinlock. In addition, add some common definitions to a new dcr-regs.h file. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer commit 47c0bd1ae24c34e851cf0f2b02ef2a6847d7ae15 Author: Benjamin Herrenschmidt Date: Fri Dec 21 15:39:21 2007 +1100 [POWERPC] Reworking machine check handling and Fix 440/440A This adds a cputable function pointer for the CPU-side machine check handling. The semantic is still the same as the old one, the one in ppc_md. overrides the one in cputable, though ultimately we'll want to change that so the CPU gets first. This removes CONFIG_440A which was a problem for multiplatform kernels and instead fixes up the IVOR at runtime from a setup_cpu function. The "A" version of the machine check also tweaks the regs->trap value to differenciate the 2 versions at the C level. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Josh Boyer 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 c2a7dcad9f0d92d7a96e735abb8bec7b9c621536 Merge: 373a6da... ea67db4... Author: Paul Mackerras Date: Fri Dec 21 22:21:08 2007 +1100 Merge branch 'linux-2.6' commit 373a6da165ac3012a74fd072da340eabca55d031 Author: Stephen Rothwell Date: Fri Dec 21 15:37:07 2007 +1100 [POWERPC] Make non-PCI build work again Maple and pasemi both require PCI as does CONFIG_OF_PLATFORM_PCI. The default setting of CONFIG_ISA_DMA_API is set to match the protection around the relevant routines in asm/dma.h. I also had to remove the PMAC platform from the combined build. The precis is that to build a 64 bit kernel with no PCI, you can only include pSeries and iSeries. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 70fbb9388365c3f6f9f17e6501a67f8636e4af08 Author: Stephen Rothwell Date: Fri Dec 21 15:23:48 2007 +1100 [POWERPC] Pointers marked as __iomem do not need to be volatile Fixes this warning: arch/powerpc/platforms/powermac/pci.c: In function 'u3_ht_cfg_access': arch/powerpc/platforms/powermac/pci.c:354: warning: return discards qualifiers from pointer target type arch/powerpc/platforms/powermac/pci.c:358: warning: return discards qualifiers from pointer target type Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit b91bdd15174ca7104905d74aaf89a6815c3f9d8c Author: Stephen Rothwell Date: Fri Dec 21 15:21:51 2007 +1100 [POWERPC] Constify the of_device_id passed to of_platform_bus_probe This will allow us to declare const all the statically declared arrrays of these. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 92d1616ec0302266dd753a6c2fc5b2f6e7d36a72 Author: Stephen Rothwell Date: Fri Dec 21 15:19:59 2007 +1100 [POWERPC] The builtin matches for ibmebus.c can be __initdata Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 1ce890e036338e866922820c075506f25f7abfec Author: Stephen Rothwell Date: Fri Dec 21 14:54:59 2007 +1100 [POWERPC] Add EHEA and EHCA as modules in the ppc64_defconfig Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit b1b166b7ea2ec15700a8ba5c6ec99c2f9ecad89e Author: Benjamin Herrenschmidt Date: Fri Dec 21 14:53:27 2007 +1100 [POWERPC] Fix possible NULL deref in ppc32 PCI The 32-bit PCI code tests if "bus" is non-NULL after calling pci_scan_bus_parented() in one place but not another before dereferencing it. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 0094f2cdcfb6f2132b2ea3b4e85e0f6899c8595b Author: Benjamin Herrenschmidt Date: Thu Dec 20 15:00:21 2007 +1100 [POWERPC] Fix for via-pmu based backlight control This fixes a few issues with via-pmu based backlight control. First, it fixes a sign problem with the setup of the backlight curve since the `range' value there -can- (and will) go negative. Then, it reworks the interaction between this and the via-pmu sleep code to properly restore backlight on wakeup from sleep. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 7ac5dde99eb9fefdb526973c600075b7c5703a86 Author: Scott Wood Date: Thu Dec 13 04:35:19 2007 +1100 [POWERPC] Implement arch disable/enable irq hooks. These hooks ensure that a decrementer interrupt is not pending when suspending; otherwise, problems may occur on 6xx/7xx/7xxx-based systems (except for powermacs, which use a separate suspend path). For example, with deep sleep on the 831x, a pending decrementer will cause a system freeze because the SoC thinks the decrementer interrupt would have woken the system, but the core must have interrupts disabled due to the setup required for deep sleep. Changed via-pmu.c to use the new ppc_md hooks, and made the arch_* functions call the generic_* functions unconditionally. -- paulus Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras 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 cbea92383d0d55fb4b4eb5833488bfee325254d6 Author: Jeremy Kerr Date: Thu Dec 20 16:39:59 2007 +0900 [POWERPC] spufs: Don't leak kernel stack through an empty {i,m}box_info read Based on an original patch from Arnd Bergmann If there's no entry in the mailbox, then a read on the _info file will return data from an uninitialised variable. This change returns EOF if there's no mailbox info available instead. Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 18789fb1c3311dd8c25acb6eb5ccab05771843f2 Author: Andre Detsch Date: Thu Dec 20 16:39:59 2007 +0900 [POWERPC] spufs: DMA Restart after SIGSEGV This fixes the behavior of spufs when a spu tries a DMA operation based on a wrong / unavailable address. Instead of just generating a SIGBUS signal, spufs now generates a SIGSEGV signal and restarts the problematic DMA operation after the execution of the application's signal handler. This allows applications to employ user-level paging systems. Although the restart_dma function is called before the application's signal handler, the operation is not actually performed at this time, since the spu context is already stopped. The operation only takes place when spu_run is restarted (which happens automatically). Signed-off-by: Andre Detsch Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 90608a2928a86b9464a8698275a1138e82e3a010 Author: Aegis Lin Date: Thu Dec 20 16:39:59 2007 +0900 [POWERPC] spufs: Use separate timer for /proc/spu_loadavg calculation The original spusched_timer was designed to take effect only when a context is waiting in the runqueue. This change adds an additional lower-freq timer has been added to purely handle the spu_load updates. The new timer will be triggered per LOAD_FREQ ticks. Signed-off-by: Aegis Lin Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit c9101bdb1b0c56a75a4618542d368fe5013946b9 Author: Christoph Hellwig Date: Thu Dec 20 16:39:59 2007 +0900 [POWERPC] spufs: make state_mutex interruptible Make most places that use spu_acquire/spu_acquire_saved interruptible, this allows getting out of the spufs code when e.g. pressing ctrl+c. There are a few places where we get called e.g. from spufs teardown routines were we can't simply err out so these are left with a comment. For now I've also not touched the poll routines because it's open what libspe would expect in terms of interrupted system calls. Acked-by: Arnd Bergmann Signed-off-by: Christoph Hellwig Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 197b1a8263bf365d2ca8aba532352036ff95e04d Author: Christoph Hellwig Date: Thu Dec 20 16:39:59 2007 +0900 [POWERPC] spufs: add enchanced simple attr macros The simple attr macros currently used by spufs can't deal with the handlers returning errors, which is required to make the state_mutex interruptible. This adds a local copy that allows for an error return from the get/set handlers. Signed-off-by: Christoph Hellwig Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit e65c2f6fcebb9af0c3f53c796aff730dd657f5e7 Author: Luke Browning Date: Thu Dec 20 16:39:59 2007 +0900 [POWERPC] spufs: decouple spu scheduler from spufs_spu_run (asynchronous scheduling) Change spufs_spu_run so that the context is queued directly to the scheduler and the controlling thread advances directly to spufs_wait() for spe errors and exceptions. nosched contexts are treated the same as before. Fixes from Christoph Hellwig Signed-off-by: Luke Browning Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 9476141c185aa131fa8b4b6ccc5c0ccf92300225 Author: Masato Noguchi Date: Thu Dec 20 16:39:59 2007 +0900 [POWERPC] spufs: don't set reserved bits in spu interrupt status This changes the spu context switch code to not write to reserved bits of spu interrupt status register. The architecture book says the reserved fields should be set to zero. Signed-off-by: Masato Noguchi Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit b192541b39ed29ff82f9f2d5427f451e89617f1c Author: Luke Browning Date: Thu Dec 20 16:39:59 2007 +0900 [POWERPC] spufs: spu_find_victim may choose wrong victim Need to re-check priority after dropping lock. Otherwise, a more favored context may be preempted. Signed-off-by: Luke Browning Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 91569531d1297db42d68136ac0c85cd85223d0b9 Author: Luke Browning Date: Thu Dec 20 16:39:59 2007 +0900 [POWERPC] spufs: reorganize spu_run_init This cleans up spu_run_init so that it does all of the spu initialization for spufs_run_spu. It initializes the spu context as much as possible before it activates the spu and writes the runcntl register. Signed-off-by: Luke Browning Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit d6ad39bc53521275d14fde86bfb94d9b2ddb7a08 Author: Jeremy Kerr Date: Thu Dec 20 16:39:59 2007 +0900 [POWERPC] spufs: rework class 0 and 1 interrupt handling Based on original patches from Arnd Bergmann ; and Luke Browning Currently, spu contexts need to be loaded to the SPU in order to take class 0 and class 1 exceptions. This change makes the actual interrupt-handlers much simpler (ie, set the exception information in the context save area), and defers the handling code to the spufs_handle_class[01] functions, called from spufs_run_spu. This should improve the concurrency of the spu scheduling leading to greater SPU utilization when SPUs are overcommited. Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 8af30675c3e7b945bbaf6f57b724f246e56eb209 Author: Jeremy Kerr Date: Thu Dec 20 16:39:59 2007 +0900 [POWERPC] spufs: use #defines for SPU class [012] exception status Add a few #defines for the class 0, 1 and 2 interrupt status bits, and use them instead of magic numbers when we're setting or checking for these interrupts. Also, add a #define for the class 2 mailbox threshold interrupt mask. Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit c40aa4710479b5d9f0e1fdf71b151f4c3708e3eb Author: Jeremy Kerr Date: Thu Dec 20 16:39:59 2007 +0900 [POWERPC] spufs: fix incorrect interrupt status clearing in backing mbox stat poll When doing a poll on the mbox stat file of a swapped-out context, we clear the class 0 interrupt status, rather than the class 2 interrupt status. This change corrects the poll operation to clear the correct interrupt. Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit cc210b3ec5e4d9c690549e07aa5853e8de8dbff9 Author: Luke Browning Date: Thu Dec 20 16:39:59 2007 +0900 [POWERPC] spufs: add backing ops for privcntl register This change encapsulates the spu_privcntl_RW register so that it can be written through backing ops. This is necessary so that spu contexts can be initialized and queued to the scheduler in spufs_run_spu. Signed-off-by: Luke Browning Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 33bfd7a73861c3727482c6c1c1c2ef40054060b7 Author: Arnd Bergmann Date: Thu Dec 20 16:39:59 2007 +0900 [POWERPC] spufs: block fault handlers in spu_acquire_runnable This change disables the logic that faults-in spu contexts under the covers from the page fault handler. When a fault requires a runnable context, the handler will block until the context is scheduled by other means. Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 7cd58e43810852eeb7af5a0c803f3890bd08b581 Author: Jeremy Kerr Date: Thu Dec 20 16:39:59 2007 +0900 [POWERPC] spufs: move fault, lscsa_alloc and switch code to spufs module Currently, part of the spufs code (switch.o, lscsa_alloc.o and fault.o) is compiled directly into the kernel. This change moves these components of spufs into the kernel. The lscsa and switch objects are fairly straightforward to move in. For the fault.o module, we split the fault-handling code into two parts: a/p/p/c/spu_fault.c and a/p/p/c/spufs/fault.c. The former is for the in-kernel spu_handle_mm_fault function, and we move the rest of the fault-handling code into spufs. Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 9b1d21f858e8bad750ab19cac23dcbf79d099be3 Author: Julio M. Merino Vidal Date: Thu Dec 20 16:39:59 2007 +0900 [POWERPC] spufs: fix typos in sched.c comments Fix a few typos in the spufs scheduler comments Signed-off-by: Julio M. Merino Vidal Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras 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 c25620d7663fef41c373d42c4923c1d6b9847684 Author: Masato Noguchi Date: Wed Dec 5 13:49:31 2007 +1100 [POWERPC] cell: wrap master run control bit Add platform specific SPU run control routines to the spufs. The current spufs implementation uses the SPU master run control bit (MFC_SR1[S]) to control SPE execution, but the PS3 hypervisor does not support the use of this feature. This change adds the run control wrapper routies spu_enable_spu() and spu_disable_spu(). The bare metal routines use the master run control bit, and the PS3 specific routines use the priv2 run control register. An outstanding enhancement for the PS3 would be to add a guard to check for incorrect access to the spu problem state when the spu context is disabled. This check could be implemented with a flag added to the spu context that would inhibit mapping problem state pages, and a routine to unmap spu problem state pages. When the spu is enabled with ps3_enable_spu() the flag would be set allowing pages to be mapped, and when the spu is disabled with ps3_disable_spu() the flag would be cleared and mapped problem state pages would be unmapped. Signed-off-by: Masato Noguchi Signed-off-by: Geoff Levand Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit eda09fbdcd8c5afaa81c2f1d28e8b9725bad4d5a Author: Emil Medve Date: Wed Nov 14 03:24:04 2007 +1100 [POWERPC] Optimize counting distinct entries in the relocation sections When a module has relocation sections with tens of thousands of entries, counting the distinct/unique entries only (i.e. no duplicates) at load time can take tens of seconds and up to minutes. The sore point is the count_relocs() function which is called as part of the architecture specific module loading processing path: -> load_module() generic -> module_frob_arch_sections() arch specific -> get_plt_size() 32-bit -> get_stubs_size() 64-bit -> count_relocs() Here count_relocs is being called to find out how many distinct targets of R_PPC_REL24 relocations there are, since each distinct target needs a PLT entry or a stub created for it. The previous counting algorithm has O(n^2) complexity. Basically two solutions were proposed on the e-mail list: a hash based approach and a sort based approach. The hash based approach is the fastest (O(n)) but the has it needs additional memory and for certain corner cases it could take lots of memory due to the degeneration of the hash. One such proposal was submitted here: http://ozlabs.org/pipermail/linuxppc-dev/2007-June/037641.html The sort based approach is slower (O(n * log n + n)) but if the sorting is done "in place" it doesn't need additional memory. This has O(n + n * log n) complexity with no additional memory requirements. This commit implements the in-place sort option. Signed-off-by: Emil Medve Signed-off-by: Paul Mackerras commit 1fe58a875e4bb08125c657b1b91ac515d2bdbcbe Author: Julia Lawall Date: Thu Dec 13 15:56:16 2007 -0800 [POWERPC] cell/cbe_regs.c: Add missing of_node_put There should be an of_node_put when breaking out of a loop that iterates using for_each_node_by_type. This was detected and fixed using the following semantic patch. (http://www.emn.fr/x-info/coccinelle/) // @@ identifier d; type T; expression e; iterator for_each_node_by_type; @@ T *d; ... for_each_node_by_type(d,...) {... when != of_node_put(d) when != e = d ( return d; | + of_node_put(d); ? return ...; ) ...} // Signed-off-by: Julia Lawall Cc: Christian Krafft Cc: Benjamin Herrenschmidt Cc: David Erb Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit af449c330eb39ae57b139832181d0dcf3b94d806 Author: Julia Lawall Date: Thu Dec 13 15:56:15 2007 -0800 [POWERPC] arch/powerpc: Add missing of_node_put There should be an of_node_put when breaking out of a loop that iterates over calls to of_find_all_nodes, as this function does an of_node_get on the value it returns. This was fixed using the following semantic patch. (http://www.emn.fr/x-info/coccinelle/) // @@ type T; identifier d; expression e; @@ T *d; ... for (d = NULL; (d = of_find_all_nodes(d)) != NULL; ) {... when != of_node_put(d) when != e = d ( return d; | + of_node_put(d); ? return ...; ) ...} // Signed-off-by: Julia Lawall Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit bd4c2edc90c020ba5573da5dbd796fd6ab78692b Author: Julia Lawall Date: Thu Dec 13 15:56:07 2007 -0800 [POWERPC] arch/ppc: Remove an unnecessary pci_dev_put Remove an unnecessary pci_dev_put. pci_dev_put is called implicitly by the subsequent call to pci_get_device. The problem was detected using the following semantic patch, and corrected by hand. @@ expression dev; expression E; @@ - pci_dev_put(dev) ... when != dev = E - pci_get_device(...,dev) Signed-off-by: Julia Lawall Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit ca55f0570304dd625370f85097fec81dd5a92090 Author: Lucas Woods Date: Thu Dec 13 15:56:06 2007 -0800 [POWERPC] arch/ppc: Remove duplicate includes Signed-off-by: Lucas Woods Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 05ead01554f876b030f4745b2d58db3e53f76ca9 Author: Lucas Woods Date: Thu Dec 13 15:56:06 2007 -0800 [POWERPC] arch/powerpc: Remove duplicate includes Signed-off-by: Lucas Woods Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 6c6199c1551b7acd4f7898f073b40ae565d3b834 Author: Li Zefan Date: Thu Dec 6 20:33:14 2007 +1100 [POWERPC] Don't cast a struct pointer to list_head pointer The casting is safe only when the list_head member is the first member of the structure, and even then it is better to use the address of the list_head structure member. Signed-off-by: Li Zefan Signed-off-by: Paul Mackerras commit 9ac71d00398674aaec664f30559f0a21d963862f Author: Cyrill Gorcunov Date: Fri Nov 23 16:43:04 2007 +1100 [POWERPC] CHRP: Fix possible NULL pointer dereference This fixes a possible NULL pointer dereference inside of strncmp() if of_get_property() fails. Signed-off-by: Cyrill Gorcunov Signed-off-by: Paul Mackerras commit 08a644ecef9383b109b763f5087265fd1759875f Author: Stephen Rothwell Date: Wed Nov 7 16:13:29 2007 +1100 [POWERPC] Stop the TOC overflowing for large builds We were using -mno-minimal-toc on everything in arch/powerpc/kernel, which means that all the functions in there were putting all their TOC entries in the top-level TOC, and it was overflowing on an allyesconfig build. For various reasons, prom_init.c does need -mno-minimal-toc, but the other .c files in there can use sub-TOCs quite happily. This change is sufficient for now to stop the TOC overflowing; other directories under arch/powerpc also use -mno-minimal-toc and could also be changed later if necessary. Lmbench runs with and without this patch showed no significant speed differences. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 54a24cbbd0184faffc37c39cd3a896f4ddac3e03 Author: Benjamin Herrenschmidt Date: Thu Dec 20 15:10:02 2007 +1100 [POWERPC] Fix PCI IRQ fallback code to not map IRQ 0 The PCI IRQ code has a fallback when the device-tree parsing fails, that tries to map the interrupt indicated by PCI_INTERRUPT_LINE if the firmware set something in there. This is a bit fragile but has proven useful in some cases so far. However, it's causing us to incorrectly try to map interrupt 0 on various setups, so let's prevent that case, as none of the cases where the fallback is legit should have an IRQ 0. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 553aa7659bc0e188348f64e978343ed984eb6e56 Author: Benjamin Herrenschmidt Date: Thu Dec 20 14:55:05 2007 +1100 [POWERPC] Disable PCI IO/Mem on a device when resources can't be allocated This patch changes the PowerPC PCI code to disable IO and/or Memory decoding on a PCI device when a resource of that type failed to be allocated. This is done to avoid having unallocated dangling BARs enabled that might try to decode on top of other devices. If a proper resource is assigned later on, then pci_enable_device() will take care of re-enabling decoding. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit be8cbcd8896670a01ead7a29e33ffe29604ed734 Author: Benjamin Herrenschmidt Date: Thu Dec 20 14:55:04 2007 +1100 [POWERPC] Fixup skipping of PowerMac PCI<->PCI bridge "closed" resources Apple firmware has a strange way to "close" bridge resources by setting them to some bogus values that overlap RAM (strangely, I haven't seen it conflicting with DMA so far...). This explicitely closes them to avoid problems. Previously, they would be closed as a consequence of failing to be allocated, but this makes it more explicit, and thus the log message is more explicit too. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit d0264ce796e4e3d77fdadf72d6625f8e6c1c96bd Author: Benjamin Herrenschmidt Date: Thu Dec 20 14:55:02 2007 +1100 [POWERPC] Improve resource setup of PowerMac G5 HT bridge The device node for the HT bridge on G5s doesn't contain useful ranges. We used to give it a bunch of the known PCI space and then punch a "hole" in it based on where the AGP or PCIe region was. This reworks it to use the actual register in the bridge that controls the decoding instead. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 444532d44aa6bc4d6e3ca74d8ad99c36f3b4d9f0 Author: Benjamin Herrenschmidt Date: Thu Dec 20 14:55:01 2007 +1100 [POWERPC] Enable self-view of the HT host bridge on PowerMac G5 This enables the PCI code to see the device that represents the HT host bridge on the PowerMac G5. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit bcf988a19458f08950551f66c110e41fac452b2b Author: Benjamin Herrenschmidt Date: Thu Dec 20 14:55:00 2007 +1100 [POWERPC] Various fixes to pcibios_enable_device() Our implementation of pcibios_enable_device() has a couple of problems. One is that it should not check IORESOURCE_UNSET, as this might be left dangling after resource assignment (shouldn't but there are bugs), but instead, we make it check resource->parent which should be a reliable indication that the resource has been successfully claimed (it's in the resource tree). Then, we also need to skip ROM resources that haven't been enabled as x86 does. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 295f83e7aaa87d52b8d16077225a90dab61df45a Author: Benjamin Herrenschmidt Date: Thu Dec 20 14:54:58 2007 +1100 [POWERPC] Clear pci_probe_only on 64 bits PowerMac It should now be safe to re-assign unassigned resources on 64 bits PowerMac machines (G5s). This clears pci_probe_only on those. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit bc0826cfb102b6f360f2ec3082fa794f5dbbdee7 Author: Benjamin Herrenschmidt Date: Thu Dec 20 14:54:57 2007 +1100 [POWERPC] Fixup powermac enable device hook Powermac's use of the pcibios_enable_device_hook() got slightly broken by the recent PCI merge in that it won't be called for the "initial" case of assigning resources to a previously unassigned device. This was an abuse of that hook anyway, so instead we now use a header quirk. While at it, we move a #ifdef CONFIG_PPC32 to enclose more code that is only ever used on 32 bits. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 549beb9ba3b03345cbd8e1233825d5b197a3f9f7 Author: Benjamin Herrenschmidt Date: Thu Dec 20 14:54:57 2007 +1100 [POWERPC] Merge 32 and 64 bits pcibios_enable_device This merge the two implementations, based on the previously fixed up 32 bits one. The pcibios_enable_device_hook in ppc_md is now available for ppc64 use. Also remove the new unused "initial" parameter from it and fixup users. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 24f8c827f9b8ab2c8644f7ab85a1b1d58fc0fcf7 Author: Benjamin Herrenschmidt Date: Thu Dec 20 14:54:56 2007 +1100 [POWERPC] Updates/fixes to 32 bits pcibios_enable_device() Our implementation of pcibios_enable_device() incorrectly ignores the mask argument and always checks that all resources have been allocated, which isn't the right thing to do anymore. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 50c9bc2fc86fddd39eea6a12ceb81585bc2aafaa Author: Benjamin Herrenschmidt Date: Thu Dec 20 14:54:55 2007 +1100 [POWERPC] fix iSeries PCI resource management The way iSeries manages PCI IO and Memory resources is a bit strange and is based on overriding the content of those resources with home cooked ones afterward. This changes it a bit to better integrate with the new resource handling so that the "virtual" tokens that iSeries replaces resources with are done from the proper per-device fixup hook, and bridge resources are set to enclose that token space. This fixes various things such as the output of /proc/iomem & ioports, among others. This also fixes up various boot messages as well. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 3fd94c6b1a1158d3e0e505b0a00c3a707b5fcd40 Author: Benjamin Herrenschmidt Date: Thu Dec 20 14:54:53 2007 +1100 [POWERPC] Merge PCI resource allocation & assignment The 32 bits PCI code now uses the generic code for assigning unassigned resources and an algorithm similar to x86 for claiming existing ones. This works far better than the 64 bits code which basically can only claim existing ones (pci_probe_only=1) or would fall apart completely. This merges them so that the new 32 bits implementation is used for both. 64 bits now gets the new PCI flags for controlling the behaviour, though the old pci_probe_only global is still there for now to be cleared if you want to. I kept a pcibios_claim_one_bus() function mostly based on the old 64 bits code for use by the DLPAR hotplug. This will have to be cleaned up, thought I hope it will work in the meantime. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit bf5e2ba28f24f82a64524ef4772c9ebe12e2cd2a Author: Benjamin Herrenschmidt Date: Thu Dec 20 14:54:51 2007 +1100 [POWERPC] Merge PCI resource fixups The PCI code in 32 and 64 bits fixes up resources differently. 32 bits uses a header quirk plus handles bridges in pcibios_fixup_bus() while 64 bits does things in various places depending on whether you are using OF probing, using PCI hotplug, etc... This merges those by basically using the 32 bits approach for both, with various tweaks to make 64 bits work with the new approach. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit fe2d338cdcc628e0abdb4f70570a7fa864c617db Author: Benjamin Herrenschmidt Date: Thu Dec 20 14:54:50 2007 +1100 [POWERPC] Merge pcibios_resource_to_bus/bus_to_resource This merges the PowerPC 32 and 64 bits version of pcibios_resource_to_bus and pcibios_bus_to_resource(). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit fa462f2d75e2437b5757069d3d7d27b1e50285cb Author: Benjamin Herrenschmidt Date: Thu Dec 20 14:54:49 2007 +1100 [POWERPC] pci32: Add platform option to enable /proc PCI domains This adds flags the platforms can use to enable domain numbers in /proc/bus/pci. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 853ad6c2e752215237e7fb26d681ed0008dd081a Author: Benjamin Herrenschmidt Date: Thu Dec 20 14:54:48 2007 +1100 [POWERPC] pci32: Remove obsolete PowerMac bus number hack The 32 bits PCI code carries an old hack that was only useful for G5 machines. Nowdays, the 32 bits kernel doesn't support any of those machines anymore so the hack is basically never used, so remove it. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit fc3fb71c3e1850a6a1099dd1cb7bcd7e69ac7b73 Author: Benjamin Herrenschmidt Date: Thu Dec 20 14:54:46 2007 +1100 [POWERPC] pci32: Add flags modifying the PCI code behaviour This adds to the 32 bits PCI code some flags, replacing the old pci_assign_all_busses global, that allow us to control various aspects of the PCI probing, such as whether to re-assign all resources or not, or to not try to assign anything at all. This also adds the flag x86 already has to avoid ISA alignment on bridges that don't have ISA forwarding enabled (no legacy devices on the top level bus) and sets it for PowerMacs. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit b9baa20b0a50947f2e86d7775c9dba87c0d946ef Author: Benjamin Herrenschmidt Date: Thu Dec 20 14:54:44 2007 +1100 [POWERPC] pci32: Remove PowerMac P2P bridge IO hack The 32 bits PowerPC PCI code has a hack for use by some PowerMacs to try to re-open PCI<->PCI bridge IO resources that were closed by the firmware. This is no longer necessary as the generic code will now do that for us. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 0ec6b5c1028f29aed07bc7c32945990c5cd48c14 Author: Benjamin Herrenschmidt Date: Thu Dec 20 14:54:43 2007 +1100 [POWERPC] pci32: Use generic pci_assign_unassign_resources This makes the 32 bits PowerPC PCI code use the generic code to assign resources to devices that had unassigned or conflicting resources. This allow us to remove the local implementation that was incomplete and could not assign for example a PCI<->PCI bridge from scratch, which is needed on various embedded platforms. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit b1258fd1029a47e99a624970b16ac11ad97ddb6a Author: Benjamin Herrenschmidt Date: Thu Dec 20 14:54:42 2007 +1100 [POWERPC] pci32: Remove bogus alignment message There's a stale & bogus piece of code in 32 bits PCI code that complains about ISA related alignment issues. Just remove it. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit e2dc87a1dc7e2ece822eaf703d00f2ecb7c3bc70 Author: David Gibson Date: Tue Dec 18 15:07:20 2007 +1100 [POWERPC] Use embedded dtc in kernel builds This patch alters the kernel makefiles to build dtc from the sources embedded in the previous patch. It also changes the arch/powerpc/boot/wrapper script to use the embedded dtc, rather than expecting a copy of dtc already installed on the system. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit a4da2e3ec84cda635ac441efbe781a38d2ee41ee Author: David Gibson Date: Tue Dec 18 15:06:42 2007 +1100 [POWERPC] Merge dtc upstream source This incorporates a copy of dtc into the kernel source, in arch/powerpc/boot/dtc-src. This commit only imports the upstream sources verbatim, a later commit will actually link it into the kernel Makefiles and use the embedded code during the kernel build. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 70e47528aa0eb5ef63fef6ee0d30065d9e09f3e5 Author: Olof Johansson Date: Tue Dec 18 10:04:34 2007 +1100 [POWERPC] holly.c: Remove unnecessary include of linux/ide.h There's nothing in holly.c that needs linux/ide.h, just remove it from the list of includes. Signed-off-by: Olof Johansson Acked-by: Josh Boyer Signed-off-by: Paul Mackerras commit f3d711aa02791ca5efa33112994063c9aeaf39ee Author: joe@perches.com Date: Tue Dec 18 06:30:15 2007 +1100 [POWERPC] include/asm-ppc/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Paul Mackerras commit c90e10962516c36edf5d9ea756cf11c7853084c5 Author: joe@perches.com Date: Tue Dec 18 06:30:14 2007 +1100 [POWERPC] arch/ppc/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Paul Mackerras commit 567e9fdd49bcfa7e15ebc0005853ac5529c81856 Author: joe@perches.com Date: Tue Dec 18 06:30:13 2007 +1100 [POWERPC] include/asm-powerpc/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Paul Mackerras commit 00d70419fc8f86db94f56e0191be392c4a57f244 Author: joe@perches.com Date: Tue Dec 18 06:30:12 2007 +1100 [POWERPC] arch/powerpc/: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Paul Mackerras commit 84631f37cc405dd6dcd566f9fa4e8a3ca2f03f76 Author: Michael Ellerman Date: Mon Dec 17 17:35:53 2007 +1100 [POWERPC] Implement pci_set_dma_mask() in terms of the dma_ops PowerPC currently doesn't implement pci_set_dma_mask(), which means drivers calling it will get the generic version in drivers/pci/pci.c. The powerpc dma mapping ops include a dma_set_mask() hook, which luckily is not implemented by anyone - so there is no bug in the fact that the hook is currently never called. However in future we'll add implementation(s) of dma_set_mask(), and so we need pci_set_dma_mask() to call the hook. To save adding a hook to the dma mapping ops, pci-set_consistent_dma_mask() simply calls the dma_set_mask() hook and then copies the new mask into dev.coherenet_dma_mask. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 53024fe250a0f044b114844a01456902bce40ade Author: Milton Miller Date: Fri Dec 14 15:52:20 2007 +1100 [POWERPC] Optimize account_system_vtime We have multiple calls to has_feature being inlined, but gcc can't be sure that the store via get_paca() doesn't alias the path to cur_cpu_spec->feature. Reorder to put the calls to read_purr and read_spurr adjacent to each other. To add a sense of consistency, reorder the remaining lines to perform parallel steps on purr and scaled purr of each line instead of calculating and then using one value before going on to the next. In addition, we can tell gcc that no SPURR means no PURR. The test is completely hidden in the PURR case, and in the !PURR case the second test is eliminated resulting in the simple register copy in the out-of-line branch. Further, gcc sees get_paca()->system_time referenced several times and allocates a register to address it (shadowing r13) instead of caching its value. Reading into a local varable saves the shadow of r13 and removes a potentially duplicate load (between the nested if and its parent). Signed-off-by: Milton Miller Signed-off-by: Paul Mackerras commit db3801a858e97adee0f3b4c732e6ff325d95e0a5 Author: Milton Miller Date: Fri Dec 14 15:52:19 2007 +1100 [POWERPC] Depend on ->initialized in calc_steal_time If CPU_FTR_PURR is not set, we will never set cpu_purr_data->initialized. Checking via __get_cpu_var on 64 bit avoids one dependent load compared to cpu_has_feature in the not-present case, and is always required when it is present. The code is under CONFIG_VIRT_CPU_ACCOUNTING so 32 bit will not be affected. Signed-off-by: Milton Miller Signed-off-by: Paul Mackerras commit 6e6b44e8223a01d35fceec3631be356fbdbcf004 Author: Milton Miller Date: Fri Dec 14 15:52:15 2007 +1100 [POWERPC] Timer interrupt: use a struct for two per_cpu varables timer_interrupt() was calculating per_cpu_offset several times, having to start from the toc because of potential aliasing issues. Placing both decrementer per_cpu varables in a struct and calculating the address once with __get_cpu_var results in better code on both 32 and 64 bit. Signed-off-by: Milton Miller Signed-off-by: Paul Mackerras commit 8b5621f183f7e56958b0a0aae689af5af2efeda7 Author: Milton Miller Date: Fri Dec 14 15:52:10 2007 +1100 [POWERPC] Use __get_cpu_var in time.c Use __get_cpu_var(x) instead of per_cpu(x, smp_processor_id()), as it is optimized on ppc64 to access the current cpu's per-cpu offset directly; it's local_paca.offset instead of TOC->paca[local_paca->processor_id].offset. This is the trivial portion, two functions with one use each. Signed-off-by: Milton Miller Signed-off-by: Paul Mackerras commit c481887f2b74f87f714e2b76b8b834e57912bd0a Author: Milton Miller Date: Fri Dec 14 15:52:10 2007 +1100 [POWERPC] init_decrementer_clockevent can be static __init as its only called from time_init, which is __init. Also remove unneeded forward declaration. Signed-off-by: Milton Miller Signed-off-by: Paul Mackerras commit d7cf0edb8f7d53bfc8b5e40893415d48656c0399 Author: Milton Miller Date: Fri Dec 14 15:52:09 2007 +1100 [POWERPC] Push down or eliminate smp_processor_id calls in xics code The per-processor interrupt request register and current processor priority register are only accessed on the current cpu. In fact the hypervisor doesn't even let us choose which cpu's registers to access. The only function to use cpu twice is xics_migrate_irqs_away, not a fast path. But we can cache the result of get_hard_processor_id() instead of calling get_hard_smp_processor_id(cpu) in a loop across the call to rtas. Years ago the irq code passed smp_processor_id into get_irq, I thought we might initialize the CPPR third party at boot as an extra measure of saftey, and it made the code symmetric with the qirr (queued interrupt for software generated interrupts), but now it is just extra and sometimes unneeded work to pass it down. Signed-off-by: Milton Miller Signed-off-by: Paul Mackerras commit 7e1961ff4954d6ab627d9b606785afdcd0dda84b Author: Ishizaki Kou Date: Thu Dec 13 21:13:14 2007 +1100 [POWERPC] celleb: Split machine definition This splits the machine definition for celleb into two definitions, one for celleb_beat, and the other for celleb_native. Though this looks complex because of sorting some functions, there are no more semantic changes than that for the splitting. Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 4751505cf7299318d19a42bdabe0eb5db6d732c4 Author: Ishizaki Kou Date: Thu Dec 13 21:11:36 2007 +1100 [POWERPC] Cleanup calling mmio_nvram_init This makes mmio_nvram_init() callable unconditionally by providing a dummy definition when CONFIG_MMIO_NVRAM is not defined. Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 38958dd9113c19cd7a927009ae585bd5aba3295e Author: Olof Johansson Date: Wed Dec 12 17:44:46 2007 +1100 [POWERPC] pasemi: Implement MSI support Implement MSI support for PA Semi PWRficient platforms. MSI is done through a special range of sources on the openpic controller, and they're unfortunately breaking the usual concepts of how sources are programmed: * The source is calculated as 512 + the value written into the MSI register * The vector for this source is added to the source and reported through IACK This means that for simplicity, it makes much more sense to just set the vector to 0 for the source, since that's really the vector we expect to see from IACK. Also, the affinity/priority registers will affect 16 sources at a time. To avoid most (simple) users from being limited by this, allocate 16 sources per device but use only one. This means that there's a total of 32 sources. If we get usage scenarions that need more sources, the allocator should probably be revised to take an alignment argument and size, not just do natural alignment. Finally, since I'm already touching the MPIC names on pasemi, rename the base one from the somewhat odd " PAS-OPIC " to "PASEMI-OPIC". Signed-off-by: Olof Johansson Acked-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 731e74c43d4e47daf327748128f1a3648e5d39a5 Author: Stephen Rothwell Date: Wed Dec 12 15:00:56 2007 +1100 [POWERPC] iSeries: Fix unregistering HV event handlers Commit fbd568a3e61a7decb8a754ad952aaa5b5c82e9e5 ("Change synchronize_kernel to _rcu and _sched") changed the deprecated synchronize_kernel() in HvLpEvent_unregisterHandler() to synchronize_rcu(). It turns out that it should have been synchronize_sched(). Signed-off-by: Stephen Rothwell Acked-by: Paul E. McKenney Signed-off-by: Paul Mackerras commit 2a9d2d97d370e3fe959312762c3190e6a6ae9e11 Author: Scott Wood Date: Wed Dec 12 08:23:05 2007 +1100 [POWERPC] wrapper: Treat NULL as root node in devp_offset; add devp_offset_find() Many operations, as currently used in the wrapper, assume they can pass NULL and have it be treated as the root node. However, libfdt-wrapper converts NULL to -1, which is only appropriate when searching for nodes, and will cause an error otherwise. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 754e5f3f3a96264b96d5593242d81c7468af70cb Author: Scott Wood Date: Wed Dec 12 08:23:04 2007 +1100 [POWERPC] wrapper: Rename offset in offset_devp() fdt_wrapper_create_node passes a variable called offset to offset_devp(), which uses said parameter to initialize a local variable called offset. Due to one of the odder aspects of the C language, the result is an undefined variable, with no error or warning. Signed-off-by: Scott Wood Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 5c3f5892a2db6757a72ce8b27cba90db06683e1d Author: Balbir Singh Date: Sat Dec 8 09:37:14 2007 +1100 [POWERPC] Fake NUMA emulation for PowerPC Here's a dumb simple implementation of fake NUMA nodes for PowerPC. Fake NUMA nodes can be specified using the following command line option numa=fake= node range is of the format ,,... Each of the rangeX parameters is passed using memparse(). I find this useful for fake NUMA emulation on my simple PowerPC machine. I've tested it on a non-numa box with the following arguments: numa=fake=1G numa=fake=1G,2G name=fake=1G,512M,2G numa=fake=1500M,2800M mem=3500M numa=fake=1G mem=512M numa=fake=1G mem=1G Signed-off-by: Balbir Singh Acked-by: Olof Johansson Signed-off-by: Paul Mackerras commit 800d68c3aa0dc3e31a87f1499d63359caa77441c Author: Grant Likely Date: Sun Dec 2 17:10:28 2007 +1100 [POWERPC] Add machine initcall macros The machine initcall macros allow initcalls to be registered which test machine_is() before executing the initcall. Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit 194046a17ee2600908541bc9cd5d6d421805f132 Author: Olof Johansson Date: Sat Oct 20 09:49:50 2007 +1000 [POWERPC] MPIC: Minor optimization of ipi handler Optimize MPIC IPIs, by passing in the IPI number as the argument to the handler, since all we did was translate it back based on which mpic the interrupt came though on (and that was always the primary mpic). Signed-off-by: Olof Johansson Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 2c0b713f70ecccaf4f535caf602f41350a9f484a Merge: f91266e... 1e77103... Author: Paul Mackerras Date: Thu Dec 20 14:41:27 2007 +1100 Merge branch 'for-2.6.25' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/cell-2.6 into for-2.6.25 commit f91266edba3c6ef001819c5abe4c3a0643f66fc9 Author: Johannes Berg Date: Wed Dec 12 01:25:59 2007 +1100 [POWERPC] powermac: Use generic suspend code This adds platform_suspend_ops for PMU based machines, directly in the PMU driver. This allows suspending via /sys/power/state on powerbooks. The patch also replaces the PMU ioctl with a simple call to pm_suspend(PM_SUSPEND_MEM). Additionally, it cleans up some debug code. Signed-off-by: Johannes Berg Cc: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 887ef35ae4eb269839e0f296b132edc15477db1c Author: Paul Mackerras Date: Wed Dec 19 22:45:31 2007 +1100 [POWERPC] Fix sleep on powerbook 3400 Sleep on the powerbook 3400 has been broken since the change that made powerbook_sleep_3400 call pmac_suspend_devices(), which disables interrupts. There are a couple of loops in powerbook_sleep_3400 that depend on interrupts being enabled, and in fact it has to have interrupts enabled at the point of going to sleep since it is an interrupt from the PMU that wakes it up. This fixes it by using pmu_wait_complete() instead of a spinloop, and by explicitly enabling interrupts before putting the CPU into sleep mode (which is OK since all interrupts except the PMU interrupt have been disabled at the interrupt controller by this stage). This changes the logic so that it keeps putting the CPU into sleep mode until the completion of the interrupt transaction from the PMU that signals the end of sleep. Also, we now call pmu_unlock() before sleep so that the via_pmu_interrupt() code can process the interrupt event from the PMU properly. Now that generic code saves and restores PCI state, it is no longer necessary to do that here. Thus pbook_pci_save/restore and related functions are no longer necessary, so this removes them. Lastly, this moves the ioremap of the memory controller to init code rather than doing it on every sleep/wakeup cycle. Signed-off-by: Paul Mackerras commit 98f6740ea6d532550c4010960fcead2c32bd56f5 Author: Paul Mackerras Date: Thu Dec 13 15:57:45 2007 +1100 [POWERPC] Convert therm_windtunnel.c to use the kthread API This is fairly straightforward, and lets us get rid of x.completion as well. Signed-off-by: Paul Mackerras commit 39d183d87791cdfd9d430df299396c0fc688ea7a Author: Paul Mackerras Date: Thu Dec 13 15:54:45 2007 +1100 [POWERPC] Convert therm_pm72.c to use the kthread API This converts the therm_pm72.c driver to use the kthread API. I thought about making it use kthread_stop() instead of the `state' variable and the `ctrl_complete' completion, but that isn't simple and will require changing the way that `state' is used. Signed-off-by: Paul Mackerras commit c61dace9a10a4bc54c764f9f490994a9d7852859 Author: Paul Mackerras Date: Thu Dec 13 15:11:22 2007 +1100 [POWERPC] Convert adb.c to use kthread API and not spin on ADB requests This converts adb.c to use the kthread API. It also changes adb_request so that if the ADBREQ_SYNC flag is specified, we now sleep waiting for the request to finish using an on-stack completion rather than spinning. To implement this, we now require that if the ADBREQ_SYNC flag is set, the `done' parameter must be NULL. All of the existing callers of adb_request that pass ADBREQ_SYNC appear to be in process context and have done == NULL. Doing this allows us to get rid of an awful hack in adb_request() where we used to test whether the request was coming from the adb probe task and use a completion if it was, and otherwise spin. This also gets rid of a static request block that was used if the req parameter to adb_request was NULL. None of the callers do that any more, so the static request block is no longer necessary. Signed-off-by: Paul Mackerras commit 33f6e7940691b1c92b276148c48a9551ac07f11d Author: Paul Mackerras Date: Thu Dec 13 14:12:58 2007 +1100 [POWERPC] Convert media-bay.c to use the kthread API We aren't supposed to use kernel_thread directly in drivers any more, and in fact using kthread_run is a bit simpler. Signed-off-by: Paul Mackerras commit b819a9bfc7ae5a1ab5bab18c7e0dbe40bf2289a9 Author: Johannes Berg Date: Wed Dec 12 01:21:26 2007 +1100 [POWERPC] via-pmu: Kill sleep notifiers completely This kills off the remnants of the old sleep notifiers now that they are no longer used. Signed-off-by: Johannes Berg Cc: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit c9f6d3d5c6d4f4cd3a53549a69c92951180e2a76 Author: Johannes Berg Date: Wed Dec 12 01:21:25 2007 +1100 [POWERPC] adb: Replace sleep notifier with platform driver suspend/resume hooks This replaces the pmu sleep notifier that adb had with suspend/resume hooks in a new platform driver/device. Signed-off-by: Johannes Berg Cc: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 1e7710390f95b7efb3f74fd2f8b5fc28656b458c Author: Jeremy Kerr Date: Wed Dec 5 13:49:31 2007 +1100 [POWERPC] cell: catch errors from sysfs_create_group() We're currently getting a warning from not checking the result of sysfs_create_group, which is declared as __must_check. This change introduces appropriate error-handling for spu_add_sysdev_attr_group() Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit 684bd614015188561197342fd336292e9e2ce196 Author: Jeremy Kerr Date: Wed Dec 5 13:49:31 2007 +1100 [POWERPC] cell: handle SPE kernel mappings that cross segment boundaries Currently, we have a possibilty that the SLBs setup during context switch don't cover the entirety of the necessary lscsa and code regions, if these regions cross a segment boundary. This change checks the start and end of each region, and inserts a SLB entry for each, if unique. We also remove the assumption that the spu_save_code and spu_restore_code reside in the same segment, by using the specific code array for save and restore. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit f6eb7d7ffef3e2fa40b0161c30486cb87203758d Author: Jeremy Kerr Date: Wed Dec 5 13:49:31 2007 +1100 [POWERPC] cell: add spu_64k_pages_available() check Add a function spu_64k_pages_available(), so that we can abstract the explicity use of mmu_psize_defs() in lssca_alloc.c Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit 4d43466d567a6620f4f6d8576e1bed5d7cf4c28d Author: Jeremy Kerr Date: Wed Dec 5 13:49:31 2007 +1100 [POWERPC] cell: use spu_load_slb for SLB setup Now that we have a helper function to setup a SPU SLB, use it for __spu_trap_data_seq. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit 58bd403c3c79dd41acf5af2d170bd4e0872bb326 Author: Jeremy Kerr Date: Wed Dec 5 13:49:31 2007 +1100 [POWERPC] cell: handle kernel SLB setup in spu_base.c Currently, the SPU context switch code (spufs/switch.c) sets up the SPU's SLBs directly, which requires some low-level mm stuff. This change moves the kernel SLB setup to spu_base.c, by exposing a function spu_setup_kernel_slbs() to do this setup. This allows us to remove the low-level mm code from switch.c, making it possible to later move switch.c to the spufs module. Also, add a struct spu_slb for the cases where we need to deal with SLB entries. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit a0a7ae8939e3fdecf5478ddba54562e23de7ca1d Author: Andre Detsch Date: Wed Dec 5 13:49:31 2007 +1100 [POWERPC] cell: safer of_has_vicinity routine This patch changes the way we check for the existence of vicinity property in spe device nodes. The new implementation does not depend on having an initialized cbe_spu_info[0].spus, and checks for presence of vicinity in all nodes, not only in the first one. Signed-off-by: Andre Detsch Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit 3ce2f62b05eca594356fc477229e233e2678b509 Author: Jeremy Kerr Date: Wed Dec 5 13:49:31 2007 +1100 [POWERPC] cell: export force_sig_info() Export force_sig_info to allow signals to be sent from a modular spufs. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit d8caf74f1bb82817f8efbd071bf4ecc83adf296a Author: Jon Loeliger Date: Tue Nov 13 11:10:58 2007 -0600 [POWERPC] cell: Convert #include of asm/of_{platform, device}.h into linux/of_{platform, device}.h. Signed-off-by: Jon Loeliger Acked-by: Stephen Rothwell Signed-off-by: Arnd Bergmann commit 23666ebc15456e297448ed2b6745ac0bb5bd26a2 Author: Ishizaki Kou Date: Thu Nov 1 19:04:04 2007 +0900 [POWERPC] cell: add missing '\n' Two printk() calls were missing the terminating '\n'. Signed-off-by: Kou Ishizaki Signed-off-by: Arnd Bergmann commit a1ef4849fdca379cf51cbacd337e8fa742437d26 Author: Bob Nelson Date: Fri Aug 17 11:06:09 2007 -0500 [POWERPC] OProfile: fix cbe pm signal routing problem Fix debug_bus_control and group_control PMU register values set up in set_pm_event(). Initialize variables before calling set_pm_event(). Delete unused static array and code that initialized it. Rename constant to better reflect usage. Signed-off-by: Bob Nelson Signed-off-by: Arnd Bergmann commit 29641ce165e5f643b48988cb779c6ba97b647503 Author: Kevin Corry Date: Tue Dec 11 13:49:17 2007 +0100 [POWERPC] perfmon2: make pm_interval register read/write The pm_interval register in the Cell PMU is read/write, but was implemented in the kernel as write-only. Previously, the written value was saved in a "shadow" copy so calls to cbe_read_pm() could return the value. Perfmon2 needs to be able to read the current values of pm_interval, so change cbe_read_pm() to read the actual register instead of the "shadow" copy. There is currently no code in the kernel that tries to read the pm_interval register with cbe_read_pm() (expecting to receive the "shadow" value), so this should not break any existing code. Signed-off-by: Kevin Corry Signed-off-by: Carl Love Signed-off-by: Arnd Bergmann commit 239665a3bb0a2234980f918913add31bc536cfd1 Author: Len Brown Date: Fri Nov 23 20:08:02 2007 -0500 ACPI: tables: complete searching upon RSDP w/ bad checksum. ACPI tables follow a tree structure in memory. The root of the tree is the RSDP (Root System Description Pointer). To find the RSDP, the OS searches for the signature "RSD PTR " in well known physical memory locations. Then the OS computes a table checksum to verify that the signature is really part of a valid table header. Some systems have a proper signature but an invalid checksum; followed elsewhere by a proper signature with valid checksum. http://bugzilla.kernel.org/show_bug.cgi?id=9444 The Linux RSDP scanning code bailed out on those systems and as a result they booted with ACPI disabled. Fix this by deleting the Linux RSDP scanning code and plugging in the ACPICA RSDP scanning code. Signed-off-by: Len Brown commit 9fb1e350e16164d56990dde036ae9c0a2fd3f634 Author: Timur Tabi Date: Mon Dec 3 15:17:59 2007 -0600 [POWERPC] ucc_geth: use rx-clock-name and tx-clock-name device tree properties Updates the ucc_geth device driver to check the new rx-clock-name and tx-clock-name properties first. If present, it uses the new function qe_clock_source() to obtain the clock source. Otherwise, it checks the deprecated rx-clock and tx-clock properties. Update the device trees for 832x, 836x, and 8568 to contain the new property names only. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit 25de5718356e264820625600a9edca1df5ff26f8 Author: Len Brown Date: Fri Dec 14 00:24:15 2007 -0500 cpuidle: default processor.latency_factor=2 More aggressively request deep C-states. Note that the job of the OS is to minimize latency impact to expected break events such as interrupts. It is not the job of the OS to try to calculate if the C-state will reach energy break-even. The platform doesn't give the OS enough information for it to make that calculation. Thus, it is up to the platform to decide if it is worth it to go as deep as the OS requested it to, or if it should internally demote to a more shallow C-state. But the converse is not true. The platform can not promote into a deeper C-state than the OS requested else it may violate latency constraints. So it is important that the OS be aggressive in giving the platform permission to enter deep C-states. Signed-off-by: Len Brown commit 4963f62045b64f93c45fbcb6f8f0baf1e3e7a127 Author: Len Brown Date: Thu Dec 13 23:50:45 2007 -0500 cpuidle: create processor.latency_factor tunable Start with default value of 6, so by default, there is no functional change in this patch. Signed-off-by: Len Brown commit 174b0da23199c4ae1ed06263dafd9a2e85e97d34 Author: Timur Tabi Date: Mon Dec 3 15:17:58 2007 -0600 [POWERPC] qe: add function qe_clock_source() Add function qe_clock_source() which takes a string containing the name of a QE clock source (as is typically found in device trees) and returns the matching enum qe_clock value. Update booting-without-of.txt to indicate that the UCC properties rx-clock and tx-clock are deprecated and replaced with rx-clock-name and tx-clock-name, which use strings instead of numbers to indicate QE clock sources. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit 255b09eb26bc285be5aad5c5606e96093094c41a Author: Scott Wood Date: Thu Dec 13 11:16:32 2007 -0600 [POWERPC] 83xx: mpc8313erdb: Fix whitespace. Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 8129a59a53d13242879c33cf5377c863dba3323a Author: Scott Wood Date: Thu Dec 13 11:19:05 2007 -0600 [POWERPC] 83xx: mpc834x_mds: Fix whitespace and call of_platform_bus_probe(). Signed-off-by: Scott Wood Signed-off-by: Kumar Gala commit 362f9b6fa8c9670cc5496390845021c2865d049b Author: Jochen Friedrich Date: Mon Nov 26 18:03:40 2007 +0100 [POWERPC] Move CPM command handling into the cpm drivers This patch moves the CPM command handling into commproc.c for CPM1 and cpm2_common.c. This is yet another preparation to get rid of drivers accessing the CPM via the global cpmp. Signed-off-by: Jochen Friedrich Acked-by: Scott Wood Acked-by: Arnd Bergmann Signed-off-by: Vitaly Bordug commit 721c0c8af1a27941a34af5046aae4a8369c8404c Author: Jochen Friedrich Date: Thu Nov 22 17:54:13 2007 +0100 [POWERPC] Add support for PORTA and PORTB odr registers PORTA and PORTB have odr registers, as well. However, the PORTB odr register is only 16bit. Signed-off-by: Jochen Friedrich Acked-by: Scott Wood Signed-off-by: Vitaly Bordug commit 0b5cf10691eb2c95a9126bf25f5e084d83d5d743 Author: Scott Wood Date: Sun Nov 25 13:09:31 2007 +0300 [POWERPC] 8xx: Convert mpc866ads to the new device binding. Verified on mpc866ads. This version has muram and brg nodes added to dts to get the things work. Signed-off-by: Scott Wood Signed-off-by: Vitaly Bordug commit 2fdf07417e57136cf6baedf9508e2169a059ebea Author: Jan Beulich Date: Thu Dec 13 08:33:59 2007 +0000 acpi: make __acpi_map_table() and __init function .. as it it used only during early boot. Signed-off-by: Jan Beulich arch/ia64/kernel/acpi.c | 2 +- arch/x86/kernel/acpi/boot.c | 4 ++-- drivers/acpi/osl.c | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) Signed-off-by: Len Brown commit 77d4309e19b1a7ab3286cd741e924894fc329986 Author: Li Yang Date: Tue Dec 4 19:01:40 2007 +0800 [POWERPC] ipic: ack only for edge interrupts Only external interrupts in edge detect mode support ack operation. Therefore, in most cases ack is not needed. The patch makes ipic ack only when it's needed. This could boost over all system performance. Signed-off-by: Li Yang Cc: Benjamin Herrenschmidt Signed-off-by: Kumar Gala commit ea082fa94eab6c2d8ad81c8a46b680cf4c2a3bb3 Author: Kumar Gala Date: Wed Dec 12 01:46:12 2007 -0600 [POWERPC] FSL: Added aliases node to device trees Added aliases nodes for kurobox, 83xx, 85xx, and 86xx platforms. This included added labels and cell-index properties for serial and pci nodes. Signed-off-by: Kumar Gala commit e77b28eb199a8d637a00128b86baf515d4eba5fd Author: Kumar Gala Date: Wed Dec 12 00:28:35 2007 -0600 [POWERPC] FSL: enet device tree cleanups * Removed address fields in ethernet nodes * Removed #address-cells, #size-cells from gianfar nodes * Added cell-index to gianfar and ucc ethernet nodes * Added enet[0..3] labels * Renamed compatible node for gianfar mdio to "fsl,gianfar-mdio" * Removed device_type = "mdio" The matching for gianfar mdio still supports the old "mdio"/"gianfar" combo but it is now considered deprecated. Signed-off-by: Kumar Gala commit ec9686c4a57ea46c97126660936f66e8a5eb87eb Author: Kumar Gala Date: Tue Dec 11 23:17:24 2007 -0600 [POWERPC] FSL: I2C device tree cleanups * Removed device_type = "i2c" * Added missing second I2C controller on MPC8548 CDS, MPC8544 DS * Added #address-cells, #size-cells, and cell-index where missing Signed-off-by: Kumar Gala commit 1c1d1672b6b00c7061ea2468d740b4aaf34a763c Author: Jon Loeliger Date: Wed Dec 5 11:32:50 2007 -0600 [POWERPC] 86xx: Add aliases node to 8641hpcn DTS file. The addition of the aliases node is needed for U-Boot and, eventually, cuImage, to help locate the proper nodes reliably when using the libfdt approach. Signed-off-by: Jon Loeliger Signed-off-by: Kumar Gala commit 7264ec4454e3a18d06a8949ecbe9e1b55e4f4685 Author: Timur Tabi Date: Thu Nov 29 17:26:30 2007 -0600 [POWERPC] QE: change qe_setbrg() to take an enum qe_clock instead of an integer qe_setbrg() currently takes an integer to indicate the BRG number. Change that to take an enum qe_clock instead, since this enum is intended to represent clock sources. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit c5eeb5599938acb9cda8ff1ef846a26cf70d46e0 Author: Timur Tabi Date: Thu Nov 29 14:19:57 2007 -0600 [POWERPC] 86xx: fix guts_set_dmacr() and add guts_set_pmuxcr_dma() to immap_86xx.h Updated guts_set_dmacr() to enumerate the DMA controllers at 0, instead of 1, so that it now matches other related functions. Added function guts_set_pmuxcr_dma() to set the external DMA control bits in the PMUXCR register of the global utilities structure. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit 41bad27ff7efff9a3fd131adabedb82204d8a9f2 Author: Li Yang Date: Fri Oct 19 19:38:49 2007 +0800 [POWERPC] 83xx: Add MPC837x MDS default kernel configuration Signed-off-by: Li Yang Signed-off-by: Kumar Gala commit 833e31e7368335b40be344f73b67fe79c61eb63d Author: Li Yang Date: Fri Oct 19 19:38:45 2007 +0800 [POWERPC] 83xx: Add platform support for MPC837x MDS board The MPC837x MDS is a new member of Freescale MDS reference system. Signed-off-by: Li Yang Signed-off-by: Kumar Gala commit f03ca957faa4d51f3a9c52c1ad5ea61a0978c637 Author: Li Yang Date: Fri Oct 19 19:38:43 2007 +0800 [POWERPC] ipic: add new interrupts introduced by new chip These interrupts are introduced by the latest Freescale SoC such as MPC837x. Signed-off-by: Li Yang Signed-off-by: Kumar Gala commit a58d52443fca9cc28ed580e3ccfcae3c3d49df33 Author: Li Yang Date: Fri Oct 19 19:38:42 2007 +0800 [POWERPC] add e300c4 entry to cputable Signed-off-by: Li Yang Signed-off-by: Kumar Gala commit 882407b9795d65dff64c95d65c6b66502c3153fb Author: Jon Loeliger Date: Tue Nov 6 12:11:13 2007 -0600 [POWERPC] 8xxx: Convert #include of asm/of_{platform, device}.h into linux/of_{platform, device}.h. Signed-off-by: Jon Loeliger Acked-by: Stephen Rothwell Signed-off-by: Kumar Gala commit c1469f13de275fc92b051328ea5764a32a5a43c9 Author: Kumar Gala Date: Mon Nov 19 21:35:29 2007 -0600 [POWERPC] Emulate isel (Integer Select) instruction isel (Integer Select) is a new user space instruction in the PowerISA 2.04 spec. Not all processors implement it so lets emulate to ensure code built with isel will run everywhere. Signed-off-by: Kumar Gala commit fd351b89205bc14f79af2e0d69f4198bcea1cf6a Author: Kumar Gala Date: Fri Nov 16 13:57:57 2007 -0600 [POWERPC] Add SPRN for Embedded registers specified in PowerISA 2.04 * Added SPRN for new architectural features added for embedded: - Alternate Time Base (ATB, ATBL, ATBU) - Doorbell Interrupts (IVOR36, IVOR37) - SPRG8/9 - External Proxy (EPR) - External PID load/store (EPLC, EPSC) * Added BUCSR for Freescale Embedded Processors * Moved around MAS7 so its in numeric order Signed-off-by: Kumar Gala commit 7ee17466b6ac3b63ce87492d080e15e7f144f7d2 Author: Benjamin Herrenschmidt Date: Tue Dec 11 14:48:24 2007 +1100 [POWERPC] Early debug forces console log level to max This makes the early debug option force the console loglevel to the max. The early debug option is meant to catch messages very early in the kernel boot process, in many cases, before the kernel has a chance to parse the "debug" command line argument. Thus it makes sense when CONFIG_PPC_EARLY_DEBUG is set, to force the console log level to the max at boot time. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 837c54db21fc7047af75f3fe4295e32106449e34 Author: Benjamin Herrenschmidt Date: Tue Dec 11 14:48:22 2007 +1100 [POWERPC] Add of_translate_dma_address This adds a variant of of_translate_address that uses the dma-ranges property instead of "ranges", it's to be used by PCI code in parsing the dma-ranges property. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit f276b5ba0d87eba4ce7aace9608d811776734cb5 Author: Benjamin Herrenschmidt Date: Tue Dec 11 14:48:23 2007 +1100 [POWERPC] Remove useless volatiles in udbg_16550.c This removes "volatile" from the MMIO pointer udbg_comport in udbg_16550.c driver, it's useless and makes checkpatch.pl complain when adding things to this file. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 6d39635959fe2f072130789a95e11ff97fb27b58 Author: Benjamin Herrenschmidt Date: Tue Dec 11 14:48:21 2007 +1100 [POWERPC] Change 32-bit PCI message about resource allocation The 32 bits PCI code will display a rather scary error message PCI: Cannot allocate resource region N of device XXX at boot when the existing setup of a device as left by the firmware doesn't match the kernel needs and the device needs to be moved. This is often not an error at all, as the kernel will generally easily reallocate the device elsewhere. This changes the message to something less scary and lowers its level from error to warning. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 05d3957e110c46b8c613214d68705bc97d9c6609 Author: Benjamin Herrenschmidt Date: Tue Dec 11 14:48:20 2007 +1100 [POWERPC] Fix powerpc 32-bit resource fixup for 64-bit resources The 32-bit powerpc resource fixup code uses unsigned longs to do the offsetting of resources which overflows on platforms such as 4xx where resources can be 64 bits. This fixes it by using resource_size_t instead. However, the IO stuff does rely on some 32 bits arithmetic, so we hack by cropping the result of the fixups for IO resources with a 32 bits mask. This isn't the prettiest but should work for now until we change the 32 bits PCI code to do IO mappings like 64 bits does, within a reserved are of the kernel address space. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 13dccb9e65dc0fa4de83e5bd5639f7a7f3f6fb9e Author: Benjamin Herrenschmidt Date: Tue Dec 11 14:48:18 2007 +1100 [POWERPC] Merge pci_process_bridge_OF_ranges() This merges the 32-bit and 64-bit implementations of pci_process_bridge_OF_ranges(). The new function is cleaner than both the old ones, and supports 64 bits ranges on ppc32 which is necessary for the 4xx port. It also adds some better (hopefully) output to the kernel log which should help diagnose problems and makes better use of existing OF parsing helpers (avoiding a few bugs of both implementations along the way). There are still a few unfortunate ifdef's but there is no way around these for now at least not until some other bits of the PCI code are made common. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 25e81f925d4be0a0f60520e1c3c1b5af744404e1 Author: Benjamin Herrenschmidt Date: Tue Dec 11 14:48:17 2007 +1100 [POWERPC] Make isa_mem_base common to 32 and 64 bits This defines isa_mem_base on both 32 and 64 bits (it used to be 32 bits only). This avoids a few ifdef's in later patches and potentially can allow support for VGA text mode on 64 bits powerpc. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit cfad589f565bdaa69d45fb1c0db124727a6eaf6e Merge: bc625f2... 437105f... Author: Paul Mackerras Date: Tue Dec 11 15:30:27 2007 +1100 Merge branch 'linux-2.6' into for-2.6.25 commit bc625f20c08c5a5438a9fa3bb6d67fd84b1bab4b Author: Michael Hanselmann Date: Tue Dec 11 11:18:46 2007 +1100 [POWERPC] Update smu command definitions This updates smu.h with several new commands, and adds parameter descriptions for existing commands. Signed-off-by: Michael Hanselmann Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 430b01e8f5e524a2bfa50074d97d0bdc2505807b Author: David Gibson Date: Mon Dec 10 14:28:39 2007 +1100 [POWERPC] Kill flatdevtree.c Now that earlier patches have switched the bootwrapper to using libfdt for device tree manipulation, this patch removes the now unused flatdevtree.c and related files. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 2f0dfeaa84a8eea56218b77ffc61ed3dd7181847 Author: David Gibson Date: Mon Dec 10 14:28:39 2007 +1100 [POWERPC] Use embedded libfdt in the bootwrapper This incorporates libfdt (from the source embedded in an earlier commit) into the wrapper.a library used by the bootwrapper. This includes adding a libfdt_env.h file, which the libfdt sources need in order to integrate into the bootwrapper environment, and a libfdt-wrapper.c which provides glue to connect the bootwrapper's abstract device tree callbacks to the libfdt functions. In addition, this changes the various wrapper and platform files to use libfdt functions instead of the older flatdevtree.c library. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 1cade99497c881a8c719df561d1bdc96831ff040 Author: David Gibson Date: Mon Dec 10 14:28:39 2007 +1100 [POWERPC] Merge libfdt upstream source This incorporates a copy of dtc libfdt into the kernel source, in arch/powerpc/boot/libfdt. This only imports the upstream sources verbatim, later patches are needed to actually link it into the kernel Makefiles. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit b76e5e93982f28666aeef1055264f5eac76311b0 Author: Stephen Rothwell Date: Fri Dec 7 17:55:51 2007 +1100 [POWERPC] EEH: Avoid a possible NULL pointer dereference Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 1dee20262f4b16db73b2f24036bd423e8a7d693d Author: Stephen Rothwell Date: Fri Dec 7 16:10:22 2007 +1100 [POWERPC] iSeries: Merge vpdinfo.c into pci.c There was only one global function in vpdinfo.c and it was only called from pci.c, so merge them and make the function static. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 1be9ad650986a87c25686abda97bdea330359708 Author: Stephen Rothwell Date: Fri Dec 7 16:09:18 2007 +1100 [POWERPC] iSeries: Clean up and simplify vdpinfo.c Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit cd9afb34ed7e7fd3d1eb892b606019e032b0888b Author: Stephen Rothwell Date: Fri Dec 7 16:08:33 2007 +1100 [POWERPC] iSeries: DeCamelCase vpdinfo.c This is a purely mechanical transformation. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit b3b9595f50f73f0d53ebd71c463c5f09a6e64a21 Author: will schmidt Date: Fri Dec 7 08:22:23 2007 +1100 [POWERPC] Update xmon slb code This adds a bit more detail to the xmon SLB output. When the valid bit is set, this displays the ESID and VSID values, as well as decoding the segment size -- 1T or 256M -- and displaying the LLP bits. This supresses the output for any slb entries that contain only zeros. sample output from power6 (1T segment support): 00 c000000008000000 40004f7ca3000500 1T ESID= c00000 VSID= 4f7ca3 LLP:100 01 d000000008000000 4000eb71b0000400 1T ESID= d00000 VSID= eb71b0 LLP: 0 08 0000000018000000 0000c8499f8ccc80 256M ESID= 1 VSID= c8499f8cc LLP: 0 09 00000000f8000000 0000d2c1a8e46c80 256M ESID= f VSID= d2c1a8e46 LLP: 0 10 0000000048000000 0000ca87eab1dc80 256M ESID= 4 VSID= ca87eab1d LLP: 0 43 cf00000008000000 400011b260000500 1T ESID= cf0000 VSID= 11b260 LLP:100 sample output from power5 (notice the non-valid but non-zero entries) 10 0000000008000000 00004fd0e077ac80 256M ESID= 0 VSID= 4fd0e077a LLP: 0 11 00000000f8000000 00005b085830fc80 256M ESID= f VSID= 5b085830f LLP: 0 12 0000000048000000 000052ce99fe6c80 256M ESID= 4 VSID= 52ce99fe6 LLP: 0 13 0000000018000000 000050904ed95c80 256M ESID= 1 VSID= 50904ed95 LLP: 0 14 cf00000008000000 0000d59aca40f500 256M ESID=cf0000000 VSID= d59aca40f LLP:100 15 c000000078000000 000045cb97751500 256M ESID=c00000007 VSID= 45cb97751 LLP:100 Tested on power5 and power6. Signed-Off-By: Will Schmidt Signed-off-by: Paul Mackerras commit 584f8b71a2e8abdaeb4b6f4fddaf542b61392453 Author: Michael Neuling Date: Thu Dec 6 17:24:48 2007 +1100 [POWERPC] Use SLB size from the device tree Currently we hardwire the number of SLBs to 64, but PAPR says we should use the ibm,slb-size property to obtain the number of SLB entries. This uses this property instead of assuming 64. If no property is found, we assume 64 entries as before. This soft patches the SLB handler, so it shouldn't change performance at all. Signed-off-by: Michael Neuling Signed-off-by: Paul Mackerras commit 44ef339073f67d4abcc62ae52a5fbc069d7a4d29 Author: Stephen Rothwell Date: Mon Dec 10 14:33:21 2007 +1100 [POWERPC] pci_controller->arch_data really is a struct device_node * Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 6207e81695c1a64ebed668f26106f3384ad2323a Author: Stephen Rothwell Date: Fri Dec 7 02:04:33 2007 +1100 [POWERPC] Don't special case pci_domain_nr() for iSeries Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 9ccc4fd260397f0f8ac6078f4cd45fda2d320ead Author: Stephen Rothwell Date: Fri Dec 7 02:03:23 2007 +1100 [POWERPC] Remove some iSeries platform checks from the PCI code Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit c96bede657510cfb171c0fd86fc710582a1c5a5f Author: Stephen Rothwell Date: Tue Dec 11 11:03:48 2007 +1100 [POWERPC] iSeries: hose->buid is always zero for iSeries so remove a firmware feature test. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit cb993029094ed61f286793819d3aaa1deea5b252 Author: Stephen Rothwell Date: Fri Dec 7 02:00:45 2007 +1100 [POWERPC] iSeries: Call iSeries_pcibios_init from setup_arch Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit e60516e3d0bbde450acf4397b0d01b03042a7d57 Author: Stephen Rothwell Date: Tue Dec 11 11:02:07 2007 +1100 [POWERPC] Inline pci_setup_pci_controller as it has become trivial and it becomes clear that we should use zalloc_maybe_bootmem. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 53761746ec98c526c7d82dcf8246cbde9f09e743 Author: Stephen Rothwell Date: Fri Dec 7 01:58:01 2007 +1100 [POWERPC] iSeries: Make pcibios_final_fixup not depend on pci_dn Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 3b32c162bb2be2075508cdc2260e6a6853335581 Author: Stephen Rothwell Date: Fri Dec 7 01:56:55 2007 +1100 [POWERPC] iSeries: Reduce dependence on pci_dn bussubno Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 2cd1008cf56371404055fbc7d59f6da060af16fa Author: Stephen Rothwell Date: Fri Dec 7 01:55:50 2007 +1100 [POWERPC] iSeries: iseries_ds_addr is only used in pci.c Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 72ece3b8271bb59b25e42e3f0a1d6a3dbc69e369 Author: Stephen Rothwell Date: Fri Dec 7 01:54:57 2007 +1100 [POWERPC] iSeries: Remove pci_dn dependency from iSeries_Device_Information Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 344893884685c1c4ec38d7c1e6f719c0030f7f9c Author: Stephen Rothwell Date: Fri Dec 7 01:53:44 2007 +1100 [POWERPC] iSeries: Remove one layer of IO routines Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 0d416f2a9eb31823f824ac067be7771fd93bffa3 Author: Stephen Rothwell Date: Fri Dec 7 01:52:45 2007 +1100 [POWERPC] iSeries: Consoldiate PCI IO error check Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 3f1786328a1c5f6240d96ca6359246c4bded7ec3 Author: Stephen Rothwell Date: Fri Dec 7 01:51:48 2007 +1100 [POWERPC] iSeries: Unindent and clean iSeries_pci_final_fixup Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 6a9057933421126ef8265c15b8220c015865b1eb Author: Stephen Rothwell Date: Fri Dec 7 01:50:35 2007 +1100 [POWERPC] iSeries: Remove some dead code from pci.c and an unnecessary cast. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 7a73bd7f06dad5c466c5f3a4712696a3932a428b Author: Stephen Rothwell Date: Fri Dec 7 01:49:27 2007 +1100 [POWERPC] iSeries: DeCamelCase pci.c Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit b9b1812cad14bf921409a76a444a015d22774639 Author: Stephen Rothwell Date: Fri Dec 7 01:48:14 2007 +1100 [POWERPC] iSeries: Cleanup PCI retry code a little Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 9103eb7d3a78ec6e49e49412c45e3b0a2589cbce Author: Stephen Rothwell Date: Fri Dec 7 01:46:40 2007 +1100 [POWERPC] iSeries: Move find_Device_Node to avoid a forward declaration Also remove another unnecessary forward declaration. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 7211991fa306de1363e3a843f3ed25634c554eec Author: Stephen Rothwell Date: Tue Dec 11 11:00:13 2007 +1100 [POWERPC] Consolidate pci_controller Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 7cd1de6bc1a46867fa5b9405e8ce0cbf9bc4a884 Author: Stephen Rothwell Date: Thu Dec 6 18:02:28 2007 +1100 [POWERPC] Clean up pci-bridge.h No semantic changes. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 96188ce57ba2e497dbbac78a137ae5c732db5fed Author: Stephen Rothwell Date: Thu Dec 6 13:40:29 2007 +1100 [POWERPC] pSeries: Remove dependency on pci_dn bussubno Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 68d315f5975c05595af52e3b758b5b6ebae1a266 Author: Stephen Rothwell Date: Thu Dec 6 13:39:19 2007 +1100 [POWERPC] iommu_free_table doesn't need the device_node It only needs the iommu_table address. It also makes use of the node name to print error messages. So just pass it the things it needs. This reduces the places that know about the pci_dn by one. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 0d9dc4b473f7224cc1798c96d5dba84b69212163 Author: Nathan Lynch Date: Wed Dec 5 03:03:49 2007 +1100 [POWERPC] lparcfg: Remove useless buffer allocation The 'data' member of proc_ppc64_lparcfg is unused, but the lparcfg module's init routine allocates 4K for it. Remove the code which allocates and frees this buffer. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 24f1f17579e4cf2aeeb3a2813cc7757fa30d7a09 Author: Ishizaki Kou Date: Tue Dec 4 19:41:07 2007 +1100 [POWERPC] Update celleb_defconfig to add support for native CBE Signed-off-by: Kou Ishizaki Signed-off-by: Paul Mackerras commit 9858ee8ac52117cb38d7ef79b4db3382ea465a2a Author: Ishizaki Kou Date: Tue Dec 4 19:38:24 2007 +1100 [POWERPC] celleb: Add support for native CBE This adds support for native CBE on Celleb, that is, without the BEAT hypervisor. Many codes in platforms/cell/ are used in native CBE environment. Signed-off-by: Kou Ishizaki Signed-off-by: Paul Mackerras commit c7a3f93d00726b9c51b2517ddfa4767422e9e631 Author: Ishizaki Kou Date: Tue Dec 4 19:34:53 2007 +1100 [POWERPC] cell: Fix undefined reference to mmio_nvram_init This fixes the following link error with CONFIG_PPC_CELL_NATIVE=y and CONFIG_PPC_CELL_BLADE=n: arch/powerpc/platforms/built-in.o: In function `.cell_setup_arch': setup.c:(.init.text+0xe80): undefined reference to `.mmio_nvram_init' Signed-off-by: Kou Ishizaki Signed-off-by: Paul Mackerras commit 94b146ceeee18b801ad65ea78ec02449398e8221 Author: Stephen Rothwell Date: Wed Nov 28 11:13:02 2007 +1100 [POWERPC] kernel_execve is identical in 32 and 64 bit so consolidate it into misc.S. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit aabc08dc662b7acb17ca5706533253ce10c050b1 Author: Michael Ellerman Date: Mon Nov 26 19:03:45 2007 +1100 [POWERPC] Add for_each_child_of_node() helper for iterating over child nodes Add for_each_child_of_node() to encapsulate the common idiom of iterating over the children of a device_node. Signed-off-by: Michael Ellerman Acked-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 18cce5d321cf01413f416d7fe9fb00404cba04fd Author: Stephen Rothwell Date: Wed Oct 17 13:43:34 2007 +1000 [POWERPC] Use of_register_driver to implement of_register_platform_driver Also use of_unregister_driver to implement of_unregister_platform_driver. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit b242a60206881559bb3102110048762422e6b74e Merge: e1fd186... 94545ba... Author: Paul Mackerras Date: Mon Dec 10 15:41:22 2007 +1100 Merge branch 'linux-2.6' commit 17196d6e533a5c09ca57bf398099ffa3c13248b1 Author: Thomas Renninger Date: Fri Dec 7 13:20:43 2007 +0100 ACPI: Also autoload the bay driver, was forgotten... Signed-off-by: Thomas Renninger Signed-off-by: Len Brown commit a340af14b4c08a53c5f7d821d8bd910e17403384 Author: Frank Seidel Date: Fri Dec 7 13:20:42 2007 +0100 ACPI: Add autoload info to dock driver References: https://bugzilla.novell.com/show_bug.cgi?id=302482 Signed-off-by: Thomas Renninger Signed-off-by: Kay Sievers Signed-off-by: Frank Seidel Signed-off-by: Len Brown commit 3620f2f2f39e7870cf1a4fb2e34063a142f28716 Author: Frank Seidel Date: Fri Dec 7 13:20:34 2007 +0100 ACPI: Fix autloading of dock, video, bay and all linux specific HID drivers References: https://bugzilla.novell.com/show_bug.cgi?id=302482 Due to the new autloading of acpi drivers, the dock driver wasn't loaded anymore as there is no HID to identify it with (dock is needed if ACPI has a _DCK method). This patch is a workaround for this, original by Thomas Renninger, revised first by Kay Sievers and last by Frank Seidel. V2 of this patch fixed problems on systems without a defined _CID for the docking devices. Signed-off-by: Thomas Renninger Signed-off-by: Kay Sievers Signed-off-by: Frank Seidel Signed-off-by: Len Brown commit 223630fe3dc564b94e51ff4eb839828c9083f2f6 Author: Zhang Rui Date: Thu Dec 6 23:36:35 2007 -0500 export thermal notification to userspace when nocrt is set module parameter is used to prevent the thermal_zone action upon critical trip points. But exporting this notification to userspace is still useful. By setting nocrt with this patch applied, ACPI will take no action but exporting the events to userspace upon critical/hot trip points. http://bugzilla.kernel.org/show_bug.cgi?id=9139 Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 17bc54eef91df29f0a22e8a1562a404cf7a68e74 Author: Alexey Starikovskiy Date: Tue Nov 13 13:05:45 2007 +0300 ACPI: Defer enabling of level GPE until all pending notifies done Level GPE should not be enabled until all work caused by it is done, e.g. all Notify() methods are completed. This can be accomplished by appending enable_gpe function to the end of notify queue. Signed-off-by: Alexey Starikovskiy Acked-by: Shaohua Li Signed-off-by: Len Brown commit 2dfe485a2c8afa54cb069fcf48476f6c90ea3fdf Author: Matthew Wilcox Date: Thu Dec 6 16:25:30 2007 -0500 Remove commented-out code copied from NFS This is a false positive when grepping ... change it to be what the NFS code looks like now. Signed-off-by: Matthew Wilcox commit 150030b78a454ba50d5e267b0dcf01b162809192 Author: Matthew Wilcox Date: Thu Dec 6 16:24:39 2007 -0500 NFS: Switch from intr mount option to TASK_KILLABLE By using the TASK_KILLABLE infrastructure, we can get rid of the 'intr' mount option. We have to use _killable everywhere instead of _interruptible as we get rid of rpc_clnt_sigmask/sigunmask. Signed-off-by: Liam R. Howlett Signed-off-by: Matthew Wilcox commit 009e577e079656d51d0fe9b15e61e41b00816c29 Author: Matthew Wilcox Date: Thu Dec 6 12:29:54 2007 -0500 Add wait_for_completion_killable Signed-off-by: Matthew Wilcox commit 1411d5a7fbe7dce1568b6f0a94c7cbc69eed1bfe Author: Matthew Wilcox Date: Thu Dec 6 12:00:00 2007 -0500 Add wait_event_killable Signed-off-by: Matthew Wilcox commit 294d5cc233d81ec4aec77ebc60dc5752a3d0082a Author: Matthew Wilcox Date: Thu Dec 6 11:59:46 2007 -0500 Add schedule_timeout_killable Signed-off-by: Matthew Wilcox commit da78451190bdaae0e67d6c96b1ec3366abc45474 Author: Liam R. Howlett Date: Thu Dec 6 17:39:54 2007 -0500 Use mutex_lock_killable in vfs_readdir Signed-off-by: Liam R. Howlett Acked-by: Ingo Molnar Signed-off-by: Matthew Wilcox commit ad776537cc6b4b936cfd11893e7b698dfa072666 Author: Liam R. Howlett Date: Thu Dec 6 17:37:59 2007 -0500 Add mutex_lock_killable Similar to mutex_lock_interruptible, it can be interrupted by a fatal signal only. Signed-off-by: Liam R. Howlett Acked-by: Ingo Molnar Signed-off-by: Matthew Wilcox commit 0b94e97a25d9b06ef17fca8da23169200bead1e2 Author: Matthew Wilcox Date: Thu Dec 6 11:19:57 2007 -0500 Use lock_page_killable Replacing lock_page with lock_page_killable in do_generic_mapping_read() allows us to kill `cat' of a file on an NFS-mounted filesystem Signed-off-by: Matthew Wilcox commit 2687a3569e40b1302f96698bcd6329aeb0ce3dd2 Author: Matthew Wilcox Date: Thu Dec 6 11:18:49 2007 -0500 Add lock_page_killable This routine is like lock_page, but can be interrupted by a fatal signal Signed-off-by: Matthew Wilcox commit f776d12dd16da1b0cd55a1240002c1b31f315d5d Author: Matthew Wilcox Date: Thu Dec 6 11:15:50 2007 -0500 Add fatal_signal_pending Like signal_pending, but it's only true for signals which are fatal to this process Signed-off-by: Matthew Wilcox commit f021a3c2b14d0dd082c2cee890c204d9e1dee52b Author: Matthew Wilcox Date: Thu Dec 6 11:13:16 2007 -0500 Add TASK_WAKEKILL Set TASK_WAKEKILL for TASK_STOPPED and TASK_TRACED, add TASK_KILLABLE and use TASK_WAKEKILL in signal_wake_up() Signed-off-by: Matthew Wilcox commit 338077e54e17e656da470a84724b773816207316 Author: Matthew Wilcox Date: Thu Dec 6 11:09:35 2007 -0500 exit: Use task_is_* Also restructure the loop in do_wait() Signed-off-by: Matthew Wilcox commit e1abb39c60971590b6580c0d3a12119dcbad9c50 Author: Matthew Wilcox Date: Thu Dec 6 11:07:35 2007 -0500 signal: Use task_is_* Signed-off-by: Matthew Wilcox commit d9514f6c6b95b5a747ba902858eff577281e8659 Author: Matthew Wilcox Date: Thu Dec 6 11:07:07 2007 -0500 sched: Use task_contributes_to_load, TASK_ALL and TASK_NORMAL Signed-off-by: Matthew Wilcox commit 6618a3e275519e10001a2ac4669f46141d4c108b Author: Matthew Wilcox Date: Thu Dec 6 11:06:16 2007 -0500 ptrace: Use task_is_* Signed-off-by: Matthew Wilcox commit d2f60e5faa9aef9a08d0abaee2007e5a0800d2c5 Author: Matthew Wilcox Date: Thu Dec 6 11:06:01 2007 -0500 power: Use task_is_* Signed-off-by: Matthew Wilcox commit e64d66c8edf11629aa203328daf898775ee27dd4 Author: Matthew Wilcox Date: Thu Dec 6 17:34:36 2007 -0500 wait: Use TASK_NORMAL Also move wake_up_locked() to be with the related functions Signed-off-by: Matthew Wilcox commit 6d8982d9b8f4b771754335f1398e406cc72003c3 Author: Matthew Wilcox Date: Thu Dec 6 11:04:01 2007 -0500 proc/base.c: Use task_is_* Signed-off-by: Matthew Wilcox commit 1587e2b1880632d959db6ac9e79cb1d99a73c656 Author: Matthew Wilcox Date: Thu Dec 6 11:03:36 2007 -0500 proc/array.c: Use TASK_REPORT Signed-off-by: Matthew Wilcox commit 21498223daad359d048b35b0ee4d1b93300ef258 Author: Matthew Wilcox Date: Thu Dec 6 11:02:55 2007 -0500 perfmon: Use task_is_* Signed-off-by: Matthew Wilcox commit 92a1f4bc7af13949d2185449307088cf98b4755d Author: Matthew Wilcox Date: Thu Dec 6 10:55:25 2007 -0500 Add macros to replace direct uses of TASK_ flags With the changes to support TASK_KILLABLE, ->state becomes a bitmask, and moving these tests to convenience macros will fix all the users. Signed-off-by: Matthew Wilcox commit 4a6e9e2ce822c9f597b3036887f6cf5fa3a79375 Author: Matthew Wilcox Date: Thu Aug 30 16:10:22 2007 -0400 Use wake_up_locked() in eventpoll Replace the uses of __wake_up_locked with wake_up_locked Signed-off-by: Matthew Wilcox commit e1fd18656c2963e383d67b7006c0e06c9c1d9c79 Author: Stephen Neuendorffer Date: Tue Dec 4 12:08:57 2007 +1100 [POWERPC] Improved documentation of device tree 'ranges' This clarifies how 'ranges' properties are used, and in particular, how to get an identity mapping. Signed-off-by: Stephen Neuendorffer Acked-by: David Gibson Acked-by: Grant Likely Signed-off-by: Paul Mackerras commit 773f76b1601d53dc8485675736b845cc3644921a Author: David Woodhouse Date: Mon Dec 3 13:56:58 2007 +1100 [POWERPC] Implement 'make bootwrapper_install' This adds a 'bootwrapper_install' make target for the powerpc architecture, which installs the wrapper script, intermediate object files and device-tree sources for later use. This will then allow bootable zImages to be created other than in the context of a kernel build. Signed-off-by: David Woodhouse Signed-off-by: Paul Mackerras commit 5c539ee38263c12121d777c2e7119807742e9368 Author: David Woodhouse Date: Mon Dec 3 13:52:05 2007 +1100 [POWERPC] Allow for bootwrapper utilities being in different directory to objects It's possible that the executables which are built as helpers for the bootwrapper stuff might end up in a different place to the intermediate object files. Handle that. Signed-off-by: David Woodhouse Signed-off-by: Paul Mackerras commit 701172d1b8a90d87532e49b946966ff37f948cc2 Author: David Woodhouse Date: Mon Dec 3 13:49:24 2007 +1100 [POWERPC] Find device-tree source file in default directory If a .dts file is given to the bootwrapper script without a full path name, look in a sensible place for it. Signed-off-by: David Woodhouse Signed-off-by: Paul Mackerras commit 928b9695592921957289d038ee75f613d9485a0a Author: David Woodhouse Date: Mon Dec 3 13:48:03 2007 +1100 [POWERPC] Create otheros.bld next to specified output file, not in $object directory The bootwrapper script currently generates an 'otheros.bld' file in addition to the file specified by the -o option, when asked to build a wrapper for PS3. It should do that in the same directory as the output, not the directory where the wrapper objects are kept (which might potentially not be writable when the script runs). Arguably, the 'otheros.bld' ought to be created with the filename specified as the -o argument. But that's a more intrusive change. Signed-off-by: David Woodhouse Acked-by: Geoff Levand Signed-off-by: Paul Mackerras commit 3a1c81f4faa8f93a36533fa8900a2f488528aab9 Author: Cyrill Gorcunov Date: Thu Nov 29 18:44:18 2007 +1100 [POWERPC] CELLEB: Fix possible NULL pointer dereference This adds checking for NULL returned value from of_get_property to prevent possible NULL pointer dereference in the case when expected properties are not present. Signed-off-by: Cyrill Gorcunov Signed-off-by: Paul Mackerras commit eb8f2763412893147c00e065773f46be5634f263 Author: Jon Loeliger Date: Wed Nov 14 04:13:09 2007 +1100 [POWERPC] Clean out asm/of_{platform, device}.h from sysdev/ Convert #include of asm/of_{platform, device}.h into linux/of_{platform,device}.h for remaining arch/powerpc files. Signed-off-by: Jon Loeliger Signed-off-by: Paul Mackerras commit 5f867dc7989023935317d0dc5c04215ea0592bfc Author: Jon Loeliger Date: Wed Nov 14 04:13:03 2007 +1100 [POWERPC] Clean out asm/of_{platform, device}.h Convert #include of asm/of_{platform, device}.h into linux/of_{platform,device}.h for a few scattered platforms. Signed-off-by: Jon Loeliger Signed-off-by: Paul Mackerras commit cc1bf182bb8451a036a7c227f0a95a0416c4736e Merge: 44032af... 5619965... Author: Paul Mackerras Date: Wed Dec 5 16:13:25 2007 +1100 Merge branch 'for-2.6.25' of git://git.kernel.org/pub/scm/linux/kernel/git/olof/pasemi into for-2.6.25 commit e34f44b3517fe545f7fd45a8c2f6ee1e5e4432d3 Author: Matthew Wilcox Date: Mon Dec 3 14:16:24 2007 -0500 pool: Improve memory usage for devices which can't cross boundaries The previous implementation simply refused to allocate more than a boundary's worth of data from an entire page. Some users didn't know this, so specified things like SMP_CACHE_BYTES, not realising the horrible waste of memory that this was. It's fairly easy to correct this problem, just by ensuring we don't cross a boundary within a page. This even helps drivers like EHCI (which can't cross a 4k boundary) on machines with larger page sizes. Signed-off-by: Matthew Wilcox Acked-by: David S. Miller commit a35a3455142976e3fffdf27027f3082cbaba6e8c Author: Matthew Wilcox Date: Mon Dec 3 14:08:28 2007 -0500 Change dmapool free block management Use a list of free blocks within a page instead of using a bitmap. Update documentation to reflect this. As well as being a slight reduction in memory allocation, locked ops and lines of code, it speeds up a transaction processing benchmark by 0.4%. Signed-off-by: Matthew Wilcox commit 6182a0943af2235756836ed7e021fa22b93ec68b Author: Matthew Wilcox Date: Mon Dec 3 12:16:57 2007 -0500 dmapool: Tidy up includes and add comments We were missing a copyright statement and license, so add GPLv2, David Brownell's copyright and my copyright. The asm/io.h include was superfluous, but we were missing a few other necessary includes. Signed-off-by: Matthew Wilcox commit 399154be2dcb6a58dbde9682162c38113cf3e40b Author: Matthew Wilcox Date: Mon Dec 3 12:10:24 2007 -0500 dmapool: Validate parameters to dma_pool_create Check that 'align' is a power of two, like the API specifies. Align 'size' to 'align' correctly -- the current code has an off-by-one. The ALIGN macro in kernel.h doesn't. Signed-off-by: Matthew Wilcox Acked-by: David S. Miller commit 2cae367e4854ff055c4f5e8aacd56b0eeec9f6cb Author: Matthew Wilcox Date: Mon Dec 3 12:09:33 2007 -0500 Avoid taking waitqueue lock in dmapool With one trivial change (taking the lock slightly earlier on wakeup from schedule), all uses of the waitq are under the pool lock, so we can use the locked (or __) versions of the wait queue functions, and avoid the extra spinlock. Signed-off-by: Matthew Wilcox Acked-by: David S. Miller commit e87aa773747fb5e4217d716ea22a573c03b6693a Author: Matthew Wilcox Date: Mon Dec 3 12:04:31 2007 -0500 dmapool: Fix style problems Run Lindent and fix all issues reported by checkpatch.pl Signed-off-by: Matthew Wilcox commit 141e9d4b5492499c4735d764b599c21e83dac154 Author: Matthew Wilcox Date: Mon Dec 3 11:57:48 2007 -0500 Move dmapool.c to mm/ directory Signed-off-by: Matthew Wilcox commit 5619965fecf5679ea32350905c54d087b27cc8ea Author: Olof Johansson Date: Sun Dec 2 22:35:25 2007 -0600 [POWERPC] pasemi: Fix module information for gpio-mdio Fix up the module information for gpio-mdio, it wouldn't load because of lacking license, and wouldn't auto-load because of missing MODULE_DEVICE_TABLE. Signed-off-by: Olof Johansson commit 235d6200ea63372935e097cb82e6a8c133d51cad Author: Peter Korsgaard Date: Tue Nov 6 11:56:02 2007 +0100 [MTD] mtdoops cleanup Use memcpy instead of open coding a copy loop. Signed-off-by: Peter Korsgaard Signed-off-by: David Woodhouse commit 256331d53a40f436cd0b16166621d819923145c8 Author: Peter Korsgaard Date: Tue Nov 6 11:55:00 2007 +0100 [MTD] mtdoops: Document usage in Kconfig Add usage instructions to Kconfig for mtdoops driver. Signed-off-by: Peter Korsgaard Signed-off-by: David Woodhouse commit 2a1dba2931dc14a2a202eef435ab24cf6bc6dbd4 Author: Tzachi Perelstein Date: Wed Oct 17 01:10:40 2007 +0200 [MTD] [NAND] Marvell Orion device bus NAND controller Driver for the device bus NAND controller in the Marvell Orion family of ARM SoCs. Signed-off-by: Tzachi Perelstein Signed-off-by: Lennert Buytenhek Acked-by: Jörn Engel Signed-off-by: David Woodhouse commit cec80bf2cc5283f2f00c34f474be857e5c9f6f65 Author: David Woodhouse Date: Mon Dec 3 13:01:21 2007 +0000 [MTD] [NOR] Attempt to clean up the JEDEC unlock address confusion Use a single unlock address, adjust it for the device type in the knowledge that it'll be adjusted back again. This has the desirable effect of masking out the least significant bit of the address for x16 devices. Signed-off-by: David Woodhouse commit f6f0f81895ad8272905bf3d637b7c99a62238d79 Author: David Woodhouse Date: Fri Nov 30 16:24:52 2007 +0000 [MTD] [NOR] Fix overflow check in jedec_probe Having laid the code out so that it's easier to read instead of sticking to the 80-column guideline even when it doesn't make sense, a bug is immediately spotted... we were only checking _one_ of the unlock addresses to see if it runs off the end of the map. Signed-off-by: David Woodhouse commit 5d3cce3b8ef45317c59487f4d83dc43c355ae40a Author: David Woodhouse Date: Mon Dec 3 12:48:57 2007 +0000 [MTD] [NOR] Clean up jedec_probe, remove unlock address arrays This should have no functional effects -- we've been ignoring all but the first address in the array for a long time, and using it only to indicate which device types are supported. Signed-off-by: David Woodhouse commit ce37ab42ad8b38ef2f36c31c6b4c39b87f36b792 Author: David Woodhouse Date: Mon Dec 3 12:46:12 2007 +0000 [MTD] Always initialise mutex in new mtd_blktrans_dev. We were only initialising the mutex in the case where the new device was automatically allocated the highest minor number. If the caller specified a minor number, or if it filled in a free slot which was made by a previous device deregistering, the mutex wouldn't get initialised when we jumped out of the loop. Reported by Monte Copeland Signed-off-by: David Woodhouse commit 44032af0e7d5467b12f998dbf2f1cd23c5324fd5 Author: joe@perches.com Date: Tue Nov 20 12:47:56 2007 +1100 [POWERPC] Add missing spaces in printk formats in arch/ppc Signed-off-by: Joe Perches Signed-off-by: Paul Mackerras commit df3c9019ed20dbd46b945adeec09c0e82034252a Author: joe@perches.com Date: Tue Nov 20 12:47:55 2007 +1100 [POWERPC] Add missing spaces in printk formats Signed-off-by: Joe Perches Signed-off-by: Paul Mackerras commit 215a5575b56b1cc87773442beba09fbfff689464 Author: Stephen Rothwell Date: Mon Nov 19 17:17:07 2007 +1100 [POWERPC] Remove redundant declaration of hose_list It is already declared in ppc-pci.h which is included. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 5db9abd9361c491411448edbf2ef1696caef9fee Author: Stephen Rothwell Date: Mon Nov 19 17:10:57 2007 +1100 [POWERPC] iSeries: Fix sparse warnings in setup.c arch/powerpc/platforms/iseries/setup.c:111:27: warning: constant 0x100000000 is so big it is long arch/powerpc/platforms/iseries/setup.c:113:23: warning: constant 0x100000000 is so big it is long arch/powerpc/platforms/iseries/setup.c:117:27: warning: constant 0x000fffffffffffff is so big it is long arch/powerpc/platforms/iseries/setup.c:127:28: warning: constant 0x100000000 is so big it is long arch/powerpc/platforms/iseries/setup.c:129:24: warning: constant 0x100000000 is so big it is long arch/powerpc/platforms/iseries/setup.c:233:5: warning: constant 0x000fffffffffffff is so big it is long arch/powerpc/platforms/iseries/setup.c:235:5: warning: constant 0x000fffffffffffff is so big it is long arch/powerpc/platforms/iseries/setup.c:319:6: warning: symbol 'mschunks_alloc' was not declared. Should it be static? arch/powerpc/platforms/iseries/setup.c:661:6: warning: symbol 'iSeries_early_setup' was not declared. Should it be static? Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 26b6d5b170815ab0586ff983b4ce7c8cc19e1e81 Author: Stephen Rothwell Date: Mon Nov 19 17:06:56 2007 +1100 [POWERPC] iSeries: Declare iSeries_pci_final_fixup in pci.h Fixes sparse warning: arch/powerpc/platforms/iseries/pci.c:169:13: warning: symbol 'iSeries_pci_final_fixup' was not declared. Should it be static? Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 1e10590475b4a6d848e20c19fb22b074075c9ef3 Author: Stephen Rothwell Date: Mon Nov 19 17:03:59 2007 +1100 [POWERPC] iSeries: Mark two functions __init Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit ebfc00f78c13d0643c858ccc61c5bb8be0a5dbf0 Author: Stephen Rothwell Date: Mon Nov 19 16:56:15 2007 +1100 [POWERPC] Make global_phb_number static since it's not used outside of arch/powerpc/kernel/pci-common.c. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 5a8a1a28bb35a62561367c0a1144dbc5dcb95230 Author: Benjamin Herrenschmidt Date: Fri Nov 16 18:23:33 2007 +1100 [POWERPC] Add xmon function to dump 44x TLB This adds a function to xmon to dump the content of the 44x processor TLB with a little bit of decoding (but not much). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 5f1a7c811bb1aa5259afb8967c704f1306eaacb3 Author: Linas Vepstas Date: Fri Nov 16 05:58:36 2007 +1100 [POWERPC] EEH: Report errors as soon as possible Do not wait for the pci slot status before reporting an error to the device driver. Some systems may take many seconds to report the slot status, and this can confuse unsuspecting device drivers. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit c9b65a7da694bd774398283b9bd860f7e3234432 Author: Linas Vepstas Date: Fri Nov 16 05:57:27 2007 +1100 [POWERPC] EEH: Be careful when identifying "empty" slots. If an "empty" slot is failing, make sure its a permanent failure; else process the error normally. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 307d46e83291ef58b2c3b6d33b7ec6dd163d58b9 Author: Linas Vepstas Date: Fri Nov 16 05:56:23 2007 +1100 [POWERPC] EEH: Work with device endpoint, always Perform all error checking at the "partitonable endpoint" of the device. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 1b0e9d44ee6f9c969d3110d5d2db3b6eb472ae14 Author: Johannes Berg Date: Wed Nov 14 06:08:32 2007 +1100 [POWERPC] PMU: Remove dead code Some code in via-pmu.c is never compiled because of "compile options" within the file. Remove the code completely. Signed-off-by: Johannes Berg Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 9ee7fd9c605247baf81d196ade090698a0759e9c Author: Johannes Berg Date: Wed Nov 14 06:07:56 2007 +1100 [POWERPC] PMU: Don't lock_kernel() I see nothing that this lock_kernel() actually protects against, so remove it. Signed-off-by: Johannes Berg Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 6215762064311efea0618c9496cc6360cd75243d Author: Johannes Berg Date: Wed Nov 14 05:17:20 2007 +1100 [POWERPC] powermac: Fix warning in time.c arch/powerpc/platforms/powermac/time.c:88: warning: 'to_rtc_time' defined but not used This fixes the warning by making the relevant code depend on the users. Signed-off-by: Johannes Berg Signed-off-by: Paul Mackerras commit d65dded426e1315f5fbe3e1bc2ffe2140c69ceec Author: Nathan Lynch Date: Tue Nov 13 09:51:16 2007 +1100 [POWERPC] Remove prod_processor() prod_processor() is unused, and that's a good thing, since it does not supply the required proc id parameter to H_PROD. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 8d089085a4e6d8a91c954130cb4caebd50788a08 Author: Benjamin Herrenschmidt Date: Thu Oct 25 15:27:44 2007 +1000 [POWERPC] Cleanup SMT thread handling This cleans up the SMT thread handling, removing some hard coded assumptions and providing a set of helpers to convert between linux cpu numbers, thread numbers and cores. This implementation requires the number of threads per core to be a power of 2 and identical on all cores in the system, but it's an implementation detail, not an API requirement and so this limitation can be lifted in the future if anybody ever needs it. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 32e2b55eec7116a859b384dbcc4b52a54a156869 Author: Olof Johansson Date: Wed Nov 7 09:31:06 2007 -0600 [POWERPC] pasemi: Move cpus to hold loop before restart Use smp_send_stop() to move all cpus besides the one executing reboot into a hold loop, to keep them from being in powersavings mode at the time of reboot. Signed-off-by: Olof Johansson commit 8b32bc03256c82a6a4fcb3c2520b54469b74ec82 Author: Olof Johansson Date: Wed Nov 7 09:26:06 2007 -0600 [POWERPC] pasemi: Don't enter powersaving states from elevated astates When the PWRficient cpus are entered into powersavings states, the astate is automatically dropped down to 0. While we still restore it when we come out of idle, it can still cause some weird effects with respect to performance (especially since it takes a while to ramp up to higher astates). So, to avoid this, don't enter power savings when the cpufreq driver (or user) has set higher astates than 0. The restore is still required, since there's a chance the astate has been raised from the other cpu while the idling one was asleep. Signed-off-by: Olof Johansson commit 0d08a84770cb03aea24268e515342d44df8ea588 Author: Olof Johansson Date: Sun Nov 4 20:57:45 2007 -0600 [POWERPC] pasemi: Broaden specific references to 1682M There will be more product numbers in the future than just PA6T-1682M, but they will share much of the features. Remove some of the explicit references and compatibility checks with 1682M, and replace most of them with the more generic term "PWRficient". Signed-off-by: Olof Johansson Acked-by: Michael Buesch Acked-by: Doug Thompson commit 2dd3c0016090543e12aa0c5aee574ded6a88b886 Author: Olof Johansson Date: Sun Nov 4 15:44:15 2007 -0600 [POWERPC] pasemi: clean up mdio_gpio a bit Misc cleanups of mdio_gpio: * Better error handling/unrolling in case of init/alloc failures * Go through child nodes and get their interrupts instead of using hardcoded values * Remap the GPIO registers at module load/driver init instead of during probe * Coding style and other misc cleanups Signed-off-by: Olof Johansson commit 846fc31d06e54ad94026da11da0668c050fe777e Author: Egor Martovetsky Date: Wed Nov 28 18:37:31 2007 -0600 [MTD] [NAND] pasemi_nand driver Plumbing for NAND connected via localbus on PA Semi PWRficient-based boards. From: Egor Martovetsky Signed-off-by: Olof Johansson Signed-off-by: David Woodhouse commit 03680b1e00d146df718c8a4eac34438566b70c85 Author: Ben Dooks Date: Mon Nov 19 23:28:07 2007 +0000 [MTD] [NAND] S3C2410 correctly set nFCE over resume Ensure the nFCE line is de-asserted over suspend and then re-initialised when the system resumes. This is to ensure that the NAND is kept in lowest power mode over suspend (power settings are only specified for nFCE inactive) as well as fixing the Simtec Osiris which relies on nFCE being inactive. Signed-off-by: Ben Dooks Signed-off-by: David Woodhouse commit 73061e4c2dcfba17c6a0137a1199d3e00d03b14c Author: Stanislav Brabec Date: Mon Nov 19 22:33:02 2007 +0100 [MTD] fix CONFIG_MTD_SHARP_SL if CONFIG_MTD=m Sharp Zaurus SL-C3200 with CONFIG_MTD=m and CONFIG_MTD_SHARP_SL=y (as it is bool) lost support for the ROM flash. With CONFIG_MTD=y it has no problems. It is caused by losing of compiled code of drivers/mtd/maps/sharpsl-flash.o. It was linked to drivers/mtd/maps/built-in.o and drivers/mtd/built-in.o, but lost and not linked to drivers/built-in.o (because CONFIG_MTD!=y). Patch below fixes this problem by creating sharpsl-flash.ko (and the code works correctly as a module). Signed-off-by: Stanislav Brabec Signed-off-by: David Woodhouse commit cccb45d4b34728d33638085435f8fdc0a83e0c00 Author: Andrew Victor Date: Mon Nov 19 15:37:23 2007 +0200 [MTD] mtd_dataflash: Incorrect compare-after-write check After writing to a Dataflash page, the built-in compare operation is used to check that the page was successfully written. A logic bug in checking the results of the comparison currently causes the compare to never fail. This bug was originally in the legacy at91_dataflash.c driver. Signed-off-by: Andrew Victor Acked-by: David Brownell Signed-off-by: David Woodhouse commit c2056e1e1ddcca8d43e89543e1795e4457f5d1e9 Author: Alexey Korolev Date: Tue Nov 27 11:25:10 2007 +0000 [JFFS2] Fix return value check for mtd->point() in check_node_data() If we ask it to map 'len' bytes of the device, don't compare against some other number and whine that it's different. That's a little silly. Signed-off-by: Alexey Korolev Signed-off-by: David Woodhouse commit 6c24e4161e80a5c03e9d969b5db73d8553846037 Author: Alexander Belyakov Date: Wed Nov 7 11:58:07 2007 +0300 [MTD] [NOR] Prevent erase command invocation on suspended chip while running stress tests we have met cfi_cmdset_0001.c driver issue. Working on multipartitional devices with erase suspend on write feature enabled it is possible to get erase operation invoked on chip with suspended erase. get_chip() looses information about earlier suspended erase and new erase operation gets issued. New erase operations report successful completion, but blocks remain dirty causing, for example, JFFS2 error messages like: ... Newly-erased block contained word 0x20031985 at offset 0x00200000 Newly-erased block contained word 0x20031985 at offset 0x00280000 Newly-erased block contained word 0x20031985 at offset 0x00240000 ... The patch below fixes that issue. Signed-off-by: Alexander Belyakov Acked-by: Nicolas Pitre Signed-off-by: David Woodhouse commit 5f4d47d5d1060a93be83e33a167a53a7f8c08b20 Author: Adrian Hunter Date: Tue Nov 6 09:17:25 2007 +0200 [MTD] [OneNAND] Do not stop reading for ECC errors When an ECC error occurs, the read should be completed anyway before returning -EBADMSG. Returning -EBADMSG straight away is incorrect. Signed-off-by: Adrian Hunter Acked-by: Kyungmin Park Signed-off-by: David Woodhouse commit b1c9c9be6da010510459aca93f5754efb19695ff Author: Alexey Korolev Date: Fri Nov 23 09:31:56 2007 +0000 [MTD] [NOR] Support Intel P3x flash support with CFI version 1.5 Signed-off-by: Alexey Korolev Signed-off-by: David Woodhouse commit 92525726df0c30e080b0fce9b0eb699c622d261e Author: David Woodhouse Date: Wed Nov 21 12:08:16 2007 -0500 [JFFS2] Fix data CRC checking on NOR flash. We were failing to check the data CRC on data nodes on non-writebuffered flash, which led to "interesting" behaviour on unclean shutdowns. Signed-off-by: David Woodhouse 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 commit ed9cbcd40004904dbe61ccc16d6106a7de38c998 Author: Zhao Yakui Date: Tue Nov 20 14:20:21 2007 -0500 Revert "speedstep-lib.c: fix frequency multiplier for Pentium4 models 0&1" For P4 model < 2, The MSR_FBC_REGISTER_ID ratio is undefined. Revert the commit that was added to handle that case, as it results in random MHz displayed. Something else will have to be done to properly handle model < 2. //commit 3e4159ab35c88aef5e063ba78796b277b762a30a //Author: matthias.christian //Date: Sat Feb 5 23:09:38 2005 +0000 // // [PATCH] speedstep-lib.c: fix frequency multiplier for Pentium4 models 0&1 // // The Pentium4 models 0&1 have a longer MSR_EBC_FREQUENCY_ID register as the // models 2&3, so the bit shift must be bigger. // // Signed-off-by: Matthias-Christian Ott // Signed-off-by: Dominik Brodowski // Signed-off-by: Andrew Morton // Signed-off-by: Linus Torvalds // // BKrev: 42055232eWM-NgjhZVir44mp5GXktQ http://bugzilla.kernel.org/show_bug.cgi?id=7186 Signed-off-by: Zhao Yakui Signed-off-by: Len Brown commit a7f9b1f24974da287771e2d70b30d9ca7bd66684 Author: Zhang Rui Date: Tue Nov 20 13:38:59 2007 -0500 ACPI: disable stray GPE, prevent ACPI interrupt storm GPEs are disabled depending on their type -- WAKE, WAKE_RUN, and RUNTIME. An error is returned if we are asked to disable a GPE that has no type. But at least one system exists that enables a GPE from AML that is not the EC GPE, and has no _Lxx/_Exx AML handler, and is thus never initialized. In this case, when an external CRT is plugged in, the GPE fires, we attempt to disable the GPE, but instead just return an error. So the GPE stays asserted and an ACPI interrupt storm follows. The fix is to disable a firing GPE, even if it comes from outer space. http://bugzilla.kernel.org/show_bug.cgi?id=6217 Signed-off-by: Zhang Rui Acked-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 60555e371d56a1e410d9fb6fc68f4e953f8f4109 Author: len.brown@intel.com Date: Mon Nov 19 22:22:37 2007 -0500 ACPI: CONFIG_CPU_IDLE=ACPI by default In Linux-2.6.24, CPU_IDLE went upstream, default =n. For Linux-2.6.25, enable it by default on ACPI systems. For Linux-2.6.26, we plan to enable it always on ACPI systems. Signed-off-by: Len Brown commit b4d2730a0dda91a43c81a02f5225f5d536cabb09 Author: Len Brown Date: Wed Nov 14 19:53:21 2007 -0500 ACPI: document method tracing hooks Signed-off-by: Len Brown commit 4169c45f179e285feac6bcf25f4bd0db6b109bab Author: Zhang Rui Date: Wed Nov 14 19:38:40 2007 -0500 ACPI: add control method tracing support Add debug tracing support during certain AML method execution. Four more module parameters are created under /sys/module/acpi/parameters/: trace_method_name: the AML method name that user wants to trace trace_debug_layer: the temporary debug_layer used when tracing the method. Using 0xffffffff by default if it is 0. trace_debug_level: the temporary debug_level used when tracing the method. Using 0x00ffffff by default if it is 0. trace_state: The status of the tracing feature. "enabled" means this feature is enabled and the AML method is traced every time it's executed. "1" means this feature is enabled and the AML method will only be traced during the next execution. "disabled" means this feature is disabled. Users can enable/disable this debug tracing feature by "echo string > /sys/module/acpi/parameters/trace_state". "string" should be one of "enable", "disable" and "1". http://bugzilla.kernel.org/show_bug.cgi?id=6629 Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 9c5e710bc1431f41ccdd0c294fa355aa0d45d2d7 Author: Mike Frysinger Date: Sat Nov 17 23:19:44 2007 +0800 MAINTIANERS: just use Mike gmail e-mail for contact and pawn the serial driver off onto Sonic Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 408dbc0da29913f99e56001db892eb653b47c13b Author: Bryan Wu Date: Sun Jan 27 18:38:12 2008 +0800 [Blackfin] arch: remove old I2C BF54x porting. Signed-off-by: Bryan Wu commit fc97551db9e4e9402ff2b5c94be8267b2e5f32f4 Author: Bernd Schmidt Date: Sun Jan 27 19:56:43 2008 +0800 [Blackfin] arch: Add the semtimedop syscall. Upstream uClibc doesn't compile without it. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit ee7883b7466e721a72edacbcba2fe9cf449d82b2 Author: Yi Li Date: Sun Jan 27 19:56:17 2008 +0800 [Blackfin] arch: fix bug kernel boot message: memory information is not reasonable Some of the information in kernel boot message is not reasonable. http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3846 - use _rambase as the start of kernel image. kernel is in the region [_rambase, _ramstart] - count in pages in per-cpu-page list as available memory - reserved memory now include: [0 - 4K] for bad pointer catching, memory reserved for abnormaly 05000263, memory reserved by kernel itself. Signed-off-by: Yi Li Signed-off-by: Bryan Wu commit de8c43f2fca9bb06f3ee87b38a61d5d9966ce221 Author: Mike Frysinger Date: Thu Jan 24 17:14:04 2008 +0800 [Blackfin] arch: use common flash driver to setup partitions rather than the bf5xx-flash driver Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 96a5c6f9bef027e1187b2f168bb3e08ef21d0b6f Author: Michael Hennerich Date: Tue Jan 22 19:23:50 2008 +0800 [Blackfin] arch: Fix bug - kernel build with Debug option enabled fails to boot up writes to I/DMEM_CONTROL must be followed by SSYNC Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 03c5732855300f05aac718ca770c2bb05e1fd48b Author: Sonic Zhang Date: Tue Jan 22 18:45:10 2008 +0800 [Blackfin] arch: Fix bug Only RTC interrupt can wake up deeper sleep core. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 444ad82bc3eaa554be40d22dc248e58aeefd54d9 Author: Michael Hennerich Date: Tue Jan 22 18:38:02 2008 +0800 [Blackfin] arch: Add proper SW System Reset delay sequence Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit a628a8bcd8a6daea6096fe781fc36cae4ac1ed48 Author: Michael Hennerich Date: Tue Jan 22 17:29:16 2008 +0800 [Blackfin] arch: Update copyright date Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit a2c8cfef6abb33ee49d80c58391ebfc4f94221ef Author: Michael Hennerich Date: Tue Jan 22 17:20:10 2008 +0800 [Blackfin] arch: GPIO API cleanup and anomaly update - Add anomaly workaround for bfin_gpio_reset_spi0_ssel1 - Fix style - Update copyright - Remove BUG_ON checks for functions intended to be used only by arch support. GPIO users should only access using the generic GPIO API - Make all GPIO identifier unsigned int Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit acbcd2631975cf6f0be5cd294cbfd12226cd9958 Author: Michael Hennerich Date: Tue Jan 22 18:36:20 2008 +0800 [Blackfin] arch: Fix BUG gpio_direction_output API is not compatitable with GENERIC_GPIO API interface signef-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit b97b8a998397e8c64699559099fa9febffae2b4d Author: Bernd Schmidt Date: Sun Jan 27 18:39:16 2008 +0800 [Blackfin] arch: Initial checkin of the memory protection support. Enable it with CONFIG_MPU. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 2047e40d724d42928c0b5994a1568c1b738efdb7 Author: Michael Hennerich Date: Tue Jan 22 15:29:18 2008 +0800 [Blackfin] arch: set_bfin_dma_config shouldnt set SYNC or RESTART by default - add argument or option Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 4521ef42de8dbaa9bce3f60bbb5868564f752e98 Author: Michael Hennerich Date: Fri Jan 11 17:21:41 2008 +0800 [Blackfin] arch: Add some comments - fix semicolons Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 7a1a6d00618bce53ae88e501ff5d4b82522db926 Author: Bernd Schmidt Date: Fri Jan 11 16:58:44 2008 +0800 [Blackfin] arch: move all code related to CPLB handling into a new subdirectory under kernel/ Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit aee3a29240ad167ad7875d859506d8bb90431c70 Author: Robin Getz Date: Fri Jan 11 16:53:00 2008 +0800 [Blackfin] arch: print out list of modules if kernel is crashing and tell people if the kernel is tainted Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit e31639540d2b1474766e95c1a7b1b698468ba092 Author: Bryan Wu Date: Thu Jan 24 16:19:15 2008 +0800 [Blackfin] arch: enable generic GPIO based I2C driver in STAMP-BF533, EZKIT-BF533 and EZKIT-BF561 boards Signed-off-by: Bryan Wu commit 6b5eace2f15b53d5a6849078d22e78db77625929 Author: Robin Getz Date: Thu Jan 10 17:57:56 2008 +0800 [Blackfin] arch: Don't oops_in_progress if single step is comming from the kernel Don't oops_in_progress if single step is comming from the kernel, which happens if a single step occurs after a exception cause. This fixes up the remaining issues in the toolchain bug. Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit a546b0ac5988348446e4fd5987df699b4c9b1f2a Author: Michael Hennerich Date: Mon Dec 24 20:19:51 2007 +0800 [Blackfin] arch: Fix BUG - kernel sometimes would stuck with KEYBOARD_GPIO on Make sure the SYSTEM reset completes before we issue the CORE reset Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 7cc1c4b2c44d7807f55da6a36f5b2e49977c67b7 Author: Mike Frysinger Date: Mon Dec 24 20:05:09 2007 +0800 [Blackfin] arch: update to latest anomaly sheets Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 79f1ec862ae2e693b85fd7c94654ba1779ff5863 Author: Joe Perches Date: Mon Dec 24 20:03:51 2007 +0800 [Blackfin] arch: Spelling fixes Signed-off-by: Joe Perches Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit b39f4ce974114ce8960d8bfa063c1f61e29d67cf Author: Sonic Zhang Date: Wed Dec 26 12:00:10 2007 +0800 [Blackfin] arch: fix bug - kgdb causing kernel panic ignore soft bp except when single step except occurs. Narrow the condition to ignore soft bp. If soft bp occurs in the single step handler or the soft bp handler, return immediately. This could happen when gdb client set soft bps in kernel code that in the path of kgdb core code. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 76a7f4049277691b9b800a23dc09009374cdaa21 Author: Enrik Berkhan Date: Mon Dec 24 19:51:31 2007 +0800 [Blackfin] arch: fix bug when DMA operation related core B of BF561 - Before DMA'ing data to core B L1 memory, caches have to be flushed. - Before DMA'ing data from core B L1 memory, caches have to be invalidated. - Fix lock/unlock. Signed-off-by: Enrik Berkhan Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 37931db5bdce35d37a9bdf93082604620ba3341a Author: Sonic Zhang Date: Mon Dec 24 19:43:39 2007 +0800 [Blackfin] arch: Restore default DMA priority over core on bf54x. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 43f73fef07eb70be7d508b34eeddf5985e300bb1 Author: Mike Frysinger Date: Mon Dec 24 19:35:35 2007 +0800 [Blackfin] arch: pull in linux/etherdevice.h for random_ether_addr() used in bfin_get_ether_addr() Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 7285846ff8d09879cacac5c6d40fc8e8443c7cf0 Author: Martin Strubel Date: Mon Dec 24 19:12:32 2007 +0800 [Blackfin] arch: disable bfin_get_ether_addr fucntion for boards when do not use MAC driver Signed-off-by: Martin Strubel Signed-off-by: Bryan Wu commit 8baf560b4c901fb554d15e056aaa7f34b2345be5 Author: Michael Hennerich Date: Mon Dec 24 18:51:34 2007 +0800 [Blackfin] arch: Enable both edge triggered GPIO IRQs on BF54x and use irq_to_gpio() Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 471b9a6c7304d5f59503d111e71e60a7e19fb9a0 Author: Martin Strubel Date: Sun Jan 27 19:54:20 2008 +0800 [Blackfin] arch: added Minotaur BSP Signed-off-by: Martin Strubel Signed-off-by: Bryan Wu commit 2463ef22bf8b6e22048bd26f940c014f7e1f0998 Author: Michael Hennerich Date: Sun Jan 27 16:49:48 2008 +0800 [Blackfin] arch: replace current blackfin specific pfbutton driver with kernel generic gpio key driver Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 6fce6a8d6940654b48d3d540627c7ee790a03b80 Author: Michael Hennerich Date: Mon Dec 24 16:56:12 2007 +0800 [Blackfin] arch: append IRQ Number to label string Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit fac3cf432ef9b6bfd64b35b95afe0b7e0079da74 Author: Michael Hennerich Date: Mon Dec 24 20:07:03 2007 +0800 [Blackfin] arch: Fix gpio label handling early serial init also utilizes the peripheral request api - however at this point bfin_gpio_init didn't allocate memory for the labels. So we always have two zombies (allocated pin functions without labels) This happens before the initcalls - We now allocate memory statically. Define MAX_RESOURCES individually for each cpu. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 1545a1111a02b5aafe6f141e133a6269c5741285 Author: Mike Frysinger Date: Mon Dec 24 16:54:48 2007 +0800 [Blackfin] arch: add support for BF523/BF524/BF526 Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 54a1668ce53fe701f1d36651b591ced388e97275 Author: Mike Frysinger Date: Mon Dec 24 14:59:03 2007 +0800 [Blackfin] arch: scrub dead alive/idle LED code if it does get re-added, it needs to be in the boards directory, not common code ... or it needs a re-implementation Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 3ca32c1dc62dabe67d7e51f6e8568e3965f52236 Author: Bernd Schmidt Date: Mon Dec 24 12:40:29 2007 +0800 [Blackfin] arch: fix up coding style in uaccess.h Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit b8aab6f6dc57ca79661d291af522d2e85156519f Author: Cliff Cai Date: Mon Dec 24 12:33:20 2007 +0800 [Blackfin] arch: set default value of DEB_DMA_URGENT to YES to avoid DMA aborting caused by conflict between core and DMA Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu commit 7a5f819187ff827c131721dbba11ad9596ae5e30 Author: Javier Herrero Date: Sun Jan 27 19:53:08 2008 +0800 [Blackfin] arch: Added support for OpenCores Keyboard Controller to H8606 board Signed-off-by: Javier Herrero Signed-off-by: Bryan Wu commit 2935077e06494638a78a02f7b4cf304e4e70eaca Author: Bryan Wu Date: Mon Dec 24 12:20:19 2007 +0800 [Blackfin] arch: Fix if/def BUG - and define is multipoint NO Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 0e85e3020ebb9a1afdeaa516fe8b8f16087adac1 Author: Michael Hennerich Date: Mon Dec 24 11:57:47 2007 +0800 [Blackfin] arch: The BF527 EZkit connects UART1/PORTF Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit f31db2a8e824de67b3480c1502d70a9c902c7c1b Author: Bryan Wu Date: Thu Jan 24 16:14:35 2008 +0800 [Blackfin] arch: update defconfig of boards Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 50657afdd95a595a68d4ef420300638c0880db37 Author: Michael Hennerich Date: Mon Dec 24 00:16:01 2007 +0800 [Blackfin] arch: Trash bf54x-hcd driver - we use the musb driver Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 1089e228737019b9711a6a394eebe25bf46b22d9 Author: Michael Hennerich Date: Mon Dec 24 11:49:29 2007 +0800 [Blackfin] arch: Enable peripheral platform resources on the BF527 EZkit Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 971d5bc4e5c75bfc4466deaff09839cd6f918eca Author: Sonic Zhang Date: Sun Jan 27 16:32:31 2008 +0800 [Blackfin] arch: Fix bug to Enable bf548 to Re-program Clocks while Kernel boots. Reprogram DDR EBIU register properly for bf548. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit b03b08ba9c7235861adf4dde712dade0bb756fe0 Author: Robin Getz Date: Sun Dec 23 22:57:01 2007 +0800 [Blackfin] arch: Clean up dump_bfin_mem Clean up dump_bfin_mem so that it will display content from the kernel, as well as l1 instruction, when deferred HW errors happen, print out the last frame info if it makes sense. Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 0d4a89bb3eb58f39831186fa6b1542893dbfdc9f Author: Michael Hennerich Date: Sun Jan 27 19:58:46 2008 +0800 [Blackfin] arch: add Hitachi TX09D70VM1CDA TFT LCD driver resource to Blackfin board Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit fb5f00492a748facc9f069c95621e05c148edf53 Author: Sonic Zhang Date: Sun Dec 23 23:02:13 2007 +0800 [Blackfin] arch: Fix bug to Enable kernel to build for bf548 with PM. On BF548-EZKIT, build kernel faills with power management, video and audio enabled. This patch fix this. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit c50e19f49830fb651b4b702ad2c3abcdf110b576 Author: Yi Li Date: Fri Dec 21 21:12:21 2007 +0800 [Blackfin] arch: fix bug - make memcpy return the dest addr. The memcpy() function returns the src pointer instead of the dst pointer. This patch fix this bug. Signed-off-by: Yi Li Signed-off-by: Bryan Wu commit a5bb85dfffd38714d83cf7798886462d7314b90a Author: Cliff Cai Date: Fri Dec 21 21:04:40 2007 +0800 [Blackfin] arch: fix bug SDIO driver fails to build for BF542/BF548 modified CMD_TIMEOUT and DAT_TIMEOUT to CMD_TIME_OUT and DAT_TIME_OUT Signed-off-by: Cliff Cai Signed-off-by: Bryan Wu commit fb96c56de33def1484614c6a3d0fbef76595ce2f Author: Javier Herrero Date: Fri Dec 21 18:26:44 2007 +0800 [Blackfin] arch: Added support for 8250-class UARTs in HV Sistemas H8606 board, modification in 8250.c driver for correct compilation with Blackfin Signed-off-by: Javier Herrero Signed-off-by: Bryan Wu commit d5c4b5e3b2682a9aac07a43a8a79d3b692b22567 Author: Robin Getz Date: Fri Dec 21 17:49:53 2007 +0800 [Blackfin] arch: Let the pre-processor do the math to save a few cycles - no functional changes Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 6f3ed704b03b2f9997b604690ac43a3514105a6a Author: Robin Getz Date: Fri Dec 21 17:48:07 2007 +0800 [Blackfin] arch: do not use fixed numbers to describe offsets - no functional changes Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 0626d79686b4536eac1dc88e2cf52d927a5010c2 Author: Robin Getz Date: Fri Dec 21 17:46:33 2007 +0800 [Blackfin] arch: do not use hard coded addresses Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit d8f66c8c1ea8e948483ee4739ad91120f5f7de51 Author: Robin Getz Date: Mon Dec 24 15:27:56 2007 +0800 [Blackfin] arch: fix bug gdb testing on hardware has regression http://blackfin.uclinux.org/gf/project/toolchain/tracker/?action=TrackerItemEdit&tracker_item_id=3651 As Bernd predicted, this was only necessary because of other problems in the kenel - fixing those, and this is not necessary, so remove it. Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 13fe24f37df20e580a5a364e67ec8cf3219d8f8c Author: Robin Getz Date: Sun Jan 27 15:38:56 2008 +0800 [Blackfin] arch: fix bug - trap_tests fails to recover on some tests. http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3719 When the CPLBs get a miss, we do: - find a victim in the HW table - remove the victim - find the replacement in the software table - put it into the HW table. If we can't find a replacement in the software table, we accidently leave a duplicate in the HW table. This patch ensures that duplicate is marked as not valid. What we should do is find the replacement in the software table, before we find a victim in the HW table - but its too late in the release cycle to do that much restructuring of this code. Rather that duplicate code, connect Hardware Errors (irq5) into trap_c, so user space processes get killed properly. The rest of irq_panic() can be moved into traps.c (later) There is still a small corner case that causes problems when a pheriperal interrupt goes off a single cycle before a user space hardware error. This causes a kernel panic, rather than the user space process being killed. But, this checkin makes things work in 99.9% of the cases, and is a vast improvement from what is there today (which fails 100% of the time). Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit f53e86760e10abbe7ee98a5b3cb270fa6426fcdb Author: Robin Getz Date: Sun Jan 27 15:38:44 2008 +0800 [Blackfin] arch: Add a note describing what is going on - no functional changes Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 8547e583a1140698cab41bc3f687efe8f8b2bb41 Author: David Howells Date: Fri Nov 9 15:34:42 2007 +0000 [MTD] [NOR] Add support for the SST 39VF1601 flash chip Add support for the SST 39VF1601 flash chip. Signed-off-by: David Howells Signed-off-by: David Woodhouse commit a66f66c44d53a4bab4b6b2903fd271f13ce4101b Author: Jesper Nilsson Date: Tue Nov 6 08:40:24 2007 +0000 [MTD] Provide mtdram.h with mtdram_init_device() prototype This is used by axisflashmap.c to boot from ram. Signed-off-by: Jesper Nilsson Acked-by: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 050416e93354158b025360387746fb7257d7ce07 Author: Adrian Bunk Date: Tue Nov 6 08:36:49 2007 +0000 [JFFS2] make jffs2_get_acl() static jffs2_get_acl() can now become static again. Signed-off-by: Adrian Bunk Acked-by: KaiGai Kohei Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 6d88202e3985afc5ac62733b7673c7e815cda698 Author: David Woodhouse Date: Tue Nov 6 08:29:59 2007 +0000 [JFFS2] Fix misapplied patch causing compile breakage Somehow, the patch in commit 15953580e79b58caefb107e77f218e009b9992e6 was misapplied and part of the old list-traversal remained. Remove it. Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 857013b87b6e0fea776c1f0b365dbce3d6eba8c6 Author: David Woodhouse Date: Thu Nov 1 16:27:38 2007 -0400 [JFFS2] Don't strip sgid bit from inode permissions dwmw2: anyway, removing sgid from directories or from files without S_IXGRP is a plain and simple bug these days you don't need that logics at all - simply remove it Signed-off-by: David Woodhouse commit 15953580e79b58caefb107e77f218e009b9992e6 Author: David Woodhouse Date: Thu Nov 1 16:25:56 2007 -0400 [JFFS2] Improve getdents vs. f_pos handling on NOR flash. Commit a491486a2087ac3dfc00efb4f838c8d684afaf54 started obliterating dirents directly on the medium, when jffs2_can_mark_obsolete(). Removing them immediately from the f->dents list, however, screws up handling of f_pos within a directory -- because the offset is equivalent to the number of entries through the list we are, and the existence of deletion dirents served to provide 'placeholders' for unlinked entries. Now, 'rm -r' doesn't even manage to unlink everything in the directory. Revert to keeping 'deletion' dirents in the list, at least in memory even though we no longer write anything to the medium. Spotted, debugged and mostly fixed by Joakim Tjernlund Signed-off-by: David Woodhouse commit d10a39d1a580db005d206fb6527a60fd9800c9fd Author: Hans-Christian Egtvedt Date: Tue Oct 30 16:33:07 2007 +0100 [MTD] [NOR] More CFI fixups for Atmel chips Convert CFI tables from Atmel cmdset_0001 chips to Intel format and set BufWrite timeouts to 0 for Atmel cmdset_0001 and cmdset_0002 chips. Some chips may indicate support for buffered writes even though they only support dual-word writes. The CFI fixup must run before fixup_use_write_buffers for this to work. Signed-off-by: Håvard Skinnemoen Signed-off-by: David Woodhouse commit 4edaf56e0f8a6f71e3361bf74e3dc835811761e6 Author: Valentine Barshak Date: Mon Oct 29 23:29:02 2007 +0300 MTD: small physmap_of partition parsing fixes Use of_get_next_child for proper ref counting as suggested by Stephen Rothwell and remove add_mtd_partitions from parse_partitions to avoid duplicate mtd device registration for RedBoot partitions. Signed-off-by: Valentine Barshak Acked-by: David Gibson Heckled-for-on-IRC-by: Josh Boyer Signed-off-by: David Woodhouse commit a25b7fee537ab4dbc6eb301bd455ee8d01b707f6 Author: Michael Hennerich Date: Tue Oct 30 17:08:29 2007 +0800 [MTD] [NAND] Add Blackfin BF52x support in bf5xx_nand driver Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: David Woodhouse commit 3c441baa0365ea7c3be9ee79f03e944289dd37e1 Author: David Woodhouse Date: Sun Oct 28 21:57:02 2007 -0400 [MTD] Skip bad blocks when checking for RedBoot partition table Signed-off-by: David Woodhouse commit 9c37f3329ae098d4c17e8bec589a589bcbf0acff Author: David Woodhouse Date: Sun Oct 28 21:56:39 2007 -0400 [MTD] [NAND] Check for RedBoot partitions on CAFÉ NAND Signed-off-by: David Woodhouse