commit a5fcaa210626a79465321e344c91a6a7dc3881fa Merge: 489de30... d4e2cbe... Author: Linus Torvalds Date: Mon Jul 16 18:24:37 2007 -0700 Merge branch 'drm-patches' of ssh://master.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-patches' of ssh://master.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm: convert drawable code to using idr drm: convert drm context code to use Linux idr commit d4e2cbe9cb9219fc924191a6baa2369140cb5ea8 Author: Dave Airlie Date: Tue Jul 17 10:55:47 2007 +1000 drm: convert drawable code to using idr This converts the code for allocating drawables to the Linux idr, Fixes from: Michel Dänzer , Kristian Høgsberg Signed-off-by: Dave Airlie commit 62968144e673016180f530fdfe170874b80ab5a7 Author: Dave Airlie Date: Tue Jul 17 10:46:52 2007 +1000 drm: convert drm context code to use Linux idr This converts the drm context allocator to an idr, using the new idr interface features from Kristian. Fixes from Kristian Hoegsberg Signed-off-by: Dave Airlie commit 489de30259e667d7bc47da9da44a0270b050cd97 Merge: 1f1c288... bf22f6f... Author: Linus Torvalds Date: Mon Jul 16 17:58:08 2007 -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: (209 commits) [POWERPC] Create add_rtc() function to enable the RTC CMOS driver [POWERPC] Add H_ILLAN_ATTRIBUTES hcall number [POWERPC] xilinxfb: Parameterize xilinxfb platform device registration [POWERPC] Oprofile support for Power 5++ [POWERPC] Enable arbitary speed tty ioctls and split input/output speed [POWERPC] Make drivers/char/hvc_console.c:khvcd() static [POWERPC] Remove dead code for preventing pread() and pwrite() calls [POWERPC] Remove unnecessary #undef printk from prom.c [POWERPC] Fix typo in Ebony default DTS [POWERPC] Check for NULL ppc_md.init_IRQ() before calling [POWERPC] Remove extra return statement [POWERPC] pasemi: Don't auto-select CONFIG_EMBEDDED [POWERPC] pasemi: Rename platform [POWERPC] arch/powerpc/kernel/sysfs.c: Move NUMA exports [POWERPC] Add __read_mostly support for powerpc [POWERPC] Modify sched_clock() to make CONFIG_PRINTK_TIME more sane [POWERPC] Create a dummy zImage if no valid platform has been selected [POWERPC] PS3: Bootwrapper support. [POWERPC] powermac i2c: Use mutex [POWERPC] Schedule removal of arch/ppc ... Fixed up conflicts manually in: Documentation/feature-removal-schedule.txt arch/powerpc/kernel/pci_32.c arch/powerpc/kernel/pci_64.c include/asm-powerpc/pci.h and asked the powerpc people to double-check the result.. commit 1f1c2881f673671539b25686df463518d69c4649 Merge: 7608a86... c5e3ae8... Author: Linus Torvalds Date: Mon Jul 16 17:48:54 2007 -0700 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (37 commits) forcedeth bug fix: realtek phy forcedeth bug fix: vitesse phy forcedeth bug fix: cicada phy atl1: reorder atl1_main functions atl1: fix excessively indented code atl1: cleanup atl1_main atl1: header file cleanup atl1: remove irq_sem cdc-subset to support new vendor/product ID 8139cp: implement the missing dev->tx_timeout myri10ge: Remove nonsensical limit in the tx done routine gianfar: kill unused header EP93XX_ETH must select MII macb: Add multicast capability macb: Use generic PHY layer s390: add barriers to qeth driver s390: scatter-gather for inbound traffic in qeth driver eHEA: Introducing support vor DLPAR memory add Fix a potential NULL pointer dereference in free_shared_mem() in drivers/net/s2io.c [PATCH] softmac: Fix ESSID problem ... commit 7608a864e5211df1e3c1948e2719aec7c27b9333 Merge: 7713a7d... f798634... Author: Linus Torvalds Date: Mon Jul 16 17:33:17 2007 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: [SERIAL] SUNHV: Fix jerky console on LDOM guests. [SPARC64]: Fix race between MD update and dr-cpu add. [SPARC64]: SMP build fix. commit 7713a7d195c2e11d7ba6a973317da0af862d1264 Author: David Miller Date: Mon Jul 16 17:17:44 2007 -0700 [HRTIMER] Fix cpu pointer arg to clockevents_notify() All of the clockevent notifiers expect a pointer to an "unsigned int" cpu argument, but hrtimer_cpu_notify() passes in a pointer to a long. [ Discussed with and ok by Thomas Gleixner ] Signed-off-by: David S. Miller Signed-off-by: Linus Torvalds commit f798634d806615bee27d1b83479034087a02aa0f Author: David S. Miller Date: Mon Jul 16 17:05:11 2007 -0700 [SERIAL] SUNHV: Fix jerky console on LDOM guests. Mixing putchar() and write() hvcalls does not work %100 correctly. But we should be using write() all the time if we can, even from ->start_tx(), anyways. Signed-off-by: David S. Miller commit 778feeb4757daef5d7118feab2319142367910dd Author: David S. Miller Date: Mon Jul 16 16:50:36 2007 -0700 [SPARC64]: Fix race between MD update and dr-cpu add. We need to make sure the MD update occurs before we try to process dr-cpu configure requests. MD update and dr-cpu were being processed by seperate threads so that did not happen occaisionally. Fix this by executing all domain services data packets from a single thread, in order. This will help simplify some other things as well. Signed-off-by: David S. Miller commit 3ac66e33eaf0b2313f7e3c8c023aa0420577a0c2 Author: Fabio Massimo Di Nitto Date: Mon Jul 16 14:15:39 2007 -0700 [SPARC64]: SMP build fix. The UP build fix had some unintended consequences. Signed-off-by: David S. Miller commit 29417b899a77aaba1c060f5e123db4f50006f58a Author: Linus Torvalds Date: Mon Jul 16 16:52:44 2007 -0700 Make BLK_DEV_BSG depend strictly on SCSI=y The SCSI code can be compiled modular, but BLK_DEV_BSG currently cannot, and depends on the SCSI layer. So make sure that it depends on the SCSI layer being compiled in, not just available as a module. Noticed by Jeff Garzik and S.Çağlar Onur. Cc: Jeff Garzik Cc: Jens Axboe Cc: S.Çağlar Onur Signed-off-by: Linus Torvalds commit a54890d7a6f37a4658294cbce650af4d1fabb8c9 Author: Linus Torvalds Date: Mon Jul 16 16:50:01 2007 -0700 Make check_signature depend on CONFIG_HAS_IOMEM This should avoid build problems on architectures without a "readb()", that got bitten by check_signature() being uninlined. Noted by Heiko Carstens. Cc: Heiko Carstens Cc: Andrew Morton Signed-off-by: Linus Torvalds commit c5e3ae8823693b260ce1f217adca8add1bc0b3de Author: Ayaz Abdulla Date: Sun Jul 15 06:51:03 2007 -0400 forcedeth bug fix: realtek phy This patch contains errata fixes for the realtek phy. Signed-off-by: Ayaz Abdulla Signed-off-by: Jeff Garzik commit d215d8a269f397d303c3d5f7c74e98592e8284f1 Author: Ayaz Abdulla Date: Sun Jul 15 06:50:53 2007 -0400 forcedeth bug fix: vitesse phy This patch contains errata fixes for the vitesse phy. Signed-off-by: Ayaz Abdulla Signed-off-by: Jeff Garzik commit 14a67f3c6ca319edd011db4edad63dd686426ae2 Author: Ayaz Abdulla Date: Sun Jul 15 06:50:28 2007 -0400 forcedeth bug fix: cicada phy This patch contains errata fixes for the cicada phy. It only renamed the defines to be phy specific. Signed-off-by: Ayaz Abdulla Signed-off-by: Jeff Garzik commit 05ffdd7bf364c456ffd51f0c2bf0f41b8e110f49 Author: Jay Cliburn Date: Sun Jul 15 11:03:29 2007 -0500 atl1: reorder atl1_main functions Reorder functions in atl1_main into more logical groupings to make the code easier to follow. This patch is large, but it's harmless; it neither adds nor removes any functionality whatsoever. Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit 2ca13da705ac9780ff7cd2ea7948e25303c42f81 Author: Jay Cliburn Date: Sun Jul 15 11:03:28 2007 -0500 atl1: fix excessively indented code Move excessively indented code to separate functions. Also move ring pointer initialization to its own function. Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit 53ffb42cdf3d01f7b6e2101eebed3d12e71a30f5 Author: Jay Cliburn Date: Sun Jul 15 11:03:27 2007 -0500 atl1: cleanup atl1_main Fix indentation, remove dead code, improve some comments, change dev_dbg to dev_printk. Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit 2b116145bbdbe1b13a2eb780988447eecd657a55 Author: Jay Cliburn Date: Sun Jul 15 11:03:26 2007 -0500 atl1: header file cleanup Remove unused structure members, improve comments, break long comment lines, rename a constant to be consistent with others in the file. Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit 70d9d4b2477f90fb99227026f4cb6e75920eb1ec Author: Jay Cliburn Date: Sun Jul 15 11:03:25 2007 -0500 atl1: remove irq_sem Remove unnecessary irq_sem code. Signed-off-by: Chris Snook Signed-off-by: Jay Cliburn Signed-off-by: Jeff Garzik commit d4f01a77d74ced4dab50d0cf75d568f48a3b6b4e Author: jing xiang Date: Sat Jul 14 14:13:24 2007 +0800 cdc-subset to support new vendor/product ID This patch is for cdc subset to support Mavell vendor/product ID. Signed-off-by: Jing Xiang Signed-off-by: Jeff Garzik commit 9030c0d24dbb90bbe6b31dc93c3be5e36290c7c3 Author: Francois Romieu Date: Fri Jul 13 23:05:35 2007 +0200 8139cp: implement the missing dev->tx_timeout Signed-off-by: Mika Lansirinne Signed-off-by: Jeff Garzik commit c97884b5de95a11d1668f134a51c1d150d214391 Author: Brice Goglin Date: Fri Jul 13 20:15:13 2007 +0200 myri10ge: Remove nonsensical limit in the tx done routine Remove nonsensical limit in the tx done routine. Specifically, the loop will always terminate after processing <= 1 rings worth of frames, as the mcp index is not refetched, so the removed conditional could never be true. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit be5ae973197b84e9f39784b73d08ba41931fbdc9 Author: Kumar Gala Date: Fri Jul 13 00:38:47 2007 -0500 gianfar: kill unused header A long time ago we used OCP with the gianfar driver. Eventually when we kill arch/ppc including this will cause issues so lets just kill it now. Signed-off-by: Kumar Gala Signed-off-by: Jeff Garzik commit 06103b13828425ebd24255ec08c28a795b6b7a68 Author: John Donoghue Date: Fri Jul 13 02:12:08 2007 +0200 EP93XX_ETH must select MII CONFIG_EP93XX_ETH=y, CONFIG_MII=n results in an obvious link error. Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 446ebd0118d8e82791652bd17dd8db08ab993c0e Author: Patrice Vilchez Date: Thu Jul 12 19:07:25 2007 +0200 macb: Add multicast capability Add multicast capability to Atmel ethernet macb driver. Signed-off-by: Patrice Vilchez Signed-off-by: Haavard Skinnemoen Signed-off-by: Jeff Garzik commit 6c36a7074436e181fb3df41f66bbdaf53980951e Author: frederic RODO Date: Thu Jul 12 19:07:24 2007 +0200 macb: Use generic PHY layer Convert the macb driver to use the generic PHY layer in drivers/net/phy. Signed-off-by: Frederic RODO Signed-off-by: Haavard Skinnemoen Signed-off-by: Jeff Garzik commit 54ab2927d38536f6d437bdd0d7454b99bf67a48c Author: Frank Blaschka Date: Thu Jul 12 12:51:35 2007 +0200 s390: add barriers to qeth driver Add barrier to loop where atomic variable is evaluated. Signed-off-by: Frank Blaschka Signed-off-by: Ursula Braun Signed-off-by: Frank Pavlic Signed-off-by: Jeff Garzik commit aa617aa9568e5fc80103194f5a6da2977c305f10 Author: Frank Blaschka Date: Thu Jul 12 12:51:34 2007 +0200 s390: scatter-gather for inbound traffic in qeth driver For large incoming packets > PAGE_SIZE/2 qeth creates a fragmented skb by adding pointers to qdio pages to the fragment list of the skb. This avoids allocating big chunks of consecutive memory. Also copying data from the qdio buffer to the skb is economized. Signed-off-by: Frank Blaschka Signed-off-by: Ursula Braun Signed-off-by: Frank Pavlic Signed-off-by: Jeff Garzik commit 44c821525778c5d2e81da293195d5d589e8ad845 Author: Thomas Klein Date: Wed Jul 11 16:32:00 2007 +0200 eHEA: Introducing support vor DLPAR memory add This patch adds support for DLPAR memory add to the eHEA driver. To detect whether memory was added the driver uses its own memory mapping table and checks for kernel addresses whether they're located in already known memory sections. If not the function ehea_rereg_mrs() is triggered which performs a rebuild of the mapping table and a re-registration of the global memory region. Signed-off-by: Thomas Klein Signed-off-by: Jeff Garzik commit 5be808467347fc99bdd216883c5dbd123d6ad9d6 Merge: 8910b49... 4cf92a3... Author: Jeff Garzik Date: Mon Jul 16 17:59:03 2007 -0400 Merge branch 'upstream-jgarzik' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into upstream commit 8910b49fbb8d4517a20bb3de7dc239dcfa7d2b6f Author: Micah Gruber Date: Mon Jul 9 11:29:04 2007 +0800 Fix a potential NULL pointer dereference in free_shared_mem() in drivers/net/s2io.c This patch fixes a potential null dereference bug where we dereference nic before a null check. This patch simply moves the dereferencing after the null check. Signed-off-by: Micah Gruber < micah.gruber@gmail.com> Signed-off-by: Jeff Garzik commit 2e27afb300b56d83bb03fbfa68852b9c1e2920c6 Author: Linus Torvalds Date: Mon Jul 16 14:31:08 2007 -0700 Revert "[NET]: Fix races in net_rx_action vs netpoll." This reverts commit 29578624e354f56143d92510fff33a8b2aaa2c03. Ingo Molnar reports complete breakage with his e1000 card (no networking, card reports transmit timeouts), and bisected it down to this commit. Let's figure out what went wrong, but not keep breaking machines until we do. Cc: Ingo Molnar Cc: Olaf Kirch Cc: David Miller Signed-off-by: Linus Torvalds commit c2dc1ad582196208a2f990eb0230eb922046c684 Merge: 5b37696... ff4135a... Author: Linus Torvalds Date: Mon Jul 16 12:15:50 2007 -0700 Merge branch 'drm-patches' of ssh://master.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-patches' of ssh://master.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm: remove core typedefs from the ioc32 wrappers drm: remove sarea typedefs drm: detypedef the hashtab and more of sman drm: de-typedef sman drm: detypedeffing continues... drm: detypef waitlist/freelist/buf_entry/device_dma/drm_queue structs drm: drop drm_vma_entry_t, drm_magic_entry_t drm: drop drm_buf_t typedef drm: fixup other drivers for typedef removals drm: remove drm_file_t, drm_device_t and drm_head_t typedefs drm: remove a bunch of typedefs on the userspace interface r300: updates register header radeon: add support for vblank on crtc2 drm: cleanup list initialisation drm: fix typo on code drm getsarea drm: remove DRM_GETSAREA and replace with drm_getsarea function drm: cleanup use of Linux list handling macros commit 5b37696fda07b8acf37beba3853f83106397ccdf Author: Satyam Sharma Date: Tue Jul 17 00:24:23 2007 +0530 utime(s): Honour CAP_FOWNER when times==NULL do_utimes() does not honour CAP_FOWNER when times==NULL. Trivial and obvious one-line fix. Signed-off-by: Satyam Sharma Signed-off-by: Linus Torvalds commit 9793c3266755b4cae8915982825b2c07cd12e1c6 Author: S.Çağlar Onur Date: Mon Jul 16 21:56:51 2007 +0300 Fix too few arguments to function `scsi_cmd_ioctl' This corrects the following compile error introduced by the merge of the new bsg layer in commit e245befce7af0a1e1347079ed62695b059594bd4: caglar@zangetsu linux-2.6 $ make CHK include/linux/version.h CHK include/linux/utsrelease.h CALL scripts/checksyscalls.sh CHK include/linux/compile.h LD drivers/block/built-in.o CC [M] drivers/block/cciss.o drivers/block/cciss.c: In function `cciss_ioctl': drivers/block/cciss.c:1173: warning: passing arg 2 of `scsi_cmd_ioctl' from incompatible pointer type drivers/block/cciss.c:1173: warning: passing arg 3 of `scsi_cmd_ioctl' makes pointer from integer without a cast drivers/block/cciss.c:1173: warning: passing arg 4 of `scsi_cmd_ioctl' makes integer from pointer without a cast drivers/block/cciss.c:1173: error: too few arguments to function `scsi_cmd_ioctl' ... make[2]: *** [drivers/block/cciss.o] Hata 1 make[1]: *** [drivers/block] Hata 2 make: *** [drivers] Hata 2 Signed-off-by: S.Çağlar Onur Cc: Jens Axboe Signed-off-by: Linus Torvalds commit 959bc220df38317bed9a677600b3945a8571fc1c Author: Anton Altaparmakov Date: Mon Jul 16 19:39:02 2007 +0100 Fix LDM for new field in the VOL5 VBLK. Teach LDM about a new field encountered with Windows Vista. This fixes LDM for people using Vista who have disabled drive letter assignment from one or more volumes. Doing this introduces a so far unknown field in the LDM database in the VOL5 VBLK structure which causes the LDM driver to fail to parse the VBLK structure and hence LDM fails to parse the disk altogether. This patch teaches the driver about this field. Thanks got to Ashton Mills for reporting the problem and working with me on getting it fixed. It is now working for him. Signed-off-by: Anton Altaparmakov CC: Richard Russon Signed-off-by: Linus Torvalds commit 7144521f5ac741e9ad3033953b9d9fdede015ee0 Author: Linus Torvalds Date: Mon Jul 16 11:50:38 2007 -0700 Remove duplicate comments from sysctl.c Randy Dunlap noticed that the recent comment clarifications from Andrew had somehow gotten duplicated. Quoth Andrew: "hm, that could have been some late-night reject-fixing." Fix it up. Cc: From: Andrew Morton Cc: Randy Dunlap Signed-off-by: Linus Torvalds commit abce891a10559343d8ac9f79b46d78afdba63a40 Author: Linus Torvalds Date: Mon Jul 16 11:18:23 2007 -0700 Fix new generic block device SG compile We had a merge issue with the "dentry" field going away from the kobject, and being replaced by a sysfs_dirent field (named "sd") instead. That broke the BSG compile. Cc: Jens Axboe Cc: FUJITA Tomonori Cc: James Bottomley Signed-off-by: Linus Torvalds commit 10b275ddfd05ccb414cfe0cc56a0f47ff20fe807 Merge: add0969... 8ea0260... Author: Linus Torvalds Date: Mon Jul 16 11:02:49 2007 -0700 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: [PATCH] sched: fix up fs/proc/array.c whitespace problems [PATCH] sched: prettify prio_to_wmult[] [PATCH] sched: document prio_to_wmult[] [PATCH] sched: improve weight-array comments [PATCH] sched: remove dead code from task_stime() Fixed up trivial conflict in fs/proc/array.c commit add096909da63ef32d6766f6771c07c9f16c6ee5 Merge: e245bef... 54c57dc... Author: Linus Torvalds Date: Mon Jul 16 10:52:55 2007 -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: (32 commits) [PATCH] ocfs2: zero_user_page conversion ocfs2: Support xfs style space reservation ioctls ocfs2: support for removing file regions ocfs2: update truncate handling of partial clusters ocfs2: btree support for removal of arbirtrary extents ocfs2: Support creation of unwritten extents ocfs2: support writing of unwritten extents ocfs2: small cleanup of ocfs2_write_begin_nolock() ocfs2: btree changes for unwritten extents ocfs2: abstract btree growing calls ocfs2: use all extent block suballocators ocfs2: plug truncate into cached dealloc routines ocfs2: simplify deallocation locking ocfs2: harden buffer check during mapping of page blocks ocfs2: shared writeable mmap ocfs2: factor out write aops into nolock variants ocfs2: rework ocfs2_buffered_write_cluster() ocfs2: take ip_alloc_sem during entire truncate ocfs2: Add "preferred slot" mount option [KJ PATCH] Replacing memset(,0,PAGE_SIZE) with clear_page() in fs/ocfs2/dlm/dlmrecovery.c ... commit e245befce7af0a1e1347079ed62695b059594bd4 Merge: 14dc524... 58ff411... Author: Linus Torvalds Date: Mon Jul 16 10:50:19 2007 -0700 Merge branch 'bsg' of git://git.kernel.dk/data/git/linux-2.6-block * 'bsg' of git://git.kernel.dk/data/git/linux-2.6-block: (25 commits) bsg: Kconfig updates bsg: add SCSI transport-level request support bsg: add bidi support add a struct request pointer to the request structure bsg: fix the deadlock on discarding done commands bsg: fix a blocking read bug bsg: minor bug fixes improve bsg device allocation bind bsg to all SCSI devices bsg: bind bsg to request_queue instead of gendisk bsg: add a request_queue argument to scsi_cmd_ioctl() bsg: simplify __bsg_alloc_command failpath bsg: add cheasy error checks for sysfs stuff Add queue resizing support Replace s32, u32 and u64 with __s32, __u32 and __u64 in bsg.h for userspace bsg: silence a bogus gcc warning bsg: style cleanup bsg: use u32 etc instead of uint32_t bsg: add SG_IO to SG v4 bsg: replace SG v3 with SG v4 ... commit 14dc5249728ff699b1ca4dac01ad416a350a147a Merge: 02b2318... bcd4f3a... Author: Linus Torvalds Date: Mon Jul 16 10:48:20 2007 -0700 Merge branch 'for-linus' of git://git.kernel.dk/data/git/linux-2.6-block * 'for-linus' of git://git.kernel.dk/data/git/linux-2.6-block: splice: direct splicing updates ppos twice more ACSI removal umem: Fix match of pci_ids in umem driver umem: Remove references to dead CONFIG_MM_MAP_MEMORY variable remove the documentation for the legacy CDROM drivers commit 02b2318e07f98a7cdf7089a4457a8d62424aa824 Merge: b91cba5... d54bc27... Author: Linus Torvalds Date: Mon Jul 16 10:45:23 2007 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: (26 commits) [SPARC64]: Fix UP build. [SPARC64]: dr-cpu unconfigure support. [SERIAL]: Fix console write locking in sparc drivers. [SPARC64]: Give more accurate errors in dr_cpu_configure(). [SPARC64]: Clear cpu_{core,sibling}_map[] in smp_fill_in_sib_core_maps() [SPARC64]: Fix leak when DR added cpu does not bootup. [SPARC64]: Add ->set_affinity IRQ handlers. [SPARC64]: Process dr-cpu events in a kthread instead of workqueue. [SPARC64]: More sensible udelay implementation. [SPARC64]: SMP build fixes. [SPARC64]: mdesc.c needs linux/mm.h [SPARC64]: Fix build regressions added by dr-cpu changes. [SPARC64]: Unconditionally register vio_bus_type. [SPARC64]: Initial LDOM cpu hotplug support. [SPARC64]: Fix setting of variables in LDOM guest. [SPARC64]: Fix MD property lifetime bugs. [SPARC64]: Abstract out mdesc accesses for better MD update handling. [SPARC64]: Use more mearningful names for IRQ registry. [SPARC64]: Initial domain-services driver. [SPARC64]: Export powerd facilities for external entities. ... commit b91cba52e9b7b3f1c0037908a192d93a869ca9e5 Merge: 98283bb... e509ac4... Author: Linus Torvalds Date: Mon Jul 16 10:32:02 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6: (68 commits) sh: sh-rtc support for SH7709. sh: Revert __xdiv64_32 size change. sh: Update r7785rp defconfig. sh: Export div symbols for GCC 4.2 and ST GCC. sh: fix race in parallel out-of-tree build sh: Kill off dead mach.c for hp6xx. sh: hd64461.h cleanup and added comments. sh: Update the alignment when 4K stacks are used. sh: Add a .bss.page_aligned section for 4K stacks. sh: Don't let SH-4A clobber SH-4 CFLAGS. sh: Add parport stub for SuperIO ports. sh: Drop -Wa,-dsp for DSP tuning. sh: Update dreamcast defconfig. fb: pvr2fb: A few more __devinit annotations for PCI. fb: pvr2fb: Fix up section mismatch warnings. sh: Select IPR-IRQ for SH7091. sh: Correct __xdiv64_32/div64_32 return value size. sh: Fix timer-tmu build for SH-3. sh: Add cpu and mach links to CLEAN_FILES. sh: Preliminary support for the SH-X3 CPU. ... commit 98283bb49c6c8c070ebde9f47489d3e9a83c1323 Author: OGAWA Hirofumi Date: Mon Jul 16 09:40:05 2007 +0900 fat: Fix the race of read/write the FAT12 entry FAT12 entry is 12bits, so it needs 2 phase to update the value. And writer and reader access it without any lock, so reader can get the half updated value. This fixes the long standing race condition by adding a global spinlock to only FAT12 for avoiding any impact against FAT16/32. Signed-off-by: OGAWA Hirofumi Signed-off-by: Linus Torvalds commit 347e03df1696ab22963f6b8c4f2220c41ec17f82 Author: Andrew Morton Date: Sun Jul 15 23:42:03 2007 -0700 cpwatchdog build fix sparc64: drivers/sbus/char/cpwatchdog.c: In function `wd_toggleintr': drivers/sbus/char/cpwatchdog.c:523: error: implicit declaration of function `readb' drivers/sbus/char/cpwatchdog.c:533: error: implicit declaration of function `writeb' drivers/sbus/char/cpwatchdog.c: In function `wd_pingtimer': drivers/sbus/char/cpwatchdog.c:545: error: implicit declaration of function `readw' drivers/sbus/char/cpwatchdog.c: In function `wd_starttimer': drivers/sbus/char/cpwatchdog.c:584: error: implicit declaration of function `writew' drivers/sbus/char/cpwatchdog.c: In function `wd_init': drivers/sbus/char/cpwatchdog.c:767: error: implicit declaration of function `ioremap' drivers/sbus/char/cpwatchdog.c:767: warning: assignment makes pointer from integer without a cast drivers/sbus/char/cpwatchdog.c: In function `wd_cleanup': drivers/sbus/char/cpwatchdog.c:849: error: implicit declaration of function `iounmap' Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17e0c7cc1dfd8f49b67160b678297b88e545cc40 Author: Jes Sorensen Date: Sun Jul 15 23:42:02 2007 -0700 sn_console section mismatch warning Do not mark sn_sal_console_setup as __init since it's referenced from non init data structures. Signed-off-by: Jes Sorensen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98701dc19e0cf358d48208e994180bb8abad5079 Author: Geert Uytterhoeven Date: Sun Jul 15 23:42:01 2007 -0700 compat32: ignore the LOOP_CLR_FD ioctl compat32: Ignore the LOOP_CLR_FD ioctl for the loop block device, to kill an annoying kernel message when e.g. busybox umount is used. Signed-off-by: Geert Uytterhoeven Acked-by: Arnd Bergmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 29e3f347779088a79d832bfbd2d17c2f04050308 Author: Robert P. J. Day Date: Sun Jul 15 23:42:01 2007 -0700 NLS: Remove obsolete Makefile entries Since the corresponding source files no longer exist, remove the irrelevant Makefile entries for them. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c80e7a826c10cf5bce8487fbaede48bd0bd48d08 Author: Rusty Russell Date: Sun Jul 15 23:42:00 2007 -0700 permit mempool_free(NULL) Christian Borntraeger points out that mempool_free() doesn't noop when handed NULL. This is inconsistent with the other free-like functions in the kernel. Signed-off-by: Rusty Russell Cc: Christian Borntraeger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e70030d4cf91613530a23b40ad9919bb9ee114f Author: Badari Pulavarty Date: Sun Jul 15 23:42:00 2007 -0700 ext4: statfs speed up This is a patch that speeds up statfs. It is very simple - the "overhead" calculation, which takes a huge amount of time for large filesystems, never changes unless the size of the filesystem itself changes. That means we can store it in memory and only recalculate if the filesystem has been resized (almost never). It also fixes a minor problem that we never update the on-disk superblock free blocks/inodes counts until the filesystem is unmounted. While not fatal, we may as well update that on disk when we have the information, and it makes things like debugfs and dumpe2fs report a bit more accurate info. Signed-off-by: Badari Pulavarty Signed-off-by: Andreas Dilger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a71ce8c6c9bf269b192f352ea555217815cf027e Author: Badari Pulavarty Date: Sun Jul 15 23:41:59 2007 -0700 ext3: statfs speed up This is a patch that speeds up statfs. It is very simple - the "overhead" calculation, which takes a huge amount of time for large filesystems, never changes unless the size of the filesystem itself changes. That means we can store it in memory and only recalculate if the filesystem has been resized (almost never). It also fixes a minor problem that we never update the on-disk superblock free blocks/inodes counts until the filesystem is unmounted. While not fatal, we may as well update that on disk when we have the information, and it makes things like debugfs and dumpe2fs report a bit more accurate info. Signed-off-by: Badari Pulavarty Signed-off-by: Andreas Dilger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2235219b7721b8e74de6841e79240936561a2b63 Author: Badari Pulavarty Date: Sun Jul 15 23:41:58 2007 -0700 ext2: statfs speed up This is a patch that speeds up statfs. It is very simple - the "overhead" calculation, which takes a huge amount of time for large filesystems, never changes unless the size of the filesystem itself changes. That means we can store it in memory and only recalculate if the filesystem has been resized (almost never). It also fixes a minor problem that we never update the on-disk superblock free blocks/inodes counts until the filesystem is unmounted. While not fatal, we may as well update that on disk when we have the information, and it makes things like debugfs and dumpe2fs report a bit more accurate info. Signed-off-by: Badari Pulavarty Signed-off-by: Andreas Dilger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f14137e284d5733e7be05bd95656f59391b942e Author: Dan Aloni Date: Sun Jul 15 23:41:57 2007 -0700 drivers/char/ipmi/ipmi_si_intf.c: lower printk severity Signed-off-by: Dan Aloni Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5fa4998eb4f318b6409e800edb1213b09e7cd62 Author: Dan Aloni Date: Sun Jul 15 23:41:56 2007 -0700 drivers/char/ipmi/ipmi_poweroff.c: lower printk severity Signed-off-by: Dan Aloni Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4277eedd7908a0ca8b66fad46ee76b0ad96e6ef2 Author: Denis Vlasenko Date: Sun Jul 15 23:41:56 2007 -0700 vsprintf.c: optimizing, part 2: base 10 conversion speedup, v2 Optimize integer-to-string conversion in vsprintf.c for base 10. This is by far the most used conversion, and in some use cases it impacts performance. For example, top reads /proc/$PID/stat for every process, and with 4000 processes decimal conversion alone takes noticeable time. Using code from http://www.cs.uiowa.edu/~jones/bcd/decimal.html (with permission from the author, Douglas W. Jones) binary-to-decimal-string conversion is done in groups of five digits at once, using only additions/subtractions/shifts (with -O2; -Os throws in some multiply instructions). On i386 arch gcc 4.1.2 -O2 generates ~500 bytes of code. This patch is run tested. Userspace benchmark/test is also attached. I tested it on PIII and AMD64 and new code is generally ~2.5 times faster. On AMD64: # ./vsprintf_verify-O2 Original decimal conv: .......... 151 ns per iteration Patched decimal conv: .......... 62 ns per iteration Testing correctness 12895992590592 ok... [Ctrl-C] # ./vsprintf_verify-O2 Original decimal conv: .......... 151 ns per iteration Patched decimal conv: .......... 62 ns per iteration Testing correctness 26025406464 ok... [Ctrl-C] More realistic test: top from busybox project was modified to report how many us it took to scan /proc (this does not account any processing done after that, like sorting process list), and then I test it with 4000 processes: #!/bin/sh i=4000 while test $i != 0; do sleep 30 & let i-- done busybox top -b -n3 >/dev/null on unpatched kernel: top: 4120 processes took 102864 microseconds to scan top: 4120 processes took 91757 microseconds to scan top: 4120 processes took 92517 microseconds to scan top: 4120 processes took 92581 microseconds to scan on patched kernel: top: 4120 processes took 75460 microseconds to scan top: 4120 processes took 66451 microseconds to scan top: 4120 processes took 67267 microseconds to scan top: 4120 processes took 67618 microseconds to scan The speedup comes from much faster generation of /proc/PID/stat by sprintf() calls inside the kernel. Signed-off-by: Douglas W Jones Signed-off-by: Denys Vlasenko Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b39a734097d5095d63eb9c709a6aaf965633bb01 Author: Denis Vlasenko Date: Sun Jul 15 23:41:54 2007 -0700 vsprintf.c: optimizing, part 1 (easy and obvious stuff) * There is no point in having full "0...9a...z" constant vector, if we use only "0...9a...f" (and "x" for "0x"). * Post-decrement usually needs a few more instructions, so use pre decrement instead where makes sense: -       while (i < precision--) { +       while (i <= --precision) { * if base != 10 (=> base 8 or 16), we can avoid using division in a loop and use mask/shift, obtaining much faster conversion. (More complex optimization for base 10 case is in the second patch). Overall, size vsprintf.o shows ~80 bytes smaller text section with this patch applied. Signed-off-by: Douglas W Jones Signed-off-by: Denys Vlasenko Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b4e5a1411c8b970983fb6022db1da31c4f5c301 Author: J. Bruce Fields Date: Sun Jul 15 23:41:53 2007 -0700 Fix trivial typos in anon_inodes.c comments Trivial typo and grammar fixes. Signed-off-by: "J. Bruce Fields" Cc: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2111217df52827916141789c87d614ae45236db Author: Jesper Juhl Date: Sun Jul 15 23:41:53 2007 -0700 isapnp: remove pointless check of 'type' against 0 in isapnp_read_tag() In drivers/pnp/isapnp/core.c::isapnp_read_tag() there is a test of 'type' being == 0 a bit down in the function. That test doesn't make any sense. If 'type' could indeed be NULL, then the test happens way too late as we'd already have tried to dereference the pointer earlier and looking at the callers it also turns out that there is no way type can ever actually be NULL. So the test is completely pointless and should just be removed. Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3f1b0e1f287547903f11fa1e6de7d2765597766e Author: Alexey Dobriyan Date: Sun Jul 15 23:41:52 2007 -0700 .gitignore update headers_install by default puts headers into usr/include/ . They're auto-generated, so should be ignored. Same for *.orig, *.rej . Signed-off-by: Alexey Dobriyan Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f8a68ee486e1c81eaead3c521822bf86142d380 Author: Adrian Bunk Date: Sun Jul 15 23:41:52 2007 -0700 remove mm/backing-dev.c:congestion_wait_interruptible() congestion_wait_interruptible() is no longer used. Signed-off-by: Adrian Bunk Acked-by: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1492192b4a0bb84dd9b792cc0bd30583220a28a7 Author: Jiri Kosina Date: Sun Jul 15 23:41:51 2007 -0700 kernel/printk.c: document possible deadlock against scheduler kernel/printk.c: document possible deadlock against scheduler The printk's comment states that it can be called from every context, which might lead to false illusion that it could be called from everywhere without any restrictions. This is however not true - a call to printk() could deadlock if called from scheduler code (namely from schedule(), wake_up(), etc) on runqueue lock when it tries to wake up klogd. Document this. Signed-off-by: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 017f021c7e5fe3f82ccc5cbb7b1750e66e00f527 Author: Ed L. Cashin Date: Sun Jul 15 23:41:50 2007 -0700 docs: static initialization of spinlocks is OK Static initialization of spinlocks is preferable to dynamic initialization when it is practical. This patch updates documentation for consistency with comments in spinlock_types.h. Signed-off-by: Ed L. Cashin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e7d136e9e083f04b859411248c699cbb89e418d Author: Alan Cox Date: Sun Jul 15 23:41:49 2007 -0700 serial: remove termios checks from various old char serial drivers Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d471d340ef9543a1e2f70f99c21ee2c770e7b17c Author: Alan Cox Date: Sun Jul 15 23:41:49 2007 -0700 68360serial: remove broken optimisation Remove the broken 'no termios change' optimisation for this driver. Signed-off-by: Alan Cox Cc: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de1764af27520f6dfdac0ddf2209d78ddb9690d7 Author: Alan Cox Date: Sun Jul 15 23:41:48 2007 -0700 synclink: remove bogus 'no change' termios optimisation from synclink drivers Again this check is wrong now, and un-needed Signed-off-by: Alan Cox Cc: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35426128adaacf8cdabc2482598252d488b7ccb9 Author: Alan Cox Date: Sun Jul 15 23:41:47 2007 -0700 genericserial: remove bogus optimisation check and dead code paths We've been using the 'new locking' for a long time now so it seems pointless keeping the old one around. Remove it and undo the macros it uses back into real code for readability. Remove the bogus 'no termios change' checks. Signed-off-by: Alan Cox Cc: Morten Helgesen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db0ef08efa1bb94ba9a9e44c255d9058df5fde8d Author: Alan Cox Date: Sun Jul 15 23:41:47 2007 -0700 amiserial: remove incorrect 'no termios change' check Lots of serial drivers check and optimise for setting the termios values to the ones they were before. This is pointless and the check is wrong anyway. Remove the checks on the serial drivers. If we ever do need such a check put it back in the tty layer instead _once_! Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24da1cbff9cfce50868c2dfdcda82a68ac5cb707 Author: Rusty Russell Date: Sun Jul 15 23:41:46 2007 -0700 modules: remove modlist_lock Now we always use stop_machine for module insertion or deletion, we no longer need the modlist_lock: merely disabling preemption is sufficient to block against list manipulation. This avoids deadlock on OOPSen where we can potentially grab the lock twice. Bug: 8695 Signed-off-by: Rusty Russell Cc: Ingo Molnar Cc: Tobias Oed Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c675bd43ccc36927c855d53d2e0042cdd1074ab Author: Borislav Petkov Date: Sun Jul 15 23:41:45 2007 -0700 ext4: fix error handling in ext4_create_journal Fix error handling in ext4_create_journal according to kernel conventions. Signed-off-by: Borislav Petkov Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 952d9de116ad87261de106464a9eeec038c4cd14 Author: Borislav Petkov Date: Sun Jul 15 23:41:45 2007 -0700 ext3: fix error handling in ext3_create_journal() Fix error handling in ext3_create_journal according to kernel conventions. Signed-off-by: Borislav Petkov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f1f642e2f092e37eb9038060eb0100c44f55a11 Author: Oleg Nesterov Date: Sun Jul 15 23:41:44 2007 -0700 make cancel_xxx_work_sync() return a boolean Change cancel_work_sync() and cancel_delayed_work_sync() to return a boolean indicating whether the work was actually cancelled. A zero return value means that the work was not pending/queued. Without that kind of change it is not possible to avoid flush_workqueue() sometimes, see the next patch as an example. Also, this patch unifies both functions and kills the (unlikely) busy-wait loop. Signed-off-by: Oleg Nesterov Acked-by: Jarek Poplawski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5a421a4509a7e2dff11da0f01b0548f4f84d503 Author: Oleg Nesterov Date: Sun Jul 15 23:41:44 2007 -0700 rename cancel_rearming_delayed_work() to cancel_delayed_work_sync() Imho, the current naming of cancel_xxx workqueue functions is very confusing. cancel_delayed_work() cancel_rearming_delayed_work() cancel_rearming_delayed_workqueue() // obsolete cancel_work_sync() This looks as if the first 2 functions differ in "type" of their argument which is not true any longer, nowadays the difference is the behaviour. The semantics of cancel_rearming_delayed_work(dwork) was changed significantly, it doesn't require that dwork rearms itself, and cancels dwork synchronously. Rename it to cancel_delayed_work_sync(). This matches cancel_delayed_work() and cancel_work_sync(). Re-create cancel_rearming_delayed_work() as a simple inline obsolete wrapper, like cancel_rearming_delayed_workqueue(). Signed-off-by: Oleg Nesterov Acked-by: Jarek Poplawski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 422b14c2e2f816f58ce8ce0ab0beeae02dfb7a75 Author: Borislav Petkov Date: Sun Jul 15 23:41:43 2007 -0700 update Documentation/filesystems/vfs.txt Update Documentation/filesystems/vfs.txt Signed-off-by: Borislav Petkov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d52988023a37720e9e4aeb66362be67fa21d8836 Author: Jesper Juhl Date: Sun Jul 15 23:41:42 2007 -0700 Remove the last few UMSDOS leftovers The UMSDOS filesystem was removed back in 2.6.11, but some tiny bits stuck around. This patch removes the few remaining leftovers. The only things left behind after this are the entries in the CREDITS file and the ioctl number in Documentation/ioctl-number.txt as documentation. This third (hopefully final) version of the patch doesn't edit the arch/um/config.release file, since Jeff Dike pointed out to me that it should die completely, and asked me to remove it from my patch as he'll send in a seperate patch removing the file completely. Signed-off-by: Jesper Juhl Acked-by: H. Peter Anvin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f6b07d39d7904ceecac53699d6b5ddd677304880 Author: Jesper Juhl Date: Sun Jul 15 23:41:41 2007 -0700 Add missing files and dirs to 00-INDEX in Documentation/ Add descriptions for a number of missing files and directories to the Documentation/00-INDEX file. Signed-off-by: Jesper Juhl Acked-by: Rob Landley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2618c60b8b5836b73e8deb385a036820744d256d Author: Yinghai Lu Date: Sun Jul 15 23:41:41 2007 -0700 dma: make dma pool to use kmalloc_node Using dev_to_node(&dev->dev) to get node, and kmalloc_node to dma buffer on corresponding node dma pool Signed-off-by: Yinghai Lu Cc: Andi Kleen Cc: Christoph Lameter Cc: David Rientjes Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d375b97037c40d51b41d3b00b15729f6730c2cfe Author: Cyrill Gorcunov Date: Sun Jul 15 23:41:40 2007 -0700 UDF: fix function name from udf_crc16 to udf_crc We have to change udf_crc16() name to udf_crc() to be able to play with CRC test. Signed-off-by: Cyrill Gorcunov Cc: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 608e2619682e951f525b08e7a48669a3c0263b41 Author: Heiko Carstens Date: Sun Jul 15 23:41:39 2007 -0700 generic bug: use show_regs() instead of dump_stack() The current generic bug implementation has a call to dump_stack() in case a WARN_ON(whatever) gets hit. Since report_bug(), which calls dump_stack(), gets called from an exception handler we can do better: just pass the pt_regs structure to report_bug() and pass it to show_regs() in case of a warning. This will give more debug informations like register contents, etc... In addition this avoids some pointless lines that dump_stack() emits, since it includes a stack backtrace of the exception handler which is of no interest in case of a warning. E.g. on s390 the following lines are currently always present in a stack backtrace if dump_stack() gets called from report_bug(): [<000000000001517a>] show_trace+0x92/0xe8) [<0000000000015270>] show_stack+0xa0/0xd0 [<00000000000152ce>] dump_stack+0x2e/0x3c [<0000000000195450>] report_bug+0x98/0xf8 [<0000000000016cc8>] illegal_op+0x1fc/0x21c [<00000000000227d6>] sysc_return+0x0/0x10 Acked-by: Jeremy Fitzhardinge Acked-by: Haavard Skinnemoen Cc: Andi Kleen Cc: Kyle McMartin Cc: Paul Mackerras Cc: Paul Mundt Cc: Martin Schwidefsky Signed-off-by: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 94bed2a9c4ae980838003f5d32681eef794ecc28 Author: Dave Jones Date: Sun Jul 15 23:41:38 2007 -0700 Add -Werror-implicit-function-declaration Add -Werror-implicit-function-declaration This makes builds fail sooner if something is implicitly defined instead of having to wait half an hour for it to fail at the linking stage. Signed-off-by: Dave Jones Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc2ea416b2aa04d0c34ff2281a23dae5b76b7b3b Author: Andrew Morton Date: Sun Jul 15 23:41:38 2007 -0700 uninline check_signature() This is a rather bizarre thing to have inlined in io.h. Stick it in lib/ instead. While we're there, despaghetti it a bit, and fix its off-by-one behaviour when passed a zero length. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e7bd66318b3ae60fbba7d886d9a98b71ffbf74e Author: Josh Triplett Date: Sun Jul 15 23:41:37 2007 -0700 CodingStyle: add information about editor modelines I recently received a patch including a file that had a vim modeline, and I realized that nothing specifically proscribed that practice. Signed-off-by: Josh Triplett Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a923fd6ae7599aee63934ed13c3033fdefc7a18e Author: Josh Triplett Date: Sun Jul 15 23:41:37 2007 -0700 CodingStyle: add information about trailing whitespace Signed-off-by: Josh Triplett Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e8c4273ef4f631a896650bd2ade4c1b6487131b Author: vignesh babu Date: Sun Jul 15 23:41:36 2007 -0700 is_power_of_2: ufs/super.c Replace (n & (n-1)) with is_power_of_2 Signed-off-by: vignesh babu Acked-by: Evgeniy Dushistov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7c310c36e5fdf1b83a459e5db167bfbd86137db Author: Niels de Vos Date: Sun Jul 15 23:41:35 2007 -0700 parport_pc: it887x fix The IO port range requested by parport_pc.c:sio_ite_8872_probe is too small. The IO-ports of ttyS1 (0x2f8) will be missconfigured by the ITE-chip. The ITE starts looking for the chip a 0x2a0. An IO-portrange of 32 will not overwrite the ports of ttyS1. Therefore register 0x60 should be written with 0xe5000000, enabling the ITE and setting IO-portsize to 32 bytes. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f84d5a76c50d9752cdec64a6e536ee3901b267f6 Author: vignesh babu Date: Sun Jul 15 23:41:34 2007 -0700 is_power_of_2: kernel/kfifo.c Replace (n & (n-1)) with is_power_of_2() Signed-off-by: vignesh babu Acked-by: Stelian Pop Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf99abace7e07dd8491e7093a9a9ef11d48838ed Author: Andrea Arcangeli Date: Sun Jul 15 23:41:33 2007 -0700 make seccomp zerocost in schedule This follows a suggestion from Chuck Ebbert on how to make seccomp absolutely zerocost in schedule too. The only remaining footprint of seccomp is in terms of the bzImage size that becomes a few bytes (perhaps even a few kbytes) larger, measure it if you care in the embedded. Signed-off-by: Andrea Arcangeli Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d9d02feeee89e9132034d504c9a45eeaf618a3d Author: Andrea Arcangeli Date: Sun Jul 15 23:41:32 2007 -0700 move seccomp from /proc to a prctl This reduces the memory footprint and it enforces that only the current task can enable seccomp on itself (this is a requirement for a strightforward [modulo preempt ;) ] TIF_NOTSC implementation). Signed-off-by: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be0ef957c9eed4ebae873ee3fbcfb9dfde486dec Author: Oleg Nesterov Date: Sun Jul 15 23:41:32 2007 -0700 nbd.c: sock_xmit: cleanup signal related code sock_xmit() re-implements sigprocmask() and dequeue_signal_lock(). Signed-off-by: Oleg Nesterov Acked-by: Paul Clements Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e1ac130d08b0c7066615fe60fe1e7212c8eaf6a Author: Oleg Nesterov Date: Sun Jul 15 23:41:29 2007 -0700 kcdrwd: remove unneeded flush_signals() call kcdrwd() is a kernel thread, all signals are ignored. Signed-off-by: Oleg Nesterov Cc: Peter Osterlund Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b6dd9baa728d8ef329cc9a7e73e511e29055856 Author: Oleg Nesterov Date: Sun Jul 15 23:41:29 2007 -0700 adb_probe_task: remove unneeded flush_signals() call adb_probe_task() is forked by "events" thread, all signals are ignored, no need to play with signal blocking/flushing. Signed-off-by: Oleg Nesterov Acked-by: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4210df283cc703bc494f450c91b8311bdf7fe5ee Author: Andrew Morton Date: Sun Jul 15 23:41:28 2007 -0700 bd_claim_by_disk: fix warning Fix this: fs/block_dev.c: In function 'bd_claim_by_disk': fs/block_dev.c:970: warning: 'found' may be used uninitialized in this function and given that free_bd_holder() now needs free(NULL)-is-legal behaviour, we can simplify bd_release_from_kobject(). Cc: Bjorn Steinbrink Cc: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e91672c76319aaed24ea3e784e238cf445c57cb Author: Johannes Weiner Date: Sun Jul 15 23:41:25 2007 -0700 Replace obscure constructs in fs/block_dev.c Replace some funky codepaths in fs/block_dev.c with cleaner versions of the affected places. [akpm@linux-foundation.org: fix return value] Signed-off-by: Johannes Weiner Cc: Bjorn Steinbrink Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 948730b0e39fb4cba4a5ed0fc40e0f017cce2dfa Author: Adrian Bunk Date: Sun Jul 15 23:41:25 2007 -0700 fs/namespace.c should #include "internal.h" 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 19769b762607fea53c005a0068cf8939cecd2f9a Author: Andrew Morton Date: Sun Jul 15 23:41:24 2007 -0700 sprint_symbol() cleanup Remove pointless `else'. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d45bce8faf55511ec7d7ffc301461d864d67f1af Author: Duane Griffin Date: Sun Jul 15 23:41:23 2007 -0700 HFS+: add custom dentry hash and comparison operations Add custom dentry hash and comparison operations for HFS+ filesystems that are case-insensitive and/or do automatic unicode decomposition. The new operations reuse the existing HFS+ ASCII to unicode conversion, unicode decomposition and case folding functionality. Signed-off-by: Duane Griffin Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e96b7ca1e8f17c5117da369daaa7cf2edfdf9b1 Author: Duane Griffin Date: Sun Jul 15 23:41:22 2007 -0700 HFS+: refactor ASCII to unicode conversion routine for later reuse The HFS+ filesystem is case-insensitive and does automatic unicode decomposition by default, but does not provide custom dentry operations. This can lead to multiple dentries being cached for lookups on a filename with varying case and/or character (de)composition. These patches add custom dentry hash and comparison operations for case-sensitive and/or automatically decomposing HFS+ filesystems. Unicode decomposition and case-folding are performed as required to ensure equivalent filenames are hashed to the same values and compare as equal. This patch: Refactor existing HFS+ ASCII to unicode string conversion routine to split out character conversion functionality. This will be reused by the custom dentry hash and comparison routines. This approach avoids unnecessary memory allocation compared to using the string conversion routine directly in the new functions. [akpm@linux-foundation.org: avoid use-of-uninitialised] Signed-off-by: Duane Griffin Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 29bc5b4f73a65ef667df50d5ed474e371471d915 Author: Toshiyuki Okajima Date: Sun Jul 15 23:41:22 2007 -0700 mistaken ext4_inode_bitmap for ext4_block_bitmap In ext4_new_blocks(), one of two ext4_block_bitmap() calls should be ext4_inode_bitmap() call. It is not harmful in normal processing, but it should be fixed. Signed-off-by: Toshiyuki Okajima Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2be7fe075af8f8ba9c8b8ab0feec4ba4fff04979 Author: Andrew Morton Date: Sun Jul 15 23:41:21 2007 -0700 sysctl.c: add text telling people to use CTL_UNNUMBERED Hopefully this will help people to understand the new regime. Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97d8f83cb734525f96992fd61e4f7323ab3d549c Author: Andrew Morton Date: Sun Jul 15 23:41:20 2007 -0700 Add Documentation/sysctl/ctl_unnumbered.txt Poeple keep on adding new numbered sysctls, when they're supposed not to. Add a documentation file which explain why new sysctls should use CTL_UNNUMBERED. The next patch will sprinkle pointers to this throughout sysctl.c. Eric provided the text (thanks) Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36cf3b5c3b7228bcf5124c530d50080b61a59f69 Author: Thomas Gleixner Date: Sun Jul 15 23:41:20 2007 -0700 FUTEX: Tidy up the code The recent PRIVATE and REQUEUE_PI changes to the futex code made it hard to read. Tidy it up. Signed-off-by: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0746aec3c75f23de0148774ac50cf73161f09d68 Author: Borislav Petkov Date: Sun Jul 15 23:41:19 2007 -0700 update description in Documentation/filesystems/vfs.txt Update the description of struct file_system_type and get_sb() in Documentation/filesystems/vfs.txt to match the current code. Signed-off-by: Borislav Petkov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 132e4b0a049c39337c535501561b8301c7f2b202 Author: Robert P. J. Day Date: Sun Jul 15 23:41:19 2007 -0700 cdrom: replace hard-coded constants by kernel.h macro. Signed-off-by: Robert P. J. Day Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e44f3497d41db4c3b9051c61410dee8ae4fb49c Author: Ingo Molnar Date: Sun Jul 15 23:41:18 2007 -0700 sys_time() speedup Improve performance of sys_time(). sys_time() returns time in seconds, but it does so by calling do_gettimeofday() and then returning the tv_sec portion of the GTOD time. But the data structure "xtime", which is updated by every timer/scheduler tick, already offers HZ granularity time. The patch improves the sysbench OLTP macrobenchmark significantly: 2.6.22-rc6: #threads 1: transactions: 3733 (373.21 per sec.) 2: transactions: 6676 (667.46 per sec.) 3: transactions: 6957 (695.50 per sec.) 4: transactions: 7055 (705.48 per sec.) 5: transactions: 6596 (659.33 per sec.) 2.6.22-rc6 + sys_time.patch: 1: transactions: 4005 (400.47 per sec.) 2: transactions: 7379 (737.77 per sec.) 3: transactions: 7347 (734.49 per sec.) 4: transactions: 7468 (746.65 per sec.) 5: transactions: 7428 (742.47 per sec.) Mixed API uses of gettimeofday() and time() are guaranteed to be coherent via the use of a at-most-once-per-second slowpath that updates xtime. [akpm@linux-foundation.org: build fixes] Signed-off-by: Ingo Molnar Cc: John Stultz Cc: Thomas Gleixner Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f482394ccbca7234d29cc146d4a2b94f976ce5a1 Author: vignesh babu Date: Sun Jul 15 23:41:17 2007 -0700 is_power_of_2(): jbd Replace (n & (n-1)) in the context of power of 2 checks with is_power_of_2(). Signed-off-by: vignesh babu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3fc74269c8910573a0e9a7bc303752194ce5cae0 Author: vignesh babu Date: Sun Jul 15 23:41:17 2007 -0700 is_power_of_2: ext3/super.c Replace (n & (n-1)) in the context of power of 2 checks with is_power_of_2() Signed-off-by: vignesh babu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 681dcd95431e2258c1174602fcd69393e4139959 Author: Christoph Hellwig Date: Sun Jul 15 23:41:16 2007 -0700 drop obsolete sys_ioctl export sys_ioctl() was only exported for our first version of compat ioctl handling. Now that the whole compat ioctl handling mess is more or less sorted out there are no more modular users left and we can kill it. There's one exception and that's sparc64's solaris compat module, but sparc64 has it's own export predating the generic one by years for that which this patch leaves untouched. Signed-off-by: Christoph Hellwig Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dcecc6c70013e3a5fa81b3081480c03e10670a23 Author: Randy Dunlap Date: Sun Jul 15 23:41:15 2007 -0700 doc/oops-tracing: add Code: decode info Add info that the Code: bytes line contains or (wxyz) in some architecture oops reports and what that means. Add a script by Andi Kleen that reads the Code: line from an Oops report file and generates assembly code from the hex bytes. Signed-off-by: Randy Dunlap Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 213dd266d48af90c1eec8688c1ff31aa34d21de2 Author: Eric W. Biederman Date: Sun Jul 15 23:41:15 2007 -0700 namespace: ensure clone_flags are always stored in an unsigned long While working on unshare support for the network namespace I noticed we were putting clone flags in an int. Which is weird because the syscall uses unsigned long and we at least need an unsigned to properly hold all of the unshare flags. So to make the code consistent, this patch updates the code to use unsigned long instead of int for the clone flags in those places where we get it wrong today. Signed-off-by: Eric W. Biederman Acked-by: Cedric Le Goater Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e3a68e30d28dbc6981dfc3d6ceddbfa2f885fe4e Author: Dave Hansen Date: Sun Jul 15 23:41:14 2007 -0700 ext3: remove extra IS_RDONLY() check ext3_change_inode_journal_flag() is only called from one location: ext3_ioctl(EXT3_IOC_SETFLAGS). That ioctl case already has a IS_RDONLY() call in it so this one is superfluous. Signed-off-by: Dave Hansen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b86e854f71600c809536502a0efa9d4e384fb23 Author: C. Scott Ananian Date: Sun Jul 15 23:41:13 2007 -0700 update procfs-guide doc of read_func The procfs-guide claims that 'the parameter start doesn't seem to be used anywhere in the kernel'. This is out of date. In linux/fs/proc/generic.c we find a very nice description of the parameters to read_func. The appended patch replaces the bogus description with this (as far as I know) accurate one. Cc: "Randy.Dunlap" Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4895925976977aaeda26ee2a603a99f17db500b Author: Robert P. J. Day Date: Sun Jul 15 23:41:13 2007 -0700 Remove final two references to "__obsolete_setup" macro Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b716395e2b8e450e294537de0c91476ded2f0395 Author: Vasily Tarasov Date: Sun Jul 15 23:41:12 2007 -0700 diskquota: 32bit quota tools on 64bit architectures OpenVZ Linux kernel team has discovered the problem with 32bit quota tools working on 64bit architectures. In 2.6.10 kernel sys32_quotactl() function was replaced by sys_quotactl() with the comment "sys_quotactl seems to be 32/64bit clean, enable it for 32bit" However this isn't right. Look at if_dqblk structure: struct if_dqblk { __u64 dqb_bhardlimit; __u64 dqb_bsoftlimit; __u64 dqb_curspace; __u64 dqb_ihardlimit; __u64 dqb_isoftlimit; __u64 dqb_curinodes; __u64 dqb_btime; __u64 dqb_itime; __u32 dqb_valid; }; For 32 bit quota tools sizeof(if_dqblk) == 0x44. But for 64 bit kernel its size is 0x48, 'cause of alignment! Thus we got a problem. Attached patch reintroduce sys32_quotactl() function, that handles this and related situations. [michal.k.k.piotrowski@gmail.com: build fix] [akpm@linux-foundation.org: Make it link with CONFIG_QUOTA=n] Signed-off-by: Vasily Tarasov Cc: Andi Kleen Cc: "Luck, Tony" Cc: Jan Kara Cc: Signed-off-by: Michal Piotrowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b7775870b69129e640ed583c9b362d5cd66159d Author: Arnd Bergmann Date: Sun Jul 15 23:41:11 2007 -0700 Introduce compat_u64 and compat_s64 types One common problem with 32 bit system call and ioctl emulation is the different alignment rules between i386 and 64 bit machines. A number of drivers work around this by marking the compat structures as 'attribute((packed))', which is not the right solution because it breaks all the non-x86 architectures that want to use the same compat code. Hopefully, this patch improves the situation, it introduces two new types, compat_u64 and compat_s64. These are defined on all architectures to have the same size and alignment as the 32 bit version of u64 and s64. Signed-off-by: Arnd Bergmann Acked-by: David S. Miller Cc: David Woodhouse Cc: Andi Kleen Cc: Benjamin Herrenschmidt Cc: Vasily Tarasov Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d9525b52aecd11b14c4ec982add01c11157172f Author: Henrik Kretzschmar Date: Sun Jul 15 23:41:10 2007 -0700 kerneldoc fix in audit_core_dumps Fix parameter name in audit_core_dumps for kerneldoc. Signed-off-by: Henrik Kretzschmar Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dcf5008db171211e3c34c060cacfd788306b034b Author: Nathan Lynch Date: Sun Jul 15 23:41:09 2007 -0700 remove unused lock_cpu_hotplug_interruptible definition aa95387774039096c11803c04011f1aa42d85758 removed the implementation of lock_cpu_hotplug_interruptible and all users of it. This stub definition for !CONFIG_HOTPLUG_CPU was left over -- kill it now. Signed-off-by: Nathan Lynch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 32c3773011a9b3522bd4abadc7fad8c27417119f Author: Jan Kara Date: Sun Jul 15 23:41:09 2007 -0700 ext4: fix deadlock in ext4_remount() and orphan list handling ext4_orphan_add() and ext4_orphan_del() functions lock sb->s_lock with a transaction started with ext4_mark_recovery_complete() waits for a transaction holding sb->s_lock, thus leading to a possible deadlock. At the moment we call ext4_mark_recovery_complete() from ext4_remount() we have done all the work needed for remounting and thus we are safe to drop sb->s_lock before we wait for transactions to commit. Note that at this moment we are still guarded by s_umount lock against other remounts/umounts. Signed-off-by: Jan Kara Cc: Eric Sandeen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 030703e49d4966bd348660e0fdc2699507efb82b Author: Jan Kara Date: Sun Jul 15 23:41:08 2007 -0700 ext3: fix deadlock in ext3_remount() and orphan list handling ext3_orphan_add() and ext3_orphan_del() functions lock sb->s_lock with a transaction started with ext3_mark_recovery_complete() waits for a transaction holding sb->s_lock, thus leading to a possible deadlock. At the moment we call ext3_mark_recovery_complete() from ext3_remount() we have done all the work needed for remounting and thus we are safe to drop sb->s_lock before we wait for transactions to commit. Note that at this moment we are still guarded by s_umount lock against other remounts/umounts. Signed-off-by: Jan Kara Cc: Eric Sandeen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b3b295502444340dd0701855ac422fbf32e161d Author: Jan Beulich Date: Sun Jul 15 23:41:07 2007 -0700 adjust nosmp handling Especially when !CONFIG_HOTPLUG_CPU, avoid needlessy allocating resources for CPUs that can never become available. Signed-off-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98c0d07cbf2a8582a0341b05ad564247e608f6f9 Author: Cedric Le Goater Date: Sun Jul 15 23:41:07 2007 -0700 add a kmem_cache for nsproxy objects It should improve performance in some scenarii where a lot of these nsproxy objects are created by unsharing namespaces. This is a typical use of virtual servers that are being created or entered. This is also a good tool to find leaks and gather statistics on namespace usage. Signed-off-by: Cedric Le Goater Cc: Herbert Poetzl Cc: Pavel Emelianov Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 467e9f4b5086a60a5cb2e032ccaf4a31abadc4c2 Author: Cedric Le Goater Date: Sun Jul 15 23:41:06 2007 -0700 fix create_new_namespaces() return value dup_mnt_ns() and clone_uts_ns() return NULL on failure. This is wrong, create_new_namespaces() uses ERR_PTR() to catch an error. This means that the subsequent create_new_namespaces() will hit BUG_ON() in copy_mnt_ns() or copy_utsname(). Modify create_new_namespaces() to also use the errors returned by the copy_*_ns routines and not to systematically return ENOMEM. [oleg@tv-sign.ru: better changelog] Signed-off-by: Cedric Le Goater Cc: Serge E. Hallyn Cc: Badari Pulavarty Cc: Pavel Emelianov Cc: Herbert Poetzl Cc: Eric W. Biederman Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e733f071e16bdad13a75eedb102e8941b09927e Author: Andrew Morton Date: Sun Jul 15 23:41:05 2007 -0700 dirty_writeback_centisecs_handler() cleanup Repair indenting bustage. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97842216b8400fe9d1a20468959e2989180f8f79 Author: Dave Jones Date: Sun Jul 15 23:41:05 2007 -0700 Allow softlockup to be runtime disabled It's useful sometimes to disable the softlockup checker at boottime. Especially if it triggers during a distro install. Signed-off-by: Dave Jones Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea5a3dcfda1c9140228f2842ea9b01e1713c559a Author: Robert P. J. Day Date: Sun Jul 15 23:41:04 2007 -0700 COBALT: remove all references to Cobalt NVRAM Remove not only the references to Cobalt NVRAM, but the header file as well. Signed-off-by: Robert P. J. Day Acked-by: Tim Hockin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef48bd246124ccdef0e1fa5b03b62d69cbf71fa7 Author: Paul E. McKenney Date: Sun Jul 15 23:41:03 2007 -0700 Document the fact that RCU callbacks can run in parallel Add an item to the RCU documentation checklist noting that RCU callbacks can run in parallel. Signed-off-by: Paul E. McKenney Cc: Steven Rostedt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d3b573ad9af85b6df104044f6fff05f04349db2 Author: Andrew Morton Date: Sun Jul 15 23:41:03 2007 -0700 binfmt_elf warning fix fs/binfmt_elf.c: In function 'load_elf_binary': fs/binfmt_elf.c:1002: warning: 'interp_map_addr' may be used uninitialized in this function The compiler (gcc-4.1.0) is correct, but it failed to notice that we didn't use the resulting value. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64d67d21773f1946ddc04aedc201f6c2f3ee1bfb Author: Andrew Morton Date: Sun Jul 15 23:41:02 2007 -0700 revert "vanishing ioctl handler debugging" Revert my do_ioctl() debugging patch: Paul fixed the bug. Cc: Paul Fulghum Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77ec739d8d0979477fc91f530403805afa2581a4 Author: Serge E. Hallyn Date: Sun Jul 15 23:41:01 2007 -0700 user namespace: add unshare This patch enables the unshare of user namespaces. It adds a new clone flag CLONE_NEWUSER and implements copy_user_ns() which resets the current user_struct and adds a new root user (uid == 0) For now, unsharing the user namespace allows a process to reset its user_struct accounting and uid 0 in the new user namespace should be contained using appropriate means, for instance selinux The plan, when the full support is complete (all uid checks covered), is to keep the original user's rights in the original namespace, and let a process become uid 0 in the new namespace, with full capabilities to the new namespace. Signed-off-by: Serge E. Hallyn Signed-off-by: Cedric Le Goater Acked-by: Pavel Emelianov Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Eric W. Biederman Cc: Chris Wright Cc: Stephen Smalley Cc: James Morris Cc: Andrew Morgan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit acce292c82d4d82d35553b928df2b0597c3a9c78 Author: Cedric Le Goater Date: Sun Jul 15 23:40:59 2007 -0700 user namespace: add the framework Basically, it will allow a process to unshare its user_struct table, resetting at the same time its own user_struct and all the associated accounting. A new root user (uid == 0) is added to the user namespace upon creation. Such root users have full privileges and it seems that theses privileges should be controlled through some means (process capabilities ?) The unshare is not included in this patch. Changes since [try #4]: - Updated get_user_ns and put_user_ns to accept NULL, and get_user_ns to return the namespace. Changes since [try #3]: - moved struct user_namespace to files user_namespace.{c,h} Changes since [try #2]: - removed struct user_namespace* argument from find_user() Changes since [try #1]: - removed struct user_namespace* argument from find_user() - added a root_user per user namespace Signed-off-by: Cedric Le Goater Signed-off-by: Serge E. Hallyn Acked-by: Pavel Emelianov Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Eric W. Biederman Cc: Chris Wright Cc: Stephen Smalley Cc: James Morris Cc: Andrew Morgan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d69a1f4a72b18876c99c697692b78339d491568 Author: Cedric Le Goater Date: Sun Jul 15 23:40:58 2007 -0700 remove CONFIG_UTS_NS and CONFIG_IPC_NS CONFIG_UTS_NS and CONFIG_IPC_NS have very little value as they only deactivate the unshare of the uts and ipc namespaces and do not improve performance. Signed-off-by: Cedric Le Goater Acked-by: "Serge E. Hallyn" Cc: Eric W. Biederman Cc: Herbert Poetzl Cc: Pavel Emelianov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 522ed7767e800cff6c650ec64b0ee0677303119c Author: Miloslav Trmac Date: Sun Jul 15 23:40:56 2007 -0700 Audit: add TTY input auditing Add TTY input auditing, used to audit system administrator's actions. This is required by various security standards such as DCID 6/3 and PCI to provide non-repudiation of administrator's actions and to allow a review of past actions if the administrator seems to overstep their duties or if the system becomes misconfigured for unknown reasons. These requirements do not make it necessary to audit TTY output as well. Compared to an user-space keylogger, this approach records TTY input using the audit subsystem, correlated with other audit events, and it is completely transparent to the user-space application (e.g. the console ioctls still work). TTY input auditing works on a higher level than auditing all system calls within the session, which would produce an overwhelming amount of mostly useless audit events. Add an "audit_tty" attribute, inherited across fork (). Data read from TTYs by process with the attribute is sent to the audit subsystem by the kernel. The audit netlink interface is extended to allow modifying the audit_tty attribute, and to allow sending explanatory audit events from user-space (for example, a shell might send an event containing the final command, after the interactive command-line editing and history expansion is performed, which might be difficult to decipher from the TTY input alone). Because the "audit_tty" attribute is inherited across fork (), it would be set e.g. for sshd restarted within an audited session. To prevent this, the audit_tty attribute is cleared when a process with no open TTY file descriptors (e.g. after daemon startup) opens a TTY. See https://www.redhat.com/archives/linux-audit/2007-June/msg00000.html for a more detailed rationale document for an older version of this patch. [akpm@linux-foundation.org: build fix] Signed-off-by: Miloslav Trmac Cc: Al Viro Cc: Alan Cox Cc: Paul Fulghum Cc: Casey Schaufler Cc: Steve Grubb Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4f27c00bf80f122513d3a5be16ed851573164534 Author: Alan Cox Date: Sun Jul 15 23:40:55 2007 -0700 Improve behaviour of spurious IRQ detect Currently we handle spurious IRQ activity based upon seeing a lot of invalid interrupts, and we clear things back on the base of lots of valid interrupts. Unfortunately in some cases you get legitimate invalid interrupts caused by timing asynchronicity between the PCI bus and the APIC bus when disabling interrupts and pulling other tricks. In this case although the spurious IRQs are not a problem our unhandled counters didn't clear and they act as a slow running timebomb. (This is effectively what the serial port/tty problem that was fixed by clearing counters when registering a handler showed up) It's easy enough to add a second parameter - time. This means that if we see a regular stream of harmless spurious interrupts which are not harming processing we don't go off and do something stupid like disable the IRQ after a month of running. OTOH lockups and performance killers show up a lot more than 10/second [akpm@linux-foundation.org: cleanup] Signed-off-by: Alan Cox Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3dc8c189a20dc5d115b8f0d07ac620e69eff05c Author: Alan Cox Date: Sun Jul 15 23:40:54 2007 -0700 intel-rng: undo mess made by an 80 column extremist The intel-rng printed a nice well formatted message when the port was disabled. Someone then came along and blindly trashed it by screwing up a trim down to 80 columns. Put it back into the right format and keep the overlong lines as the result is also MUCH easier to read in this specific case. Signed-off-by: Alan Cox Cc: Michael Buesch Acked-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4c07bce796833401317519e44075889c5fd4d5f Author: Lee Schermerhorn Date: Sun Jul 15 23:40:54 2007 -0700 hugetlbfs: handle empty options string I was seeing a null pointer deref in fs/super.c:vfs_kern_mount(). Some file system get_sb() handler was returning NULL mnt_sb with a non-negative return value. I also noticed a "hugetlbfs: Bad mount option:" message in the log. Turns out that hugetlbfs_parse_options() was not checking for an empty option string after call to strsep(). On failure, hugetlbfs_parse_options() returns 1. hugetlbfs_fill_super() just passed this return code back up the call stack where vfs_kern_mount() missed the error and proceeded with a NULL mnt_sb. Apparently introduced by patch: hugetlbfs-use-lib-parser-fix-docs.patch The problem was exposed by this line in my fstab: none /huge hugetlbfs defaults 0 0 It can also be demonstrated by invoking mount of hugetlbfs directly with no options or a bogus option. This patch: 1) adds the check for empty option to hugetlbfs_parse_options(), 2) enhances the error message to bracket any unrecognized option with quotes , 3) modifies hugetlbfs_parse_options() to return -EINVAL on any unrecognized option, 4) adds a BUG_ON() to vfs_kern_mount() to catch any get_sb() handler that returns a NULL mnt->mnt_sb with a return value >= 0. Signed-off-by: Lee Schermerhorn Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e73a75fa7f062b52d015f1c961685dcaac57f710 Author: Randy Dunlap Date: Sun Jul 15 23:40:52 2007 -0700 hugetlbfs: use lib/parser, fix docs Use lib/parser.c to parse hugetlbfs mount options. Correct docs in hugetlbpage.txt. old size of hugetlbfs_fill_super: 675 bytes new size of hugetlbfs_fill_super: 686 bytes (hugetlbfs_parse_options() is inlined) Signed-off-by: Randy Dunlap Cc: Hugh Dickins Cc: David Gibson Cc: Adam Litke Acked-by: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5216184571946b8bbf06f0cd630c7754190fdd1a Author: Dave Jones Date: Sun Jul 15 23:40:51 2007 -0700 fix typo in prefetch.h Signed-off-by: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b7ecb113eb884bed126c44513aeecdbbfa6fee3 Author: Jesper Juhl Date: Sun Jul 15 23:40:51 2007 -0700 SubmitChecklist update, fix spelling error Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5001a27802723d6de50d9d8a446d594116524b0 Author: Wyatt Banks Date: Sun Jul 15 23:40:50 2007 -0700 HFSPlus: change kmalloc/memset to kzalloc Removed kmalloc and memset in favor of kzalloc. To explain the HFSPLUS_SB() macro in the removed memset call: hfsplus_fs.h:#define HFSPLUS_SB(super) (*(struct hfsplus_sb_info *)(super)->s_fs_info) Signed-off-by: Wyatt Banks Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit abd4aa5a97ebc0efb9a7fbc98ef0bcf39266fadf Author: Dave Jones Date: Sun Jul 15 23:40:49 2007 -0700 undeprecate raw driver Despite repeated attempts over the last two and half years, this driver seems somewhat persistant. Remove its deprecated status as it has existing users who may not be in a position to migrate their apps to O_DIRECT. Signed-off-by: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3a740c5fb792098d7e7a24cd194a6d8c710ea94 Author: Randy Dunlap Date: Sun Jul 15 23:40:49 2007 -0700 sony-laptop: use NULL for pointer Use NULL instead of 0 for pointer: drivers/misc/sony-laptop.c:1920:6: warning: Using plain integer as NULL pointer Signed-off-by: Randy Dunlap Acked-by: Mattia Dongili Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b663a79c191508f27cd885224b592a878c0ba0f6 Author: Maxim Uvarov Date: Sun Jul 15 23:40:48 2007 -0700 taskstats: add context-switch counters Make available to the user the following task and process performance statistics: * Involuntary Context Switches (task_struct->nivcsw) * Voluntary Context Switches (task_struct->nvcsw) Statistics information is available from: 1. taskstats interface (Documentation/accounting/) 2. /proc/PID/status (task only). This data is useful for detecting hyperactivity patterns between processes. [akpm@linux-foundation.org: cleanup] Signed-off-by: Maxim Uvarov Cc: Shailabh Nagar Cc: Balbir Singh Cc: Jay Lan Cc: Jonathan Lim Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6c15c2b0fbfd5c0a84f5f0e1e3f20f85d2b8692 Author: Vasily Averin Date: Sun Jul 15 23:40:46 2007 -0700 ext3/ext4: orphan list corruption due bad inode After ext3 orphan list check has been added into ext3_destroy_inode() (please see my previous patch) the following situation has been detected: EXT3-fs warning (device sda6): ext3_unlink: Deleting nonexistent file (37901290), 0 Inode 00000101a15b7840: orphan list check failed! 00000773 6f665f00 74616d72 00000573 65725f00 06737270 66000000 616d726f ... Call Trace: [] ext3_destroy_inode+0x79/0x90 [] sys_unlink+0x126/0x1a0 [] error_exit+0x0/0x81 [] system_call+0x7e/0x83 First messages said that unlinked inode has i_nlink=0, then ext3_unlink() adds this inode into orphan list. Second message means that this inode has not been removed from orphan list. Inode dump has showed that i_fop = &bad_file_ops and it can be set in make_bad_inode() only. Then I've found that ext3_read_inode() can call make_bad_inode() without any error/warning messages, for example in the following case: ... if (inode->i_nlink == 0) { if (inode->i_mode == 0 || !(EXT3_SB(inode->i_sb)->s_mount_state & EXT3_ORPHAN_FS)) { /* this inode is deleted */ brelse (bh); goto bad_inode; ... Bad inode can live some time, ext3_unlink can add it to orphan list, but ext3_delete_inode() do not deleted this inode from orphan list. As result we can have orphan list corruption detected in ext3_destroy_inode(). However it is not clear for me how to fix this issue correctly. As far as i see is_bad_inode() is called after iget() in all places excluding ext3_lookup() and ext3_get_parent(). I believe it makes sense to add bad inode check to these functions too and call iput if bad inode detected. Signed-off-by: Vasily Averin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9f7dd93de07420b423336d5d0028959e94778ddb Author: Vasily Averin Date: Sun Jul 15 23:40:45 2007 -0700 ext3/ext4: orphan list check on destroy_inode Customers claims to ext3-related errors, investigation showed that ext3 orphan list has been corrupted and have the reference to non-ext3 inode. The following debug helps to understand the reasons of this issue. [akpm@linux-foundation.org: update for print_hex_dump() changes] Signed-off-by: Vasily Averin Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dcae56ea661e13d8f904b584bbe4c1e50c7ee548 Author: Robert P. J. Day Date: Sun Jul 15 23:40:45 2007 -0700 Drop an empty isicom.h from being exported to user space. Drop from being exported to user space since it would be only an empty file. Signed-off-by: Robert P. J. Day Acked-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c289dca37917338fc8ab2e0d7e202a1c927e229e Author: Adrian Bunk Date: Sun Jul 15 23:40:42 2007 -0700 remove sonypi_camera_command() Remove the no longer used sonypi_camera_command(). Signed-off-by: Adrian Bunk Acked-by: Mattia Dongili Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 759448f459234bfcf34b82471f0dba77a9aca498 Author: Jan Engelhardt Date: Sun Jul 15 23:40:40 2007 -0700 Kernel utf-8 handling This patch fixes dead keys and copy/paste of non-ASCII characters in UTF-8 mode on Linux console. See more details about the original patch at: http://chris.heathens.co.nz/linux/utf8.html Already posted on (Oldest) http://lkml.org/lkml/2003/5/31/148 http://lkml.org/lkml/2005/12/24/69 (Recent) http://lkml.org/lkml/2006/8/7/75 [bunk@stusta.de: make drivers/char/selection.c:store_utf8() static] Signed-off-by: Jan Engelhardt Cc: Alexander E. Patrakov Cc: Dmitry Torokhov Cc: "Antonino A. Daplas" Signed-off-by: Adrian Bunk Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa0ac36518be648dda3a32f0b37a8b2b546e1b24 Author: Alexey Dobriyan Date: Sun Jul 15 23:40:39 2007 -0700 Remove capability.h from mm.h I forgot to remove capability.h from mm.h while removing sched.h! This patch remedies that, because the only inline function which was using CAP_something was made out of line. Cross-compile tested without regressions on: all powerpc defconfigs all mips defconfigs all m68k defconfigs all arm defconfigs all ia64 defconfigs alpha alpha-allnoconfig alpha-defconfig alpha-up arm i386 i386-allnoconfig i386-defconfig i386-up ia64 ia64-allnoconfig ia64-defconfig ia64-up m68k mips parisc parisc-allnoconfig parisc-defconfig parisc-up powerpc powerpc-up s390 s390-allnoconfig s390-defconfig s390-up sparc sparc-allnoconfig sparc-defconfig sparc-up sparc64 sparc64-allnoconfig sparc64-defconfig sparc64-up um-x86_64 x86_64 x86_64-allnoconfig x86_64-defconfig x86_64-up as well as my two usual configs. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb510b8172602a66467f3551b4be1911f5a7c8c2 Author: Alexey Dobriyan Date: Sun Jul 15 23:40:39 2007 -0700 seq_file: more atomicity in traverse() Original problem: in some circumstances seq_file interface can present infinite proc file to the following script when normally said proc file is finite: while read line; do [do something with $line] done index'es being 0 and 1. Current one is 1, as bash prints second object line by line. Imagine first object being removed right before lseek(). traverse() will be called, because there is negative offset. traverse() will reset ->index to 0 (!). traverse() will call ->next() and get NULL in any usual iterate-over-list code using list_for_each_entry_continue() and such. There is one object in list now after all... traverse() will return 0, lseek() will update file position and pretend everything is OK. So, what we have now: ->f_pos points to place where second object will be printed, but ->index is 0. seq_read() instead of returning EOF, will start printing first line of first object every time it's called, until enough objects are added to ->f_pos return in bounds. Fix is to update ->index only after we're sure we saw enough objects down the road. Signed-off-by: Alexey Dobriyan Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18d96779d92902d2113b6f39bd2d42e805fa05e7 Author: Kees Cook Date: Sun Jul 15 23:40:38 2007 -0700 Documentation: /proc/$pid/stat files Documentation for the /proc/$pid/stat file. Signed-off-by: Kees Cook Cc: Rob Landley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e6077bd84a7bffa73b59d9704682aeab5781fa0 Author: Haavard Skinnemoen Date: Sun Jul 15 23:40:36 2007 -0700 atmel_serial: fix break handling The RXBRK field in the AT91/AT32 USART status register has the following definition according to e.g. the AT32AP7000 data sheet: RXBRK: Break Received/End of Break 0: No Break received or End of Break detected since the last RSTSTA. 1: Break Received or End of Break detected since the last RSTSTA. Thus, for each break, the USART sets the RXBRK bit twice. This patch modifies the driver to report the break event to the serial core only once by keeping track of whether a break condition is currently active. The break_active flag is reset as soon as a character is received, so even if we miss the start-of-break interrupt this should do the right thing. Signed-off-by: Haavard Skinnemoen Cc: Andrew Victor Cc: Russell King Cc: Ivan Kuten Cc: Nicolas Ferre Cc: Patrice Vilchez Cc: Andrew Morton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc1ed7542c8c26af0f501da8006b9fce03e9aaca Author: Pierre Ossman Date: Sun Jul 15 23:40:35 2007 -0700 init: wait for asynchronously scanned block devices Some buses (e.g. USB and MMC) do their scanning of devices in the background, causing a race between them and prepare_namespace(). In order to be able to use these buses without an initrd, we now wait for the device specified in root= to actually show up. If the device never shows up than we will hang in an infinite loop. In order to not mess with setups that reboot on panic, the feature must be turned on via the command line option "rootwait". [bunk@stusta.de: root_wait can become static] Signed-off-by: Pierre Ossman Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a19542e5f694cd408a32c3d9dc593ba9366e2d7 Author: Ulrich Drepper Date: Sun Jul 15 23:40:34 2007 -0700 O_CLOEXEC for SCM_RIGHTS Part two in the O_CLOEXEC saga: adding support for file descriptors received through Unix domain sockets. The patch is once again pretty minimal, it introduces a new flag for recvmsg and passes it just like the existing MSG_CMSG_COMPAT flag. I think this bit is not used otherwise but the networking people will know better. This new flag is not recognized by recvfrom and recv. These functions cannot be used for that purpose and the asymmetry this introduces is not worse than the already existing MSG_CMSG_COMPAT situations. The patch must be applied on the patch which introduced O_CLOEXEC. It has to remove static from the new get_unused_fd_flags function but since scm.c cannot live in a module the function still hasn't to be exported. Here's a test program to make sure the code works. It's so much longer than the actual patch... #include #include #include #include #include #include #include #include #ifndef O_CLOEXEC # define O_CLOEXEC 02000000 #endif #ifndef MSG_CMSG_CLOEXEC # define MSG_CMSG_CLOEXEC 0x40000000 #endif int main (int argc, char *argv[]) { if (argc > 1) { int fd = atol (argv[1]); printf ("child: fd = %d\n", fd); if (fcntl (fd, F_GETFD) == 0 || errno != EBADF) { puts ("file descriptor valid in child"); return 1; } return 0; } struct sockaddr_un sun; strcpy (sun.sun_path, "./testsocket"); sun.sun_family = AF_UNIX; char databuf[] = "hello"; struct iovec iov[1]; iov[0].iov_base = databuf; iov[0].iov_len = sizeof (databuf); union { struct cmsghdr hdr; char bytes[CMSG_SPACE (sizeof (int))]; } buf; struct msghdr msg = { .msg_iov = iov, .msg_iovlen = 1, .msg_control = buf.bytes, .msg_controllen = sizeof (buf) }; struct cmsghdr *cmsg = CMSG_FIRSTHDR (&msg); cmsg->cmsg_level = SOL_SOCKET; cmsg->cmsg_type = SCM_RIGHTS; cmsg->cmsg_len = CMSG_LEN (sizeof (int)); msg.msg_controllen = cmsg->cmsg_len; pid_t child = fork (); if (child == -1) error (1, errno, "fork"); if (child == 0) { int sock = socket (PF_UNIX, SOCK_STREAM, 0); if (sock < 0) error (1, errno, "socket"); if (bind (sock, (struct sockaddr *) &sun, sizeof (sun)) < 0) error (1, errno, "bind"); if (listen (sock, SOMAXCONN) < 0) error (1, errno, "listen"); int conn = accept (sock, NULL, NULL); if (conn == -1) error (1, errno, "accept"); *(int *) CMSG_DATA (cmsg) = sock; if (sendmsg (conn, &msg, MSG_NOSIGNAL) < 0) error (1, errno, "sendmsg"); return 0; } /* For a test suite this should be more robust like a barrier in shared memory. */ sleep (1); int sock = socket (PF_UNIX, SOCK_STREAM, 0); if (sock < 0) error (1, errno, "socket"); if (connect (sock, (struct sockaddr *) &sun, sizeof (sun)) < 0) error (1, errno, "connect"); unlink (sun.sun_path); *(int *) CMSG_DATA (cmsg) = -1; if (recvmsg (sock, &msg, MSG_CMSG_CLOEXEC) < 0) error (1, errno, "recvmsg"); int fd = *(int *) CMSG_DATA (cmsg); if (fd == -1) error (1, 0, "no descriptor received"); char fdname[20]; snprintf (fdname, sizeof (fdname), "%d", fd); execl ("/proc/self/exe", argv[0], fdname, NULL); puts ("execl failed"); return 1; } [akpm@linux-foundation.org: Fix fastcall inconsistency noted by Michael Buesch] [akpm@linux-foundation.org: build fix] Signed-off-by: Ulrich Drepper Cc: Ingo Molnar Cc: Michael Buesch Cc: Michael Kerrisk Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f23513e8d96cf5e6cf8d2ff0cb5dd6bbc33995e4 Author: Ulrich Drepper Date: Sun Jul 15 23:40:32 2007 -0700 Introduce O_CLOEXEC The problem is as follows: in multi-threaded code (or more correctly: all code using clone() with CLONE_FILES) we have a race when exec'ing. thread #1 thread #2 fd=open() fork + exec fcntl(fd,F_SETFD,FD_CLOEXEC) In some applications this can happen frequently. Take a web browser. One thread opens a file and another thread starts, say, an external PDF viewer. The result can even be a security issue if that open file descriptor refers to a sensitive file and the external program can somehow be tricked into using that descriptor. Just adding O_CLOEXEC support to open() doesn't solve the whole set of problems. There are other ways to create file descriptors (socket, epoll_create, Unix domain socket transfer, etc). These can and should be addressed separately though. open() is such an easy case that it makes not much sense putting the fix off. The test program: #include #include #include #include #ifndef O_CLOEXEC # define O_CLOEXEC 02000000 #endif int main (int argc, char *argv[]) { int fd; if (argc > 1) { fd = atol (argv[1]); printf ("child: fd = %d\n", fd); if (fcntl (fd, F_GETFD) == 0 || errno != EBADF) { puts ("file descriptor valid in child"); return 1; } return 0; } fd = open ("/proc/self/exe", O_RDONLY | O_CLOEXEC); printf ("in parent: new fd = %d\n", fd); char buf[20]; snprintf (buf, sizeof (buf), "%d", fd); execl ("/proc/self/exe", argv[0], buf, NULL); puts ("execl failed"); return 1; } [kyle@parisc-linux.org: parisc fix] Signed-off-by: Ulrich Drepper Acked-by: Ingo Molnar Cc: Davide Libenzi Cc: Michael Kerrisk Cc: Chris Zankel Signed-off-by: Kyle McMartin Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a2d44590a603be292addce9c263982043416666 Author: Eric W. Biederman Date: Sun Jul 15 23:40:31 2007 -0700 buffer: kill old incorrect comment Signed-off-by: Eric W. Biederman Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c5c061b8f9726bc2c25e19dec227933a13d1e6b7 Author: Venki Pallipadi Date: Sun Jul 15 23:40:30 2007 -0700 Add a flag to indicate deferrable timers in /proc/timer_stats Add a flag in /proc/timer_stats to indicate deferrable timers. This will let developers/users to differentiate between types of tiemrs in /proc/timer_stats. Deferrable timer and normal timer will appear in /proc/timer_stats as below. 10D, 1 swapper queue_delayed_work_on (delayed_work_timer_fn) 10, 1 swapper queue_delayed_work_on (delayed_work_timer_fn) Also version of timer_stats changes from v0.1 to v0.2 Signed-off-by: Venkatesh Pallipadi Acked-by: Ingo Molnar Cc: Thomas Gleixner Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0807061908a7a9441d0f745deb444f7216904cb Author: Christoph Hellwig Date: Sun Jul 15 23:40:30 2007 -0700 remove odd and misleading comments from uio.h Signed-off-by: Christoph Hellwig Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b0fac45878bb88759eec347c273285195649ff7 Author: Dan Williams Date: Sun Jul 15 23:40:26 2007 -0700 dma-mapping: prevent dma dependent code from linking on !HAS_DMA archs Continuing the work started in 411f0f3edc141a582190d3605cadd1d993abb6df ... This enables code with a dma path, that compiles away, to build without requiring additional code factoring. It also prevents code that calls dma_alloc_coherent and dma_free_coherent from linking whereas previously the code would hit a BUG() at run time. Finally, it allows archs that set !HAS_DMA to delete their asm/dma-mapping.h file. Cc: Cornelia Huck Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: John W. Linville Cc: Kyle McMartin Cc: James Bottomley Cc: Tejun Heo Cc: Jeff Garzik Cc: Cc: Cc: Cc: Signed-off-by: Dan Williams Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e7bf24b1b979db256ddc84d0d4ac6040d706da6 Author: Stefan Richter Date: Sun Jul 15 23:40:25 2007 -0700 fs: clarify "dummy" member in struct inodes_stat_t Signed-off-by: Stefan Richter Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e84845c4bf9a00533352e5805b35f42acdb04a1e Author: Randy Dunlap Date: Sun Jul 15 23:40:25 2007 -0700 add printk.time option, deprecate 'time' Allow printk_time to be enabled or disabled at boot time. Previously it could be enabled only, but not disabled. Change printk_time from an int to a bool since that's what it is. Make its logical (exposed) name just be "time" (was "printk_time"). Note: Changes kernel boot option syntax from "time" to "printk.time=value". Since printk_time is declared as a module_param, it can also be changed at run-time by modifying /sys/module/printk/parameters/time to a value of 1/Y/y to enabled it or 0/N/n to disable it. Since printk_time is declared as a module_param, its value can also be set at boot-time by using linux printk.time= If the "time" boot option is used, print a message that it is deprecated and will be removed. Note its planned removal in feature-removal-schedule.txt. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 185848707e73382ba930857502a0b80ff6039967 Author: Akinobu Mita Date: Sun Jul 15 23:40:24 2007 -0700 fault-injection: fix example scripts in documentation Fix and cleanup example scripts in fault injection documentation. 1. Eliminate broken oops() shell function. 2. Fold failcmd.sh and failmodule.sh into example scripts. It makes the example scripts work independent of current working directory. 3. Set "space" parameter to 0 to start injecting errors immediately. 4. Use /sys/module//sections/.data as upper bound of .text section. Because some module doesn't have .exit.text section. Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54114994f4de7e8076fc250e44501e55e19b75b5 Author: Akinobu Mita Date: Sun Jul 15 23:40:23 2007 -0700 fault-injection: add min-order parameter to fail_page_alloc Limiting smaller allocation failures by fault injection helps to find real possible bugs. Because higher order allocations are likely to fail and zero-order allocations are not likely to fail. This patch adds min-order parameter to fail_page_alloc. It specifies the minimum page allocation order to be injected failures. Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 203a2935c734c054bfd4665fb5d8835498af50a8 Author: Matthias Kaehlcke Date: Sun Jul 15 23:40:23 2007 -0700 fs/block_dev.c: use list_for_each_entry() fs/block_dev.c: Use list_for_each_entry() instead of list_for_each() in nr_blockdev_pages() Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00c5746da9fc6a793b9d94a8001ded5929f3a773 Author: Alexey Dobriyan Date: Sun Jul 15 23:40:22 2007 -0700 mutex_unlock() later in seq_lseek() All manipulations with struct seq_file::version are done under struct seq_file::lock except one introduced in commit d6b7a781c51c91dd054e5c437885205592faac21 aka "[PATCH] Speed up /proc/pid/maps" Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6739af8b9e8bf0fd1fb3f4f8406a9f650cb733a Author: Jan Kara Date: Sun Jul 15 23:40:22 2007 -0700 ext2: fix a comment when ext2_release_file() is called Signed-off-by: Jan Kara Acked-by: "Theodore Ts'o" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da58a1617343e345d435953a0f32024997a95164 Author: Alexey Dobriyan Date: Sun Jul 15 23:40:21 2007 -0700 /proc/*/environ: wrong placing of ptrace_may_attach() check It's a bit dopey-looking and can permit a task to cause a pagefault in an mm which it doesn't have permission to read from. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7126dd0562c78fa393a53120155e9b265cc68f9d Author: Jiri Slaby Date: Sun Jul 15 23:40:20 2007 -0700 Char: ip2, use msleep for sleeping Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6defec139a0fb0fb36c41a441f8417360da81ea1 Author: Jiri Slaby Date: Sun Jul 15 23:40:20 2007 -0700 Char: n_r3964, use wait_event_interruptible Signed-off-by: Jiri Slaby Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0955e14f72dd1f561dc8b7c4434a253914ddfd4 Author: Jiri Slaby Date: Sun Jul 15 23:40:19 2007 -0700 Char: genrtc, use wait_event_interruptible genrtc, use wait_event_interruptible Signed-off-by: Jiri Slaby Cc: Alessandro Zummo Cc: Roman Zippel Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6804396f1b66c504bac1267d71a857f7a1d1e9dd Author: Jiri Slaby Date: Sun Jul 15 23:40:18 2007 -0700 Char: tty_ioctl, little whitespace cleanup tty_ioctl, little whitespace cleanup the point is to make while (++i < n_baud_table); clear and assign it to the do { } loop Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a52bd4a2dcb570333ce6fe2e16cd311650dbdc8 Author: Jiri Slaby Date: Sun Jul 15 23:40:18 2007 -0700 Char: tty_ioctl, use wait_event_interruptible_timeout tty_ioctl, use wait_event_interruptible_timeout Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b770b4b29c741bbcbb77d2618955897765a81bf Author: Jiri Slaby Date: Sun Jul 15 23:40:17 2007 -0700 Char: mxser_new, fix sparse warning Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f17e121fd055ba60d57a992702e59ae495faba76 Author: young dave Date: Sun Jul 15 23:40:17 2007 -0700 remove useless tolower in isofs Remove useless tolower in isofs Signed-off-by: dave young Acked-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03a9c30c231a61dd7457681aef51cc38ee01f766 Author: Randy Dunlap Date: Sun Jul 15 23:40:16 2007 -0700 AFS: drop explicit extern Don't use explicit extern specifier and quieten sparse warning: fs/afs/vnode.c:564:12: warning: function 'afs_vnode_link' with external linkage has definition Signed-off-by: Randy Dunlap Acked-By: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7bf1fc4329aa2c31a80a882d695fbdded92036ca Author: Randy Dunlap Date: Sun Jul 15 23:40:15 2007 -0700 kconfig: no STRANGE misc. devices This config symbol name is confusing and unneeded/unwanted, so just change it to MISC_DEVICES. * * Misc devices * Misc devices (MISC_STRANGE_DEV) [Y/n] (NEW) Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 78c1b0657475dbafa008c71e3ccdc32141d8c7c7 Author: Andi Kleen Date: Sun Jul 15 23:40:15 2007 -0700 Remove clockevents_{release,request}_device Not called by anything in tree. Signed-off-by: Andi Kleen Acked-by: Ingo Molnar Cc: Thomas Gleixner Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 506eb99a26e7af8b649faa135f648d1a2f1e4cdc Author: Jean Delvare Date: Sun Jul 15 23:40:14 2007 -0700 tty_io: Use kzalloc Also remove needless casts. Signed-off-by: Jean Delvare Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e8d6c554126b830217c5e9f549e0e21f865a0a8a Author: David Howells Date: Sun Jul 15 23:40:12 2007 -0700 AFS: implement file locking Implement file locking for AFS. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b0fed3140f57c435d2783b698c5090f325c22bad Author: Jiri Slaby Date: Sun Jul 15 23:40:12 2007 -0700 Char: n_hdlc, allow RESTARTSYS retval of tty write Acked-by: Paul Fulghum Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c2aef333c98b41eeb0f0d55b7faa7d4625a6160b Author: Paul Menage Date: Sun Jul 15 23:40:11 2007 -0700 Reduce cpuset.c write_lock_irq() to read_lock() cpuset.c:update_nodemask() uses a write_lock_irq() on tasklist_lock to block concurrent forks; a read_lock() suffices and is less intrusive. Signed-off-by: Paul Menage Acked-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2ff457b09554813a7df9e0cd30d5a169a257419 Author: Ben Collins Date: Sun Jul 15 23:40:11 2007 -0700 RTC: Ratelimit "lost interrupts" message We gets lots of these when the kernel is running on a hypervisor. Zach says "a guest kernel trying to get high frequency RTC will also be inaccurate, and inevitably will have unhidable interrupt lateness." Signed-off-by: Ben Collins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45807a1df9f51d28d0ff0c6bcf900c210411d7c9 Author: Ingo Molnar Date: Sun Jul 15 23:40:10 2007 -0700 vdso: print fatal signals Add the print-fatal-signals=1 boot option and the /proc/sys/kernel/print-fatal-signals runtime switch. This feature prints some minimal information about userspace segfaults to the kernel console. This is useful to find early bootup bugs where userspace debugging is very hard. Defaults to off. [akpm@linux-foundation.org: Don't add new sysctl numbers] Signed-off-by: Ingo Molnar Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99fc06df72fe1c9ad3ec274720dcb5658c40bfd2 Author: Changli Gao Date: Sun Jul 15 23:40:09 2007 -0700 procfs directory entry cleanup Function proc_register() will assign proc_dir_operations and proc_dir_inode_operations to ent's members proc_fops and proc_iops correctly if ent is a directory. So the early assignment isn't necessary. Cc: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17973f5af741f1758ed57c5115ca394c22bee159 Author: Micah Cowan Date: Sun Jul 15 23:40:08 2007 -0700 Only send SIGXFSZ when exceeding rlimits. Some users have been having problems with utilities like cp or dd dumping core when they try to copy a file that's too large for the destination filesystem (typically, > 4gb). Apparently, some defunct standards required SIGXFSZ to be sent in such circumstances, but SUS only requires/allows it for when a written file exceeds the process's resource limits. I'd like to limit SIGXFSZs to the bare minimum required by SUS. Patch sent per http://lkml.org/lkml/2007/4/10/302 Signed-off-by: Micah Cowan Acked-by: Alan Cox Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e3e8d91fee56e1ab598b265466dc38033f1b915 Author: Satyam Sharma Date: Sun Jul 15 23:40:07 2007 -0700 rocket.c: fix unchecked mutex_lock_interruptible() Check the return of mutex_lock_interruptible() in drivers/char/rocket.c and return ERESTARTSYS if we were interrupted. Signed-off-by: Satyam Sharma Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 60bfba7e85f88fe834e623ead799cf580de20971 Author: Jan Kratochvil Date: Sun Jul 15 23:40:06 2007 -0700 PIE randomization This patch is using mmap()'s randomization functionality in such a way that it maps the 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). Origin of this patch is in exec-shield (http://people.redhat.com/mingo/exec-shield/) [jkosina@suse.cz: pie randomization: fix BAD_ADDR macro] Signed-off-by: Jan Kratochvil Signed-off-by: Jiri Kosina Cc: Ingo Molnar Cc: Roland McGrath Cc: Jakub Jelinek Signed-off-by: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f057eac0d7ad967138390a9dd7fd8267e1e39d19 Author: Stephen Rothwell Date: Sun Jul 15 23:40:05 2007 -0700 Introduce CONFIG_VIRT_TO_BUS Make some offending drivers depend on it and set CONFIG_ARCH_NO_VIRT_TO_BUS for ppc64 so that we don't build those drivers. This gets PowerPC allmodconfig and allyesconfig much closer to building. Signed-off-by: Stephen Rothwell Cc: Al Viro Acked-by: David Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 693783817a79d8619335e2bf1a33de73cf189864 Author: Andrew Morton Date: Sun Jul 15 23:40:04 2007 -0700 mpu401 warning fixes Fix these: sound/oss/mpu401.c: In function 'attach_mpu401': sound/oss/mpu401.c:1006: warning: cast to pointer from integer of different size sound/oss/mpu401.c:1115: warning: cast to pointer from integer of different size sound/oss/mpu401.c: In function 'unload_mpu401': sound/oss/mpu401.c:1230: warning: cast to pointer from integer of different size by making it implement the request_irq()/free_irq() cookies correctly. Cc: Jaroslav Kysela Cc: Takashi Iwai Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c3ed85a36ff5b01f340db67ac5ae6e699d3b8a2b Author: Dave Jones Date: Sun Jul 15 23:40:03 2007 -0700 isofs: fix up CodingStyle fs/isofs/* had a bunch of CodingStyle issues. * Indentation was a mix of spaces and tabs * "int * foo" instead of "int *foo" * "while ( foo )" instead of "while (foo)" * if (foo) blah; on one line instead of two * Missing printk KERN_ levels * lots of trailing whitespace * lines >80 columns changed to wrap. * Unnecessary prototype removed by shuffling code order in C file. Should be no functional changes other than slight size increase due to printk changes. Further improvement possible, but this is a start.. Signed-off-by: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b28f22a87a5a2f0ab39f2549441bbe5eb2e369f Author: Alan Cox Date: Sun Jul 15 23:40:02 2007 -0700 edd: switch to pci_get based API Signed-off-by: Alan Cox Cc: Matt Domsch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c1fbac447993b275f90e118826a5edca1ec508da Author: Thiemo Seufer Date: Sun Jul 15 23:39:59 2007 -0700 Update zilog timeout Update zilog timeout, thanks Peter Fuerst. Signed-off-by: Thiemo Seufer Cc: Martin Michlmayr Cc: Peter Fuerst Cc: Russell King Cc: Alan Cox Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d05e96fe4664c0398f1d060c0f6a8ff8fc74a449 Author: Denver Gingerich Date: Sun Jul 15 23:39:59 2007 -0700 fix compiler warnings in acorn.c warning: 'adfs_partition' defined but not used warning: 'riscix_partition' defined but not used warning: 'linux_partition' defined but not used Signed-off-by: Denver Gingerich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 21eb92025e5768fb54120e2f2745a41c36f3aa69 Author: Richard Knutsson Date: Sun Jul 15 23:39:57 2007 -0700 drivers/block/z2ram: Remove TRUE/FALSE defines Remove defines of TRUE and FALSE * not used in the file * the file is not included somewhere else Signed-off-by: Richard Knutsson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a3021f4e249fbdb5f30d614707b5e02022e4c9b Author: Robert P. J. Day Date: Sun Jul 15 23:39:57 2007 -0700 Remove unnecessary includes of spinlock.h under include/linux Remove the obviously unnecessary includes of under the include/linux/ directory, and fix the couple errors that are introduced as a result of that. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9aacd599342fdfc1fb9422f37e900609b7a46249 Author: OGAWA Hirofumi Date: Sun Jul 15 23:39:56 2007 -0700 fat: gcc 4.3 warning fix This patch fixes the following warnings. fs/fat/dir.c: In function 'fat_parse_long': include/linux/msdos_fs.h:294: warning: array subscript is above array bounds include/linux/msdos_fs.h:295: warning: array subscript is above array bounds include/linux/msdos_fs.h:295: warning: array subscript is above array bounds The ->name is defined as "name[8], ext[3]", but fat_checksum() uses those as name[11]. There is no actual problem, but it's not a good manner. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 259902ea951008bcbd31a49f667062ff8012ef55 Author: Pavel Emelianov Date: Sun Jul 15 23:39:56 2007 -0700 Make NFS client use seq_list_xxx helpers This includes /proc/fs/nfsfs/servers and /proc/fs/nfsfs/volumes entries. Both need to show the header and use the list_head. Signed-off-by: Pavel Emelianov Acked-by: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b0765fb85782da9dca98482ebb1ae0d8c1a5e0f7 Author: Pavel Emelianov Date: Sun Jul 15 23:39:55 2007 -0700 Make /proc/self/mounts(tats) use seq_list_xxx helpers One more simple and stupid switching to the new API. Signed-off-by: Pavel Emelianov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 25216b00395dfb52bfe06e4886a6ad831ede7b4b Author: Pavel Emelianov Date: Sun Jul 15 23:39:54 2007 -0700 Make /proc/tty/drivers use seq_list_xxx helpers Simple and stupid like some previous ones. Just use new API. Signed-off-by: Pavel Emelianov Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 708f4b522371da5e6c615a49e1844195aff84cb4 Author: Pavel Emelianov Date: Sun Jul 15 23:39:54 2007 -0700 Make /proc/modules use seq_list_xxx helpers Here there is not need even in .show callback altering. The original code passes list_head in *v. Signed-off-by: Pavel Emelianov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46c65b71e6122b89cd7b2bb36c1ba26d07e84fcd Author: Pavel Emelianov Date: Sun Jul 15 23:39:53 2007 -0700 Make /proc/misc use seq_list_xxx helpers Simple and stupid - just use the helpers. Signed-off-by: Pavel Emelianov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 13d31894b3c459805303325aa5b91f9cd4ed70bc Author: Pavel Emelianov Date: Sun Jul 15 23:39:53 2007 -0700 Make crypto API use seq_list_xxx helpers Simple and stupid - just use the same code from another place in the kernel. Signed-off-by: Pavel Emelianov Acked-by: Herbert Xu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6a8bd6d2839f7134f191c6e13e2fd2e9e8c91a6 Author: Pavel Emelianov Date: Sun Jul 15 23:39:52 2007 -0700 Make AFS use seq_list_xxx helpers These proc files show some header before dumping the list, so the seq_list_start_head() is used. Signed-off-by: Pavel Emelianov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4ef0296f214a1e0e65f161f88663b0ca1acca31 Author: Andrew Morton Date: Sun Jul 15 23:39:51 2007 -0700 percpu_counters: use for_each_online_cpu() Now that we have implemented hotunplug-time counter spilling, percpu_counter_sum() only needs to look at online CPUs. Cc: Gautham R Shenoy Cc: Oleg Nesterov Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c67ad917cbf21b2862e2cf8e8b28339872ef7927 Author: Andrew Morton Date: Sun Jul 15 23:39:51 2007 -0700 percpu_counters(): use cpu notifiers per-cpu counters presently must iterate over all possible CPUs in the exhaustive percpu_counter_sum(). But it can be much better to only iterate over the presently-online CPUs. To do this, we must arrange for an offlined CPU's count to be spilled into the counter's central count. We can do this for all percpu_counters in the machine by linking them into a single global list and walking that list at CPU_DEAD time. (I hope. Might have race windows in which the percpu_counter_sum() count is inaccurate?) Cc: Gautham R Shenoy Cc: Oleg Nesterov Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 85420ccad1610f123365eec89848ef25641bc6b7 Author: Andrew Morton Date: Sun Jul 15 23:39:50 2007 -0700 vxfs warning fixes gcc-4.3: fs/freevxfs/vxfs_lookup.c: In function 'vxfs_find_entry': fs/freevxfs/vxfs_lookup.c:139: warning: cast from pointer to integer of different size fs/freevxfs/vxfs_lookup.c: In function 'vxfs_readdir': fs/freevxfs/vxfs_lookup.c:294: warning: cast from pointer to integer of different size Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 21f3da95daed2d0f0c28cc4ef8b1103fbfb7bded Author: Andrew Morton Date: Sun Jul 15 23:39:50 2007 -0700 fuse warning fix gcc-4.3: fs/fuse/dir.c: In function 'parse_dirfile': fs/fuse/dir.c:833: warning: cast from pointer to integer of different size fs/fuse/dir.c:835: warning: cast from pointer to integer of different size [miklos@szeredi.hu: use offsetof] Acked-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9ac162521cd9796f44d263a61090634844c719a6 Author: Matthias Kaehlcke Date: Sun Jul 15 23:39:49 2007 -0700 Use mutexes instead of semaphores in I2O driver The I2O driver uses two semaphores as mutexes. Use the mutex API instead of the (binary) semaphores. Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c6b4aa94576eee6dec3b8011f60d7f666db90b0 Author: Satoru Takeuchi Date: Sun Jul 15 23:39:48 2007 -0700 cpu hotplug: fix ksoftirqd termination on cpu hotplug with naughty realtime process Fix ksoftirqd termination on cpu hotplug with naughty real time process. Assuming the following case: - Try to hot remove CPU2 from CPU1. - There is a real time process on CPU2, and that process doesn't sleep at all. - That rt process and ksoftirqd/2 is migrated to the CPU0 Then ksoftirqd/2 can't stop becasue that rt process runs everlastingly on CPU0, and CPU1 waiting the ksoftirqd/2's termination hangs up. To fix this problem, set the priority of ksoftirqd/2 to max one before kthread_stop(). [akpm@linux-foundation.org: fix warning] Signed-off-by: Satoru Takeuchi Cc: Rusty Russell Cc: Ingo Molnar Cc: Oleg Nesterov Cc: Ashok Raj Cc: Gautham R Shenoy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 85653af7d488702165eba72c6c1dd0250fae4e70 Author: Satoru Takeuchi Date: Sun Jul 15 23:39:47 2007 -0700 Fix stop_machine_run problem with naughty real time process stop_machine_run() does its work on "kstopmachine" thread having max priority. However that thread get such priority after woken up. Therefore, in the following case ... - "kstopmachine" try to run on CPU1 - There is a real time process which doesn't relinquish CPU time voluntary on CPU1 ... "kstopmachine" can't start to run and the CPU on which stop_machine_run() is runing hangs up. To fix this problem, call sched_setscheduler() before waking up that thread. Signed-off-by: Satoru Takeuchi Cc: Rusty Russell Cc: Ingo Molnar Cc: Oleg Nesterov Cc: Ashok Raj Cc: Gautham R Shenoy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 647bd61a5f3a51a38c670f91af9d861ad66149a3 Author: Cyrill Gorcunov Date: Sun Jul 15 23:39:47 2007 -0700 UDF: check for allocated memory for inode data This patch adds checking for granted memory while filling up inode data to prevent possible NULL pointer usage. If there is not enough memory to fill inode data we just mark it as "bad". Also some whitespace cleanup. Signed-off-by: Cyrill Gorcunov Cc: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9c1729db3e6d738f872bcb090212af00473bf666 Author: Alan Cox Date: Sun Jul 15 23:39:43 2007 -0700 Prevent an O_NDELAY writer from blocking when a tty write is blocked by the tty atomic writer mutex Without this a tty write could block if a previous blocking tty write was in progress on the same tty and blocked by a line discipline or hardware event. Originally found and reported by Dave Johnson. Signed-off-by: Alan Cox Acked-by: Dave Johnson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9c64155f5a81b4b41e98f9fb9c464a565c1bf72 Author: Cyrill Gorcunov Date: Sun Jul 15 23:39:43 2007 -0700 UDF: check for allocated memory for data of new inodes Add checking for granted memory for inode data at the moment of its creation. Signed-off-by: Cyrill Gorcunov Cc: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d62141414a55ff3f1410b27db2a95224446e77a4 Author: Tomas Janousek Date: Sun Jul 15 23:39:42 2007 -0700 Use boot based time for uptime in /proc Commit 411187fb05cd11676b0979d9fbf3291db69dbce2 caused uptime not to increase during suspend. This may cause confusion so I restore the old behaviour by using the boot based time instead of monotonic for uptime. Signed-off-by: Tomas Janousek Acked-by: John Stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 924b42d5a2dbe508407a0a6290d3751f826bccdd Author: Tomas Janousek Date: Sun Jul 15 23:39:42 2007 -0700 Use boot based time for process start time and boot time in /proc Commit 411187fb05cd11676b0979d9fbf3291db69dbce2 caused boot time to move and process start times to become invalid after suspend. Using boot based time for those restores the old behaviour and fixes the issue. [akpm@linux-foundation.org: little cleanup] Signed-off-by: Tomas Janousek Cc: Tomas Smetana Acked-by: John Stultz Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c3f1a573237b90ef331267260358a0ec4ac9079 Author: Tomas Janousek Date: Sun Jul 15 23:39:41 2007 -0700 Introduce boot based time The commits 411187fb05cd11676b0979d9fbf3291db69dbce2 (GTOD: persistent clock support) c1d370e167d66b10bca3b602d3740405469383de (i386: use GTOD persistent clock support) changed the monotonic time so that it no longer jumps after resume, but it's not possible to use it for boot time and process start time calculations then. Also, the uptime no longer increases during suspend. I add a variable to track the wall_to_monotonic changes, a function to get the real boot time and a function to get the boot based time from the monotonic one. [akpm@linux-foundation.org: remove exports, add comment] Signed-off-by: Tomas Janousek Cc: Tomas Smetana Cc: John Stultz Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35ef63f635aa0e414ad6cdb2a4092e1caf99272c Author: Andrew Morton Date: Sun Jul 15 23:39:40 2007 -0700 use no_pci_devices() in pci/search.c We have an API function for this now. Cc: Zhang Yanmin Cc: Greg KH Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed4aaadb1a7913f509f05d3e67840541a180713f Author: Zhang, Yanmin Date: Sun Jul 15 23:39:39 2007 -0700 fix jvc cdrom drive lockup Before calling init_hwif_default, ide_unregister gets lock ide_lock and disables irq. init_hwif_default calls ide_default_io_base which calls pci_get_device and later pci_get_subsys tries to apply for semaphore pci_bus_sem and goes to sleep. Mostly, pci_get_device should be called when irq is turned on. ide_default_io_base just needs find if list pci_devices is empty. Signed-off-by: Zhang Yanmin Cc: Greg KH Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 012bfdf00ce2f36a1add75a0d18303656c6294ef Author: Jan Engelhardt Date: Sun Jul 15 23:39:39 2007 -0700 Use menuconfig objects: W1 Use menuconfigs instead of menus, so the whole menu can be disabled at once instead of going through all options. Signed-off-by: Jan Engelhardt Cc: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c493f5c9017b38a60ed2989af00e5faaa801815 Author: Jan Engelhardt Date: Sun Jul 15 23:39:38 2007 -0700 Use menuconfig objects: PNP Use menuconfigs instead of menus, so the whole menu can be disabled at once instead of going through all options. Signed-off-by: Jan Engelhardt Cc: Adam Belay Cc: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9f5096c56afe6f7602cce852b99b32a90804935d Author: Jan Engelhardt Date: Sun Jul 15 23:39:37 2007 -0700 Use menuconfig objects: parport Use menuconfigs instead of menus, so the whole menu can be disabled at once instead of going through all options. Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04e9aeecff0d55bed2b554915da9ea355c966f7d Author: Jan Engelhardt Date: Sun Jul 15 23:39:37 2007 -0700 Use menuconfig objects: I2O Use menuconfigs instead of menus, so the whole menu can be disabled at once instead of going through all options. Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b511431d85948823ec58639bd3137b910964be34 Author: Jan Engelhardt Date: Sun Jul 15 23:39:36 2007 -0700 Use menuconfig objects: crypto hw Use menuconfigs instead of menus, so the whole menu can be disabled at once instead of going through all options. Signed-off-by: Jan Engelhardt Cc: Michael Buesch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 13591885a90f8f5e3849ad1f1973649115d5bad4 Author: Jan Engelhardt Date: Sun Jul 15 23:39:32 2007 -0700 Use menuconfig objects: connector Use menuconfigs instead of menus, so the whole menu can be disabled at once instead of going through all options. Signed-off-by: Jan Engelhardt Acked-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7126b75c8794f9fffda227d08b7ad1e138fa2c6c Author: Jan Engelhardt Date: Sun Jul 15 23:39:31 2007 -0700 Use menuconfig objects II - TPM Change Kconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without having to enter the menu first. Signed-off-by: Jan Engelhardt Cc: Kylene Hall Cc: Marcel Selhorst Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 79e508a4b8f405f9c9c3dbbd19d84717f42431ef Author: Jan Engelhardt Date: Sun Jul 15 23:39:31 2007 -0700 Use menuconfig objects II - Telephony Change Kconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without having to enter the menu first. Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a07c8f9cd3bf3af37595d2692cbcf50f42d4819 Author: Jan Engelhardt Date: Sun Jul 15 23:39:30 2007 -0700 Use menuconfig objects II - oprofile Make a "menuconfig" out of the Kconfig objects "menu, ..., endmenu", 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: Jan Engelhardt Cc: Philippe Elie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66da57332005b4fa6888cc21a223c0b90505126f Author: Jan Engelhardt Date: Sun Jul 15 23:39:29 2007 -0700 Use menuconfig objects II - module menu Change menuconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without entering its menu first. Signed-off-by: Jan Engelhardt Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 376df37a5b472ff9a0b71218fc50576ef3803275 Author: Jan Engelhardt Date: Sun Jul 15 23:39:29 2007 -0700 Use menuconfig objects II - misc strange dev Make a "menuconfig" out of the Kconfig objects "menu, ..., endmenu", 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: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcf6b4bbb5be0807143239f6c460e5e6aecf2981 Author: Jan Engelhardt Date: Sun Jul 15 23:39:28 2007 -0700 Use menuconfig objects II - IPMI Change Kconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without having to enter the menu first. Signed-off-by: Jan Engelhardt Acked-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 751cb5e56436f6c889d9acbd3d4464224e49965d Author: Jan Engelhardt Date: Sun Jul 15 23:39:27 2007 -0700 Use menuconfig objects II - EDAC Change Kconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without having to enter the menu first. Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5920969fb9e29c9d60568864d0a56fe85e8f4b6 Author: Jan Engelhardt Date: Sun Jul 15 23:39:26 2007 -0700 Use menuconfig objects II - auxdisplay Make a "menuconfig" out of the Kconfig objects "menu, ..., endmenu", 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: Jan Engelhardt Acked-by: Miguel Ojeda Sandonis Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6175ecfed3c81d388735c75f7a0ad08dc4de02d3 Author: Sripathi Kodi Date: Sun Jul 15 23:39:26 2007 -0700 Use write_trylock_irqsave in ptrace_attach This patch makes ptrace_attach use write_trylock_irqsave(). [akpm@linux-foundation.org: remove unneeded initialisation] Signed-off-by: Sripathi Kodi Cc: Ingo Molnar Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e1f4a88c5a15a86124a95ea712213bb7dab2ad99 Author: Satyam Sharma Date: Sun Jul 15 23:39:24 2007 -0700 introduce write_trylock_irqsave() Introduce a write_trylock_irqsave() implementation. Similar in style to the implementation of spin_trylock_irqsave() in mainline. Signed-off-by: Satyam Sharma Cc: Sripathi Kodi Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5d425c97f7d4e92151167b01ca038e7853c6b37 Author: Adrian Bunk Date: Sun Jul 15 23:39:01 2007 -0700 more scheduled OSS driver removal This patch contains the scheduled removal of OSS drivers that: - have ALSA drivers for the same hardware without known regressions and - whose Kconfig options have been removed in 2.6.20. Signed-off-by: Adrian Bunk Acked-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 786d7e1612f0b0adb6046f19b906609e4fe8b1ba Author: Alexey Dobriyan Date: Sun Jul 15 23:39:00 2007 -0700 Fix rmmod/read/write races in /proc entries Fix following races: =========================================== 1. Write via ->write_proc sleeps in copy_from_user(). Module disappears meanwhile. Or, more generically, system call done on /proc file, method supplied by module is called, module dissapeares meanwhile. pde = create_proc_entry() if (!pde) return -ENOMEM; pde->write_proc = ... open write copy_from_user pde = create_proc_entry(); if (!pde) { remove_proc_entry(); return -ENOMEM; /* module unloaded */ } *boom* ========================================== 2. bogo-revoke aka proc_kill_inodes() remove_proc_entry vfs_read proc_kill_inodes [check ->f_op validness] [check ->f_op->read validness] [verify_area, security permissions checks] ->f_op = NULL; if (file->f_op->read) /* ->f_op dereference, boom */ NOTE, NOTE, NOTE: file_operations are proxied for regular files only. Let's see how this scheme behaves, then extend if needed for directories. Directories creators in /proc only set ->owner for them, so proxying for directories may be unneeded. NOTE, NOTE, NOTE: methods being proxied are ->llseek, ->read, ->write, ->poll, ->unlocked_ioctl, ->ioctl, ->compat_ioctl, ->open, ->release. If your in-tree module uses something else, yell on me. Full audit pending. [akpm@linux-foundation.org: build fix] Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5568b0e8028d966ddb16f0be44a9df1fcbd1dc8d Author: Alan Cox Date: Sun Jul 15 23:38:59 2007 -0700 v850: enable arbitary speed tty ioctls Adding the defines/macros activates the existing code in the tty layer and allows this platform to use the arbitary speed ioctl setting layer Signed-off-by: Alan Cox Cc: Miles Bader Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23f465b72872a99ffa60e13f5876fcf2ee139f26 Author: Jeff Dike Date: Sun Jul 15 23:38:58 2007 -0700 uml: remove dead file I forgot this file was here. It hasn't been used since UML has been in mainline. Thanks to Jesper for finding something that needed doing to it, thus reminding me of its existence. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8619b86f20588c020b280e6f67a9b8712b1ee38a Author: Jeff Dike Date: Sun Jul 15 23:38:58 2007 -0700 uml: limit request size on COWed devices COWed devices can't handle more than 32 (64 on x86_64) sectors in one request due to the size of the bitmap being carried around in the io_thread_req. Enforce that by telling the block layer not to put too many sectors in requests to COWed devices. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e8234483e7545b3cd298b0265fcee2e4a14c9f51 Author: Jeff Dike Date: Sun Jul 15 23:38:57 2007 -0700 uml: export hostfs symbols Add some exports for hostfs that are required after Alberto Bertogli's fixes for accessing unlinked host files. Also did some style cleanups while I was here. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4c4bf9968cb4f0fceb1b8fb54790ccae73caf4e Author: Jeff Dike Date: Sun Jul 15 23:38:56 2007 -0700 uml: Eliminate kernel allocator wrappers UML had two wrapper procedures for kmalloc, um_kmalloc and um_kmalloc_atomic because the flag constants weren't available in userspace code. kern_constants.h had made kernel constants available for a long time, so there is no need for these wrappers any more. Rather, userspace code calls kmalloc directly with the userspace versions of the gfp flags. kmalloc isn't a real procedure, so I had to essentially copy the inline wrapper around __kmalloc. vmalloc also had its own wrapper for no good reason. This is now gone. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c43990162fc7f9d2f15a12797fdc6f9c0905f704 Author: Jeff Dike Date: Sun Jul 15 23:38:56 2007 -0700 uml: simplify helper stack handling run_helper and run_helper_thread had arguments which were the same in all callers. run_helper's stack_out was always NULL and run_helper_thread's stack_order was always 0. These are now gone, and the constants folded into the code. Also fixed leaks of the helper stack in the AIO and SIGIO code. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42a359e31a0e438b5b978a8f0fecdbd3c86bb033 Author: Jeff Dike Date: Sun Jul 15 23:38:55 2007 -0700 uml: SIGIO support cleanup Cleanup of the SIGWINCH support. Some code and comment reformatting. The stack used for SIGWINCH threads was leaked. This is now fixed by storing it with the pid and other information, and freeing it when the thread is killed. If something goes wrong with a WIGWINCH thread, and this is discovered in the interrupt handler, the winch record would leak. It is now freed, except that the IRQ isn't freed. This is hard to do from interrupt context. This has the side-effect that the IRQ system maintains a reference to the freed structure, but that shouldn't cause a problem since the descriptor is disabled. register_winch_irq is now much better about cleaning up after an initialization failure. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d14ad81f800a57d3f21f8e98556c728968883e9a Author: Jeff Dike Date: Sun Jul 15 23:38:54 2007 -0700 uml: handle errors on opening host side of consoles If the host side of a console can't be opened, this will now produce visible error messages. enable_chan now returns a status and this is passed up to con_open and ssl_open, which will complain if anything went wrong. The default host device for the serial line driver is now a pts device rather than a pty device since lots of hosts have LEGACY_PTYS disabled. This had always been failing on such hosts, but silently. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 75886f21e3a53a298b097103fd52e83184a89c22 Author: Jeff Dike Date: Sun Jul 15 23:38:53 2007 -0700 uml: pty channel tidying Cleanup, mostly style violations. Tidied the includes. getmaster returns a real errno, which pty_open returns if there's a problem. The printks now have severity. Changed os_* calls to call libc directly. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 63920f4717924206c3fa23d42645d4f8965de4cd Author: Jeff Dike Date: Sun Jul 15 23:38:52 2007 -0700 uml: xterm driver tidying Major tidying of the xterm console driver: got rid of the tt-mode gdb support tidied up the includes fixed lots of style violations replaced os_* calls with glibc calls in xterm.c all printk calls now have a severity indicator the error paths of xterm_open are closer to being right Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 89df6bfc04059716de2eb2fe529f05b3e124fafd Author: Eduard-Gabriel Munteanu Date: Sun Jul 15 23:38:51 2007 -0700 uml: DEBUG_SHIRQ fixes DEBUG_SHIRQ generates spurious interrupts, triggering handlers such as mconsole_interrupt() or line_interrupt(). They expect data to be available to be read from their sockets/pipes, but in the case of spurious interrupts, the host didn't actually send anything, so UML hangs in read() and friends. Setting those fd's as O_NONBLOCK makes DEBUG_SHIRQ-enabled UML kernels boot and run correctly. Signed-off-by: Eduard-Gabriel Munteanu Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e18eecb8b35703a5eea73ee2b45324262029e62c Author: Jeff Dike Date: Sun Jul 15 23:38:48 2007 -0700 Add generic exit-time stack-depth checking to CONFIG_DEBUG_STACK_USAGE Add generic exit-time stack-depth checking to CONFIG_DEBUG_STACK_USAGE. This also adds UML support. Tested on UML and i386. [akpm@linux-foundation.org: cleanups, speedups, tweaks] Signed-off-by: Jeff Dike Cc: Oleg Nesterov Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84812217e395f5272eac36856c0a2415d61fe139 Author: Jeff Dike Date: Sun Jul 15 23:38:48 2007 -0700 uml: use get_free_pages to allocate kernel stacks For some reason, I was using kmalloc instead of get_free_pages for kernel stacks. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a6d3a2a3813e7b25267366cfbf9a4a4698dd1c2 Author: Jeff Dike Date: Sun Jul 15 23:38:47 2007 -0700 uml: fix request->sector update It is theoretically possible for a request to finish and be freed between writing it to the I/O thread and updating the sector count. In this case, the update will dereference a freed pointer. To avoid this, I delay the update until processing the next sg segment, when the request pointer is known to be good. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ff9057db7edeb210fd5c00314c52154922d8868 Author: Robert P. J. Day Date: Sun Jul 15 23:38:46 2007 -0700 CRIS: replace old-style member inits with designated inits Replace the old-style structure member initializers with designated initializers. Signed-off-by: Robert P. J. Day Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e30afd5119f5a3684e4e5e66bbaeb9c8d2c814be Author: Alan Cox Date: Sun Jul 15 23:38:45 2007 -0700 etrax: enable arbitary speed setting on tty ports Add the needed constants and bits. The actual code is already in the tty layer and turned on by the definitions Signed-off-by: Alan Cox Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c12a54b3af795dccb39c303e23073c931fe6f1b6 Author: Hirokazu Takata Date: Sun Jul 15 23:38:45 2007 -0700 m32r: A MAINTAINERS entry for the M32R architecture Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86245b8507ce901c0152ec98a26832434c93262b Author: Alan Cox Date: Sun Jul 15 23:38:44 2007 -0700 m32r: enable arbitary speed tty rate setting Add the defines and constants needed for the M32R platform to support the arbitary speed tty ioctls. Signed-off-by: Alan Cox Cc: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f47807f359974a8fbb13d850da403be9af885f6e Author: Mariusz Kozlowski Date: Sun Jul 15 23:38:43 2007 -0700 arm26: remove broken and unused macro Signed-off-by: Mariusz Kozlowski Cc: Ian Molton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 787ea0ef70d65f71a667ed686f2f28d63ef9a217 Author: Alan Cox Date: Sun Jul 15 23:38:42 2007 -0700 ARM26: enable arbitary speed tty ioctls and split input/output speed Add the ioctls and values needed for this to the ARM26/ARM32 ports. The actual code has been in the base kernel for a while and automatically turns on when a port sets the required defines. Signed-off-by: Alan Cox Cc: Russell King Cc: Ian Molton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c6af69abe9436c33b82a13623b38a4cc51e6464 Author: Ivan Kokshaysky Date: Sun Jul 15 23:38:41 2007 -0700 fix alpha ISA support isa_bus_to_virt() is still needed in a few places (lance.c, at least). When we switch the kernel to using -Werror-implicit-function-declaration, the lack of isa_bus_to_virt() breaks alpha allmodconfig builds. Add isa_bus_to_virt() and deprecate the ezisting ISA APIs, though it might be better to define these functions as BUG(), since virt_to_bus/bus_to_virt just do wrong things on a number of machines. [akpm@linux-foundation.org: build fix] Signed-off-by: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ebaf4fc13e293dcafbb13c91aae2a45722652740 Author: Sam Ravnborg Date: Sun Jul 15 23:38:37 2007 -0700 alpha: fix trivial section mismatch warnings Fix the following section mismatch warnings: WARNING: arch/alpha/kernel/built-in.o(.text+0x7c78): Section mismatch: reference to .init.text:init_rtc_irq (between 'common_init_rtc' and 'timer_interrupt') WARNING: arch/alpha/kernel/built-in.o(.text+0x7c7c): Section mismatch: reference to .init.text:init_rtc_irq (between 'common_init_rtc' and 'timer_interrupt') WARNING: arch/alpha/kernel/built-in.o(.data+0x2c30): Section mismatch: reference to .init.text:srm_console_setup (between 'srmcons' and 'tsunami_pci_ops') In all three cases functions marked __init was called outside __init context. So the fix was to just drop the __init attribute. Signed-off-by: Sam Ravnborg Cc: Meelis Roos Cc: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2fea299f74c846157b068be8ae15b406db0719d9 Author: Yoshinori Sato Date: Sun Jul 15 23:38:36 2007 -0700 h8300 entry.S update Signed-off-by: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 542f739d12159e3198611aa471359cc63600be1a Author: Yoshinori Sato Date: Sun Jul 15 23:38:35 2007 -0700 h8300: remove unused file arch/h8300/kernel/ints.c is unused. Signed-off-by: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86277d594926f3ae4f50ac0fcd9e2fa3cc28a774 Author: Yoshinori Sato Date: Sun Jul 15 23:38:35 2007 -0700 h8300 zImage support update - Add missing files - Add Makefile target - Change image base - Style fix Signed-off-by: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f79224ca2754e903b695bd91176a9bedbb306324 Author: Alan Cox Date: Sun Jul 15 23:38:34 2007 -0700 h8300: enable arbitary speed tty port setup Add the needed constants and defines to activate the new tty code on this platform Signed-off-by: Alan Cox Cc: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17d8725d36c1f3d6a21a2d3f96875bda8ddfa92c Author: Greg Ungerer Date: Sun Jul 15 23:38:33 2007 -0700 m68knommu: remove old cache management cruft from mm code Remove cache management cruft. This code is dead, all the cache manangement functions for the ColdFire exist in the header file include/asm-m68knommu/cacheflush.h. Signed-off-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f75d1098c51734ce47d0afd44ecdc2ae9713031 Author: Greg Ungerer Date: Sun Jul 15 23:38:33 2007 -0700 m68knommu: remove cruft from setup code Clean out cruft. . remove include files not needed . remove not used CAT_ROMARRAY code . remove generic machine pointers not used . remove unused functions . fix email address in copyrights Signed-off-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45a82f519897bdd48eeaad659e4e10ce6d965646 Author: Greg Ungerer Date: Sun Jul 15 23:38:31 2007 -0700 m68knommu: use TRHEAD_SIZE instead of hard constant Use THREAD_SIZE instead of a hard constant. Signed-off-by: Philippe De Muyter Signed-off-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57c8f63e8e7a4a95d7fcc49e3953341fb4039899 Author: Greg Ungerer Date: Sun Jul 15 23:38:28 2007 -0700 nommu: stub expand_stack() for nommu case Be consistent with VM mmap, implement expand_stack(). We can't actually do anything other than return an error in the no MMU case though. Signed-off-by: Greg Ungerer Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54a3bdd76e82d7f64e5504409c55b51e48c3a10a Author: David Howells Date: Sun Jul 15 23:38:28 2007 -0700 FRV: Remove some dead code Remove some dead chunks of code that are bounded by preprocessor conditionals controlled by apparently no-longer available config options. These are: CONFIG_BLK_DEV_BLKMEM CONFIG_CHR_DEV_FLASH CONFIG_BLK_DEV_FLASH CONFIG_CONSOLE [Found by Robert P. J. Day ] Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 769259160a0e0bae51f1e5377bacf1d0265e7001 Author: David Howells Date: Sun Jul 15 23:38:27 2007 -0700 FRV: Be (self-)consistent and use CONFIG_GDB_CONSOLE everywhere Be (self-)consistent and use CONFIG_GDB_CONSOLE everywhere rather than using CONFIG_GDBSTUB_CONSOLE in some places and not others. This is also then consistent with other archs. Also remove the gdbstub console device() op which doesn't seem to be necessary now (especially as it doesn't compile). [Found by Robert P. J. Day ] Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c1a39e050548d23b28f7e62f47e08b46afff29e2 Author: David Howells Date: Sun Jul 15 23:38:27 2007 -0700 FRV: Connect up new syscalls Connect up new system calls. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0165ab443556bdfad388da6c33d74a71b77d72b2 Author: Miklos Szeredi Date: Sun Jul 15 23:38:26 2007 -0700 split mmap This is a straightforward split of do_mmap_pgoff() into two functions: - do_mmap_pgoff() checks the parameters, and calculates the vma flags. Then it calls - mmap_region(), which does the actual mapping Signed-off-by: Miklos Szeredi Acked-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c44939ecb6e05aeaaf12d4e1bb046719c97e457e Author: akpm@linux-foundation.org Date: Sun Jul 15 23:38:25 2007 -0700 NeilBrown The do_loop_readv_writev implementation of readv breaks out of the loop as soon as a single read request didn't fill it's buffer: if (nr != len) break; The generic_file_aio_read version doesn't. So if it hits EOF before the end of the list of buffers, it will try again on the next buffer. If the file was extended in the mean time, this will produce a bad result. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ed44a401ddfc60e11c3484e86f0c8285051139a Author: Herbert van den Bergh Date: Sun Jul 15 23:38:25 2007 -0700 do not limit locked memory when RLIMIT_MEMLOCK is RLIM_INFINITY Fix a bug in mm/mlock.c on 32-bit architectures that prevents a user from locking more than 4GB of shared memory, or allocating more than 4GB of shared memory in hugepages, when rlim[RLIMIT_MEMLOCK] is set to RLIM_INFINITY. Signed-off-by: Herbert van den Bergh Acked-by: Chris Mason Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84a01c2f8ea9bf210b961c6301e8e870a46505a6 Author: Paul Mundt Date: Sun Jul 15 23:38:24 2007 -0700 slob: sparsemem support Currently slob is disabled if we're using sparsemem, due to an earlier patch from Goto-san. Slob and static sparsemem work without any trouble as it is, and the only hiccup is a missing slab_is_available() in the case of sparsemem extreme. With this, we're rid of the last set of restrictions for slob usage. Signed-off-by: Paul Mundt Acked-by: Pekka Enberg Acked-by: Matt Mackall Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5dc4ac6324094cd52dc77ddf88296a94b90bbafc Author: Hugh Dickins Date: Sun Jul 15 23:38:23 2007 -0700 mspec_mmap: don't set VM_LOCKED mspec_mmap was setting VM_LOCKED (without adjusting locked_vm): don't do that, it serves no purpose in 2.6, other than to mess up the locked_vm accounting - mspec's pages won't get reclaimed anyway. Thanks to Dmitry Monakhov for raising the issue. Signed-off-by: Hugh Dickins Acked-by: Jes Sorensen Cc: Dmitry Monakhov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b49ad484c54116862d717ffafcab1c9a46600b48 Author: Dan Aloni Date: Sun Jul 15 23:38:23 2007 -0700 mm/page_alloc.c: lower printk severity Signed-off-by: Dan Aloni Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6193a2ff180920f84ee06977165ebf32431fc2d2 Author: Paul Mundt Date: Sun Jul 15 23:38:22 2007 -0700 slob: initial NUMA support This adds preliminary NUMA support to SLOB, primarily aimed at systems with small nodes (tested all the way down to a 128kB SRAM block), whether asymmetric or otherwise. We follow the same conventions as SLAB/SLUB, preferring current node placement for new pages, or with explicit placement, if a node has been specified. Presently on UP NUMA this has the side-effect of preferring node#0 allocations (since numa_node_id() == 0, though this could be reworked if we could hand off a pfn to determine node placement), so single-CPU NUMA systems will want to place smaller nodes further out in terms of node id. Once a page has been bound to a node (via explicit node id typing), we only do block allocations from partial free pages that have a matching node id in the page flags. The current implementation does have some scalability problems, in that all partial free pages are tracked in the global freelist (with contention due to the single spinlock). However, these are things that are being reworked for SMP scalability first, while things like per-node freelists can easily be built on top of this sort of functionality once it's been added. More background can be found in: http://marc.info/?l=linux-mm&m=118117916022379&w=2 http://marc.info/?l=linux-mm&m=118170446306199&w=2 http://marc.info/?l=linux-mm&m=118187859420048&w=2 and subsequent threads. Acked-by: Christoph Lameter Acked-by: Matt Mackall Signed-off-by: Paul Mundt Acked-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7977793240d836e60ff413e94e6914f08e10941 Author: Jason Baron Date: Sun Jul 15 23:38:21 2007 -0700 speed up madvise_need_mmap_write() usage In the new madvise_need_mmap_write() call we can avoid an extra case statement and function call as follows. Signed-off-by: Jason Baron Cc: Nishanth Aravamudan Cc: Christoph Hellwig Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 897e679b17460b52752a038af29db356fe1bd759 Author: Adrian Bunk Date: Sun Jul 15 23:38:20 2007 -0700 mm/slab.c: start_cpu_timer() should be __cpuinit start_cpu_timer() should be __cpuinit (which also matches what it's callers are). __devinit didn't cause problems, it simply wasted a few bytes of memory for the common CONFIG_HOTPLUG_CPU=n case. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ea6e6887dad1fd44e6d5020a0fd355af4f2b6b3 Author: Paul Mundt Date: Sun Jul 15 23:38:20 2007 -0700 mm: more __meminit annotations Currently zone_spanned_pages_in_node() and zone_absent_pages_in_node() are non-static for ARCH_POPULATES_NODE_MAP and static otherwise. However, only the non-static versions are __meminit annotated, despite only being called from __meminit functions in either case. zone_init_free_lists() is currently non-static and not __meminit annotated either, despite only being called once in the entire tree by init_currently_empty_zone(), which too is __meminit. So make it static and properly annotated. Signed-off-by: Paul Mundt Cc: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f0accc8627043702e6ea2bb8b9aa3a171ef8393 Author: Jan Beulich Date: Sun Jul 15 23:38:19 2007 -0700 kill vmalloc_earlyreserve This symbol got orphaned quite a while ago. Signed-off-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45e98cdb6d365b34b7a2d849e4d8bdc264d8e6e4 Author: Jan Beulich Date: Sun Jul 15 23:38:17 2007 -0700 page table handling cleanup Kill pte_rdprotect(), pte_exprotect(), pte_mkread(), pte_mkexec(), pte_read(), pte_exec(), and pte_user() except where arch-specific code is making use of them. Signed-off-by: Jan Beulich Cc: Andi Kleen Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98011f569e2ae1e4ae394f6e23faa16676d50de4 Author: Jan Beulich Date: Sun Jul 15 23:38:17 2007 -0700 mm: fix improper .init-type section references .. which modpost started warning about. Signed-off-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 140d5a49046b6d73dce4a4229e88c000a99ee126 Author: Paul Mundt Date: Sun Jul 15 23:38:16 2007 -0700 numa: mempolicy: trivial debug fixes. Enabling debugging fails to build due to the nodemask variable in do_mbind() having changed names, and then oopses on boot due to the assumption that the nodemask can be dereferenced -- which doesn't work out so well when the policy is changed to MPOL_DEFAULT with a NULL nodemask by numa_default_policy(). This fixes it up, and switches from PDprintk() to pr_debug() while we're at it. Signed-off-by: Paul Mundt Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 462e00cc7151ed91fba688594436c453c80efb5d Author: Ethan Solomita Date: Sun Jul 15 23:38:16 2007 -0700 oom: stop allocating user memory if TIF_MEMDIE is set get_user_pages() can try to allocate a nearly unlimited amount of memory on behalf of a user process, even if that process has been OOM killed. The OOM kill occurs upon return to user space via a SIGKILL, but get_user_pages() will try allocate all its memory before returning. Change get_user_pages() to check for TIF_MEMDIE, and if set then return immediately. Signed-off-by: Ethan Solomita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b71636e29823c0602d908a2a62e94c9b57a97491 Author: Paul Mundt Date: Sun Jul 15 23:38:15 2007 -0700 numa: mempolicy: dynamic interleave map for system init This converts the default system init memory policy to use a dynamically created node map instead of defaulting to all online nodes. Nodes of a certain size (>= 16MB) are judged to be suitable for interleave, and are added to the map. If all nodes are smaller in size, the largest one is automatically selected. Without this, tiny nodes find themselves out of memory before we even make it to userspace. Systems with large nodes will notice no change. Only the system init policy is effected by this change, the regular MPOL_DEFAULT policy is still switched to later on in the boot process as normal. Signed-off-by: Paul Mundt Cc: Andi Kleen Cc: Christoph Lameter Cc: Hugh Dickins Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0630fff54a239efbbd89faf6a62da071ef1ff78 Author: Christoph Lameter Date: Sun Jul 15 23:38:14 2007 -0700 SLUB: support slub_debug on by default Add a new configuration variable CONFIG_SLUB_DEBUG_ON If set then the kernel will be booted by default with slab debugging switched on. Similar to CONFIG_SLAB_DEBUG. By default slab debugging is available but must be enabled by specifying "slub_debug" as a kernel parameter. Also add support to switch off slab debugging for a kernel that was built with CONFIG_SLUB_DEBUG_ON. This works by specifying slub_debug=- as a kernel parameter. Dave Jones wanted this feature. http://marc.info/?l=linux-kernel&m=118072189913045&w=2 [akpm@linux-foundation.org: clean up switch statement] Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc9a07e7bf1a76e710f5df017abb07628db1781d Author: Andrew Morton Date: Sun Jul 15 23:38:14 2007 -0700 invalidate_mapping_pages(): add cond_resched invalidate_mapping_pages() can sometimes take a long time (millions of pages to free). Long enough for the softlockup detector to trigger. We used to have a cond_resched() in there but I took it out because the drop_caches code calls invalidate_mapping_pages() under inode_lock. The patch adds a nasty flag and puts the cond_resched() back. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45426812d6b601430d560cb6049757b5b0bc71c4 Author: Nick Piggin Date: Sun Jul 15 23:38:12 2007 -0700 mm: debug check for the fault vs invalidate race Add a bugcheck for Andrea's pagefault vs invalidate race. This is triggerable for both linear and nonlinear pages with a userspace test harness (using direct IO and truncate, respectively). Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f96efd585b8d847181f81bf16721f96ded18d9fe Author: Joe Jin Date: Sun Jul 15 23:38:12 2007 -0700 hugetlb: fix race in alloc_fresh_huge_page() That static `nid' index needs locking. Without it we can end up calling alloc_pages_node() with an illegal node ID and the kernel crashes. Acked-by: gurudas pai Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2706a1b89b1a3e7434a668d4a9d15f616da96685 Author: Anderson Briglia Date: Sun Jul 15 23:38:09 2007 -0700 vmscan: fix comments related to shrink_list() Fix the shrink_list name on some files under mm/ directory. Signed-off-by: Anderson Briglia Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 553948491c18413928b85a9025b92af80e7d61d6 Author: Nick Piggin Date: Sun Jul 15 23:38:09 2007 -0700 slob: improved alignment handling Remove the core slob allocator's minimum alignment restrictions, and instead introduce the alignment restrictions at the slab API layer. This lets us heed the ARCH_KMALLOC/SLAB_MINALIGN directives, and also use __alignof__ (unsigned long) for the default alignment (which should allow relaxed alignment architectures to take better advantage of SLOB's small minimum alignment). Signed-off-by: Nick Piggin Acked-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d87a133fc21d842e3cc285e6bbff727181abec81 Author: Nick Piggin Date: Sun Jul 15 23:38:08 2007 -0700 slob: remove bigblock tracking Remove the bigblock lists in favour of using compound pages and going directly to the page allocator. Allocation size is stored in page->private, which also makes ksize more accurate than it previously was. Saves ~.5K of code, and 12-24 bytes overhead per >= PAGE_SIZE allocation. Signed-off-by: Nick Piggin Acked-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95b35127f13661abb0dc3459042cdb417d21e692 Author: Nick Piggin Date: Sun Jul 15 23:38:07 2007 -0700 slob: rework freelist handling Improve slob by turning the freelist into a list of pages using struct page fields, then each page has a singly linked freelist of slob blocks via a pointer in the struct page. - The first benefit is that the slob freelists can be indexed by a smaller type (2 bytes, if the PAGE_SIZE is reasonable). - Next is that freeing is much quicker because it does not have to traverse the entire freelist. Allocation can be slightly faster too, because we can skip almost-full freelist pages completely. - Slob pages are then freed immediately when they become empty, rather than having a periodic timer try to free them. This gives efficiency and memory consumption improvement. Then, we don't encode seperate size and next fields into each slob block, rather we use the sign bit to distinguish between "size" or "next". Then size 1 blocks contain a "next" offset, and others contain the "size" in the first unit and "next" in the second unit. - This allows minimum slob allocation alignment to go from 8 bytes to 2 bytes on 32-bit and 12 bytes to 2 bytes on 64-bit. In practice, it is best to align them to word size, however some architectures (eg. cris) could gain space savings from turning off this extra alignment. Then, make kmalloc use its own slob_block at the front of the allocation in order to encode allocation size, rather than rely on not overwriting slob's existing header block. - This reduces kmalloc allocation overhead similarly to alignment reductions. - Decouples kmalloc layer from the slob allocator. Then, add a page flag specific to slob pages. - This means kfree of a page aligned slob block doesn't have to traverse the bigblock list. I would get benchmarks, but my test box's network doesn't come up with slob before this patch. I think something is timing out. Anyway, things are faster after the patch. Code size goes up about 1K, however dynamic memory usage _should_ be lower even on relatively small memory systems. Future todo item is to restore the cyclic free list search, rather than to always begin at the start. Signed-off-by: Nick Piggin Acked-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 698827fa9f45019df1609bb686bc51c94e127fbc Author: Robert P. J. Day Date: Sun Jul 15 23:38:06 2007 -0700 Remove the deprecated "kmem_cache_t" typedef from slab.h. Given that there is no remaining usage of the deprecated kmem_cache_t typedef anywhere in the tree, remove that typedef. Signed-off-by: Robert P. J. Day Acked-by: Pekka Enberg Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1037b83bd04e31449dc9323f1e8ddada4264ef66 Author: Eric Dumazet Date: Sun Jul 15 23:38:05 2007 -0700 MM: alloc_large_system_hash() can free some memory for non power-of-two bucketsize alloc_large_system_hash() is called at boot time to allocate space for several large hash tables. Lately, TCP hash table was changed and its bucketsize is not a power-of-two anymore. On most setups, alloc_large_system_hash() allocates one big page (order > 0) with __get_free_pages(GFP_ATOMIC, order). This single high_order page has a power-of-two size, bigger than the needed size. We can free all pages that wont be used by the hash table. On a 1GB i386 machine, this patch saves 128 KB of LOWMEM memory. TCP established hash table entries: 32768 (order: 6, 393216 bytes) Signed-off-by: Eric Dumazet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b92151bab91ef906378d3e0e7128d55dd641e966 Author: Pavel Emelianov Date: Sun Jul 15 23:38:04 2007 -0700 Make /proc/slabinfo use seq_list_xxx helpers This entry prints a header in .start callback. This is OK, but the more elegant solution would be to move this into the .show callback and use seq_list_start_head() in .start one. I have left it as is in order to make the patch just switch to new API and noting more. [adobriyan@sw.ru: Wrong pointer was used as kmem_cache pointer] Signed-off-by: Pavel Emelianov Cc: Christoph Lameter Cc: Pekka Enberg Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68e116a3b57d09b220fe38712bebd956b6dbbbc6 Author: Rolf Eike Beer Date: Sun Jul 15 23:38:03 2007 -0700 MM: use DIV_ROUND_UP() in mm/memory.c Replace a hand coded version of DIV_ROUND_UP(). Signed-off-by: Rolf Eike Beer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31a5c6e4f25704f51f9a1373f0784034306d4cf1 Author: Nishanth Aravamudan Date: Sun Jul 15 23:38:02 2007 -0700 hugetlb: remove unnecessary nid initialization nid is initialized to numa_node_id() but will either be overwritten in the loop or not used in the conditional. So remove the initialization. Signed-off-by: Nishanth Aravamudan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0c0b2b808f232741eadac272bd4bc51f18df0f4 Author: KAMEZAWA Hiroyuki Date: Sun Jul 15 23:38:01 2007 -0700 change zonelist order: zonelist order selection logic Make zonelist creation policy selectable from sysctl/boot option v6. This patch makes NUMA's zonelist (of pgdat) order selectable. Available order are Default(automatic)/ Node-based / Zone-based. [Default Order] The kernel selects Node-based or Zone-based order automatically. [Node-based Order] This policy treats the locality of memory as the most important parameter. Zonelist order is created by each zone's locality. This means lower zones (ex. ZONE_DMA) can be used before higher zone (ex. ZONE_NORMAL) exhausion. IOW. ZONE_DMA will be in the middle of zonelist. current 2.6.21 kernel uses this. Pros. * A user can expect local memory as much as possible. Cons. * lower zone will be exhansted before higher zone. This may cause OOM_KILL. Maybe suitable if ZONE_DMA is relatively big and you never see OOM_KILL because of ZONE_DMA exhaution and you need the best locality. (example) assume 2 node NUMA. node(0) has ZONE_DMA/ZONE_NORMAL, node(1) has ZONE_NORMAL. *node(0)'s memory allocation order: node(0)'s NORMAL -> node(0)'s DMA -> node(1)'s NORMAL. *node(1)'s memory allocation order: node(1)'s NORMAL -> node(0)'s NORMAL -> node(0)'s DMA. [Zone-based order] This policy treats the zone type as the most important parameter. Zonelist order is created by zone-type order. This means lower zone never be used bofere higher zone exhaustion. IOW. ZONE_DMA will be always at the tail of zonelist. Pros. * OOM_KILL(bacause of lower zone) occurs only if the whole zones are exhausted. Cons. * memory locality may not be best. (example) assume 2 node NUMA. node(0) has ZONE_DMA/ZONE_NORMAL, node(1) has ZONE_NORMAL. *node(0)'s memory allocation order: node(0)'s NORMAL -> node(1)'s NORMAL -> node(0)'s DMA. *node(1)'s memory allocation order: node(1)'s NORMAL -> node(0)'s NORMAL -> node(0)'s DMA. bootoption "numa_zonelist_order=" and proc/sysctl is supporetd. command: %echo N > /proc/sys/vm/numa_zonelist_order Will rebuild zonelist in Node-based order. command: %echo Z > /proc/sys/vm/numa_zonelist_order Will rebuild zonelist in Zone-based order. Thanks to Lee Schermerhorn, he gives me much help and codes. [Lee.Schermerhorn@hp.com: add check_highest_zone to build_zonelists_in_zone_order] [akpm@linux-foundation.org: build fix] Signed-off-by: KAMEZAWA Hiroyuki Cc: Lee Schermerhorn Cc: Christoph Lameter Cc: Andi Kleen Cc: "jesse.barnes@intel.com" Signed-off-by: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18a8bd949d6adb311ea816125ff65050df1f3f6e Author: Yinghai Lu Date: Sun Jul 15 23:37:59 2007 -0700 serial: convert early_uart to earlycon for 8250 Beacuse SERIAL_PORT_DFNS is removed from include/asm-i386/serial.h and include/asm-x86_64/serial.h. the serial8250_ports need to be probed late in serial initializing stage. the console_init=>serial8250_console_init=> register_console=>serial8250_console_setup will return -ENDEV, and console ttyS0 can not be enabled at that time. need to wait till uart_add_one_port in drivers/serial/serial_core.c to call register_console to get console ttyS0. that is too late. Make early_uart to use early_param, so uart console can be used earlier. Make it to be bootconsole with CON_BOOT flag, so can use console handover feature. and it will switch to corresponding normal serial console automatically. new command line will be: console=uart8250,io,0x3f8,9600n8 console=uart8250,mmio,0xff5e0000,115200n8 or earlycon=uart8250,io,0x3f8,9600n8 earlycon=uart8250,mmio,0xff5e0000,115200n8 it will print in very early stage: Early serial console at I/O port 0x3f8 (options '9600n8') console [uart0] enabled later for console it will print: console handover: boot [uart0] -> real [ttyS0] Signed-off-by: Cc: Andi Kleen Cc: Bjorn Helgaas Cc: Russell King Cc: Gerd Hoffmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1c931e39327ef121797927d4b3198d370e75b9b Author: Eric W. Biderman Date: Sun Jul 15 23:37:28 2007 -0700 x86: initial fixmap support Needed to get fixed virtual address for USB debug and earlycon with mmio. Signed-off-by: Eric W. Biderman Signed-off-by: Yinghai Lu Cc: Andi Kleen Cc: Bjorn Helgaas Cc: Russell King Cc: Gerd Hoffmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d37bf60de0b4ddc1633cf278189d3c9bf28fe3d2 Author: Yinghai Lu Date: Sun Jul 15 23:37:28 2007 -0700 console: console handover to preferred console for earlyprintk=ttyS0,9600 console=tty0 console=ttyS0,9600n8 the handover will happen from earlyser0 to tty0. but what we want is to hand over to ttyS0. Later with serial-convert-early_uart-to-earlycon-for-8250.patch, console=tty0 console=uart8250,io,0x3f8,9600n8 will handover to ttyS0 instead of tty0. Signed-off-by: Yinghai Lu Cc: Andi Kleen Cc: Bjorn Helgaas Cc: Russell King Cc: Gerd Hoffmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eaa944afb206f3fc4393630811ee621b866e3255 Author: Yinghai Lu Date: Sun Jul 15 23:37:27 2007 -0700 console: more buf for index parsing Change name to buf according to the usage as name + index Signed-off-by: Yinghai Lu Cc: Andi Kleen Cc: Bjorn Helgaas Cc: Russell King Cc: Gerd Hoffmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 79492689e40d4f4d3d8a7262781d56fb295b4b86 Author: Yinghai Lu Date: Sun Jul 15 23:37:25 2007 -0700 serial: assert DTR for serial console devices Some RS-232 devices require DTR to be asserted before they can be used. DTR is normally asserted in uart_startup() when the port is opened. But we don't actually open serial console ports, so assert DTR when the port is added. BTW: earlyprintk and early_uart are hard coded to set DTR/RTS. rmk says The only issue I can think of is the possibility for an attached modem to auto-answer or maybe even auto-dial before the system is ready for it to do so. Might have an undesirable cost implication for some running with such a setup. Apart from that, I can't think of any other side effect of this specific patch. Signed-off-by: Yinghai Lu Acked-by: Russell King Cc: Andi Kleen Cc: Bjorn Helgaas Cc: Gerd Hoffmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23936cc0b5d89619c34c2dab11d8cf3d6f7ca028 Author: Kristian Hoegsberg Date: Sun Jul 15 23:37:24 2007 -0700 lib: add idr_remove_all Remove all ids from the given idr tree. idr_destroy() only frees up unused, cached idp_layers, but this function will remove all id mappings and leave all idp_layers unused. A typical clean-up sequence for objects stored in an idr tree, will use idr_for_each() to free all objects, if necessay, then idr_remove_all() to remove all ids, and idr_destroy() to free up the cached idr_layers. Signed-off-by: Kristian Hoegsberg Cc: Tejun Heo Cc: Dave Airlie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96d7fa421e6424ad9ef6d1d039375dc2edb63fe8 Author: Kristian Hoegsberg Date: Sun Jul 15 23:37:24 2007 -0700 lib: add idr_for_each() This patch adds an iterator function for the idr data structure. Compared to just iterating through the idr with an integer and idr_find, this iterator is (almost, but not quite) linear in the number of elements, as opposed to the number of integers in the range covered by the idr. This makes a difference for sparse idrs, but more importantly, it's a nicer way to iterate through the elements. The drm subsystem is moving to idr for tracking contexts and drawables, and with this change, we can use the idr exclusively for tracking these resources. [akpm@linux-foundation.org: fix comment] Signed-off-by: Kristian Hoegsberg Cc: Tejun Heo Cc: Dave Airlie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de7d4f0e1172a72277d660fa0be59654ea02bed0 Author: Andy Whitcroft Date: Sun Jul 15 23:37:22 2007 -0700 update checkpatch.pl to version 0.07 This version brings a number of new checks, fixes for flase positives, plus a clarification of the output to better guide use. Of note: - checks for documentation for new __setup calls - clearer reporting where braces and parenthesis are involved - reports for closing brace and semi-colon spacing - reports on unwanted externs This patch includes an update to the documentation on checkpatch.pl itself to clarify when it should be used and to indicate that it is not intended as the final arbitor of style. Full changelog: Andy Whitcroft (19): Version: 0.07 ensure we do not apply control brace checks to preprocesor directives add {u,s}{8,16,32,64} to the type matcher accept lack of spacing after the semicolons in for (;;) report new externs in .c files fix up typedef exclusion for function prototypes else trailing statements check need to account for \ at end of line add enums to the type matcher add missing check descriptions suppress double reporting of ** spacing report on do{ spacing issues include an example of the brace/parenthesis in output check for spacing after closing braces prevent double reports on pointer spacing issues handle blank continuation lines on macros classify all reports error, warning, or check revamp hanging { checks and apply in context no spaces after the last ; in a for is ok check __setup has a corresponding addition to documentation David Woodhouse (1): limit character set used in patches and descriptions to UTF-8 Signed-off-by: Andy Whitcroft Cc: David Woodhouse Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2a11b158a24301e9158e9c873fa88e5eb775486 Author: Nitin Gupta Date: Sun Jul 15 23:37:21 2007 -0700 LZO1X: fix lzo1x_worst_compress This is a correction for a macro which gives worst case compressed data size by LZO1X. This patch was provided by the LZO author (Markus Oberhumer). Signed-off-by: Nitin Gupta Cc: "Markus F.X.J. Oberhumer" Cc: "Richard Purdie" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 248a9dc32a24a80cd13a1be66dae099d97381155 Author: Nelson, Shannon Date: Sun Jul 15 23:37:20 2007 -0700 Add entries to MAINTAINERS for I/OAT and DMAENGINE Add entries to MAINTAINERS for I/OAT and DMAENGINE Signed-off-by: Shannon Nelson Cc: Chris Leech Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f89b779508f457b2af05dd5ac82a425db4a56ee3 Author: Jan Kara Date: Sun Jul 15 23:37:20 2007 -0700 jbd2 commit: fix transaction dropping We have to check that also the second checkpoint list is non-empty before dropping the transaction. Signed-off-by: Jan Kara Cc: Chuck Ebbert Cc: Kirill Korotaev Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe28e42b99173ba088b1d8448e53029e100bff27 Author: Jan Kara Date: Sun Jul 15 23:37:18 2007 -0700 jbd commit: fix transaction dropping We have to check that also the second checkpoint list is non-empty before dropping the transaction. Signed-off-by: Jan Kara Cc: Chuck Ebbert Cc: Kirill Korotaev Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 09561f44c75bc462ae86590b9c089d01c4e94a74 Author: Andrew Morton Date: Sun Jul 15 23:37:18 2007 -0700 authgss build fix Recent breakage.. net/sunrpc/auth_gss/auth_gss.c:1002: warning: implicit declaration of function 'lock_kernel' net/sunrpc/auth_gss/auth_gss.c:1004: warning: implicit declaration of function 'unlock_kernel' Cc: Trond Myklebust Cc: "J. Bruce Fields" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcd4f3acbaec102e2b8000c977ecc38dcd0fe367 Author: Jens Axboe Date: Mon Jul 16 14:41:49 2007 +0200 splice: direct splicing updates ppos twice OGAWA Hirofumi reported that he's noticed nfsd read corruption in recent kernels, and did the hard work of discovering that it's due to splice updating the file position twice. This means that the next operation would start further ahead than it should. nfsd_vfs_read() splice_direct_to_actor() while(len) { do_splice_to() [update sd->pos] -> generic_file_splice_read() [read from sd->pos] nfsd_direct_splice_actor() -> __splice_from_pipe() [update sd->pos] There's nothing wrong with the core splice code, but the direct splicing is an addon that calls both input and output paths. So it has to take care in locally caching offset so it remains correct. Signed-off-by: Jens Axboe commit 56a68a500fcab9e3a9a49ca7fbef14230ab7d144 Author: Adrian Bunk Date: Fri Jul 13 07:54:30 2007 +0200 more ACSI removal This patch removes some code that became dead code after the ATARI_ACSI removal. It also indirectly fixes the following bug introduced by commit c2bcf3b8978c291e1b7f6499475c8403a259d4d6: config ATARI_SLM tristate "Atari SLM laser printer support" - depends on ATARI && ATARI_ACSI!=n + depends on ATARI Acked-by: Geert Uytterhoeven Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit 5874c18b105cc7a24972191b7f08a93b1205a425 Author: Neil Brown Date: Fri Jul 13 07:39:46 2007 +0200 umem: Fix match of pci_ids in umem driver the pci device list for umem was not using PCI_DEVICE, so the subvendor/subdevice fields were not set to ANY, so matching didn't work properly. Change to use PCI_DEVICE. Signed-off-by: Neil Brown Signed-off-by: Jens Axboe commit 51ea208c37a216816e44d31fbdf2c1f1b59e860e Author: Robert P. J. Day Date: Fri Jul 13 07:38:48 2007 +0200 umem: Remove references to dead CONFIG_MM_MAP_MEMORY variable Signed-off-by: Robert P. J. Day Acked-by: NeilBrown Signed-off-by: Jens Axboe commit a3e4da548328bd2bbd6265819aa19397926e5b05 Author: Adrian Bunk Date: Wed Jul 11 20:58:19 2007 +0200 remove the documentation for the legacy CDROM drivers This patch removes the documentation for the removed legacy CDROM drivers. Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit d54bc2793ec3405c6b8f217568a82b87bd8a591b Author: David S. Miller Date: Mon Jul 16 04:41:51 2007 -0700 [SPARC64]: Fix UP build. Signed-off-by: David S. Miller commit e0204409df29fe1b7d18f81dfc3ae6f9d90e7a63 Author: David S. Miller Date: Mon Jul 16 03:49:40 2007 -0700 [SPARC64]: dr-cpu unconfigure support. Signed-off-by: David S. Miller commit f3c681c028846bd5d39f563909409832a295ca69 Author: David S. Miller Date: Sun Jul 15 23:53:32 2007 -0700 [SERIAL]: Fix console write locking in sparc drivers. Mirror the logic in 8250 for proper console write locking when SYSRQ is triggered or an OOPS is in progress. Signed-off-by: David S. Miller commit 9918cc2e3275bf7f3561e4de1d5a3314183e71dc Author: David S. Miller Date: Sun Jul 15 02:02:01 2007 -0700 [SPARC64]: Give more accurate errors in dr_cpu_configure(). When cpu_up() fails, we can discern the most likely cause. If cpu_present() is false, this means the cpu did not appear in the MD. If -ENODEV is the error return value, then the processor did not boot properly into the kernel. Pass this information back in the dr-cpu response packet. Signed-off-by: David S. Miller commit 39dd992aee381ff5077536853051fc69e58cc4a9 Author: David S. Miller Date: Sun Jul 15 01:29:24 2007 -0700 [SPARC64]: Clear cpu_{core,sibling}_map[] in smp_fill_in_sib_core_maps() When we hot-plug in new cpus, the core_id and proc_id of existing cpus can change. So in order to set the cpu groups correctly we need to clear the maps out completely first. Signed-off-by: David S. Miller commit b37d40d1759a383208ef47be8af94ebe59031691 Author: David S. Miller Date: Sun Jul 15 01:08:03 2007 -0700 [SPARC64]: Fix leak when DR added cpu does not bootup. Signed-off-by: David S. Miller commit b53bcb6799f8f2c0f385f24a8bb054f142c7d83a Author: David S. Miller Date: Sat Jul 14 03:16:13 2007 -0700 [SPARC64]: Add ->set_affinity IRQ handlers. dr-cpu unconfigure requests will walk throught he enabled IRQs and trigger ->set_affinity so that the going-down cpu no longer has INOs targetted to it. Signed-off-by: David S. Miller commit bd0e11ff221d929b2b711ce3e5712e097e9dd1d8 Author: David S. Miller Date: Sat Jul 14 03:14:45 2007 -0700 [SPARC64]: Process dr-cpu events in a kthread instead of workqueue. This will be necessary to handle unconfigure requests properly. Signed-off-by: David S. Miller commit 8b99cfb8cc51adae7f5294c8962a026c63100959 Author: David S. Miller Date: Sat Jul 14 02:23:37 2007 -0700 [SPARC64]: More sensible udelay implementation. Take a page from the powerpc folks and just calculate the delay factor directly. Since frequency scaling chips use a system-tick register, the value is going to be the same system-wide. Signed-off-by: David S. Miller commit 27a2ef382c7935a4dd02bff9fd361ce118df98c6 Author: David S. Miller Date: Sat Jul 14 00:58:53 2007 -0700 [SPARC64]: SMP build fixes. With the move of ldom_startcpu_cpuid() into smp.c some other things need to follow along: 1) smp.c is not a driver so we can't use "PFX" macro in the printk calls. 2) smp.c now needs asm/io.h and asm/hvtramp.h, ds.c no longer does 3) kimage_addr_to_ra() also needs to move into smp.c While we're here, update copyright info and my email address in smp.c Signed-off-by: David S. Miller commit 8f3fff205071dc1bd3203a0f6a5bf3b30e68e26f Author: David S. Miller Date: Sat Jul 14 00:54:55 2007 -0700 [SPARC64]: mdesc.c needs linux/mm.h Signed-off-by: David S. Miller commit b14f5c100ce4c63e4c5a71ab47e71cf4a1caa9e3 Author: David S. Miller Date: Sat Jul 14 00:45:16 2007 -0700 [SPARC64]: Fix build regressions added by dr-cpu changes. Do not select HOTPLUG_CPU from SUN_LDOMS, that causes HOTPLUG_CPU to be selected even on non-SMP which is illegal. Only build hvtramp.o when SMP, just like trampoline.o Protect dr-cpu code in ds.c with HOTPLUG_CPU. Likewise move ldom_startcpu_cpuid() to smp.c and protect it and the call site with SUN_LDOMS && HOTPLUG_CPU. Signed-off-by: David S. Miller commit f8be339c02c1e543eee8e09ffe600c0e61be5898 Author: David S. Miller Date: Sat Jul 14 00:41:08 2007 -0700 [SPARC64]: Unconditionally register vio_bus_type. The VIO drivers register themselves unconditionally just like those of any other bus type, so to avoid crashes on non-VIO systems we need to always register vio_bus_type. Signed-off-by: David S. Miller commit 4f0234f4f9da485ecb9729af1b88567700fd4767 Author: David S. Miller Date: Fri Jul 13 16:03:42 2007 -0700 [SPARC64]: Initial LDOM cpu hotplug support. Only adding cpus is supports at the moment, removal will come next. When new cpus are configured, the machine description is updated. When we get the configure request we pass in a cpu mask of to-be-added cpus to the mdesc CPU node parser so it only fetches information for those cpus. That code also proceeds to update the SMT/multi-core scheduling bitmaps. cpu_up() does all the work and we return the status back over the DS channel. CPUs via dr-cpu need to be booted straight out of the hypervisor, and this requires: 1) A new trampoline mechanism. CPUs are booted straight out of the hypervisor with MMU disabled and running in physical addresses with no mappings installed in the TLB. The new hvtramp.S code sets up the critical cpu state, installs the locked TLB mappings for the kernel, and turns the MMU on. It then proceeds to follow the logic of the existing trampoline.S SMP cpu bringup code. 2) All calls into OBP have to be disallowed when domaining is enabled. Since cpus boot straight into the kernel from the hypervisor, OBP has no state about that cpu and therefore cannot handle being invoked on that cpu. Luckily it's only a handful of interfaces which can be called after the OBP device tree is obtained. For example, rebooting, halting, powering-off, and setting options node variables. CPU removal support will require some infrastructure changes here. Namely we'll have to process the requests via a true kernel thread instead of in a workqueue. workqueues run on a per-cpu thread, but when unconfiguring we might need to force the thread to execute on another cpu if the current cpu is the one being removed. Removal of a cpu also causes the kernel to destroy that cpu's workqueue running thread. Another issue on removal is that we may have interrupts still pointing to the cpu-to-be-removed. So new code will be needed to walk the active INO list and retarget those cpus as-needed. Signed-off-by: David S. Miller commit b3e13fbeb9ac1eb8e7b0791bf56e1775c692972b Author: David S. Miller Date: Thu Jul 12 15:55:55 2007 -0700 [SPARC64]: Fix setting of variables in LDOM guest. There is a special domain services capability for setting variables in the OBP options node. Guests don't have permanent store for the OBP variables like a normal system, so they are instead maintained in the LDOM control node or in the SC. Signed-off-by: David S. Miller commit 83292e0a9c3f1c326b28fbf8cb70a8ce81a98163 Author: David S. Miller Date: Thu Jul 12 14:16:22 2007 -0700 [SPARC64]: Fix MD property lifetime bugs. Property values cannot be referenced outside of mdesc_grab()/mdesc_release() pairs. The only major offender was the VIO bus layer, easily fixed. Add some commentary to mdesc.h describing these rules. Signed-off-by: David S. Miller commit 43fdf27470b216ebdef47e09ff83bed2f2894b13 Author: David S. Miller Date: Thu Jul 12 13:47:50 2007 -0700 [SPARC64]: Abstract out mdesc accesses for better MD update handling. Since we have to be able to handle MD updates, having an in-tree set of data structures representing the MD objects actually makes things more painful. The MD itself is easy to parse, and we can implement the existing interfaces using direct parsing of the MD binary image. The MD is now reference counted, so accesses have to now take the form: handle = mdesc_grab(); ... operations on MD ... mdesc_release(handle); The only remaining issue are cases where code holds on to references to MD property values. mdesc_get_property() returns a direct pointer to the property value, most cases just pull in the information they need and discard the pointer, but there are few that use the pointer directly over a long lifetime. Those will be fixed up in a subsequent changeset. A preliminary handler for MD update events from domain services is there, it is rudimentry but it works and handles all of the reference counting. It does not check the generation number of the MDs, and it does not generate a "add/delete" list for notification to interesting parties about MD changes but that will be forthcoming. Signed-off-by: David S. Miller commit 133f09a169f3022be3de671b29658b7ecb375022 Author: David S. Miller Date: Wed Jul 11 23:22:55 2007 -0700 [SPARC64]: Use more mearningful names for IRQ registry. All of the interrupts say "LDX RX" and "LDX TX" currently which is next to useless. Put a device specific prefix before "RX" and "TX" instead which makes it much more useful. Signed-off-by: David S. Miller commit e450992d13ffaec6dde4bbbd308b834ae9fc3708 Author: David S. Miller Date: Wed Jul 11 18:51:31 2007 -0700 [SPARC64]: Initial domain-services driver. Signed-off-by: David S. Miller commit 13077d80286205e02eebe1c2786a914a4bbd2588 Author: David S. Miller Date: Wed Jul 11 18:18:04 2007 -0700 [SPARC64]: Export powerd facilities for external entities. Besides the existing usage for power-button interrupts, we'll want to make use of this code for domain-services where the LDOM manager can send reboot requests to the guest node. Signed-off-by: David S. Miller commit 2c4f4ecb7a421e0be6632d3366f0bc7cdf1e38b1 Author: David S. Miller Date: Wed Jul 11 18:15:59 2007 -0700 [SPARC64]: Add domain-services nodes to VIO device tree. They sit under the root of the MD tree unlike the rest of the LDC channel based virtual devices. Signed-off-by: David S. Miller commit cb4812358423e7ea47d2b6471918d65238452cc5 Author: David S. Miller Date: Wed Jul 11 18:14:41 2007 -0700 [SPARC64]: Assorted LDC bug cures. 1) LDC_MODE_RELIABLE is deprecated an unused by anything, plus it and LDC_MODE_STREAM were mis-numbered. 2) read_stream() should try to read as much as possible into the per-LDC stream buffer area, so do not trim the read_nonraw() length by the caller's size parameter. 3) Send data ACKs when necessary in read_nonraw(). 4) In read_nonraw() when we get a pure ACK, advance the RX head unconditionally past it. 5) Provide the ACKID field in the ldcdgb() packet dump in read_nonraw(). This helps debugging stream mode LDC channel problems. 6) Decrease verbosity of rx_data_wait() so that it is more useful. A debugging message each loop iteration is too much. 7) In process_data_ack() stop the loop checking when we hit lp->tx_tail not lp->tx_head. 8) Set the seqid field properly in send_data_nack(). Signed-off-by: David S. Miller commit 5a606b72a4309a656cd1a19ad137dc5557c4b8ea Author: David S. Miller Date: Mon Jul 9 22:40:36 2007 -0700 [SPARC64]: Do not ACK an INO if it is disabled or inprogress. This is also a partial workaround for a bug in the LDOM firmware which double-transmits RX inos during high load. Without this, such an event causes the kernel to loop forever in the interrupt call chain ACK'ing but never actually running the IRQ handler (and thus clearing the interrupt condition in the device). There is still a bad potential effect when double INOs occur, not covered by this changeset. Namely, if the INO is already on the per-cpu INO vector list, we still blindly re-insert it and thus we can end up losing interrupts already linked in after it. We could deal with that by traversing the list before insertion, but that's too expensive for this edge case. Signed-off-by: David S. Miller commit 667ef3c3968e4e2ddc3f3f84f05e11fb2453d5b6 Author: David S. Miller Date: Mon Jul 16 04:03:56 2007 -0700 [SPARC64]: Add Sun LDOM virtual disk driver. Signed-off-by: David S. Miller commit 4c521e422f2837b9652fa00a064a01d009f939b6 Author: David S. Miller Date: Mon Jul 9 22:23:51 2007 -0700 [SPARC64]: Add Sun LDOM virtual network driver. Signed-off-by: David S. Miller commit e53e97ce3c7119199d2788d8fd1618efa9c2d1eb Author: David S. Miller Date: Mon Jul 9 22:22:44 2007 -0700 [SPARC64]: Add LDOM virtual channel driver and VIO device layer. Virtual devices on Sun Logical Domains are built on top of a virtual channel framework. This, with help of hypervisor interfaces, provides a link layer protocol with basic handshaking over which virtual device clients and servers communicate. Built on top of this is a VIO device protocol which has it's own handshaking and message types. At this layer attributes are exchanged (disk size, network device addresses, etc.) descriptor rings are registered, and data transfers are triggers and replied to. Signed-off-by: David S. Miller commit 8ea02606681beb41568c62ba060bdf51fc9ba14e Author: Ingo Molnar Date: Mon Jul 16 09:46:31 2007 +0200 [PATCH] sched: fix up fs/proc/array.c whitespace problems while changing task_stime() i noticed a whitespace style problem in array.c - fix it. While at it, fix all the other style problems too, most of them in the scheduler-stats related portions of array.c. There is no change in functionality: text data bss dec hex filename 4356 28 0 4384 1120 array.o-before 4356 28 0 4384 1120 array.o-after Signed-off-by: Ingo Molnar commit e4af30be8fd0bed0e8f96e4e1ebd546a3dfa8f2b Author: Ingo Molnar Date: Mon Jul 16 09:46:31 2007 +0200 [PATCH] sched: prettify prio_to_wmult[] prettify the prio_to_wmult[] array. (this could have saved us from the typos) Signed-off-by: Ingo Molnar commit 5714d2de93fbb156c5e45fb101a2b4f0cae8fbb7 Author: Ingo Molnar Date: Mon Jul 16 09:46:31 2007 +0200 [PATCH] sched: document prio_to_wmult[] document prio_to_wmult[]. Signed-off-by: Ingo Molnar commit f9153ee6c71cb9ab38de3b8ed66b1c3fa27c3f7d Author: Ingo Molnar Date: Mon Jul 16 09:46:30 2007 +0200 [PATCH] sched: improve weight-array comments improve the comments around the wmult array (which controls the weight of niced tasks). Clarify that to achieve a 10% difference in CPU utilization, a weight multiplier of 1.25 has to be used. Signed-off-by: Ingo Molnar commit 5926c50b83b626991c8c38efbca2020ee96b215f Author: Ingo Molnar Date: Mon Jul 16 09:46:30 2007 +0200 [PATCH] sched: remove dead code from task_stime() Alexey Dobriyan noticed that task_stime() contains a piece of dead code. (which is a remnant of earlier versions of this code) Remove that code. Signed-off-by: Ingo Molnar commit 58ff411e0d21592565ac9ab34f33a434f26e018b Author: FUJITA Tomonori Date: Mon Jul 16 08:52:17 2007 +0200 bsg: Kconfig updates This updates bsg entry in Kconfig: - bsg supports sg v4 - bsg depends on SCSI - it might be better to mark it experimental for a while Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 15d10b611fa94b52f004a08a1d4cf7b39de3cba3 Author: FUJITA Tomonori Date: Mon Jul 16 08:52:16 2007 +0200 bsg: add SCSI transport-level request support This enables bsg to handle SCSI transport-level request like SAS management protocol (SMP). - add BSG_SUB_PROTOCOL_{SCSI_CMD, SCSI_TMF, SCSI_TRANSPORT} definitions. - SCSI transport-level requests skip blk_verify_command(). Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 2c9ecdf40af0554ee9a2b1cbbbbdbc77f90a40e1 Author: FUJITA Tomonori Date: Mon Jul 16 08:52:15 2007 +0200 bsg: add bidi support bsg uses the rq->next_rq pointer for a bidi request. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit abae1fde63fcdd2a3abaa0d7930938d8326f83d2 Author: FUJITA Tomonori Date: Mon Jul 16 08:52:14 2007 +0200 add a struct request pointer to the request structure This adds a struct request pointer to the request structure for the second data phase (bidi for now). A request queue supporting bidi requests sets QUEUE_FLAG_BIDI. This prevents sending bidi requests to a non-bidi queue. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit efba1a31f3f8fe9672eb96cd26e97fb96891f1c0 Author: FUJITA Tomonori Date: Thu Jun 7 13:24:06 2007 +0200 bsg: fix the deadlock on discarding done commands The previous commit introduced a deadlock in discarding commands, because we forget to unlock the bd spinlock. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit e7d72173248c29c6f9ba14e40374266e1b954964 Author: FUJITA Tomonori Date: Tue May 8 15:32:03 2007 +0200 bsg: fix a blocking read bug This patch fixes a bug that read() returns ENODATA even with a blocking file descriptor when there are no commands pending. This also includes some cleanups. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 4cf0723ac89b5f2189da2ad07ef875de26b83c77 Author: FUJITA Tomonori Date: Fri Mar 30 11:19:39 2007 +0200 bsg: minor bug fixes This fixes the following minor issues: - add EXPORT_SYMBOL_GPL for bsg_register_queue and bsg_unregister_queue. - shut up gcc warnings Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 292b7f27129272c9ec0ee5fa56abb6f9061b1d83 Author: FUJITA Tomonori Date: Wed Mar 28 13:29:58 2007 +0200 improve bsg device allocation This patch addresses on two issues on bsg device allocation. - the current maxium number of bsg devices is 256. It's too small if we allocate bsg devices to all SCSI devices, transport entities, etc. This increses the maxium number to 32768 (taken from the sg driver). - SCSI devices are dynamically added and removed. Currently, bsg can't handle it well since bsd_device->minor is simply increased. This is dependent on the patchset that I posted yesterday: http://marc.info/?l=linux-scsi&m=117440208726755&w=2 Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 4e2872d6b0252d33f28ea67f33704208ca781978 Author: FUJITA Tomonori Date: Wed Mar 28 13:29:24 2007 +0200 bind bsg to all SCSI devices This patch binds bsg to all SCSI devices (their request queues) like the current sg driver does. We can send SCSI commands to non disk and cdrom scsi devices like OSD via bsg. This patch removes bsg_register_queue from blk_register_queue so bsg devices aren't bound to non SCSI block devices. If they want bsg, I'll send a patch to do that. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit d351af01b9307566135cb0f355ca65d0952c10b5 Author: FUJITA Tomonori Date: Mon Jul 9 12:40:35 2007 +0200 bsg: bind bsg to request_queue instead of gendisk This patch binds bsg devices to request_queue instead of gendisk. Any objects (like transport entities) can define own request_handler and create own bsg device. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 45e79a3acdcf54113b3d7b23e9e64e6541dbfeb5 Author: FUJITA Tomonori Date: Mon Jul 9 12:39:20 2007 +0200 bsg: add a request_queue argument to scsi_cmd_ioctl() bsg uses scsi_cmd_ioctl() for some SCSI/sg ioctl commands. scsi_cmd_ioctl() gets a request queue from a gendisk arguement. This prevents bsg being bound to SCSI devices that don't have a gendisk (like OSD). This adds a request_queue argument to scsi_cmd_ioctl(). The SCSI/sg ioctl commands doesn't use a gendisk so it's safe for any SCSI devices to use scsi_cmd_ioctl(). Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 7e75d73080d822d2bbbd5b0f7f293719dd1f9109 Author: FUJITA Tomonori Date: Wed Jan 24 09:05:54 2007 +0100 bsg: simplify __bsg_alloc_command failpath Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 264a0472183ce7ad05eea3360f5907880a1e5e78 Author: Jens Axboe Date: Tue Jan 23 16:30:17 2007 +0100 bsg: add cheasy error checks for sysfs stuff Signed-off-by: Jens Axboe commit 5309cb38de65eddd5f7e125da750accf949f29e8 Author: Jens Axboe Date: Tue Jan 23 16:24:41 2007 +0100 Add queue resizing support Just get rid of the preallocated command map, use the slab cache to get/free commands instead. Original patch from FUJITA Tomonori , changed by me to not use a mempool. Signed-off-by: Jens Axboe commit 3862153b673516b2efa0447b9b3778f47ac8f8c8 Author: FUJITA Tomonori Date: Fri Dec 22 09:43:51 2006 +0100 Replace s32, u32 and u64 with __s32, __u32 and __u64 in bsg.h for userspace Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 2ef7086a207d3d899ae88602a135fe1c24e1811f Author: Jens Axboe Date: Wed Dec 20 11:26:11 2006 +0100 bsg: silence a bogus gcc warning Signed-off-by: Jens Axboe commit b711afa6959e5c8f457f1687b5d4a485c7974f32 Author: Jens Axboe Date: Wed Dec 20 11:25:23 2006 +0100 bsg: style cleanup Signed-off-by: Jens Axboe commit 1594a3f0eb526c73bc3915e8da13f2abf0ea1acd Author: Jens Axboe Date: Wed Dec 20 11:23:35 2006 +0100 bsg: use u32 etc instead of uint32_t Signed-off-by: Jens Axboe commit 10e8855b945193a62801429af3aab9f7e27ef56a Author: FUJITA Tomonori Date: Wed Dec 20 11:20:57 2006 +0100 bsg: add SG_IO to SG v4 This adds SG_IO support to SG v4. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 70e36eceaf897da11aa0b4d82b46ca66e65a05f1 Author: FUJITA Tomonori Date: Wed Dec 20 11:20:15 2006 +0100 bsg: replace SG v3 with SG v4 This patch replaces SG v3 in bsg with SG v4 (except for SG_IO). Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 45977d0e87ac988d04fccfb89221727aaf8d78a4 Author: FUJITA Tomonori Date: Wed Dec 20 11:19:32 2006 +0100 bsg: add sg_io_v4 structure This patch adds sg_io_v4 structure that Doug proposed last month. There's one major change from the RFC. I dropped iovec, which needs compat stuff. The bsg code simply calls blk_rq_map_user against dout_xferp/din_xferp. So if possible, the page frames are directly mapped. If not possible, the block layer allocates new page frames and does memory copies. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 337ad41deae1b56e56731246322a93251df86e79 Author: FUJITA Tomonori Date: Wed Dec 20 11:18:54 2006 +0100 block: export blk_verify_command for SG v4 blk_fill_sghdr_rq doesn't work for SG v4 so verify_command needed to be exported. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 9e69fbb5373f7c081acdf2b75d7bac7e95023dd1 Author: FUJITA Tomonori Date: Wed Dec 20 11:18:22 2006 +0100 bsg: minor cleanups This just kills linux/config.h and dprintk warnings. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit ac6b91b8035bd269a1fd42474f907d107c074805 Author: FUJITA Tomonori Date: Wed Dec 20 11:17:43 2006 +0100 block: changes for blk_rq_unmap_user new API This converts block/scsi_ioctl.c use blk_rq_unmap_user new API. blk_unmap_sghdr_rq is too simple and it might be better to remove it. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 3d6392cfbd7dc11f23058e3493683afab4ac13a3 Author: Jens Axboe Date: Mon Jul 9 12:38:05 2007 +0200 bsg: support for full generic block layer SG v3 Signed-off-by: Jens Axboe commit ff4135aeb1f9a0201f8e22400ebc1d570df9016e Author: Dave Airlie Date: Mon Jul 16 13:53:57 2007 +1000 drm: remove core typedefs from the ioc32 wrappers Signed-off-by: Dave Airlie commit e509ac4bbc661052dc73a2e8138800ba77d4ecb9 Author: Kristoffer Ericson Date: Mon Jul 16 09:51:39 2007 +0900 sh: sh-rtc support for SH7709. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit 8f41958bdd577731f7411c9605cfaa9db6766809 Merge: bc06cff... 0909fca... Author: Linus Torvalds Date: Sun Jul 15 16:56:12 2007 -0700 Merge git://git.infradead.org/battery-2.6 * git://git.infradead.org/battery-2.6: git-battery vs git-acpi Power supply class and drivers: remove non obligatory return statements pda_power: clean up irq, timer MAINTAINERS: Add maintainers for power supply subsystem and drivers Fixed up trivial conflict in drivers/w1/slaves/w1_ds2760.c manually commit bc06cffdec85d487c77109dffcd2f285bdc502d3 Merge: d3502d7... 9413d7b... Author: Linus Torvalds Date: Sun Jul 15 16:51:54 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (166 commits) [SCSI] ibmvscsi: convert to use the data buffer accessors [SCSI] dc395x: convert to use the data buffer accessors [SCSI] ncr53c8xx: convert to use the data buffer accessors [SCSI] sym53c8xx: convert to use the data buffer accessors [SCSI] ppa: coding police and printk levels [SCSI] aic7xxx_old: remove redundant GFP_ATOMIC from kmalloc [SCSI] i2o: remove redundant GFP_ATOMIC from kmalloc from device.c [SCSI] remove the dead CYBERSTORMIII_SCSI option [SCSI] don't build scsi_dma_{map,unmap} for !HAS_DMA [SCSI] Clean up scsi_add_lun a bit [SCSI] 53c700: Remove printk, which triggers because of low scsi clock on SNI RMs [SCSI] sni_53c710: Cleanup [SCSI] qla4xxx: Fix underrun/overrun conditions [SCSI] megaraid_mbox: use mutex instead of semaphore [SCSI] aacraid: add 51245, 51645 and 52245 adapters to documentation. [SCSI] qla2xxx: update version to 8.02.00-k1. [SCSI] qla2xxx: add support for NPIV [SCSI] stex: use resid for xfer len information [SCSI] Add Brownie 1200U3P to blacklist [SCSI] scsi.c: convert to use the data buffer accessors ... commit d3502d7f25b22cfc9762bf1781faa9db1bb3be2e Merge: d2a9a8d... 0a9f2a4... Author: Linus Torvalds Date: Sun Jul 15 16:50:46 2007 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (53 commits) [TCP]: Verify the presence of RETRANS bit when leaving FRTO [IPV6]: Call inet6addr_chain notifiers on link down [NET_SCHED]: Kill CONFIG_NET_CLS_POLICE [NET_SCHED]: act_api: qdisc internal reclassify support [NET_SCHED]: sch_dsmark: act_api support [NET_SCHED]: sch_atm: act_api support [NET_SCHED]: sch_atm: Lindent [IPV6]: MSG_ERRQUEUE messages do not pass to connected raw sockets [IPV4]: Cleanup call to __neigh_lookup() [NET_SCHED]: Revert "avoid transmit softirq on watchdog wakeup" optimization [NETFILTER]: nf_conntrack: UDPLITE support [NETFILTER]: nf_conntrack: mark protocols __read_mostly [NETFILTER]: x_tables: add connlimit match [NETFILTER]: Lower *tables printk severity [NETFILTER]: nf_conntrack: Don't track locally generated special ICMP error [NETFILTER]: nf_conntrack: Introduces nf_ct_get_tuplepr and uses it [NETFILTER]: nf_conntrack: make l3proto->prepare() generic and renames it [NETFILTER]: nf_conntrack: Increment error count on parsing IPv4 header [NET]: Add ethtool support for NETIF_F_IPV6_CSUM devices. [AF_IUCV]: Add lock when updating accept_q ... commit d2a9a8ded48bec153f08ee87a40626c8d0737f79 Merge: 2d896c7... 0af8887... Author: Linus Torvalds Date: Sun Jul 15 16:44:53 2007 -0700 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 a race condition bug in umount which caused a segfault 9p: re-enable mount time debug option 9p: cache meta-data when cache=loose net/9p: set error to EREMOTEIO if trans->write returns zero net/9p: change net/9p module name to 9pnet 9p: Reorganization of 9p file system code commit 2d896c780db9cda5dc102bf7a0a2cd4394c1342e Merge: 2a9915c... 0f1145c... Author: Linus Torvalds Date: Sun Jul 15 16:43:43 2007 -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: (37 commits) [XFS] Fix lockdep annotations for xfs_lock_inodes [LIB]: export radix_tree_preload() [XFS] Fix XFS_IOC_FSBULKSTAT{,_SINGLE} & XFS_IOC_FSINUMBERS in compat mode [XFS] Compat ioctl handler for handle operations [XFS] Compat ioctl handler for XFS_IOC_FSGEOMETRY_V1. [XFS] Clean up function name handling in tracing code [XFS] Quota inode has no parent. [XFS] Concurrent Multi-File Data Streams [XFS] Use uninitialized_var macro to stop warning about rtx [XFS] XFS should not be looking at filp reference counts [XFS] Use is_power_of_2 instead of open coding checks [XFS] Reduce shouting by removing unnecessary macros from dir2 code. [XFS] Simplify XFS min/max macros. [XFS] Kill off xfs_count_bits [XFS] Cancel transactions on xfs_itruncate_start error. [XFS] Use do_div() on 64 bit types. [XFS] Fix remount,readonly path to flush everything correctly. [XFS] Cleanup inode extent size hint extraction [XFS] Prevent ENOSPC from aborting transactions that need to succeed [XFS] Prevent deadlock when flushing inodes on unmount ... commit 2a9915c8a2e532f6c9b435e5f90008d601a87b90 Author: Al Viro Date: Sun Jul 15 21:37:16 2007 +0100 make i2c-acorn tristate It depends on tristate I2C and it's trivial to make modular. The current Kconfig allows I2C=m, I2C_ACORN=y, which doesn't work at all; alternatives are dependency on I2C=y and making I2C_ACORN itself a tristate. The latter is the right thing to do... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds Acked-by: Russell King commit ba5b55d0498bd56b9d60d85c5f654cd7b291e9c8 Author: Al Viro Date: Sun Jul 15 21:01:32 2007 +0100 icside: devm_iounmap() needs linux/io.h Signed-off-by: Al Viro Signed-off-by: Linus Torvalds Acked-by: Russell King commit 05bd711ea2862cb1c754903326b7858bc700b2e9 Author: Al Viro Date: Sun Jul 15 21:01:22 2007 +0100 missing argument in bin_attribute ->read()/->write() Fallout from commit 91a6902958f052358899f58683d44e36228d85c2 ('sysfs: add parameter "struct bin_attribute *" ...') Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit ececfdee1cc287123149c801af201e41c7c3cc84 Author: Al Viro Date: Sun Jul 15 21:01:12 2007 +0100 fallout from constified seq_operations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 8ca7ee6bcc542395cc68202d319a0404ad92b41d Author: Al Viro Date: Sun Jul 15 21:01:02 2007 +0100 fallout from Auke's pci ->revision patch Signed-off-by: Al Viro Acked-by: Jeff Garzik Signed-off-by: Linus Torvalds commit 2832e856fb7238dae0f385e309e66626d81ca0fa Author: Al Viro Date: Sun Jul 15 21:00:51 2007 +0100 ax88796: dev_dbg() wants device, not platform device Signed-off-by: Al Viro Acked-by: Jeff Garzik Signed-off-by: Linus Torvalds commit 22bb3e9e24e08a59efcb49943609ae88b6f628d0 Author: Al Viro Date: Sun Jul 15 21:00:41 2007 +0100 pass -msize-long to sparse on s390 s390 is the only 32bit with unsigned long for size_t (usual for those is unsigned int). Tell sparse... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit b4a06918c2534fc9655424e75c879bf523aa5b06 Author: Al Viro Date: Sun Jul 15 21:00:31 2007 +0100 frv: missing __clear_user() Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit c248725b616179c43d944ee9f31d507fa483e6c8 Author: Al Viro Date: Sun Jul 15 21:00:21 2007 +0100 zd1211rw: too early inclusion of asm/unaligned.h Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 4381ca3c23b07ba5b567f72325003020ddca0341 Author: Al Viro Date: Sun Jul 15 21:00:11 2007 +0100 fix return type of skb_checksum_complete() It returns __sum16, not unsigned int Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 5f17c70fe6d0b8562bf396f7e5638f243ebe4da8 Author: Al Viro Date: Sun Jul 15 21:00:01 2007 +0100 PDA_POWER depends on having request_irq() ... so all proud owners of s390-based PDAs will have to live without that one Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 51ec138c6416e9ed2ba0eae3af5f0ea8a90ae44b Author: Al Viro Date: Sun Jul 15 20:59:51 2007 +0100 ieee1394: forgotten dereference... Going through the string and waiting for _pointer_ to become '\0' is not what the authors meant... Signed-off-by: Al Viro Acked-by: Ben Collins Signed-off-by: Linus Torvalds commit 0e81c666dbf95546b3d9ea6ff7d29ea19b988950 Author: Al Viro Date: Sun Jul 15 20:59:41 2007 +0100 the wrong variable checked after request_irq() Signed-off-by: Al Viro Acked-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds commit 7c9e3c2e3b0437d10a09b77769baf325b94aa436 Author: Al Viro Date: Sun Jul 15 20:59:31 2007 +0100 wrong order of arguments of ->readdir() Shows how many people are testing coda - the bug had been there for 5 years and results of stepping on it are not subtle. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 53b67950026ee642b43615f46df22ec3d36b4a53 Author: Al Viro Date: Sun Jul 15 20:59:22 2007 +0100 minimal fixes for drivers/usb/gadget/m66592-udc.c still looks racy (and definitely leaks) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 0909fca51346d0ece688532c54d41ebc986aef7f Author: Andrew Morton Date: Sun Jul 15 22:37:03 2007 +0400 git-battery vs git-acpi drivers/w1/slaves/w1_ds2760.c:85: warning: initialization from incompatible pointer type The ACPI guys changed the bin_attr APIs (commit 91a6902958f052358899f58683d44e36228d85c2) Cc: Anton Vorontsov Cc: Len Brown Signed-off-by: Andrew Morton commit 7b3d54a8c30d2c524889a05d0c1334813d516b93 Author: Anton Vorontsov Date: Sun Jul 15 05:18:25 2007 +0400 Power supply class and drivers: remove non obligatory return statements Per Jeff Garzik request. Signed-off-by: Jeff Garzik Signed-off-by: Anton Vorontsov commit 5ebf6e6a96e41220edec23a90e4140985d1a5732 Author: Jeff Garzik Date: Sat Jul 14 19:12:04 2007 -0400 pda_power: clean up irq, timer Clean up pda_power interrupt handling: Prior to this patch, the driver would pass information it needed to the interrupt handler dev_id pointer, and then prompt forget it ever did so, recreating that same information after a couple passes through the timer-based state machine. This patch removes the redundant checks by passing the pda_power_supply[] pointer through the state machine. The current code passed 'irq' through the state machine, as an index to recreate the pointer, when we could more simply pass around the pointer itself. This patch makes it easier to remove the 'irq' argument in the future, in addition to cleaning up the driver today. Signed-off-by: Jeff Garzik commit 3be86148e7b394b5de2aeb720004f9788a66c300 Author: Anton Vorontsov Date: Sun Jul 15 04:43:36 2007 +0400 MAINTAINERS: Add maintainers for power supply subsystem and drivers Signed-off-by: Anton Vorontsov Acked-by: David Woodhouse commit 9413d7b8aa777dd1fc7db9563ce5e80d769fe7b5 Author: FUJITA Tomonori Date: Sat May 26 00:32:58 2007 +0900 [SCSI] ibmvscsi: 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: FUJITA Tomonori Cc: Santiago Leon Signed-off-by: James Bottomley commit a862ea31655a382488315b701e0820a74faf120d Author: FUJITA Tomonori Date: Sat May 26 02:07:09 2007 +0900 [SCSI] dc395x: 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. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Cc: Jamie Lenehan Signed-off-by: James Bottomley commit 69eca4f52b044edd9890aaa25d74f52e5fcd170e Author: FUJITA Tomonori Date: Mon May 14 19:22:21 2007 +0900 [SCSI] ncr53c8xx: 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. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Cc: Matthew Wilcox Signed-off-by: James Bottomley commit 938febd62b860447247eb9b1c3b6bbc99d2c7f81 Author: FUJITA Tomonori Date: Sat May 26 02:31:17 2007 +0900 [SCSI] sym53c8xx: 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. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Cc: Matthew Wilcox Signed-off-by: James Bottomley commit cebadc5c97547aa8567ee2d628b187a34869b389 Author: Alan Cox Date: Mon Jul 9 12:00:10 2007 -0700 [SCSI] ppa: coding police and printk levels Add printk levels Clean up some oddities of formatting Fix goto labels Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 75a1099c0bfc5545088cdc9eae2fd98015656595 Author: Satyam Sharma Date: Mon Jul 9 12:00:07 2007 -0700 [SCSI] aic7xxx_old: remove redundant GFP_ATOMIC from kmalloc drivers/scsi/aic7xxx_old.c:aic7xxx_slave_alloc() unnecessarily passes GFP_ATOMIC (along with GFP_KERNEL) to kmalloc() from a context that is not atomic. Remove the pointless GFP_ATOMIC. Signed-off-by: Satyam Sharma Signed-off-by: Andrew Morton Cc: Doug Ledford Signed-off-by: James Bottomley commit a3f249a242e804b61a14518ec9d5ec8ee48720d7 Author: Satyam Sharma Date: Mon Jul 9 12:00:07 2007 -0700 [SCSI] i2o: remove redundant GFP_ATOMIC from kmalloc from device.c drivers/message/i2o/device.c:i2o_parm_field_get() unnecessarily passes GFP_ATOMIC (along with GFP_KERNEL) to kmalloc() from a context that is not atomic. Remove the pointless GFP_ATOMIC. Signed-off-by: Satyam Sharma Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 3021c710cbf87c4ac528b737908d0c0669e8098e Author: Adrian Bunk Date: Mon Jul 9 12:00:10 2007 -0700 [SCSI] remove the dead CYBERSTORMIII_SCSI option Not converted to the 2.6 kconfig system and no code in the tree. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 0a9f2a467d8dacaf7e97469dba99ed2d07287d80 Author: Ilpo Järvinen Date: Sun Jul 15 00:19:29 2007 -0700 [TCP]: Verify the presence of RETRANS bit when leaving FRTO For yet unknown reason, something cleared SACKED_RETRANS bit underneath FRTO. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 063ed369c97f8de4cce23bf93bebd7ffacb542ff Author: Vlad Yasevich Date: Sun Jul 15 00:16:35 2007 -0700 [IPV6]: Call inet6addr_chain notifiers on link down Currently if the link is brought down via ip link or ifconfig down, the inet6addr_chain notifiers are not called even though all the addresses are removed from the interface. This caused SCTP to add duplicate addresses to it's list. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit c3bc7cff8fddb6ff9715be8bfc3d911378c4d69d Author: Patrick McHardy Date: Sun Jul 15 00:03:05 2007 -0700 [NET_SCHED]: Kill CONFIG_NET_CLS_POLICE The NET_CLS_ACT option is now a full replacement for NET_CLS_POLICE, remove the old code. The config option will be kept around to select the equivalent NET_CLS_ACT options for a short time to allow easier upgrades. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 73ca4918fbb98311421259d82ef4ab44feeace43 Author: Patrick McHardy Date: Sun Jul 15 00:02:31 2007 -0700 [NET_SCHED]: act_api: qdisc internal reclassify support The behaviour of NET_CLS_POLICE for TC_POLICE_RECLASSIFY was to return it to the qdisc, which could handle it internally or ignore it. With NET_CLS_ACT however, tc_classify starts over at the first classifier and never returns it to the qdisc. This makes it impossible to support qdisc-internal reclassification, which in turn makes it impossible to remove the old NET_CLS_POLICE code without breaking compatibility since we have two qdiscs (CBQ and ATM) that support this. This patch adds a tc_classify_compat function that handles reclassification the old way and changes CBQ and ATM to use it. This again is of course not fully backwards compatible with the previous NET_CLS_ACT behaviour. Unfortunately there is no way to fully maintain compatibility *and* support qdisc internal reclassification with NET_CLS_ACT, but this seems like the better choice over keeping the two incompatible options around forever. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f6853e2df3de82c1dac8f62ddcf3a8dfa302419e Author: Patrick McHardy Date: Sun Jul 15 00:02:10 2007 -0700 [NET_SCHED]: sch_dsmark: act_api support Handle act_api classification results. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9210080445b0c51a73b488750a26eb17177d8684 Author: Patrick McHardy Date: Sun Jul 15 00:01:49 2007 -0700 [NET_SCHED]: sch_atm: act_api support Handle act_api classification results. The ATM scheduler behaves slightly different than other schedulers in that it only handles policer results for successful classifications, this behaviour is retained for the act_api case. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b0188d4dbe5f4285372dd033acf7c92a97006629 Author: Patrick McHardy Date: Sun Jul 15 00:01:25 2007 -0700 [NET_SCHED]: sch_atm: Lindent Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f13ec93fba60d339dc1663eb47b2fb801225d2d2 Author: Dmitry Butskoy Date: Sat Jul 14 23:53:08 2007 -0700 [IPV6]: MSG_ERRQUEUE messages do not pass to connected raw sockets From: Dmitry Butskoy Taken from http://bugzilla.kernel.org/show_bug.cgi?id=8747 Problem Description: It is related to the possibility to obtain MSG_ERRQUEUE messages from the udp and raw sockets, both connected and unconnected. There is a little typo in net/ipv6/icmp.c code, which prevents such messages to be delivered to the errqueue of the correspond raw socket, when the socket is CONNECTED. The typo is due to swap of local/remote addresses. Consider __raw_v6_lookup() function from net/ipv6/raw.c. When a raw socket is looked up usual way, it is something like: sk = __raw_v6_lookup(sk, nexthdr, daddr, saddr, IP6CB(skb)->iif); where "daddr" is a destination address of the incoming packet (IOW our local address), "saddr" is a source address of the incoming packet (the remote end). But when the raw socket is looked up for some icmp error report, in net/ipv6/icmp.c:icmpv6_notify() , daddr/saddr are obtained from the echoed fragment of the "bad" packet, i.e. "daddr" is the original destination address of that packet, "saddr" is our local address. Hence, for icmpv6_notify() must use "saddr, daddr" in its arguments, not "daddr, saddr" ... Steps to reproduce: Create some raw socket, connect it to an address, and cause some error situation: f.e. set ttl=1 where the remote address is more than 1 hop to reach. Set IPV6_RECVERR . Then send something and wait for the error (f.e. poll() with POLLERR|POLLIN). You should receive "time exceeded" icmp message (because of "ttl=1"), but the socket do not receive it. If you do not connect your raw socket, you will receive MSG_ERRQUEUE successfully. (The reason is that for unconnected socket there are no actual checks for local/remote addresses). Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit d09f51b6997f3f443c5741bc696651e479576715 Merge: 1b1ac75... e559e91... Author: David S. Miller Date: Sat Jul 14 23:47:04 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6 Conflicts: crypto/Kconfig commit 1b1ac759d7c6bba6e5f4731ef6ea720b6636e27c Author: Jean Delvare Date: Sat Jul 14 20:51:44 2007 -0700 [IPV4]: Cleanup call to __neigh_lookup() Back in the times of Linux 2.2, negative values for the creat parameter of __neigh_lookup() had a particular meaning, but no longer, so we should pass 1 instead. Signed-off-by: Jean Delvare Signed-off-by: David S. Miller commit 0621ed2e4edbe2f6f83dafbf85eecefae7aaf2e8 Author: Patrick McHardy Date: Sat Jul 14 20:49:26 2007 -0700 [NET_SCHED]: Revert "avoid transmit softirq on watchdog wakeup" optimization As noticed by Ranko Zivojnovic , calling qdisc_run from the timer handler can result in deadlock: > CPU#0 > > qdisc_watchdog() fires and gets dev->queue_lock > qdisc_run()...qdisc_restart()... > -> releases dev->queue_lock and enters dev_hard_start_xmit() > > CPU#1 > > tc del qdisc dev ... > qdisc_graft()...dev_graft_qdisc()...dev_deactivate()... > -> grabs dev->queue_lock ... > > qdisc_reset()...{cbq,hfsc,htb,netem,tbf}_reset()...qdisc_watchdog_cancel()... > -> hrtimer_cancel() - waiting for the qdisc_watchdog() to exit, while still > holding dev->queue_lock > > CPU#0 > > dev_hard_start_xmit() returns ... > -> wants to get dev->queue_lock(!) > > DEADLOCK! The entire optimization is a bit questionable IMO, it moves potentially large parts of NET_TX_SOFTIRQ work to TIMER_SOFTIRQ/HRTIMER_SOFTIRQ, which kind of defeats the separation of them. Signed-off-by: Patrick McHardy Acked-by: Ranko Zivojnovic Signed-off-by: David S. Miller commit 59eecdfb166f6846ae356ddc744abed5820ad965 Author: Patrick McHardy Date: Sat Jul 14 20:48:44 2007 -0700 [NETFILTER]: nf_conntrack: UDPLITE support Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 61075af51f252913401c41fbe94075b46c94e9f1 Author: Patrick McHardy Date: Sat Jul 14 20:48:19 2007 -0700 [NETFILTER]: nf_conntrack: mark protocols __read_mostly Also remove two unnecessary EXPORT_SYMBOLs and move the nf_conntrack_l3proto_ipv4 declaration to the correct file. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 370786f9cfd430cb424f00ce4110e75bb1b95a19 Author: Jan Engelhardt Date: Sat Jul 14 20:47:26 2007 -0700 [NETFILTER]: x_tables: add connlimit match ipt_connlimit has been sitting in POM-NG for a long time. Here is a new shiny xt_connlimit with: * xtables'ified * will request the layer3 module (previously it hotdropped every packet when it was not loaded) * fixed: there was a deadlock in case of an OOM condition * support for any layer4 protocol (e.g. UDP/SCTP) * using jhash, as suggested by Eric Dumazet * ipv6 support Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a887c1c148ffb3eb1c193e9869ca5297c6e22078 Author: Patrick McHardy Date: Sat Jul 14 20:46:15 2007 -0700 [NETFILTER]: Lower *tables printk severity Lower ip6tables, arptables and ebtables printk severity similar to Dan Aloni's patch for iptables. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 130e7a83d7ec8c5c673225e0fa8ea37b1ed507a5 Author: Yasuyuki Kozakai Date: Sat Jul 14 20:45:41 2007 -0700 [NETFILTER]: nf_conntrack: Don't track locally generated special ICMP error The conntrack assigned to locally generated ICMP error is usually the one assigned to the original packet which has caused the error. But if the original packet is handled as invalid by nf_conntrack, no conntrack is assigned to the original packet. Then nf_ct_attach() cannot assign any conntrack to the ICMP error packet. In that case the current nf_conntrack_icmp assigns appropriate conntrack to it. But the current code mistakes the direction of the packet. As a result, NAT code mistakes the address to be mangled. To fix the bug, this changes nf_conntrack_icmp not to assign conntrack to such ICMP error. Actually no address is necessary to be mangled in this case. Spotted by Jordan Russell. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e2a3123fbe58da9fd3f35cd242087896ace6049f Author: Yasuyuki Kozakai Date: Sat Jul 14 20:45:14 2007 -0700 [NETFILTER]: nf_conntrack: Introduces nf_ct_get_tuplepr and uses it nf_ct_get_tuple() requires the offset to transport header and that bothers callers such as icmp[v6] l4proto modules. This introduces new function to simplify them. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ffc30690480bdd337e4914302b926d24870b56b2 Author: Yasuyuki Kozakai Date: Sat Jul 14 20:44:50 2007 -0700 [NETFILTER]: nf_conntrack: make l3proto->prepare() generic and renames it The icmp[v6] l4proto modules parse headers in ICMP[v6] error to get tuple. But they have to find the offset to transport protocol header before that. Their processings are almost same as prepare() of l3proto modules. This makes prepare() more generic to simplify icmp[v6] l4proto module later. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d87d8469e2dd19a3a134b99f78288d41854c614b Author: Yasuyuki Kozakai Date: Sat Jul 14 20:44:23 2007 -0700 [NETFILTER]: nf_conntrack: Increment error count on parsing IPv4 header Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6460d948f3ebf7d5040328a60a0ab7221f69945b Author: Michael Chan Date: Sat Jul 14 19:07:52 2007 -0700 [NET]: Add ethtool support for NETIF_F_IPV6_CSUM devices. Add ethtool utility function to set or clear IPV6_CSUM feature flag. Modify tg3.c and bnx2.c to use this function when doing ethtool -K to change tx checksum. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit febca281f677a775c61cd0572c2f35e4ead9e7d5 Author: Ursula Braun Date: Sat Jul 14 19:04:25 2007 -0700 [AF_IUCV]: Add lock when updating accept_q The accept_queue of an af_iucv socket will be corrupted, if adding and deleting of entries in this queue occurs at the same time (connect request from one client, while accept call is processed for another client). Solution: add locking when updating accept_q Signed-off-by: Ursula Braun Acked-by: Frank Pavlic Signed-off-by: David S. Miller commit 13fdc9a74df0fec70f421c6891e184ed8c3b9088 Author: Ursula Braun Date: Sat Jul 14 19:03:41 2007 -0700 [AF_IUCV]: Avoid deadlock between iucv_path_connect and tasklet. An iucv deadlock may occur, where one CPU is spinning on the iucv_table_lock for iucv_tasklet_fn(), while another CPU is holding the iucv_table_lock for an iucv_path_connect() and is waiting for the first CPU in an smp_call_function. Solution: replace spin_lock in iucv_tasklet_fn by spin_trylock and reschedule tasklet in case of non-granted lock. Signed-off-by: Ursula Braun Acked-by: Frank Pavlic Signed-off-by: David S. Miller commit da7de31cc50796a53593785d4508b7b7ffa9a9b2 Author: Jennifer Hunt Date: Sat Jul 14 19:03:00 2007 -0700 [AF_IUCV]: Improve description of IUCV and AFIUCV configuration options. Signed-off-by: Jennifer Hunt Signed-off-by: Ursula Braun >braunu@de.ibm.com> Acked-by: Frank Pavlic Signed-off-by: David S. Miller commit acd159b6b5828175be6b9ccccd9b054239ec63e9 Author: Adrian Bunk Date: Sat Jul 14 19:00:59 2007 -0700 [INET_SOCK]: make net/ipv4/inet_timewait_sock.c:__inet_twsk_kill() static This patch makes the needlessly global __inet_twsk_kill() static. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit cf3842ec5015c862f4869e3641a8549393bb958e Merge: b3b0b68... 63fc33c... Author: David S. Miller Date: Sat Jul 14 18:58:49 2007 -0700 Merge branch 'upstream-davem' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6 commit b3b0b681b12478a7afa7d1f3d58be96830e16c7d Author: Stephen Hemminger Date: Sat Jul 14 18:57:19 2007 -0700 [TCP]: tcp probe add back ssthresh field Sangtae noticed the ssthresh got missed. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit a7ecfc866578e665e20004a2f5fff5b73e8be3bc Author: Patrick McHardy Date: Sat Jul 14 18:56:30 2007 -0700 [VLAN]: Fix memset length Fix sizeof(ETH_ALEN) Introduced by my rtnl_link patches. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b863ceb7ddcea8c55fcf1d7b2ac591d50aa7ed53 Author: Patrick McHardy Date: Sat Jul 14 18:55:06 2007 -0700 [NET]: Add macvlan driver Add macvlan driver, which allows to create virtual ethernet devices based on MAC address. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 56addd6eeeb4e11f5a0af7093ca078e0f29140e0 Author: Patrick McHardy Date: Sat Jul 14 18:53:28 2007 -0700 [VLAN]: Use multicast list synchronization helpers Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6c78dcbd47a68a7d25d2bee7a6c74b9136cb5fde Author: Patrick McHardy Date: Sat Jul 14 18:52:56 2007 -0700 [VLAN]: Fix promiscous/allmulti synchronization races The set_multicast_list function may be called without holding the rtnl mutex, resulting in races when changing the underlying device's promiscous and allmulti state. Use the change_rx_mode hook, which is always invoked under the rtnl. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a0a400d79e3dd7843e7e81baa3ef2957bdc292d0 Author: Patrick McHardy Date: Sat Jul 14 18:52:02 2007 -0700 [NET]: dev_mcast: add multicast list synchronization helpers The method drivers currently use to synchronize multicast lists is not very pretty: - walk the multicast list - search each entry on a copy of the previous list - if new add to lower device - walk the copy of the previous list - search each entry on the current list - if removed delete from lower device - copy entire list This patch adds a new field to struct dev_addr_list to store the synchronization state and adds two helper functions for synchronization and cleanup. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 24023451c8df726692e2f52288a20870d13b501f Author: Patrick McHardy Date: Sat Jul 14 18:51:31 2007 -0700 [NET]: Add net_device change_rx_mode callback Currently the set_multicast_list (and set_rx_mode) callbacks are responsible for configuring the device according to the IFF_PROMISC, IFF_MULTICAST and IFF_ALLMULTI flags and the mc_list (and uc_list in case of set_rx_mode). These callbacks can be invoked from BH context without the rtnl_mutex by dev_mc_add/dev_mc_delete, which makes reading the device flags and promiscous/allmulti count racy. For real hardware drivers that just commit all changes to the hardware this is not a real problem since the stack guarantees to call them for every change, so at least the final call will not race and commit the correct configuration to the hardware. For software devices that want to synchronize promiscous and multicast state to an underlying device however this can cause corruption of the underlying device's flags or promisc/allmulti counts. When the software device is concurrently put in promiscous or allmulti mode while set_multicast_list is invoked from bottem half context, the device might synchronize the change to the underlying device without holding the rtnl_mutex, which races with concurrent changes to the underlying device. Add a dev->change_rx_flags hook that is invoked when any of the flags that affect rx filtering change (under the rtnl_mutex), which allows drivers to perform synchronization immediately and only synchronize the address lists in set_multicast_list/set_rx_mode. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e6c9116d1dc984cb7ecf1b0fe26ca4a8ab36bb57 Author: Ingo Molnar Date: Sat Jul 14 18:50:15 2007 -0700 [RFKILL]: fix net/rfkill/rfkill-input.c bug on 64-bit systems Subject: [patch] net/input: fix net/rfkill/rfkill-input.c bug on 64-bit systems this recent commit: commit cf4328cd949c2086091c62c5685f1580fe9b55e4 Author: Ivo van Doorn Date: Mon May 7 00:34:20 2007 -0700 [NET]: rfkill: add support for input key to control wireless radio added this 64-bit bug: .... unsigned int flags; spin_lock_irqsave(&task->lock, flags); .... irq 'flags' must be unsigned long, not unsigned int. The -rt tree has strict checks about this on 64-bit so this triggered a build failure. Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller commit 7689e82efdb636e8a076a1293b977bce313110c5 Author: Cornelia Huck Date: Mon Jul 9 11:59:59 2007 -0700 [SCSI] don't build scsi_dma_{map,unmap} for !HAS_DMA With dma-mapping-prevent-dma-dependent-code-from-linking-on.patch scsi fails to build on !HAS_DMA architectures: drivers/built-in.o(.text+0x20af6): In function `scsi_dma_map': : undefined reference to `dma_map_sg' drivers/built-in.o(.text+0x20b5c): In function `scsi_dma_unmap': : undefined reference to `dma_unmap_sg' I split those functions out into a new file. Builds on s390 and i386. Move scsi_dma_{map,unmap} into scsi_lib_dma.c which is only build if HAS_DMA is set. Signed-off-by: Cornelia Huck Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: James Bottomley Cc: Jeff Garzik Cc: Christoph Hellwig Cc: Dan Williams Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 6d877688ef411313c94aa3c83c7473fbec6db32c Author: Matthew Wilcox Date: Wed Jul 11 12:54:55 2007 -0600 [SCSI] Clean up scsi_add_lun a bit This patch tidies up scsi_add_lun a bit. I rewrote the kerneldoc to match the actual parameters, moved the check for RBC and MMC REPORT_LUN devices away from the switch(), changed the setup of sdev->type to account for BLIST_ISROM, moved the check for BLIST_NO_ULD_ATTACH further down in the function, removed a bogus comment and fixed some whitespace issues. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 0cba35e42ce58a5b20319f9f57f9aa4ce37daf76 Author: Thomas Bogendoerfer Date: Wed Jul 11 19:08:31 2007 +0200 [SCSI] 53c700: Remove printk, which triggers because of low scsi clock on SNI RMs remove printk, which triggers because of low scsi clock on SNI RMs Signed-off-by: Thomas Bogendoerfer Signed-off-by: James Bottomley commit 2da8658910580787ced4abc668adfb0f09710efb Author: Thomas Bogendoerfer Date: Wed Jul 11 19:09:36 2007 +0200 [SCSI] sni_53c710: Cleanup - base address is now a physical address; no need to convert it - remove not needed error printk in module init function Signed-off-by: Thomas Bogendoerfer Signed-off-by: James Bottomley commit 6ea7e33ee1b74de9b60327fec1a0cd39afac3983 Author: David C Somayajulu Date: Mon Jul 9 12:44:36 2007 -0700 [SCSI] qla4xxx: Fix underrun/overrun conditions On Wed, 2007-06-06 at 11:55 -0700, David C Somayajulu wrote: This patch fixes the code handling underrun and overrun conditions. Also fixed coding style as per Mike Christie's advice. Signed-off-by: David Somayajulu Signed-off-by: James Bottomley commit 0c2cc4337968f7aab91a91b8d5889982e3a3bd0d Author: Matthias Kaehlcke Date: Mon Jul 9 12:00:11 2007 -0700 [SCSI] megaraid_mbox: use mutex instead of semaphore The Megaraid Mailbox driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Acked-by: "Patro, Sumant" Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 5fa0f5e47a87ceb8a3269b28fa14764b37364f63 Author: Salyzyn, Mark Date: Mon Jul 9 09:57:11 2007 -0400 [SCSI] aacraid: add 51245, 51645 and 52245 adapters to documentation. Adding Adaptec 51245 (16 port), 51645 (20 port) and 52445 (28 port) Universal Serial RAID controllers to the aacraid documentation. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit cad7d7858bde1c1a6c1132ec8cad2b3abfacbd0d Author: Seokmann Ju Date: Thu Jul 5 13:17:01 2007 -0700 [SCSI] qla2xxx: update version to 8.02.00-k1. Following patch bump up the driver version reflecting NPIV addition to the qla2xxx. - version changed from 8.01.07-k7 to 8.02.00-k1. Signed-off-by: Seokmann Ju Signed-off-by: James Bottomley commit 2c3dfe3f6ad8daff5acdb01713e4f2b116e78136 Author: Seokmann Ju Date: Thu Jul 5 13:16:51 2007 -0700 [SCSI] qla2xxx: add support for NPIV Following patch adds support for NPIV (N-Port ID Virtualization) to the qla2xxx. - supported within switched-fabric topologies only. - supports up to 63 virtual ports on each physical port. Signed-off-by: Seokmann Ju Signed-off-by: James Bottomley commit 968a5763fb7247feb0e69573a2975a7a0c094267 Author: Ed Lin Date: Thu Jul 5 12:09:06 2007 -0700 [SCSI] stex: use resid for xfer len information The original implementation in stex_ys_commands() is inappropriate. For xfer len information, we should use resid instead. Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit 80dc3e062a8f82acd5852df15f6b4bc3359de871 Author: Matthew Wilcox Date: Thu Jul 5 08:57:50 2007 -0600 [SCSI] Add Brownie 1200U3P to blacklist The Brownie 1200U3P has the same problem with REPORT LUNS as the 1600U3P. Add it to the blacklist. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit a73e45b3da2be548c8f45cf887e4171a8f39a3c3 Author: Boaz Harrosh Date: Wed Jul 4 21:26:01 2007 +0300 [SCSI] scsi.c: convert to use the data buffer accessors - a couple of prints, they can use the accessors Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 0ab179bcf31fd54c7b34b4191ea8591267641e92 Author: Boaz Harrosh Date: Wed Jul 4 21:18:55 2007 +0300 [SCSI] tmscsim: Further clean-up of the driver - The saved sg_count was a leftover from the time the driver was doing dma mapping by himself. But now that scsi-ml is called for the mapping it is not the drivers responsibility. Signed-off-by: Boaz Harrosh Acked-by: G. Liakhovetski Signed-off-by: James Bottomley commit cde760856ce3a88bcceb02f208bcd259c2a71c4c Author: Geert Uytterhoeven Date: Thu Jun 28 13:53:02 2007 +0200 [SCSI] CONFIG_SCSI_FD_8xx no longer exists CONFIG_SCSI_FD_8xx no longer exists. Apparently it was renamed to CONFIG_SCSI_SEAGATE, but the Makefile was not correctly updated. Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit da3962fe63eae4f490356cb54e4700eac752541b Author: Akinobu Mita Date: Tue Jun 26 00:39:33 2007 +0900 [SCSI] sr: fix error handling in module_init Sweep registered blkdev when scsi_register_driver has failed. Cc: Jens Axboe Signed-off-by: Akinobu Mita Signed-off-by: James Bottomley commit a57850379e389829a2fc569733b41da3d52bf366 Author: James Bottomley Date: Sat Jul 14 18:47:04 2007 -0500 [SCSI] lpfc: Fix NPIV compile problem drivers/scsi/lpfc/lpfc_init.c: In function 'lpfc_create_port': drivers/scsi/lpfc/lpfc_init.c:1573: error: 'struct kobject' has no member named 'dentry' Just remove the if check on this ... lpfc shouldn't be poking around in kobject structures. drivers/scsi/lpfc/lpfc_init.c: In function 'lpfc_pci_probe_one': drivers/scsi/lpfc/lpfc_init.c:1723: warning: unused variable 'retval' And remove the unused variable. Cc: James Smart Signed-off-by: James Bottomley commit c59fd9ebc46da8d48b76955d4d48e3597f8c8726 Author: FUJITA Tomonori Date: Wed Jul 4 06:03:11 2007 -0700 [SCSI] lpfc: fix NPIV mapping problems This patch uses dma_map_sg with phba->pcidev->dev instead of scsi_dma_map. scsi_dma_map doesn't work for NPIV since fc_vport->dev isn't fully initialized. check_addr() in arch/x86_64/kernel/pci-nommu.c leads to the crash since dev->dma_mask is NULL. For more details: http://marc.info/?l=linux-scsi&m=118312448030633&w=2 Signed-off-by: FUJITA Tomonori Acked-by: James Smart Signed-off-by: James Bottomley commit d4bd4cd0630060a64681590b9405b87e43c11f14 Author: Boaz Harrosh Date: Tue Jul 3 18:12:35 2007 +0300 [SCSI] lpfc: add missed data buffer accessor This is an addendum to: commit a0b4f78f9a4c869e9b29f254054ad7441cb40bbf Author: FUJITA Tomonori [SCSI] lpfc: convert to use the data buffer accessors One place was missed in the merge Signed-off-by: Boaz Harrosh Acked-by: James Smart Signed-off-by: James Bottomley commit d0f656cad313bb04a151273bb57e108b2cc9876f Author: Priyanka Gupta Date: Tue Jun 19 14:02:10 2007 -0700 [SCSI] Remove unused method scsi_device_cancel Removes an obsolete method scsi_device_cancel which isn't being used anywhere in the kernel. Signed-off-by: Priyanka Gupta Acked-by: Grant Grundler Signed-off-by: James Bottomley commit 0af8887ebf4556a76680a61b0bb156d934702c63 Author: Eric Van Hensbergen Date: Fri Jul 13 16:47:58 2007 -0500 9p: fix a race condition bug in umount which caused a segfault umounting partitions after heavy activity would sometimes trigger a segmentation violation. This fix appears to remove that problem. Fix originally provided by Latchesar Ionkov. Signed-off-by: Eric Van Hensbergen commit 9e2f6688c0b52882496aff576b009bc1f7eea0b8 Author: Eric Van Hensbergen Date: Fri Jul 13 13:05:21 2007 -0500 9p: re-enable mount time debug option During reorganization, the mount time debug option was removed in favor of module-load-time parameters. However, the mount time option is still a useful for feature during debug and for user-fault isolation when the module is compiled into the kernel. Signed-off-by: Eric Van Hensbergen commit 9523a841b109765f8779236d28be6458ee3a6824 Author: Eric Van Hensbergen Date: Fri Jul 13 13:01:27 2007 -0500 9p: cache meta-data when cache=loose This patch expands the impact of the loose cache mode to allow for cached metadata increasing the performance of directory listings and other metadata read operations. Signed-off-by: Eric Van Hensbergen commit 1d6b5602381524c339af2c2fdfe42ad0a01464a4 Author: Latchesar Ionkov Date: Wed Jul 11 15:14:46 2007 -0600 net/9p: set error to EREMOTEIO if trans->write returns zero If trans->write returns 0, p9_write_work goes through the error path, but sets the error code to zero. This patch sets the error code to EREMOTEIO if trans->write returns zero value. Signed-off-by: Latchesar Ionkov commit e46662be7fddde3464bf208317542c2f8df13d0b Author: Latchesar Ionkov Date: Wed Jul 11 15:13:54 2007 -0600 net/9p: change net/9p module name to 9pnet Change module name of net/9p module from 9p.ko to 9pnet.ko. fs/9p module already uses 9p.ko name. Signed-off-by: Latchesar Ionkov commit bd238fb431f31989898423c8b6496bc8c4204a86 Author: Latchesar Ionkov Date: Tue Jul 10 17:57:28 2007 -0500 9p: Reorganization of 9p file system code This patchset moves non-filesystem interfaces of v9fs from fs/9p to net/9p. It moves the transport, packet marshalling and connection layers to net/9p leaving only the VFS related files in fs/9p. This work is being done in preparation for in-kernel 9p servers as well as alternate 9p clients (other than VFS). Signed-off-by: Latchesar Ionkov Signed-off-by: Eric Van Hensbergen commit 0f1145cc18e970ebe37da114fc34c297f135e062 Author: David Chinner Date: Fri Jun 29 17:26:09 2007 +1000 [XFS] Fix lockdep annotations for xfs_lock_inodes SGI-PV: 967035 SGI-Modid: xfs-linux-melb:xfs-kern:29026a Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit d7f0923d83dcabfc063257a281529cdbcd5eedb5 Author: David Chinner Date: Sat Jul 14 16:05:04 2007 +1000 [LIB]: export radix_tree_preload() XFS filestreams functionality uses radix trees and the preload functions. XFS can be built as a module and hence we need radix_tree_preload() exported. radix_tree_preload_end() is a static inline, so it doesn't need exporting. Signed-Off-By: Dave Chinner Signed-Off-By: Tim Shimmin commit faa63e9584df41020440756b8b90b7b63f95e4f6 Author: Michal Marek Date: Wed Jul 11 11:10:19 2007 +1000 [XFS] Fix XFS_IOC_FSBULKSTAT{,_SINGLE} & XFS_IOC_FSINUMBERS in compat mode * 32bit struct xfs_fsop_bulkreq has different size and layout of members, no matter the alignment. Move the code out of the #else branch (why was it there in the first place?). Define _32 variants of the ioctl constants. * 32bit struct xfs_bstat is different because of time_t and on i386 because of different padding. Make xfs_bulkstat_one() accept a custom "output formatter" in the private_data argument which takes care of the xfs_bulkstat_one_compat() that takes care of the different layout in the compat case. * i386 struct xfs_inogrp has different padding. Add a similar "output formatter" mecanism to xfs_inumbers(). SGI-PV: 967354 SGI-Modid: xfs-linux-melb:xfs-kern:29102a Signed-off-by: Michal Marek Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 1fa503df66f7bffc0ff62662626897eec79446c2 Author: Michal Marek Date: Wed Jul 11 11:10:09 2007 +1000 [XFS] Compat ioctl handler for handle operations 32bit struct xfs_fsop_handlereq has different size and offsets (due to pointers). TODO: case XFS_IOC_{FSSETDM,ATTRLIST,ATTRMULTI}_BY_HANDLE still not handled. SGI-PV: 967354 SGI-Modid: xfs-linux-melb:xfs-kern:29101a Signed-off-by: Michal Marek Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 547e00c3c681265b1fe5e34c7643f3ddac748ba0 Author: Michal Marek Date: Wed Jul 11 11:09:57 2007 +1000 [XFS] Compat ioctl handler for XFS_IOC_FSGEOMETRY_V1. i386 struct xfs_fsop_geom_v1 has no padding after the last member, so the size is different. SGI-PV: 967354 SGI-Modid: xfs-linux-melb:xfs-kern:29100a Signed-off-by: Michal Marek Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 3a59c94c4b48878c6af047cdfc8c137d0fa7a0f0 Author: Eric Sandeen Date: Wed Jul 11 11:09:47 2007 +1000 [XFS] Clean up function name handling in tracing code Remove the hardcoded "fnames" for tracing, and just embed them in tracing macros via __FUNCTION__. Kills a lot of #ifdefs too. SGI-PV: 967353 SGI-Modid: xfs-linux-melb:xfs-kern:29099a Signed-off-by: Eric Sandeen Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit b11f94d537e6b69f13770143fd7ded3d09fdbaab Author: David Chinner Date: Wed Jul 11 11:09:33 2007 +1000 [XFS] Quota inode has no parent. Avoid using a special "zero inode" as the parent of the quota inode as this can confuse the filestreams code into thinking the quota inode has a parent. We do not want the quota inode to follow filestreams allocation rules, so pass a NULL as the parent inode and detect this condition when doing stream associations. SGI-PV: 964469 SGI-Modid: xfs-linux-melb:xfs-kern:29098a Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 2a82b8be8a8dacb48cb7371449a7a9daa558b4a8 Author: David Chinner Date: Wed Jul 11 11:09:12 2007 +1000 [XFS] Concurrent Multi-File Data Streams In media spaces, video is often stored in a frame-per-file format. When dealing with uncompressed realtime HD video streams in this format, it is crucial that files do not get fragmented and that multiple files a placed contiguously on disk. When multiple streams are being ingested and played out at the same time, it is critical that the filesystem does not cross the streams and interleave them together as this creates seek and readahead cache miss latency and prevents both ingest and playout from meeting frame rate targets. This patch set creates a "stream of files" concept into the allocator to place all the data from a single stream contiguously on disk so that RAID array readahead can be used effectively. Each additional stream gets placed in different allocation groups within the filesystem, thereby ensuring that we don't cross any streams. When an AG fills up, we select a new AG for the stream that is not in use. The core of the functionality is the stream tracking - each inode that we create in a directory needs to be associated with the directories' stream. Hence every time we create a file, we look up the directories' stream object and associate the new file with that object. Once we have a stream object for a file, we use the AG that the stream object point to for allocations. If we can't allocate in that AG (e.g. it is full) we move the entire stream to another AG. Other inodes in the same stream are moved to the new AG on their next allocation (i.e. lazy update). Stream objects are kept in a cache and hold a reference on the inode. Hence the inode cannot be reclaimed while there is an outstanding stream reference. This means that on unlink we need to remove the stream association and we also need to flush all the associations on certain events that want to reclaim all unreferenced inodes (e.g. filesystem freeze). SGI-PV: 964469 SGI-Modid: xfs-linux-melb:xfs-kern:29096a Signed-off-by: David Chinner Signed-off-by: Barry Naujok Signed-off-by: Donald Douwsma Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin Signed-off-by: Vlad Apostolov commit 0892ccd6fe13e08ad9e57007afbb78fe02d66005 Author: Andrew Morton Date: Thu Jun 28 16:46:56 2007 +1000 [XFS] Use uninitialized_var macro to stop warning about rtx Appease gcc in regards to "warning: 'rtx' is used uninitialized in this function". SGI-PV: 907752 SGI-Modid: xfs-linux-melb:xfs-kern:29007a Signed-off-by: Andrew Morton Signed-off-by: Tim Shimmin commit fbf3ce8d8ec508f6bd99b36de034d2ae3e1ae7ac Author: Christoph Hellwig Date: Thu Jun 28 16:46:47 2007 +1000 [XFS] XFS should not be looking at filp reference counts A check for file_count is always a bad idea. Linux has the ->release method to deal with cleanups on last close and ->flush is only for the very rare case where we want to perform an operation on every drop of a reference to a file struct. This patch gets rid of vop_close and surrounding code in favour of simply doing the page flushing from ->release. SGI-PV: 966562 SGI-Modid: xfs-linux-melb:xfs-kern:28952a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 16a087d8e1af9b974125870dceb9e4a35249ad1d Author: Vignesh Babu Date: Thu Jun 28 16:46:37 2007 +1000 [XFS] Use is_power_of_2 instead of open coding checks SGI-PV: 966576 SGI-Modid: xfs-linux-melb:xfs-kern:28950a Signed-off-by: Vignesh Babu Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit bbaaf53808c778bda24f8245a440c5ceacc1a37d Author: Christoph Hellwig Date: Thu Jun 28 16:43:50 2007 +1000 [XFS] Reduce shouting by removing unnecessary macros from dir2 code. SGI-PV: 966505 SGI-Modid: xfs-linux-melb:xfs-kern:28947a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 54aa8e26e90da882b145fcd33ed752431d6b318b Author: David Chinner Date: Thu Jun 28 16:43:39 2007 +1000 [XFS] Simplify XFS min/max macros. SGI-PV: 964547 SGI-Modid: xfs-linux-melb:xfs-kern:28945a Signed-off-by: David Chinner Signed-off-by: Nathan Scott Signed-off-by: Tim Shimmin commit 24ad33ff714bd117cab30e71e2ad41e4e1185108 Author: Eric Sandeen Date: Thu Jun 28 16:43:30 2007 +1000 [XFS] Kill off xfs_count_bits xfs_count_bits is only called once, and is then compared to 0. IOW, what it really wants to know is, is the bitmap empty. This can be done more simply, certainly. SGI-PV: 966503 SGI-Modid: xfs-linux-melb:xfs-kern:28944a Signed-off-by: Eric Sandeen Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 87ae3c2411cfd280e8289e232b718fae9f63950b Author: Jesper Juhl Date: Thu Jun 28 16:43:14 2007 +1000 [XFS] Cancel transactions on xfs_itruncate_start error. SGI-PV: 966502 SGI-Modid: xfs-linux-melb:xfs-kern:28943a Signed-off-by: Jesper Juhl Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 39726be2a2e6e61f352852da2c3a807773e33346 Author: Christoph Hellwig Date: Mon Jun 18 17:57:45 2007 +1000 [XFS] Use do_div() on 64 bit types. SGI-PV: 966145 SGI-Modid: xfs-linux-melb:xfs-kern:28889a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 516b2e7c2661615ba5d5ad9fb584f068363502d3 Author: David Chinner Date: Mon Jun 18 16:50:48 2007 +1000 [XFS] Fix remount,readonly path to flush everything correctly. The remount readonly path can fail to writeback properly because we still have active transactions after calling xfs_quiesce_fs(). Further investigation shows that this path is broken in the same ways that the xfs freeze path was broken so fix it the same way. SGI-PV: 964464 SGI-Modid: xfs-linux-melb:xfs-kern:28869a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 957d0ebed04239b734552c7da3fae9094b6f090c Author: David Chinner Date: Mon Jun 18 16:50:37 2007 +1000 [XFS] Cleanup inode extent size hint extraction SGI-PV: 966004 SGI-Modid: xfs-linux-melb:xfs-kern:28866a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 84e1e99f112dead8f9ba036c02d24a9f5ce7f544 Author: David Chinner Date: Mon Jun 18 16:50:27 2007 +1000 [XFS] Prevent ENOSPC from aborting transactions that need to succeed During delayed allocation extent conversion or unwritten extent conversion, we need to reserve some blocks for transactions reservations. We need to reserve these blocks in case a btree split occurs and we need to allocate some blocks. Unfortunately, we've only ever reserved the number of data blocks we are allocating, so in both the unwritten and delalloc case we can get ENOSPC to the transaction reservation. This is bad because in both cases we cannot report the failure to the writing application. The fix is two-fold: 1 - leverage the reserved block infrastructure XFS already has to reserve a small pool of blocks by default to allow specially marked transactions to dip into when we are at ENOSPC. Default setting is min(5%, 1024 blocks). 2 - convert critical transaction reservations to be allowed to dip into this pool. Spots changed are delalloc conversion, unwritten extent conversion and growing a filesystem at ENOSPC. This also allows growing the filesytsem to succeed at ENOSPC. SGI-PV: 964468 SGI-Modid: xfs-linux-melb:xfs-kern:28865a Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 641c56fbfeae85d5ec87fee90a752f7b7224f236 Author: David Chinner Date: Mon Jun 18 16:50:17 2007 +1000 [XFS] Prevent deadlock when flushing inodes on unmount When we are unmounting the filesystem, we flush all the inodes to disk. Unfortunately, if we have an inode cluster that has just been freed and marked stale sitting in an incore log buffer (i.e. hasn't been flushed to disk), it will be holding all the flush locks on the inodes in that cluster. xfs_iflush_all() which is called during unmount walks all the inodes trying to reclaim them, and it doing so calls xfs_finish_reclaim() on each inode. If the inode is dirty, if grabs the flush lock and flushes it. Unfortunately, find dirty inodes that already have their flush lock held and so we sleep. At this point in the unmount process, we are running single-threaded. There is nothing more that can push on the log to force the transaction holding the inode flush locks to disk and hence we deadlock. The fix is to issue a log force before flushing the inodes on unmount so that all the flush locks will be released before we start flushing the inodes. SGI-PV: 964538 SGI-Modid: xfs-linux-melb:xfs-kern:28862a Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 0164af51cedf46e1d58fd53854373f544150c597 Author: Tim Shimmin Date: Mon Jun 18 16:50:08 2007 +1000 [XFS] Log the agf_length change in xfs_growfs_data_private(). SGI-PV: 963528 SGI-Modid: xfs-linux-melb:xfs-kern:28856a Signed-off-by: Tim Shimmin Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig commit effd120edb7609069cca9f3d1cb4bfae464b2f85 Author: David Chinner Date: Mon Jun 18 16:49:58 2007 +1000 [XFS] Map unwritten extents correctly for I/o completion processing If we have multiple unwritten extents within a single page, we fail to tell the I/o completion construction handlers we need a new handle for the second and subsequent blocks in the page. While we still issue the I/O correctly, we do not have the correct ranges recorded in the ioend structures and hence when we go to convert the unwritten extents we screw it up. Make sure we start a new ioend every time the mapping changes so that we convert the correct ranges on I/O completion. SGI-PV: 964647 SGI-Modid: xfs-linux-melb:xfs-kern:28797a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 45c34141126a89da07197d5b89c04c6847f1171a Author: David Chinner Date: Mon Jun 18 16:49:44 2007 +1000 [XFS] Apply transaction delta counts atomically to incore counters With the per-cpu superblock counters, batch updates are no longer atomic across the entire batch of changes. This is not an issue if each individual change in the batch is applied atomically. Unfortunately, free block count changes are not applied atomically, and they are applied in a manner guaranteed to cause problems. Essentially, the free block count reservation that the transaction took initially is returned to the in core counters before a second delta takes away what is used. because these two operations are not atomic, we can race with another thread that can use the returned transaction reservation before the transaction takes the space away again and we can then get ENOSPC being reported in a spot where we don't have an ENOSPC condition, nor should we ever see one there. Fix it up by rolling the two deltas into the one so it can be applied safely (i.e. atomically) to the incore counters. SGI-PV: 964465 SGI-Modid: xfs-linux-melb:xfs-kern:28796a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit b2826136a1fc3ea451bcbb73a75ca50b3231aa8f Author: David Chinner Date: Tue Jun 5 16:24:44 2007 +1000 [XFS] Handle null returned from xfs_vtoi() in xfs_setfilesize(). SGI-PV: 965636 SGI-Modid: xfs-linux-melb:xfs-kern:28777a Signed-off-by: David Chinner Signed-off-by: Olaf Weber Signed-off-by: Tim Shimmin commit e927af90aaa7d75543edbbd9c2810e6963d0443f Author: David Chinner Date: Tue Jun 5 16:24:36 2007 +1000 [XFS] Block on unwritten extent conversion during synchronous direct I/O. Currently we do not wait on extent conversion to occur, and hence we can return to userspace from a synchronous direct I/O write without having completed all the actions in the write. Hence a read after the write may see zeroes (unwritten extent) rather than the data that was written. Block the I/O completion by triggering a synchronous workqueue flush to ensure that the conversion has occurred before we return to userspace. SGI-PV: 964092 SGI-Modid: xfs-linux-melb:xfs-kern:28775a Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit f4a9f28a909debe97cd3f6ca30e82e5811125bff Author: David Chinner Date: Tue Jun 5 16:24:27 2007 +1000 [XFS] Flush the block device before closing it on unmount. SGI-PV: 965630 SGI-Modid: xfs-linux-melb:xfs-kern:28774a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 4e5ae8386b55677bde05bbd38b8fc82c67ad4564 Author: David Chinner Date: Tue Jun 5 16:24:15 2007 +1000 [XFS] xfs_bmapi fails to update the previous extent pointer When processing multiple extent maps, xfs_bmapi needs to keep track of the extent behind the one it is currently working on to be able to trim extent ranges correctly. Failing to update the previous pointer can result in corrupted extent lists in memory and this will result in panics or assert failures. Update the previous pointer correctly when we move to the next extent to process. SGI-PV: 965631 SGI-Modid: xfs-linux-melb:xfs-kern:28773a Signed-off-by: David Chinner Signed-off-by: Vlad Apostolov Signed-off-by: Tim Shimmin commit 210c6f1caa451623e14a7cd71000d2c2e0d9cc43 Author: David Chinner Date: Thu May 24 15:26:51 2007 +1000 [XFS] Fix the transaction flags to make lazy superblock counters work. SGI-PV: 964999 SGI-Modid: xfs-linux-melb:xfs-kern:28653a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 92821e2ba4ae26887223326fb0b95cdab963b768 Author: David Chinner Date: Thu May 24 15:26:31 2007 +1000 [XFS] Lazy Superblock Counters When we have a couple of hundred transactions on the fly at once, they all typically modify the on disk superblock in some way. create/unclink/mkdir/rmdir modify inode counts, allocation/freeing modify free block counts. When these counts are modified in a transaction, they must eventually lock the superblock buffer and apply the mods. The buffer then remains locked until the transaction is committed into the incore log buffer. The result of this is that with enough transactions on the fly the incore superblock buffer becomes a bottleneck. The result of contention on the incore superblock buffer is that transaction rates fall - the more pressure that is put on the superblock buffer, the slower things go. The key to removing the contention is to not require the superblock fields in question to be locked. We do that by not marking the superblock dirty in the transaction. IOWs, we modify the incore superblock but do not modify the cached superblock buffer. In short, we do not log superblock modifications to critical fields in the superblock on every transaction. In fact we only do it just before we write the superblock to disk every sync period or just before unmount. This creates an interesting problem - if we don't log or write out the fields in every transaction, then how do the values get recovered after a crash? the answer is simple - we keep enough duplicate, logged information in other structures that we can reconstruct the correct count after log recovery has been performed. It is the AGF and AGI structures that contain the duplicate information; after recovery, we walk every AGI and AGF and sum their individual counters to get the correct value, and we do a transaction into the log to correct them. An optimisation of this is that if we have a clean unmount record, we know the value in the superblock is correct, so we can avoid the summation walk under normal conditions and so mount/recovery times do not change under normal operation. One wrinkle that was discovered during development was that the blocks used in the freespace btrees are never accounted for in the AGF counters. This was once a valid optimisation to make; when the filesystem is full, the free space btrees are empty and consume no space. Hence when it matters, the "accounting" is correct. But that means the when we do the AGF summations, we would not have a correct count and xfs_check would complain. Hence a new counter was added to track the number of blocks used by the free space btrees. This is an *on-disk format change*. As a result of this, lazy superblock counters are a mkfs option and at the moment on linux there is no way to convert an old filesystem. This is possible - xfs_db can be used to twiddle the right bits and then xfs_repair will do the format conversion for you. Similarly, you can convert backwards as well. At some point we'll add functionality to xfs_admin to do the bit twiddling easily.... SGI-PV: 964999 SGI-Modid: xfs-linux-melb:xfs-kern:28652a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 3260f78ad6d5b788e78ea709d377f58e569bee41 Author: Andrew Morton Date: Thu May 24 15:25:42 2007 +1000 [XFS] Use generic shrinker interfaces in XFS. SGI-PV: 964986 SGI-Modid: xfs-linux-melb:xfs-kern:28642a Signed-Off-By: Andrew Morton Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 92dfe8d266eaf35a50607a0e0dcf525e1d367c80 Author: David Chinner Date: Thu May 24 15:22:19 2007 +1000 [XFS] Make hole punching at EOF atomic. If hole punching at EOF is done as two steps (i.e. truncate then extend) the file is in a transient state between the two steps where an application can see the incorrect file size. Punching a hole to EOF needs to be treated in teh same way as all other hole punching cases so that the file size is never seen to change. SGI-PV: 962012 SGI-Modid: xfs-linux-melb:xfs-kern:28641a Signed-off-by: David Chinner Signed-off-by: Vlad Apostolov Signed-off-by: Tim Shimmin commit 511105b3d7c2440ee84fc3f90d200569aac88162 Author: David Chinner Date: Thu May 24 15:21:57 2007 +1000 [XFS] Fix vmalloc leak on mount/unmount. When setting the length of the iclogbuf to write out we should just be changing the desired byte count rather completely reassociating the buffer memory with the buffer. Reassociating the buffer memory changes the apparent length of the buffer and hence when we free the buffer, we don't free all the vmap()d space we originally allocated. SGI-PV: 964983 SGI-Modid: xfs-linux-melb:xfs-kern:28640a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit ca165b88927e41ad18908d7b37f08ef81eae0bf8 Author: Christoph Hellwig Date: Thu May 24 15:21:11 2007 +1000 [XFS] Fix double free in xfs_buf_get_noaddr error handling path SGI-PV: 964983 SGI-Modid: xfs-linux-melb:xfs-kern:28639a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 3db296f341b5902c4f9317022ae5d4da2d59d598 Author: David Chinner Date: Mon May 14 18:24:16 2007 +1000 [XFS] Fix use-after-free during log unmount. Don't reference the log buffer after running the callbacks as the callback can trigger the log buffers to be freed during unmount. SGI-PV: 964545 SGI-Modid: xfs-linux-melb:xfs-kern:28567a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 40095b64f5da601a8ab61fbe4b40feb46830052e Author: David Chinner Date: Mon May 14 18:24:09 2007 +1000 [XFS] Sleeping with the ilock waiting for I/O completion is Bad. Recent fixes to the filesystem freezing code introduced a vn_iowait call in the middle of the sync code. Unfortunately, at the point where this call was added we are holding the ilock. The ilock is needed by I/O completion for unwritten extent conversion and now updating the file size. Hence I/o cannot complete if we hold the ilock while waiting for I/O completion. Fix up the bug and clean the code up around it. SGI-PV: 963674 SGI-Modid: xfs-linux-melb:xfs-kern:28566a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 4cc929ee305c69573cb842aade059dbe2a93940c Author: Nathan Scott Date: Mon May 14 18:24:02 2007 +1000 [XFS] Don't grow filesystems past the size they can index. When growing a filesystem we don't check to see if the new size overflows the page cache index range, so we can do silly things like grow a filesystem page 16TB on a 32bit. Check new filesystem sizes against the limits the kernel can support. SGI-PV: 957886 SGI-Modid: xfs-linux-melb:xfs-kern:28563a Signed-Off-By: Nathan Scott Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 1fa40b01ae4d1b00e366d4949edcc230f5cd6d99 Author: Christoph Hellwig Date: Mon May 14 18:23:50 2007 +1000 [XFS] Only use refcounted pages for I/O Many block drivers (aoe, iscsi) really want refcountable pages in bios, which is what almost everyone send down. XFS unfortunately has a few places where it sends down buffers that may come from kmalloc, which breaks them. Fix the places that use kmalloc()d buffers. SGI-PV: 964546 SGI-Modid: xfs-linux-melb:xfs-kern:28562a Signed-Off-By: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 8d9107e8c50e1c4ff43c91c8841805833f3ecfb9 Author: Linus Torvalds Date: Fri Jul 13 16:53:18 2007 -0700 Revert "SELinux: use SECINITSID_NETMSG instead of SECINITSID_UNLABELED for NetLabel" This reverts commit 9faf65fb6ee2b4e08325ba2d69e5ccf0c46453d0. It bit people like Michal Piotrowski: "My system is too secure, I can not login :)" because it changed how CONFIG_NETLABEL worked, and broke older SElinux policies. As a result, quoth James Morris: "Can you please revert this patch? We thought it only affected people running MLS, but it will affect others. Sorry for the hassle." Cc: James Morris Cc: Stephen Smalley Cc: Michal Piotrowski Cc: Paul Moore Signed-off-by: Linus Torvalds commit 16cefa8c3863721fd40445a1b34dea18cd16ccfe Merge: 4fbef20... d8558f9... Author: Linus Torvalds Date: Fri Jul 13 16:46:18 2007 -0700 Merge git://git.linux-nfs.org/pub/linux/nfs-2.6 * git://git.linux-nfs.org/pub/linux/nfs-2.6: (122 commits) sunrpc: drop BKL around wrap and unwrap NFSv4: Make sure unlock is really an unlock when cancelling a lock NLM: fix source address of callback to client SUNRPC client: add interface for binding to a local address SUNRPC server: record the destination address of a request SUNRPC: cleanup transport creation argument passing NFSv4: Make the NFS state model work with the nosharedcache mount option NFS: Error when mounting the same filesystem with different options NFS: Add the mount option "nosharecache" NFS: Add support for mounting NFSv4 file systems with string options NFS: Add final pieces to support in-kernel mount option parsing NFS: Introduce generic mount client API NFS: Add enums and match tables for mount option parsing NFS: Improve debugging output in NFS in-kernel mount client NFS: Clean up in-kernel NFS mount NFS: Remake nfsroot_mount as a permanent part of NFS client SUNRPC: Add a convenient default for the hostname when calling rpc_create() SUNRPC: Rename rpcb_getport to be consistent with new rpcb_getport_sync name SUNRPC: Rename rpcb_getport_external routine SUNRPC: Allow rpcbind requests to be interrupted by a signal. ... commit 4fbef206daead133085fe33905f5e842d38fb8da Author: Jens Axboe Date: Fri Jul 13 22:42:20 2007 +0200 nfsd: fix nfsd_vfs_read() splice actor setup When nfsd was transitioned to use splice instead of sendfile() for data transfers, a line setting the page index was lost. Restore it, so that nfsd is functional when that path is used. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit 4fd885170bf13841ada921495b7b00c4b9971cf9 Author: Thomas Gleixner Date: Fri Jul 13 21:43:55 2007 +0200 CFS: Fix missing digit off in wmult table Roman Zippel noticed another inconsistency of the wmult table. wmult[16] has a missing digit. Signed-off-by: Thomas Gleixner Signed-off-by: Linus Torvalds commit af09f1e4b3214569de93bc9309c35014e5c8a3d0 Merge: e030dbf... 9a60ddb... Author: Linus Torvalds Date: Fri Jul 13 16:06:30 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq * master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] Fix typos in powernow-k8 printk's. [CPUFREQ] Restore previously used governor on a hot-replugged CPU [CPUFREQ] bugfix cpufreq in combination with performance governor [CPUFREQ] powernow-k8 compile fix. [CPUFREQ] the overdue removal of X86_SPEEDSTEP_CENTRINO_ACPI [CPUFREQ] Longhaul - Option to disable ACPI C3 support Fixed up arch/i386/kernel/cpu/cpufreq/powernow-k8.c due to revert that got fixed differently in the cpufreq branch. Signed-off-by: Linus Torvalds commit e030dbf91a87da7e8be3be3ca781558695bea683 Merge: 12a2296... 3039f07... Author: Linus Torvalds Date: Fri Jul 13 10:52:27 2007 -0700 Merge branch 'ioat-md-accel-for-linus' of git://lost.foo-projects.org/~dwillia2/git/iop * 'ioat-md-accel-for-linus' of git://lost.foo-projects.org/~dwillia2/git/iop: (28 commits) ioatdma: add the unisys "i/oat" pci vendor/device id ARM: Add drivers/dma to arch/arm/Kconfig iop3xx: surface the iop3xx DMA and AAU units to the iop-adma driver iop13xx: surface the iop13xx adma units to the iop-adma driver dmaengine: driver for the iop32x, iop33x, and iop13xx raid engines md: remove raid5 compute_block and compute_parity5 md: handle_stripe5 - request io processing in raid5_run_ops md: handle_stripe5 - add request/completion logic for async expand ops md: handle_stripe5 - add request/completion logic for async read ops md: handle_stripe5 - add request/completion logic for async check ops md: handle_stripe5 - add request/completion logic for async compute ops md: handle_stripe5 - add request/completion logic for async write ops md: common infrastructure for running operations with raid5_run_ops md: raid5_run_ops - run stripe operations outside sh->lock raid5: replace custom debug PRINTKs with standard pr_debug raid5: refactor handle_stripe5 and handle_stripe6 (v3) async_tx: add the async_tx api xor: make 'xor_blocks' a library routine for use with async_tx dmaengine: make clients responsible for managing channels dmaengine: refactor dmaengine around dma_async_tx_descriptor ... commit 12a22960549979c10a95cc97f8ec63b461c55692 Merge: 31c4ab4... 51a92c0... Author: Linus Torvalds Date: Fri Jul 13 10:51:07 2007 -0700 Merge branch 'splice-2.6.23' of git://git.kernel.dk/data/git/linux-2.6-block * 'splice-2.6.23' of git://git.kernel.dk/data/git/linux-2.6-block: splice: fix offset mangling with direct splicing (sendfile) security: revalidate rw permissions for sys_splice and sys_vmsplice relay: fixup kerneldoc comment relay: fix bogus cast in subbuf_splice_actor() commit 31c4ab430a448cfb13fc88779d8a870c7af9f72b Merge: 8b69ad0... f24ae12... Author: Linus Torvalds Date: Fri Jul 13 10:44:45 2007 -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] Workaround for a sparse warning in include/asm-mips/mach-tx4927/ioremap.h [MIPS] Make show_code static and add __user tag [MIPS] Workaround for a sparse warning in include/asm-mips/compat.h [MIPS] Add some __user tags [MIPS] math-emu minor cleanup [MIPS] Kill CONFIG_TX4927BUG_WORKAROUND [MIPS] Alchemy: Remove code wrapped by dead symbol CONFIG_FB_XPERT98 [MIPS] Alchemy: Remove code wrapped by dead symbol CONFIG_AU1000_SRC_CLK [MIPS] Alchemy: Remove code wrapped by dead symbol CONFIG_AU1000_USE32K [MIPS] Alchemy: Remove code wrapped by dead symbol CONFIG_AU1XXX_PSC_SPI [CHAR] Delete leftovers of old Alchemy UART driver commit 8b69ad0e690eb5f38c23087247a12e5fde1baeff Author: Linus Torvalds Date: Fri Jul 13 10:43:52 2007 -0700 Revert "[CPUFREQ] powernow-k8: clarify number of cores." This reverts commit 904f7a3f042b5c6aa9e53ce83f2c9de5e33170ff. As noted by Peter Anvin: "It causes build failures on i386. Yet another case of unnecessary divergence between i386 and x86-64 I'm afraid..." Signed-off-by: Linus Torvalds commit aba2da66cfbf7790ad79d4dee95871127d5ddf5e Merge: 7732089... f787a50... Author: Linus Torvalds Date: Fri Jul 13 10:12:21 2007 -0700 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: [PATCH] sched: small topology.h cleanup [PATCH] sched: fix show_task()/show_tasks() output [PATCH] sched: remove stale version info from kernel/sched_debug.c [PATCH] sched: allow larger granularity [PATCH] sched: fix prio_to_wmult[] for nice 1 [ I re-did the commits to get rid of some bogus merge commit that Ingo had. - Linus ] Signed-off-by: Linus Torvalds commit f787a50306680c187cf2896a8017937c1bf6dc7e Author: Ingo Molnar Date: Wed Jul 11 21:21:47 2007 +0200 [PATCH] sched: small topology.h cleanup trivial cleanup: LOCAL_DISTANCE and REMOTE_DISTANCE are only used in topology.h and inside an #ifndef section - limit their existence to that #ifndef. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 4bd77321a833077c5c9ac7b9d284e261e4a8906e Author: Ingo Molnar Date: Wed Jul 11 21:21:47 2007 +0200 [PATCH] sched: fix show_task()/show_tasks() output fix show_task()/show_tasks() output: - there's no sibling info anymore - the fields were not aligned properly with the description - get rid of the lazy-TLB output: it's been quite some time since we last had a bug there, and when we had a bug it wasnt helped a bit by this debug output. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 45f384a64f0769bb9a3caf0516de88a629f48e61 Author: Ingo Molnar Date: Wed Jul 11 21:21:47 2007 +0200 [PATCH] sched: remove stale version info from kernel/sched_debug.c kernel/sched_debug.c referred to CFS -v20, but there's no CFS versioning needed within the upstream kernel. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit a5968df8737eda477d9d1038f5428ebd4d0884e1 Author: Ingo Molnar Date: Wed Jul 11 21:21:47 2007 +0200 [PATCH] sched: allow larger granularity Allow granularity up to 100 msecs, instead of 10 msecs. (needed on larger boxes) Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit e127031f4f76dc367c5d2f9d883715730dd82f7d Author: Mike Galbraith Date: Wed Jul 11 21:21:47 2007 +0200 [PATCH] sched: fix prio_to_wmult[] for nice 1 There's a typo in the values in prio_to_wmult[] for nice level 1. While it did not cause bad CPU distribution, but caused more rescheduling between nice-0 and nice-1 tasks than necessary. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit f24ae12b3eeb1b956b752d4d5907e311cfa95a1a Author: Atsushi Nemoto Date: Sat Jul 14 00:06:44 2007 +0900 [MIPS] Workaround for a sparse warning in include/asm-mips/mach-tx4927/ioremap.h include2/asm/mach-tx49xx/ioremap.h:39:52: warning: cast truncates bits from constant value (fff000000 becomes ff000000) Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit e1bb828906e54ffb7e8b358516158ffdcf9581b8 Author: Atsushi Nemoto Date: Fri Jul 13 23:51:46 2007 +0900 [MIPS] Make show_code static and add __user tag Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 01bebc66793f2cc65104452dc319a8a99f005934 Author: Atsushi Nemoto Date: Fri Jul 13 23:51:38 2007 +0900 [MIPS] Workaround for a sparse warning in include/asm-mips/compat.h Cast to a __user pointer via "unsigned long" to get rid of this warning: include2/asm/compat.h:135:10: warning: cast adds address space to expression () Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 5e0373b8e449b0c72495a6d8401c53f678b71988 Author: Atsushi Nemoto Date: Fri Jul 13 23:02:42 2007 +0900 [MIPS] Add some __user tags Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit e70dfc10b99ebffa1f464b1b9290df2589284f70 Author: Atsushi Nemoto Date: Fri Jul 13 23:02:29 2007 +0900 [MIPS] math-emu minor cleanup Declaring emulpc and contpc as "unsigned long" can get rid of some casts. This also get rid of some sparse warnings. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit e50e1c744df20e704441a99eef7c6414e6920712 Author: Atsushi Nemoto Date: Fri Jul 13 02:00:26 2007 +0900 [MIPS] Kill CONFIG_TX4927BUG_WORKAROUND Kill workarounds for very early chip (perhaps pre-TX4927A). Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit b58f4b7aaf5ddaf2fdc13dfeb3ce6e61d51c3ac5 Author: Ralf Baechle Date: Fri Jul 13 10:40:23 2007 +0100 [MIPS] Alchemy: Remove code wrapped by dead symbol CONFIG_FB_XPERT98 Noticed by Robert P. J. Day (rpjday@mindspring.com). Signed-off-by: Ralf Baechle commit 85a882bc3553636930bef7773201955c0e2fcf99 Author: Ralf Baechle Date: Fri Jul 13 06:45:48 2007 +0100 [MIPS] Alchemy: Remove code wrapped by dead symbol CONFIG_AU1000_SRC_CLK Noticed by Robert P. J. Day (rpjday@mindspring.com). Signed-off-by: Ralf Baechle commit 8f597acab2742b7ae9a556613c389ffa914cdbbd Author: Ralf Baechle Date: Fri Jul 13 06:42:36 2007 +0100 [MIPS] Alchemy: Remove code wrapped by dead symbol CONFIG_AU1000_USE32K Noticed by Robert P. J. Day (rpjday@mindspring.com). Signed-off-by: Ralf Baechle commit 6fec2e1727049ce6a404f4af61461d860594d5db Author: Ralf Baechle Date: Fri Jul 13 06:33:09 2007 +0100 [MIPS] Alchemy: Remove code wrapped by dead symbol CONFIG_AU1XXX_PSC_SPI Noticed by Robert P. J. Day (rpjday@mindspring.com). Signed-off-by: Ralf Baechle commit 33f60da0dad0884256f888c19303e16c95d2086d Author: Ralf Baechle Date: Fri Jul 13 17:39:59 2007 +0100 [CHAR] Delete leftovers of old Alchemy UART driver Signed-off-by: Ralf Baechle commit 3039f0735a280b54c7364fbfe6a9287f7f0b510a Author: Dan Williams Date: Fri Jul 13 08:06:19 2007 -0700 ioatdma: add the unisys "i/oat" pci vendor/device id Cc: John Magolan Signed-off-by: Shannon Nelson Signed-off-by: Dan Williams commit 5816815f7850509ed51ab94eb4f644e405ccb865 Author: Dan Williams Date: Tue Jan 2 11:10:43 2007 -0700 ARM: Add drivers/dma to arch/arm/Kconfig Cc: Russell King Signed-off-by: Dan Williams commit 2492c845189a961a92d8537a44d233e8e1e45c6d Author: Dan Williams Date: Tue Jan 2 13:52:31 2007 -0700 iop3xx: surface the iop3xx DMA and AAU units to the iop-adma driver Adds the platform device definitions and the architecture specific support routines (i.e. register initialization and descriptor formats) for the iop-adma driver. Changelog: * add support for > 1k zero sum buffer sizes * added dma/aau platform devices to iq80321 and iq80332 setup * fixed the calculation in iop_desc_is_aligned * support xor buffer sizes larger than 16MB * fix places where software descriptors are assumed to be contiguous, only hardware descriptors are contiguous for up to a PAGE_SIZE buffer size * convert to async_tx * add interrupt support * add platform devices for 80219 boards * do not call platform register macros in driver code * remove switch() statements for compatible register offsets/layouts * change over to bitmap based capabilities * remove unnecessary ARM assembly statement * checkpatch.pl fixes * gpl v2 only correction * phys move to dma_async_tx_descriptor Cc: Russell King Signed-off-by: Dan Williams commit 39a8d7d13c113e4a98bfdfc45c7233188e4d715f Author: Dan Williams Date: Tue Jan 2 13:52:31 2007 -0700 iop13xx: surface the iop13xx adma units to the iop-adma driver Adds the platform device definitions and the architecture specific support routines (i.e. register initialization and descriptor formats) for the iop-adma driver. Changelog: * added 'descriptor pool size' to the platform data * add base support for buffer sizes larger than 16MB (hw max) * build error fix from Kirill A. Shutemov * rebase for async_tx changes * add interrupt support * do not call platform register macros in driver code * remove unnecessary ARM assembly statement * checkpatch.pl fixes * gpl v2 only correction Cc: Russell King Signed-off-by: Dan Williams commit c211092313b90f898dec61f35207fc282d1eadc3 Author: Dan Williams Date: Tue Jan 2 13:52:26 2007 -0700 dmaengine: driver for the iop32x, iop33x, and iop13xx raid engines The Intel(R) IOP series of i/o processors integrate an Xscale core with raid acceleration engines. The capabilities per platform are: iop219: (2) copy engines iop321: (2) copy engines (1) xor and block fill engine iop33x: (2) copy and crc32c engines (1) xor, xor zero sum, pq, pq zero sum, and block fill engine iop34x (iop13xx): (2) copy, crc32c, xor, xor zero sum, and block fill engines (1) copy, crc32c, xor, xor zero sum, pq, pq zero sum, and block fill engine The driver supports the features of the async_tx api: * asynchronous notification of operation completion * implicit (interupt triggered) handling of inter-channel transaction dependencies The driver adapts to the platform it is running by two methods. 1/ #include which defines the hardware specific iop_chan_* and iop_desc_* routines as a series of static inline functions 2/ The private platform data attached to the platform_device defines the capabilities of the channels 20070626: Callbacks are run in a tasklet. Given the recent discussion on LKML about killing tasklets in favor of workqueues I did a quick conversion of the driver. Raid5 resync performance dropped from 50MB/s to 30MB/s, so the tasklet implementation remains until a generic softirq interface is available. Changelog: * fixed a slot allocation bug in do_iop13xx_adma_xor that caused too few slots to be requested eventually leading to data corruption * enabled the slot allocation routine to attempt to free slots before returning -ENOMEM * switched the cleanup routine to solely use the software chain and the status register to determine if a descriptor is complete. This is necessary to support other IOP engines that do not have status writeback capability * make the driver iop generic * modified the allocation routines to understand allocating a group of slots for a single operation * added a null xor initialization operation for the xor only channel on iop3xx * support xor operations on buffers larger than the hardware maximum * split the do_* routines into separate prep, src/dest set, submit stages * added async_tx support (dependent operations initiation at cleanup time) * simplified group handling * added interrupt support (callbacks via tasklets) * brought the pending depth inline with ioat (i.e. 4 descriptors) * drop dma mapping methods, suggested by Chris Leech * don't use inline in C files, Adrian Bunk * remove static tasklet declarations * make iop_adma_alloc_slots easier to read and remove chances for a corrupted descriptor chain * fix locking bug in iop_adma_alloc_chan_resources, Benjamin Herrenschmidt * convert capabilities over to dma_cap_mask_t * fixup sparse warnings * add descriptor flush before iop_chan_enable * checkpatch.pl fixes * gpl v2 only correction * move set_src, set_dest, submit to async_tx methods * move group_list and phys to async_tx Cc: Russell King Signed-off-by: Dan Williams commit f6dff381af01006ffae3c23cd2e07e30584de0ec Author: Dan Williams Date: Tue Jan 2 13:52:31 2007 -0700 md: remove raid5 compute_block and compute_parity5 replaced by raid5_run_ops Signed-off-by: Dan Williams Acked-By: NeilBrown commit 830ea01673a397798d1281d2022615559f5001bb Author: Dan Williams Date: Tue Jan 2 13:52:31 2007 -0700 md: handle_stripe5 - request io processing in raid5_run_ops I/O submission requests were already handled outside of the stripe lock in handle_stripe. Now that handle_stripe is only tasked with finding work, this logic belongs in raid5_run_ops. Signed-off-by: Dan Williams Acked-By: NeilBrown commit f0a50d3754c7f1b7f05f45b1c0b35d20445316b5 Author: Dan Williams Date: Tue Jan 2 13:52:31 2007 -0700 md: handle_stripe5 - add request/completion logic for async expand ops When a stripe is being expanded bulk copying takes place to move the data from the old stripe to the new. Since raid5_run_ops only operates on one stripe at a time these bulk copies are handled in-line under the stripe lock. In the dma offload case we poll for the completion of the operation. After the data has been copied into the new stripe the parity needs to be recalculated across the new disks. We reuse the existing postxor functionality to carry out this calculation. By setting STRIPE_OP_POSTXOR without setting STRIPE_OP_BIODRAIN the completion path in handle stripe can differentiate expand operations from normal write operations. Signed-off-by: Dan Williams Acked-By: NeilBrown commit b5e98d65d34a1c11a2135ea8a9b2619dbc7216c8 Author: Dan Williams Date: Tue Jan 2 13:52:31 2007 -0700 md: handle_stripe5 - add request/completion logic for async read ops When a read bio is attached to the stripe and the corresponding block is marked R5_UPTODATE, then a read (biofill) operation is scheduled to copy the data from the stripe cache to the bio buffer. handle_stripe flags the blocks to be operated on with the R5_Wantfill flag. If new read requests arrive while raid5_run_ops is running they will not be handled until handle_stripe is scheduled to run again. Changelog: * cleanup to_read and to_fill accounting * do not fail reads that have reached the cache Signed-off-by: Dan Williams Acked-By: NeilBrown commit e89f89629b5de76e504d1be75c82c4a6b2419583 Author: Dan Williams Date: Tue Jan 2 13:52:31 2007 -0700 md: handle_stripe5 - add request/completion logic for async check ops Check operations are scheduled when the array is being resynced or an explicit 'check/repair' command was sent to the array. Previously check operations would destroy the parity block in the cache such that even if parity turned out to be correct the parity block would be marked !R5_UPTODATE at the completion of the check. When the operation can be carried out by a dma engine the assumption is that it can check parity as a read-only operation. If raid5_run_ops notices that the check was handled by hardware it will preserve the R5_UPTODATE status of the parity disk. When a check operation determines that the parity needs to be repaired we reuse the existing compute block infrastructure to carry out the operation. Repair operations imply an immediate write back of the data, so to differentiate a repair from a normal compute operation the STRIPE_OP_MOD_REPAIR_PD flag is added. Changelog: * remove test_and_set/test_and_clear BUG_ONs, Neil Brown Signed-off-by: Dan Williams Acked-By: NeilBrown commit f38e12199a94ca458e4f03c5a2c984fb80adadc5 Author: Dan Williams Date: Tue Jan 2 13:52:30 2007 -0700 md: handle_stripe5 - add request/completion logic for async compute ops handle_stripe will compute a block when a backing disk has failed, or when it determines it can save a disk read by computing the block from all the other up-to-date blocks. Previously a block would be computed under the lock and subsequent logic in handle_stripe could use the newly up-to-date block. With the raid5_run_ops implementation the compute operation is carried out a later time outside the lock. To preserve the old functionality we take advantage of the dependency chain feature of async_tx to flag the block as R5_Wantcompute and then let other parts of handle_stripe operate on the block as if it were up-to-date. raid5_run_ops guarantees that the block will be ready before it is used in another operation. However, this only works in cases where the compute and the dependent operation are scheduled at the same time. If a previous call to handle_stripe sets the R5_Wantcompute flag there is no facility to pass the async_tx dependency chain across successive calls to raid5_run_ops. The req_compute variable protects against this case. Changelog: * remove the req_compute BUG_ON Signed-off-by: Dan Williams Acked-By: NeilBrown commit e33129d84130459dbb764a1a52a4bfceab3da978 Author: Dan Williams Date: Tue Jan 2 13:52:30 2007 -0700 md: handle_stripe5 - add request/completion logic for async write ops After handle_stripe5 decides whether it wants to perform a read-modify-write, or a reconstruct write it calls handle_write_operations5. A read-modify-write operation will perform an xor subtraction of the blocks marked with the R5_Wantprexor flag, copy the new data into the stripe (biodrain) and perform a postxor operation across all up-to-date blocks to generate the new parity. A reconstruct write is run when all blocks are already up-to-date in the cache so all that is needed is a biodrain and postxor. On the completion path STRIPE_OP_PREXOR will be set if the operation was a read-modify-write. The STRIPE_OP_BIODRAIN flag is used in the completion path to differentiate write-initiated postxor operations versus expansion-initiated postxor operations. Completion of a write triggers i/o to the drives. Changelog: * make the 'rcw' parameter to handle_write_operations5 a simple flag, Neil Brown * remove test_and_set/test_and_clear BUG_ONs, Neil Brown Signed-off-by: Dan Williams Acked-By: NeilBrown commit d84e0f10d38393f617227f0c831a99c69294651f Author: Dan Williams Date: Tue Jan 2 13:52:30 2007 -0700 md: common infrastructure for running operations with raid5_run_ops All the handle_stripe operations that are to be transitioned to use raid5_run_ops need a method to coherently gather work under the stripe-lock and hand that work off to raid5_run_ops. The 'get_stripe_work' routine runs under the lock to read all the bits in sh->ops.pending that do not have the corresponding bit set in sh->ops.ack. This modified 'pending' bitmap is then passed to raid5_run_ops for processing. The transition from 'ack' to 'completion' does not need similar protection as the existing release_stripe infrastructure will guarantee that handle_stripe will run again after a completion bit is set, and handle_stripe can tolerate a sh->ops.completed bit being set while the lock is held. A call to async_tx_issue_pending_all() is added to raid5d to kick the offload engines once all pending stripe operations work has been submitted. This enables batching of the submission and completion of operations. Signed-off-by: Dan Williams Acked-By: NeilBrown commit 91c00924846a0034020451c280c76baa4299f9dc Author: Dan Williams Date: Tue Jan 2 13:52:30 2007 -0700 md: raid5_run_ops - run stripe operations outside sh->lock When the raid acceleration work was proposed, Neil laid out the following attack plan: 1/ move the xor and copy operations outside spin_lock(&sh->lock) 2/ find/implement an asynchronous offload api The raid5_run_ops routine uses the asynchronous offload api (async_tx) and the stripe_operations member of a stripe_head to carry out xor+copy operations asynchronously, outside the lock. To perform operations outside the lock a new set of state flags is needed to track new requests, in-flight requests, and completed requests. In this new model handle_stripe is tasked with scanning the stripe_head for work, updating the stripe_operations structure, and finally dropping the lock and calling raid5_run_ops for processing. The following flags outline the requests that handle_stripe can make of raid5_run_ops: STRIPE_OP_BIOFILL - copy data into request buffers to satisfy a read request STRIPE_OP_COMPUTE_BLK - generate a missing block in the cache from the other blocks STRIPE_OP_PREXOR - subtract existing data as part of the read-modify-write process STRIPE_OP_BIODRAIN - copy data out of request buffers to satisfy a write request STRIPE_OP_POSTXOR - recalculate parity for new data that has entered the cache STRIPE_OP_CHECK - verify that the parity is correct STRIPE_OP_IO - submit i/o to the member disks (note this was already performed outside the stripe lock, but it made sense to add it as an operation type The flow is: 1/ handle_stripe sets STRIPE_OP_* in sh->ops.pending 2/ raid5_run_ops reads sh->ops.pending, sets sh->ops.ack, and submits the operation to the async_tx api 3/ async_tx triggers the completion callback routine to set sh->ops.complete and release the stripe 4/ handle_stripe runs again to finish the operation and optionally submit new operations that were previously blocked Note this patch just defines raid5_run_ops, subsequent commits (one per major operation type) modify handle_stripe to take advantage of this routine. Changelog: * removed ops_complete_biodrain in favor of ops_complete_postxor and ops_complete_write. * removed the raid5_run_ops workqueue * call bi_end_io for reads in ops_complete_biofill, saves a call to handle_stripe * explicitly handle the 2-disk raid5 case (xor becomes memcpy), Neil Brown * fix race between async engines and bi_end_io call for reads, Neil Brown * remove unnecessary spin_lock from ops_complete_biofill * remove test_and_set/test_and_clear BUG_ONs, Neil Brown * remove explicit interrupt handling for channel switching, this feature was absorbed (i.e. it is now implicit) by the async_tx api * use return_io in ops_complete_biofill Signed-off-by: Dan Williams Acked-By: NeilBrown commit 45b4233caac05da0118b608a9fc2a40a9fc580cd Author: Dan Williams Date: Mon Jul 9 11:56:43 2007 -0700 raid5: replace custom debug PRINTKs with standard pr_debug Replaces PRINTK with pr_debug, and kills the RAID5_DEBUG definition in favor of the global DEBUG definition. To get local debug messages just add '#define DEBUG' to the top of the file. Signed-off-by: Dan Williams Acked-By: NeilBrown commit a445685647e825c713175d180ffc8dd54d90589b Author: Dan Williams Date: Mon Jul 9 11:56:43 2007 -0700 raid5: refactor handle_stripe5 and handle_stripe6 (v3) handle_stripe5 and handle_stripe6 have very deep logic paths handling the various states of a stripe_head. By introducing the 'stripe_head_state' and 'r6_state' objects, large portions of the logic can be moved to sub-routines. 'struct stripe_head_state' consumes all of the automatic variables that previously stood alone in handle_stripe5,6. 'struct r6_state' contains the handle_stripe6 specific variables like p_failed and q_failed. One of the nice side effects of the 'stripe_head_state' change is that it allows for further reductions in code duplication between raid5 and raid6. The following new routines are shared between raid5 and raid6: handle_completed_write_requests handle_requests_to_failed_array handle_stripe_expansion Changes: * v2: fixed 'conf->raid_disk-1' for the raid6 'handle_stripe_expansion' path * v3: removed the unused 'dirty' field from struct stripe_head_state * v3: coalesced open coded bi_end_io routines into return_io() Signed-off-by: Dan Williams Acked-By: NeilBrown commit 9bc89cd82d6f88fb0ca39b30445c329a430fd66b Author: Dan Williams Date: Tue Jan 2 11:10:44 2007 -0700 async_tx: add the async_tx api The async_tx api provides methods for describing a chain of asynchronous bulk memory transfers/transforms with support for inter-transactional dependencies. It is implemented as a dmaengine client that smooths over the details of different hardware offload engine implementations. Code that is written to the api can optimize for asynchronous operation and the api will fit the chain of operations to the available offload resources. I imagine that any piece of ADMA hardware would register with the 'async_*' subsystem, and a call to async_X would be routed as appropriate, or be run in-line. - Neil Brown async_tx exploits the capabilities of struct dma_async_tx_descriptor to provide an api of the following general format: struct dma_async_tx_descriptor * async_(..., struct dma_async_tx_descriptor *depend_tx, dma_async_tx_callback cb_fn, void *cb_param) { struct dma_chan *chan = async_tx_find_channel(depend_tx, ); struct dma_device *device = chan ? chan->device : NULL; int int_en = cb_fn ? 1 : 0; struct dma_async_tx_descriptor *tx = device ? device->device_prep_dma_(chan, len, int_en) : NULL; if (tx) { /* run asynchronously */ ... tx->tx_set_dest(addr, tx, index); ... tx->tx_set_src(addr, tx, index); ... async_tx_submit(chan, tx, flags, depend_tx, cb_fn, cb_param); } else { /* run synchronously */ ... ... async_tx_sync_epilog(flags, depend_tx, cb_fn, cb_param); } return tx; } async_tx_find_channel() returns a capable channel from its pool. The channel pool is organized as a per-cpu array of channel pointers. The async_tx_rebalance() routine is tasked with managing these arrays. In the uniprocessor case async_tx_rebalance() tries to spread responsibility evenly over channels of similar capabilities. For example if there are two copy+xor channels, one will handle copy operations and the other will handle xor. In the SMP case async_tx_rebalance() attempts to spread the operations evenly over the cpus, e.g. cpu0 gets copy channel0 and xor channel0 while cpu1 gets copy channel 1 and xor channel 1. When a dependency is specified async_tx_find_channel defaults to keeping the operation on the same channel. A xor->copy->xor chain will stay on one channel if it supports both operation types, otherwise the transaction will transition between a copy and a xor resource. Currently the raid5 implementation in the MD raid456 driver has been converted to the async_tx api. A driver for the offload engines on the Intel Xscale series of I/O processors, iop-adma, is provided in a later commit. With the iop-adma driver and async_tx, raid456 is able to offload copy, xor, and xor-zero-sum operations to hardware engines. On iop342 tiobench showed higher throughput for sequential writes (20 - 30% improvement) and sequential reads to a degraded array (40 - 55% improvement). For the other cases performance was roughly equal, +/- a few percentage points. On a x86-smp platform the performance of the async_tx implementation (in synchronous mode) was also +/- a few percentage points of the original implementation. According to 'top' on iop342 CPU utilization drops from ~50% to ~15% during a 'resync' while the speed according to /proc/mdstat doubles from ~25 MB/s to ~50 MB/s. The tiobench command line used for testing was: tiobench --size 2048 --block 4096 --block 131072 --dir /mnt/raid --numruns 5 * iop342 had 1GB of memory available Details: * if CONFIG_DMA_ENGINE=n the asynchronous path is compiled away by making async_tx_find_channel a static inline routine that always returns NULL * when a callback is specified for a given transaction an interrupt will fire at operation completion time and the callback will occur in a tasklet. if the the channel does not support interrupts then a live polling wait will be performed * the api is written as a dmaengine client that requests all available channels * In support of dependencies the api implicitly schedules channel-switch interrupts. The interrupt triggers the cleanup tasklet which causes pending operations to be scheduled on the next channel * Xor engines treat an xor destination address differently than a software xor routine. To the software routine the destination address is an implied source, whereas engines treat it as a write-only destination. This patch modifies the xor_blocks routine to take a an explicit destination address to mirror the hardware. Changelog: * fixed a leftover debug print * don't allow callbacks in async_interrupt_cond * fixed xor_block changes * fixed usage of ASYNC_TX_XOR_DROP_DEST * drop dma mapping methods, suggested by Chris Leech * printk warning fixups from Andrew Morton * don't use inline in C files, Adrian Bunk * select the API when MD is enabled * BUG_ON xor source counts <= 1 * implicitly handle hardware concerns like channel switching and interrupts, Neil Brown * remove the per operation type list, and distribute operation capabilities evenly amongst the available channels * simplify async_tx_find_channel to optimize the fast path * introduce the channel_table_initialized flag to prevent early calls to the api * reorganize the code to mimic crypto * include mm.h as not all archs include it in dma-mapping.h * make the Kconfig options non-user visible, Adrian Bunk * move async_tx under crypto since it is meant as 'core' functionality, and the two may share algorithms in the future * move large inline functions into c files * checkpatch.pl fixes * gpl v2 only correction Cc: Herbert Xu Signed-off-by: Dan Williams Acked-By: NeilBrown commit 685784aaf3cd0e3ff5e36c7ecf6f441cdbf57f73 Author: Dan Williams Date: Mon Jul 9 11:56:42 2007 -0700 xor: make 'xor_blocks' a library routine for use with async_tx The async_tx api tries to use a dma engine for an operation, but will fall back to an optimized software routine otherwise. Xor support is implemented using the raid5 xor routines. For organizational purposes this routine is moved to a common area. The following fixes are also made: * rename xor_block => xor_blocks, suggested by Adrian Bunk * ensure that xor.o initializes before md.o in the built-in case * checkpatch.pl fixes * mark calibrate_xor_blocks __init, Adrian Bunk Cc: Adrian Bunk Cc: NeilBrown Cc: Herbert Xu Signed-off-by: Dan Williams commit d379b01e9087a582d58f4b678208a4f8d8376fe7 Author: Dan Williams Date: Mon Jul 9 11:56:42 2007 -0700 dmaengine: make clients responsible for managing channels The current implementation assumes that a channel will only be used by one client at a time. In order to enable channel sharing the dmaengine core is changed to a model where clients subscribe to channel-available-events. Instead of tracking how many channels a client wants and how many it has received the core just broadcasts the available channels and lets the clients optionally take a reference. The core learns about the clients' needs at dma_event_callback time. In support of multiple operation types, clients can specify a capability mask to only be notified of channels that satisfy a certain set of capabilities. Changelog: * removed DMA_TX_ARRAY_INIT, no longer needed * dma_client_chan_free -> dma_chan_release: switch to global reference counting only at device unregistration time, before it was also happening at client unregistration time * clients now return dma_state_client to dmaengine (ack, dup, nak) * checkpatch.pl fixes * fixup merge with git-ioat Cc: Chris Leech Signed-off-by: Shannon Nelson Signed-off-by: Dan Williams Acked-by: David S. Miller commit 7405f74badf46b5d023c5d2b670b4471525f6c91 Author: Dan Williams Date: Tue Jan 2 11:10:43 2007 -0700 dmaengine: refactor dmaengine around dma_async_tx_descriptor The current dmaengine interface defines mutliple routines per operation, i.e. dma_async_memcpy_buf_to_buf, dma_async_memcpy_buf_to_page etc. Adding more operation types (xor, crc, etc) to this model would result in an unmanageable number of method permutations. Are we really going to add a set of hooks for each DMA engine whizbang feature? - Jeff Garzik The descriptor creation process is refactored using the new common dma_async_tx_descriptor structure. Instead of per driver do___to_ methods, drivers integrate dma_async_tx_descriptor into their private software descriptor and then define a 'prep' routine per operation. The prep routine allocates a descriptor and ensures that the tx_set_src, tx_set_dest, tx_submit routines are valid. Descriptor creation and submission becomes: struct dma_device *dev; struct dma_chan *chan; struct dma_async_tx_descriptor *tx; tx = dev->device_prep_dma_(chan, len, int_flag) tx->tx_set_src(dma_addr_t, tx, index /* for multi-source ops */) tx->tx_set_dest(dma_addr_t, tx, index) tx->tx_submit(tx) In addition to the refactoring, dma_async_tx_descriptor also lays the groundwork for definining cross-channel-operation dependencies, and a callback facility for asynchronous notification of operation completion. Changelog: * drop dma mapping methods, suggested by Chris Leech * fix ioat_dma_dependency_added, also caught by Andrew Morton * fix dma_sync_wait, change from Andrew Morton * uninline large functions, change from Andrew Morton * add tx->callback = NULL to dmaengine calls to interoperate with async_tx calls * hookup ioat_tx_submit * convert channel capabilities to a 'cpumask_t like' bitmap * removed DMA_TX_ARRAY_INIT, no longer needed * checkpatch.pl fixes * make set_src, set_dest, and tx_submit descriptor specific methods * fixup git-ioat merge * move group_list and phys to dma_async_tx_descriptor Cc: Jeff Garzik Cc: Chris Leech Signed-off-by: Shannon Nelson Signed-off-by: Dan Williams Acked-by: David S. Miller commit 51a92c0f6ce8fa85fa0e18ecda1d847e606e8066 Author: Jens Axboe Date: Fri Jul 13 14:11:43 2007 +0200 splice: fix offset mangling with direct splicing (sendfile) If the output actor doesn't transfer the full amount of data, we will increment ppos too much. Two related bugs in there: - We need to break out and return actor() retval if it is shorted than what we spliced into the pipe. - Adjust ppos only according to actor() return. Also fix loop problem in generic_file_splice_read(), it should not keep going when data has already been transferred. Signed-off-by: Jens Axboe commit 29ce20586be54ceba49c55ae049541398cd2c416 Author: James Morris Date: Fri Jul 13 11:44:32 2007 +0200 security: revalidate rw permissions for sys_splice and sys_vmsplice Revalidate read/write permissions for splice(2) and vmslice(2), in case security policy has changed since the files were opened. Acked-by: Stephen Smalley Signed-off-by: James Morris Signed-off-by: Jens Axboe commit d3f35d98b3b87d2506289320375687c6e9bc53ed Author: Tom Zanussi Date: Thu Jul 12 08:12:05 2007 +0200 relay: fixup kerneldoc comment Change comment from kerneldoc to normal. Signed-off-by: Tom Zanussi Signed-off-by: Jens Axboe commit 24da24de2eae0c277b85836e2b4b09cfafeea995 Author: Tom Zanussi Date: Thu Jul 12 08:12:04 2007 +0200 relay: fix bogus cast in subbuf_splice_actor() The current code that sets the read position in subbuf_splice_actor may give erroneous results if the buffer size isn't a power of 2. This patch fixes the problem. Signed-off-by: Tom Zanussi Signed-off-by: Jens Axboe commit 9a60ddbcb710ff78cd8c772681723a04e3f5aba3 Author: Dave Jones Date: Fri Jul 13 01:34:10 2007 -0400 [CPUFREQ] Fix typos in powernow-k8 printk's. Based on a patch from Joachim which didn't apply, so I fixed it up by hand, and also corrected the surrounding indentation a little. Signed-off-by: Joachim.Deguara Acked-by: Mark Langsdorf Signed-off-by: Dave Jones commit 084f34939424161669467c19280dbcf637730314 Author: Thomas Renninger Date: Mon Jul 9 11:35:28 2007 -0700 [CPUFREQ] Restore previously used governor on a hot-replugged CPU Negative side effect: needs NR_CPUs pointer array of memory in CONFIG_HOTPLUG_CPU case. Still needs userspace track keeping and rewriting of governors if governors change while a CPU is not active (always the governor at CPU remove time is restored). Move of policy->user_policy.governor assignment is just a minor cleanup. http://bugzilla.kernel.org/show_bug.cgi?id=8671 Signed-off-by: Thomas Renninger Signed-off-by: Mattia Dongili Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit 91973de736bc97dc04156242c5a4b00993b6c902 Author: Peter Oruba Date: Mon Jul 9 11:35:27 2007 -0700 [CPUFREQ] bugfix cpufreq in combination with performance governor There is a frequency scaling issue that I encountered with the performance governor in combination with CPU hotplug. In cpufreq.c CPU frequency is reduced to its minimum before the CPU gets unregistered and set offline. Does that have a particular reason? Since the (k8-)governor does not monitor CPU frequency that setting also applies then to the remaining CPU as well and lets the system run on the lowest frequency although performance is chose as the policy. Signed-off-by: Peter Oruba Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit aac22d0a79f51d7bd93145be36322baaa4b423f8 Author: Andrew Morton Date: Mon Jul 9 11:35:27 2007 -0700 [CPUFREQ] powernow-k8 compile fix. Make it compile on UP. Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit 68485695e5a84399da7b48b208ac42623fe22963 Author: Adrian Bunk Date: Sun Jul 8 23:39:14 2007 +0200 [CPUFREQ] the overdue removal of X86_SPEEDSTEP_CENTRINO_ACPI This patch contains the overdue removal of X86_SPEEDSTEP_CENTRINO_ACPI. Signed-off-by: Adrian Bunk Acked-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit 905497c4b2e6715eebde97cbcb313354e14c2489 Author: Rafał Bilski Date: Sun Jul 8 21:51:26 2007 +0200 [CPUFREQ] Longhaul - Option to disable ACPI C3 support On some motherboards ACPI C3 is available, but it isn't causing frequency transition on VIA Nehemiah. Longhaul wasn't working at all earlier, but due to scaling_cur_speed returning true CPU frequency now, it looks like CPU is getting stuck at highest frequency since 2.6.21. I didn't find a reason. Halt is causing frequency transition. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 075fc19bdea9120989142fa2179abd958b3a5c72 Author: Paul Mundt Date: Fri Jul 13 12:27:13 2007 +0900 sh: Revert __xdiv64_32 size change. It's only __div64_32 that needs the fix, __xdiv64_32 behaves as expected with the original size. Signed-off-by: Paul Mundt commit 2f5a5dc0c1a9e970ceb9b47d778732962d6dd9f6 Author: Paul Mundt Date: Fri Jul 13 09:30:57 2007 +0900 sh: Update r7785rp defconfig. Signed-off-by: Paul Mundt commit 2414b86d21dbacc53826d375c6001d31d8ebbee2 Author: Paul Mundt Date: Fri Jul 13 09:30:31 2007 +0900 sh: Export div symbols for GCC 4.2 and ST GCC. GCC 4.2 can emit integer variants of the FP division routines, so these need to be exported in order to keep the modules happy. 4.1.x versions of the ST compiler have these things backported, and so also generate these symbols (whereas vanilla gcc 4.1.x does not), so handle the __GNUC_STM_RELEASE__ case to accomodate updated versions of the 4.1.x toolchain. Signed-off-by: Paul Mundt commit 773208946a132fb733ba273ee8562814f828cc28 Author: Linus Torvalds Date: Thu Jul 12 17:06:50 2007 -0700 Revert "USB: fix gregkh-usb-usb-use-menuconfig-objects" This reverts commit acb11c8b8020f1f1b2545152020675ef32d09a58. It was broken. We most certainly *do* want the default to be the old behaviour (and the common case!), instead of breaking everybodys configuration and making 99% of all people have to override the default. What were you guys thinking? Signed-off-by: Linus Torvalds commit 9374430a52dfae5c013b88f7f030c04a6774d410 Merge: 66f4973... 13f9966... Author: Linus Torvalds Date: Thu Jul 12 16:46:58 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6: (149 commits) USB: ohci-pnx4008: Remove unnecessary cast of return value of kzalloc USB: additions to the quirk list usb-storage: implement autosuspend USB: cdc-acm: add new device id to option driver USB: goku_udc trivial cleanups USB: usb gadget stack can now -DDEBUG with Kconfig usb gadget stack: remove usb_ep_*_buffer(), part 2 usb gadget stack: remove usb_ep_*_buffer(), part 1 USB: pxa2xx_udc -- cleanups, mostly removing dma hooks USB: pxa2xx_udc: use generic gpio layer USB: quirk for samsung printer USB: usb/dma doc updates USB: drivers/usb/storage/unusual_devs.h whitespace cleanup USB: remove Makefile reference to obsolete OHCI_AT91 USB: io_*: remove bogus termios no change checks USB: mos7720: remove bogus no termios change check USB: visor and whiteheat: remove bogus termios change checks USB: pl2303: remove bogus checks and fix speed support to use tty_get_baud_rate() USB: mos7840.c: turn this into a serial driver USB: make the usb_device numa_node get assigned from controller ... commit 66f49739fe1591197364f2dad1b67b975e8f5e85 Merge: 0cdf699... 57e4acb... Author: Linus Torvalds Date: Thu Jul 12 16:46:01 2007 -0700 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] Un-break ia64 build commit 0cdf6990e992902ae59cbc625d28cb41390f378e Merge: de081fa... cec7c89... Author: Linus Torvalds Date: Thu Jul 12 16:45:40 2007 -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: (76 commits) IB: Update MAINTAINERS with Hal's new email address IB/mlx4: Implement query SRQ IB/mlx4: Implement query QP IB/cm: Send no match if a SIDR REQ does not match a listen IB/cm: Fix handling of duplicate SIDR REQs IB/cm: cm_msgs.h should include ib_cm.h IB/cm: Include HCA ACK delay in local ACK timeout IB/cm: Use spin_lock_irq() instead of spin_lock_irqsave() when possible IB/sa: Make sure SA queries use default P_Key IPoIB: Recycle loopback skbs instead of freeing and reallocating IB/mthca: Replace memset(, 0, PAGE_SIZE) with clear_page() IPoIB/cm: Fix warning if IPV6 is not enabled IB/core: Take sizeof the correct pointer when calling kmalloc() IB/ehca: Improve latency by unlocking after triggering the hardware IB/ehca: Notify consumers of LID/PKEY/SM changes after nondisruptive events IB/ehca: Return QP pointer in poll_cq() IB/ehca: Change idr spinlocks into rwlocks IB/ehca: Refactor sync between completions and destroy_cq using atomic_t IB/ehca: Lock renaming, static initializers IB/ehca: Report RDMA atomic attributes in query_qp() ... commit de081fa517fed81b0369f2e90ca87c30182879c8 Author: Linus Torvalds Date: Thu Jul 12 16:40:08 2007 -0700 Revert "[BNX2]: Seems to not need net/tcp.h" This reverts commit 963bd949b12158d9b5380b718b31c4b33372ed73. The driver _does_ need the networking header files; CC [M] drivers/net/bnx2.o drivers/net/bnx2.c: In function 'bnx2_start_xmit': drivers/net/bnx2.c:5177: warning: implicit declaration of function 'tcp_optlen' drivers/net/bnx2.c:5181: error: invalid application of 'sizeof' to incomplete type 'struct ipv6hdr' drivers/net/bnx2.c:5202: error: invalid application of 'sizeof' to incomplete type 'struct tcphdr' drivers/net/bnx2.c:5207: warning: implicit declaration of function 'tcp_hdr' drivers/net/bnx2.c:5207: error: invalid type argument of '->' make[2]: *** [drivers/net/bnx2.o] Error 1 make[1]: *** [drivers/net] Error 2 make: *** [drivers] Error 2 Cc: Ilpo Jävinen Cc: David Miller Signed-off-by: Linus Torvalds commit 13f9966b3ba5b45f47f2ea0eb0a90afceedfbb1f Author: Suresh Jayaraman Date: Thu Jun 28 11:16:30 2007 -0600 USB: ohci-pnx4008: Remove unnecessary cast of return value of kzalloc Remove unnecessary cast of return value of kzalloc() in usb/host/ohci-pnx4008.c Signed-off-by: Suresh Jayaraman Signed-off-by: Greg Kroah-Hartman commit 6c59649d49df4b9084bf407890734b5965d77b41 Author: Oliver Neukum Date: Tue Jul 10 14:12:08 2007 +0200 USB: additions to the quirk list this adds some scanners reported to be crashed by autosuspend to the quirk list. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 8dfe4b14869fd185ca25ee88b02ada58a3005eaf Author: Alan Stern Date: Fri Jul 6 14:24:27 2007 -0400 usb-storage: implement autosuspend This patch (as930) implements autosuspend for usb-storage. It is adapted from a patch by Oliver Neukum. Autosuspend is allowed except during LUN scanning, resets, and command execution. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit b0e2a705bffbfb70d9bed8b5f9094901f28d9563 Author: Andrey Arapov Date: Wed Jul 4 17:11:42 2007 +0200 USB: cdc-acm: add new device id to option driver USB: add new device id to option driver device is Samsung X180 China cellphone Signed-off-by: Andrey Arapov Acked-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 2d70c99b9340fa6c834fa6e32209e153f35a3e20 Author: David Brownell Date: Sun Jul 1 17:55:50 2007 -0700 USB: goku_udc trivial cleanups Minor fixes to goku_udc ... whitespace, let -DDEBUG do its thing, check the return value of device_register(), sparse tweaks. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 70790f6339a868e2a0d643f44899418f64a95943 Author: David Brownell Date: Sun Jul 1 17:35:28 2007 -0700 USB: usb gadget stack can now -DDEBUG with Kconfig Although the other USB driver directories got taught how use Kconfig and the Makefile to enable the debugging messages enabled by -DDEBUG, the gadget stack was overlooked. This patch remedies that omission, but doesn't update any drivers to remove previous idiosyncracies in this area ... other than the RNDIS code, which defined its own DEBUG() macro in a broken way. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit c67ab134ba9f83f9de86e58adfeaa14a9efa6e00 Author: David Brownell Date: Sun Jul 1 12:21:00 2007 -0700 usb gadget stack: remove usb_ep_*_buffer(), part 2 This patch removes controller driver infrastructure which supported the now-removed usb_ep_{alloc,free}_buffer() calls. As can be seen, many of the implementations of this were broken to various degrees. Many didn't properly return dma-coherent mappings; those which did so were necessarily ugly because of bogosity in the underlying dma_free_coherent() calls ... which on many platforms can't be called from the same contexts (notably in_irq) from which their dma_alloc_coherent() sibling can be called. The main potential downside of removing this is that gadget drivers wouldn't have specific knowledge that the controller drivers have: endpoints that aren't dma-capable don't need any dma mappings at all. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 9d8bab58b758cd5a96d368a8cc64111c9ab50407 Author: David Brownell Date: Sun Jul 1 11:04:54 2007 -0700 usb gadget stack: remove usb_ep_*_buffer(), part 1 Remove usb_ep_{alloc,free}_buffer() calls, for small dma-coherent buffers. This patch just removes the interface and its users; later patches will remove controller driver support. - This interface is invariably not implemented correctly in the controller drivers (e.g. using dma pools, a mechanism which post-dates the interface by several years). - At this point no gadget driver really *needs* to use it. In current kernels, any driver that needs such a mechanism could allocate a dma pool themselves. Removing this interface is thus a simplification and improvement. Note that the gmidi.c driver had a bug in this area; fixed. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit ad8c623f4f48085edd51c7f4cdfd10295547bf45 Author: David Brownell Date: Sat Jun 30 06:30:04 2007 -0700 USB: pxa2xx_udc -- cleanups, mostly removing dma hooks Cleanups to the pxa2xx_udc code: - Primarily removing unused DMA hooks. - One "sparse" warning removed - Remove some Lubbock-only LED hooks (for debugging) That DMA code was never really completed. It worked, mostly, for IN transfers (to the host) if they were fortuitously aligned, but that code was never fully tested. And it was never coded for OUT transfers (which is where DMA would really help) ... because of chip errata on essentially every chip other than the pxa255, and because of design botches (nothing automated data toggle). So it's effectively been dead code for several years now ... no point in keeping it around. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 9068a4c6467986e8fda5bdb29bd5f10c6788e2ff Author: Milan Svoboda Date: Sat Jun 30 06:25:35 2007 -0700 USB: pxa2xx_udc: use generic gpio layer This patch lets the pxa2xx_udc use the generic gpio layer, on the relevant PXA and IXP systems. Signed-off-by: Milan Svoboda Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit e4f747373cd96c86db3c64c21710748c6889c03c Author: Oliver Neukum Date: Fri Jun 29 08:44:37 2007 +0200 USB: quirk for samsung printer this printer does not survive suspension. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit fbf54dd32001359ccda6a9d8577f7b00e67357c7 Author: David Brownell Date: Sun Jul 1 23:33:12 2007 -0700 USB: usb/dma doc updates This patch updates some of the documentation about DMA buffer management for USB, and ways to avoid extra copying. Our understanding of the issues has improved over time. - Most drivers should *avoid* the dma-coherent allocators. There are a few exceptions (like the HID driver). - Some methods are currently commented out; it seems folk writing USB drivers aren't doing performance tuning at that level yet. - Just avoid highmem; there's no good way to pass an "I can do highmem DMA" capability through a driver stack. This is easy, everything already avoids highmem. But it'd be nice if x86_32 systems with much physical memory could use it directly with network adapters and mass storage devices. (Patch, anyone?) Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit c0e0c19cc9d899da0ee15104907ac158eb94365b Author: S.Caglar Onur Date: Wed Jul 4 13:52:47 2007 -0700 USB: drivers/usb/storage/unusual_devs.h whitespace cleanup Following patch removes trailing whitespaces at the ends of lines and converts smarttabs/whitespaces into real tabs. Signed-off-by: S.Caglar Onur Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit a603c665516a3cb9df6abafad491bef24cc87aa5 Author: Robert P. J. Day Date: Mon Jul 9 12:03:13 2007 -0700 USB: remove Makefile reference to obsolete OHCI_AT91 Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 6dc731024347ab499c3fc0347ab90d972771b8a1 Author: Alan Cox Date: Mon Jul 9 12:03:12 2007 -0700 USB: io_*: remove bogus termios no change checks Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit eb58c0c5f2b3cf6306a184cdf1c751155b7ddb3b Author: Alan Cox Date: Mon Jul 9 12:03:12 2007 -0700 USB: mos7720: remove bogus no termios change check Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 9a64f251326154dcd40b21a6980fe2ab9537dde7 Author: Alan Cox Date: Mon Jul 9 12:03:11 2007 -0700 USB: visor and whiteheat: remove bogus termios change checks Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit e0c79f512cf469bc11fe9d53a4dcc5d0c39a3b79 Author: Alan Cox Date: Mon Jul 9 12:03:10 2007 -0700 USB: pl2303: remove bogus checks and fix speed support to use tty_get_baud_rate() Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 31473aae5afb11f0c5217dafdbc9df8a470071aa Author: Alan Cox Date: Mon Jul 9 12:03:10 2007 -0700 USB: mos7840.c: turn this into a serial driver The MOS driver is "interesting", in a bad kind of 'how the hell did this get merged' kind of way - Remove the bogus termios change check - Remove the duplicate code for half the ioctls - Remove the supporting code to duplicate the ioctl code Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 70f458f668aa09cc45384728dec434f2975a3947 Author: Yinghai Lu Date: Mon Jul 9 12:03:09 2007 -0700 USB: make the usb_device numa_node get assigned from controller So we can use dev_to_node(&usb_dev->dev) later in kmalloc_node to dma buffer Signed-off-by: Yinghai Lu Cc: Andi Kleen Acked-by: Christoph Lameter Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 0ffbbe25a73db12792a05f725aa39f8a5de2c882 Author: Oliver Neukum Date: Mon Jul 9 12:03:08 2007 -0700 USB: ftdi_sio: fix oops due to processing workarounds too early Fix an oops that happens in relation with applying work arounds for buggy ftdi_sio devices. The quirks were handled too early because due to changes in the initialisation of usb serial devices the device was not fully initialised when the old hook was called. Addresses bug 8564 Cc: Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit a69228deefea57ca27c17a196e5727b091c6d323 Author: Matthias Kaehlcke Date: Mon Jul 9 12:03:07 2007 -0700 USB: drivers/block/ub.c: use list_for_each_entry() Low performance USB storage driver: Use list_for_each_entry() instead of list_for_each() Signed-off-by: Matthias Kaehlcke Cc: Pete Zaitcev Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit acb11c8b8020f1f1b2545152020675ef32d09a58 Author: Jan Engelhardt Date: Mon Jul 9 12:03:06 2007 -0700 USB: fix gregkh-usb-usb-use-menuconfig-objects Generally, Jens Axboe was against 'default y', so I'll have some patches to remove it. Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 8d6d5fd05088c023bb8b22a4bd0067c21f9c5f18 Author: Venki Pallipadi Date: Mon Jul 9 12:03:06 2007 -0700 USB: Make usb-autosuspend timer 1 sec jiffy aligned Make usb autosuspend timers 1sec jiffy aligned. This helps to reduce the frequency at which the CPU must be taken out of a lower-power state. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 8e80e753ea654ae0a66b33e404c0a517b34cb6e1 Author: Jeremy Katz Date: Tue Jun 19 17:16:10 2007 -0400 USB: Don't autosuspend Blackberry devices. Blackberry devices charge over USB. By autosuspending the port, they are not able to charge reliably. Signed-off-by: Jeremy Katz Signed-off-by: Greg Kroah-Hartman commit 49bb607fa0bd94e4855ee695f9ed3ecee7579cc6 Author: Jeremy Katz Date: Tue Jun 19 17:15:38 2007 -0400 USB: Support Blackberry Pearl with berry_charge The Blackberry Pearl (8100) needs similar tweaks as older Blackberry models to be able to charge when connected via USB. The Pearl also adds an additional need to go into a separate mode for fully accessing the device; do that by default as well. Changes based on the changes from bcharge in the barry project (http://barry.sf.net) Signed-off-by: Jeremy Katz Signed-off-by: Greg Kroah-Hartman commit 165fe97ed6107d3cde63592d5ac36400a5eb9f6f Author: Craig W. Nadler Date: Fri Jun 15 23:14:35 2007 -0400 USB: add IAD support to usbfs and sysfs USB_IAD: Adds support for USB Interface Association Descriptors. This patch adds support to the USB host stack for parsing, storing, and displaying Interface Association Descriptors. In /proc/bus/usb/devices lines starting with A: show the fields in an IAD. In sysfs if an interface on a USB device is referenced by an IAD the following files will be added to the sysfs directory for that interface: iad_bFirstInterface, iad_bInterfaceCount, iad_bFunctionClass, and iad_bFunctionSubClass, iad_bFunctionProtocol Signed-off-by: Craig W. Nadler Signed-off-by: Greg Kroah-Hartman commit 50d2dc7266573dfbdc84fc207494dd21315782ef Author: Greg Kroah-Hartman Date: Mon Jun 25 01:08:01 2007 -0700 USB: mos7720: change developer email addresses Update the original developer's email addresses at their request. Cc: Vijaya Kumar Cc: Ajay Kumar Cc: Gurudeva Signed-off-by: Greg Kroah-Hartman commit 8ccef0df54642f0f72f922d8aa57e8b290e31671 Author: Alan Stern Date: Thu Jun 21 16:26:46 2007 -0400 USB: Fix off-by-1 error in the scatter-gather library The loop in usb_sg_wait() is structured in a way that makes it hard to tell, when the loop exits, whether or not the last URB submission succeeded. This patch (as928) changes it from a "for" loop to a "while" loop and keeps "i" always equal to the number of successful submissions. This fixes an off-by-one error which can show up when the first URB submission fails. The patch also removes a couple of lines that initialize fields which don't need to be initialized. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit cfa59dab27d1b282886e7772a8f9548236883892 Author: Alan Stern Date: Thu Jun 21 16:25:35 2007 -0400 USB: Don't resume root hub if the controller is suspended Root hubs can't be resumed if their parent controller device is still suspended. This patch (as925) adds a check for that condition in hcd_bus_resume() and prevents it from being treated as a fatal controller failure. ehci-hcd is updated to add the corresponding test. Unnecessary debugging messages are removed from uhci-hcd and dummy-hcd. The error return code from dummy-hcd is changed to -ESHUTDOWN, the same as the others. ohci-hcd doesn't need any changes. Suspend handling in the non-PCI host drivers is somewhat hit-and-miss. This patch shouldn't have any effect on them. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit e7e6da9eb189dfa221e3bf9c21d58f02adc8983c Author: Alan Stern Date: Thu Jun 21 16:25:17 2007 -0400 USB: Remove usages of dev->power.power_state This patch (as922) removes all but one of the remaining vestiges of dev->power.power_state from usbcore. The only usage left must remain until the deprecated "power/state" sysfs attribute is gone. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 317c67b8f7092db325a3df825646eb26982908c6 Author: Pete Zaitcev Date: Thu Jun 21 12:44:56 2007 -0700 USB: usblp: add dynamic URBs, fix races This patch's main bulk aims to make usblp the premier driver for code pillaging once again. The code is as streamlined as possible and is bug-free as possible. The usb-skeleton performs the same function, but is somewhat abstract. The usblp is usb-skeleton which is actually used by many. Since I combed a few small bugs away, this also fixes the small races we had in usblp for a while. For example, now it's possible for several threads to make write(2) calls (sounds silly, but consider a printer for paper record, where every line of text is self-contained and thus it's all right to have them interleaved). Also gone are issues with interrupts using barriers dangerously. This patch makes use of Oliver's anchor, and so it must trail the anchor patch on the way to Linus. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 73e4fb3f70987b36fd0f16b5f762b2018ab84e4f Author: Pete Zaitcev Date: Thu Jun 21 15:18:35 2007 -0700 USB: Pete's taking over usblp Vojtech agreed to pass usblp over to me, so if you find bugs don't bug him. Signed-off-by: Pete Zaitcev Signed-off-by: Vojtech Pavlik Signed-off-by: Greg Kroah-Hartman commit 7542548fd843f3d49068f17a082069319f19992a Author: Li Yang Date: Tue Jun 19 17:33:48 2007 +0800 USB: fsl_usb2_udc: fix bug for portsc bit masking Fix a bug that PORT_TYPE and PORT_WIDTH aren't masked correctly in portsc. Signed-off-by: Christopher Cason Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit 7bbe990c989ee16f2c1be3e4ae28f8004bec788c Author: Oliver Neukum Date: Wed Jun 13 17:13:31 2007 +0200 USB: autosuspend for usblcd this patch implements autosuspend for the usblcd driver. It uses the new usb_anchor infrastructure. Many thanks to Georges for testing. Signed-off-by: Oliver Neukum Cc: Georges Toth Signed-off-by: Greg Kroah-Hartman commit 55b3fd41b0846929f68b5fb1058ad8077289f584 Author: Haavard Skinnemoen Date: Thu Jun 14 18:01:45 2007 +0200 usb gadget: Rename husb2dev -> usba husb2dev was the internal name of the USB Device Controller on AT32AP7000. Rename it to "atmel_usba", which is closer to the official name used in documentation and marketing material. Signed-off-by: Haavard Skinnemoen Signed-off-by: Greg Kroah-Hartman commit 8b3b01c898a44c2fc7217eb579982b9d132113f5 Author: Marcel Holtmann Date: Wed Jun 13 08:02:11 2007 +0200 USB: Add URB_FREE_BUFFER flag and the logic behind it USB: Add URB_FREE_BUFFER flag for freeing the transfer buffer In some cases it is not needed that the driver keeps track of the transfer buffer of an URB. It can be simply freed along with the URB itself when the reference count goes down to zero. The new flag URB_FREE_BUFFER enables this behavior. Signed-off-by: Marcel Holtmann Signed-off-by: Greg Kroah-Hartman commit 300871cd963e24a68aaa9b762f4a10403697d9be Author: Laurent Pinchart Date: Tue Jun 12 21:47:17 2007 +0200 USB: Fix up full-speed bInterval values in high-speed interrupt descriptor Many device manufacturers are using full-speed bInterval values in high-speed interrupt endpoint descriptors. If the bInterval value is greater than 16, assume the device uses full-speed descriptors and fix the value accordingly. Signed-off-by: Laurent Pinchart Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 87d093e25d73249ae92b28ae88db92eaea7df70f Author: Oliver Neukum Date: Mon Jun 11 14:55:51 2007 +0200 USB: usb-skeleton: use anchors in pre/post reset use anchors in pre/post_reset Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 758f7e161b1da3039368bf7180b9d9f4c33453da Author: Oliver Neukum Date: Mon Jun 11 14:55:08 2007 +0200 USB: usb-skeleton" use anchors in suspend/resume handling use anchors in suspend/resume handling Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit e73c7247b8e10a74cbf6b7430585e02c7cc05444 Author: Oliver Neukum Date: Mon Jun 11 14:54:02 2007 +0200 USB: usb-skeleton: use anchors in disconnect handling use anchors in disconnect handling Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit a6ea438b6d38689b7f876093bcba4505fe1995d1 Author: Alan Cox Date: Fri Jun 22 14:44:54 2007 +0100 USB: serial: ir_usb: Clean up the worst of it, remove exciting 'crash on open' feature - Drivers don't call ldisc termios methods. They certainly don't call them the way this one does - remove wrong call - The tty buffer code isn't designed to be abused from IRQ handlers and the new buffering removes the need for the uglies involved - fix them - Style - Remove incorrect baud and change handling for termios changes The driver now has some style, but not a lot - it goes insane if you have two dongles for example as it continues to use global variables for per dongle state. That bit isn't my problem. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 9a8baec77205dfe14f98a4e291c830a311125a8b Author: Alan Cox Date: Fri Jun 22 14:40:18 2007 +0100 USB: serial: belkin_sa: Various needed fixes Use the baud rate stuff from the kernel don't parse CBAUD directly Remove pointless and wrong 'no change' check Could do with some good testing as well but again better than adding && BROKEN (The use of BELKIN_SA_BAUD() might seem a bit odd but x/a = b and x/b = a (rounded for integers)). Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 568c24adeaa4d9ec2fd04c6ae226eeb673a385db Author: Alan Cox Date: Fri Jun 22 14:36:29 2007 +0100 USB: serial: ark3116.c: Mixed fixups o Don't parse the cflag for baud rates, its not valid to do so any more and this driver got it wrong anyway o Don't do clever termios change checks in drivers and get them wrong (arguably we should do some smart ones in the tty core but stty to change nothing is *not* a common or critical path I don't have the hardware so if you can test this carefully please do. I thought fixing it up this far was better than marking it and other bits of USB serial && BROKEN Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 9e85c5f63268a5700860f53e52b090973652a5b2 Author: Greg Kroah-Hartman Date: Wed Jun 20 14:22:23 2007 +0900 USB: sierra: cleanup the startup and shutdown path This removes the ugly code that was copied from the keyspan driver and allocates the in urbs in a much shorter code path that can be understood easier. Also turned off the interrupt urb when no port was open as it's not nice to keep the bus busy for no good reason at all (this should be a power savings.) All in all, this saved over 40 lines of code and cleaned things up better. Cc: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit 17c2327419a889293fb955baf0c69a7d38c5809c Author: Greg Kroah-Hartman Date: Wed Jun 20 14:22:23 2007 +0900 USB: sierra: remove incorrect usage of the urb status field You can't rely on the fact that the status really is correct like it was. Also simplified the write path and now we allocate the urb and data on the fly, instead of trying to do that really odd timeout check which I am guessing doesn't really work properly. This should speed up the device by keeping the hardware queue full easier. As a benefit, this reduces the size of the driver. Cc: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit 05400013698776a71b1e401ceacf709bda3d1517 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: whiteheat: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 38e8c910ff7a1aafe2923f085df0f74a60f9de3c Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: visor: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 52171b480865985c060a58fa3cbcd31ba6e13f75 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: ti_usb_3410_5052: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Al Borchers Cc: Peter Berger Signed-off-by: Greg Kroah-Hartman commit 17dd2215adee8c988b88308671cc20a69839a850 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: sierra: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Kevin Lloyd Signed-off-by: Greg Kroah-Hartman commit 3a75ab943688d765cdb60b33f3f9db72c752c521 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: safe_serial: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Stuart Lynne Cc: Tom Rushworth Signed-off-by: Greg Kroah-Hartman commit 461d696aeeae294ad22dfcaae462d1757f955778 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: pl2303: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 78c26aebd9f4d29f9bd163c7c47f2c89991fcdb1 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: oti6858: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit d6977b51d5faa8649bbab0e53455e8421d425ce1 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: option: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Matthias Urlichs Signed-off-by: Greg Kroah-Hartman commit fdc2deb3892e802e916d1df7b1587aa0dbf3b271 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: omninet: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 9965d612631c62c2018973080fa03396f49fce59 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: navman: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 0643c72435bcd36980314de825773989d4dca97f Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: mos7840: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Paul Schroeder Signed-off-by: Greg Kroah-Hartman commit 81105984848481d8876e454e3c503dbd0e8e4dce Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: mos7720: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: VijayaKumar G.N. Cc: AjayKumar Cc: Gurudeva N. Signed-off-by: Greg Kroah-Hartman commit e96da398ce32c0e2af5eee772feb112323f027b4 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: mct_u232: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Wolfgang Grandegger Signed-off-by: Greg Kroah-Hartman commit 6fcdcf04e391c033eb9a558a744d8729d52e646e Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: kobil_sct: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Thomas Wahrenbruch Signed-off-by: Greg Kroah-Hartman commit 17c1b35a469b5e518b88cc509562ccfb44950145 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: kl5kusb105: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Utz-Uwe Haus Signed-off-by: Greg Kroah-Hartman commit 23189aee76c3297c7ff797ca8bc8e314783039ef Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: keyspan_pda: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 95b934548049e2fd6a67853c6b5055c073bf6961 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: keyspan: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 3152b74f92048223263c54383b3639a2939d853a Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: ir-usb: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Gary Brubaker Signed-off-by: Greg Kroah-Hartman commit b4a1579772667f9ebc0c9e26ed0b674966085e85 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: ipw: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Roelf Diedericks Signed-off-by: Greg Kroah-Hartman commit 2362deb5782d9861a0dade72e2e29114652c69a3 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: ipaq: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Ganesh Varadarajan Signed-off-by: Greg Kroah-Hartman commit ee337c212ad5d61fd58cfa6a4e48a84497495ebc Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: io_ti: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Al Borchers Cc: Peter Berger Signed-off-by: Greg Kroah-Hartman commit 2a393f5fd872fad99d639812087383111074cfeb Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: io_edgeport: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Al Borchers Cc: Peter Berger Signed-off-by: Greg Kroah-Hartman commit fbd272254b034e22a5157af51c8c5907a8f69614 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: generic: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit f9feb517faf03ee85de6e2467f7fcb87c1af2258 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: garmin_gps: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Hermann Kneissel Signed-off-by: Greg Kroah-Hartman commit 0fb0aa188d0e61d58485288071e73d3766513f2a Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: ftdi_sio: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Kuba Ober Signed-off-by: Greg Kroah-Hartman commit 335202f44a9a68902a80e09ba33aa4eaddc9c8ed Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: empeg: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Gary Brubaker Signed-off-by: Greg Kroah-Hartman commit 85d75107117eca0e29ac3da8cb82b45f9cd3a7fa Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: digi_acceleport: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Peter Berger Cc: Al Borchers Signed-off-by: Greg Kroah-Hartman commit 8d7bc55ecf86d1488996c4619642b4557e5e42f1 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: cypress_m8: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Lonnie Mendez Cc: Neil Whelchel Signed-off-by: Greg Kroah-Hartman commit 7dcc85cd9b7134bbcdc50dc14ccfc7c49f092506 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: cyberjack: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Cc: Signed-off-by: Greg Kroah-Hartman commit f26aad25d2c336a1efd393aff17bfe975b04fed5 Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: belkin_sa: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit d3434cf6916d9014d7906b3b2513f8fe325a6d5c Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: airprime: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 1373dbbca55503804ed191ba3914af68ce01e4bc Author: Greg Kroah-Hartman Date: Fri Jun 15 15:44:13 2007 -0700 USB: serial: aircable: clean up urb->status usage This done in anticipation of removal of urb->status, which will make that patch easier to review and apply in the future. Cc: Signed-off-by: Greg Kroah-Hartman commit 4d0dce3e0b794942407391c52f8dd2760802f391 Author: Greg Kroah-Hartman Date: Tue Jun 12 11:43:37 2007 -0700 USB: fix up license wording on some of my usb-serial drivers Also update the copyright date on the pl2303 driver, as it was out of date. Signed-off-by: Greg Kroah-Hartman commit 9f6a93f7bbb6d73ca0e43c000f3bbf521cd4f782 Author: Pete Zaitcev Date: Fri Jun 8 13:37:49 2007 -0700 usb: free DMA mappings if enqueue fails This patch releases DMA resources if enqueue fails in the HCD. Linux had this bug ever since we converted from virt_to_bus for 2.4. It is difficult to hit. A user would need a significant memory pressure or some other unusual condition. It was reported to me by IBM. They ran a management application for RSA II adapters which sent Bulk requests to an Interrupt endpoint. Submissions got rejected by HCD due to an invalid interval value and the swiotlb pool became depleted in the matter of hours. We fixed the invalid interval issue in devio.c separately, but this seems to be a bug worth fixing as well. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 60aac1ec26b960fe77bf600457bc6c06f8aa7db4 Author: Alan Stern Date: Fri Jun 8 15:25:02 2007 -0400 USB: Handle bogus low-speed Bulk endpoints A noticeable number of low-speed devices mistakenly include descriptors for Bulk endpoints, which is forbidden by the USB spec. In an attempt to make such devices more usable, this patch (as924) converts the descriptors to Interrupt with an interval of 1 ms. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 52f6b5e1f15fa8c06efa69a4b5faa69c04707c92 Author: Benny Halevy Date: Tue May 15 11:15:27 2007 +0300 synchronization in usb_serial_put I think there is a race between usb_serial_put() and usb_serial_get_by_index() (and get_free_serial()) with regards to handling the serial port refcount. usb_serial_get_by_index() gets a reference on the serial port under table_lock while return_serial releases all the returned ports from the table under the same lock. However, the table_lock is not taken around the call to kref_put, theoretically allowing to sneak in and grab a reference after kref_put has already determined that the reference count is zero (and before calling destroy_serial) causing use after free. Signed-off-by: Benny Halevy Cc: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit efdff60885e36b5091cdc47742dd5768ff4119be Author: Oliver Neukum Date: Tue Jun 5 10:50:48 2007 +0200 USB: io_ti: sleep with spinlock held detected by automatic tool this fixes the sleep found with the automatic tool. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 756aa6b3d536afe85e151138cb03a293998887b3 Author: Christian Engelmayer Date: Wed May 30 11:04:48 2007 -0700 ehci-hub: improved over-current recovery According to the USB Specification Revision 2.0 chapter 11.12.5 a hub experiencing an over-current condition must place all affected ports in the powered-off state. It seems that some root hubs need port power to be cycled by software in order to get back to normal functionality after an over-current condition ... like the EHCI implementation on an MPC8343E. Signed-off-by: Christian Engelmayer Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 648dcfc805ea1308552225e96113dc60e054f2f0 Author: David Brownell Date: Thu Jun 7 14:13:26 2007 -0700 USB: usb host side can be configured given PCMCIA Platforms with PCMCIA support can implement host-side USB with "sl811_cs", so make sure this menu shows up on platforms with PCMCIA. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit ed76cacbea08ebfdb678c8687f98237cb7c67bb6 Author: Alan Stern Date: Thu Jun 7 17:12:25 2007 -0400 USB: usb-storage: use kthread_stop() for the control thread This patch (as923) makes usb-storage's control thread use kthread_should_stop()/kthread_stop(). The scanning thread can't be similarly converted until the core kthread implementation allows threads to call do_exit(). The advantage of this change is that we can now be certain the control thread has terminated before storage_disconnect() returns. This will simplify the locking requirements when autosuspend support is added. Signed-off-by: Alan Stern Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit 3fc154b6b8134b98bb94d60cad9a46ec1ffbe372 Author: Arnaud Patard Date: Wed Jun 6 21:05:49 2007 -0700 USB Gadget driver for Samsung s3c2410 ARM SoC This patch adds the support for the Usb Device Controller on Samsung S3C24xx SoCs. This driver passes all tests from testusb (including #13) and has been tested on S3C2410, S3C24212, and S3C2440 SoCs. Whitespace updates, minor cleanups by David Signed-off-by: Arnaud Patard Signed-off-by: Ben Dooks Cc: Herbert Pötzl Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 7a4eb7fd50d4df99fc1f623e6d90680d9fca3d82 Author: Geoff Levand Date: Tue Jun 5 20:04:35 2007 -0700 USB: PS3: USB system-bus rework USB HCD glue updates to reflect the new PS3 unifed device support. - Fixed remove() routine. - Added shutdown() routine. - Added request_mem_region() call. - Fixed MODULE_ALIAS(). - Made a proper fix for the hack done to support muti-platform in commit 48fda45120a819ca40cadc50144b55bff1c4c78d. Signed-off-by: Geoff Levand Cc: Paul Mackerras Signed-off-by: Greg Kroah-Hartman commit 59c2afa072506aae10ef93126aab651142e0c908 Author: Alan Stern Date: Tue Jun 5 16:46:26 2007 -0700 USB: option: fix usage of urb->status abuse Might fix bug 8561 On Mon, 4 Jun 2007, Paulo Pereira wrote: > The patch that you send is not resolving the problem... :( > I stil have Kernel panic after 45/60 min of work with Ktorrent/Amule... > > The Drump is: > > Call Trace: > [] usb_hcd_submit+0xb1/0x763 > [] ipt_do_table+0x2c7/0x2ef [ip_tables] > [] nf_ct_deliver_cached_events+0x41/0x96 [nf_conntrak] > [] ipv4_confirm+0x36/0c3b [nf_conntrack_ipv4] > [] tcp_v4_rcv+0x827/0x899 > [] nf_hook_slow+0x4d/0xb5 > [] irq_enter+0x19/0x23 > [] irq_enter+0x19/0x23 > [] do_IRQ+0xbd/0xd1 > [] option_write+0xa7/0xef [option] Okay, from this it looks like there's a problem in the option.c serial driver. Glancing at the code, it's obvious why: The thing totally abuses the USB API. Try applying this patch; it should help. From: Alan Stern Cc: Paulo Pereira Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 4365831dadfeeeb4c9f8c4944e48ccf78c27f845 Author: Li Yang Date: Wed Jun 6 21:13:44 2007 -0700 USB: fsl_usb2_udc: Get max ep number from DCCPARAMS register Currently the driver is expecting max ep number in platform data which isn't passing this information. This patch fix the problem by reading it from DCCPARAMS(Device Controller Capability Parameters) register. The change also need some reordering of the probe code. Signed-off-by: Li Yang Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 37b5453dd4dafccec3fad636c28f1c3e3e14354f Author: Li Yang Date: Thu Jun 7 16:07:18 2007 +0800 USB: fsl_usb2_udc: replace deprecated irq flag Signed-off-by: Li Yang Signed-off-by: Greg Kroah-Hartman commit b41a60eca833d76593d4dac8a59f5c38714194ee Author: Alan Stern Date: Wed May 30 15:39:33 2007 -0400 USB: add power/persist device attribute This patch (as920) adds an extra level of protection to the USB-Persist facility. Now it will apply by default only to hubs; for all other devices the user must enable it explicitly by setting the power/persist device attribute. The disconnect_all_children() routine in hub.c has been removed and its code placed inline. This is the way it was originally as part of hub_pre_reset(); the revised usage in hub_reset_resume() is sufficiently different that the code can no longer be shared. Likewise, mark_children_for_reset() is now inline as part of hub_reset_resume(). The end result looks much cleaner than before. The sysfs interface is updated to add the new attribute file, and there are corresponding documentation updates. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 54515fe528d8c6f9bfaf7d0b9fffb908deecad78 Author: Alan Stern Date: Wed May 30 15:38:58 2007 -0400 USB: unify reset_resume and normal resume This patch (as919) unifies the code paths used for normal resume and for reset-resume. Earlier I had failed to note a section in the USB spec which requires the host to resume a suspended port before resetting it if the attached device is enabled for remote wakeup. Since the port has to be resumed anyway, we might as well reuse the existing code. The main changes are: usb_reset_suspended_device() is eliminated. usb_root_hub_lost_power() is moved down next to the hub_reset_resume() routine, to which it is logically related. finish_port_resume() does a port reset() if the device's reset_resume flag is set. usb_port_resume() doesn't check whether the port is initially enabled if this is a USB-Persist sort of resume. Code to perform the port reset is added to the resume pathway for the non-CONFIG_USB_SUSPEND case. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit f07600cf9eb3ee92777b2001e564faa413144a99 Author: Alan Stern Date: Wed May 30 15:38:16 2007 -0400 USB: add reset_resume method This patch (as918) introduces a new USB driver method: reset_resume. It is called when a device needs to be reset as part of a resume procedure (whether because of a device quirk or because of the USB-Persist facility), thereby taking over a role formerly assigned to the post_reset method. As a consequence, post_reset no longer needs an argument indicating whether it is being called as part of a reset-resume. This separation of functions makes the code clearer. In addition, the pre_reset and post_reset method return types are changed; they now must return an error code. The return value is unused at present, but at some later time we may unbind drivers and re-probe if they encounter an error during reset handling. The existing pre_reset and post_reset methods in the usbhid, usb-storage, and hub drivers are updated to match the new requirements. For usbhid the post_reset routine is also used for reset_resume (duplicate method pointers); for the other drivers a new reset_resume routine is added. The change to hub.c looks bigger than it really is, because mark_children_for_reset_resume() gets moved down next to the new hub_reset_resume() routine. A minor change to usb-storage makes the usb_stor_report_bus_reset() routine acquire the host lock instead of requiring the caller to hold it already. Signed-off-by: Alan Stern Signed-off-by: Jiri Kosina CC: Matthew Dharm Signed-off-by: Greg Kroah-Hartman commit 624d6c0732d2c4ac00945ad79dbb6ff39ba90ee3 Author: Alan Stern Date: Wed May 30 15:35:16 2007 -0400 USB: remove excess code from hub.c This patch (as917) removes a now-unnecessary level of subroutine nesting from hub.c. Since usb_port_suspend() does nothing but call hub_port_suspend(), and usb_port_resume() does nothing but call hub_port_resume(), there's no reason to keep the routines separate. Also included in the patch are a few cosmetic changes involving whitespace and use of braces. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 686314cfbdac21c9019c0e04487b5d940db62406 Author: Alan Stern Date: Wed May 30 15:34:36 2007 -0400 USB: separate root and non-root suspend/resume This patch (as916) completes the separation of code paths for suspend and resume of root hubs as opposed to non-root devices. Root hubs will be power-managed through their bus_suspend and bus_resume methods, whereas normal devices will use usb_port_suspend() and usb_port_resume(). Changes to the hcd_bus_{suspend,resume} routines mostly represent motion of code that was already present elsewhere. They include: Adding debugging log messages, Setting the device state appropriately, and Adding a resume recovery time delay. Changes to the port-suspend and port-resume routines in hub.c include: Removal of checks for root devices (since they will never be triggered), and Removal of checks for NULL or invalid device pointers (these were left over from earlier kernel versions and aren't needed at all). Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 4956eccdd6101c5abb71966079e8183d12796d6c Author: Alan Stern Date: Wed May 30 16:51:28 2007 -0400 USB: remove __usb_port_suspend This patch (as915b) combines the public routine usb_port_suspend() and the private routine __usb_port_suspend() into a single function. By removing the explicit mention of otg_port in the call to __usb_port_suspend(), we prevent a possible error in which the system tries to perform HNP on the wrong port when a non-targeted device is plugged into a non-OTG port. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit d576bb9f2769b315a795f77f0c33322a976add7a Author: Michael Hanselmann Date: Thu May 31 23:34:27 2007 +0200 USB: Fix NEC OHCI chip silicon bug This patch fixes a silicon bug in some NEC OHCI chips. The bug appears at random times and is very, very difficult to reproduce. Without the following patch, Linux would shut the chip and its associated devices down. In Apple PowerBooks this leads to an unusable keyboard and mouse (SSH still working). The idea of restarting the chip is taken from public Darwin code. Signed-off-by: Michael Hanselmann Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 020363384adfb02f26c1c038a127ed3da3d5cf37 Author: Tony Lindgren Date: Tue May 29 09:57:41 2007 -0700 USB: Disable file_storage USB_CONFIG_ATT_WAKEUP Disable file_storage USB_CONFIG_ATT_WAKEUP as it requires user interaction during Chapter 9 tests. Signed-off-by: Tony Lindgren Acked-by: Alan Stern Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit d23a13779f14808b54181d31222e6c44532abd80 Author: Vladimir Barinov Date: Wed May 23 20:07:48 2007 +0400 USB: EHCI: Safe endianness for transfer buffers after reset in case of HUB with TT This patch fixes the endianness select for transfer buffers in EHCI controllers that have Transaction Translator built in the hub. Also I cleaned it up to make rid of magic numbers. Signed-off-by: Vladimir Barinov Cc: Signed-off-by: Greg Kroah-Hartman commit 5fea2a4dabdfa1ad59845c42ea770ee8cb41ecad Author: Al Borchers Date: Wed May 23 12:24:53 2007 -0700 USB: digi_acceleport further buffer clean up Some further cleanup after Oliver's patch to update the tty buffering. The input buffer is not used at all anymore, so I removed it. Signed-off-by: Al Borchers Signed-off-by: Greg Kroah-Hartman commit 08a2b3b610a734a6d6e4ff0455eec1241966fcb3 Author: Oliver Neukum Date: Thu May 24 13:52:51 2007 +0200 USB: whiteheat driver update this is an update of the whiteheat driver. It fixes: - switch from spinlocks to mutexes to prevent sleeping with a spinlock held - locking to stop races with disconnect - error handling for commands that time out Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 403dfb58c3134a339e415fba9f6d45b51c6ee357 Author: Oliver Neukum Date: Fri May 25 13:42:56 2007 +0200 USB: usb-skeleton: usb anchor to implement flush This patch set introduces usb_anchor and uses it to implement all modern APIs in the skeleton driver. - proper error reporting in the skeleton driver - implementation of flush() Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 51a2f077c44e559841b09de6da605b4d3ae40dad Author: Oliver Neukum Date: Fri May 25 13:40:56 2007 +0200 USB: introduce usb_anchor - introduction of usb_anchor and its methods Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit ffcdc18d64d73ecce49c182f969977ae88ff4384 Author: Vikram Pandita Date: Fri May 25 21:31:07 2007 -0700 USB Core: hub.c: prevent re-enumeration on HNP Patch is to prevent the OTG host of doing 3 times enumeration of device when the Host suspends for HNP. The error code used in this case is ENOTSUPP. Signed-off-by: Vikram Pandita Acked-by: Alan Stern Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit b29dbbd811b006deea85275e37fc1a09e8983d48 Author: David Brownell Date: Fri May 25 20:40:31 2007 -0700 USB: usb serial gadget, sparse fixes Fix a few serial gadget issues reported by the latest "sparse": some functions should have been defined as static, not just declared that way. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 715f9527c1c1edd1a9c7a55ab4535211279c9374 Author: t.sefzick Date: Wed Apr 25 15:05:22 2007 +0200 USB: flow control fix for pl2303 in order to be able to switch back to 'flow-control none' after having activated 'flow-control rts/cts', I made a small change to 'pl2303.c'. Signed-off-by: Greg Kroah-Hartman commit 1abdeeb1d566f74bc5b3e68447d91c8c37d47942 Author: Oliver Neukum Date: Mon May 7 12:09:33 2007 +0200 USB: generic usb serial to new buffering scheme the generic driver also had its own buffering. Signed-off-by: Oliver Neukum commit 39892da44b21b5362eb848ca424d73a25ccc488f Author: Oliver Neukum Date: Mon May 7 13:16:58 2007 +0200 USB: Digi AccelePort adapted to new tty buffering this fixes the flushing trouble due to its own buffering for this driver. Signed-off-by: Oliver Neukum Cc: Al Borchers Signed-off-by: Greg Kroah-Hartman commit b308e74d9c708ee2a9af14fbe235e0a41216f4ed Author: Oliver Neukum Date: Mon May 7 10:37:08 2007 +0200 USB: visor driver adapted to new tty buffering the new tty buffering code allows usb drivers to stop private buffering. In fact we must do so to allow flushing to work correctly. This does so for the visor driver. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit a5262dcfda9163ca1f8a64349a6f7ba640ac1dc2 Author: David Brownell Date: Mon May 14 19:36:41 2007 -0700 USB: export as Make sure gadgetfs userspace interface is properly exported: - Move to ; - Export it using Kbuild; - Add an #include guard; - Correct some internal documentation; - Update struct layout so it's the same on 32/64 bit kernels. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 8234509c3968a87faa301a8a9d7f8b987cd9181c Author: David Rientjes Date: Fri May 11 14:39:44 2007 -0700 USB: use function attribute __maybe_unused Substitute USB instances of __attribute__ ((unused)) functions with the newly introduced __maybe_unused. Signed-off-by: David Rientjes Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit ba02978a48f0117b3d0aced97a30615a5d7412e2 Author: Li Yang Date: Fri May 11 17:09:55 2007 +0800 USB: ehci_fsl update for MPC831x support For MPC831x support, change the ehci-fsl driver to preserve bits set in platform code. Add a common CONFIG_USB_EHCI_FSL to indicate presence of Freescale EHCI SOC. Add FSL_USB2_DR_OTG operating mode support, thus both host and device can work for the mini-ab receptacle. Note: this doesn't enable OTG protocol support. Signed-off-by: Li Yang Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 4d68c0be69b65aa260448cea9fb1c555ae90d268 Author: Stefan Roese Date: Fri May 4 11:39:37 2007 -0700 USB: Set CONFIG_USB_EHCI_BIG_ENDIAN_MMIO/_DESC in usb/host/Kconfig Now select the big-endian configuration options CONFIG_USB_EHCI_BIG_ENDIAN_MMIO and CONFIG_USB_EHCI_BIG_ENDIAN_DESC in the usb host Kconfig file and not in the platform Kconfig files. Signed-off-by: Stefan Roese Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit fc65a15f1fc0fc95c319c9bfaeb7636fef9987cc Author: Stefan Roese Date: Fri May 4 11:38:17 2007 -0700 USB: EHCI big endian data structures support (for 440EPx) This patch adds support for the AMCC 440EPx EHCI controller whose in-memory data structures and the registers are represented in big- endian format. Signed-off-by: Stefan Roese Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 97cd49ebf74e3bee49d541a47ef085df1fbfac7d Author: Stepan Moskovchenko Date: Wed May 9 14:53:04 2007 -0400 USB: ftdi_sio.c: Allow setting latency timer on FT232RL The new FT232RL allows setting and getting the value of the latency timer, like on the FT232BM. However, the driver will not create the sysfs entries for the RL without this one-line patch. I have tested it on two systems with successful results. From: Stepan Moskovchenko Signed-off-by: Greg Kroah-Hartman commit 20dfdad74a2baabeecc2896c770efcbf698b9b8d Author: Alan Stern Date: Tue May 22 11:50:17 2007 -0400 USB: rework C++-style comments This patch (as911) replaces some C++-style commented-out debugging lines in driver.c with a new "verbose debugging" macro. It makes the code look cleaner, and it's easier to turn the debugging on or off. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit d4ead16f50f9ad30bdc7276ec8fee7a24c72f294 Author: Alan Stern Date: Tue May 22 11:46:41 2007 -0400 USB: prevent char device open/deregister race This patch (as908) adds central protection in usbcore for the prototypical race between opening and unregistering a char device. The spinlock used to protect the minor-numbers array is replaced with an rwsem, which can remain locked across a call to a driver's open() method. This guarantees that open() and deregister() will be mutually exclusive. The private locks currently used in several individual drivers for this purpose are no longer necessary, and the patch removes them. The following USB drivers are affected: usblcd, idmouse, auerswald, legousbtower, sisusbvga/sisusb, ldusb, adutux, iowarrior, and usb-skeleton. As a side effect of this change, usb_deregister_dev() must not be called while holding a lock that is acquired by open(). Unfortunately a number of drivers do this, but luckily the solution is simple: call usb_deregister_dev() before acquiring the lock. In addition to these changes (and their consequent code simplifications), the patch fixes a use-after-free bug in adutux and a race between open() and release() in iowarrior. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 55e5fdfa541ec7bf1b1613624ed4dd8cdacaa841 Author: Mark Lord Date: Mon May 14 19:48:02 2007 -0400 USB: hub.c loops forever on resume from ram due to bluetooth Okay, found it. The root cause here was a missing CONFIG_USB_SUSPEND=y, which means the hci_usb device never got marked as USB_STATE_SUSPENDED, which then caused the loop to go on forever. The system works fine now with CONFIG_USB_SUSPEND=y in the .config. Here's the patch to prevent future lockups for this or other causes. I no longer need it, but it does still seem a good idea. Signed-off-by: Mark Lord Signed-off-by: Greg Kroah-Hartman commit 8538f96ae5aada1c04d69a993b20ad160b191d47 Author: Daniel Drake Date: Thu May 10 00:32:24 2007 +0100 USB: add USB_DEVICE_AND_INTERFACE_INFO for device matching Recently, the USB device matching code stopped matching generic interface matches against devices with vendor-specific device class values. Some drivers now need to explicitly match USB device ID's (in addition to generic interface info) to retain the same behaviour as before. This new macro, suggested by Alan Stern, makes the explicit device/interface matching a little simpler for those users. Signed-off-by: Daniel Drake Signed-off-by: Greg Kroah-Hartman commit 7f9985c2e4e5555b750d6f891b4923e63cc834c1 Author: David Brownell Date: Tue May 8 21:01:30 2007 -0700 USB: usb gadget, dead config cleanup Remove some dead CONFIG_ symbols, and document the status of a few others. The "gadget_chips.h" references are by and large to drivers which exist but haven't yet been submitted for merging to the main 2.6 tree. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 45b844df5a4b17884b4e26e43bfc4802604e7cab Author: Dave Platt Date: Tue May 8 11:00:12 2007 -0700 USB: RTS/CTS handshaking support, DTR fixes for MCT U232 serial adapter Improvements and fixes to the MCT U232 USB/serial interface driver. Implement RTS/CTS hardware flow control. Implement HUPCL. Bring handling of DTR and RTS into conformance with other Linux serial port drivers - assert both signals when opening device, even if "crtscts" is not currently selected. Signed-off-by: Dave Platt Signed-off-by: Greg Kroah-Hartman commit 01cd08192040eab30f837f061ca07f43cf15f4a1 Author: Arjan van de Ven Date: Tue May 22 12:42:56 2007 -0700 USB: Patch to align the various USB timers to fire at the same time This patch modifies the USB regular 250ms timer to be "perfectly aligned" to the second and quarters thereof. This change is there to make sure that if you have multiple USB ports, the timers for all these ports will fire at the same time rather than all spread out. All spread out wakes the CPU up from power saving idle a lot more than needed... Signed-off-by: Arjan van de Ven Signed-off-by: Greg Kroah-Hartman commit fc4cbd755b75c7687b923da5b75ba4a64652582e Author: Martin K. Petersen Date: Tue May 22 15:57:04 2007 -0400 USB: io_ti: Digi EdgePort update for new devices This patch adds support for the most recent Digi EdgePort USB serial devices. Signed-off-by: Martin K. Petersen Signed-off-by: Mike Swift Signed-off-by: Jeremy McBane Signed-off-by: Greg Kroah-Hartman commit dd4dd19e8d13e1e9bf8295bf71f132b511b130bf Author: Alan Stern Date: Fri May 4 11:55:54 2007 -0400 USB: Make device reset stop retrying after disconnect This patch (as898) changes the port reset code in the hub driver. If a connect change occurs, it is reported the same way as a disconnect (which of course is what it really is). It also changes usb_reset_device(), to prevent the routine from futilely retrying the reset after a disconnect has occurred. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 3c519b846c4d5edf7c94d1eede42445a815bf65c Author: Alan Stern Date: Fri May 4 11:55:31 2007 -0400 USB: EHCI: fix handover for designated full-speed ports This patch (as895) fixes up a loose end in the port-handover code for the USB-Persist facility. A special case occurs when a high-speed device is attached to a port which the user has designated to run at full-speed only; the port must be disabled before the handover can take place. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 6bc6cff52e0c4c4c876b1b8a5750041da61ad42b Author: Alan Stern Date: Fri May 4 11:53:03 2007 -0400 USB: add RESET_RESUME device quirk This patch (as888) adds a new USB device quirk for devices which are unable to resume correctly. By using the new code added for the USB-persist facility, it is a simple matter to reset these devices instead of resuming them. To get things kicked off, a quirk entry is added for the Philips PSC805. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 383975d765523a56dc43a6cd6d52e9b376800cf2 Author: Alan Stern Date: Fri May 4 11:52:40 2007 -0400 USB: EHCI, OHCI: handover changes This patch (as887) changes the way ehci-hcd and ohci-hcd handle a loss of VBUS power during suspend. In order for the USB-persist facility to work correctly, it is necessary for low- and full-speed devices attached to a high-speed port to be handed back to the companion controller during resume processing. This entails three changes: adding code to ehci-hcd to perform the handover, removing code from ohci-hcd to turn off ports during root-hub reinit, and adding code to ohci-hcd to turn on ports during PCI controller resume. (Other bus glue resume methods for platforms supporting high-speed controllers would need a similar change, if any existed.) Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 0458d5b4c9cc4ca0f62625d0144ddc4b4bc97a3c Author: Alan Stern Date: Fri May 4 11:52:20 2007 -0400 USB: add USB-Persist facility This patch (as886) adds the controversial USB-persist facility, allowing USB devices to persist across a power loss during system suspend. The facility is controlled by a new Kconfig option (with appropriate warnings about the potential dangers); when the option is off the behavior will remain the same as it is now. But when the option is on, people will be able to use suspend-to-disk and keep their USB filesystems intact -- something particularly valuable for small machines where the root filesystem is on a USB device! Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit ce7cd137fced114d49178b73d468b82096a107fb Author: Pete Zaitcev Date: Thu May 3 16:51:16 2007 -0700 usbmon: Add class for binary interface Add a class which allows for an easier integration with udev. This code was originally written by Paolo Abeni, and arrived to my tree as a part of big patch to add binary API on December 18. As I understand, Paolo always meant the class to be a part of the whole thing. This is his udev rule to go along with the patch: KERNEL=="usbmon[0-9]*", NAME="usbmon%n", MODE="0440",OWNER="root",GROUP="bin" Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 49cdee0ed0fce9e1bda81f5dcad8d5cce6aec983 Author: Kees Lemmens Date: Tue Mar 27 12:34:30 2007 +0200 USB: oti6858 usb-serial driver (in Nokia CA-42 cable) Last week I've been searching for a driver for the CA-42 cable (see usb below) that fitted my kernel 2.6.20. I only found an abandoned version for a driver on your website that indeed worked on 2.6.18 but wouldn't even compile with a more recent 2.6.20 kernel. I fiddled 2 evenings with the kernel code and have patched it up now to work with the modifications in the 2.6.20 kernel. The patch is attached hereafter and it works fine (at least for me :-) ). Bus 2 Device 13: ID 0ea0:6858 Ours Technology, Inc. I had to fiddle a little with the settings in .gnokiirc but that also occurred with the older 2.6.18 kernel. Nevertheless, on one system with this cable and my Nokia 6070 I had best results with : model = 6510 connection = dku5 while on an other system with the same kernel, cable and phone it only worked with : model = AT connection = serial serial_write_usleep = 1 From: Kees Lemmens Cc: Cc: Signed-off-by: Greg Kroah-Hartman commit 9c033e810eef0aff6d4d3bf028aa1e583c074f93 Author: David Brownell Date: Thu May 17 12:21:19 2007 -0700 USB: ehci refcounts work on ppc7448 Remove atomic operations on the reference counter for EHCI queue heads. On various platforms (including ppc7448), atomic operations are unusable with dma-coherent memory. Signed-off-by: Steven J. Hill Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 04d06ad0f1fdb499af84ae3d7969e2136a462f38 Author: Jan Engelhardt Date: Thu May 10 23:04:13 2007 -0700 USB: Use menuconfig objects Make a "menuconfig" out of the Kconfig objects "menu, ..., endmenu", 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: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit e8054854221d9d51e381c64d365404f4c1c30f50 Author: Alan Stern Date: Fri May 4 11:55:11 2007 -0400 USB: make hub driver's release more robust This revised patch (as893c) improves the method used by the hub driver to release its private data structure. The current code is non-robust, relying on a memory region not getting reused by another driver after it has been freed. The patch adds a reference count to the structure, resolving the question of when to release it. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 06b84e8adcad8280d76a7c71e772c5cddba96d85 Author: Alan Stern Date: Fri May 4 11:54:50 2007 -0400 USB: remove "locktree" routine from the hub driver This patch (as892) removes the "locktree" routine from the hub driver. It currently is used in only one place, by a single kernel thread; hence it isn't doing any good. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit f3fd77cd2f4499f3e2ef9a1e6d5e4f4349d556c3 Author: Alan Stern Date: Fri May 4 11:54:28 2007 -0400 USB: remove references to dev.power.power_state This revised patch (as891b) removes two unnecessary references to intf->dev.power.power_state from usb-storage, and replaces a reference to root_hub->dev.power.power_state with a check of hcd->state. This is in preparation for the removal of dev.power.power_state, which is already deprecated. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 8adb4786789c25007f39b4d00dd03cc83bdcb896 Author: Alan Stern Date: Fri May 4 11:53:30 2007 -0400 USB: don't unsuspend for a new connection This patch (as889) prevents the hub driver from trying to resume a port when there is a new connection. For one thing, the resume is not needed -- the upcoming port reset will clear the suspend feature automatically. For another, on some systems the resume fails and causes problems. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit b6f6436da0c6853eedad86f5075b139c1a3bcb5d Author: Alan Stern Date: Fri May 4 11:51:54 2007 -0400 USB: move bus_suspend and bus_resume method calls This patch (as885) moves the root-hub bus_suspend() and bus_resume() method calls from the hub driver's suspend and resume methods into the usb_generic driver methods, where they make just as much sense. Their old locations were not fully correct. For example, in a kernel compiled without CONFIG_USB_SUSPEND, if one were to do: echo -n 1-0:1.0 >/sys/bus/usb/drivers/hub/unbind to unbind the hub driver from a root hub, there would then be no way to suspend that root hub. Attempts to put the system to sleep would fail; the USB controller driver would refuse to suspend because the root hub was still active. The patch also makes a very slight change in the way devices with no driver are handled during suspend. Rather than doing a standard USB port-suspend directly, now the suspend routine in usb_generic is called. In practice this should never affect anyone. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 4d461095ef6967324bc5da5d65d23ad27fc604f9 Author: Alan Stern Date: Fri May 4 11:51:25 2007 -0400 USB: Implement PM FREEZE and PRETHAW This patch (as884) finally implements the time-saving semantics possible with the Power Management FREEZE and PRETHAW events. Their proper handling requires only that devices be quiesced, with interrupts and DMA turned off; non-root USB devices don't actually need to be put in a suspended state. The patch checks and avoids doing the suspend call when possible. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 784a6e1cc406b7ef48476a1f38b83fc551f5616f Author: Alan Stern Date: Fri May 4 11:49:57 2007 -0400 USB: interface PM state This patch (as880) strives to keep the PM core's idea of a USB interface's power state in synch with usbcore's own idea. In the end this doesn't really matter, but it's better to be consistent. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit f6ace2c99afefb7969ccccba2fb413ad29ab2e2e Author: Yoshihiro Shimoda Date: Wed May 30 20:42:41 2007 +0900 USB: r8a66597-hcd: fix NULL access This patch fixes the problem that accesses NULL pointer when disconnected a cable while play music with usb-speaker. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 5d3043586db428b5b4b3df89fa0c2db9731e934c Author: Yoshihiro Shimoda Date: Thu May 10 13:18:19 2007 +0900 USB: r8a66597-hcd: host controller driver for R8A66597 I would like to submit Renesas R8A66597 USB HCD driver. R8A66597 is Renesas USB 2.0 host and peripheral combined controller device originally designed for embedded products. As a limitation of this device, it does not support externel hub more than 2 tier, and cannot communicate with a USB device more than 10. Then this device is not compatible with EHCI and/or OHCI, I wrote driver support patch based on sl811 code. This driver has the following unique specifications: - Implement transfer timeout to share one pipe with plural endpoint. - Detach detection of a USB device connected to externel hub. The driver has been tested external hub, usb-hdd, usb-cdrom, usb-speaker, mice, keyboard, and usbtest driver. Signed-off-by : Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 15a1d5c9271219db2f1bc448247fb8ccbcc08418 Author: Yoshihiro Shimoda Date: Wed May 30 22:06:00 2007 +0900 USB: m66592-udc: fix use old interrupt flags This patch fixes the problem that used SA_* flags. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 4cf2503c6801a69fee25030475eceeefb36d1b56 Author: Yoshihiro Shimoda Date: Thu May 10 13:18:23 2007 +0900 USB: m66592-udc: peripheral controller driver for M66592 I would like to submit Renesas M66592 udc driver. The M66592 is Renesas USB 2.0 peripheral controller. This controller supports USB high-speed. The driver has been tested Gadget Zero, Ethernet Gadget, File-backed Storage Gadget, and passed usbtest script. Signed-off-by : Yoshihiro Shimoda Signed-off-by: Greg Kroah-Hartman commit 0ca1268e109acf6d71507398cb95cab2e670b654 Author: Lucy McCoy Date: Fri May 18 12:10:41 2007 -0700 USB Serial Keyspan: add support for USA-49WG & USA-28XG Add support for Keyspan adapters: USA-49WG and USA-28XG Signed-off-by: Lucy P. McCoy Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 87e71b473ee199cf4b7b7a0ce890cd01f45e3a0e Author: Simon Arlott Date: Thu May 10 23:04:11 2007 -0700 USB: cxacru: Cleanup sysfs attribute code This changes the format of unknown status values to be less verbose and uses an array instead of several different snprintf calls. Since only enum values are assigned to it, poll_state is changed from int to enum. Use abs() for dB values instead of two almost identical return lines. Signed-off-by: Simon Arlott Acked-by: Duncan Sands Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 6dbd682b7c6d58916096616cdf94852641bc09d9 Author: Stefan Roese Date: Tue May 1 09:29:37 2007 -0700 USB: EHCI support for big-endian descriptors This patch implements supports for EHCI controllers whose in-memory data structures are represented in big-endian format. This is needed (unfortunately) for the AMCC PPC440EPx SoC EHCI controller; the EHCI spec doesn't specify little-endian format, although that's what most other implementations use. The guts of the patch are to introduce the hc32 type and change all references from le32 to hc32. All access routines are converted from cpu_to_le32(...) to cpu_to_hc32(ehci, ...) and similar for the other "direction". (This is the same approach used with OHCI.) David fixed: Whitespace fixes; refresh against ehci cpufreq patch; move glue for that PPC driver to the patch adding it; fix free symbol capture bugs in modified "constant" macros; and make "hc32" etc be "le32" unless we really need the BE options, so "sparse" can do some real good. Signed-off-by: Stefan Roese Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 196705c9bbc03540429b0f7cf9ee35c2f928a534 Author: Stuart_Hayes@Dell.com Date: Thu May 3 08:58:49 2007 -0700 USB: EHCI cpufreq fix EHCI controllers that don't cache enough microframes can get MMF errors when CPU frequency changes occur between the start and completion of split interrupt transactions, due to delays in reading main memory (caused by CPU cache snoop delays). This patch adds a cpufreq notifier to the EHCI driver that will inactivate split interrupt transactions during frequency transitions. It was tested on Intel ICH7 and Serverworks/Broadcom HT1000 EHCI controllers. Signed-off-by: Stuart Hayes Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit ec22559e0b7a05283a3413bda5d177e42c950e23 Author: Oliver Neukum Date: Fri Apr 27 20:54:57 2007 +0200 USB: suspend support for usb serial this implements generic support for suspend/resume for usb serial. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 57e4acb3f63e1d3d74a75613eefde8b2d68164e3 Author: Tony Luck Date: Thu Jul 12 16:04:39 2007 -0700 [IA64] Un-break ia64 build Commit 91a6902958f052358899f58683d44e36228d85c2 added an extra argument to pci_read_legacy_io() and pci_write_legacy_io(). But the prototypes in include/asm-ia64/pci.h were not updated. Signed-off-by: Tony Luck commit cec7c893d8654723028f09d33341e42673558057 Author: Roland Dreier Date: Thu Jul 12 15:59:36 2007 -0700 IB: Update MAINTAINERS with Hal's new email address Signed-off-by: Roland Dreier commit 65541cb7cf353946ecd78016a453b453b8830656 Author: Jack Morgenstein Date: Thu Jun 21 13:03:11 2007 +0300 IB/mlx4: Implement query SRQ Signed-off-by: Dotan Barak Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 6a775e2ba4f7635849ade628e64723ab2beef0bc Author: Jack Morgenstein Date: Thu Jun 21 12:27:47 2007 +0300 IB/mlx4: Implement query QP Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit dd172d72addefd89795e819cc2cc3eb1b9d12a7f Author: Chandra Seetharaman Date: Thu Jul 12 17:30:05 2007 +0100 dm mpath: rdac This patch supports LSI/Engenio devices in RDAC mode. Like dm-emc it requires userspace support. In your multipath.conf file you must have: path_checker rdac hardware_handler "1 rdac" prio_callout "/sbin/mpath_prio_tpc /dev/%n" And you also then must have a updated multipath tools release which has rdac support. Signed-off-by: Chandra Seetharaman Signed-off-by: Mike Christie Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit fc1ff9588a6d56258ff9576a31aa34f17757c666 Author: Jonathan Brassow Date: Thu Jul 12 17:29:15 2007 +0100 dm raid1: handle log failure When writing to a mirror, the log must be updated first. Failure to update the log could result in the log not properly reflecting the state of the mirror if the machine should crash. We change the return type of the rh_flush function to give us the ability to check if a log write was successful. If the log write was unsuccessful, we fail the writes to avoid the case where the log does not properly reflect the state of the mirror. A follow-up patch - which is dependent on the ability to requeue I/O's to core device-mapper - will requeue the I/O's for retry (allowing the mirror to be reconfigured.) Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit f44db678edcc6f4c2779ac43f63f0b9dfa28b724 Author: Jonathan Brassow Date: Thu Jul 12 17:29:04 2007 +0100 dm raid1: handle resync failures Device-mapper mirroring currently takes a best effort approach to recovery - failures during mirror synchronization are completely ignored. This means that regions are marked 'in-sync' and 'clean' and removed from the hash list. Future reads and writes that query the region will incorrectly interpret the region as in-sync. This patch handles failures during the recovery process. If a failure occurs, the region is marked as 'not-in-sync' (aka RH_NOSYNC) and added to a new list 'failed_recovered_regions'. Regions on the 'failed_recovered_regions' list are not marked as 'clean' upon removal from the list. Furthermore, if the DM_RAID1_HANDLE_ERRORS flag is set, the region is marked as 'not-in-sync'. This action prevents any future read-balancing from choosing an invalid device because of the 'not-in-sync' status. If "handle_errors" is not specified when creating a mirror (leaving the DM_RAID1_HANDLE_ERRORS flag unset), failures will be ignored exactly as they would be without this patch. This is to preserve backwards compatibility with user-space tools, such as 'pvmove'. However, since future read-balancing policies will rely on the correct sync status of a region, a user must choose "handle_errors" when using read-balancing. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit d0d444c7d48c14d59f665887c758fde248f1cb37 Author: Jonathan Brassow Date: Thu Jul 12 17:28:42 2007 +0100 dm: add ratelimit logging macros Add ratelimit extension to dm logging macros. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit 07a83c47cfc00ba5f0f090ccddd3a0703be0eec9 Author: Stefan Bader Date: Thu Jul 12 17:28:33 2007 +0100 dm: disable barriers This patch causes device-mapper to reject any barrier requests. This is done since most of the targets won't handle this correctly anyway. So until the situation improves it is better to reject these requests at the first place. Since barrier requests won't get to the targets, the checks there can be removed. Cc: stable@kernel.org Signed-off-by: Stefan Bader Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit 943317efdbc295e8a28df3f5cbd549d066ee8b4a Author: Jonathan Brassow Date: Thu Jul 12 17:28:25 2007 +0100 dm raid1: clear region outside spinlock A clear_region function is permitted to block (in practice, rare) but gets called in rh_update_states() with a spinlock held. The bits being marked and cleared by the above functions are used to update the on-disk log, but are never read directly. We can perform these operations outside the spinlock since the bits are only changed within one thread viz. - mark_region in rh_inc() - clear_region in rh_update_states(). So, we grab the clean_regions list items via list_splice() within the spinlock and defer clear_region() until we iterate over the list for deletion - similar to how the recovered_regions list is already handled. We then move the flush() call down to ensure it encapsulates the changes which are done by the later calls to clear_region(). Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit 0764147b111b8ca886e4f2e9c9e019106b09b657 Author: Milan Broz Date: Thu Jul 12 17:28:13 2007 +0100 dm snapshot: permit invalid activation Allow invalid snapshots to be activated instead of failing. This allows userspace to reinstate any given snapshot state - for example after an unscheduled reboot - and clean up the invalid snapshot at its leisure. Cc: stable@kernel.org Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit fcac03abd325e4f7a4cc8fe05fea2793b1c8eb75 Author: Milan Broz Date: Thu Jul 12 17:28:00 2007 +0100 dm snapshot: fix invalidation deadlock Process persistent exception store metadata IOs in a separate thread. A snapshot may become invalid while inside generic_make_request(). A synchronous write is then needed to update the metadata while still inside that function. Since the introduction of md-dm-reduce-stack-usage-with-stacked-block-devices.patch this has to be performed by a separate thread to avoid deadlock. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit 596f138eede0c113aa655937c8be85fc15ccd61c Author: Jun'ichi Nomura Date: Thu Jul 12 17:27:45 2007 +0100 dm io: fix panic on large request bio_alloc_bioset() will return NULL if 'num_vecs' is too large. Use bio_get_nr_vecs() to get estimation of maximum number. Cc: stable@kernel.org Signed-off-by: "Jun'ichi Nomura" Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit c95bc206da4bc9838bad826883f8f461a972e441 Author: Milan Broz Date: Thu Jul 12 17:27:24 2007 +0100 dm raid1: fix status Fix mirror status line broken in dm-log-report-fault-status.patch: - space missing between two words - placeholder ("0") required for compatibility with a subsequent patch - incorrect offset parameter Cc: stable@kernel.org Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit 0cd3312434cd1f29bee6bff53bf2790d733ad2a2 Author: Alasdair G Kergon Date: Thu Jul 12 17:27:01 2007 +0100 dm: remove duplicate module name from error msgs Remove explicit module name from messages as the macro now includes it automatically. Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit ac818646d4be79123ad8dc5f1c4da8575d4960f8 Author: Alasdair G Kergon Date: Thu Jul 12 17:26:47 2007 +0100 dm delay: cleanup Use setup_timer(). Replace semaphore with mutex. Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit 028867ac28e51afc834a5931e7545c022557eded Author: Alasdair G Kergon Date: Thu Jul 12 17:26:32 2007 +0100 dm: use kmem_cache macro Use new KMEM_CACHE() macro and make the newly-exposed structure names more meaningful. Also remove some superfluous casts and inlines (let a modern compiler be the judge). Acked-by: Christoph Lameter Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit 79e15ae424afa0a40b1a0c4478046d6ba0b71e20 Author: Alasdair G Kergon Date: Thu Jul 12 17:26:19 2007 +0100 dm: bio_list prefetch removal Remove dubious prefetch from bio_list_for_each() macro. Cc: Jens Axboe Signed-off-by: Alasdair G Kergon Signed-off-by: Linus Torvalds commit 4aabab2181f20560948c2045ce1faaa9ac1507a8 Merge: bb50cbb... ca9ced7... Author: Linus Torvalds Date: Thu Jul 12 14:17:12 2007 -0700 Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (50 commits) [ARM] sa1100: remove boot time RTC initialisation [ARM] sa1100: stop doing our own rtc management over suspend [ARM] 4474/1: Do not check the PSR_F_BIT in valid_user_regs [ARM] 4473/2: Take the HWCAP definitions out of the elf.h file [ARM] pxa: move platform devices to separate header file [ARM] pxa: move device registration into CPU-specific file [ARM] pxa: remove boot time RTC initialisation [ARM] pxa: stop doing our own rtc management over suspend [ARM] 4451/1: pxa: make dma.c generic and remove cpu specific dma code [ARM] 4450/1: pxa: add pxa25x_init_irq() and pxa27x_init_irq() [ARM] 4440/1: PXA: enable the checking of ICIP2 for IRQs [ARM] 4438/1: PXA: remove #ifdef .. #endif from pxa_gpio_demux_handler() [ARM] 4437/1: PXA: move the GPIO IRQ initialization code to pxa_init_irq_gpio() [ARM] 4436/1: PXA: move low IRQ initialization code to pxa_init_irq_low() [ARM] 4435/1: PXA: remove PXA_INTERNAL_IRQS [ARM] 4434/1: PXA: remove PXA_IRQ_SKIP [ARM] pxa: Fix PXA27x suspend type validation, remove pxa_pm_prepare() [ARM] pxa: move pm_ops structure into CPU specific files [ARM] pxa: introduce cpu_is_pxaXXX macros [ARM] pxa: remove MMC register defines from pxa-regs.h ... commit bb50cbbd4beacd5ceda76c32fcb116c67fe8c66c Merge: 702ed6e... d4cf291... Author: Linus Torvalds Date: Thu Jul 12 13:46:48 2007 -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: security: unexport mmap_min_addr SELinux: use SECINITSID_NETMSG instead of SECINITSID_UNLABELED for NetLabel security: Protection for exploiting null dereference using mmap SELinux: Use %lu for inode->i_no when printing avc SELinux: allow preemption between transition permission checks selinux: introduce schedule points in policydb_destroy() selinux: add selinuxfs structure for object class discovery selinux: change sel_make_dir() to specify inode counter. selinux: rename sel_remove_bools() for more general usage. selinux: add support for querying object classes and permissions from the running policy commit 702ed6ef375c19d65f2eeeefd3851476f2c4cee4 Merge: 2f41fc8... 58a7295... Author: Linus Torvalds Date: Thu Jul 12 13:42:43 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq * master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] Fix sysfs_create_file return value handling [CPUFREQ] ondemand: fix tickless accounting and software coordination bug [CPUFREQ] ondemand: add a check to avoid negative load calculation [CPUFREQ] Keep userspace governor quiet when it is not being used [CPUFREQ] Longhaul - Proper register access [CPUFREQ] Kconfig powernow-k8 driver should depend on ACPI P-States driver [CPUFREQ] Longhaul - Replace ACPI functions with direct I/O [CPUFREQ] Longhaul - Remove duplicate multipliers [CPUFREQ] Longhaul - Embedded "conservative" [CPUFREQ] acpi-cpufreq: Proper ReadModifyWrite of PERF_CTL MSR [CPUFREQ] check return value of sysfs_create_file [CPUFREQ] Longhaul - Check ACPI "BM DMA in progress" bit [CPUFREQ] Longhaul - Move old_ratio to correct place [CPUFREQ] Longhaul - VT8237 support [CPUFREQ] Longhaul - Use all kinds of support [CPUFREQ] powernow-k8: clarify number of cores. commit 2f41fc806434f8466bb361570589a3f6099ca65d Merge: 0806ca2... 70e8992... Author: Linus Torvalds Date: Thu Jul 12 13:41:54 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart * master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart: [AGPGART] Hand off AGP maintainence. commit 0806ca2ab3ef7d7a1bd41a980f661a13ba11acb5 Merge: 21ba0f8... 1612b18... Author: Linus Torvalds Date: Thu Jul 12 13:41:29 2007 -0700 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] Support multiple CPUs going through OS_MCA [IA64] silence GCC ia64 unused variable warnings [IA64] prevent MCA when performing MMIO mmap to PCI config space [IA64] add sn_register_pmi_handler oemcall [IA64] Stop bit for brl instruction [IA64] SN: Correct ROM resource length for BIOS copy [IA64] Don't set psr.ic and psr.i simultaneously commit 21ba0f88ae56da82a3a15fe54d729208b64c4f4b Merge: dc690d8... 36e2359... Author: Linus Torvalds Date: Thu Jul 12 13:40:57 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6: (34 commits) PCI: Only build PCI syscalls on architectures that want them PCI: limit pci_get_bus_and_slot to domain 0 PCI: hotplug: acpiphp: avoid acpiphp "cannot get bridge info" PCI hotplug failure PCI: hotplug: acpiphp: remove hot plug parameter write to PCI host bridge PCI: hotplug: acpiphp: fix slot poweroff problem on systems without _PS3 PCI: hotplug: pciehp: wait for 1 second after power off slot PCI: pci_set_power_state(): check for PM capabilities earlier PCI: cpci_hotplug: Convert to use the kthread API PCI: add pci_try_set_mwi PCI: pcie: remove SPIN_LOCK_UNLOCKED PCI: ROUND_UP macro cleanup in drivers/pci PCI: remove pci_dac_dma_... APIs PCI: pci-x-pci-express-read-control-interfaces cleanups PCI: Fix typo in include/linux/pci.h PCI: pci_ids, remove double or more empty lines PCI: pci_ids, add atheros and 3com_2 vendors PCI: pci_ids, reorder some entries PCI: i386: traps, change VENDOR to DEVICE PCI: ATM: lanai, change VENDOR to DEVICE PCI: Change all drivers to use pci_device->revision ... commit dc690d8ef842b464f1c429a376ca16cb8dbee6ae Merge: 57399ec... 91a6902... Author: Linus Torvalds Date: Thu Jul 12 13:40:20 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6: (61 commits) sysfs: add parameter "struct bin_attribute *" in .read/.write methods for sysfs binary attributes sysfs: make directory dentries and inodes reclaimable sysfs: implement sysfs_get_dentry() sysfs: move sysfs_drop_dentry() to dir.c and make it static sysfs: restructure add/remove paths and fix inode update sysfs: use sysfs_mutex to protect the sysfs_dirent tree sysfs: consolidate sysfs spinlocks sysfs: make kobj point to sysfs_dirent instead of dentry sysfs: implement sysfs_find_dirent() and sysfs_get_dirent() sysfs: implement SYSFS_FLAG_REMOVED flag sysfs: rename sysfs_dirent->s_type to s_flags and make room for flags sysfs: make sysfs_drop_dentry() access inodes using ilookup() sysfs: Fix oops in sysfs_drop_dentry on x86_64 sysfs: use singly-linked list for sysfs_dirent tree sysfs: slim down sysfs_dirent->s_active sysfs: move s_active functions to fs/sysfs/dir.c sysfs: fix root sysfs_dirent -> root dentry association sysfs: use iget_locked() instead of new_inode() sysfs: reorganize sysfs_new_indoe() and sysfs_create() sysfs: fix parent refcounting during rename and move ... commit 57399ec9077a4b962b81037aaa279fab52f5e989 Merge: e1bd2ac... c6e54a5... Author: Linus Torvalds Date: Thu Jul 12 13:38:50 2007 -0700 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: (21 commits) libata: remove irq_on from ata_bus_reset() and ata_std_postreset() ata_piix: kill incorrect invalid map value warning libata: add another Maxtor drive with broken NCQ to the list [libata] sata_mv: Fix and clean up per-chip-generation tests [libata] sata_mv: Convert to new exception handling (EH) infrastructure [libata] sata_mv: minor bug fixes, enhancements, and cleanups (prep for new EH) [libata] sata_mv: Minor cleanups and renaming, preparing for new EH & NCQ libata-link: add PMP related ATA constants libata-link: separate out ata_eh_handle_dev_fail() pata_hpt3x3: fix DMA Kconfig option to actually have a hope of working Add Hitachi HDS7250SASUN500G 0621KTAWSD to NCQ blacklist pata_scc.c: Workaround for errata A308 libata: add FUJITSU MHV2080BH to NCQ blacklist pata_hpt3x3: major reworking and testing libata: clean up horkage handling libata: quirk IOMEGA ZIP 250 ATAPI FLOPPY libata: simplify PCI legacy SFF host handling pata_mpc52xx: suspend/resume support sata_promise: SATA hotplug support, take 2 pata_sis: FIFO whack ... commit e1bd2ac5a6b7a8b625e40c9e9f8b6dea4cf22f85 Merge: 0b9062f... 15028aa... Author: Linus Torvalds Date: Thu Jul 12 13:31:22 2007 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (183 commits) [TG3]: Update version to 3.78. [TG3]: Add missing NVRAM strapping. [TG3]: Enable auto MDI. [TG3]: Fix the polarity bit. [TG3]: Fix irq_sync race condition. [NET_SCHED]: ematch: module autoloading [TCP]: tcp probe wraparound handling and other changes [RTNETLINK]: rtnl_link: allow specifying initial device address [RTNETLINK]: rtnl_link API simplification [VLAN]: Fix MAC address handling [ETH]: Validate address in eth_mac_addr [NET]: Fix races in net_rx_action vs netpoll. [AF_UNIX]: Rewrite garbage collector, fixes race. [NETFILTER]: {ip, nf}_conntrack_sctp: fix remotely triggerable NULL ptr dereference (CVE-2007-2876) [NET]: Make all initialized struct seq_operations const. [UDP]: Fix length check. [IPV6]: Remove unneeded pointer idev from addrconf_cleanup(). [DECNET]: Another unnecessary net/tcp.h inclusion in net/dn.h [IPV6]: Make IPV6_{RECV,2292}RTHDR boolean options. [IPV6]: Do not send RH0 anymore. ... Fixed up trivial conflict in Documentation/feature-removal-schedule.txt manually. Signed-off-by: Linus Torvalds commit ca9ced7f6798868f9d2c81a59b49f8c2136685d8 Merge: feb4722... 83f5322... 89bba43... 51198ea... eab03b3... 8a87a99... fcae8e0... 46c41e6... 3c3e69c... Author: Russell King Date: Thu Jul 12 21:30:18 2007 +0100 Merge branches 'at91', 'davinci', 'imx', 'iop', 'ixp', 'ks8695', 'misc', 'pxa' and 's3c' into devel commit fcae8e098877b798c365fd9d807f86d5e2a2b324 Author: Russell King Date: Thu Jul 12 21:29:45 2007 +0100 [ARM] sa1100: remove boot time RTC initialisation The RTC library code contains everything necessary to set the system time from the RTC; for similar reasons as the previous commit, it's far better to let the RTC library code sort this out rather than implement something which might not be appropriate for everyone. Signed-off-by: Russell King commit f3ebbc20ab835ff98cf920f85de989064e352ee5 Author: Russell King Date: Thu Jul 12 21:29:06 2007 +0100 [ARM] sa1100: stop doing our own rtc management over suspend Remove the RTC management over a suspend/resume cycle. As per the corresponding PXA patch, the RTC library code handles updating system time on resume. Signed-off-by: Russell King commit 0b9062f6b57a87f22309c6b920a51aaa66ce2a13 Merge: 82afee6... de61b54... Author: Linus Torvalds Date: Thu Jul 12 13:28:54 2007 -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] Rename PC speaker code [MIPS] Don't use genrtc. [MIPS] Remove unused time.c for swarm [MIPS] Sparse: Use NULL for pointer [MIPS] Fix a sparse warning in arch/mips/pci/pci.c [MIPS] SMTC: Interrupt mask backstop hack [MIPS] separate platform_device registration for VR41xx RTC [MIPS] Separate platform_device registration for VR41xx GPIO [MIPS] MIPSsim: Fix build. [MIPS] separate platform_device registration for VR41xx serial interface [MIPS] Include cacheflush.h in uncache.c [MIPS] Cleanup tlbdebug.h [MIPS] Change names of local variables to silence sparse (part 2) [MIPS] Workaround for a sparse warning in include/asm-mips/io.h [MIPS] RM: Use only phyiscal address for 82596 and 53c710 [MIPS] Hydrogen3: Remove remaining bits of code. [MIPS] DEC: Fix modpost warning. Revert "[MIPS] DEC: Fix modpost warning." [MIPS] Fix resume for 64K page size on R4000 class processors. commit 82afee684fe3badaf5ee3fc5b6fda687d558bfb5 Merge: 068345f... f4d640c... Author: Linus Torvalds Date: Thu Jul 12 13:25:24 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: (30 commits) Blackfin serial driver: supporting BF548-EZKIT serial port Video Console: Blackfin doesnt support VGA console Blackfin arch: Add peripheral io API to gpio header file Blackfin arch: set up gpio interrupt IRQ_PJ9 for BF54x ATAPI PATA driver Blackfin arch: add missing CONFIG_LARGE_ALLOCS when upstream merging Blackfin arch: as pointed out by Robert P. J. Day, update the CPU_FREQ name to match current Kconfig Blackfin arch: extract the entry point from the linked kernel Blackfin arch: clean up some coding style issues Blackfin arch: combine the common code of free_initrd_mem and free_initmem Blackfin arch: Add Support for Peripheral PortMux and resouce allocation Blackfin arch: use PAGE_SIZE when doing aligns rather than hardcoded values Blackfin arch: fix bug set dma_address properly in dma_map_sg Blackfin arch: Disable CACHELINE_ALIGNED_L1 for BF54x by default Blackfin arch: Port the dm9000 driver to Blackfin by using the correct low-level io routines Blackfin arch: There is no CDPRIO Bit in the EBIU_AMGCTL Register of BF54x arch Blackfin arch: scrub dead code Blackfin arch: Fix Warning add some defines in BF54x header file Blackfin arch: add BF54x missing GPIO access functions Blackfin arch: Some memory and code optimizations - Fix SYS_IRQS Blackfin arch: Enable BF54x PIN/GPIO interrupts ... commit 068345f4a873e8b0b511e8f94a595a20e176eeff Merge: c397368... 0a85e9a... Author: Linus Torvalds Date: Thu Jul 12 13:25:00 2007 -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: (26 commits) i2c-rpx: Remove i2c-mpc: work around missing-9th-clock-pulse bug i2c: New PMC MSP71xx TWI bus driver i2c-savage4: Delete many unused defines i2c/tsl2550: Speed up initialization i2c: New bus driver for the TAOS evaluation modules i2c-i801: Use the internal 32-byte buffer on ICH4+ i2c-i801: Various cleanups i2c: Add support for the TSL2550 i2c-pxa: Support new-style I2C drivers i2c-gpio: Make some internal functions static i2c-gpio: Add support for new-style clients i2c-iop3xx: Switch to static adapter numbering i2c-sis5595: Resolve resource conflict with sis5595 matroxfb: Clean-up i2c header inclusions i2c-nforce2: Add support for SMBus block transactions i2c-mpc: Use i2c_add_numbered_adapter i2c-mv64xxx: Use i2c_add_numbered_adapter i2c-piix4: Add support for the ATI SB700 i2c: New DS1682 chip driver ... commit c6e54a578133fb353a50fb44d650768b3b9eb18e Author: Albert Lee Date: Sat Jul 7 15:00:37 2007 +0800 libata: remove irq_on from ata_bus_reset() and ata_std_postreset() It seems irq_on() in ata_bus_reset() and ata_std_postreset() are leftover of the EDD reset. Remove them. Signed-off-by: Albert Lee Signed-off-by: Jeff Garzik commit e04b3b9d03477781eff068957a9abfc92ffc4f59 Author: Tejun Heo Date: Tue Jul 10 17:58:21 2007 +0900 ata_piix: kill incorrect invalid map value warning The last two slots of MAP 00b of ich6m was incorrectly marked as reserved. This is left over from converting the entry to allow 00b. This causes no real problem. It only makes the driver print annoying warning message. Fix it. [patch also proferred by Pierre Tardy at the end of 2006 -jg] Signed-off-by: Tejun Heo -- drivers/ata/ata_piix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Signed-off-by: Jeff Garzik commit e8361fc410badfe23986fc070843112306bd9c8d Author: Chuck Ebbert Date: Thu Jul 12 14:37:19 2007 -0400 libata: add another Maxtor drive with broken NCQ to the list Add another Maxtor 6B200M0 drive with broken NCQ to the list. Signed-off-by: Chuck Ebbert Signed-off-by: Jeff Garzik commit 63fc33ceb0ccc08b3f62d7bfe56a33eb33ca9427 Author: Daniel Drake Date: Tue Jul 10 19:32:11 2007 +0200 [PATCH] mac80211: improved 802.11g CTS protection Currently, CTS protection is partially implemented twice: 1. via prism2 ioctls, only used by hostapd 2. via STA beacon parsing, recorded in sta.use_protection but never used (other than printed in debugfs) Protection control should be implemented on a per-subif basis. For example, a single physical device may be running a soft AP on one channel, and a STA on another. The AP interface should use protection based on what hostapd told it, and the STA interface should use protection based on beacon parsing. These should operate independantly: one subif using protection should not influence the other. To implement this, I moved the use_protection flag into ieee80211_sub_if_data and removed the device-global cts_protect_erp_frames flag. I also made the PRISM2_PARAM_CTS_PROTECT_ERP_FRAMES write operation only available for AP interfaces, to avoid any possibility of the user messing with the behaviour of a STA. Signed-off-by: Daniel Drake Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 5628221caf88e2a052782b042e12da7cd34111b0 Author: Daniel Drake Date: Tue Jul 10 19:32:10 2007 +0200 [PATCH] mac80211: ERP IE handling improvements The "protection needed" flag is currently parsed out of the ERP IE in beacons. This patch allows the ERP IE to be available at assocation time and causes the appropriate actions to be performed earlier. It is slightly complicated by the fact that most APs don't include the ERP IE in association responses. To work around this, we store ERP values in the ieee80211_sta_bss structure. Also added some WLAN_ERP defines for use by upcoming patches. Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 1fd5e589d8c7d3cd42ddd39358338766cfcedec8 Author: Larry Finger Date: Tue Jul 10 19:32:10 2007 +0200 [PATCH] mac80211: Implementation of SIOCSIWRATE The WEXT ioctl SIOCSIWRATE is not implemented in mac80211. This patch adds the missing routine. It supports the 'auto' keyword, fixed rates, and the combination of 'auto' and a fixed rate to select an upper bound. Based on the patch from Mohamed Abbas . Signed-off-by: Larry Finger Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 4480f15ca62a595248d6d8e2b3e75052113cde59 Author: Johannes Berg Date: Tue Jul 10 19:32:10 2007 +0200 [PATCH] mac80211: clarify some mac80211 things The semantics of not having an add_interface callback are not well defined, this callback is required because otherwise you cannot obtain the requested MAC address of the device. Change the documentation to reflect this, add a note about having no MAC address at all, add a warning that mac_addr in struct ieee80211_if_init_conf can be NULL and finally verify that a few callbacks are assigned by way of BUG_ON() Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 5558235c6bade6662e6f257a35f2dfdc8a742147 Author: Johannes Berg Date: Tue Jul 10 19:32:09 2007 +0200 [PATCH] mac80211: conserve stack space due to padding This patch reorders some fields in struct ieee802_11_elems to save 17*7 or 17*3 bytes (on 64/32-bit machines respectively) stack space in a few functions. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 191b92666e3a8aa52af84e2d03350c25145be695 Author: Johannes Berg Date: Tue Jul 10 19:32:09 2007 +0200 [PATCH] mac80211: kill PRISM2_PARAM_CLEAR_KEYS Not used anywhere, hence dead code. wpa_supplicant has its own clear_keys routine. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit fda6cc7ac45f97d4d40cc42781041dec488fa78c Author: Johannes Berg Date: Tue Jul 10 19:32:09 2007 +0200 [PATCH] mac80211: remove PRISM2_PARAM_DROP_UNENCRYPTED ioctl Interestingly, wpa_supplicant doesn't use it, but uses the currently unsupported IW_AUTH_DROP_UNENCRYPTED. So I guess it doesn't matter anyway. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 9771f740c6319e67bab44d18b9717c894a6f266d Author: Johannes Berg Date: Tue Jul 10 19:32:09 2007 +0200 [PATCH] mac80211: kill antenna select ioctls Not used anywhere. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 3ef8bed4692a0de6a47d162196c850c5dea85b70 Author: Johannes Berg Date: Tue Jul 10 19:32:09 2007 +0200 [PATCH] mac80211: kill rate control ioctls These aren't used anywhere (hostapd, wpa_supplicant) and until we have a proper interface to the rate control algorithms they don't make much sense either since e.g. rc80211_lowest won't honour them. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 40f7cac9f8dd662c1dd02334afdceef0be03e34f Author: Johannes Berg Date: Tue Jul 10 19:32:08 2007 +0200 [PATCH] mac80211: separate monitor/subif_start_xmit This patch separates the monitor interface start_xmit from the subif start xmit (those other devices have 802.3 framing, monitor interfaces have radiotap framing) Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 333af2f0715c8d4d38cb657d8f4fb7c4e3ceba9f Author: Hong Liu Date: Tue Jul 10 19:32:08 2007 +0200 [PATCH] mac80211: add support for iwlist channel Add supported channels info in SIOCGIWRANGE implementation. Signed-off-by: Hong Liu Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit c59304b5e07128816347fe3996d7952561f60529 Author: Johannes Berg Date: Tue Jul 10 19:32:08 2007 +0200 [PATCH] mac80211: remove ieee80211_set_aid_for_sta Remove ieee80211_set_aid_for_sta and associated code. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 7f8c05982865a32ee001b79ee0bd469f55ac8aba Author: Johannes Berg Date: Tue Jul 10 19:32:08 2007 +0200 [PATCH] mac80211: remove ieee80211_msg_passive_scan This constant is unused. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit b306f45300866adc01b84f7aa083bfcd9cbb89c4 Author: Johannes Berg Date: Tue Jul 10 19:32:08 2007 +0200 [PATCH] mac80211: show transmitted frames on monitor interfaces This patch makes mac80211 show transmitted frames on monitor interfaces, including radiotap headers that indicate some transmission parameters. The shown parameters will need to be expanded, but this should work as a basis to work from. Signed-off-by: Johannes Berg Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit e4c967c6d88ca94365dd8e2a7bbd22eedb8d7ae7 Author: Andy Green Date: Tue Jul 10 19:32:07 2007 +0200 [PATCH] mac80211: Monitor mode radiotap-based packet injection Signed-off-by: Andy Green Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 179f831bc33104d14deb54a52b7a8b43433f8ccc Author: Andy Green Date: Tue Jul 10 19:29:38 2007 +0200 [PATCH] cfg80211: Radiotap parser Generic code to walk through the fields in a radiotap header, accounting for nasties like extended "field present" bitfields and alignment rules Signed-off-by: Andy Green Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit 08d1f2155cd5b21bb3848f46d9747afb1ccd249d Author: Andy Green Date: Tue Jul 10 19:29:37 2007 +0200 [PATCH] mac80211: Monitor mode radiotap injection docs Add monitor mode radiotap injection docs. Signed-off-by: Andy Green Signed-off-by: Jiri Benc Signed-off-by: John W. Linville commit ee9ccdf70163ca6408f6965e0fbc65baeac7312c Author: Jeff Garzik Date: Thu Jul 12 15:51:22 2007 -0400 [libata] sata_mv: Fix and clean up per-chip-generation tests Due to a mistake in test logic, Gen-IIE chips were being treated as Gen-II chips in some cases. Fix this, and in the process, clean up IS_50XX/IS_60XX tests to the more uniform IS_GEN_{I,II,IIE} tests. Signed-off-by: Jeff Garzik commit bdd4dddee325a7dce3e84cf48201a06aa8508aa4 Author: Jeff Garzik Date: Thu Jul 12 14:34:26 2007 -0400 [libata] sata_mv: Convert to new exception handling (EH) infrastructure This makes hotplug, NCQ, etc. possible, and removes one of the few remaining old-EH drivers. Signed-off-by: Jeff Garzik commit 4537deb5e90b717a725b3d74b58b4bb1d28443d0 Author: Jeff Garzik Date: Thu Jul 12 14:30:19 2007 -0400 [libata] sata_mv: minor bug fixes, enhancements, and cleanups (prep for new EH) * Continue replacing "CONSTANT & var" tests with "var & CONSTANT" * Don't clear EDMA_CFG_NCQ_GO_ON_ERR on Gen-IIE, where that bit does not exist * Set I/O Id field in descriptor, where present. Appears to work fine on all versions, even though queueing is still disabled. * call pci_set_mwi(), to (a) make sure cacheline size is set properly, and (b) enable MWI transactions * Remove never-used handling of coalescing interrupt bits (these events are always masked) Signed-off-by: Jeff Garzik commit c39736823232bc3ca113c8228fa852c09fba300e Author: H. Peter Anvin Date: Wed Jul 11 12:18:58 2007 -0700 Remove old i386 setup code This removes the old i386 setup code. This is done as a separate patch to avoid breaking git bisect as some of the i386 code was also used by the old x86-64 code. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 91a6c462b02d8dc02dbe95e5a407d78078a38d01 Author: H. Peter Anvin Date: Wed Jul 11 12:18:57 2007 -0700 Use the new x86 setup code for x86-64; unify with i386 This unifies arch/*/boot (except arch/*/boot/compressed) between i386 and x86-64, and uses the new x86 setup code for x86-64 as well. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 4fd06960f120e02e9abc802a09f9511c400042a5 Author: H. Peter Anvin Date: Wed Jul 11 12:18:56 2007 -0700 Use the new x86 setup code for i386 This patch hooks the new x86 setup code into the Makefile machinery. It also adapts boot/tools/build.c to a two-file (as opposed to three-file) universe, and simplifies it substantially. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit f2d98ae63dc64dedb00499289e13a50677f771f9 Author: H. Peter Anvin Date: Wed Jul 11 12:18:55 2007 -0700 Linker script for the new x86 setup code Linker script to define the layout of the new x86 setup code. Includes assert for size overflow and a misaligned setup header. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 626073132b381684c4983e0d911e9aceb32e2cbc Author: H. Peter Anvin Date: Wed Jul 11 12:18:54 2007 -0700 Assembly header and main routine for new x86 setup code The assembly header and initialization code, and the main() routine. main.c also contains some miscellaneous very short routines. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 7052fdd890bda0b3904674b69a1d24aec0a10d67 Author: H. Peter Anvin Date: Wed Jul 11 12:18:53 2007 -0700 Code for actual protected-mode entry This is the code which actually does the switch to protected mode, including all preparation. It is also responsible for invoking the boot loader hooks, if present. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 5e8ddcbe8692ca9854991c6875d302fa7e424e3c Author: H. Peter Anvin Date: Wed Jul 11 12:18:52 2007 -0700 Video mode probing support for the new x86 setup code Video mode probing for the new x86 setup code. This code breaks down different drivers into modules. This code deliberately drops support for a lot of the vendor-specific mode probing present in the assembly version, since a lot of those probes have been found to be stale in current versions of those chips -- frequently, support for those modes have been dropped from recent video BIOSes due to space constraints, but the video BIOS signatures are still the same. However, additional drivers should be extremely straightforward to plug in, if desirable. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 337496eb73ec970fe008095fdb2b2af60a2a7fa3 Author: H. Peter Anvin Date: Wed Jul 11 12:18:51 2007 -0700 Voyager support for the new x86 setup code Voyager support for the new x86 setup code. This implements the same functionality as the assembly version. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 449f2ab946b5ffbc357d815e8e3cce8def642984 Author: H. Peter Anvin Date: Wed Jul 11 12:18:50 2007 -0700 Memory probing support for the new x86 setup code Probe memory (INT 15h: E820, E801, 88). Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 3b53d3045bbb8ea3c9dce663b102eab0903817c5 Author: H. Peter Anvin Date: Wed Jul 11 12:18:49 2007 -0700 MCA support for new x86 setup code MCA probing support for the new x86 setup code. This implements the same functionality as the assembly version. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit d13444a5a53b0159e6316a7a7be9890143a5af71 Author: H. Peter Anvin Date: Wed Jul 11 12:18:48 2007 -0700 EDD probing code for the new x86 setup code Probe EDD and MBR signatures, in order to make it easier to map physical hard drives to BIOS drives. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 31b54f40e12e4d04941762be6615edaf3c6ed811 Author: H. Peter Anvin Date: Wed Jul 11 12:18:47 2007 -0700 CPU features verification for the new x86 setup code Verify that the CPU has enough features to run the kernel. This may entail enabling features on some CPUs. By doing this in the setup code we can be guaranteed to still be able to write to the console through the BIOS. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 0008ea39bd03ee1f29e361e6f6e1b8a6289e5234 Author: H. Peter Anvin Date: Wed Jul 11 12:18:46 2007 -0700 Version string for the new x86 setup code Module which only includes the kernel version string. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 1543610ad79ac4cc61c26f8a29c84e4229faa9a3 Author: H. Peter Anvin Date: Wed Jul 11 12:18:45 2007 -0700 Console-writing code for the new x86 setup code This implements writing text to the console, including printf(). Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit e44c22f65f96217692e1a915032fbe7d22236751 Author: H. Peter Anvin Date: Wed Jul 11 12:18:44 2007 -0700 Command-line parsing code for the new x86 setup code Simple command-line parser which allows us to access the kernel command line from the setup code. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 49df18fa3f95a5c988b64e4e20e15372282e96ea Author: H. Peter Anvin Date: Wed Jul 11 12:18:43 2007 -0700 APM probing code APM probing code for the new x86 setup code. This implements the same functionality as the assembly version. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 5a8a8128bc218ebd067c660912d838344b05c608 Author: H. Peter Anvin Date: Wed Jul 11 12:18:42 2007 -0700 A20 handling code A20 handling code for the new x86 setup code. This implements the same algorithms as the assembly version. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 5be865661516263d90317a6b35b588a2d7c3cb55 Author: H. Peter Anvin Date: Wed Jul 11 12:18:41 2007 -0700 String-handling functions for the new x86 setup code. strcmp(), memcpy(), memset(), as well as routines to copy to and from other segments (as pointed to by fs and gs). Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit ad7e906d5687bb076fe6c3c980d6e013a3a42bde Author: H. Peter Anvin Date: Wed Jul 11 12:18:40 2007 -0700 Simple bitops for the new x86 setup code. A simple collection of bitops for the new x86 setup code. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 62bd0337d0c4a77902502558aa30ceeb15655407 Author: H. Peter Anvin Date: Wed Jul 11 12:18:39 2007 -0700 Top header file for new x86 setup code Top header file for the new x86 setup code. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit f7f4a5fbd21bf7fc4f207ddaf5126c78c0d1e0b5 Author: H. Peter Anvin Date: Wed Jul 11 12:18:38 2007 -0700 Header file to produce 16-bit code with gcc gcc for i386 can be used with the assembly prefix ".code16gcc" to generate 16-bit (real-mode) code. This header file provides the assembly prefix. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 8afd2af88921c2cb1c9540cecd0714da7ae4fcd0 Author: H. Peter Anvin Date: Wed Jul 11 12:18:37 2007 -0700 x86-64: add symbolic constants for the boot segment selectors Add symbolic constants for the segment selectors/GDT slots used by the setup code, for consistency with i386. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 77e1dd654bc24182a7ad34f415abd488ae7af6eb Author: H. Peter Anvin Date: Wed Jul 11 12:18:36 2007 -0700 x86-64: add CONFIG_PHYSICAL_ALIGN for consistency with i386 Add CONFIG_PHYSICAL_ALIGN (currently as a hardcoded constant) to provide consistency with i386. This value is manifest in the bzImage header. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 48c7ae674f03e56c78ff42c6796a36e90db67874 Author: H. Peter Anvin Date: Wed Jul 11 12:18:35 2007 -0700 Make struct boot_params a real structure, and remove obsolete fields Make struct boot_params a real structure, and remove the handling of some obsolete fields, in particular hd*_info, which was only used by the ST-506 driver, and likely to be wrong for that driver on any modern BIOS. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 9c25d134b3735a4b197e108b4c7d6bbec1a275e8 Author: H. Peter Anvin Date: Wed Jul 11 12:18:34 2007 -0700 Make definitions for struct e820entry and struct e820map consistent Make definitions for struct e820entry and struct e820map consistent between i386 and x86-64. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 85414b693ac037d709582a167a330db3a5d186d8 Author: H. Peter Anvin Date: Wed Jul 11 12:18:33 2007 -0700 Define zero-page offset 0x1e4 as a scratch field, and use it The relocatable kernel code needs a scratch field for the decompressor to determine its own location. It was using a location inside struct screen_info; reserve a free location and document it as scratch instead. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 1d67953f2bda8876045c24ae58841f27d9bb7572 Author: Venki Pallipadi Date: Wed Jul 11 12:18:32 2007 -0700 Use a new CPU feature word to cover features that are spread around Some Intel features are spread around in different CPUID leafs like 0x5, 0x6 and 0xA. Make this feature detection code common across i386 and x86_64. Display Intel Dynamic Acceleration feature in /proc/cpuinfo. This feature will be enabled automatically by current acpi-cpufreq driver. Refer to Intel Software Developer's Manual for more details about the feature. Thanks to hpa (H Peter Anvin) for the making the actual code detecting the scattered features data-driven. Signed-off-by: Venkatesh Pallipadi Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit e087db510cd96a75a614f6f6fcd5499ab21cb087 Author: H. Peter Anvin Date: Wed Jul 11 12:18:31 2007 -0700 Clean up struct screen_info () struct screen_info has unaligned members, it needs to be packed. In the process, fix the naming of some of the members, which don't belong in this structure but are part of it anyway. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit de32e04175efbc1ff5e0f509253d5dfc84f173b3 Author: H. Peter Anvin Date: Wed Jul 11 12:18:30 2007 -0700 x86 Kconfig: change X86_MINIMUM_CPU_MODEL to X86_MINIMUM_CPU_FAMILY The X86_MINIMUM_CPU_MODEL name isn't really right, so change it to X86_MINIMUM_CPU_FAMILY. Also, the default minimum should be 3, not 0. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit ec481536b15eb0520d8f0204b0294480050fe1f8 Author: H. Peter Anvin Date: Wed Jul 11 12:18:29 2007 -0700 Unify the CPU features vectors between i386 and x86-64 Unify the handling of the CPU features vectors between i386 and x86-64. This also adopts the collapsing of features which are required at compile-time into constant tests from x86-64 to i386. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit f8c09377d754f35a135454181b869ab527cc0757 Author: H. Peter Anvin Date: Wed Jul 11 12:18:28 2007 -0700 include/asm-i386/boot.h: This is , not include/asm-i386/boot.h incorrectly has the multiple include guards as _LINUX_BOOT_H instead of _ASM_BOOT_H. Fix. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 48dd643c3b02544994fa091573c2242441a7733f Author: H. Peter Anvin Date: Wed Jul 11 12:18:27 2007 -0700 hd.c: remove BIOS/CMOS queries An ST-506 disk these days is pretty much someone trying to pull ancient data using an auxilliary controller. Pulling data from the BIOS or CMOS is just plain wrong, since it's likely to be the primary OS disk... and would be user-entered data anyway. Instead, require the user enters it on the command line. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit 7f1291f2caa536c441507b459f91770a5280fb5d Author: H. Peter Anvin Date: Wed Jul 11 12:18:26 2007 -0700 x86 setup: MAINTAINERS: formally take responsibility for the i386 boot code Change MAINTAINERS to formally take responsibility for the i386 boot code. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit de61b542b822746d1498718c40f5dd740da49629 Author: Ralf Baechle Date: Thu Jul 12 17:41:23 2007 +0100 [MIPS] Rename PC speaker code While the PC speaker is wired up to the i8254 there is more to the i8254 than just the PC speaker so this code was getting in the way under its current name. Signed-off-by: Ralf Baechle commit fdc1f93847ea618e51f001805e022794d8bffff3 Author: Ralf Baechle Date: Thu Jul 12 17:41:21 2007 +0100 [MIPS] Don't use genrtc. The only pseudo-legitimate MIPS user of genrtc was a systems that doesn't have an RTC in hardware at all. At this point faking one is a little pointless ... commit 1f2c6d6b0c553e44273aaee24820c67ebfbbfebe Author: Yoichi Yuasa Date: Thu Jun 7 22:27:50 2007 +0900 [MIPS] Remove unused time.c for swarm Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 28fc582cc9b7fc6ed6a9fbf9565a2b1e56eee880 Author: Atsushi Nemoto Date: Fri Jul 13 01:49:49 2007 +0900 [MIPS] Sparse: Use NULL for pointer This fixes a sparse warning: arch/mips/kernel/traps.c:376:44: warning: Using plain integer as NULL pointer Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 8ed07a1cce1530d2fd42e23c867a7c0c1170515a Author: Atsushi Nemoto Date: Fri Jul 13 01:26:52 2007 +0900 [MIPS] Fix a sparse warning in arch/mips/pci/pci.c Fixes this warning: arch/mips/pci/pci.c:284:18: warning: symbol 'dev' shadows an earlier one arch/mips/pci/pci.c:272:17: originally declared here Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 0db34215c7e0ef618e7b29fbf271194ca5434f8e Author: Kevin D. Kissell Date: Thu Jul 12 16:21:08 2007 +0100 [MIPS] SMTC: Interrupt mask backstop hack To support multiple TC microthreads acting as "CPUs" within a VPE, VPE-wide interrupt mask bits must be specially manipulated during interrupt handling. To support legacy drivers and interrupt controller management code, SMTC has a "backstop" to track and if necessary restore the interrupt mask. This has some performance impact on interrupt service overhead. Disable it only if you know what you are doing. Signed-off-by: Ralf Baechle commit bd0765098bf22eb8b1319f649a4c3301b40ec04c Author: Yoichi Yuasa Date: Fri May 11 21:18:48 2007 +0900 [MIPS] separate platform_device registration for VR41xx RTC Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 44173fb2e83183b585e137e6fee8ba32460f5645 Author: Yoichi Yuasa Date: Thu May 10 22:21:35 2007 +0900 [MIPS] Separate platform_device registration for VR41xx GPIO Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit a74b4605181595c633ff4cfd44949886b0918172 Author: Ralf Baechle Date: Thu Jul 12 17:41:14 2007 +0100 [MIPS] MIPSsim: Fix build. Signed-off-by: Ralf Baechle commit 891649409edbed528728b4a104d29e43e9d7473a Author: Yoichi Yuasa Date: Wed May 9 00:03:02 2007 +0900 [MIPS] separate platform_device registration for VR41xx serial interface Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 8c41286edffef0d6e7fb770b178275c8beb24055 Author: Atsushi Nemoto Date: Thu Jul 12 00:55:40 2007 +0900 [MIPS] Include cacheflush.h in uncache.c This fixes this sparse warning: arch/mips/lib/uncached.c:38:22: warning: symbol 'run_uncached' was not declared. Should it be static? Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 40df3831f9b2fa386f55b580f294ea4f686704be Author: Atsushi Nemoto Date: Thu Jul 12 00:51:00 2007 +0900 [MIPS] Cleanup tlbdebug.h Also include tlbdebug.h in dump_tlb.c and r3k_dump_tlb.c. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 87d43dd48d6e68095be85c4e5f991fd7c89c052e Author: Atsushi Nemoto Date: Wed Jul 11 23:30:40 2007 +0900 [MIPS] Change names of local variables to silence sparse (part 2) This patch is an workaround for these sparse warnings: include2/asm/mmu_context.h:172:2: warning: symbol 'flags' shadows an earlier one include2/asm/mmu_context.h:133:16: originally declared here include2/asm/mmu_context.h:232:2: warning: symbol 'flags' shadows an earlier one include2/asm/mmu_context.h:203:16: originally declared here include2/asm/mmu_context.h:277:3: warning: symbol 'flags' shadows an earlier one include2/asm/mmu_context.h:250:16: originally declared here Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit c0cf500145b4154adcbc55afc1a63db24cee84a2 Author: Atsushi Nemoto Date: Wed Jul 11 23:12:00 2007 +0900 [MIPS] Workaround for a sparse warning in include/asm-mips/io.h CKSEG1ADDR() returns unsigned int value on 32bit kernel. Cast it to unsigned long to get rid of this warning: include2/asm/io.h:215:12: warning: cast adds address space to expression () Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 9815778ae016004c33ce267a00b7d567192ef6e7 Author: Thomas Bogendoerfer Date: Wed Jul 11 19:10:39 2007 +0200 [MIPS] RM: Use only phyiscal address for 82596 and 53c710 Use physical address for 82596 and 53c710 base address Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 0adc327bda829f6f7302ca2abdbe776828db7a97 Author: Ralf Baechle Date: Thu Jul 12 14:01:06 2007 +0100 [MIPS] Hydrogen3: Remove remaining bits of code. Signed-off-by: Ralf Baechle commit ddfada5ac00647ed0e6091322acff9d615bf7497 Author: Ralf Baechle Date: Wed Jul 11 00:20:01 2007 +0100 [MIPS] DEC: Fix modpost warning. LD vmlinux SYSMAP System.map SYSMAP .tmp_System.map MODPOST vmlinux WARNING: drivers/built-in.o(.data+0x2480): Section mismatch: reference to .init.text: (between 'sercons' and 'ds_parms') Signed-off-by: Ralf Baechle commit 96532151ff3567154cac92983b9edc3138fa097c Author: Ralf Baechle Date: Wed Jul 11 00:07:34 2007 +0100 Revert "[MIPS] DEC: Fix modpost warning." This reverts commit 8713762acf341edea9d25d6a4817f235c67bc004. commit 3bd39664481fc51d82e58a3bec6ba77febc7dfae Author: Ralf Baechle Date: Wed Jul 11 08:32:21 2007 +0100 [MIPS] Fix resume for 64K page size on R4000 class processors. Problem reported by Peter Watkins but this is a different fix. Signed-off-by: Ralf Baechle commit d1cbbd6b413510c6512f4f80ffd48db1a8dd554a Author: Catalin Marinas Date: Wed Jul 11 11:29:39 2007 +0100 [ARM] 4474/1: Do not check the PSR_F_BIT in valid_user_regs When running Linux in non-secure mode (on ARM1176 for example), depending on the CP15 secure configuration register, the CPSR.F bit (6) might only be modified from the secure mode. However, the valid_user_regs() function checks for this bit being cleared. With commit a6c61e9d, a SIGSEGV is forced in handle_signal() if the user registers are not considered valid. The patch also ensures that the CPSR.A bit is cleared and the USR mode is set if the CPU does not support the 26bit user mode. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit f884b1cf578e079f01682514ae1ae64c74586602 Author: Catalin Marinas Date: Thu Jul 12 16:10:22 2007 +0100 [ARM] 4473/2: Take the HWCAP definitions out of the elf.h file The patch moves the HWCAP definitions and the extern elf_hwcap declaration to the hwcap.h header file. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 46c41e62a1feb4ab2e941f33f06bbf8feab2d2cf Author: Russell King Date: Tue May 15 15:39:36 2007 +0100 [ARM] pxa: move platform devices to separate header file Signed-off-by: Russell King commit 34f3231f435dfb8e6c83271c63461fdd2901dc97 Author: Russell King Date: Tue May 15 10:39:49 2007 +0100 [ARM] pxa: move device registration into CPU-specific file This allows individual CPU support to determine which platform devices should be registered. Also fix a copy-n-paste bug in the I2C power platform device entry. Signed-off-by: Russell King commit 4adb70fc1b9b545ce6221f0cc35a8fa0eab13461 Author: Russell King Date: Wed Jun 27 09:57:32 2007 +0100 [ARM] pxa: remove boot time RTC initialisation The RTC library code contains everything necessary to set the system time from the RTC; for similar reasons as the previous commit, it's far better to let the RTC library code sort this out rather than implement something which might not be appropriate for everyone. Signed-off-by: Russell King commit 2aca0a865722fce435034cee5a33e1726fe10a9f Author: Russell King Date: Wed Jun 27 09:56:05 2007 +0100 [ARM] pxa: stop doing our own rtc management over suspend Remove the RTC management over a suspend/resume cycle. Firstly, we may not be using the internal RTC for time keeping; some platforms have an external RTC for this inspite of the PXA having an internal RTC. Secondly, the RTC library code handles updating system time on resume. Signed-off-by: Russell King commit f53f066c25036210036730d64c876ea586114425 Author: Eric Miao Date: Fri Jun 22 05:40:17 2007 +0100 [ARM] 4451/1: pxa: make dma.c generic and remove cpu specific dma code Since the number of dma channels varies between pxa25x and pxa27x, it introduces some specific code in dma.c. This patch moves the specific code to pxa25x.c and pxa27x.c and makes dma.c more generic. 1. add pxa_init_dma() for dma initialization, the number of channels are passed in by the argument 2. add a "prio" field to the "struct pxa_dma_channel" for the channel priority, and is initialized in pxa_init_dma() 3. use a general priority comparison with the channels "prio" field so to remove the processor specific pxa_for_each_dma_prio macro, this is not lightning fast as the original one, but it is acceptable as it happens when requesting dma, which is usually not so performance critical Signed-off-by: eric miao Acked-by: Nicolas Pitre Signed-off-by: Russell King commit cd49104d99b56383a3b1fdce2f31018197093c31 Author: Eric Miao Date: Fri Jun 22 04:14:09 2007 +0100 [ARM] 4450/1: pxa: add pxa25x_init_irq() and pxa27x_init_irq() /* should be ok this time, I aligned this patch to your arm:pxa2.mbox */ 1. move pxa25x specific IRQ initialization code to pxa25x_init_irq() and pxa27x code to pxa27x_init_irq(), remove pxa_init_irq() 2. replace all pxa_init_irq() with their PXA25x or PXA27x specific functions Signed-off-by: eric miao Signed-off-by: Russell King commit 8118d124949ed8ff1a450e0c0d13cfab8c2ff7aa Author: Eric Miao Date: Wed Jun 6 06:49:59 2007 +0100 [ARM] 4440/1: PXA: enable the checking of ICIP2 for IRQs ICIP2 is not examined during IRQ entrance, this patch add the checking if the processor is PXA27x or later, with CoreG bits in CPUID (Core Generation) > 1 Signed-off-by: eric miao Signed-off-by: Russell King commit 4a3dcd35c82a2a25b2832502290e1a3f1571e9ef Author: Eric Miao Date: Wed Jun 6 06:45:18 2007 +0100 [ARM] 4438/1: PXA: remove #ifdef .. #endif from pxa_gpio_demux_handler() 1. use GPIO_IRQ_mask[] to select those bits of interest, actually only those "unmasked" GPIO IRQs with their corresponding bits in GPIO_IRQ_mask[] set to "1" should be checked 2. remove #ifdef PXA_LAST_GPIO > 96 .. #endif, GPIO_IRQ_mask[] is used to mask out the irrelevant bits, so that even though the GEDR3 on PXA25x is reserved, it will be masked, and the following code will never run. Another point is that GPIO85- GPIO95 bits within GEDR2 will also be masked out on PXA25x Signed-off-by: eric miao Signed-off-by: Russell King commit 348f2e3b2956e30f07d2507d7234c3f12a8a612d Author: Eric Miao Date: Wed Jun 6 06:37:15 2007 +0100 [ARM] 4437/1: PXA: move the GPIO IRQ initialization code to pxa_init_irq_gpio() move the GPIO IRQ initialization code to pxa_init_irq_gpio() Signed-off-by: eric miao Signed-off-by: Russell King commit 53665a50fdac6fe11e0dde4e2b95700ed5184dc4 Author: Eric Miao Date: Wed Jun 6 06:36:04 2007 +0100 [ARM] 4436/1: PXA: move low IRQ initialization code to pxa_init_irq_low() 1. move low IRQ initialization code to pxa_init_irq_low() Signed-off-by: eric miao Signed-off-by: Russell King commit c08b7b3ef6bf489ddabadc03e050f3db2ea44b5d Author: Eric Miao Date: Wed Jun 6 06:32:38 2007 +0100 [ARM] 4435/1: PXA: remove PXA_INTERNAL_IRQS 1. define PXA_GPIO_IRQ_BASE to be right after the internal IRQs, and define PXA_GPIO_IRQ_NUM to be 128 for all PXA2xx variants 2. make the code specific to the high IRQ numbers (32..64) to be PXA27x specific 3. add a function pxa_init_irq_high() to initialize the internal high IRQ chip, the invoke of this function could be moved to PXA27x specific initialization code Signed-off-by: eric miao Signed-off-by: Russell King commit 486c955118dbbb0f13dc4d40cc5dac2b23f82676 Author: Eric Miao Date: Wed Jun 6 06:22:20 2007 +0100 [ARM] 4434/1: PXA: remove PXA_IRQ_SKIP 1. PXA_IRQ_SKIP is defined to be 7 on PXA25x so that the first IRQ starts from zero. This makes IRQ numbering inconsistent between PXA25x and PXA27x. Remove this macro so that the same IRQ_XXXXX definition has the same value on both PXA25x and PXA27x. 2. make IRQ_SSP3..IRQ_PWRI2C valid only if PXA27x is defined, this avoids unintentional use of these macros on PXA25x Signed-off-by: eric miao Signed-off-by: Russell King commit 88dfe98c688e1700a4a9f73f8b7d570f4f52170d Author: Russell King Date: Tue May 15 11:22:48 2007 +0100 [ARM] pxa: Fix PXA27x suspend type validation, remove pxa_pm_prepare() pxa_pm_prepare() tried to validate the suspend method type. As noted in previous commits: eb9289eb20df6b54214c45ac7c6bf5179a149026 9c372d06ce9ddf65e1393f9ea22a6d6bd5f96b42 e8c9c502690efd24b7055bf608e7a3c34216848b the checking of the suspend type in the 'prepare' method is the wrong place to do this; use the 'valid' method instead. This means that pxa_pm_prepare() can be entirely removed. Signed-off-by: Russell King commit e176bb05fec4c00450302a75e81f8da3dc9e309e Author: Russell King Date: Tue May 15 11:16:10 2007 +0100 [ARM] pxa: move pm_ops structure into CPU specific files Move the pm_ops structure into the PXA25x and PXA27x support files. Remove the old pxa_pm_prepare() function, and rename the both pxa_cpu_pm_prepare() functions as pxa_pm_prepare(). We'll fix that later. Signed-off-by: Russell King commit b23170c01f6e4ea043df7cd9486c2488e01f3d60 Author: Russell King Date: Tue May 15 10:26:49 2007 +0100 [ARM] pxa: introduce cpu_is_pxaXXX macros Signed-off-by: Russell King commit 7a2b94bc39915041304578188441f0f21aa5532a Author: Russell King Date: Wed May 16 15:44:37 2007 +0100 [ARM] pxa: remove MMC register defines from pxa-regs.h pxamci.h redefines the MMC registers differently so they can be used with ioremap. Remove the incompatible definitions from pxa-regs.h. Signed-off-by: Russell King commit f4b6a0a401f2cec5e6199e805ed42f30d8c04e94 Author: Russell King Date: Tue May 15 16:49:02 2007 +0100 [ARM] pxa: use mutexes instead of semaphores Signed-off-by: Russell King commit f62c3f2c35874713ebbb6b6a4b9d9c6caaed4f14 Author: Russell King Date: Tue May 15 11:03:24 2007 +0100 [ARM] pxa: remove useless pxa_pm_finish() function pxa_pm_finish() does nothing but return zero. The core code does nothing with this return value, and will not try to call the finish method in the pm_ops structure if it is NULL. Therefore, we can remove this useless function. Signed-off-by: Russell King commit 0a85e9a271a754e352af8a8b625025017fd97449 Author: Jean Delvare Date: Thu Jul 12 14:12:32 2007 +0200 i2c-rpx: Remove This driver has been broken forever. It depends on i2c-algo-8xx which has never been in the mainline kernel. Signed-off-by: Jean Delvare commit 254db9b5e7b1b0d38a4f177c2c23a5685c78221a Author: Domen Puncer Date: Thu Jul 12 14:12:31 2007 +0200 i2c-mpc: work around missing-9th-clock-pulse bug Work around a problem reported on: http://ozlabs.org/pipermail/linuxppc-embedded/2005-July/019038.html Without this patch I2C on mpc5200 becomes unusable after a while. Tested on mpc5200 boards by Matthias Fechner and me. Signed-off-by: Domen Puncer Signed-off-by: Jean Delvare commit 1b144df1d7d69d6dd3394205933c8951dd8b6784 Author: Marc St-Jean Date: Thu Jul 12 14:12:31 2007 +0200 i2c: New PMC MSP71xx TWI bus driver Add TWI driver for the PMC-Sierra MSP71xx devices. [JD: Drop the probe hack, don't set algo_data as we never use it, return the right error code if the driver registration fails.] Signed-off-by: Marc St-Jean Signed-off-by: Jean Delvare commit c6e16295b71ec006c8cb6d13520e9194652a6026 Author: Jean Delvare Date: Thu Jul 12 14:12:31 2007 +0200 i2c-savage4: Delete many unused defines Signed-off-by: Jean Delvare commit e296fb7f301f3c3398adc6d991b097cfa73e1c0c Author: Jean Delvare Date: Thu Jul 12 14:12:31 2007 +0200 i2c/tsl2550: Speed up initialization There's some redundancy in the tsl2550 initialization sequence. It is powering up the device twice, and setting the operating mode twice too. Setting things just once saves SMBus transactions, which aren't always cheap, speeding up the device initialization. Signed-off-by: Jean Delvare Cc: Rodolfo Giometti commit b9cdad74883a797952de52464d118d685cafc05a Author: Jean Delvare Date: Thu Jul 12 14:12:31 2007 +0200 i2c: New bus driver for the TAOS evaluation modules This is a new I2C bus driver for the TAOS evaluation modules. Developped and tested on the TAOS TSL2550 EVM. Signed-off-by: Jean Delvare commit 7edcb9abb594a8f3b4ca756e03d01c870aeae127 Author: Oleg Ryjkov Date: Thu Jul 12 14:12:31 2007 +0200 i2c-i801: Use the internal 32-byte buffer on ICH4+ Add an ability to utilize the internal SRAM buffer on ICH4 and newer host controllers to speed up execution of block operations. I've split the code so that it is more clear which block transaction is performed. First of all the host controller's type is identified. isich4 is set when we think that the controller has the internal buffer. Then, before every block transaction, if isich4 is set, we attempt to enable the E32B bit in SMBAUXCTL register. Signed-off-by: Oleg Ryjkov Signed-off-by: Jean Delvare commit ca8b9e32a11a7cbfecbef00c8451a79fe1af392e Author: Oleg Ryjkov Date: Thu Jul 12 14:12:31 2007 +0200 i2c-i801: Various cleanups * Use defines instead of raw numbers for register bits * Fix several wrong indentations and trailing whitespace * Move hwpec timeout checking to a separate function Signed-off-by: Oleg Ryjkov Signed-off-by: Jean Delvare commit a92c344d8c640a812c7a9f5a5202d862cd052a0f Author: Rodolfo Giometti Date: Thu Jul 12 14:12:30 2007 +0200 i2c: Add support for the TSL2550 Add support for Taos TSL2550 ambient light sensors. (http://www.taosinc.com/product_detail.asp?cateid=4&proid=18). Signed-off-by: Rodolfo Giometti Signed-off-by: Jean Delvare commit 066af983c74162fa98e7c5ffa8a5ead4a6979b1f Author: Rodolfo Giometti Date: Thu Jul 12 14:12:30 2007 +0200 i2c-pxa: Support new-style I2C drivers Signed-off-by: Rodolfo Giometti Signed-off-by: Jean Delvare commit 4d6ceed4426cd85e1203a3153246334a3537f92b Author: Atsushi Nemoto Date: Thu Jul 12 14:12:30 2007 +0200 i2c-gpio: Make some internal functions static i2c_gpio_getsda() and i2c_gpio_getscl() are only used in this file. Signed-off-by: Atsushi Nemoto Acked-by: Haavard Skinnemoen Signed-off-by: Jean Delvare commit 7e69c3ac93a9a7aa29dab7179f86da67db7b0ca3 Author: Atsushi Nemoto Date: Thu Jul 12 14:12:30 2007 +0200 i2c-gpio: Add support for new-style clients Use i2c_bit_add_numbered_bus() so that the i2c-gpio adapter works well with new-style pre-declared devices. Signed-off-by: Atsushi Nemoto Signed-off-by: Jean Delvare commit 757ba4c697244da878b65585d8cb671da1cb9eaf Author: Martin Michlmayr Date: Thu Jul 12 14:12:30 2007 +0200 i2c-iop3xx: Switch to static adapter numbering Update the IOP3xx I2C driver to use i2c_add_numbered_adapter(), so that later patches can convert boards to using new-style drivers. Signed-off-by: Martin Michlmayr Tested-by: Voipio Riku Cc: Dan J Williams Signed-off-by: Jean Delvare commit 7375cd822d600b4e8b83cbc025422e4267bf5fac Author: Jean Delvare Date: Thu Jul 12 14:12:30 2007 +0200 i2c-sis5595: Resolve resource conflict with sis5595 Let the i2c-sis5595 driver release its PCI device after registering. This is to allow the sis5595 hardware monitoring driver to also access this PCI device. The same trick is already used in the i2c-viapro and via686a drivers to let them both load. Signed-off-by: Jean Delvare commit 7d13714650ec8868f999d2dc3d06e2723687d0c3 Author: Jean Delvare Date: Thu Jul 12 14:12:30 2007 +0200 matroxfb: Clean-up i2c header inclusions matroxfb_crtc2 has nothing to do with i2c, so there's no reason why matroxfb_crtc2.h should include i2c header files. Signed-off-by: Jean Delvare Acked-by: Petr Vandrovec commit b53c82211a7239643aa7c9b4887429c30f353406 Author: Oleg Ryjkov Date: Thu Jul 12 14:12:29 2007 +0200 i2c-nforce2: Add support for SMBus block transactions Add support for SMBus block read/write transactions to i2c-nforce2 driver, in particular to host controllers MCP51 and MCP55. Signed-off-by: Oleg Ryjkov Signed-off-by: Jean Delvare commit 1469fa263870acd890a4b9f6ef557acc5d673b44 Author: Grant Likely Date: Thu Jul 12 14:12:29 2007 +0200 i2c-mpc: Use i2c_add_numbered_adapter Move the i2c-mpc driver over to using the new i2c infrastructure. Specifically, it now uses i2c_add_numbered_adapter so that the bus number can be determined ahead of time and used to register i2c clients before the bus is instantiated. Tested on an MPC5200 based board Signed-off-by: Grant Likely Signed-off-by: Jean Delvare commit 65b22ad9508b609b0625eccb2680996a1e09ed16 Author: Dale Farnsworth Date: Thu Jul 12 14:12:29 2007 +0200 i2c-mv64xxx: Use i2c_add_numbered_adapter Convert the Marvell mv64xxx I2C driver to use the new i2c infrastructure, by calling i2c_add_numbered_adapter(). This allows clients to be registered before the bus is instantiated. Signed-off-by: Dale Farnsworth Acked-by: Mark A. Greer Signed-off-by: Jean Delvare commit c29c22218b99dad95f7cd0281415a854aeee805c Author: Henry Su Date: Thu Jul 12 14:12:29 2007 +0200 i2c-piix4: Add support for the ATI SB700 Add the SMBus device ID for ATI SB700. Signed-off-by: Henry Su Signed-off-by: Jean Delvare commit 5162b75b24963eebe62c4d4161d0fe0b337a313b Author: Grant Likely Date: Thu Jul 12 14:12:29 2007 +0200 i2c: New DS1682 chip driver A driver for the Dallas DS1682 elapsed time recorder chip. Tested on a MPC5200 based board using the integrated i2c adapter. Signed-off-by: Grant Likely Signed-off-by: Jean Delvare commit 4b2643d7d9bdcd776749e17f73c168ddf02e93cb Author: Jean Delvare Date: Thu Jul 12 14:12:29 2007 +0200 i2c: Fix the i2c_smbus_read_i2c_block_data() prototype Let the drivers specify how many bytes they want to read with i2c_smbus_read_i2c_block_data(). So far, the block count was hard-coded to I2C_SMBUS_BLOCK_MAX (32), which did not make much sense. Many driver authors complained about this before, and I believe it's about time to fix it. Right now, authors have to do technically stupid things, such as individual byte reads or full-fledged I2C messaging, to work around the problem. We do not want to encourage that. I even found that some bus drivers (e.g. i2c-amd8111) already implemented I2C block read the "right" way, that is, they didn't follow the old, broken standard. The fact that it was never noticed before just shows how little i2c_smbus_read_i2c_block_data() was used, which isn't that surprising given how broken its prototype was so far. There are some obvious compatiblity considerations: * This changes the i2c_smbus_read_i2c_block_data() prototype. Users outside the kernel tree will notice at compilation time, and will have to update their code. * User-space has access to i2c_smbus_xfer() directly using i2c-dev, so the changed expectations would affect tools such as i2cdump. In order to preserve binary compatibility, we give I2C_SMBUS_I2C_BLOCK_DATA a new numeric value, and define I2C_SMBUS_I2C_BLOCK_BROKEN with the old numeric value. When i2c-dev receives a transaction with the old value, it can convert it to the new format on the fly. Signed-off-by: Jean Delvare commit ba7fbb723f50ab2607989a282af655fb0fab0492 Author: Jean Delvare Date: Thu Jul 12 14:12:29 2007 +0200 i2c: Deprecate legacy RTC drivers We have a new RTC subsystem with better drivers. Legacy driver status: * ds1337: The DS1337 and DS1339 are now supported by the rtc-ds1307 driver, so it looks to me like we could even delete the ds1337 driver right away. * ds1374: Will soon be replaced with Scott Wood's rtc-ds1374 driver. * m41t00: The M41T00 is supported by the rtc-ds1307 driver. For the M41T81 and M41T85, the rtc-m41t80 driver written by Atsushi Nemoto should work. Signed-off-by: Jean Delvare Cc: Alessandro Zummo Acked-by: Mark A. Greer Acked-by: James Chapman Cc: Randy Vinson commit 890e037509f5b3f967b16ea0ea525c7c75b213ae Author: Jean Delvare Date: Thu Jul 12 14:12:28 2007 +0200 i2c: Delete outdated x1205 driver documentation The x1205 driver moved to the RTC subsystem and was significantly modified since then, so just delete the outdated documentation. Signed-off-by: Jean Delvare Cc: Alessandro Zummo commit 9d9c01ceff00fcba50043f500cac471ecf6752c9 Author: Matthias Kaehlcke Date: Thu Jul 12 14:12:28 2007 +0200 scx200_acb: Use mutex instead of semaphore The scx200_acb driver use a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Cc: Jordan Crouse Signed-off-by: Jean Delvare commit d75d53cd571c02990d56e72f615ab11e943772f9 Author: Mark M. Hoffman Date: Thu Jul 12 14:12:28 2007 +0200 i2c: Fix sparse warning in i2c.h Kill a sparse warning by un-nesting two container_of() calls. Signed-off-by: Mark M. Hoffman Signed-off-by: Jean Delvare commit d64f73be1b59b9556de0a8fbd4f1a003c6a45a5c Author: David Brownell Date: Thu Jul 12 14:12:28 2007 +0200 i2c: Add kernel documentation Generate I2C kerneldoc; fix various glitches and add "context" sections to that documentation. Most I2C and SMBus functions still have no kerneldoc. Let me suggest providing kerneldoc for all the i2c_smbus_*() functions as a small and mostly self-contained project for anyone so inclined. :) Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 909d6c6c80311f800aee338e5fa528818b115951 Author: George G. Davis Date: Tue Jun 26 01:38:27 2007 +0100 [ARM] 4453/1: Fully Decode ARM instruction set state in show_regs() tombstone The ARM show_regs() tombstone only partially decodes which ARM ISA was executing at the time a fault occurred displaying either "(T)" for the Thumb case or nothing at all for other cases. This patch therefore explicitly identifies which state the processor is in at the time of a fault: ARM, Thumb, Jazelle or JazelleEE. Signed-off-by: George G. Davis Acked-by: Catalin Marinas Signed-off-by: Russell King commit 9d20fdd58e74d4d26dc5216efaaa0f800c23dd3a Author: Bill Gatliff Date: Thu May 31 22:02:22 2007 +0100 [ARM] 4423/1: add ATAGS support Examines the ATAGS pointer (r2) at boot, and interprets a nonzero value as a reference to an ATAGS structure. A suitable ATAGS structure replaces the kernel's command line. Signed-off-by: Bill Gatliff Signed-off-by: Russell King commit 7d09e85448dfa78e3e58186c934449aaf6d49b50 Author: Catalin Marinas Date: Fri Jun 1 17:14:53 2007 +0100 [ARM] 4393/2: ARMv7: Add uncompressing code for the new CPU Id format The current arch/arm/boot/compressed/head.S code only supports cores to ARMv6 with the old CPU Id format. This patch adds support for the new ARMv6 with the new CPU Id and ARMv7 cores that no longer have the ARMv4 cache operations. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 6d78b5f9c6cf59c98d3833e09d0ed6aebd6a33d3 Author: Russell King Date: Sun Jun 3 19:26:04 2007 +0100 [ARM] Fix bounding error in ioremap_pfn() If size=16M offset=2K then we should map two supersections rather than just one. Signed-off-by: Russell King commit 4486b86368d72bcac76439638b36667b1c6a1360 Author: Russell King Date: Sun Jun 3 18:54:42 2007 +0100 [ARM] riscpc: fix decompressor font file handling font_acorn_8x8.o was being built in drivers/video/console/ twice during a build _in the same location_ - once for the kernel proper, and once for the decompressor. The result is when you came to run an install target, the kernel was always rebuilt due to this file apparantly having been built with different compiler arguments. Solve this by making a local copy at build time in the decompressor's directory. Signed-off-by: Russell King commit 8a87a996eae3d25b0670a243f4829ea4aa9eb63d Author: Andrew Victor Date: Mon May 14 14:30:15 2007 +0100 [ARM] 4377/1: KS8695: GPIO driver Driver to control the GPIO pins on the KS8695 processor. The driver natively supports the Generic GPIO interface. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit eab03b3f6609518a80eae4d1f5d78ff8f44e116a Author: Russell King Date: Sun Jun 3 18:50:49 2007 +0100 [ARM] If linux/irq.h is included, asm/irq.h is not required Signed-off-by: Russell King commit d85ed59524d936f4c2657ba39a483b4ab373a59e Author: Michael-Luke Jones Date: Sat May 26 21:58:07 2007 +0100 [ARM] 4407/1: Remove in-kernel mach id setting for gtwx5715 ixp4xx board If MACH_GTWX5715 is set in Kconfig, this code sets the mach id automatically. Howeber, this means that any IXP4xx kernel which is setup to support the gtwx5715 board will not successfully boot on any other board. If the bootloader sets the wrong mach id, it should be set correctly by a kernel shim. Signed-off-by: Michael-Luke Jones Signed-off-by: Russell King commit ddaca4a26efc0716708f027914bf5508e2d86cc7 Author: Michael-Luke Jones Date: Thu May 31 12:27:14 2007 +0100 [ARM] 4408/2: Fixup support for gtwx5715 ixp4xx board This patch fixes up compiling of the gtwx5715 board setup code, which has apparently been broken since 2.6.18 and the generic IRQ changes. In addition it removes some unecessary extern declarations in the gtwx5715-pci.c file. Signed-off-by: Michael-Luke Jones Signed-off-by: Russell King commit dcdeeb21c010e9b5cb2e91f865cd5bebb65bc31f Author: Imre Kaloz Date: Sat Jun 2 15:47:51 2007 +0100 [ARM] 4426/2: Netgear WG302 v2 and WAG302 v2 support This patch provides support for the Netgear WG302 v2 and WAG302 v2 AccessPoint series. This patch relies on the patch "Gateway 7001 series support" minimally, as they only have UART2 connected. Updated to stay below the 80 char limit in uncompress.h Signed-off-by: Imre Kaloz Signed-off-by: Deepak Saxena Signed-off-by: Russell King commit 46918bd13b887e8f0ae2987e690bc2af9c6c08a4 Author: Imre Kaloz Date: Sat Jun 2 15:44:08 2007 +0100 [ARM] 4425/2: Gateway 7001 series support This patch provides support for the Gateway 7001 AccessPoint series. Updated to stay below the 80 char limit in uncompress.h Signed-off-by: Imre Kaloz Signed-off-by: Deepak Saxena Signed-off-by: Russell King commit 4ad48b4bfa121a67ec04162d584afcfa75ed151a Author: Vladimir Barinov Date: Wed May 16 20:39:02 2007 +0100 [ARM] 4385/2: ixdp425: NAND support IXDP425 NAND support (arch specific part). The generic platform driver that is used by ixdp425 platfrom is already in upstream kernel in 2.6.22-rc1. Signed-off-by: Vladimir Barinov Signed-off-by: Ruslan Sushko Signed-off-by: Deepak Saxena Signed-off-by: Russell King commit 51198ea9478b6e10759ab07cd0b9917663c8df7a Author: Dan Williams Date: Wed Jun 6 17:51:21 2007 +0100 [ARM] 4429/2: iop13xx: expose the 'iop' attribute versions of the tpmi control registers The tpmi control registers can be accessed on the internal bus via an address with PCI attributes or IOP attributes (i.e. read-only, read-write... etc). The sas driver needs access to the iop-attribute registers for initialization. Changelog: * use ARRAY_SIZE for num_resources, Russell King Signed-off-by: Dan Williams Signed-off-by: Russell King commit 89bba43514d06478eb27e3fa9099a8ae7dee5589 Author: Pavel Pisa Date: Sun May 13 17:37:33 2007 +0100 [ARM] 4374/3: i.MX/MX1 clock event source Support clock event source based on i.MX general purpose timer in free running timer mode. Signed-off-by: Pavel Pisa Acked-by: Thomas Gleixner Acked-by: Sascha Hauer Signed-off-by: Russell King commit b3e6a508ed920698d367e5993ed056d70364d91f Author: Pavel Pisa Date: Sat May 12 14:31:17 2007 +0100 [ARM] 4373/1: i.MX/MX1 GPIO support implementation Support for generic input output for MX1 family. The implementation prevents allocation of one pin by two users, but does not store pointer to the user description permanently, because this solution would have bigger memory overhead. The simple way to integrate code with per BSP pins setup and allocation is required else all GPIO registration checking is useless. The function imx_gpio_setup_multiple_pins() can be used for this purpose in future. Signed-off-by: Pavel Pisa Signed-off-by: Russell King commit feb47225525a4194e7f6db5e745265793626ceb0 Author: Greg Ungerer Date: Mon Jun 4 06:46:26 2007 +0100 [ARM] 4428/1: modify at91 includes to handle non-MMU at91x40 family Modify the common at91 hardware support to deal with the non-MMU at91x40 family. The base RAM (which is most likely not DRAM) is set to the configured value. Virtual IO device mapping is set to be 1 to 1 with the physical addresses. Signed-off-by: Greg Ungerer Acked-by: Andrew Victor Signed-off-by: Russell King commit 70672224009bc3d4d6713337b3456bc7ab71d52b Author: Greg Ungerer Date: Mon Jun 4 06:45:38 2007 +0100 [ARM] 4427/1: base Atmel at91x40 architecture defines Base at91x40 architecture support defines. These parts are somewhat simpler than the ARM9 Atmel based parts. Signed-off-by: Greg Ungerer Acked-by: Andrew Victor Signed-off-by: Russell King commit b54942f8203689014f80ec89c55ccb1f48ab1166 Author: Greg Ungerer Date: Fri May 18 06:28:01 2007 +0100 [ARM] 4391/1: make at91 debug unit support optional The AT91x40 family doesn't have the debug unit like its bigger brothers. But it does have the ID and extension registers (with the bit meanings the same). Reorganize at91_dbgu.h to cater for this. This also affects the load uncompressor, since it outputs to the debug port. Signed-off-by: Greg Ungerer Acked-by: Andrew Victor Signed-off-by: Russell King commit d0f9b55ece0ec1ffc9e2e57fd7a79200994aead4 Author: Andrew Victor Date: Mon Jun 4 08:41:59 2007 +0100 [ARM] 4420/2: AT91: GPIO buttons on SAM9261-EK board Register the GPIO-connected buttons on the SAM9261-EK board as a "gpio-keys" platform device. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit cdf95c73694e464cf9877cb5aa51df77f42815bc Author: Andrew Victor Date: Mon May 14 15:08:21 2007 +0100 [ARM] 4379/1: AT91: LCD support on SAM9261-EK and SAM9263-EK boards Add board-specific setup for the LCD on the Atmel AT91SAM9261-EK and AT91SAM9263-EK boards. Signed-off-by: Nicolas Ferre Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 3c3e69cd4c667e6ce7939d83b274d48c57779479 Author: Ben Dooks Date: Thu Jul 12 10:57:37 2007 +0100 [ARM] 4470/2: OSIRIS: large page NAND support Add support for the partition layout on the revision B modules which have large page NAND fitted. The new partition table accounts for the use of the 128KiB block parts, which means the second partition on the device is moved to the new boundary. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 5ce4b1fe6c6a126f9274f19d8b2d2c8d29cd49b6 Author: Ben Dooks Date: Thu Jul 12 10:44:53 2007 +0100 [ARM] 4467/3: BAST: AX88796 device resources Add resources for the AX88796 on the Simtec BAST. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit ad3613f4798e229c8885b924c88e17ab85fef96a Author: Ben Dooks Date: Wed Jul 11 11:10:42 2007 +0100 [ARM] 4469/1: ANUBIS: large page NAND support Add support for the partition layour used on the revision B modules which ship with large page NAND flash as default. The differnce between the old and new layouts is that the large page devices use 128KiB blocks, so the initial loader partition now ends at 128KiB boundary pushing the begining of partition 1 up. The rest of the partitions are in the same place as the small page NAND devices. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 8a9ccb7f182d15d6d6d0debb819790f25c87a30b Author: Ben Dooks Date: Thu Jul 12 10:47:35 2007 +0100 [ARM] 4468/2: ANUBIS: Add SM501 device resources Add resources for the SM501 present on the Simtec Anubis board, including the framebuffer and the I2C for DDC. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit eac1d8dab03bde6d20679c961a6409c1b786c201 Author: Ben Dooks Date: Wed Jul 11 10:14:53 2007 +0100 [ARM] 4466/1: ANUBIS: Anubis AX88796 support This patch adds the resources necessary for the AX88796 driver to attach to the AX88796 network controller fitted on the Simtec Anubis board. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 83f53220f8313f097cdf181928be13bafbb697ea Author: Vladimir Barinov Date: Tue Jul 10 13:10:04 2007 +0100 [ARM] 4432/5: davinci: pin mux support Support pin multiplexing configurations driver for TI DaVinci SoC Signed-off-by: Vladimir Barinov Acked-by: Kevin Hilman Signed-off-by: Russell King commit 3d9edf09d4525dad95f98b31f31aa86b8071fab9 Author: Vladimir Barinov Date: Tue Jul 10 13:03:43 2007 +0100 [ARM] 4457/2: davinci: GPIO support Support GPIO driver for TI DaVinci SoC Signed-off-by: Vladimir Barinov Acked-by: David Brownell Acked-by: Kevin Hilman Signed-off-by: Russell King commit 3e062b07ada88edb9ffdd147e39c7df4b4418f64 Author: Vladimir Barinov Date: Tue Jun 5 16:36:55 2007 +0100 [ARM] 4430/1: davinci: clock control support Support clock control driver for TI DaVinci SoC Signed-off-by: Vladimir Barinov Signed-off-by: Kevin Hilman Signed-off-by: Russell King commit f4d640c9be1979a603ed017e1e03a16ba3a4d7a1 Author: Roy Huang Date: Thu Jul 12 16:43:46 2007 +0800 Blackfin serial driver: supporting BF548-EZKIT serial port Signed-off-by: Roy Huang Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 8cb661d6a4b69734c393beeb523cbf86c915f374 Author: Erik Johansson Date: Thu Jul 12 16:37:00 2007 +0900 sh: fix race in parallel out-of-tree build Depending on which of the three dependencies for archprepare (in arch/sh/Makefile) get built first, the directory include/asm-sh may or may not exist when the maketools target is built. If the directory does not exist, awk will fail to generate machtypes.h. This patch fixes this by creating the directory before awk is executed. Signed-off-by: Erik Johansson Signed-off-by: Paul Mundt commit db83b991bce1b4792125d4b23bb108e8cfd5d366 Author: Michael Hennerich Date: Thu Jul 12 12:07:40 2007 +0800 Video Console: Blackfin doesnt support VGA console Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 61b59563266aa6bedaf5d45b9b25bc48bb4d3ed3 Author: Sonic Zhang Date: Thu Jul 12 17:06:45 2007 +0800 Blackfin arch: Add peripheral io API to gpio header file Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit e745106ce34553171a5d8d2450be07c0cffe39d5 Author: Sonic Zhang Date: Thu Jul 12 15:20:25 2007 +0800 Blackfin arch: set up gpio interrupt IRQ_PJ9 for BF54x ATAPI PATA driver Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit db0fa2064585a099e0c652983bd38d71ee7830f3 Author: Bryan Wu Date: Thu Jul 12 14:55:05 2007 +0800 Blackfin arch: add missing CONFIG_LARGE_ALLOCS when upstream merging Signed-off-by: Bryan Wu commit 798b77095dea2f89e42f5aaa0e5b18833fea5358 Author: Mike Frysinger Date: Thu Jul 12 14:35:15 2007 +0800 Blackfin arch: as pointed out by Robert P. J. Day, update the CPU_FREQ name to match current Kconfig Cc: Robert P. J. Day Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 5cf77a5fd03c65b9dd33c283ce308a3abc4cb375 Author: Mike Frysinger Date: Thu Jul 12 14:26:26 2007 +0800 Blackfin arch: extract the entry point from the linked kernel extract the entry point from the linked kernel rather than assuming entry point == load address Signed-off-by: Bryan Wu commit c04d66bbbdbbc7b5d55c42795f29e494190f8fb3 Author: Bryan Wu Date: Thu Jul 12 17:26:31 2007 +0800 Blackfin arch: clean up some coding style issues Signed-off-by: Bryan Wu commit 1d1894749cca89f4bb013364524199b3015d7b00 Author: Mike Frysinger Date: Thu Jul 12 12:32:00 2007 +0800 Blackfin arch: combine the common code of free_initrd_mem and free_initmem Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 5610db61cf2945a5e74667e952f2792c96ba53a1 Author: Michael Hennerich Date: Thu Jul 12 12:32:52 2007 +0800 Blackfin arch: Add Support for Peripheral PortMux and resouce allocation Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 520473b0775ce046d179afa686fb3222884c389d Author: Mike Frysinger Date: Thu Jul 12 12:20:20 2007 +0800 Blackfin arch: use PAGE_SIZE when doing aligns rather than hardcoded values Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit b07af760c9bd8e87c3aa9275298566379ec4e9c1 Author: Sonic Zhang Date: Thu Jul 12 12:18:08 2007 +0800 Blackfin arch: fix bug set dma_address properly in dma_map_sg Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 157cc5aad94fb7025c41a60788c1bfb5299010aa Author: Michael Hennerich Date: Thu Jul 12 16:20:21 2007 +0800 Blackfin arch: Disable CACHELINE_ALIGNED_L1 for BF54x by default Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit f40d24d909ad99c802a6813ff32b6feb20ab8c71 Author: Alex Landau Date: Thu Jul 12 12:11:48 2007 +0800 Blackfin arch: Port the dm9000 driver to Blackfin by using the correct low-level io routines Signed-off-by: Alex Landau Signed-off-by: Bryan Wu commit 9be343c5bcd1cf285c2150f363bc9dd7aab8b7fb Author: Michael Hennerich Date: Thu Jul 12 11:58:44 2007 +0800 Blackfin arch: There is no CDPRIO Bit in the EBIU_AMGCTL Register of BF54x arch However there are similar things in the EBIU_DDRQUE Register Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 9401e618c8f70920f34893946239e24d40a3519a Author: Mike Frysinger Date: Thu Jul 12 11:50:43 2007 +0800 Blackfin arch: scrub dead code we converted to using a system call for userspace spinlocks rather than a dedicated exception long ago Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit c9e27ece79f6170fd1cd1a40c5de5d93456606e7 Author: Michael Hennerich Date: Thu Jul 12 11:48:14 2007 +0800 Blackfin arch: Fix Warning add some defines in BF54x header file Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit d4cf291526a74cc33d33700a35b74395eec812fd Author: Adrian Bunk Date: Sun Jul 1 22:23:53 2007 +0200 security: unexport mmap_min_addr Remove unneeded export. Signed-off-by: Adrian Bunk Signed-off-by: James Morris commit 9faf65fb6ee2b4e08325ba2d69e5ccf0c46453d0 Author: Paul Moore Date: Fri Jun 29 11:48:16 2007 -0400 SELinux: use SECINITSID_NETMSG instead of SECINITSID_UNLABELED for NetLabel These changes will make NetLabel behave like labeled IPsec where there is an access check for both labeled and unlabeled packets as well as providing the ability to restrict domains to receiving only labeled packets when NetLabel is in use. The changes to the policy are straight forward with the following necessary to receive labeled traffic (with SECINITSID_NETMSG defined as "netlabel_peer_t"): allow mydom_t netlabel_peer_t:{ tcp_socket udp_socket rawip_socket } recvfrom; The policy for unlabeled traffic would be: allow mydom_t unlabeled_t:{ tcp_socket udp_socket rawip_socket } recvfrom; These policy changes, as well as more general NetLabel support, are included in the SELinux Reference Policy SVN tree, r2352 or later. Users who enable NetLabel support in the kernel are strongly encouraged to upgrade their policy to avoid network problems. Signed-off-by: Paul Moore Signed-off-by: James Morris commit ed0321895182ffb6ecf210e066d87911b270d587 Author: Eric Paris Date: Thu Jun 28 15:55:21 2007 -0400 security: Protection for exploiting null dereference using mmap Add a new security check on mmap operations to see if the user is attempting to mmap to low area of the address space. The amount of space protected is indicated by the new proc tunable /proc/sys/vm/mmap_min_addr and defaults to 0, preserving existing behavior. This patch uses a new SELinux security class "memprotect." Policy already contains a number of allow rules like a_t self:process * (unconfined_t being one of them) which mean that putting this check in the process class (its best current fit) would make it useless as all user processes, which we also want to protect against, would be allowed. By taking the memprotect name of the new class it will also make it possible for us to move some of the other memory protect permissions out of 'process' and into the new class next time we bump the policy version number (which I also think is a good future idea) Acked-by: Stephen Smalley Acked-by: Chris Wright Signed-off-by: Eric Paris Signed-off-by: James Morris commit 13bddc2e9d591e31bf20020dc19ea6ca85de420e Author: Tobias Oed Date: Mon Jun 11 08:56:31 2007 -0400 SELinux: Use %lu for inode->i_no when printing avc Inode numbers are unsigned long and so need to %lu as format string of printf. Signed-off-by: Tobias Oed Signed-off-by: James Morris commit 2c3c05dbcbc7b9d71549fe0e2b249f10f5a66518 Author: Stephen Smalley Date: Thu Jun 7 15:34:10 2007 -0400 SELinux: allow preemption between transition permission checks In security_get_user_sids, move the transition permission checks outside of the section holding the policy rdlock, and use the AVC to perform the checks, calling cond_resched after each one. These changes should allow preemption between the individual checks and enable caching of the results. It may however increase the overall time spent in the function in some cases, particularly in the cache miss case. The long term fix will be to take much of this logic to userspace by exporting additional state via selinuxfs, and ultimately deprecating and eliminating this interface from the kernel. Tested-by: Ingo Molnar Signed-off-by: Stephen Smalley Signed-off-by: James Morris commit 9dc9978084ea2a96b9f42752753d9e38a9f9d7b2 Author: Eric Paris Date: Mon Jun 4 17:41:22 2007 -0400 selinux: introduce schedule points in policydb_destroy() During the LSPP testing we found that it was possible for policydb_destroy() to take 10+ seconds of kernel time to complete. Basically all policydb_destroy() does is walk some (possibly long) lists and free the memory it finds. Turning off slab debugging config options made the problem go away since the actual functions which took most of the time were (as seen by oprofile) > 121202 23.9879 .check_poison_obj > 78247 15.4864 .check_slabp were caused by that. So I decided to also add some voluntary schedule points in that code so config voluntary preempt would be enough to solve the problem. Something similar was done in places like shmem_free_pages() when we have to walk a list of memory and free it. This was tested by the LSPP group on the hardware which could reproduce the problem just loading a new policy and was found to not trigger the softlock detector. It takes just as much processing time, but the kernel doesn't spend all that time stuck doing one thing and never scheduling. Someday a better way to handle memory might make the time needed in this function a lot less, but this fixes the current issue as it stands today. Signed-off-by: Eric Paris Signed-off-by: James Morris commit e47c8fc582a2c9f3cba059e543c4a056cd6bf8c4 Author: Christopher J. PeBenito Date: Wed May 23 09:12:09 2007 -0400 selinux: add selinuxfs structure for object class discovery The structure is as follows (relative to selinuxfs root): /class/file/index /class/file/perms/read /class/file/perms/write ... Each class is allocated 33 inodes, 1 for the class index and 32 for permissions. Relative to SEL_CLASS_INO_OFFSET, the inode of the index file DIV 33 is the class number. The inode of the permission file % 33 is the index of the permission for that class. Signed-off-by: Christopher J. PeBenito Signed-off-by: James Morris commit 0dd4ae516e7b5be89caed2532f9d953d0b1dbf01 Author: Christopher J. PeBenito Date: Wed May 23 09:12:08 2007 -0400 selinux: change sel_make_dir() to specify inode counter. Specify the inode counter explicitly in sel_make_dir(), rather than always using sel_last_ino. Signed-off-by: Christopher J. PeBenito Signed-off-by: James Morris commit 0c92d7c73b6f99897c8bc7990717b9050cfc722f Author: Christopher J. PeBenito Date: Wed May 23 09:12:07 2007 -0400 selinux: rename sel_remove_bools() for more general usage. sel_remove_bools() will also be used by the object class discovery, rename it for more general use. Signed-off-by: Christopher J. PeBenito Signed-off-by: James Morris commit 55fcf09b3fe4325c9395ebbb0322a547a157ebc7 Author: Christopher J. PeBenito Date: Wed May 23 09:12:06 2007 -0400 selinux: add support for querying object classes and permissions from the running policy Add support to the SELinux security server for obtaining a list of classes, and for obtaining a list of permissions for a specified class. Signed-off-by: Christopher J. PeBenito Signed-off-by: James Morris commit 15028aad00ddf241581fbe74a02ec89cbb28d35d Author: Michael Chan Date: Wed Jul 11 19:49:22 2007 -0700 [TG3]: Update version to 3.78. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 70b65a2d628d2e66bbf044bb764be64949f3580c Author: Matt Carlson Date: Wed Jul 11 19:48:50 2007 -0700 [TG3]: Add missing NVRAM strapping. This patch adds a missing NVRAM strapping for 5755 devices. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9ef8ca99749784644602535691f8cf201ee2a225 Author: Matt Carlson Date: Wed Jul 11 19:48:29 2007 -0700 [TG3]: Enable auto MDI. This patch adds automatic MDI crossover support when autonegotiation is turned off. Automatic MDI crossover allows link to be established without the use of a crossover cable. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit e8f3f6cad7e423253090887bc4afe7bc844162da Author: Matt Carlson Date: Wed Jul 11 19:47:55 2007 -0700 [TG3]: Fix the polarity bit. For most pre-5705 devices, multiple link interrupts were being generated for a single physical link change. The source of the interrupts was determined to be unnecessary toggling of the MAC link polarity bit. This patch changes the way the link polarity bit gets configured. Where possible, code that dynamically configures the bit in response to link changes has been replaced by code that configures the bit once during initialization time and then leaves the bit alone. For correctness, this patch also limits the use of the bit to those devices where it is defined, namely devices before the 5705. This patch also corrects the link polarity configurations for 5700 devices when paired against a bcm5411 phy. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 469665459d26da8d0b46c70d070da1e192e48e46 Author: Michael Chan Date: Wed Jul 11 19:47:19 2007 -0700 [TG3]: Fix irq_sync race condition. Gagan Arneja pointed out that tg3_reset_task() could potentially race with another thread calling tg3_full_lock() such as the ethtool_set_xxx() functions. This may trigger the BUG_ON() in tg3_irq_quiesce() or cause the irq_sync flag to be out- of-sync. I think the easiest way to fix this is to get the tp->lock first before setting the irq_sync flag. This is safe to do because the tp->lock is never grabbed by the irq handler. This change will guarantee that the irq_sync flag updates will be serialized. We also have to change one spot to call tg3_netif_start() (which clears the irq_sync flag) before releasing the tp->lock. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit db3d99c090e0cdb34b1274767e062bfddbb384bc Author: Patrick McHardy Date: Wed Jul 11 19:46:26 2007 -0700 [NET_SCHED]: ematch: module autoloading Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 662ad4f8efd3ba2ed710d36003f968b500e6f123 Author: Stephen Hemminger Date: Wed Jul 11 19:43:52 2007 -0700 [TCP]: tcp probe wraparound handling and other changes Switch from formatting messages in probe routine and copying with kfifo, to using a small circular queue of information and formatting on read. This avoids wraparound issues with kfifo, and saves one copy. Also make sure to state correct license, rather than copying off some other driver I started with. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0e06877c6fdbc67b1132be895f995acd1ff30135 Author: Patrick McHardy Date: Wed Jul 11 19:42:31 2007 -0700 [RTNETLINK]: rtnl_link: allow specifying initial device address Drivers need to validate the initial addresses in their netlink attribute validation function or manually reject them if they can't support this. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2d85cba2b272a5201a60966a65a4f8c0bcc0bb71 Author: Patrick McHardy Date: Wed Jul 11 19:42:13 2007 -0700 [RTNETLINK]: rtnl_link API simplification All drivers need to unregister their devices in the module unload function. While doing so they must hold the rtnl and atomically unregister the rtnl_link ops as well. This makes the rtnl_link_unregister function that takes the rtnl itself completely useless. Provide default newlink/dellink functions, make __rtnl_link_unregister and rtnl_link_unregister unregister all devices with matching rtnl_link_ops and change the existing users to take advantage of that. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8c979c26a0f093c13290320edda799d8335e50ae Author: Patrick McHardy Date: Wed Jul 11 19:45:24 2007 -0700 [VLAN]: Fix MAC address handling The VLAN MAC address handling is broken in multiple ways. When the address differs when setting it, the real device is put in promiscous mode twice, but never taken out again. Additionally it doesn't resync when the real device's address is changed and needlessly puts it in promiscous mode when the vlan device is still down. Fix by moving address handling to vlan_dev_open/vlan_dev_stop and properly deal with address changes in the device notifier. Also switch to dev_unicast_add (which needs the exact same handling). Since the set_mac_address handler is identical to the generic ethernet one with these changes, kill it and use ether_setup(). Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 71bffe556c59a7865bf0b1ecd94530f1e296cdb0 Author: Patrick McHardy Date: Wed Jul 11 19:41:18 2007 -0700 [ETH]: Validate address in eth_mac_addr Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 50b65cc6fa3a69bdfbc8b3342d8ca6ddbbf5ec88 Merge: 2957862... 5b7f990... Author: David S. Miller Date: Wed Jul 11 19:37:40 2007 -0700 Merge master.kernel.org:/pub/scm/linux/kernel/git/holtmann/bluetooth-2.6 commit 29578624e354f56143d92510fff33a8b2aaa2c03 Author: Olaf Kirch Date: Wed Jul 11 19:32:02 2007 -0700 [NET]: Fix races in net_rx_action vs netpoll. Keep netpoll/poll_napi from messing with the poll_list. Only net_rx_action is allowed to manipulate the list. Signed-off-by: Olaf Kirch Signed-off-by: David S. Miller commit 0caf3ead5131215cbd462d31f7658798030f793d Author: Kristoffer Ericson Date: Thu Jul 12 10:47:08 2007 +0900 sh: Kill off dead mach.c for hp6xx. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit be15d65d97f924e11ad7b59b1dc23b9db8d02209 Author: Kristoffer Ericson Date: Thu Jul 12 10:44:41 2007 +0900 sh: hd64461.h cleanup and added comments. Now that we dont have PIO mapping anymore we need to make sure we got the correct value in our headers. Some well needed comments have also been added. Signed-off-by: Kristoffer Ericson Signed-off-by: Paul Mundt commit bdf4fa536ba5c6eff125f18231d54e227b1f3629 Author: Robert P. J. Day Date: Thu Jul 12 10:41:52 2007 +0900 sh: Update the alignment when 4K stacks are used. Use the newly added .bss.page_aligned section for aligning the stacks rather than THREAD_SIZE. Signed-off-by: Robert P. J. Day Signed-off-by: Paul Mundt commit e181127a7a12c5d8e29afa19d235b53bf4140cb3 Author: Paul Mundt Date: Thu Jul 12 10:40:36 2007 +0900 sh: Add a .bss.page_aligned section for 4K stacks. Signed-off-by: Paul Mundt commit aab1b16a61d653173b1c5f158c51ec08dd6605b0 Author: Paul Mundt Date: Thu Jul 12 09:48:54 2007 +0900 sh: Don't let SH-4A clobber SH-4 CFLAGS. Older compilers don't support the -m4a{,nofpu} flags, which has the side-effect of allowing FP operations to be emitted. Switch this to incremental tuning, so we at least have -m4-nofpu as a fallback for the gcc3 toolchains. Without this, certain modules emit references to __udivsi3_i4 and __sdivsi3_i4. Reported-by: Andrew Morton Signed-off-by: Paul Mundt commit bd63cb52c05bbb154f539369cae4fb9c9b6277da Author: Dave Airlie Date: Thu Jul 12 10:35:02 2007 +1000 drm: remove sarea typedefs Leave the userspace typedefs in place Signed-off-by: Dave Airlie commit e0be428e6645f2891fab6be92d1b0e9aad972e7d Author: Dave Airlie Date: Thu Jul 12 10:26:44 2007 +1000 drm: detypedef the hashtab and more of sman Signed-off-by: Dave Airlie commit 9698b4dba42eb758ad98012c21e5fbdb372fe2d9 Author: Dave Airlie Date: Thu Jul 12 10:21:05 2007 +1000 drm: de-typedef sman Signed-off-by: Dave Airlie commit 428ed6024fa74a271142f3257966e9b5e1cb37a1 Author: Dan Aloni Date: Thu Mar 8 09:57:36 2007 -0800 I/OAT: fix I/OAT for kexec Under kexec, I/OAT initialization breaks over busy resources because the previous kernel did not release them. I'm not sure this fix can be considered a complete one but it works for me. I guess something similar to the *_remove method should occur there.. Signed-off-by: Dan Aloni Signed-off-by: Chris Leech Signed-off-by: Andrew Morton commit e00c5d8b4d800b95b72b3f072e1d55d7c7034702 Author: Andrew Morton Date: Thu Mar 8 09:57:36 2007 -0800 I/OAT: warning fix net/ipv4/tcp.c: In function 'tcp_recvmsg': net/ipv4/tcp.c:1111: warning: unused variable 'available' Signed-off-by: Andrew Morton Signed-off-by: Chris Leech commit 2b1244a43be97f504494b557a7f7a65fe0d00dba Author: Chris Leech Date: Thu Mar 8 09:57:36 2007 -0800 I/OAT: Only offload copies for TCP when there will be a context switch The performance wins come with having the DMA copy engine doing the copies in parallel with the context switch. If there is enough data ready on the socket at recv time just use a regular copy. Signed-off-by: Chris Leech commit 91a6902958f052358899f58683d44e36228d85c2 Author: Zhang Rui Date: Sat Jun 9 13:57:22 2007 +0800 sysfs: add parameter "struct bin_attribute *" in .read/.write methods for sysfs binary attributes Well, first of all, I don't want to change so many files either. What I do: Adding a new parameter "struct bin_attribute *" in the .read/.write methods for the sysfs binary attributes. In fact, only the four lines change in fs/sysfs/bin.c and include/linux/sysfs.h do the real work. But I have to update all the files that use binary attributes to make them compatible with the new .read and .write methods. I'm not sure if I missed any. :( Why I do this: For a sysfs attribute, we can get a pointer pointing to the struct attribute in the .show/.store method, while we can't do this for the binary attributes. I don't know why this is different, but this does make it not so handy to use the binary attributes as the regular ones. So I think this patch is reasonable. :) Who benefits from it: The patch that exposes ACPI tables in sysfs requires such an improvement. All the table binary attributes share the same .read method. Parameter "struct bin_attribute *" is used to get the table signature and instance number which are used to distinguish different ACPI table binary attributes. Without this parameter, we need to offer different .read methods for different ACPI table binary attributes. This is impossible as there are various ACPI tables on different platforms, and we don't know what they are until they are loaded. Signed-off-by: Zhang Rui Signed-off-by: Greg Kroah-Hartman commit 51225039f3cf9d250596d1344494b293274b9169 Author: Tejun Heo Date: Thu Jun 14 04:27:25 2007 +0900 sysfs: make directory dentries and inodes reclaimable This patch makes dentries and inodes for sysfs directories reclaimable. * sysfs_notify() is modified to walk sysfs_dirent tree instead of dentry tree. * sysfs_update_file() and sysfs_chmod_file() use sysfs_get_dentry() to grab the victim dentry. * sysfs_rename_dir() and sysfs_move_dir() grab all dentries using sysfs_get_dentry() on startup. * Dentries for all shadowed directories are pinned in memory to serve as lookup start point. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 53e0ae92690c52eceb997905d85fbb42de5fff63 Author: Tejun Heo Date: Thu Jun 14 04:27:25 2007 +0900 sysfs: implement sysfs_get_dentry() Some sysfs operations require dentry and inode. sysfs_get_dentry() looks up and gets dentry for the specified sysfs_dirent. It finds the first ancestor with dentry attached and starts looking up dentries from there. Looking up from the nearest ancestor is necessary to support shadowed directories because we can't reliably lookup dentry for one of the shadows. Dentries for each shadow will be pinned in memory such that they can serve as the starting point for dentry lookup. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit a0edd7c848945a75e2f41673f43bc37d0a5fed15 Author: Tejun Heo Date: Thu Jun 14 04:27:24 2007 +0900 sysfs: move sysfs_drop_dentry() to dir.c and make it static After add/remove path restructuring, the only user of sysfs_drop_dentry() is sysfs_addrm_finish(). Move sysfs_drop_dentry() to dir.c and make it static. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit fb6896da37f19be4b75154c14d1cd79231255b17 Author: Tejun Heo Date: Thu Jun 14 04:27:24 2007 +0900 sysfs: restructure add/remove paths and fix inode update The original add/remove code had the following problems. * parent's timestamps are updated on dentry instantiation. this is incorrect with reclaimable files. * updating parent's timestamps isn't synchronized. * parent nlink update assumes the inode is accessible which won't be true once directory dentries are made reclaimable. This patch restructures add/remove paths to resolve the above problems. Add/removal are done in the following steps. 1. sysfs_addrm_start() : acquire locks including sysfs_mutex and other resources. 2-a. sysfs_add_one() : add new sd. linking the new sd into the children list is caller's responsibility. 2-b. sysfs_remove_one() : remove a sd. unlinking the sd from the children list is caller's responsibility. 3. sysfs_addrm_finish() : release all resources and clean up. Steps 2-a and/or 2-b can be repeated multiple times. Parent's inode is looked up during sysfs_addrm_start(). If available (always at the moment), it's pinned and nlink is updated as sd's are added and removed. Timestamps are updated during finish if any sd has been added or removed. If parent's inode is not available during start, sysfs_mutex ensures that parent inode is not created till add/remove is complete. All the complexity is contained inside the helper functions. Especially, dentry/inode handling is properly hidden from the rest of sysfs which now mostly operate on sysfs_dirents. As an added bonus, codes which use these helpers to add and remove sysfs_dirents are now more structured and simpler. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 3007e997de91ec59af39a3f9c91595b31ae6e08b Author: Tejun Heo Date: Thu Jun 14 04:27:23 2007 +0900 sysfs: use sysfs_mutex to protect the sysfs_dirent tree As kobj sysfs dentries and inodes are gonna be made reclaimable, i_mutex can't be used to protect sysfs_dirent tree. Use sysfs_mutex globally instead. As the whole tree is protected with sysfs_mutex, there is no reason to keep sysfs_rename_sem. Drop it. While at it, add docbook comments to functions which require sysfs_mutex locking. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 5f9953237f684ea1778adb9d26162da00b282225 Author: Tejun Heo Date: Thu Jun 14 04:27:23 2007 +0900 sysfs: consolidate sysfs spinlocks Replace sysfs_lock and kobj_sysfs_assoc_lock with sysfs_assoc_lock. sysfs_lock was originally to be used to protect sysfs_dirent tree but mutex seems better choice, so there is no reason to keep sysfs_lock separate. Merge the two spinlocks into one. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 608e266a2d4e62c1b98c1c573064b6afe8c06a58 Author: Tejun Heo Date: Thu Jun 14 04:27:22 2007 +0900 sysfs: make kobj point to sysfs_dirent instead of dentry As kobj sysfs dentries and inodes are gonna be made reclaimable, dentry can't be used as naming token for sysfs file/directory, replace kobj->dentry with kobj->sd. The only external interface change is shadow directory handling. All other changes are contained in kobj and sysfs. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit f0b0af4792d751106e2003f96af76fa95e10c68d Author: Tejun Heo Date: Thu Jun 14 04:27:22 2007 +0900 sysfs: implement sysfs_find_dirent() and sysfs_get_dirent() Implement sysfs_find_dirent() and sysfs_get_dirent(). sysfs_dirent_exist() is replaced by sysfs_find_dirent(). These will be used to make directory entries reclamiable. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 380e6fbb729a55b73d5d8409551474884e0d93fc Author: Tejun Heo Date: Thu Jun 14 04:27:22 2007 +0900 sysfs: implement SYSFS_FLAG_REMOVED flag Implement SYSFS_FLAG_REMOVED flag which currently is used only to improve sanity check in sysfs_deactivate(). The flag will be used to make directory entries reclamiable. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit b402d72cf7b338a074e3c12b305ec79284e18845 Author: Tejun Heo Date: Thu Jun 14 04:27:21 2007 +0900 sysfs: rename sysfs_dirent->s_type to s_flags and make room for flags Rename sysfs_dirent->s_type to s_flags, pack type into lower eight bits and reserve the rest for flags. sysfs_type() can used to access the type. All existing sd->s_type accesses are converted to use sysfs_type(). While at it, type test is changed to equality test instead of bit-and test where appropriate. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit d0bcb5689a521df98bff7549fcb8b17499660a99 Author: Tejun Heo Date: Thu Jun 14 04:27:21 2007 +0900 sysfs: make sysfs_drop_dentry() access inodes using ilookup() sysfs_drop_dentry() used to go through sd->s_dentry and sd->s_parent->s_dentry to access the inodes. This is incorrect because inode can be cached without dentry. This patch makes sysfs_drop_dentry() access inodes using ilookup() on sd->s_ino. This is both correct and simpler. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 9d9307dabb3de8140fb3801bf6eb01f231dbd83d Author: Rafael J. Wysocki Date: Thu Jun 14 03:45:18 2007 +0900 sysfs: Fix oops in sysfs_drop_dentry on x86_64 Fix oops on x86_64 caused by the dereference of dir in sysfs_drop_dentry() made before checking if dir is not NULL (cf. http://marc.info/?l=linux-kernel&m=118151626704924&w=2). Signed-off-by: Rafael J. Wysocki Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 0c73f18b7d95de8a007039337063a770b5fc8e7a Author: Tejun Heo Date: Thu Jun 14 03:45:18 2007 +0900 sysfs: use singly-linked list for sysfs_dirent tree Make sysfs_dirent use singly linked list for its tree structure. sysfs_link_sibling() and sysfs_unlink_sibling() functions are added to handle simpler cases. It adds some complexity and cpu cycle overhead but reduced memory footprint is worthwhile on big machines. This change reduces the sizeof sysfs_dirent from 104 to 88 on 64bit and from 60 to 52 on 32bit. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 8619f979898397582e366877fd5feeba7560d70c Author: Tejun Heo Date: Thu Jun 14 03:45:18 2007 +0900 sysfs: slim down sysfs_dirent->s_active Make sysfs_dirent->s_active an atomic_t instead of rwsem. This reduces the size of sysfs_dirent from 136 to 104 on 64bit and from 76 to 60 on 32bit with lock debugging turned off. With lock debugging turned on the reduction is much larger. s_active starts at zero and each active reference increments s_active. Putting a reference decrements s_active. Deactivation subtracts SD_DEACTIVATED_BIAS which is currently INT_MIN and assumed to be small enough to make s_active negative. If s_active is negative, sysfs_get() no longer grants new references. Deactivation succeeds immediately if there is no active user; otherwise, it waits using a completion for the last put. Due to the removal of lockdep tricks, this change makes things less trickier in release_sysfs_dirent(). As all the complexity is contained in three s_active functions, I think it's more readable this way. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit b6b4a4399c2a83d1af77c99dee0d0b5cc15ec268 Author: Tejun Heo Date: Thu Jun 14 03:45:18 2007 +0900 sysfs: move s_active functions to fs/sysfs/dir.c These functions are about to receive more complexity and doesn't really need to be inlined in the first place. Move them from fs/sysfs/sysfs.h to fs/sysfs/dir.c. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 0b8ead82f5d9d8f08c0d1236f2e350b70a977753 Author: Tejun Heo Date: Thu Jun 14 03:45:18 2007 +0900 sysfs: fix root sysfs_dirent -> root dentry association The root sysfs_dirent didn't point to the root dentry fix it. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 8312a8d7c1d19d31027bd4ca127ce671962c23d4 Author: Tejun Heo Date: Thu Jun 14 03:45:17 2007 +0900 sysfs: use iget_locked() instead of new_inode() After dentry is reclaimed, sysfs always used to allocate new dentry and inode if the file is accessed again. This causes problem with operations which only pin the inode. For example, if inotify watch is added to a sysfs file and the dentry for the file is reclaimed, the next update event creates new dentry and new inode making the inotify watch miss all the events from there on. This patch fixes it by using iget_locked() instead of new_inode(). sysfs_new_inode() is renamed to sysfs_get_inode() and inode is initialized iff the inode is newly allocated. sysfs_instantiate() is responsible for unlocking new inodes. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit fc9f54b9982e14e6dbe023425c87ffbfd6992c45 Author: Tejun Heo Date: Thu Jun 14 03:45:17 2007 +0900 sysfs: reorganize sysfs_new_indoe() and sysfs_create() Reorganize/clean up sysfs_new_inode() and sysfs_create(). * sysfs_init_inode() is separated out from sysfs_new_inode() and is responsible for basic initialization. * sysfs_instantiate() replaces the last step of sysfs_create() and is responsible for dentry instantitaion. * type-specific initialization is moved out to the callers. * mode is specified only once when creating a sysfs_dirent. * spurious list_del_init(&sd->s_sibling) dropped from create_dir() This change is to * prepare for inode allocation fix. * separate alloc and init code for synchronization update. * make dentry/inode initialization more flexible for later changes. This patch doesn't introduce visible behavior change. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 7f7cfffe60ed6271c4028ec79ae1c297b44bcb14 Author: Tejun Heo Date: Thu Jun 14 03:45:17 2007 +0900 sysfs: fix parent refcounting during rename and move Parent reference wasn't properly transferred during rename and move. Fix it. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 42b37df6abb42ae021e15bf865b43f3629c7f3ab Author: Tejun Heo Date: Thu Jun 14 03:45:17 2007 +0900 sysfs: make sysfs_alloc_ino() static sysfs_alloc_ino() isn't used out side of fs/sysfs/dir.c. Make it static. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit ad6a1e1c66009ba9dcd2f5c90ffa1fb4ce72fce0 Author: Tejun Heo Date: Thu Jun 14 03:45:17 2007 +0900 driver-core: make devt_attr and uevent_attr static devt_attr and uevent_attr are either allocated dynamically with or embedded in device and class_device as they needed their owner field set to the module implementing the driver. Now that sysfs implements immediate disconnect and owner field removed from struct attribute, there is no reason to do this. Remove these attributes from [class_]device and use static attribute structures instead. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 7b595756ec1f49e0049a9e01a1298d53a7faaa15 Author: Tejun Heo Date: Thu Jun 14 03:45:17 2007 +0900 sysfs: kill unnecessary attribute->owner sysfs is now completely out of driver/module lifetime game. After deletion, a sysfs node doesn't access anything outside sysfs proper, so there's no reason to hold onto the attribute owners. Note that often the wrong modules were accounted for as owners leading to accessing removed modules. This patch kills now unnecessary attribute->owner. Note that with this change, userland holding a sysfs node does not prevent the backing module from being unloaded. For more info regarding lifetime rule cleanup, please read the following message. http://article.gmane.org/gmane.linux.kernel/510293 (tweaked by Greg to not delete the field just yet, to make it easier to merge things properly.) Signed-off-by: Tejun Heo Cc: Cornelia Huck Cc: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit dbde0fcf9f8f6d477af3c32d9979e789ee680cde Author: Tejun Heo Date: Thu Jun 14 03:45:16 2007 +0900 sysfs: reimplement sysfs_drop_dentry() This patch reimplements sysfs_drop_dentry() such that remove_dir() can use it to drop dentry instead of using a separate mechanism. With this change, making directories reclaimable is much easier. This patch used to contain fixes for two race conditions around sd->s_dentry but that part has been separated out and included into mainline early as commit 6aa054aadfea613a437ad0b15d38eca2b963fc0a and dd14cbc994709a1c5a64ed3621f583c49a27e521. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 198a2a847015805c6f57d8cc732bdaaccb494007 Author: Tejun Heo Date: Thu Jun 14 03:45:16 2007 +0900 sysfs: separate out sysfs_attach_dentry() Consolidate sd <-> dentry association into sysfs_attach_dentry() and call it after dentry and inode are properly set up. This is in preparation of sysfs_drop_dentry() updates. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 73107cb3ad3963c0f929ae681c05081eafb1c079 Author: Tejun Heo Date: Thu Jun 14 03:45:16 2007 +0900 sysfs: kill attribute file orphaning Now that sysfs_dirent can be disconnected from kobject on deletion, there is no need to orphan each attribute files. All [bin_]attribute nodes are automatically orphaned when the parent node is deleted. Kill attribute file orphaning. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 0ab66088c855eca68513bdd7442a426c4b374ced Author: Tejun Heo Date: Thu Jun 14 03:45:16 2007 +0900 sysfs: implement sysfs_dirent active reference and immediate disconnect sysfs: implement sysfs_dirent active reference and immediate disconnect Opening a sysfs node references its associated kobject, so userland can arbitrarily prolong lifetime of a kobject which complicates lifetime rules in drivers. This patch implements active reference and makes the association between kobject and sysfs immediately breakable. Now each sysfs_dirent has two reference counts - s_count and s_active. s_count is a regular reference count which guarantees that the containing sysfs_dirent is accessible. As long as s_count reference is held, all sysfs internal fields in sysfs_dirent are accessible including s_parent and s_name. The newly added s_active is active reference count. This is acquired by invoking sysfs_get_active() and it's the caller's responsibility to ensure sysfs_dirent itself is accessible (should be holding s_count one way or the other). Dereferencing sysfs_dirent to access objects out of sysfs proper requires active reference. This includes access to the associated kobjects, attributes and ops. The active references can be drained and denied by calling sysfs_deactivate(). All active sysfs_dirents must be deactivated after deletion but before the default reference is dropped. This enables immediate disconnect of sysfs nodes. Once a sysfs_dirent is deleted, it won't access any entity external to sysfs proper. Because attr/bin_attr ops access both the node itself and its parent for kobject, they need to hold active references to both. sysfs_get/put_active_two() helpers are provided to help grabbing both references. Parent's is acquired first and released last. Unlike other operations, mmapped area lingers on after mmap() is finished and the module implement implementing it and kobj need to stay referenced till all the mapped pages are gone. This is accomplished by holding one set of active references to the bin_attr and its parent if there have been any mmap during lifetime of an openfile. The references are dropped when the openfile is released. This change makes sysfs lifetime rules independent from both kobject's and module's. It not only fixes several race conditions caused by sysfs not holding onto the proper module when referencing kobject, but also helps fixing and simplifying lifetime management in driver model and drivers by taking sysfs out of the equation. Please read the following message for more info. http://article.gmane.org/gmane.linux.kernel/510293 Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit eb36165353d0e5ac32b063f555acedcbaf6d3b75 Author: Tejun Heo Date: Thu Jun 14 03:45:16 2007 +0900 sysfs: implement bin_buffer Implement bin_buffer which contains a mutex and pointer to PAGE_SIZE buffer to properly synchronize accesses to per-openfile buffer and prepare for immediate-kobj-disconnect. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 2b29ac252afff87b8465b064ca2d9740cf1f6e52 Author: Tejun Heo Date: Thu Jun 14 03:45:15 2007 +0900 sysfs: reimplement symlink using sysfs_dirent tree sysfs symlink is implemented by referencing dentry and kobject from sysfs_dirent - symlink entry references kobject, dentry is used to walk the tree. This complicates object lifetimes rules and is dangerous - for example, there is no way to tell to which module the target of a symlink belongs and referencing that kobject can make it linger after the module is gone. This patch reimplements symlink using only sysfs_dirent tree. sd for a symlink points and holds reference to the target sysfs_dirent and all walking is done using sysfs_dirent tree. Simpler and safer. Please read the following message for more info. http://article.gmane.org/gmane.linux.kernel/510293 Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit aecdcedaab49ca40620dc7dd70f67ee7269a66c9 Author: Tejun Heo Date: Thu Jun 14 03:45:15 2007 +0900 sysfs: implement kobj_sysfs_assoc_lock kobj->dentry can go away anytime unless the user controls when the associated sysfs node is deleted. This patch implements kobj_sysfs_assoc_lock which protects kobj->dentry. This will be used to maintain kobj based API when converting sysfs to use sysfs_dirent tree instead of dentry/kobject. Note that this lock belongs to kobject/driver-model not sysfs. Once sysfs is converted to not use kobject in its interface, this can be removed from sysfs. This is in preparation of object reference simplification. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 3e5190380ebef77f2b015c9e7a4ca225a3d75021 Author: Tejun Heo Date: Thu Jun 14 03:45:15 2007 +0900 sysfs: make sysfs_dirent->s_element a union Make sd->s_element a union of sysfs_elem_{dir|symlink|attr|bin_attr} and rename it to s_elem. This is to achieve... * some level of type checking : changing symlink to point to sysfs_dirent instead of kobject is much safer and less painful now. * easier / standardized dereferencing * allow sysfs_elem_* to contain more than one entry Where possible, pointer is obtained by directly deferencing from sd instead of going through other entities. This reduces dependencies to dentry, inode and kobject. to_attr() and to_bin_attr() are unused now and removed. This is in preparation of object reference simplification. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 0c096b507f15397da890051ee73de4266d3941fb Author: Tejun Heo Date: Thu Jun 14 03:45:15 2007 +0900 sysfs: add sysfs_dirent->s_name Add s_name to sysfs_dirent. This is to further reduce dependency to the associated dentry. Name is copied for directories and symlinks but not for attributes. Where possible, name dereferences are converted to use sd->s_name. sysfs_symlink->link_name and sysfs_get_name() are unused now and removed. This change allows symlink to be implemented using sysfs_dirent tree proper, which is the last remaining dentry-dependent sysfs walk. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 13b3086d2ea483cbcae5a4236446cecc082a72cf Author: Tejun Heo Date: Thu Jun 14 03:45:14 2007 +0900 sysfs: add sysfs_dirent->s_parent Add sysfs_dirent->s_parent. With this patch, each sd points to and holds a reference to its parent. This allows walking sysfs tree without referencing sd->s_dentry which can go away anytime if the user doesn't control when it's deleted. sd->s_parent is initialized and parent is referenced in sysfs_attach_dirent(). Reference to parent is released when the sd is released, so as long as reference to a sd is held, s_parent can be followed. dentry walk in sysfs_readdir() is convereted to s_parent walk. This will be used to reimplement symlink such that it uses only sysfs_dirent tree. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit a26cd7226c24c3be5dd5f48a74832fe64beb8489 Author: Tejun Heo Date: Thu Jun 14 03:45:14 2007 +0900 sysfs: consolidate sysfs_dirent creation functions Currently there are four functions to create sysfs_dirent - __sysfs_new_dirent(), sysfs_new_dirent(), __sysfs_make_dirent() and sysfs_make_dirent(). Other than sysfs_make_dirent(), no function has two users if calls to implement other functions are excluded. This patch consolidates sysfs_dirent creation functions into the following two. * sysfs_new_dirent() : allocate and initialize * sysfs_attach_dirent() : attach to sysfs_dirent hierarchy and/or associate with dentry This simplifies interface and gives callers more flexibility. This is in preparation of object reference simplification. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 996b73764e9bb9d5e751fd15b130ba38637d66a8 Author: Tejun Heo Date: Thu Jun 14 03:45:14 2007 +0900 sysfs: flatten and fix sysfs_rename_dir() error handling Error handling in sysfs_rename_dir() was broken. * When lookup_one_len() fails, 0 is returned. * If parent inode check fails, returns with inode mutex and rename rwsem held. This patch fixes the above bugs and flattens error handling such that it's more readable and easier to modify. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit dfeb9fb0343363aadc3ee00a9347d120bc2a26b1 Author: Tejun Heo Date: Thu Jun 14 03:45:14 2007 +0900 sysfs: flatten cleanup paths in sysfs_add_link() and create_dir() Flatten cleanup paths in sysfs_add_link() and create_dir() to improve readability and ease further changes to these functions. This is in preparation of object reference simplification. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 93e3cd8270d036953120eca83610f95d3f7374c6 Author: Tejun Heo Date: Thu Jun 14 03:45:13 2007 +0900 sysfs: fix error handling in binattr write() Error handling in fs/sysfs/bin.c:write() was wrong because size_t count is used to receive return value from flush_write() which is negative on failure. This patch updates write() such that int variable is used instead. read() is updated the same way for consistency. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 7a23ad44047b1084a032bc0d127fe08af024593a Author: Tejun Heo Date: Thu Jun 14 03:45:13 2007 +0900 sysfs: make sysfs_put() ignore NULL sd Make sysfs_put() ignore NULL sd instead of oopsing. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 2b611bb7abdcc08278453fc9f6517401fd69ef95 Author: Tejun Heo Date: Thu Jun 14 03:45:13 2007 +0900 sysfs: allocate inode number using ida sysfs used simple incrementing allocator which is not guaranteed to be unique. This patch makes sysfs use ida to give each sd a unique and packed inode number. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit fa7f912ad4ae0ed7591add52422e48282389652d Author: Tejun Heo Date: Thu Jun 14 03:45:13 2007 +0900 sysfs: move release_sysfs_dirent() to dir.c There is no reason this function should be inlined and soon to follow sysfs object reference simplification will make it heavier. Move it to dir.c. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 72dba584b695d8bc8c1a50ed54ad4cba7c62314d Author: Tejun Heo Date: Thu Jun 14 03:45:13 2007 +0900 ida: implement idr based id allocator Implement idr based id allocator. ida is used the same way idr is used but lacks id -> ptr translation and thus consumes much less memory. struct ida_bitmap is attached as leaf nodes to idr tree which is managed by the idr code. Each ida_bitmap is 128bytes long and contains slightly less than a thousand slots. ida is more aggressive with releasing extra resources acquired using ida_pre_get(). After every successful id allocation, ida frees one reserved idr_layer if possible. Reserved ida_bitmap is not freed automatically but only one ida_bitmap is reserved and it's almost always used right away. Under most circumstances, ida won't hold on to memory for too long which isn't actively used. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit e33ac8bdb0c84fe7afd2c45537b763faf28c589e Author: Tejun Heo Date: Thu Jun 14 03:45:12 2007 +0900 idr: separate out idr_mark_full() Separate out idr_mark_full() from sub_alloc() and make marking the allocated slot full the responsibility of idr_get_new_above_int(). Allocation part of idr_get_new_above_int() is renamed to idr_get_empty_slot(). New idr_get_new_above_int() allocates a slot using the function, install the user pointer and marks it full using idr_mark_full(). This change doesn't introduce any behavior change. This will be used by ida. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 7aae6dd80e265aa9402ed507caaff4a5dba55069 Author: Tejun Heo Date: Thu Jun 14 03:45:12 2007 +0900 idr: fix obscure bug in allocation path In sub_alloc(), when bitmap search fails, it goes up one level to continue search. This is done by updating the id cursor and searching the upper level again. If the cursor was at the end of the upper level, we need to go further than that. This wasn't implemented and when that happens the part of the cursor which indexes into the upper level wraps and sub_alloc() ends up searching the wrong bitmap. It allocates id which doesn't match the actual slot. This patch fixes this by restarting from the top if the search needs to go higher than one level. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit dc0afa8388972a9ed7c2203cc46d8df1a4713f65 Author: Cornelia Huck Date: Mon Jul 9 11:39:18 2007 -0700 Driver core: coding style cleanup This converts code of the form if ((error = some_func())) goto fixup; to error = some_func(); if (error) goto fixup; Signed-off-by: Cornelia Huck Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 93160c6397e460bc4c7ac15323fb698f91ef02e5 Author: Rafael J. Wysocki Date: Mon Jul 9 11:39:19 2007 -0700 PM: do not use saved_state from struct dev_pm_info on ARM The saved_state member of 'struct dev_pm_info' that's going to be removed is used in arch/arm/common/locomo.c, arch/arm/common/sa1111.c and arch/arm/mach-sa1100/neponset.c. Change the code in there to use local variables for saving the state of devices during suspend. Signed-off-by: Rafael J. Wysocki Cc: Greg KH Cc: David Brownell Acked-by: Russell King Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 43a49f8baa6b0e7e5b68ed0ee141e1efacfd9ae6 Author: Rafael J. Wysocki Date: Sun Jun 17 19:50:51 2007 +0200 PM: Do not check parent state in suspend and resume core code The checks if the device's parent is in the right state done in drivers/base/power/suspend.c and drivers/base/power/resume.c serve no particular purpose, since if the parent is in a wrong power state, the device's suspend or resume callbacks are supposed to return an error anyway. Moreover, they are also useless from the sanity checking point of view, because they rely on the code being checked to set dev->parent->power.power_state.event appropriately, which need not happen if that code is buggy. For these reasons they can be removed. Signed-off-by: Rafael J. Wysocki Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 1c3f7d1c79425dd8f627b8da139fd1855f096b6e Author: Rafael J. Wysocki Date: Sun Jun 17 19:49:20 2007 +0200 PM: Remove power_state.event checks from suspend core code The suspend routines should be called for every device during a system sleep transition, regardless of the device's state, so that drivers can regard these method calls as notifications that the system is about to go to sleep, rather than as directives to put their devices into the 'off' state. This is documented in Documentation/power/devices.txt and is already done in the core resume code, so it seems reasonable to make the core suspend code behave accordingly. Signed-off-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman commit 515c53576299e32d6bdb6295cfa2fe1307516eb4 Author: Rafael J. Wysocki Date: Sun Jun 17 19:48:06 2007 +0200 PM: Remove prev_state from struct dev_pm_info The prev_state member of struct dev_pm_info (defined in include/linux/pm.h) is only used during a resume to check if the device's state before the suspend was 'off', in which case the device is not resumed. However, in such cases the decision whether or not to resume the device should be made on the driver level and the resume callbacks from the device's bus and class should be executed anyway (the may be needed for some things other than just powering on the device). Signed-off-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman commit 2a0134554e12f530c6eccb1dab3f0f8954f855c9 Author: Adrian Bunk Date: Mon Jun 18 01:42:54 2007 +0200 Driver core: fix devres_release_all() return value Every file should include the headers containing the prototypes for it's global functions. Since the GNU C compiler is now able to detect that the function prototype of devres_release_all() in the header and the actual function disagree regarding the return value, this patch also fixes this bug. Signed-off-by: Adrian Bunk Acked-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit ab71c6f0767bcbc618f3db51f668d5b951c00b60 Author: Stefan Richter Date: Sun Jun 17 11:02:12 2007 +0200 driver core: fix kernel doc of device_release_driver Signed-off-by: Stefan Richter Signed-off-by: Greg Kroah-Hartman commit 1f5681aae8feadd113644c9e077152416c12b75c Author: Stefan Richter Date: Sun Jun 17 11:01:18 2007 +0200 driver core: properly get driver in device_release_driver Signed-off-by: Stefan Richter Signed-off-by: Greg Kroah-Hartman commit f8916c11a4dc4cb2367e9bee1788f4e0f1b4eabc Author: Michael S. Tsirkin Date: Sun Jun 10 22:39:12 2007 +0300 Driver core: include linux/mutex.h from attribute_container.c attribute_container.c uses DEFINE_MUTEX, so while linux/mutex.h seems to be pulled in indirectly by one of the headers it includes, the right thing is to include linux/mutex.h directly. Signed-off-by: Michael S. Tsirkin commit 9e584a4fe58881e2dc8f09bdf8444b199ab5ecaf Author: Rafael J. Wysocki Date: Wed Jun 13 16:19:27 2007 +0200 PM: Simplify suspend_device Reduce code duplication in drivers/base/suspend.c by introducing a separate function for printing diagnostic messages. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit cc4900690bf77257996e90f0059eb074b8db52e6 Author: Rafael J. Wysocki Date: Wed Jun 13 15:55:34 2007 +0200 PM: Remove saved_state from struct dev_pm_info The saved_state member of struct dev_pm_info, defined in include/linux/pm.h, is not used anywhere, so it can be removed. Signed-off-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman commit 9cddad77574313fcee36c5e60122718daa7c0361 Author: Rafael J. Wysocki Date: Wed Jun 13 15:53:34 2007 +0200 PM: Remove pm_parent from struct dev_pm_info The pm_parent member of struct dev_pm_info (defined in include/linux/pm.h) is only used to check if the device's parent is in the right state while the device is being suspended or resumed. However, this can be done just as well with the help of the parent pointer in struct device, so pm_parent can be removed along with some code that handles it. Signed-off-by: Rafael J. Wysocki Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 11048dcf333c414f237bb713c422e68f67b115a3 Author: Matthias Kaehlcke Date: Wed May 23 14:19:41 2007 -0700 Power Management: use mutexes instead of semaphores The Power Management code uses semaphores as mutexes. Use the mutex API instead of the (binary) semaphores. Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 9f3f776bd9e3d52f0204db1df0914b50d6a2372e Author: Matthias Kaehlcke Date: Wed May 23 14:19:42 2007 -0700 sysdev: use mutex instead of semaphore The sysdev code use a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 80f03e349f06a261a8e980bf6005c61811a0d66a Author: Kay Sievers Date: Sat May 26 11:21:36 2007 +0200 Driver core: add missing kset uevent We get uevents for a bus/class going away, but not one registering. Add the missing uevent in kset_register(), which will send an event for a new bus/class. Suppress all unwanted uevents for bus subdirectories like /bus/*/devices/, /bus/*/drivers/. Now we get for module usbcore: add /module/usbcore (module) add /bus/usb (bus) add /class/usb_host (class) add /bus/usb/drivers/hub (drivers) add /bus/usb/drivers/usb (drivers) remove /bus/usb/drivers/usb (drivers) remove /bus/usb/drivers/hub (drivers) remove /class/usb_host (class) remove /bus/usb (bus) remove /module/usbcore (module) instead of: add /module/usbcore (module) add /bus/usb/drivers/hub (drivers) add /bus/usb/drivers/usb (drivers) remove /bus/usb/drivers/usb (drivers) remove /bus/usb/drivers/hub (drivers) remove /class/usb_host (class) remove /bus/usb/drivers (bus) remove /bus/usb/devices (bus) remove /bus/usb (bus) remove /module/usbcore (module) Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 4f5c791a850e5305a5b1b48d0e4b4de248dc96f9 Author: Lennart Poettering Date: Tue May 8 22:07:02 2007 +0200 DMI-based module autoloading The patch below adds DMI/SMBIOS based module autoloading to the Linux kernel. The idea is to load laptop drivers automatically (and other drivers which cannot be autoloaded otherwise), based on the DMI system identification information of the BIOS. Right now most distros manually try to load all available laptop drivers on bootup in the hope that at least one of them loads successfully. This patch does away with all that, and uses udev to automatically load matching drivers on the right machines. Basically the patch just exports the DMI information that has been parsed by the kernel anyway to userspace via a sysfs device /sys/class/dmi/id and makes sure that proper modalias attributes are available. Besides adding the "modalias" attribute it also adds attributes for a few other DMI fields which might be useful for writing udev rules. This patch is not an attempt to export the entire DMI/SMBIOS data to userspace. We already have "dmidecode" which parses the complete DMI info from userspace. The purpose of this patch is machine model identification and good udev integration. To take advantage of DMI based module autoloading, a driver should export one or more MODULE_ALIAS fields similar to these: MODULE_ALIAS("dmi:*:svnMICRO-STARINT'LCO.,LTD:pnMS-1013:pvr0131*:cvnMICRO-STARINT'LCO.,LTD:ct10:*"); MODULE_ALIAS("dmi:*:svnMicro-StarInternational:pnMS-1058:pvr0581:rvnMSI:rnMS-1058:*:ct10:*"); MODULE_ALIAS("dmi:*:svnMicro-StarInternational:pnMS-1412:*:rvnMSI:rnMS-1412:*:cvnMICRO-STARINT'LCO.,LTD:ct10:*"); MODULE_ALIAS("dmi:*:svnNOTEBOOK:pnSAM2000:pvr0131*:cvnMICRO-STARINT'LCO.,LTD:ct10:*"); These lines are specific to my msi-laptop.c driver. They are basically just a concatenation of a few carefully selected DMI fields with all potentially bad characters stripped. Besides laptop drivers, modules like "hdaps", the i2c modules and the hwmon modules are good candidates for "dmi:" MODULE_ALIAS lines. Besides merely exporting the DMI data via sysfs the patch adds support for a few more DMI fields. Especially the CHASSIS fields are very useful to identify different laptop modules. The patch also adds working MODULE_ALIAS lines to my msi-laptop.c driver. I'd like to thank Kay Sievers for helping me to clean up this patch for posting it on lkml. Patch is against Linus' current GIT HEAD. Should probably apply to older kernels as well without modification. Signed-off-by: Lennart Poettering Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit cfc94cdf8e0f14e692a5a40ef3cc10f464b2511b Author: Jan Kara Date: Wed May 9 13:19:52 2007 +0200 debugfs: add rename for debugfs files Implement debugfs_rename() to allow renaming files/directories in debugfs. Signed-off-by: Jan Kara Signed-off-by: Greg Kroah-Hartman commit 46336009b5009e9fab3bd623a3beb9c7421545ac Author: Kay Sievers Date: Fri Jun 8 13:36:37 2007 -0700 Rules on how to use sysfs in userspace programs Here's a document to help clear things up. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 36e235901f90fb83215be43cbd8f1ca14661ea40 Author: Matthew Wilcox Date: Tue Jul 10 10:54:40 2007 -0600 PCI: Only build PCI syscalls on architectures that want them The PCI syscalls are built on every architecture except X86, but only a few have ever hooked them up. Use a new Kconfig symbol to save a couple of kB on the architectures that have never used the syscalls. Tested on x86 and ia64 only. Signed-off-by: Matthew Wilcox Signed-off-by: Greg Kroah-Hartman commit 5463d9f0f323123d96989d318ac9c537158ad0a5 Author: Randy Dunlap Date: Thu Jun 28 16:04:21 2007 -0700 PCI: limit pci_get_bus_and_slot to domain 0 Limit pci_get_bus_and_slot() to domain (segment) 0 since domain is not specified in the function call and defaulting to domain 0 is the only reasonable thing to do (rather than returning a device from some other unknown domain). Signed-off-by: Randy Dunlap Acked-by: H. Peter Anvin Signed-off-by: Greg Kroah-Hartman commit 0bbd6424c55f0ab9e7fcd6a851bc49e265259ff5 Author: Gary Hade Date: Thu Jul 5 11:10:48 2007 -0700 PCI: hotplug: acpiphp: avoid acpiphp "cannot get bridge info" PCI hotplug failure On some systems, the ACPI bus check event can reference a bridge that is higher in the ACPI hierarchy than the bridge immediately above the hotplug PCI slot into which an adapter was just inserted. The current 'acpiphp' code expects the bus check event to reference the bridge immediately above the slot that received the adapter so the hotplug operation can fail on these systems with the message "acpiphp_glue: cannot get bridge info". This change fixes the problem by re-enumerating all slots that lie below the bridge referenced by the bus check event, including those slots that may be located under lower level PCI-to-PCI bridge(s). Signed-off-by: Gary Hade Cc: Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 9ef2241b18266d75319e7d66156243bd9010be44 Author: Gary Hade Date: Thu Jul 5 11:10:47 2007 -0700 PCI: hotplug: acpiphp: remove hot plug parameter write to PCI host bridge acpiphp is writing hot plug parameters to the PCI host bridge PCI config space. This patch removes the incorrect operation. Signed-off-by: Gary Hade Cc: Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit bfceafc5979d9055e04f03f970de6ff7a4bce1b6 Author: Gary Hade Date: Thu Jul 5 11:10:46 2007 -0700 PCI: hotplug: acpiphp: fix slot poweroff problem on systems without _PS3 On systems where the optional _PS3 ACPI object is not implemented acpiphp fails to power off the slot. This is happening because the current code does not attempt to remove power using the _EJ0 ACPI object. This patch restores the _EJ0 evaluation attempt which was apparently inadvertently removed from the power-off sequence when the _EJ0 evaluation code was relocated from power_off_slot() to acpiphp_eject_slot(). Signed-off-by: Gary Hade Cc: Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 5b57a6cea464fc686a6bc446f667c05901fa9734 Author: Kenji Kaneshige Date: Thu Jul 5 11:10:45 2007 -0700 PCI: hotplug: pciehp: wait for 1 second after power off slot According to the specification, we must wait for at least 1 second after turning power off before taking any action that relies on power having been removed from the slot/adapter. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit cca03dec2f0eb8f3c4578e067d2b20a366b940db Author: Andrew Lunn Date: Mon Jul 9 11:55:58 2007 -0700 PCI: pci_set_power_state(): check for PM capabilities earlier Check for PCI_CAP_ID_PM before checking the device state. Apparently fixes some log spam via the 3c59x driver. Signed-off-by: Andrew Lunn Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 0bec2c85bb269446358dceae82ca7822ccfd4e9f Author: Scott Murray Date: Mon Jul 9 11:55:57 2007 -0700 PCI: cpci_hotplug: Convert to use the kthread API Signed-off-by: Christoph Hellwig Signed-off-by: Scott Murray Acked-by: Kristen Carlson Accardi Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 694625c0b322905d6892fad873029f764cd4823f Author: Randy Dunlap Date: Mon Jul 9 11:55:54 2007 -0700 PCI: add pci_try_set_mwi As suggested by Andrew, add pci_try_set_mwi(), which does not require return-value checking. - add pci_try_set_mwi() without __must_check - make it return 0 on success, errno if the "try" failed or error - review callers Signed-off-by: Randy Dunlap Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit f5609d7e679db3f29433f56e1f2e397a2f815288 Author: Milind Arun Choudhary Date: Mon Jul 9 11:55:54 2007 -0700 PCI: pcie: remove SPIN_LOCK_UNLOCKED Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 6f6f8c2f4b59711857d14ada8e70309d52e8fae4 Author: Milind Arun Choudhary Date: Mon Jul 9 11:55:51 2007 -0700 PCI: ROUND_UP macro cleanup in drivers/pci ROUND_UP macro cleanup, use ALIGN where ever appropriate Signed-off-by: Milind Arun Choudhary Acked-by: Scott Murray Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit caa5171622c8fef70fa20d2d74f4326866039df9 Author: Jan Beulich Date: Mon Jul 9 11:55:51 2007 -0700 PCI: remove pci_dac_dma_... APIs Based on replies to a respective query, remove the pci_dac_dma_...() APIs (except for pci_dac_dma_supported() on Alpha, where this function is used in non-DAC PCI DMA code). Signed-off-by: Jan Beulich Cc: Andi Kleen Cc: Jesse Barnes Cc: Christoph Hellwig Acked-by: David Miller Cc: Jeff Garzik Cc: Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit b7b095c154c50ee753832bbf78e8690c492fc8f6 Author: Andrew Morton Date: Mon Jul 9 11:55:50 2007 -0700 PCI: pci-x-pci-express-read-control-interfaces cleanups - remove unneeded local - 80-col fix Cc: Peter Oruba Cc: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 579082df38839efc5b14aa3f48b8806e3e8dc5c2 Author: Rolf Eike Beer Date: Tue Jul 10 13:35:05 2007 +0200 PCI: Fix typo in include/linux/pci.h Signed-off-by: Rolf Eike Beer Signed-off-by: Greg Kroah-Hartman commit 12bedda9f404c4d34eda6477b0ec32140d83501b Author: Jiri Slaby Date: Mon Jun 18 10:56:52 2007 +0200 PCI: pci_ids, remove double or more empty lines pci_ids, remove two or more empty lines Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit f732ee0b71365ddc20e6a0b408f9fd1732d7eb75 Author: Jiri Slaby Date: Mon Jun 18 10:58:14 2007 +0200 PCI: pci_ids, add atheros and 3com_2 vendors pci_ids, add atheros and 3com_2 vendors Atheros is wifi vendor. 3com_2 (0xa727) is an vendor id for one card with ath chip. Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 03966e097db1a3b7aff5d364277f2e66069923df Author: Jiri Slaby Date: Mon Jun 18 10:55:30 2007 +0200 PCI: pci_ids, reorder some entries pci_ids, reorder some entries Some lines are not vendor sorted, reorder it to comply with the rest of document. Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit c43eaa02abf3b034a9694dcca5c177ecb6072f89 Author: Jiri Slaby Date: Mon Jun 18 10:58:14 2007 +0200 PCI: i386: traps, change VENDOR to DEVICE traps, change VENDOR to DEVICE Change macro for SGI lithium (arch/i386/mach-visws/traps.c) device from VENDOR to DEVICE, because it's a device id. Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 1d0ed384c1f2582b6f7408642c77a78a0c410122 Author: Jiri Slaby Date: Mon Jun 18 10:58:13 2007 +0200 PCI: ATM: lanai, change VENDOR to DEVICE lanai, change VENDOR to DEVICE There were 2 bad named macros in pci_ids (LANAI 2 and IHB). Rename it to DEVICE, because it's device id. Also make some cleanpu in pci_device_id table (use PCI_VDEVICE). Cc: Mitchell Blank Jr Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 44c10138fd4bbc4b6d6bff0873c24902f2a9da65 Author: Auke Kok Date: Fri Jun 8 15:46:36 2007 -0700 PCI: Change all drivers to use pci_device->revision Instead of all drivers reading pci config space to get the revision ID, they can now use the pci_device->revision member. This exposes some issues where drivers where reading a word or a dword for the revision number, and adding useless error-handling around the read. Some drivers even just read it for no purpose of all. In devices where the revision ID is being copied over and used in what appears to be the equivalent of hotpath, I have left the copy code and the cached copy as not to influence the driver's performance. Compile tested with make all{yes,mod}config on x86_64 and i386. Signed-off-by: Auke Kok Acked-by: Dave Jones Signed-off-by: Greg Kroah-Hartman commit b8a3a5214d7cc115f1ca3a3967b7229d97c46f4a Author: Auke Kok Date: Fri Jun 8 15:46:30 2007 -0700 PCI: read revision ID by default Currently there are 97 occurrences where drivers need the pci revision ID. We can do this once for all devices. Even the pci subsystem needs the revision several times for quirks. The extra u8 member pads out nicely in the pci_dev struct. Signed-off-by: Auke Kok Signed-off-by: Greg Kroah-Hartman commit 56906c612e10b5e32a48ccbe8a3c08ab6acf5a28 Author: David Brownell Date: Mon May 7 10:26:17 2007 -0700 PCI: remove useless pci driver method Remove pointless and never-called enable_wake() hook from pci_driver and from documentation. Evidently this was introduced in the 2.4.6 kernel, but there's no evidence it was ever called; and it was rarely implemented. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit e57571a07de8464f2e5911f87d2c8f29b0430fb7 Author: Adrian Bunk Date: Wed Apr 4 17:25:48 2007 +0200 PCI: unexport pci_proc_attach_device On Mon, Apr 02, 2007 at 10:47:45PM -0700, Andrew Morton wrote: >... > Changes since 2.6.21-rc5-mm3: >... > +fix-82875-pci-setup.patch >... > Misc >... pci_proc_attach_device() no longer has any modular user. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit f0dce411930d16a678173e534594bca160f5eaff Author: Stephen Hemminger Date: Wed Jun 6 11:50:34 2007 +0800 PCI aer: add pci_cleanup_aer_correct_aer_status Function to clear bogus correctable errors. Analog to pci_aer_uncorrect_are_status. The Marvell chips seem to start out with a bogus value that needs to be cleared. Yanmin ported it to 2.6.22-rc4 by fixing a fuzz patch applying info. Signed-off-by: Stephen Hemminger Acked-by: Zhang Yanmin Signed-off-by: Greg Kroah-Hartman commit 65b3bc358a3195ebe459761a248cf33a61539947 Author: Stephen Hemminger Date: Wed Jun 6 11:46:49 2007 +0800 PCI aer: fix stub return values The stubs used when advanced error reporting is not enabled must have same return type as real functions. Signed-off-by: Stephen Hemminger Acked-by: Zhang Yanmin Signed-off-by: Greg Kroah-Hartman commit 8d29bfb79e632fe318f4c01c9c2e8faacb89b800 Author: Zhang, Yanmin Date: Wed Jun 6 11:44:16 2007 +0800 PCI: fix AER driver error information Below patch fixes aer driver error information and enables aer driver although CONFIG_ACPI=n. As a matter of fact, the new patch is created from below 2 patches plus a minor patch apply fuzz fixing. Because the second patch fixed a compilation error introduced by the first patch, I merge them to facilitate bisect. 1) http://marc.info/?l=linux-kernel&m=117783233918191&w=2; 2) http://marc.info/?l=linux-mm-commits&m=118046936720790&w=2 Signed-off-by: Zhang Yanmin Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit f477836457730a2b925f625023ec4e5bf11015be Author: Kenji Kaneshige Date: Thu May 31 09:43:34 2007 -0700 PCI: hotplug: pciehp: Fix possible race condition in writing slot The slot control register is modified as follows: (1) Read the register value (2) Change the value (3) Write the value to the register Those must be done atomically, otherwise writing to control register would cause an unexpected result. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit adf809d01043d8808e47db2d35fc07b53062884e Author: Alan Cox Date: Mon May 21 14:16:17 2007 -0700 + pci_find_slot-mark-deprecated.patch added to -mm tree We've now fixed up most users of pci_find_slot, and the remainder are either hard and need someone with the hardware and info to work on it, or patches exist but are not yet merged. Time therefore for some gentle encouragement Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit a2cd52ca904f5913651e71764755e712894ccc2f Author: Michael Ellerman Date: Tue May 8 12:03:08 2007 +1000 PCI: Make pcibios_add_platform_entries() return errors Currently pcibios_add_platform_entries() returns void, but could fail, so instead have it return an int and propagate errors up to pci_create_sysfs_dev_files(). Fixes: arch/powerpc/kernel/pci_64.c: In function 'pcibios_add_platform_entries': arch/powerpc/kernel/pci_64.c:878: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result arch/powerpc/kernel/pci_32.c: In function 'pcibios_add_platform_entries': arch/powerpc/kernel/pci_32.c:1043: warning: ignoring return value of 'device_create_file', declared with attribute warn_unused_result Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit 575e3348cb80c3265278756778d5091d5ca4efbf Author: Michael Ellerman Date: Tue May 8 12:03:07 2007 +1000 PCI: Use a weak symbol for the empty version of pcibios_add_platform_entries() I'm not sure if this is going to fly, weak symbols work on the compilers I'm using, but whether they work for all of the affected architectures I can't say. I've cc'ed as many arch maintainers/lists as I could find. But assuming they do, we can use a weak empty definition of pcibios_add_platform_entries() to avoid having an empty definition on every arch. Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit d556ad4bbe75faf17b239e151a9f003322b2e851 Author: Peter Oruba Date: Tue May 15 13:59:13 2007 +0200 PCI: add PCI-X/PCI-Express read control interfaces This patch introduces an interface to read and write PCI-X / PCI-Express maximum read byte count values from PCI config space. There is a second function that returns the maximum _designed_ read byte count, which marks the maximum value for a device, since some drivers try to set MMRBC to the highest allowed value and rely on such a function. Based on patch set by Stephen Hemminger Cc: Stephen Hemminger Signed-off-by: Peter Oruba Signed-off-by: Greg Kroah-Hartman commit e4585da22ad04a055cbb5c863a37aa8cc02eac89 Author: Alan Cox Date: Mon Apr 23 14:57:37 2007 +0100 pci syscall.c: Switch to refcounting API Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit a23adb5b2db7f2a0758abfa20b0220dbcbfd7aa9 Author: Greg Kroah-Hartman Date: Thu Jun 7 13:27:09 2007 -0700 PCI: point people to Bernhard instead of the linux-kernel list Back in commit 8c4b2cf9af9b4ecc29d4f0ec4ecc8e94dc4432d7, Bernhard said that he would fix up all instances of when this message happens. So point people at him instead of the linux-kernel list which can not fix things up. Cc: Bernhard Kaindl Cc: Dave Jones Cc: Andrew Morton Cc: Miles Lane Signed-off-by: Greg Kroah-Hartman commit 46ae3571526e4fc3a004053b5fb57984ca5b3eb6 Author: Greg Kroah-Hartman Date: Fri Jun 8 12:08:34 2007 +0800 PCI: remove cpqphp driver maintainer I'm no longer maintaining this driver as I no longer have the hardware and I doubt anyone else does either. Signed-off-by: Greg Kroah-Hartman commit 72d0b7a81d60f5e64ee7197bc190b9b3265f99dd Author: Chris Leech Date: Thu Mar 8 09:57:35 2007 -0800 I/OAT: Add documentation for the tcp_dma_copybreak sysctl Signed-off-by: Chris Leech commit 70774b47392171faae0e98f795aa1507f9246af1 Author: Chris Leech Date: Thu Mar 8 09:57:35 2007 -0800 ioatdma: Remove the use of writeq from the ioatdma driver There's only one now anyway, and it's not in a performance path, so make it behave the same on 32-bit and 64-bit CPUs. Signed-off-by: Chris Leech commit e38288117c50fe22ed1693c2d8397245bb7e1a53 Author: Chris Leech Date: Thu Mar 8 09:57:35 2007 -0800 ioatdma: Remove the wrappers around read(bwl)/write(bwl) in ioatdma Signed-off-by: Chris Leech commit ff487fb773749124550a5ad2b7fbfe0376af6f0d Author: Jeff Garzik Date: Thu Mar 8 09:57:34 2007 -0800 drivers/dma: handle sysfs errors From: Jeff Garzik Signed-off-by: Jeff Garzik Signed-off-by: Chris Leech commit 000725d56a196e72dc22328324c5ec5506265736 Author: Chris Leech Date: Thu Mar 8 09:57:33 2007 -0800 ioatdma: Push pending transactions to hardware more frequently Every 20 descriptors turns out to be to few append commands with newer/faster CPUs. Pushing every 4 still cuts down on MMIO writes to an acceptable level without letting the DMA engine run out of work. Signed-off-by: Chris Leech commit c5d3e45a2200a0905dc45b72714726b7aac3aaf1 Author: Jeff Garzik Date: Wed Jul 11 18:30:50 2007 -0400 [libata] sata_mv: Minor cleanups and renaming, preparing for new EH & NCQ Minor cleanups, new definitions, and code movement, preparing for upcoming new-EH and NCQ changes. This commit shoult not change behavior at all. Signed-off-by: Jeff Garzik commit 1fd05ba5a2f2aa8e7b9b52ef55df850e2e7d54c9 Author: Miklos Szeredi Date: Wed Jul 11 14:22:39 2007 -0700 [AF_UNIX]: Rewrite garbage collector, fixes race. Throw out the old mark & sweep garbage collector and put in a refcounting cycle detecting one. The old one had a race with recvmsg, that resulted in false positives and hence data loss. The old algorithm operated on all unix sockets in the system, so any additional locking would have meant performance problems for all users of these. The new algorithm instead only operates on "in flight" sockets, which are very rare, and the additional locking for these doesn't negatively impact the vast majority of users. In fact it's probable, that there weren't *any* heavy senders of sockets over sockets, otherwise the above race would have been discovered long ago. The patch works OK with the app that exposed the race with the old code. The garbage collection has also been verified to work in a few simple cases. Signed-off-by: Miklos Szeredi Signed-off-by: David S. Miller commit 1612b18ccb2318563ba51268289dc3271a6052f7 Author: Russ Anderson Date: Fri May 18 17:17:17 2007 -0500 [IA64] Support multiple CPUs going through OS_MCA Linux does not gracefully deal with multiple processors going through OS_MCA aa part of the same MCA event. The first cpu into OS_MCA grabs the ia64_mca_serialize lock. Subsequent cpus wait for that lock, preventing them from reporting in as rendezvoused. The first cpu waits 5 seconds then complains that all the cpus have not rendezvoused. The first cpu then handles its MCA and frees up all the rendezvoused cpus and releases the ia64_mca_serialize lock. One of the subsequent cpus going thought OS_MCA then gets the ia64_mca_serialize lock, waits another 5 seconds and then complains that none of the other cpus have rendezvoused. This patch allows multiple CPUs to gracefully go through OS_MCA. The first CPU into ia64_mca_handler() grabs a mca_count lock. Subsequent CPUs into ia64_mca_handler() are added to a list of cpus that need to go through OS_MCA (a bit set in mca_cpu), and report in as rendezvoused, and but spin waiting their turn. The first CPU sees everyone rendezvous, handles his MCA, wakes up one of the other CPUs waiting to process their MCA (by clearing one mca_cpu bit), and then waits for the other cpus to complete their MCA handling. The next CPU handles his MCA and the process repeats until all the CPUs have handled their MCA. When the last CPU has handled it's MCA, it sets monarch_cpu to -1, releasing all the CPUs. In testing this works more reliably and faster. Thanks to Keith Owens for suggesting numerous improvements to this code. Signed-off-by: Russ Anderson Signed-off-by: Tony Luck commit 256a7e097ba3d1179867b4c9aba1b75fb32d44f2 Author: Jes Sorensen Date: Wed Jul 11 17:26:30 2007 +0200 [IA64] silence GCC ia64 unused variable warnings Tell GCC to stop spewing out unnecessary warnings for unused variables passed to functions as pointers for ia64 files. Signed-off-by: Jes Sorensen Signed-off-by: Tony Luck commit 012b7105cc816fb797eb1c161cdfc0052b5c3f53 Author: Alex Chiang Date: Wed Jul 11 11:02:15 2007 -0600 [IA64] prevent MCA when performing MMIO mmap to PCI config space Example memory map (HP rx7640 with 'default' acpiconfig setting, VGA disabled): 0x00000000 - 0x3FFFBFFF supports only WB (cacheable) access If a user attempts to perform an MMIO mmap (using the PCIIOC_MMAP_IS_MEM ioctl) to PCI config space (like mmap'ing and accessing memory at 0xA0000), we will MCA because the kernel will attempt to use a mapping with the UC attribute. So check the memory attribute in kern_mmap and the EFI memmap. If WC is requested, and WC or UC access is supported for the region, allow it. Otherwise, use the same attribute the kernel uses. Updates documentation and test cases as well. Signed-off-by: Alex Chiang Signed-off-by: Bjorn Helgaas Signed-off-by: Tony Luck commit 9e121327b37b751ef66e6f57e2d02dd568955148 Author: Dean Nelson Date: Wed Jul 11 10:22:16 2007 -0500 [IA64] add sn_register_pmi_handler oemcall Add wrapper function to make SN_SAL_REGISTER_PMI_HANDLER ia64_sal_oemcall. Signed-off-by: Dean Nelson Signed-off-by: Tony Luck commit e559e91cce3af215d78b7262360f19b95978aab3 Author: Sebastian Siewior Date: Fri Jun 22 19:47:35 2007 +0800 [CRYPTO] api: Allow ablkcipher with no queues Evgeniy's hifn driver and probably mine don't use ablkcipher->queue at all. The show method of ablkcipher will access this field without checking if it is valid. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit e69ff734e15eb7f61621f8764ce0a2181823a737 Author: Herbert Xu Date: Fri Jun 8 16:26:08 2007 +1000 [CRYPTO] cipher: Remove obsolete fields from cipher_tfm This removes all the unused block cipher fields from cipher_tfm. Signed-off-by: Herbert Xu commit ca7c39385ce1a7b44894a4b225a4608624e90730 Author: Sebastian Siewior Date: Sat May 19 19:51:21 2007 +1000 [CRYPTO] api: Handle unaligned keys in setkey setkey() in {cipher,blkcipher,ablkcipher,hash}.c does not respect the requested alignment by the algorithm. This patch fixes it. The extra memory is allocated by kmalloc() with GFP_ATOMIC flag. Signed-off-by: Sebastian Siewior Signed-off-by: Herbert Xu commit fe3c5206adc5d7395828185ab73e9a522655b984 Author: Herbert Xu Date: Sat May 19 17:51:40 2007 +1000 [CRYPTO] api: Wake up all waiters when larval completes Right now when a larval matures or when it dies of an error we only wake up one waiter. This would cause other waiters to timeout unnecessarily. This patch changes it to use complete_all to wake up all waiters. Signed-off-by: Herbert Xu commit 2e290f43ddb2331db2e308da206fe154bec91a7d Author: Jan Engelhardt Date: Fri May 18 15:11:01 2007 +1000 [CRYPTO] Kconfig: Use menuconfig objects Use menuconfigs instead of menus, so the whole menu can be disabled at once instead of going through all options. Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Herbert Xu commit 55910517af381eba4f978740e5e46e23eb269326 Author: Dave Airlie Date: Wed Jul 11 16:53:40 2007 +1000 drm: detypedeffing continues... Signed-off-by: Dave Airlie commit cdd55a294c13f8bf05b2f4fee4c96934d5ebd2e4 Author: Dave Airlie Date: Wed Jul 11 16:32:08 2007 +1000 drm: detypef waitlist/freelist/buf_entry/device_dma/drm_queue structs Signed-off-by: Dave Airlie commit 99d24edeb6abc6ca3a0d0fbdb83c664c04403c8c Author: Patrick McHardy Date: Tue Jul 10 23:24:52 2007 -0700 [NETFILTER]: {ip, nf}_conntrack_sctp: fix remotely triggerable NULL ptr dereference (CVE-2007-2876) When creating a new connection by sending an unknown chunk type, we don't transition to a valid state, causing a NULL pointer dereference in sctp_packet when accessing sctp_timeouts[SCTP_CONNTRACK_NONE]. Fix by don't creating new conntrack entry if initial state is invalid. Noticed by Vilmos Nebehaj Signed-off-by: Patrick McHardy Signed-off-by: Greg Kroah-Hartman Signed-off-by: Chris Wright Signed-off-by: David S. Miller commit 8fc2fdf4c9437576f38e97c2f5b700ec77038984 Author: Dave Airlie Date: Wed Jul 11 16:21:47 2007 +1000 drm: drop drm_vma_entry_t, drm_magic_entry_t Signed-off-by: Dave Airlie commit 056219e2fa6664ec83bc258ebcf30f1a7919d423 Author: Dave Airlie Date: Wed Jul 11 16:17:42 2007 +1000 drm: drop drm_buf_t typedef Signed-off-by: Dave Airlie commit eddca551a3e7be2fed54282f255f18efe9ead131 Author: Dave Airlie Date: Wed Jul 11 16:09:54 2007 +1000 drm: fixup other drivers for typedef removals Signed-off-by: Dave Airlie commit 56b3d975bbce65f655c5612b4822da671f9fd9b2 Author: Philippe De Muyter Date: Tue Jul 10 23:07:31 2007 -0700 [NET]: Make all initialized struct seq_operations const. Make all initialized struct seq_operations in net/ const Signed-off-by: Philippe De Muyter Signed-off-by: David S. Miller commit 3be550f34b03e5eb762f74d447ebbeba97efbd6d Author: Patrick McHardy Date: Tue Jul 10 23:06:43 2007 -0700 [UDP]: Fix length check. Rémi Denis-Courmont wrote: > Right. By the way, shouldn't "len" rather be signed in there? > > unsigned int len; > > /* if we're overly short, let UDP handle it */ > len = skb->len - sizeof(struct udphdr); > if (len <= 0) > goto udp; It should, but the < 0 case can't happen since __udp4_lib_rcv already makes sure that we have at least a complete UDP header. Anyways, this patch fixes it. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit dffe4f048b420f1af0b10a6090add0c5ea69e585 Author: Micah Gruber Date: Tue Jul 10 23:04:19 2007 -0700 [IPV6]: Remove unneeded pointer idev from addrconf_cleanup(). This trivial patch removes the unneeded pointer idev returned from __in6_dev_get(), which is never used. The check for NULL can be simply done by if (__in6_dev_get(dev) == NULL). Signed-off-by: Micah Gruber Signed-off-by: David S. Miller commit ed8b548ce3cb988f59a0fd9af6ccdc4f8198cd19 Author: Ilpo Järvinen Date: Tue Jul 10 23:02:12 2007 -0700 [DECNET]: Another unnecessary net/tcp.h inclusion in net/dn.h No longer needed. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 4c752098f529f41abfc985426a3eca0f2cb96676 Author: YOSHIFUJI Hideaki Date: Wed May 23 13:28:48 2007 +0900 [IPV6]: Make IPV6_{RECV,2292}RTHDR boolean options. Because reversing RH0 is no longer supported by deprecation of RH0, let's make IPV6_{RECV,2292}RTHDR boolean options. Boolean are more appropriate from standard POV. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit bb4dbf9e61d0801927e7df2569bb3dd8287ea301 Author: YOSHIFUJI Hideaki Date: Tue Jul 10 22:55:49 2007 -0700 [IPV6]: Do not send RH0 anymore. Based on . Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 84b1fd103dbbe01b5905db1444d3fc8afa9a7207 Author: Dave Airlie Date: Wed Jul 11 15:53:27 2007 +1000 drm: remove drm_file_t, drm_device_t and drm_head_t typedefs some drivers still todo. Signed-off-by: Dave Airlie commit c382bb9d32a55029fb13b118858e25908fab4617 Author: YOSHIFUJI Hideaki Date: Tue Jul 10 22:47:58 2007 -0700 [IPV6]: Restore semantics of Routing Header processing. The "fix" for emerging security threat was overkill and it broke basic semantic of IPv6 routing header processing. We should assume RT0 (or even RT2, depends on configuration) as "unknown" RH type so that we - silently ignore the routing header if segleft == 0 - send ICMPv6 Parameter Problem message back to the sender, otherwise. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit c9726d6890f7f3a892c879e067c3ed839f61e745 Author: Ranjit Manomohan Date: Tue Jul 10 22:43:16 2007 -0700 [NET_SCHED]: Make HTB scheduler work with TSO. Currently the HTB scheduler does not correctly account for TSO packets which causes large inaccuracies in the bandwidth control when using TSO. This patch allows the HTB scheduler to work with TSO enabled devices. Signed-off-by: Ranjit Manomohan Signed-off-by: David S. Miller commit c6c6e3e05c0b4349824efcdd36650e7be9d5c7c3 Author: Herbert Xu Date: Tue Jul 10 22:41:55 2007 -0700 [NET]: Update comments for skb checksums Rusty (whose comments we should all study and emulate :) pointed out that our comments for skb checksums are no longer up-to-date. So here is a patch to 1) add the case of partial checksums on input; 2) update partial checksum case to mention csum_start/csum_offset; 3) mention the new IPv6 feature bit. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 5b7f990927fe87ad3bec762a33c0e72bcbf6841e Author: Marcel Holtmann Date: Wed Jul 11 09:51:55 2007 +0200 [Bluetooth] Add basics to better support and handle eSCO links To better support and handle eSCO links in the future a bunch of constants needs to be added and some basic routines need to be updated. This is the initial step. Signed-off-by: Marcel Holtmann commit c60ce623bd16137627009d05e311d877729f2ad6 Author: Dave Airlie Date: Wed Jul 11 15:27:12 2007 +1000 drm: remove a bunch of typedefs on the userspace interface This moves a bunch of typedefs into a !defined __KERNEL__ to keep userspace API compatiblity, it changes all internal usages to structs/enum/unions. Signed-off-by: Dave Airlie commit cfbba49d80be6cf8d3872b66fc5421f119843b36 Author: Patrick McHardy Date: Mon Jul 9 15:33:40 2007 -0700 [NET]: Avoid copying writable clones in tunnel drivers Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4839c52b01ca91be1c62761e08fb3deb3881e857 Author: Philippe De Muyter Date: Mon Jul 9 15:32:57 2007 -0700 [IPV4]: Make ip_tos2prio const. Signed-off-by: Philippe De Muyter Signed-off-by: David S. Miller commit 6b25d30bf112370a12d05c3c0fd43732985dab01 Author: Patrick McHardy Date: Mon Jul 9 15:30:19 2007 -0700 [NET]: Fix gen_estimator timer removal race As noticed by Jarek Poplawski , the timer removal in gen_kill_estimator races with the timer function rearming the timer. Check whether the timer list is empty before rearming the timer in the timer function to fix this. Signed-off-by: Patrick McHardy Acked-by: Jarek Poplawski Signed-off-by: David S. Miller commit 1498b3f1952ae539a7d5c356acf942d5f4c1aece Author: Satyam Sharma Date: Mon Jul 9 15:22:23 2007 -0700 [NETPOLL]: Fix a leak-n-bug in netpoll_cleanup() 93ec2c723e3f8a216dde2899aeb85c648672bc6b applied excessive duct tape to the netpoll beast's netpoll_cleanup(), thus substituting one leak with another, and opening up a little buglet :-) net_device->npinfo (netpoll_info) is a shared and refcounted object and cannot simply be set NULL the first time netpoll_cleanup() is called. Otherwise, further netpoll_cleanup()'s see np->dev->npinfo == NULL and become no-ops, thus leaking. And it's a bug too: the first call to netpoll_cleanup() would thus (annoyingly) "disable" other (still alive) netpolls too. Maybe nobody noticed this because netconsole (only user of netpoll) never supported multiple netpoll objects earlier. This is a trivial and obvious one-line fixlet. Signed-off-by: Satyam Sharma Signed-off-by: David S. Miller commit 5f1de3ec661e7b08348f565b7ca17586e7e94fc5 Author: Robert P. J. Day Date: Mon Jul 9 13:20:54 2007 -0700 [RXRPC]: Remove Makefile reference to obsolete RXRPC config variable Since there is no Kconfig variable RXRPC anywhere in the tree, and the variable AF_RXRPC performs exactly the same function, remove the reference to CONFIG_RXRPC from net/Makefile. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 0236e667e188af0336cd776e5b54c1f3fd19a03c Author: Dan Aloni Date: Mon Jul 9 13:20:12 2007 -0700 [NETFILTER] net/ipv4/netfilter/ip_tables.c: lower printk severity Signed-off-by: Dan Aloni Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 4fda25a2cd7a18e0ef9f29ba3dd6f6cd9b7ca43f Author: Adrian Bunk Date: Mon Jul 9 13:18:57 2007 -0700 [DCCP]: Make struct dccp_li_cachep static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit aa4291108f434a183207e645379414270118dccb Author: Matthias Kaehlcke Date: Mon Jul 9 13:18:12 2007 -0700 [IRDA]: use mutex instead of semaphore in VLSI 82C147 IrDA controller driver The VLSI 82C147 IrDA controller driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 6f11df8355e8f59f7572bf6ac1f63d692483b0c6 Author: Andrew Morton Date: Mon Jul 9 13:16:00 2007 -0700 [NET]: "wrong timeout value in sk_wait_data()": cleanups - save 4 bytes - it's read-mostly. Signed-off-by: Andrew Morton Acked-by: Vasily Averin Signed-off-by: David S. Miller commit 60f0438a87cfd9f5faa439ca419497cd64e4c59e Author: Pavel Emelianov Date: Mon Jul 9 13:15:14 2007 -0700 [NET]: Make some network-related proc files use seq_list_xxx helpers This includes /proc/net/protocols, /proc/net/rxrpc_calls and /proc/net/rxrpc_connections files. All three need seq_list_start_head to show some header. Signed-off-by: Pavel Emelianov Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 9af97186fcc9a1d9bbf195eb4bc2399d0dd66223 Author: Pavel Emelianov Date: Mon Jul 9 13:12:24 2007 -0700 [ATM] br2684: Use seq_list_xxx helpers The .show callback receives the list_head pointer now, not the struct br2684_dev one. Signed-off-by: Pavel Emelianov Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 1c8c7d64169dc4b1ae3d8cd1bf35ea0a099b50ad Author: Stephen Hemminger Date: Sat Jul 7 23:03:44 2007 -0700 [NET]: netdevice mtu assumptions documentation Document the expectations about device MTU handling. The documentation about oversize packet handling is probably too loose. IMHO devices should drop oversize packets for robustness, but many devices allow it now. For example, if you set mtu to 1200 bytes, most ether devices will allow a 1500 byte frame in. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 1722933323b70f44b0548131604f1f3454c2aa8f Author: Stephen Hemminger Date: Sat Jul 7 22:59:14 2007 -0700 [NET]: netdevice locking assumptions documentation Update the documentation about locking assumptions. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 963bd949b12158d9b5380b718b31c4b33372ed73 Author: Ilpo Järvinen Date: Sat Jul 7 22:54:56 2007 -0700 [BNX2]: Seems to not need net/tcp.h Got bored to always recompile it for no reason. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 3a334b34b62d94be0275e5c76fa153cf7fd42770 Author: Michael Chan Date: Sat Jul 7 22:52:37 2007 -0700 [BNX2]: Update version to 1.6.2. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 58fc2ea4057511f84deaa182b1a3612327ecbf2d Author: Michael Chan Date: Sat Jul 7 22:52:02 2007 -0700 [BNX2]: Print management firmware version. Add management firmware version for ethtool -i. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit df149d70e1f34ec4995c8a703dbde38071ff4a05 Author: Michael Chan Date: Sat Jul 7 22:51:36 2007 -0700 [BNX2]: Enhance the heartbeat. In addition to the periodic heartbeat, we're adding a heartbeat request interrupt when the heartbeat is late. This is needed during netpoll where the timer is not available. -rt kernels will also benefit since the timer is not as accurate. [ We discussed this patch last time and we decided that the -rt kernel problem alone did not justify this patch. I think the netpoll problem makes this patch necessary. ] Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit b8a7ce7bedb2134acb731e08e588ad92087a40ff Author: Michael Chan Date: Sat Jul 7 22:51:03 2007 -0700 [BNX2]: Reduce spurious INTA interrupts. Spurious interrupts are often encountered especially on systems using the 8259 PIC mode. This is because the I/O write to deassert the interrupt is posted and won't get to the chip immediately. As a result, the IRQ may remain asserted after the IRQ handler exits, causing spurious interrupts. Add read back to flush the I/O write to deassert the IRQ immediately. We also store the last_status_idx immediately in the IRQ handler to help detect whether the interrupt is ours or not when the IRQ is entered again before ->poll gets called. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9b1084b8f99a6b5e97c0c9bc1b4455db4fa51a07 Author: Michael Chan Date: Sat Jul 7 22:50:37 2007 -0700 [BNX2]: Modify link up message. Modify the link up dmesg to report remote copper or Serdes link. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 7b6b83474cb9bdd07dadfb7497a29c3005ad9d1d Author: Michael Chan Date: Sat Jul 7 22:50:15 2007 -0700 [BNX2]: Add ethtool support for remote PHY. Modify the driver's ethtool_ops->get_settings and set_settings functions to support remote PHY. Users control the remote copper PHY settings by specifying link settings for the tp (twisted pair) port. The nway_reset function is also modified to support remote PHY. mii-tool operations are not supported on remote PHY and we will return -EOPNOTSUPP. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 0d8a6571051d23c214d7a316976138a6fd8bda1c Author: Michael Chan Date: Sat Jul 7 22:49:43 2007 -0700 [BNX2]: Add support for remote PHY. In blade servers, the Serdes PHY in 5708S can control the remote copper PHY through autonegotiation on the backplane. This patch adds the logic to interface with the firmware to control the remote PHY autonegotiation and to handle remote PHY link events. When remote PHY is present, the 5708S Serdes device practically becomes a copper device with full control over the 1000Base-T link settings. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9700e6befea505b03b6e625536a9a106811e9a14 Author: Michael Chan Date: Sat Jul 7 22:48:31 2007 -0700 [BNX2]: Add remote PHY bit definitions. Add new fields in struct bnx2 and other bit definitions in shared memory to support remote PHY. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit deaf391b4cc9d9f8e2b2793ebd56da776b54197a Author: Michael Chan Date: Sat Jul 7 22:48:00 2007 -0700 [BNX2]: Add bnx2_set_default_link(). Put existing code to setup the default link settings in this new function. This makes it easier to support the remote PHY feature in the next few patches. Also change ETHTOOL_ALL_FIBRE_SPEED to include 2500Mbps if supported. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 5faf41535214b68c989a22302c8870f8758cbb8c Author: Balazs Scheidler Date: Sat Jul 7 22:41:01 2007 -0700 [NETFILTER]: x_tables: add more detail to error message about match/target mask mismatch Signed-off-by: Balazs Scheidler Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 585426fdc5b4cccaacf0afc8cf821ff763750ae8 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:40:26 2007 -0700 [NETFILTER]: nf_queue: Use RCU and mutex for queue handlers Queue handlers are registered/unregistered in only process context. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ce7663d84a87bb4e1743f62950bf7dceed723a13 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:40:08 2007 -0700 [NETFILTER]: nfnetlink_queue: don't unregister handler of other subsystem The queue handlers registered by ip[6]_queue.ko at initialization should not be unregistered according to requests from userland program using nfnetlink_queue. If we allow that, there is no way to register the handlers of built-in ip[6]_queue again. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0d53778e81ac7af266dac8a20cc328328c327112 Author: Patrick McHardy Date: Sat Jul 7 22:39:38 2007 -0700 [NETFILTER]: Convert DEBUGP to pr_debug Convert DEBUGP to pr_debug and fix lots of non-compiling debug statements. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 342b7e3c8a3c84252799c4ac4d9a604b8903d2b4 Author: Patrick McHardy Date: Sat Jul 7 22:39:16 2007 -0700 [NETFILTER]: xt_helper: use RCU The ->helper pointer is protected by RCU, no need to take nf_conntrack_lock. Also remove excessive debugging. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 91e8db80065d655ce1b6d74cadc921671e8d5285 Author: Patrick McHardy Date: Sat Jul 7 22:38:54 2007 -0700 [NETFILTER]: nf_conntrack_h323: turn some printks into DEBUGPs Don't spam the ringbuffer with decoding errors. The only printks remaining are for dropped packets when we're certain they are H.323. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d3c3f4243e135b3d8c41d98be0cb2f54a4141abf Author: Patrick McHardy Date: Sat Jul 7 22:38:30 2007 -0700 [NETFILTER]: ipt_CLUSTERIP: add compat code Adjust structure size and don't expect pointers passed in from userspace to be valid. Also replace an enum in an ABI structure by a fixed size type. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3569b621ceba0a9cfb80e24c0bd19fd632ccee25 Author: Patrick McHardy Date: Sat Jul 7 22:38:07 2007 -0700 [NETFILTER]: ipt_SAME: add to feature-removal-schedule Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7ae7730fd6d98be1afe8ad9ea77813de607ec970 Author: Patrick McHardy Date: Sat Jul 7 22:37:38 2007 -0700 [NETFILTER]: nf_conntrack: early_drop improvement When the maximum number of conntrack entries is reached and a new one needs to be allocated, conntrack tries to drop an unassured connection from the same hash bucket the new conntrack would hash to. Since with a properly sized hash the average number of entries per bucket is 1, the chances of actually finding one are not very good. This patch makes it walk the hash until a minimum number of 8 entries are checked. Based on patch by Vasily Averin . Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ec59a1110aee6846adada8979915cacae64042ce Author: Patrick McHardy Date: Sat Jul 7 22:37:03 2007 -0700 [NETFILTER]: nf_conntrack: mark helpers __read_mostly Most are __read_mostly already, this changes the remaining ones. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b8a7fe6c10511fce10b20efa163123f4041f2550 Author: Patrick McHardy Date: Sat Jul 7 22:36:46 2007 -0700 [NETFILTER]: nf_conntrack_helper: use hashtable for conntrack helpers Eliminate the last global list searched for every new connection. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f264a7df08d50bb4a23be6a9aa06940e497ac1c4 Author: Patrick McHardy Date: Sat Jul 7 22:36:24 2007 -0700 [NETFILTER]: nf_conntrack_expect: introduce nf_conntrack_expect_max sysct As a last step of preventing DoS by creating lots of expectations, this patch introduces a global maximum and a sysctl to control it. The default is initialized to 4 * the expectation hash table size, which results in 1/64 of the default maxmimum of conntracks. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b560580a13b180bc1e3cad7ffbc93388cc39be5d Author: Patrick McHardy Date: Sat Jul 7 22:35:56 2007 -0700 [NETFILTER]: nf_conntrack_expect: maintain per conntrack expectation list This patch brings back the per-conntrack expectation list that was removed around 2.6.10 to avoid walking all expectations on expectation eviction and conntrack destruction. As these were the last users of the global expectation list, this patch also kills that. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 31f15875c5ad98a13b528aaf19c839e22b43dc9a Author: Patrick McHardy Date: Sat Jul 7 22:35:21 2007 -0700 [NETFILTER]: nf_conntrack_helper/nf_conntrack_netlink: convert to expectation hash Convert from the global expectation list to the hash table. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5d08ad440feae11b8d6e7599147a8a20ac60f99a Author: Patrick McHardy Date: Sat Jul 7 22:34:07 2007 -0700 [NETFILTER]: nf_conntrack_expect: convert proc functions to hash Convert from the global expectation list to the hash table. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a71c085562bcc99e8b711cab4222bff1f6e955da Author: Patrick McHardy Date: Sat Jul 7 22:33:47 2007 -0700 [NETFILTER]: nf_conntrack: use hashtable for expectations Currently all expectations are kept on a global list that - needs to be searched for every new conncetion - needs to be walked for evicting expectations when a master connection has reached its limit - needs to be walked on connection destruction for connections that have open expectations This is obviously not good, especially when considering helpers like H.323 that register *lots* of expectations and can set up permanent expectations, but it also allows for an easy DoS against firewalls using connection tracking helpers. Use a hashtable for expectations to avoid incurring the search overhead for every new connection. The default hash size is 1/256 of the conntrack hash table size, this can be overriden using a module parameter. This patch only introduces the hash table for expectation lookups and keeps other users to reduce the noise, the following patches will get rid of it completely. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e9c1b084e17ca225b6be731b819308ee0f9e04b8 Author: Patrick McHardy Date: Sat Jul 7 22:32:53 2007 -0700 [NETFILTER]: nf_conntrack: move expectaton related init code to nf_conntrack_expect.c Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit cf6994c2b9812a9f02b99e89df411ffc5db9c779 Author: Patrick McHardy Date: Sat Jul 7 22:32:34 2007 -0700 [NETFILTER]: nf_conntrack_netlink: sync expectation dumping with conntrack table dumping Resync expectation table dumping code with conntrack dumping: don't rely on the unique ID anymore since that requires to walk the list backwards, which doesn't work with the upcoming conversion to hlists. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4e1d4e6c5a448bd114e0cef6311c974cb7c7385e Author: Patrick McHardy Date: Sat Jul 7 22:32:03 2007 -0700 [NETFILTER]: nf_conntrack_expect: avoid useless list walking Don't walk the list when unexpecting an expectation, we already have a reference and the timer check is enough to guarantee that it still is on the list. This comment suggests that it was copied there by mistake from expectation eviction: /* choose the oldest expectation to evict */ Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d4156e8cd93f5772483928aaf4960120caebd789 Author: Patrick McHardy Date: Sat Jul 7 22:31:32 2007 -0700 [NETFILTER]: nf_conntrack: reduce masks to a subset of tuples Since conntrack currently allows to use masks for every bit of both helper and expectation tuples, we can't hash them and have to keep them on two global lists that are searched for every new connection. This patch removes the never used ability to use masks for the destination part of the expectation tuple and completely removes masks from helpers since the only reasonable choice is a full match on l3num, protonum and src.u.all. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit df43b4e7ca46952756b2fc039ed80469b1bff62d Author: Patrick McHardy Date: Sat Jul 7 22:31:07 2007 -0700 [NETFILTER]: nf_conntrack_ftp: use nf_ct_expect_init Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6823645d608541c2c69e8a99454936e058c294e0 Author: Patrick McHardy Date: Sat Jul 7 22:30:49 2007 -0700 [NETFILTER]: nf_conntrack_expect: function naming unification Currently there is a wild mix of nf_conntrack_expect_, nf_ct_exp_, expect_, exp_, ... Consistently use nf_ct_ as prefix for exported functions. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 53aba5979e1d964c0234816eda2316f1c2e7946d Author: Patrick McHardy Date: Sat Jul 7 22:30:27 2007 -0700 [NETFILTER]: nf_nat: use hlists for bysource hash Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ac565e5fc104fe1842a87f2206fcfb7b6dda903d Author: Patrick McHardy Date: Sat Jul 7 22:30:08 2007 -0700 [NETFILTER]: nf_conntrack: export hash allocation/destruction functions Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 330f7db5e578e1e298ba3a41748e5ea333a64a2b Author: Patrick McHardy Date: Sat Jul 7 22:28:42 2007 -0700 [NETFILTER]: nf_conntrack: remove 'ignore_conntrack' argument from nf_conntrack_find_get All callers pass NULL, this also doesn't seem very useful for modules. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f205c5e0c28aa7e0fb6eaaa66e97928f9d9e6994 Author: Patrick McHardy Date: Sat Jul 7 22:28:14 2007 -0700 [NETFILTER]: nf_conntrack: use hlists for conntrack hash Convert conntrack hash to hlists to reduce its size and cache footprint. Since the default hashsize to max. entries ratio sucks (1:16), this patch doesn't reduce the amount of memory used for the hash by default, but instead uses a better ratio of 1:8, which results in the same max. entries value. One thing worth noting is early_drop. It really should use LRU, so it now has to iterate over the entire chain to find the last unconfirmed entry. Since chains shouldn't be very long and the entire operation is very rare this shouldn't be a problem. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8e5105a0c36a059dfd0f0bb9e73ee7c97d306247 Author: Patrick McHardy Date: Sat Jul 7 22:27:33 2007 -0700 [NETFILTER]: nf_conntrack: round up hashsize to next multiple of PAGE_SIZE Don't let the rest of the page go to waste. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 61eb3107cd8e0302f95aae26206e552365daf290 Author: Patrick McHardy Date: Sat Jul 7 22:27:06 2007 -0700 [NETFILTER]: nf_conntrack_extend: use __read_mostly for struct nf_ct_ext_type Also make them static. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b6b84d4a94e95727a4c65841eea23ac60c6aa329 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:26:35 2007 -0700 [NETFILTER]: nf_nat: merge nf_conn and nf_nat_info Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d8a0509a696de60296a66ba4fe4f9eaade497103 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:26:16 2007 -0700 [NETFILTER]: nf_nat: kill global 'destroy' operation This kills the global 'destroy' operation which was used by NAT. Instead it uses the extension infrastructure so that multiple extensions can register own operations. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit dacd2a1a5cf621288833aa3c6e815b86a1536538 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:25:51 2007 -0700 [NETFILTER]: nf_conntrack: remove old memory allocator of conntrack Now memory space for help and NAT are allocated by extension infrastructure. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ff09b7493c8f433d3ffd6a31ad58d190f82ef0c5 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:25:28 2007 -0700 [NETFILTER]: nf_nat: remove unused nf_nat_module_is_loaded Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2d59e5ca8c7113ad91452f0f9259a4b55ee90323 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:24:28 2007 -0700 [NETFILTER]: nf_nat: use extension infrastructure Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e54cbc1f91dea4f98b6209e693d3b5eae46321bd Author: Yasuyuki Kozakai Date: Sat Jul 7 22:24:04 2007 -0700 [NETFILTER]: nf_nat: add reference to conntrack from entry of bysource list I will split 'struct nf_nat_info' out from conntrack. So I cannot use 'offsetof' to get the pointer to conntrack from it. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ceceae1b1555a9afcb8dacf90df5fa1f20fd5466 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:23:42 2007 -0700 [NETFILTER]: nf_conntrack: use extension infrastructure for helper Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ecfab2c9fe5597221c2b30dec48634a2361a0d08 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:23:21 2007 -0700 [NETFILTER]: nf_conntrack: introduce extension infrastructure Old space allocator of conntrack had problems about extensibility. - It required slab cache per combination of extensions. - It expected what extensions would be assigned, but it was impossible to expect that completely, then we allocated bigger memory object than really required. - It needed to search helper twice due to lock issue. Now basic informations of a connection are stored in 'struct nf_conn'. And a storage for extension (helper, NAT) is allocated by kmalloc. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4ba887790ce2015e8c464809c0be902fb813ad15 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:22:33 2007 -0700 [NETFILTER]: nf_nat: move NAT declarations from nf_conntrack_ipv4.h to nf_nat.h Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9f15c5302de4e8b0aac7ca24c36bf26a7fe1a513 Author: Patrick McHardy Date: Sat Jul 7 22:22:02 2007 -0700 [NETFILTER]: x_tables: mark matches and targets __read_mostly Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ba9dda3ab5a865542e69dfe01edb2436857c9420 Author: Jozsef Kadlecsik Date: Sat Jul 7 22:21:23 2007 -0700 [NETFILTER]: x_tables: add TRACE target The TRACE target can be used to follow IP and IPv6 packets through the ruleset. Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick NcHardy Signed-off-by: David S. Miller commit 1b50b8a371e90a5e110f466e4ac02cf6b5f681de Author: Jan Engelhardt Date: Sat Jul 7 22:20:36 2007 -0700 [NETFILTER]: Add u32 match Along comes... xt_u32, a revamped ipt_u32 from POM-NG, Plus: * 2007-06-02: added ipv6 support * 2007-06-05: uses kmalloc for the big buffer * 2007-06-05: added inversion * 2007-06-20: use skb_copy_bits() and get rid of the big buffer and lock (suggested by Pablo Neira Ayuso) Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f4a607bfae30d15aad46e75d2ed7a39f7ce7708b Author: Jerome Borsboom Date: Sat Jul 7 22:19:48 2007 -0700 [NETFILTER]: nf_nat_sip: only perform RTP DNAT if SIP session was SNATed DNAT of the the RTP session is only necessary if the SIP session has been SNATed. Signed-off-by: Jerome Borsboom Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7c4e36bc172ae1accde835b880fdc4a2c2a3df57 Author: Jan Engelhardt Date: Sat Jul 7 22:19:08 2007 -0700 [NETFILTER]: Remove redundant parentheses/braces Removes redundant parentheses and braces (And add one pair in a xt_tcpudp.c macro). Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 170b197c0afc621179f0f82284e331e3c252b7cf Author: Jan Engelhardt Date: Sat Jul 7 22:17:36 2007 -0700 [NETFILTER]: Remove incorrect inline markers device_cmp: the function's address is taken (call to nf_ct_iterate_cleanup) alloc_null_binding: referenced externally Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a47362a226456d8db8207e618324a2278d05d3a7 Author: Jan Engelhardt Date: Sat Jul 7 22:16:55 2007 -0700 [NETFILTER]: add some consts, remove some casts Make a number of variables const and/or remove unneeded casts. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e1931b784a8de324abf310fa3b5e3f25d3988233 Author: Jan Engelhardt Date: Sat Jul 7 22:16:26 2007 -0700 [NETFILTER]: x_tables: switch xt_target->checkentry to bool Switch the return type of target checkentry functions to boolean. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ccb79bdce71f2c04cfa9bfcbaf4d37e2f963d684 Author: Jan Engelhardt Date: Sat Jul 7 22:16:00 2007 -0700 [NETFILTER]: x_tables: switch xt_match->checkentry to bool Switch the return type of match functions to boolean Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1d93a9cbad608f6398ba6c5b588c504ccd35a2ca Author: Jan Engelhardt Date: Sat Jul 7 22:15:35 2007 -0700 [NETFILTER]: x_tables: switch xt_match->match to bool Switch the return type of match functions to boolean Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit cff533ac12494fa002e2c46acc94d670e5f636a2 Author: Jan Engelhardt Date: Sat Jul 7 22:15:12 2007 -0700 [NETFILTER]: x_tables: switch hotdrop to bool Switch the "hotdrop" variables to boolean Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7bfe24611671ec76b44281e582b38535e21f01a9 Author: Yasuyuki Kozakai Date: Sat Jul 7 22:14:23 2007 -0700 [NETFILTER]: ip6_tables: fix explanation of valid upper protocol number This explains the allowed upper protocol numbers. IP6T_F_NOPROTO was introduced to use 0 as Hop-by-Hop option header, not wildcard. But that seemed to be forgotten. 0 has been used as wildcard since 2002-08-23. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 558585aad0c0ef83d3d14a1c7576b1e404ca1fbc Author: Jing Min Zhao Date: Sat Jul 7 22:13:17 2007 -0700 [NETFILTER]: nf_conntrack_h323: check range first in sequence extension Check range before checking STOP flag. This optimization may save a nanosecond or less :) Signed-off-by: Jing Min Zhao Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 067b207b281db5e3f03f8d244286c20f61aa2343 Author: James Chapman Date: Thu Jul 5 17:08:05 2007 -0700 [UDP]: Cleanup UDP encapsulation code This cleanup fell out after adding L2TP support where a new encap_rcv funcptr was added to struct udp_sock. Have XFRM use the new encap_rcv funcptr, which allows us to move the XFRM encap code from udp.c into xfrm4_input.c. Make xfrm4_rcv_encap() static since it is no longer called externally. Signed-off-by: James Chapman Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit 93cce3d3657bfb5d04789afcd5104f8c48700f32 Author: G. Liakhovetski Date: Mon Jul 2 22:56:57 2007 -0700 [IrDA]: tsap init routine factorisation. This patch extracts common code from irttp_open_tsap() and irttp_dup() into a new function to 1) avoid code duplication, 2) help avoid forgetting object initialization in the tsap duplication path in the future. Signed-off-by: G. Liakhovetski Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 66f5e51ed5a300291b34bf3e2b1e22ac28ca3631 Author: Samuel Ortiz Date: Mon Jul 2 22:56:15 2007 -0700 [IrDA]: kingsun-sir.c charset fix. Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 411725280bd0058ebb83c0e32133b7a94902c3a6 Author: Samuel Ortiz Date: Mon Jul 2 22:55:31 2007 -0700 [IrDA]: Monitor mode. Through the IrDA netlink set mode command, we switch to IrDA monitor mode, where one IrLAP instance receives all the packets on the media, without ever responding to them. Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 89da1ecf5483e6aa29b456a15ad6d05a6797c5a5 Author: Samuel Ortiz Date: Mon Jul 2 22:54:18 2007 -0700 [IrDA]: Netlink layer. First IrDA configuration netlink layer implementation. Currently, we only support the set/get mode commands. Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 8c644623fe7e41f59fe97cdf666cba3cb7ced7d8 Author: Guido Guenther Date: Mon Jul 2 22:50:25 2007 -0700 [NET]: Allow group ownership of TUN/TAP devices. Introduce a new syscall TUNSETGROUP for group ownership setting of tap devices. The user now is allowed to send packages if either his euid or his egid matches the one specified via tunctl (via -u or -g respecitvely). If both, gid and uid, are set via tunctl, both have to match. Signed-off-by: Guido Guenther Signed-off-by: Jeff Dike Signed-off-by: David S. Miller commit 0ba48053831d5b89ee2afaefaae1c06eae80cb05 Author: Patrick McHardy Date: Mon Jul 2 22:49:07 2007 -0700 [NET_SCHED]: Remove unnecessary includes Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ee39e10c27ca5293c72addb95bff864095e19904 Author: Patrick McHardy Date: Mon Jul 2 22:48:13 2007 -0700 [NET_SCHED]: sch_htb: use generic estimator Use the generic estimator instead of reimplementing (parts of) it. For compatibility always create a default estimator for new classes. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4bdf39911e7a887c4499161422423cbaf16684e8 Author: Patrick McHardy Date: Mon Jul 2 22:47:37 2007 -0700 [NET_SCHED]: Remove unnecessary stats_lock pointers Remove stats_lock pointers from qdisc-internal structures, in all cases it points to dev->queue_lock. The only case where it is necessary is for top-level qdiscs, where it might also point to dev->ingress_lock in case of the ingress qdisc. Also remove it from actions completely, it always points to the actions internal lock. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 876d48aabf30e4981653f1a0a7ae1e262b8c8b6f Author: Patrick McHardy Date: Mon Jul 2 22:46:07 2007 -0700 [NET_SCHED]: Remove CONFIG_NET_ESTIMATOR option The generic estimator is always built in anways and all the config options does is prevent including a minimal amount of code for setting it up. Additionally the option is already automatically selected for most cases. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a553e4a6317b2cfc7659542c10fe43184ffe53da Author: Jamal Hadi Salim Date: Mon Jul 2 22:41:59 2007 -0700 [PKTGEN]: IPSEC support Added transport mode ESP support for starters. I will send more of these modes and types once i have resolved the tunnel mode isses. Signed-off-by: Jamal Hadi Salim Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit 628529b6ee334fedc8d25ce56205bb99566572b9 Author: Jamal Hadi Salim Date: Mon Jul 2 22:41:14 2007 -0700 [XFRM] Introduce standalone SAD lookup This allows other in-kernel functions to do SAD lookups. The only known user at the moment is pktgen. Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 007a531b0a0c902392a3deff730acd28ce6625c7 Author: Jamal Hadi Salim Date: Mon Jul 2 22:40:36 2007 -0700 [PKTGEN]: Introduce sequential flows By default all flows in pktgen are randomly selected. This patch introduces ability to have all defined flows to be sent sequentially. Robert defined randomness to be the default behavior. Signed-off-by: Jamal Hadi Salim Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit 16dab72f65a6aab0aa72866e00c91b58a2794082 Author: Jamal Hadi Salim Date: Mon Jul 2 22:39:50 2007 -0700 [PKTGEN]: Centralize packet overhead tracking Track the extra packet overhead for VLAN tags, MPLS, IPSEC etc Signed-off-by: Jamal Hadi Salim Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit eef6caf8a916f32f8d9b2a02d4fa7674736c00ac Author: Larry Finger Date: Mon Jul 2 22:36:38 2007 -0700 [MAC80211]: Set low initial rate in rc80211_simple The initial rate for STA's using rc80211_simple is set to the last rate in the rate table. For situations for which the signal is weak, the rate may be too high for authentication and association. Although the rc80211_simple module will adjust the speed, the response may not be fast enough for a successful connection. This modification sets the initial rate to the lowest supported value. Signed-off-by: Larry Finger Signed-off-by: Johannes Berg Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit d0410051164bbbc597e15f068b53c06a954ae0d4 Author: Ilpo Järvinen Date: Mon Jul 2 22:07:22 2007 -0700 [TCP]: SACK fastpath did override adjusted fackets_out Do same adjustment to SACK fastpath counters provided that they're valid. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 61cbc2fca6335be52788773b21efdc52a2750924 Author: Patrick McHardy Date: Sat Jun 30 13:35:52 2007 -0700 [NET]: Fix secondary unicast/multicast address count maintenance When a reference to an existing address is increased or decreased without hitting zero, the address count is incorrectly adjusted. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d62733c8e437fdb58325617c4b3331769ba82d70 Author: Peter P Waskiewicz Jr Date: Thu Jun 28 21:04:31 2007 -0700 [SCHED]: Qdisc changes and sch_rr added for multiqueue Add the new sch_rr qdisc for multiqueue network device support. Allow sch_prio and sch_rr to be compiled with or without multiqueue hardware support. sch_rr is part of sch_prio, and is referenced from MODULE_ALIAS. This was done since sch_prio and sch_rr only differ in their dequeue routine. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f25f4e44808f0f6c9875d94ef1c41ef86c288eb2 Author: Peter P Waskiewicz Jr Date: Fri Jul 6 13:36:20 2007 -0700 [CORE] Stack changes to add multiqueue hardware support API Add the multiqueue hardware device support API to the core network stack. Allow drivers to allocate multiple queues and manage them at the netdev level if they choose to do so. Added a new field to sk_buff, namely queue_mapping, for drivers to know which tx_ring to select based on OS classification of the flow. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a093bf006e09a305e95ff0938c0a18b7520aef67 Author: Peter P Waskiewicz Jr Date: Thu Jun 28 20:45:47 2007 -0700 [NET]: [DOC] Multiqueue hardware support documentation Add a brief howto to Documentation/networking for multiqueue. It explains how to use the multiqueue API in a driver to support multiqueue paths from the stack, as well as the qdiscs to use for feeding a multiqueue device. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: David S. Miller commit a298830cd026b4c0cde45ef3679a5f68a17577e6 Author: Herbert Xu Date: Thu Jun 28 13:44:37 2007 -0700 [NET]: Fix TX checksum feature check This patch fixes a boolean error in the new TX checksum check that causes bogus TSO packets to be generated. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 58e50a904ec78caf4ca938801c031413b0d3f962 Author: James Chapman Date: Wed Jun 27 15:53:49 2007 -0700 [L2TP]: Add PPPoL2TP in-kernel documentation Signed-off-by: James Chapman Signed-off-by: David S. Miller commit a6d2370b0839c228ae4e680e75263ecf0a73e251 Author: James Chapman Date: Wed Jun 27 15:53:17 2007 -0700 [L2TP]: Add PPPoL2TP maintainer Signed-off-by: James Chapman Signed-off-by: David S. Miller commit 38d15b656258b52a659fcf3e181f85b51bd1851f Author: David S. Miller Date: Wed Jun 27 15:52:25 2007 -0700 [PPPOL2TP]: Use proper printf format specifier for size_t. Signed-off-by: David S. Miller commit 3557baabf28088f49bdf72a048fd33ab62e205b1 Author: James Chapman Date: Wed Jun 27 15:49:24 2007 -0700 [L2TP]: PPP over L2TP driver core This driver handles only L2TP data frames; control frames are handled by a userspace application. It implements L2TP using the PPPoX socket family. There is a PPPoX socket for each L2TP session in an L2TP tunnel. PPP data within each session is passed through the kernel's PPP subsystem via this driver. Kernel parameters of each socket can be read or modified using ioctl() or [gs]etsockopt() calls. Signed-off-by: James Chapman Signed-off-by: David S. Miller commit cf14a4d06742d59ecb2d837a3f53bb24d1ff9acb Author: James Chapman Date: Wed Jun 27 15:43:43 2007 -0700 [L2TP]: Changes to existing ppp and socket kernel headers for L2TP Add struct sockaddr_pppol2tp to carry L2TP-specific address information for the PPPoX (PPPoL2TP) socket. Unfortunately we can't use the union inside struct sockaddr_pppox because the L2TP-specific data is larger than the current size of the union and we must preserve the size of struct sockaddr_pppox for binary compatibility. Also add a PPPIOCGL2TPSTATS ioctl to allow userspace to obtain L2TP counters and state from the kernel. Add new if_pppol2tp.h header. [ Modified to use aligned_u64 in statistics structure -DaveM ] Signed-off-by: James Chapman Signed-off-by: David S. Miller commit 342f0234c71b40da785dd6a7ce1dd481ecbfdb81 Author: James Chapman Date: Wed Jun 27 15:37:46 2007 -0700 [UDP]: Introduce UDP encapsulation type for L2TP This patch adds a new UDP_ENCAP_L2TPINUDP encapsulation type for UDP sockets. When a UDP socket's encap_type is UDP_ENCAP_L2TPINUDP, the skb is delivered to a function pointed to by the udp_sock's encap_rcv funcptr. If the skb isn't wanted by L2TP, it returns >0, which causes it to be passed through to UDP. Include padding to put the new encap_rcv field on a 4-byte boundary. Previously, the only user of UDP encap sockets was ESP, so when CONFIG_XFRM was not defined, some of the encap code was compiled out. This patch changes that. As a result, udp_encap_rcv() will now do a little more work when CONFIG_XFRM is not defined. Signed-off-by: James Chapman Signed-off-by: David S. Miller commit 4417da668c0021903464f92db278ddae348e0299 Author: Patrick McHardy Date: Wed Jun 27 01:28:10 2007 -0700 [NET]: dev: secondary unicast address support Add support for configuring secondary unicast addresses on network devices. To support this devices capable of filtering multiple unicast addresses need to change their set_multicast_list function to configure unicast filters as well and assign it to dev->set_rx_mode instead of dev->set_multicast_list. Other devices are put into promiscous mode when secondary unicast addresses are present. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3fba5a8b1e3df2384b90493538161e83cf15dd5f Author: Patrick McHardy Date: Wed Jun 27 01:26:58 2007 -0700 [NET]: dev_mcast: switch to generic net_device address lists Use generic net_device address lists for multicast list handling. Some defines are used to keep drivers working. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit bf742482d7a647c5c6f03f78eb35a862e159ecf5 Author: Patrick McHardy Date: Wed Jun 27 01:26:19 2007 -0700 [NET]: dev: introduce generic net_device address lists Introduce struct dev_addr_list and list maintenance functions based on dev_mc_list and the related functions. This will be used by follow-up patches for both multicast and secondary unicast addresses. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 75ebe8f73610636be8bbd8d73db883512850e6be Author: Patrick McHardy Date: Wed Jun 27 01:25:11 2007 -0700 [NET]: dev_mcast: unexport dev_mc_upload dev_mc_add/dev_mc_delete take care of uploading the list when necessary and thats the only interface other code should use. Also remove two incorrect calls in DECnet. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d212f87b068c9d72065ef579d85b5ee6b8b59381 Author: Stephen Hemminger Date: Wed Jun 27 00:47:37 2007 -0700 [NET]: IPV6 checksum offloading in network devices The existing model for checksum offload does not correctly handle devices that can offload IPV4 and IPV6 only. The NETIF_F_HW_CSUM flag implies device can do any arbitrary protocol. This patch: * adds NETIF_F_IPV6_CSUM for those devices * fixes bnx2 and tg3 devices that need it * add NETIF_F_IPV6_CSUM to ipv6 output (incl GSO) * fixes assumptions about NETIF_F_ALL_CSUM in nat * adjusts bridge union of checksumming computation Signed-off-by: David S. Miller commit d3d6dd3adaaad71eae20902ed81808a66a40a5b9 Author: Masahide NAKAMURA Date: Tue Jun 26 23:57:49 2007 -0700 [XFRM]: Add module alias for transformation type. It is clean-up for XFRM type modules and adds aliases with its protocol: ESP, AH, IPCOMP, IPIP and IPv6 for IPsec ROUTING and DSTOPTS for MIPv6 It is almost the same thing as XFRM mode alias, but it is added new defines XFRM_PROTO_XXX for preprocessing since some protocols are defined as enum. Signed-off-by: Masahide NAKAMURA Acked-by: Ingo Oeser Signed-off-by: David S. Miller commit 59fbb3a61e02deaeaa4fb50792217921f3002d64 Author: Masahide NAKAMURA Date: Tue Jun 26 23:56:32 2007 -0700 [IPV6] MIP6: Loadable module support for MIPv6. This patch makes MIPv6 loadable module named "mip6". Here is a modprobe.conf(5) example to load it automatically when user application uses XFRM state for MIPv6: alias xfrm-type-10-43 mip6 alias xfrm-type-10-60 mip6 Some MIPv6 feature is not included by this modular, however, it should not be affected to other features like either IPsec or IPv6 with and without the patch. We may discuss XFRM, MH (RAW socket) and ancillary data/sockopt separately for future work. Loadable features: * MH receiving check (to send ICMP error back) * RO header parsing and building (i.e. RH2 and HAO in DSTOPTS) * XFRM policy/state database handling for RO These are NOT covered as loadable: * Home Address flags and its rule on source address selection * XFRM sub policy (depends on its own kernel option) * XFRM functions to receive RO as IPv6 extension header * MH sending/receiving through raw socket if user application opens it (since raw socket allows to do so) * RH2 sending as ancillary data * RH2 operation with setsockopt(2) Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit 136ebf08b46f839e2dc9db34322b654e5d9b9936 Author: Masahide NAKAMURA Date: Tue Jun 26 23:51:41 2007 -0700 [IPV6] MIP6: Kill unnecessary ifdefs. Kill unnecessary CONFIG_IPV6_MIP6. o It is redundant for RAW socket to keep MH out with the config then it can handle any protocol. o Clean-up at AH. Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit 2371baa4bdab3268b32009926f75e7a5d3a41506 Author: Patrick McHardy Date: Tue Jun 26 03:23:44 2007 -0700 [RTNETLINK]: Fix rtnetlink compat attribute patch Sent the wrong patch previously. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit afdc3238ec948531205f5c5f77d2de7bae519c71 Author: Patrick McHardy Date: Mon Jun 25 14:30:16 2007 -0700 [RTNETLINK]: Add nested compat attribute Add a nested compat attribute type that can be used to convert attributes that contain a structure to nested attributes in a backwards compatible way. The attribute looks like this: struct { [ compat contents ] struct rtattr { .rta_len = total size, .rta_type = type, } rta; struct old_structure struct; [ nested top-level attribute ] struct rtattr { .rta_len = nest size, .rta_type = type, } nest_attr; [ optional 0 .. n nested attributes ] struct rtattr { .rta_len = private attribute len, .rta_type = private attribute typ, } nested_attr; struct nested_data data; }; Since both userspace and kernel deal correctly with attributes that are larger than expected old versions will just parse the compat part and ignore the rest. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 1092cb219774a82b1f16781aec7b8d4ec727c981 Author: Patrick McHardy Date: Mon Jun 25 13:49:35 2007 -0700 [NETLINK]: attr: add nested compat attribute type Add a nested compat attribute type that can be used to convert attributes that contain a structure to nested attributes in a backwards compatible way. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 334a8132d9950f769f390f0f35c233d099688e7a Author: Patrick McHardy Date: Mon Jun 25 04:35:20 2007 -0700 [SKBUFF]: Keep track of writable header len of headerless clones Currently NAT (and others) that want to modify cloned skbs copy them, even if in the vast majority of cases its not necessary because the skb is a clone made by TCP and the portion NAT wants to modify is actually writable because TCP release the header reference before cloning. The problem is that there is no clean way for NAT to find out how long the writable header area is, so this patch introduces skb->hdr_len to hold this length. When a headerless skb is cloned skb->hdr_len is set to the current headroom, for regular clones it is copied from the original. A new function skb_clone_writable(skb, len) returns whether the skb is writable up to len bytes from skb->data. To avoid enlarging the skb the mac_len field is reduced to 16 bit and the new hdr_len field is put in the remaining 16 bit. I've done a few rough benchmarks of NAT (not with this exact patch, but a very similar one). As expected it saves huge amounts of system time in case of sendfile, bringing it down to basically the same amount as without NAT, with sendmsg it only helps on loopback, probably because of the large MTU. Transmit a 1GB file using sendfile/sendmsg over eth0/lo with and without NAT: - sendfile eth0, no NAT: sys 0m0.388s - sendfile eth0, NAT: sys 0m1.835s - sendfile eth0: NAT + path: sys 0m0.370s (~ -80%) - sendfile lo, no NAT: sys 0m0.258s - sendfile lo, NAT: sys 0m2.609s - sendfile lo, NAT + patch: sys 0m0.260s (~ -90%) - sendmsg eth0, no NAT: sys 0m2.508s - sendmsg eth0, NAT: sys 0m2.539s - sendmsg eth0, NAT + patch: sys 0m2.445s (no change) - sendmsg lo, no NAT: sys 0m2.151s - sendmsg lo, NAT: sys 0m3.557s - sendmsg lo, NAT + patch: sys 0m2.159s (~ -40%) I expect other users can see a similar performance improvement, packet mangling iptables targets, ipip and ip_gre come to mind .. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e50c41b53d7aa48152dd9c633b04fc7abd536f1f Author: Krishna Kumar Date: Sun Jun 24 19:57:27 2007 -0700 [NET]: qdisc_restart - couple of optimizations. Changes : - netif_queue_stopped need not be called inside qdisc_restart as it has been called already in qdisc_run() before the first skb is sent, and in __qdisc_run() after each intermediate skb is sent (note : we are the only sender, so the queue cannot get stopped while the tx lock was got in the ~LLTX case). - BUG_ON((int) q->q.qlen < 0) was a relic from old times when -1 meant more packets are available, and __qdisc_run used to loop when qdisc_restart() returned -1. During those days, it was necessary to make sure that qlen is never less than zero, since __qdisc_run would get into an infinite loop if no packets are on the queue and this bug in qdisc was there (and worse - no more skbs could ever get queue'd as we hold the queue lock too). With Herbert's recent change to return values, this check is not required. Hopefully Herbert can validate this change. If at all this is required, it should be added to skb_dequeue (in failure case), and not to qdisc_qlen. Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit 6c1361a6f285bf3df4b502651c0dd38d0eedc044 Author: Krishna Kumar Date: Sun Jun 24 19:56:09 2007 -0700 [NET]: qdisc_restart - readability changes plus one bug fix. New changes : - Incorporated Peter Waskiewicz's comments. - Re-added back one warning message (on driver returning wrong value). Previous changes : - Converted to use switch/case code which looks neater. - "if (ret == NETDEV_TX_LOCKED && lockless)" is buggy, and the lockless check should be removed, since driver will return NETDEV_TX_LOCKED only if lockless is true and driver has to do the locking. In the original code as well as the latest code, this code can result in a bug where if LLTX is not set for a driver (lockless == 0) but the driver is written wrongly to do a trylock (despite LLTX being set), the driver returns LOCKED. But since lockless is zero, the packet is requeue'd instead of calling collision code which will issue warning and free up the skb. Instead this skb will be retried with this driver next time, and the same result will ensue. Removing this check will catch these driver bugs instead of hiding the problem. I am keeping this change to readability section since : a. it is confusing to check two things as it is; and b. it is difficult to keep this check in the changed 'switch' code. - Changed some names, like try_get_tx_pkt to dev_dequeue_skb (as that is the work being done and easier to understand) and do_dev_requeue to dev_requeue_skb, merged handle_dev_cpu_collision and tx_islocked to dev_handle_collision (handle_dev_cpu_collision is a small routine with only one caller, so there is no need to have two separate routines which also results in getting rid of two macros, etc. - Removed an XXX comment as it should never fail (I suspect this was related to batch skb WIP, Jamal ?). Converted some functions to original coding style of having the return values and the function name on same line, eg prio2list. Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit 49d66a70cf9fd94057aacd6055334299ab3a5eac Author: Gerrit Renker Date: Sat Jun 16 13:48:50 2007 -0300 [CCID3]: Fix a bug in the send time processing ccid3_hc_tx_send_packet currently returns 0 when the time difference between current time and t_nom is less than 1000 microseconds. In this case the packet is sent immediately; but, unlike other packets that can be emitted on first attempt, it will not have its window counter updated and its options set as required. This is a bug. Fix: Require the time difference to be at least 1000 microseconds. The algorithm then converges: time differences > 1000 microseconds trigger the timer in dccp_write_xmit; after timer expiry this function is tried again; when the time difference is less than 1000, the packet will have its options added and window counter updated as required. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 8132da4d412ad51c34bad11133a8f0941e2a1972 Author: Gerrit Renker Date: Sat Jun 16 13:34:02 2007 -0300 [CCID3]: Sending time: update to ktime_t This updates the computation of t_nom and t_last_win_count to use the newer gettimeofday interface. Committer note: used ktime_to_timeval to set the 'now' variable to t_ld in ccid3hctx_no_feedback_timer Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 1e180f726a58089d15637b5495fecbad8c50c833 Author: Arnaldo Carvalho de Melo Date: Sat Jun 16 12:39:38 2007 -0300 [KTIME]: Introduce ktime_add_us Signed-off-by: Arnaldo Carvalho de Melo commit f1c91da44728fba24927e44056a56e507c11cf7b Author: Gerrit Renker Date: Sat Jun 16 12:38:51 2007 -0300 [KTIME]: Introduce ktime_us_delta This provides a reusable time difference function which returns the difference in microseconds, as often used in the DCCP code. Commiter note: renamed ktime_delta to ktime_us_delta and put it in ktime.h. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit dd36a9aba44e4ddbac011de2cb14a70444487303 Author: Arnaldo Carvalho de Melo Date: Mon May 28 18:56:44 2007 -0300 loss_interval: make struct dccp_li_hist_entry private net/dccp/ccids/lib/loss_interval.c is the only place where this struct is used. Signed-off-by: Arnaldo Carvalho de Melo commit cc4d6a3a34ce3976d7d01d044f3093cddc2921c2 Author: Arnaldo Carvalho de Melo Date: Mon May 28 18:53:08 2007 -0300 loss_interval: Nuke dccp_li_hist It had just a slab cache, so, for the sake of simplicity just make dccp_trfc_lib module init routine create the slab cache, no need for users of the lib to create a private loss_interval object. Signed-off-by: Arnaldo Carvalho de Melo commit c70b729e662a1b3ee2ef5370c1e4c9bc3ddc239f Author: Arnaldo Carvalho de Melo Date: Mon May 28 18:25:12 2007 -0300 loss_interval: Make dccp_li_hist_entry_{new,delete} private Not used outside the loss_interval code anymore. Signed-off-by: Arnaldo Carvalho de Melo commit 8c281780c6f867460c84bd78d9c3885c10f00ae1 Author: Arnaldo Carvalho de Melo Date: Mon May 28 18:21:53 2007 -0300 loss_interval: unexport dccp_li_hist_interval_new Now its only used inside the loss_interval code. Signed-off-by: Arnaldo Carvalho de Melo commit cc0a910b942d11069d35f52b2c0ed0e229e2fb46 Author: Arnaldo Carvalho de Melo Date: Thu Jun 14 17:41:28 2007 -0300 [DCCP] loss_interval: Move ccid3_hc_rx_update_li to loss_interval Renaming it to dccp_li_update_li. Also based on previous work by Ian McDonald. Signed-off-by: Arnaldo Carvalho de Melo commit 878ac60023c4ba11a7fbf0b1dfe07b8472c0d6ce Author: Arnaldo Carvalho de Melo Date: Thu Jun 14 12:24:46 2007 -0300 [CCID3]: Pass ccid3_li_hist to ccid3_hc_rx_update_li Now ccid3_hc_rx_update_li is ready to be moved to net/dccp/ccids/lib/loss_interval, it uses the same interface as the other functions there. Signed-off-by: Arnaldo Carvalho de Melo commit d83258a3da1d3c7ae7b75549c8bf7ed689562c62 Author: Arnaldo Carvalho de Melo Date: Mon May 28 18:04:14 2007 -0300 Remove accesses to ccid3_hc_rx_sock in ccid3_hc_rx_{update,calc_first}_li This is a preparatory patch for moving these loss interval functions from net/dccp/ccids/ccid3.c to net/dccp/ccids/lib/loss_interval.c. Based on a patch by Ian McDonald. Signed-off-by: Arnaldo Carvalho de Melo commit 6bc7efe8efa627077f8f65d01dbb762fc9356a2f Author: Ian McDonald Date: Mon May 28 16:37:45 2007 -0300 loss_interval: Fix timeval initialisation When compiling with EXTRA_CFLAGS=-W noticed that tstamp is not initialised correctly in dccp_li_calc_first_li. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Ian McDonald commit e961811fcde4202ae5c3c9ce81dcfc244e8959bb Author: Ian McDonald Date: Mon May 28 16:32:26 2007 -0300 Fix dccp_sum_coverage When compiling with EXTRA_CFLAGS=-W notice that we have signed/unsigned issue in dccp.h. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Ian McDonald commit b2f41ff4139c0df8d06f352acc962a62fc07a0c3 Author: Ian McDonald Date: Mon May 28 12:23:29 2007 -0300 ccid3: Update copyrights Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 07b5b17e157b7018d0ca40ca0d1581a23096fb45 Author: Patrick McHardy Date: Wed Jun 13 12:07:54 2007 -0700 [VLAN]: Use rtnl_link API Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a4bf3af4ac46802436d352ef409cee4fe80445b3 Author: Patrick McHardy Date: Wed Jun 13 12:07:37 2007 -0700 [VLAN]: Introduce symbolic constants for flag values Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b020cb488586f982f40eb257a32e92a4de710d65 Author: Patrick McHardy Date: Wed Jun 13 12:07:22 2007 -0700 [VLAN]: Keep track of number of QoS mappings Keep track of the number of configured ingress/egress QoS mappings to avoid iteration while calculating the netlink attribute size. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 734423cf38021966a5d3bd5f5c6aaecaf32fb4ac Author: Patrick McHardy Date: Wed Jun 13 12:07:07 2007 -0700 [VLAN]: Use 32 bit value for skb->priority mapping skb->priority has only 32 bits and even VLAN uses 32 bit values in its API. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2ae0bf69b716d07126f0a9c17fcc2d76da172cb6 Author: Patrick McHardy Date: Wed Jun 13 12:06:43 2007 -0700 [VLAN]: Return proper error codes in register_vlan_device The returned device is unused, return proper error codes instead and avoid having the ioctl handler guess the error. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e89fe42cd03c8fd3686df82d8390a235717a66de Author: Patrick McHardy Date: Wed Jun 13 12:06:29 2007 -0700 [VLAN]: Move device registation to seperate function Move device registration and configuration of the underlying device to a seperate function. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c1d3ee9925ca714a5ed3f8fce01a7027137f4e3f Author: Patrick McHardy Date: Wed Jun 13 12:06:14 2007 -0700 [VLAN]: Split up device checks Move the checks of the underlying device to a seperate function. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 42429aaee5eb44f4a48fdb056d77d0c06ef5aebc Author: Patrick McHardy Date: Wed Jun 13 12:05:59 2007 -0700 [VLAN]: Move vlan_group allocation to seperate function Move group allocation to a seperate function to clean up the code a bit and allocate groups before registering the device. Device registration is globally visible and causes netlink events, so we shouldn't fail afterwards. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2f4284a406cb25d1e41454cbf9ec4545b5ed70a1 Author: Patrick McHardy Date: Wed Jun 13 12:05:41 2007 -0700 [VLAN]: Move some device intialization code to dev->init callback Move some device initialization code to new dev->init callback to make it shareable with netlink. Additionally this fixes a minor bug, dev->iflink is set after registration, which causes an incorrect value in the initial netlink message. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c17d8874f9959070552fddf1b4e1d73c0c144c0f Author: Patrick McHardy Date: Wed Jun 13 12:05:22 2007 -0700 [VLAN]: Convert name-based configuration functions to struct netdevice * Move the device lookup and checks to the ioctl handler under the RTNL and change all name-based interfaces to take a struct net_device * instead. This allows to use them from a netlink interface, which identifies devices based on ifindex not name. It also avoids races between the ioctl interface and the (upcoming) netlink interface since now all changes happen under the RTNL. As a nice side effect this greatly simplifies error handling in the helper functions and fixes a number of incorrect error codes like -EINVAL for device not found. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9ba2cd656021e7f70038ba9d551224e04d0bfcef Author: Patrick McHardy Date: Wed Jun 13 12:05:06 2007 -0700 [IFB]: Use rtnl_link API Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 62b7ffcaaa4e91ed547fc55758076ac536bd5571 Author: Patrick McHardy Date: Wed Jun 13 12:04:51 2007 -0700 [IFB]: Keep ifb devices on list Use a list instead of an array to allow creating new devices. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5d5cb173d85ebf6dfb16f456a8148ecb4b1cecbc Author: Patrick McHardy Date: Wed Jun 13 12:04:34 2007 -0700 [DUMMY]: Use rtnl_link API Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 206c9fb26f5df2ea6d440fb64159faf4d8665398 Author: Patrick McHardy Date: Wed Jun 13 12:04:20 2007 -0700 [DUMMY]: Keep dummy devices on list Use a list instead of an array to allow creating new devices. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 58651b24acfd9a6fd3b217b52e577ce34b0932af Author: Patrick McHardy Date: Wed Jun 13 12:04:06 2007 -0700 [DUMMY]: Use dev->stats Use dev->stats instead of netdev_priv(). Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 38f7b870d4a6a5d3ec21557e849620cb7d032965 Author: Patrick McHardy Date: Wed Jun 13 12:03:51 2007 -0700 [RTNETLINK]: Link creation API Add rtnetlink API for creating, changing and deleting software devices. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0157f60c0caea24fa8347f4c0ed53297c412fce1 Author: Patrick McHardy Date: Wed Jun 13 12:03:36 2007 -0700 [RTNETLINK]: Split up rtnl_setlink Split up rtnl_setlink into a function performing validation and a function performing the actual changes. This allows to share the modifcation logic with rtnl_newlink, which is introduced by the next patch. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6472ce6096bf27d85a1f2580964a36f290bd60a9 Author: Patrick McHardy Date: Wed Jun 13 12:03:21 2007 -0700 [NET]: Mark struct net_device * argument to netdev_priv const Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b3d88ad49a0623d09efcf998beb26288c8029f75 Author: Larry Finger Date: Sun Jun 10 17:57:33 2007 -0700 [MAC80211]: Add support for SIOCGIWRATE ioctl At present, transmission rate information for mac80211 is available only if verbose debugging is turned on, and then only in the logs. This patch implements the SIOCGIWRATE ioctl, which adds the current transmission rate to the output of iwconfig. Signed-off-by: Larry Finger Signed-off-by: John W. Linville Signed-off-by: David S. Miller commit 8c7b7faaa630fef7f68d8728cee1cce398cc9697 Author: David S. Miller Date: Tue Jul 10 22:08:12 2007 -0700 [NET]: Kill eth_copy_and_sum(). It hasn't "summed" anything in over 7 years, and it's just a straight mempcy ala skb_copy_to_linear_data() so just get rid of it. Signed-off-by: David S. Miller commit 8de0a15483b357d0f0b821330ec84d1660cadc4e Author: Ville Tervo Date: Wed Jul 11 09:23:41 2007 +0200 [Bluetooth] Keep rfcomm_dev on the list until it is freed This patch changes the RFCOMM TTY release process so that the TTY is kept on the list until it is really freed. A new device flag is used to keep track of released TTYs. Signed-off-by: Ville Tervo Signed-off-by: Marcel Holtmann commit a7ab4b501f9b8a9dc4d5cee542db67b6ccd1088b Author: Herbert Xu Date: Sun Jun 10 17:33:08 2007 -0700 [TCPv4]: Improve BH latency in /proc/net/tcp Currently the code for /proc/net/tcp disable BH while iterating over the entire established hash table. Even though we call cond_resched_softirq for each entry, we still won't process softirq's as regularly as we would otherwise do which results in poor performance when the system is loaded near capacity. This anomaly comes from the 2.4 code where this was all in a single function and the local_bh_disable might have made sense as a small optimisation. The cost of each local_bh_disable is so small when compared against the increased latency in keeping it disabled over a large but mostly empty TCP established hash table that we should just move it to the individual read_lock/read_unlock calls as we do in inet_diag. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit c716a81ab946c68a8d84022ee32eb14674e72650 Author: Jamal Hadi Salim Date: Sun Jun 10 17:31:24 2007 -0700 [NET_SCHED]: Cleanup readability of qdisc restart Over the years this code has gotten hairier. Resulting in many long discussions over long summer days and patches that get it wrong. This patch helps tame that code so normal people will understand it. Thanks to Thomas Graf, Peter J. waskiewicz Jr, and Patrick McHardy for their valuable reviews. Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 05646c91109bfd129361d57dc5d98464ab6f6578 Author: Allan Stephens Date: Sun Jun 10 17:25:24 2007 -0700 [TIPC]: Optimize stream send routine to avoid fragmentation This patch enhances TIPC's stream socket send routine so that it avoids transmitting data in chunks that require fragmentation and reassembly, thereby improving performance at both the sending and receiving ends of the connection. The "maximum packet size" hint that records MTU info allows the socket to decide how big a chunk it should send; in the event that the hint has become stale, fragmentation may still occur, but the data will be passed correctly and the hint will be updated in time for the following send. Note: The 66060 byte pseudo-MTU used for intra-node connections requires the send routine to perform an additional check to ensure it does not exceed TIPC"s limit of 66000 bytes of user data per chunk. Signed-off-by: Allan Stephens Signed-off-by: Jon Paul Maloy Signed-off-by: David S. Miller commit 5eee6a6dc945acc5bf4da12956b2f698bbb102b9 Author: Allan Stephens Date: Sun Jun 10 17:24:55 2007 -0700 [TIPC]: Use standard socket "not implemented" routines This patch modifies TIPC's socket API to utilize existing generic routines to indicate unsupported operations, rather than adding similar TIPC-specific routines. Signed-off-by: Allan Stephens Signed-off-by: Jon Paul Maloy Signed-off-by: David S. Miller commit f3ec75f627c746cfe460482d38a33b06a84d038f Author: Allan Stephens Date: Sun Jun 10 17:24:20 2007 -0700 [TIPC]: Improved support for Ethernet traffic filtering This patch simplifies TIPC's Ethernet receive routine to take advantage of information already present in each incoming sk_buff indicating whether the packet was explicitly sent to the interface, has been broadcast to all interfaces, or was picked up because the interface is in promiscous mode. This new approach also fixes the problem of TIPC accepting unwanted traffic through UML's multicast-based Ethernet interfaces (which deliver traffic in a promiscuous manner even if the interface is not configured to be promiscuous). Signed-off-by: Allan Stephens Signed-off-by: Jon Paul Maloy Signed-off-by: David S. Miller commit e06e7c615877026544ad7f8b309d1a3706410383 Author: David S. Miller Date: Sun Jun 10 17:22:39 2007 -0700 [IPV4]: The scheduled removal of multipath cached routing support. With help from Chris Wedgwood. Signed-off-by: David S. Miller commit 84950cf0ba02fd6a5defe2511bc41f9aa2237632 Author: Mikko Rapeli Date: Wed Jul 11 09:18:15 2007 +0200 [Bluetooth] Hangup TTY before releasing rfcomm_dev The core problem is that RFCOMM socket layer ioctl can release rfcomm_dev struct while RFCOMM TTY layer is still actively using it. Calling tty_vhangup() is needed for a synchronous hangup before rfcomm_dev is freed. Addresses the oops at http://bugzilla.kernel.org/show_bug.cgi?id=7509 Acked-by: Alan Cox Signed-off-by: Marcel Holtmann commit 924f0e4a06419fa1996425d1d2512030e43acbba Author: Robert P. J. Day Date: Wed Jul 11 09:07:07 2007 +0200 [Bluetooth] Remove the redundant non-seekable llseek method Remove the llseek method given that the open method already calls nonseekable_open(). Signed-off-by: Robert P. J. Day Signed-off-by: Marcel Holtmann commit 6164c8cd1333403a28202f7c7e64ff9086d8f1aa Author: Sean Hefty Date: Mon Jul 2 16:14:14 2007 -0700 IB/cm: Send no match if a SIDR REQ does not match a listen If a SIDR REQ does not match a listen, we should reply with status value 1 (service ID not supported), rather than dropping through to the default case of status 2 (rejected by service provider). Doing this also fixes a bug where the cm_id_priv is removed from the remote_sidr_table twice. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 29c2731cbfa9d5b560a73461775f2be03b46dd4c Author: Sean Hefty Date: Mon Jul 2 14:36:19 2007 -0700 IB/cm: Fix handling of duplicate SIDR REQs Fix handling to duplicate SIDR REQs to avoid sending a reject if a duplicate is detected. Duplicates should just be silently discarded. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 5d861be8c87b8a8f8e0f58b3b8864f31da7ee9c3 Author: Sean Hefty Date: Thu Jun 28 19:16:51 2007 -0700 IB/cm: cm_msgs.h should include ib_cm.h cm_msgs.h uses definitions from ib_cm.h. Include it directly, rather than depending on a specific include order. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 1d84612649427a85e1f311baa7215f9a6252d856 Author: Sean Hefty Date: Mon Jun 18 11:09:37 2007 -0700 IB/cm: Include HCA ACK delay in local ACK timeout The IB CM should include the HCA ACK delay when calculating the local ACK timeout value to use for RC QPs. If the HCA ACK delay is large enough relative to the packet life time, then if it is not taken into account, the calculated timeout value ends up being too small, which can result in "retry exceeded" errors. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 24be6e81c78314c91a47200272eb4bc31284bd7b Author: Sean Hefty Date: Mon Jun 18 11:09:36 2007 -0700 IB/cm: Use spin_lock_irq() instead of spin_lock_irqsave() when possible The ib_cm is a little over zealous about using spin_lock_irqsave, when spin_lock_irq would do. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 2aec5c602c6a44e2a3a173339a9ab94549658e4b Author: Sean Hefty Date: Mon Jun 18 11:03:58 2007 -0700 IB/sa: Make sure SA queries use default P_Key MADs sent to the SA should use the the default P_Key (0x7fff/0xffff). There's no requirement that the default P_Key is stored at index 0 in the local P_Key table, so add code to the sa_query module to look up the index of the default P_Key when creating an address handle for the SA (which is done any time the P_Key table might change), and use this index for all SA queries. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit babf4d42d0a41ff58463b0a0515683cdce66f541 Author: Marcel Holtmann Date: Wed Jul 11 06:42:35 2007 +0200 [Bluetooth] Use hci_recv_fragment() within HCI USB driver This patch modifies the HCI USB driver to use the new helper function for reassembling HCI data packets and events. Signed-off-by: Marcel Holtmann commit ef222013fc8c1a2fcba5c7ab169be8ffcb778ec4 Author: Marcel Holtmann Date: Wed Jul 11 06:42:04 2007 +0200 [Bluetooth] Add hci_recv_fragment() helper function Most drivers must handle fragmented HCI data packets and events. This patch adds a generic function for their reassembly to the Bluetooth core layer and thus allows to shrink the complexity of the drivers. Signed-off-by: Marcel Holtmann commit d8558f99fbc5ef5d4ae76b893784005056450f82 Author: J. Bruce Fields Date: Tue Jul 10 15:19:26 2007 -0400 sunrpc: drop BKL around wrap and unwrap We don't need the BKL when wrapping and unwrapping; and experiments by Avishay Traeger have found that permitting multiple encryption and decryption operations to proceed in parallel can provide significant performance improvements. Signed-off-by: J. Bruce Fields Cc: Avishay Traeger Signed-off-by: Trond Myklebust commit 137d6acaa64afa4cf3d977417424e731ea04705a Author: Frank Filz Date: Mon Jul 9 15:32:29 2007 -0700 NFSv4: Make sure unlock is really an unlock when cancelling a lock I ran into a curious issue when a lock is being canceled. The cancellation results in a lock request to the vfs layer instead of an unlock request. This is particularly insidious when the process that owns the lock is exiting. In that case, sometimes the erroneous lock is applied AFTER the process has entered zombie state, preventing the lock from ever being released. Eventually other processes block on the lock causing a slow degredation of the system. In the 2.6.16 kernel this was investigated on, the problem is compounded by the fact that the cl_sem is held while blocking on the vfs lock, which results in most processes accessing the nfs file system in question hanging. In more detail, here is how the situation occurs: first _nfs4_do_setlk(): static int _nfs4_do_setlk(struct nfs4_state *state, int cmd, struct file_lock *fl, int reclaim) ... ret = nfs4_wait_for_completion_rpc_task(task); if (ret == 0) { ... } else data->cancelled = 1; then nfs4_lock_release(): static void nfs4_lock_release(void *calldata) ... if (data->cancelled != 0) { struct rpc_task *task; task = nfs4_do_unlck(&data->fl, data->ctx, data->lsp, data->arg.lock_seqid); The problem is the same file_lock that was passed in to _nfs4_do_setlk() gets passed to nfs4_do_unlck() from nfs4_lock_release(). So the type is still F_RDLCK or FWRLCK, not F_UNLCK. At some point, when cancelling the lock, the type needs to be changed to F_UNLCK. It seemed easiest to do that in nfs4_do_unlck(), but it could be done in nfs4_lock_release(). The concern I had with doing it there was if something still needed the original file_lock, though it turns out the original file_lock still needs to be modified by nfs4_do_unlck() because nfs4_do_unlck() uses the original file_lock to pass to the vfs layer, and a copy of the original file_lock for the RPC request. It seems like the simplest solution is to force all situations where nfs4_do_unlck() is being used to result in an unlock, so with that in mind, I made the following change: Signed-off-by: Frank Filz Signed-off-by: Trond Myklebust commit c98451bdb2f3e6d6cc1e03adad641e9497512b49 Author: Frank van Maarseveen Date: Mon Jul 9 22:25:29 2007 +0200 NLM: fix source address of callback to client Use the destination address of the original NLM request as the source address in callbacks to the client. Signed-off-by: Frank van Maarseveen Signed-off-by: Trond Myklebust commit d3bc9a1deb8964d774af8535814cb91bf8f6def0 Author: Frank van Maarseveen Date: Mon Jul 9 22:23:35 2007 +0200 SUNRPC client: add interface for binding to a local address In addition to binding to a local privileged port the NFS client should allow binding to a specific local address. This is used by the server for callbacks. The patch adds the necessary interface. Signed-off-by: Frank van Maarseveen Signed-off-by: Trond Myklebust commit a97476926ec061f90b77da478620ea6dc71a3237 Author: Frank van Maarseveen Date: Mon Jul 9 22:21:39 2007 +0200 SUNRPC server: record the destination address of a request Save the destination address of an incoming request over TCP like is done already for UDP. It is necessary later for callbacks by the server. Signed-off-by: Frank van Maarseveen Signed-off-by: Trond Myklebust commit 96802a095171f5b35cf0e1e0d4be943e6696a253 Author: Frank van Maarseveen Date: Sun Jul 8 13:08:54 2007 +0200 SUNRPC: cleanup transport creation argument passing Cleanup argument passing to functions for creating an RPC transport. Signed-off-by: Frank van Maarseveen Signed-off-by: Trond Myklebust commit 6f2e64d3e1f661095e274c9d9d47e3f39a6cf1c0 Author: Trond Myklebust Date: Fri Jul 6 10:53:21 2007 -0400 NFSv4: Make the NFS state model work with the nosharedcache mount option Consider the case where the user has mounted the remote filesystem server:/foo on the two local directories /bar and /baz using the nosharedcache mount option. The files /bar/file and /baz/file are represented by different inodes in the local namespace, but refer to the same file /foo/file on the server. Consider the case where a process opens both /bar/file and /baz/file, then closes /bar/file: because the nfs4_state is not shared between /bar/file and /baz/file, the kernel will see that the nfs4_state for /bar/file is no longer referenced, so it will send off a CLOSE rpc call. Unless the open_owners differ, then that CLOSE call will invalidate the open state on /baz/file too. Conclusion: we cannot share open state owners between two different non-shared mount instances of the same filesystem. Signed-off-by: Trond Myklebust commit 275a5d24bf56b2d9dd4644c54a56366b89a028f1 Author: Trond Myklebust Date: Wed May 16 16:53:28 2007 -0400 NFS: Error when mounting the same filesystem with different options Unless the user sets the NFS_MOUNT_NOSHAREDCACHE mount flag, we should return EBUSY if the filesystem is already mounted on a superblock that has set conflicting mount options. Signed-off-by: Trond Myklebust commit 75180df2ed467866ada839fe73cf7cc7d75c0a22 Author: Trond Myklebust Date: Wed May 16 16:53:28 2007 -0400 NFS: Add the mount option "nosharecache" Prior to David Howell's mount changes in 2.6.18, users who mounted different directories which happened to be from the same filesystem on the server would get different super blocks, and hence could choose different mount options. As long as there were no hard linked files that crossed from one subtree to another, this was quite safe. Post the changes, if the two directories are on the same filesystem (have the same 'fsid'), they will share the same super block, and hence the same mount options. Add a flag to allow users to elect not to share the NFS super block with another mount point, even if the fsids are the same. This will allow users to set different mount options for the two different super blocks, as was previously possible. It is still up to the user to ensure that there are no cache coherency issues when doing this, however the default behaviour will be to share super blocks whenever two paths result in the same fsid. Signed-off-by: Trond Myklebust commit 8007122520f0a3599bdc4df47358a5d83b2574aa Author: Chuck Lever Date: Sun Jul 1 12:13:59 2007 -0400 NFS: Add support for mounting NFSv4 file systems with string options Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 136d558ce766967fe3cbf54c3351aba261b5d53b Author: Chuck Lever Date: Sun Jul 1 12:13:54 2007 -0400 NFS: Add final pieces to support in-kernel mount option parsing Hook in final components required for supporting in-kernel mount option parsing for NFSv2 and NFSv3 mounts. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 0076d7b7bab580ca2e94637d351fa7cd357743a8 Author: Chuck Lever Date: Sun Jul 1 12:13:49 2007 -0400 NFS: Introduce generic mount client API For NFSv2 and v3 mounts, the first step is to contact the server's MOUNTD and request the file handle for the root of the mounted share. Add a function to the NFS client that handles this operation. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit bf0fd7680f1cf31b9cbabcc037a204548e2c866d Author: Chuck Lever Date: Sun Jul 1 12:13:44 2007 -0400 NFS: Add enums and match tables for mount option parsing This generic infrastructure works for both NFS and NFSv4 mounts. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 013a8c1ab5a214c608e12b602770449fb6b15a81 Author: Chuck Lever Date: Sun Jul 1 12:13:38 2007 -0400 NFS: Improve debugging output in NFS in-kernel mount client Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 19207231c9874899e7511507ebb1b88d648a5743 Author: Chuck Lever Date: Sun Jul 1 12:13:33 2007 -0400 NFS: Clean up in-kernel NFS mount Clean up white space and coding conventions. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 3ea97309e6b18bce200211b3f9188e8023321adc Author: Chuck Lever Date: Sun Jul 1 12:13:27 2007 -0400 NFS: Remake nfsroot_mount as a permanent part of NFS client In preparation for supporting NFSv2 and NFSv3 mount option handling in the kernel NFS client, convert mount_clnt.c to be a permanent part of the NFS client, instead of built only when CONFIG_ROOT_NFS is enabled. In addition, we also replace the "struct sockaddr_in *" argument with something more generic, to help support IPv6 at some later point. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 43780b87fa799ae65df11d89d4539d8d6a7c67eb Author: Chuck Lever Date: Sun Jul 1 12:13:22 2007 -0400 SUNRPC: Add a convenient default for the hostname when calling rpc_create() A couple of callers just use a stringified IP address for the rpc client's hostname. Move the logic for constructing this into rpc_create(), so it can be shared. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 45160d6275814e0c86206e6981f0b92c61a50a21 Author: Chuck Lever Date: Sun Jul 1 12:13:17 2007 -0400 SUNRPC: Rename rpcb_getport to be consistent with new rpcb_getport_sync name Clean up, for consistency. Rename rpcb_getport as rpcb_getport_async, to match the naming scheme of rpcb_getport_sync. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit cce63cd6374e6f1b4ea897ece1454feb13993d7c Author: Chuck Lever Date: Sun Jul 1 12:13:12 2007 -0400 SUNRPC: Rename rpcb_getport_external routine In preparation for handling NFS mount option parsing in the kernel, rename rpcb_getport_external as rpcb_get_port_sync, and make it available always (instead of only when CONFIG_ROOT_NFS is enabled). Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit f7fb558e503dc80e100acaf116f7261cdd97f0ca Author: Chuck Lever Date: Sun Jul 1 12:13:07 2007 -0400 SUNRPC: Allow rpcbind requests to be interrupted by a signal. This allows NFS mount requests and RPC re-binding to be interruptible if the server isn't responding. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit f0768ebd09385551277fcbc8b28c29eb491bf9e2 Author: Chuck Lever Date: Sun Jul 1 12:13:01 2007 -0400 NFS: Introduce nfs4_validate_mount_options Refactor NFSv4 mount processing to break out mount data validation in the same way it's broken out in the NFSv2/v3 mount path. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 5df36e78da9db1c5f02b429116ed98902bcc75e5 Author: Chuck Lever Date: Sun Jul 1 12:12:56 2007 -0400 NFS: Clean up nfs_validate_mount_data Move error handling code out of the main code path. The switch statement was also improperly indented, according to Documentation/CodingStyle. This prepares nfs_validate_mount_data for the addition of option string parsing. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit f18289931d705f9c4634b361341a1677bea97aca Author: Chuck Lever Date: Sun Jul 1 12:12:51 2007 -0400 NFS: Add a new NFS debugging flag just for mount processing Note to self: fix up /usr/sbin/rpcdebug too Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit fc50d58fd053862d6bafcf92f1ef2961296f3a1c Author: Chuck Lever Date: Sun Jul 1 12:12:46 2007 -0400 NFS: Clean-up: Refactor IP address sanity checks in NFS client NFS and NFSv4 mounts can now share server address sanity checking. And, it provides an easy mechanism for adding IPv6 address checking at some later point. Signed-off-by: Chuck Lever Cc: Aurelien Charbon Signed-off-by: Trond Myklebust commit 4d81cd16112f86dc279d90ef7a24f2b1be339c3c Author: Chuck Lever Date: Sun Jul 1 12:12:40 2007 -0400 NFS: Clean-up: fix a compiler warning in fs/nfs/super.c /home/cel/linux/fs/nfs/super.c: In function 'nfs_pseudoflavour_to_name': /home/cel/linux/fs/nfs/super.c:270: warning: comparison between signed and unsigned Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 0655960f76922a720ad14a510ed91a51395e742b Author: Chuck Lever Date: Sun Jul 1 12:12:35 2007 -0400 NFS: Clean up error handling in nfs_get_sb The error return logic in nfs_get_sb now matches nfs4_get_sb, and is more maintainable. A subsequent patch will take advantage of this simplification. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 29eb981a3b8eb4e61cd5b9da835768045d0446cb Author: Chuck Lever Date: Sun Jul 1 12:12:30 2007 -0400 NFS: Clean-up: Replace nfs_copy_user_string with strndup_user The new string utility function strndup_user can be used instead of nfs_copy_user_string, eliminating an unnecessary duplication of function. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 5680d48be88d12cd987e5579a6072a4ca34ca6ea Author: Chuck Lever Date: Sun Jul 1 12:12:24 2007 -0400 NFS: Clean-up: Define macros for maximum host and export path name lengths Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 9eaa67c6a5b77f248c4703d81c4a6c6434e35385 Author: Chuck Lever Date: Sun Jul 1 12:12:19 2007 -0400 NFS: Clean-up: use correct type when converting NFS blocks to local blocks inode->i_blocks is a blkcnt_t these days, which can be a u64 or unsigned long, depending on the setting of CONFIG_LSF. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 433c92379d9c2c59c2ebc7628fe4fb02cfc2daf8 Author: Chuck Lever Date: Sun Jul 1 12:12:14 2007 -0400 NFS: Clean up nfs_size_to_loff_t() Use the same file size limit that lockd uses. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 8bda4e4c98d14566fc1a354c62fb59d70cc49b97 Author: Trond Myklebust Date: Mon Jul 9 10:45:42 2007 -0400 NFSv4: Fix up stateid locking... We really don't need to grab both the state->so_owner and the inode->i_lock. Signed-off-by: Trond Myklebust commit 1ac7e2fd35905f3d44df06568bca5f9d140369b3 Author: Trond Myklebust Date: Sun Jul 8 21:04:15 2007 -0400 NFSv4: Clean up the callers of nfs4_open_recover_helper() Rely on nfs4_try_open_cached() when appropriate. Also fix an RCU violation in _nfs4_do_open_reclaim() Signed-off-by: Trond Myklebust commit 6ee412689027dc7954453aed392ab5c7599c0f73 Author: Trond Myklebust Date: Sun Jul 8 14:11:36 2007 -0400 NFSv4: Don't call OPEN if we already have an open stateid for a file If we already have a stateid with the correct open mode for a given file, then we can reuse that stateid instead of re-issuing an OPEN call without violating the close-to-open caching semantics. Signed-off-by: Trond Myklebust commit aac00a8d0a53097063da532cbdf0b8775a4dcd53 Author: Trond Myklebust Date: Thu Jul 5 19:02:21 2007 -0400 NFSv4: Check for the existence of a delegation in nfs4_open_prepare() We should not be calling open() on an inode that has a delegation unless we're doing a reclaim. Signed-off-by: Trond Myklebust commit 3e309914a15333a5493058e4927e979c7434ae44 Author: Trond Myklebust Date: Sat Jul 7 13:19:59 2007 -0400 NFSv4: Clean up _nfs4_proc_open() Use a flag instead of the 'data->rpc_status = -ENOMEM hack. Signed-off-by: Trond Myklebust commit 1b370bc28f90955bccda8be5e7d7047ad1381da7 Author: Trond Myklebust Date: Sat Jul 7 08:04:47 2007 -0400 NFSv4: Allow nfs4_opendata_to_nfs4_state to return errors. Signed-off-by: Trond Myklebust commit 6f43ddccb31b5bd2297878f6f3735d45fd4dfce3 Author: Trond Myklebust Date: Sun Jul 8 16:49:11 2007 -0400 NFSv4: Improve the debugging of bad sequence id errors... Signed-off-by: Trond Myklebust commit 003707c7225dbd4bf879b6c204743554de0a08d6 Author: Trond Myklebust Date: Thu Jul 5 18:07:55 2007 -0400 NFSv4: Always use the delegation if we have one Signed-off-by: Trond Myklebust commit 0f9f95e0ad1f9d07d77832c5b60f7d30440602ee Author: Trond Myklebust Date: Sun Jul 8 16:19:56 2007 -0400 NFSv4: Clean up confirmation of sequence ids... Signed-off-by: Trond Myklebust commit 412c77cee6d6e73fbe1dc3d67f52163efed33fc4 Author: Trond Myklebust Date: Tue Jul 3 16:10:55 2007 -0400 NFSv4: Defer inode revalidation when setting up a delegation Currently we force a synchronous call to __nfs_revalidate_inode() in nfs_inode_set_delegation(). This not only ensures that we cannot call nfs_inode_set_delegation from an asynchronous context, but it also slows down any call to open(). Signed-off-by: Trond Myklebust commit 8383e4602c89857ef926f29ca61ac0a83a614443 Author: Trond Myklebust Date: Fri Jul 6 15:12:04 2007 -0400 NFSv4: Use RCU to protect delegations Signed-off-by: Trond Myklebust commit 13437e12fb43cb7e285ff59248f781c91578eafe Author: Trond Myklebust Date: Fri Jul 6 15:10:43 2007 -0400 NFSv4: Support recalling delegations by stateid part 2 Signed-off-by: Trond Myklebust commit 901630278469c0d7610554227f39ed2d02d0d270 Author: Trond Myklebust Date: Thu Jul 5 14:55:18 2007 -0400 NFSv4: Support recalling delegations by stateid There appear to be some rogue servers out there that issue multiple delegations with different stateids for the same file. Ensure that when we return delegations, we do so on a per-stateid basis rather than a per-file basis. Signed-off-by: Trond Myklebust commit 2ced46c27058710a6d731d6eca77f1dd14ccde75 Author: Trond Myklebust Date: Tue Jul 3 23:48:13 2007 -0400 NFSv4: Fix up a bug in nfs4_open_recover() Don't clobber the delegation info... Signed-off-by: Trond Myklebust commit 549d6ed5e85003370fe858e70864a71882491d28 Author: Trond Myklebust Date: Tue Jul 3 16:42:45 2007 -0400 NFSv4: set the delegation in nfs4_opendata_to_nfs4_state This ensures that nfs4_open_release() and nfs4_open_confirm_release() can now handle an eventual delegation that was returned with out open. As such, it fixes a delegation "leak" when the user breaks out of an open call. Signed-off-by: Trond Myklebust commit 1c816efa245111c52858fbe55d99474f3c149dd3 Author: Trond Myklebust Date: Tue Jul 3 14:41:19 2007 -0400 NFSv4: Fix a bug in __nfs4_find_state_byowner The test for state->state == 0 does not tell you that the stateid is in the process of being freed. It really tells you that the stateid is not yet initialised... Signed-off-by: Trond Myklebust commit 1b45c46cf75d9c48eb611d5cc41607ac1f046606 Author: Trond Myklebust Date: Tue Jul 3 13:04:56 2007 -0400 NFSv4: Fix atomic open for execute... Currently we do not check for the FMODE_EXEC flag as we should. For that particular case, we need to perform an ACCESS call to the server in order to check that the file is executable. Signed-off-by: Trond Myklebust commit 9f958ab8858c75df800e0121b1920182820cbc39 Author: Trond Myklebust Date: Mon Jul 2 13:58:33 2007 -0400 NFSv4: Reduce the chances of an open_owner identifier collision Currently we just use a 32-bit counter. Signed-off-by: Trond Myklebust commit 88d9093997e1c73ca98db41b5605dbde7783845f Author: Trond Myklebust Date: Mon Jul 2 14:03:03 2007 -0400 NFSv4: nfs_increment_open_seqid should not return a value It is a void function... Signed-off-by: Trond Myklebust commit e6889620e89525ebf41f0eed937edb3dc065cf1d Author: Trond Myklebust Date: Mon Jul 2 13:58:30 2007 -0400 NFSv4: Fix underestimate of NFSv4 lookup request size Also fix up the underestimate of fs_locations Signed-off-by: Trond Myklebust commit 2cebf82883f49fd26148da5d9a43d1b4363f1d59 Author: Trond Myklebust Date: Mon Jul 2 13:57:28 2007 -0400 NFSv4: Fix the underestimate of NFSv4 open request size The maximum size depends on the filename size and a number of other elements which are currently not being counted. Signed-off-by: Trond Myklebust commit bd625ba80d84d9de003b8a4bf61fd937b82aca09 Author: Trond Myklebust Date: Sun Jul 8 18:38:23 2007 -0400 NFSv4: Fix the NFSv4 owner and owner_group size estimates Signed-off-by: Trond Myklebust commit 7af654f8d1b7460415af5d1d326233478dd0f563 Author: Trond Myklebust Date: Mon Jul 2 12:49:23 2007 -0400 NFSv4: Don't reuse expired nfs4_state_owner structs That just confuses certain NFSv4 servers. Signed-off-by: Trond Myklebust commit 27b3f949b769a208e2849d28e7ad64cadac5d0e3 Author: Trond Myklebust Date: Mon Jul 2 10:24:56 2007 -0400 NFSv4: Fix a credential reference leak in nfs4_get_state_owner() Signed-off-by: Trond Myklebust commit 587142f85f796cf0b823dd3080e815f02ff6b952 Author: Trond Myklebust Date: Mon Jul 2 09:57:54 2007 -0400 NFS: Replace NFS_I(inode)->req_lock with inode->i_lock There is no justification for keeping a special spinlock for the exclusive use of the NFS writeback code. Signed-off-by: Trond Myklebust commit 4e56e082dd89266d320ccfbc7bd0102186a765ac Author: Trond Myklebust Date: Sun Jul 1 18:13:52 2007 -0400 NFSv4: Clean up _nfs4_proc_lookup() vs _nfs4_proc_lookupfh() They differ only slightly in the arguments they take. Why have they not been merged? Signed-off-by: Trond Myklebust commit 8a702bbb7ddaa2e78c17dbaaf48e3cd5943676f0 Author: Trond Myklebust Date: Wed Jun 27 18:30:26 2007 -0400 SUNRPC: Suppress some noisy and unnecessary printk() calls in call_verify() Convert them into dprintk() calls. Signed-off-by: Trond Myklebust commit 0df7fb74fbb709591301871a38aac7735a1d6583 Author: Trond Myklebust Date: Tue Jun 26 17:04:57 2007 -0400 SUNRPC: Ensure RPCSEC_GSS destroys the security context when freeing a cred Do so by set the gc_proc field to RPC_GSS_PROC_DESTROY, and then sending a NULL RPC call. Signed-off-by: Trond Myklebust commit 0285ed1f12298e5304f0f2642e2cf31a5f302e61 Author: Trond Myklebust Date: Wed Jun 27 14:29:12 2007 -0400 SUNRPC: Ensure that the struct gss_auth lifetime exceeds the credential's Add a refcount in order to ensure that the gss_auth doesn't disappear from underneath us while we're freeing up GSS contexts. Signed-off-by: Trond Myklebust commit 1be27f36601973815171db684c711d30557cf50c Author: Trond Myklebust Date: Wed Jun 27 14:29:04 2007 -0400 SUNRPC: Remove the tk_auth macro... We should almost always be deferencing the rpc_auth struct by means of the credential's cr_auth field instead of the rpc_clnt->cl_auth anyway. Fix up that historical mistake, and remove the macro that propagated it. Signed-off-by: Trond Myklebust commit 1dd17ec693bf4a08b666c2ef76b68ca08ce3c93d Author: Trond Myklebust Date: Tue Jun 26 16:57:41 2007 -0400 SUNRPC: Allow rpc_auth to run clean up before the rpc_client is destroyed RPCSEC_GSS needs to be able to send NULL RPC calls to the server in order to free up any remaining GSS contexts. Signed-off-by: Trond Myklebust commit 5d28dc82074f1e64b22c9424b161abc1f5d6bcdb Author: Trond Myklebust Date: Tue Jun 26 19:18:38 2007 -0400 SUNRPC: Convert gss_ctx_lock to an RCU lock Signed-off-by: Trond Myklebust commit f5c2187cfef628784d8a09b6d0f77888246d0c0f Author: Trond Myklebust Date: Mon Jun 25 17:11:20 2007 -0400 SUNRPC: Convert the credential garbage collector into a shrinker callback Signed-off-by: Trond Myklebust commit 9499b4341b56935f61af9e7e354e7d11e70f5258 Author: Trond Myklebust Date: Sun Jun 24 15:57:57 2007 -0400 SUNRPC: Give credential cache a local spinlock Signed-off-by: Trond Myklebust commit 31be5bf15f3dafffce110eb1afadccbf2e3067b4 Author: Trond Myklebust Date: Sun Jun 24 15:55:26 2007 -0400 SUNRPC: Convert the credcache lookup code to use RCU Signed-off-by: Trond Myklebust commit e092bdcd939416ef911090890096fe07d0281a5e Author: Trond Myklebust Date: Sat Jun 23 19:45:36 2007 -0400 SUNRPC: cleanup rpc credential cache garbage collection Signed-off-by: Trond Myklebust commit fc432dd90760a629c57026e57f65ff80a1a31d2f Author: Trond Myklebust Date: Mon Jun 25 10:15:15 2007 -0400 SUNRPC: Enforce atomic updates of rpc_cred->cr_flags Convert to the use of atomic bitops... Signed-off-by: Trond Myklebust commit 696e38df9d1b256e97b077ecde7afb8dd60364fd Author: Trond Myklebust Date: Mon Jun 25 09:48:25 2007 -0400 SUNRPC: replace casts in auth_unix.c with container_of() Signed-off-by: Trond Myklebust commit 5fe4755e2526a2aa82b7ed8daeb3aed74a236925 Author: Trond Myklebust Date: Sat Jun 23 19:55:31 2007 -0400 SUNRPC: Clean up rpc credential initialisation Add a helper rpc_cred_init() Signed-off-by: Trond Myklebust commit f1c0a8615090359d57e096157feb9f900cbb233c Author: Trond Myklebust Date: Sat Jun 23 20:17:58 2007 -0400 SUNRPC: Mark auth and cred operation tables as constant. Also do the same for gss_api operation tables. Signed-off-by: Trond Myklebust commit de7a8ce38aea529876db3890b61947bc4bc004da Author: Trond Myklebust Date: Sat Jun 23 10:46:47 2007 -0400 SUNRPC: Rename rpcauth_destroy() to rpcauth_release() Signed-off-by: Trond Myklebust commit 5e1550d6a2c2dd33ff0ca5febefd8e9c65c6ca1e Author: Trond Myklebust Date: Sat Jun 23 10:17:16 2007 -0400 SUNRPC: Add the helper function 'rpc_call_null()' Does a NULL RPC call and returns a pointer to the resulting rpc_task. The call may be either synchronous or asynchronous. Signed-off-by: Trond Myklebust commit 64c91a1f1c8bc4295fd6b90df8adf911a7dd64f4 Author: Trond Myklebust Date: Sat Jun 23 10:17:16 2007 -0400 SUNRPC: Make rpc_ping() static Signed-off-by: Trond Myklebust commit fc1b356f566fe05929ec2a88ce2c7b15f8b6279f Author: Trond Myklebust Date: Sat Jun 9 16:15:46 2007 -0400 SUNRPC: Fix races in rpcauth_create See the FIXME: auth_flavors[] really needs a lock and module refcounting. Signed-off-by: Trond Myklebust commit 07a2bf1da4765d987ffd1d8045e92ba032e0ad78 Author: Trond Myklebust Date: Sat Jun 9 15:42:01 2007 -0400 SUNRPC: Fix a memory leak in gss_create() Fix a memory leak in gss_create() whereby the rpc credcache was not being freed if the rpc_mkpipe() call failed. Signed-off-by: Trond Myklebust commit 5c9cfc828ae34e19dabbdb9f2861b8c920454047 Author: Trond Myklebust Date: Sun Jun 24 15:24:29 2007 -0400 SUNRPC: Fix a typo in unx_create() We want to set the unix_cred_cache.nextgc on the first call to unx_create(), which should be when unix_auth.au_count === 1 Signed-off-by: Trond Myklebust commit 3ab9bb7243489f9db3abf3d05521ddfc6b184c0a Author: Trond Myklebust Date: Sat Jun 9 15:41:42 2007 -0400 SUNRPC: Fix a memory leak in the auth credcache code The leak only affects the RPCSEC_GSS caches, since they are the only ones that are dynamically allocated... Rename the existing rpcauth_free_credcache() to rpcauth_clear_credcache() in order to better describe its role, then add a new function rpcauth_destroy_credcache() that actually frees the cache in addition to clearing it out. Also move the call to destroy the credcache in gss_destroy() to come before the rpc upcall pipe is unlinked. Signed-off-by: Trond Myklebust commit 03a1256f06cf1f58e33971fb4a524479e75c200e Author: Trond Myklebust Date: Fri Jun 8 14:14:53 2007 -0400 SUNRPC: Add a field to track the number of kernel users of an rpc_pipe This allows us to correctly deduce when we need to remove the pipe. Signed-off-by: Trond Myklebust commit 62e1761ceff5dbb78c4b4b9486d8ca9fed11b660 Author: Trond Myklebust Date: Fri Jun 8 14:14:46 2007 -0400 SUNRPC: Clean up rpc_pipefs. Add a dentry_ops with a d_delete() method in order to ensure that dentries are removed as soon as the last reference is gone. Clean up rpc_depopulate() so that it only removes files that were created via rpc_populate(). Signed-off-by: Trond Myklebust commit 34f308960818e514fadd9365cb5b14cca319320b Author: Trond Myklebust Date: Thu Jun 7 18:28:02 2007 -0400 SUNRPC: Enable non-exclusive create in rpc_mkpipe() Signed-off-by: Trond Myklebust commit 6e84c7b66a0aa0be16a7728d1e687c57978dac2c Author: Trond Myklebust Date: Thu Jun 7 15:31:36 2007 -0400 SUNRPC: Add a downcall queue to struct rpc_inode Currently, the downcall queue is tied to the struct gss_auth, which means that different RPCSEC_GSS pseudoflavours must use different upcall pipes. Add a list to struct rpc_inode that can be used instead. Signed-off-by: Trond Myklebust commit 3b68aaeaf54065e5c44583a1d33ffb7793953ba4 Author: Trond Myklebust Date: Thu Jun 7 10:14:15 2007 -0400 SUNRPC: Always match an upcall message in gss_pipe_downcall() It used to be possible for an rpc.gssd daemon to stuff the RPC credential cache for any rpc client simply by creating RPCSEC_GSS contexts and then doing downcalls. In practice, no daemons ever made use of this feature. Remove this feature now, since it will be impossible to figure out which mechanism a given context actually matches if we enable more than one gss mechanism to use the same upcall pipe. Signed-off-by: Trond Myklebust commit b185f835e243e654047ae85f42346827d3894171 Author: Trond Myklebust Date: Thu Jun 7 10:14:14 2007 -0400 SUNRPC: Remove the gss_auth spinlock We're just as well off using the inode spinlock instead. Signed-off-by: Trond Myklebust commit 4a8c1344dccb848dbcf0edabc8b5c51a8ecf2808 Author: Trond Myklebust Date: Thu Jun 7 10:14:14 2007 -0400 SUNRPC: Add a backpointer from the struct rpc_cred to the rpc_auth Cleans up an issue whereby rpcsec_gss uses the rpc_clnt->cl_auth. If we want to be able to add several rpc_auths to a single rpc_clnt, then this abuse must go. Signed-off-by: Trond Myklebust commit c1384c9c4c184543375b52a0997d06cd98145164 Author: Trond Myklebust Date: Thu Jun 14 18:00:42 2007 -0400 SUNRPC: fix hang due to eventd deadlock... Brian Behlendorf writes: The root cause of the NFS hang we were observing appears to be a rare deadlock between the kernel provided usermodehelper API and the linux NFS client. The deadlock can arise because both of these services use the generic linux work queues. The usermodehelper API run the specified user application in the context of the work queue. And NFS submits both cleanup and reconnect work to the generic work queue for handling. Normally this is fine but a deadlock can result in the following situation. - NFS client is in a disconnected state - [events/0] runs a usermodehelper app with an NFS dependent operation, this triggers an NFS reconnect. - NFS reconnect happens to be submitted to [events/0] work queue. - Deadlock, the [events/0] work queue will never process the reconnect because it is blocked on the previous NFS dependent operation which will not complete.` The solution is simply to run reconnect requests on rpciod. Signed-off-by: Trond Myklebust commit 6e5b70e9d1e712d8dad5514e0ab5240ac4b5fb57 Author: Trond Myklebust Date: Tue Jun 12 10:02:37 2007 -0400 SUNRPC: clean up rpc_call_async/rpc_call_sync/rpc_run_task Signed-off-by: Trond Myklebust commit 188fef11db219f13f32d055ba59985e7d1a349fe Author: Trond Myklebust Date: Sat Jun 16 14:18:40 2007 -0400 SUNRPC: Move rpc_register_client and friends into net/sunrpc/clnt.c Signed-off-by: Trond Myklebust commit f61534dfd38f895b203e2aadaba04f21a992ca8c Author: Trond Myklebust Date: Thu Jun 14 17:31:58 2007 -0400 SUNRPC: Remove redundant calls to rpciod_up()/rpciod_down() Signed-off-by: Trond Myklebust commit 4ada539ed77c7a2bbcb75cafbbd7bd8d2b9bef7b Author: Trond Myklebust Date: Thu Jun 14 17:26:17 2007 -0400 SUNRPC: Make create_client() take a reference to the rpciod workqueue Ensures that an rpc_client always has the possibility to send asynchronous RPC calls. Signed-off-by: Trond Myklebust commit ab418d70e1fceda1e2824c45ba3323a1b1413507 Author: Trond Myklebust Date: Thu Jun 14 17:08:36 2007 -0400 SUNRPC: Optimise rpciod_up() Instead of taking the mutex every time we just need to increment/decrement rpciod_users, we can optmise by using atomic_inc_not_zero and atomic_dec_and_test. Signed-off-by: Trond Myklebust commit d431a555fcf920e1b5c3e3eba52eb5f5e7836771 Author: Trond Myklebust Date: Sun Jun 17 17:07:54 2007 -0400 SUNRPC: Don't create an rpc_pipefs directory before rpc_clone is initialised Signed-off-by: Trond Myklebust commit 4c402b40970382ded616eadd544fd63feb76cc79 Author: Trond Myklebust Date: Thu Jun 14 16:40:32 2007 -0400 SUNRPC: Remove rpc_clnt->cl_count The kref now does most of what cl_count + cl_user used to do. The only remaining role for cl_count is to tell us if we are in a 'shutdown' phase. We can provide that information using a single bit field instead of a full atomic counter. Also rename rpc_destroy_client() to rpc_close_client(), which reflects better what its role is these days. Signed-off-by: Trond Myklebust commit 8ad7c892e18ff8e6df422eb48ca0f73268ffd632 Author: Trond Myklebust Date: Thu Jun 14 16:40:32 2007 -0400 SUNRPC: Make rpc_clone take a reference instead of using cl_count Signed-off-by: Trond Myklebust commit 90c5755ff5111ffdcca10a1e8a823dba29f37b6d Author: Trond Myklebust Date: Sat Jun 9 19:49:36 2007 -0400 SUNRPC: Kill rpc_clnt->cl_oneshot Replace it with explicit calls to rpc_shutdown_client() or rpc_destroy_client() (for the case of asynchronous calls). Signed-off-by: Trond Myklebust commit 848f1fe6be2e290691bb6c13cbb8fd92bd0cfaab Author: Trond Myklebust Date: Sat Jun 9 19:39:12 2007 -0400 SUNRPC: Kill rpc_clnt->cl_dead Its use is at best racy, and there is only one user (lockd), which has additional locking that makes the whole thing redundant. Signed-off-by: Trond Myklebust commit 34f52e3591f241b825353ba27def956d8487c400 Author: Trond Myklebust Date: Thu Jun 14 16:40:31 2007 -0400 SUNRPC: Convert rpc_clnt->cl_users to a kref Signed-off-by: Trond Myklebust commit c44fe705530ff9ea5e563bf9b65bdd29defe682b Author: Trond Myklebust Date: Sat Jun 16 14:17:01 2007 -0400 SUNRPC: Clean up tk_pid allocation and make it lockless Signed-off-by: Trond Myklebust commit 4bef61ff7514396419563ca54fd42ef846485b06 Author: Trond Myklebust Date: Sat Jun 16 14:17:01 2007 -0400 SUNRPC: Add a per-rpc_clnt spinlock Use that to protect the rpc_clnt->cl_tasks list instead of using a global lock. Signed-off-by: Trond Myklebust commit 6529eba08fe7297852391a468d95322913de73fa Author: Trond Myklebust Date: Thu Jun 14 16:40:14 2007 -0400 SUNRPC: Move rpc_task->tk_task list into struct rpc_clnt Signed-off-by: Trond Myklebust commit c6d00e639bdec5f33460bc95bae4efda7177a6ed Author: Trond Myklebust Date: Sun Jun 17 16:02:44 2007 -0400 NFSv4: Convert struct nfs4_opendata to use struct kref Signed-off-by: Trond Myklebust commit 3bec63db55463365110d00721ed60a31e4614cb6 Author: Trond Myklebust Date: Sun Jun 17 16:02:44 2007 -0400 NFS: Convert struct nfs_open_context to use a kref Signed-off-by: Trond Myklebust commit edc05fc1c24ba49dae585da1b2a22686f0b221f0 Author: Trond Myklebust Date: Sun Jun 17 16:02:34 2007 -0400 NFS: reduce latency by using conditional rescheduling in nfs_scan_list Signed-off-by: Trond Myklebust commit dce34ce298d85b81630401f4feb4bd7ac77fe9c7 Author: Trond Myklebust Date: Sun Jun 17 15:47:53 2007 -0400 NFS: Prevent integer overflow in nfs_scan_list() Also ensure that nfs_inode ncommit and npages are large enough to represent all possible values for the number of pages. Signed-off-by: Trond Myklebust commit 2aefa104313996d1a9582476cee53d1296c834bf Author: Trond Myklebust Date: Sun Jun 17 15:40:59 2007 -0400 NFS: Remove the redundant 'dirty' and 'commit' lists from nfs_inode Signed-off-by: Trond Myklebust commit 5c36968343fcd013a3f7ae93f246c2e75596780b Author: Trond Myklebust Date: Sun Jun 17 15:27:42 2007 -0400 NFS cleanup: speed up nfs_scan_commit using radix tree tags Add a tag for requests that are waiting for a COMMIT Signed-off-by: Trond Myklebust commit 9fd367f0f376ccfb2592eed9be0eece70429894f Author: Trond Myklebust Date: Sun Jun 17 15:10:24 2007 -0400 NFS cleanup: Rename NFS_PAGE_TAG_WRITEBACK to NFS_PAGE_TAG_LOCKED Signed-off-by: Trond Myklebust commit c03b40246123b2ced79e2620d1d2c089bb12369a Author: Trond Myklebust Date: Sun Jun 17 13:26:38 2007 -0400 NFS: Convert struct nfs_page to use krefs Signed-off-by: Trond Myklebust commit a50f7951a31d3b976e829250853f89c9d2da32c0 Author: Trond Myklebust Date: Tue Jun 5 19:23:43 2007 -0400 NFS: Fix an Oops in the nfs_access_cache_shrinker() The nfs_access_cache_shrinker may race with nfs_access_zap_cache(). Signed-off-by: Trond Myklebust commit e2f032e9ef66e33089d09452892696ea97d1dca1 Author: Trond Myklebust Date: Tue Jun 5 19:27:00 2007 -0400 NFS: nfs3_proc_create() should use nfs_post_op_update_inode() Also get rid of a redundant call to nfs_setattr_update_inode(). The call to nfs3_proc_setattr() already takes care of that. Signed-off-by: Trond Myklebust commit aa53ed541a1fec78a78d02afc8b042d040cc080d Author: Jeff Layton Date: Tue Jun 5 14:49:03 2007 -0400 NFS4: on a O_EXCL OPEN make sure SETATTR sets the fields holding the verifier The Linux NFS4 client simply skips over the bitmask in an O_EXCL open call and so it doesn't bother to reset any fields that may be holding the verifier. This patch has us save the first two words of the bitmask (which is all the current client has #defines for). The client then later checks this bitmask and turns on the appropriate flags in the sattr->ia_verify field for the following SETATTR call. This patch only currently checks to see if the server used the atime and mtime slots for the verifier (which is what the Linux server uses for this). I'm not sure of what other fields the server could reasonably use, but adding checks for others should be trivial. Signed-off-by: Jeff Layton Signed-off-by: Trond Myklebust commit fc6ae3cf482c385a6fe87ba119d399bb85aa670b Author: Trond Myklebust Date: Tue Jun 5 19:13:47 2007 -0400 NFS: Re-enable forced umounts They disappeared some time around 2.6.18. Signed-off-by: Trond Myklebust commit 83d93f2229348837bf988a1048f7f38789474471 Author: Jeff Layton Date: Thu Jun 7 09:58:08 2007 -0400 NFS: Use GFP_HIGHUSER for page allocation in nfs_symlink() nfs_symlink() allocates a GFP_KERNEL page for the pagecache. Most pagecache pages are allocated using GFP_HIGHUSER, and there's no reason not to do that in nfs_symlink() as well. Signed-off-by: Jeff Layton commit a0356862bcbeb20acf64bc1a82d28a4c5bb957a7 Author: Trond Myklebust Date: Tue Jun 5 13:26:15 2007 -0400 NFS: Fix nfs_reval_fsid() We don't need to revalidate the fsid on the root directory. It suffices to revalidate it on the current directory. Signed-off-by: Trond Myklebust commit b39e625b6e75aa70e26c13f9378756bb5f2af032 Author: Trond Myklebust Date: Mon Jun 11 23:05:07 2007 -0400 NFSv4: Clean up nfs4_call_async() Use rpc_run_task() instead of doing it ourselves. Signed-off-by: Trond Myklebust commit 4a35bd41aff5714deb41c8f14766df3871e2e8f7 Author: Trond Myklebust Date: Tue Jun 5 10:31:33 2007 -0400 NFSv4: Ensure that nfs4_do_close() doesn't race with umount nfs4_do_close() does not currently have any way to ensure that the user won't attempt to unmount the partition while the asynchronous RPC call is completing. This again may cause Oopses in nfs_update_inode(). Add a vfsmount argument to nfs4_close_state to ensure that the partition remains mounted while we're closing the file. Signed-off-by: Trond Myklebust commit ad389da79f7bf9dc12dbc79c9c2740f9ed2f13d1 Author: Trond Myklebust Date: Tue Jun 5 12:30:00 2007 -0400 NFSv4: Ensure asynchronous open() calls always pin the mountpoint A number of race conditions may currently ensue if the user presses ^C and then unmounts the partition while an asynchronous open() is in progress. Signed-off-by: Trond Myklebust commit 539cd03a5708c9861a3e738e6f363ad743c85ddf Author: Trond Myklebust Date: Tue Jun 5 11:46:42 2007 -0400 NFSv4: Cleanup: pass the nfs_open_context to open recovery code Signed-off-by: Trond Myklebust commit 88be9f990fe70f0f177ef44a16a477599e91f825 Author: Trond Myklebust Date: Tue Jun 5 10:42:27 2007 -0400 NFS: Replace vfsmount and dentry in nfs_open_context with struct path Signed-off-by: Trond Myklebust commit de05a0cc2a2ae16eb8d8dbf88fe728ace45beb9a Author: Trond Myklebust Date: Sun May 20 13:05:05 2007 -0400 NFS: Minor read optimisation... Since PG_uptodate may now end up getting set during the call to nfs_wb_page(), we can avoid putting a read request on the wire in those situations. Signed-off-by: Trond Myklebust commit 44dd151d5c21234cc534c47d7382f5c28c3143cd Author: Trond Myklebust Date: Sat May 19 11:58:03 2007 -0400 NFS: Don't mark a written page as uptodate until it is on disk The write may fail, so we should not mark the page as uptodate until we are certain that the data has been accepted and written to disk by the server. Signed-off-by: Trond Myklebust commit d9df8d6b38228afab519094048aa2c082b0b2cf4 Author: Trond Myklebust Date: Tue May 22 10:22:20 2007 -0400 NFS: Don't fail an O_DIRECT read/write if get_user_pages() returns pages There is no need to fail the entire O_DIRECT read/write just because get_user_pages() returned fewer pages than we requested. Signed-off-by: Trond Myklebust commit 070ea60214c1894c9eec86ca9aa5dff57a5ab525 Author: Chuck Lever Date: Sat May 19 17:22:52 2007 -0400 NFS: Clean ups in fs/nfs/direct.c Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit bf22f6fe2d72b4d7e9035be8ceb340414cf490e3 Merge: 4eb6bf6... 93ab471... Author: Paul Mackerras Date: Wed Jul 11 13:28:26 2007 +1000 Merge branch 'for-2.6.23' into merge commit 93ab471889c6662b42ce7da257f31f24c08d7d9e Author: Wade Farnsworth Date: Wed Jul 11 02:55:46 2007 +1000 [POWERPC] Create add_rtc() function to enable the RTC CMOS driver In order to use the RTC CMOS driver, each architecture must register a platform device for the RTC. This creates a function to register the platform device based on the RTC device node and verifies that the RTC port against the hard-coded value in asm/mc146818rtc.h. Signed-off-by: Wade Farnsworth Signed-off-by: Paul Mackerras commit 3c0c9e389bb9618fee2300eea2d135e4db64c4ba Author: Brian King Date: Wed Jul 11 00:41:14 2007 +1000 [POWERPC] Add H_ILLAN_ATTRIBUTES hcall number Adds the number for the H_ILLAN_ATTRIBUTES hcall. Signed-off-by: Brian King Signed-off-by: Paul Mackerras commit a527ad88a2f11f7ccab3038608e5c50ceae570a3 Author: Grant Likely Date: Tue Jul 10 09:51:05 2007 +1000 [POWERPC] xilinxfb: Parameterize xilinxfb platform device registration This allows multiple xilinxfb devices to be registered and used. Signed-off-by: Grant Likely cc: Andrei Konovalov Signed-off-by: Paul Mackerras commit 31a12cece7c71c47e61ab8ed45bbff5aac4c1931 Author: Mike Wolf Date: Tue Jul 10 13:13:47 2007 -0500 [POWERPC] Oprofile support for Power 5++ This adds a new oprofile cpu type for Power 5 revision 3 chips. The new name is ppc64/power5++ and is used so that the performance counters can be set up correctly. Signed-off-by: Mike Wolf Signed-off-by: Paul Mackerras commit c6c656b4b6ddfc964f1a43394bf86bc76c5e8119 Author: Oliver McFadden Date: Wed Jul 11 12:24:10 2007 +1000 r300: updates register header This updates the R300 register names and allows the VAP_PVS_WAITIDLE register to be written. Signed-off-by: Dave Airlie commit ddbee33328dcfb892cd91f2d57a1822f4d6f70d9 Author: Dave Airlie Date: Wed Jul 11 12:16:01 2007 +1000 radeon: add support for vblank on crtc2 This adds support for CRTC2 vblank on radeon similiar to the i915. Signed-off-by: Dave Airlie commit 7c158acef8f0e51c3a5f71133aaf402628370a64 Author: Dave Airlie Date: Wed Jul 11 12:05:36 2007 +1000 drm: cleanup list initialisation Signed-off-by: Dave Airlie commit 6f710105f5a4971078c46ae258cbb76db1ee967a Author: Dave Airlie Date: Mon May 28 19:41:35 2007 +1000 drm: fix typo on code drm getsarea Signed-off-by: Dave Airlie commit da509d7a02cb54938776439edc81f057e39f81e0 Author: Dave Airlie Date: Sat May 26 05:04:51 2007 +1000 drm: remove DRM_GETSAREA and replace with drm_getsarea function Signed-off-by: Dave Airlie commit bd1b331fae2813d9f03ceee649296f02edc0b893 Author: Dave Airlie Date: Sat May 26 05:01:51 2007 +1000 drm: cleanup use of Linux list handling macros This makes the drms use of the list handling macros a lot cleaner and more along the lines of how they should be used and uses them in some more places. Signed-off-by: Dave Airlie commit 814600ee10d3c056ada315cdbdc2ebe48f54c75a Author: Tejun Heo Date: Sun Jul 1 19:05:58 2007 +0900 libata-link: add PMP related ATA constants Add Port Multiplier related ATA constants and macros. Some of these will be used by ata_link implementation. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit fee7ca72d3dae1078031b6fd272b9930f43bd3d1 Author: Tejun Heo Date: Sun Jul 1 19:05:58 2007 +0900 libata-link: separate out ata_eh_handle_dev_fail() Separate out ata_eh_handle_dev_fail() from ata_eh_recover(). This is in preparation of ata_link and PMP support. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 790956e7bbf0a7b73e72b04d3bd63d974c7e29bb Author: Jeff Garzik Date: Tue Jul 10 21:36:13 2007 -0400 pata_hpt3x3: fix DMA Kconfig option to actually have a hope of working The hook that set DMA mode was accidentally deleted in the original patch. Signed-off-by: Jeff Garzik commit 2f8d90ab797682ab51b27748b960aec8aa42892f Author: Prarit Bhargava Date: Tue Jul 10 18:13:28 2007 -0400 Add Hitachi HDS7250SASUN500G 0621KTAWSD to NCQ blacklist Add Hitachi HDS7250SASUN500G 0621KTAWSD to list of devices with broken NCQ. Signed-off-by: Prarit Bhargava Signed-off-by: Jeff Garzik commit fae57d348379861f115fe1e586a1e0902b71ae9e Author: Akira Iguchi Date: Tue Jul 10 18:29:34 2007 +0900 pata_scc.c: Workaround for errata A308 Workaround for errata A308: turn down the UDMA mode and retry the DMA command when the data lost condition is detected. Signed-off-by: Kou Ishizaki Signed-off-by: Akira Iguchi Signed-off-by: Jeff Garzik commit a520f2614690b8d3a7b431a1d8a40ea6a04d4827 Author: Tejun Heo Date: Tue Jul 10 16:16:18 2007 +0900 libata: add FUJITSU MHV2080BH to NCQ blacklist Please warmly welcome the first member from FUJITSU to the prestigious NCQ spurious completion club. This is reported by Serge Van Thillo in bugzilla bug 8730. http://bugzilla.kernel.org/show_bug.cgi?id=8730 Signed-off-by: Tejun Heo Cc: Serge van Thillo Signed-off-by: Jeff Garzik commit 66e7da4e34610e84bdb1bf726031d6c4c88cbbf9 Author: Alan Cox Date: Mon Jul 9 11:46:22 2007 -0700 pata_hpt3x3: major reworking and testing The HPT343/345 (aka 363) is a bit of a warped device. For many setups you need to access the other registers via BAR4 offsets. PIO is now rock solid, DMA isn't. Unfortunately the drivers/ide hpt34x driver is completely broken so doesn't help further debug. Signed-off-by: Alan Cox Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 75683fe7153c3817bb4fd4491e2a5913af6c463e Author: Tejun Heo Date: Thu Jul 5 13:31:27 2007 +0900 libata: clean up horkage handling Horkage handling had the following problems. * dev->horkage was positioned after ATA_DEVICE_CLEAR_OFFSET, so it was cleared before the device is configured. This broke HORKAGE_DIAGNOSTIC. * Some used dev->horkage while others called ata_device_blacklisted() directly. This was at best confusing. This patch moves dev->horkage right after dev->flags and set the field according to the blacklist during device configuration. All users test against dev->horkage. ata_device_blacklisted() now has only one user, make it static. While at it, rename it to ata_dev_blacklisted() for consistency. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 39ce7128066f2ac5954bcda9f07f429f28166da3 Author: Tejun Heo Date: Thu Jul 5 12:31:31 2007 +0900 libata: quirk IOMEGA ZIP 250 ATAPI FLOPPY The Zip 250 which chokes on MWDMA SET_XFERMODE sometimes have "Floppy" appeneded to its model number. Quirk it too. http://bugzilla.kernel.org/show_bug.cgi?id=8563 Signed-off-by: Tejun Heo Cc: Hans de Bruin Signed-off-by: Jeff Garzik commit d583bc18812f8da52bf25eef9cd111e5fd46a6ab Author: Tejun Heo Date: Wed Jul 4 18:02:07 2007 +0900 libata: simplify PCI legacy SFF host handling With PCI resource fix up for legacy hosts. We can use the same code path to allocate IO resources and initialize host for both legacy and native SFF hosts. Only IRQ requesting needs to be different. Rename ata_pci_*_native_host() to ata_pci_*_sff_host(), kill all legacy specific functions and use the renamed functions instead. This simplifies code a lot. Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit 35142ddbf7d81ff3f1d9521611e734b8d5014df2 Author: Domen Puncer Date: Tue Jul 3 10:27:38 2007 +0200 pata_mpc52xx: suspend/resume support Implement suspend and resume routines for mpc52xx ata driver. Tested on Lite5200b with deep-sleep and low-power (not yet in-tree) modes. Signed-off-by: Domen Puncer Signed-off-by: Jeff Garzik commit a77720ad0a4049e4bc6355e4febf899966a48222 Author: Mikael Pettersson Date: Tue Jul 3 01:09:05 2007 +0200 sata_promise: SATA hotplug support, take 2 This patch enables hotplugging of SATA devices in the sata_promise driver. It's been tested successfully on both first- and second-generation Promise SATA chips: SATA150 TX2plus, SATAII150 TX2plus, SATAII150 TX4, SATA300 TX2plus, and SATA300 TX4. The only quirk I've seen is that hotplugging (insertion) on the first-generation SATA150 TX2plus requires a lengthier EH sequence than on the second-generation chips. On the second-generation chips a simple soft reset seems to suffice, but on the first-generation chip there's a "port is slow to respond" after the initial soft reset, after which libata issues a hard reset, and then the device is recognised. The hotplug checks are high up in the interrupt handling path, not deep down in error_intr as in ahci/sata_sil24. That's because the chip doesn't signal hotplug status changes in the per-port status register: instead a global register contains hotplug control and status flags for all ports. I considered following the ahci/sata_sil24 structure, but that would have required non-trivial changes to the interrupt handling path, so I chose to keep the hotplug changes simple and unobtrusive. Signed-off-by: Mikael Pettersson -- This patch depends on the "sata_promise: cleanups" patch. Changes since the previous version (posted June 19): - Correct pdc_interrupt() to increment 'handled' also in the hotplug case. This prevents IRQ_NONE from being returned when an interrupt only has hotplug events to handle, which could confuse the kernel's IRQ machinery. - Added testing on the SATAII150 TX4. drivers/ata/sata_promise.c | 41 ++++++++++++++++++++++++++++++++++++----- 1 files changed, 36 insertions(+), 5 deletions(-) Signed-off-by: Jeff Garzik commit 15ce09432a4399e61b57f2ceb564522d6534c15f Author: Alan Cox Date: Fri May 25 20:50:24 2007 +0100 pata_sis: FIFO whack If you are using a SiS controller and the BIOS didn't set it up then the FIFO may be left active when we try and set up the CD. Not convinced this matters but I'd prefer to be safe Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 45a66c1c3ff88e8050dd25e81bafdf79a12a8042 Author: Oleg Nesterov Date: Mon Jul 9 11:46:13 2007 -0700 libata-core: convert to use cancel_rearming_delayed_work() We should not use cancel_work_sync(delayed_work->work). This works, but not good. We can use cancel_rearming_delayed_work(), this also simplifies the code. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 4eb6bf6bfb580afaf1e1a1d30cba17a078530cf4 Author: Alan Cox Date: Tue Jul 10 17:22:27 2007 -0700 lots-of-architectures: enable arbitary speed tty support Add the termios2 structure ready for enabling on most platforms. One or two like Sparc are plain weird so have been left alone. Most can use the same structure as ktermios for termios2 (ie the newer ioctl uses the structure matching the current kernel structure) Signed-off-by: Alan Cox Cc: Bryan Wu Cc: Ian Molton Cc: Haavard Skinnemoen Cc: Yoshinori Sato Cc: Mikael Starvik Cc: David Howells Cc: "Luck, Tony" Cc: Hirokazu Takata Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: Ralf Baechle Cc: Kyle McMartin Cc: Matthew Wilcox Cc: Heiko Carstens Cc: Martin Schwidefsky Cc: Paul Mundt Cc: Kazumoto Kojima Cc: Richard Curnow Cc: Miles Bader Cc: Chris Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcf67e16251c42302499499b1c50f7d35622f564 Author: Pavel Emelianov Date: Tue Jul 10 17:22:26 2007 -0700 Make common helpers for seq_files that work with list_heads Many places in kernel use seq_file API to iterate over a regular list_head. The code for such iteration is identical in all the places, so it's worth introducing a common helpers. This makes code about 300 lines smaller: The first version of this patch made the helper functions static inline in the seq_file.h header. This patch moves them to the fs/seq_file.c as Andrew proposed. The vmlinux .text section sizes are as follows: 2.6.22-rc1-mm1: 0x001794d5 with the previous version: 0x00179505 with this patch: 0x00179135 The config file used was make allnoconfig with the "y" inclusion of all the possible options to make the files modified by the patch compile plus drivers I have on the test node. This patch: Many places in kernel use seq_file API to iterate over a regular list_head. The code for such iteration is identical in all the places, so it's worth introducing a common helpers. Signed-off-by: Pavel Emelianov Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c14d444b55f285063a4018c10d521614b70b581a Author: Jiri Slaby Date: Tue Jul 10 17:22:25 2007 -0700 sx: switch subven and subid values sx.c is failing to locate Graham's card. Signed-off-by: Jiri Slaby Cc: Graham Murray Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64c70b1cf43de158282bc1675918d503e5b15cc1 Author: Richard Purdie Date: Tue Jul 10 17:22:24 2007 -0700 Add LZO1X algorithm to the kernel This is a hybrid version of the patch to add the LZO1X compression algorithm to the kernel. Nitin and myself have merged the best parts of the various patches to form this version which we're both happy with (and are jointly signing off). The performance of this version is equivalent to the original minilzo code it was based on. Bytecode comparisons have also been made on ARM, i386 and x86_64 with favourable results. There are several users of LZO lined up including jffs2, crypto and reiser4 since its much faster than zlib. Signed-off-by: Nitin Gupta Signed-off-by: Richard Purdie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54c57dc3b6578356c0a428c767d4bf080254a2ee Author: Eric Sandeen Date: Wed Jun 20 17:15:10 2007 -0700 [PATCH] ocfs2: zero_user_page conversion Signed-off-by: Eric Sandeen Signed-off-by: Mark Fasheh commit b25801038da5823bba1b5440a57ca68afc51b6bd Author: Mark Fasheh Date: Fri Mar 9 16:53:21 2007 -0800 ocfs2: Support xfs style space reservation ioctls We re-use the RESVSP/UNRESVSP ioctls from xfs which allow the user to allocate and deallocate regions to a file without zeroing data or changing i_size. Though renamed, the structure passed in from user is identical to struct xfs_flock64. The three fields that are actually used right now are l_whence, l_start and l_len. This should get ocfs2 immediate compatibility with userspace software using the pre-existing xfs ioctls. Signed-off-by: Mark Fasheh commit 063c4561f52a74de686fe0ff2f96f4f54c9fecd2 Author: Mark Fasheh Date: Tue Jul 3 13:34:11 2007 -0700 ocfs2: support for removing file regions Provide an internal interface for the removal of arbitrary file regions. ocfs2_remove_inode_range() takes a byte range within a file and will remove existing extents within that range. Partial clusters will be zeroed so that any read from within the region will return zeros. Signed-off-by: Mark Fasheh commit 35edec1d52c075975991471d624b33b9336226f2 Author: Mark Fasheh Date: Fri Jul 6 14:41:18 2007 -0700 ocfs2: update truncate handling of partial clusters The partial cluster zeroing code used during truncate usually assumes that the rightmost byte in the range to be zeroed lies on a cluster boundary. This makes sense for truncate, but punching holes might require zeroing on non-aligned rightmost boundaries. Signed-off-by: Mark Fasheh commit d0c7d7082ee1ec4f95ee57bf86ed39d1a27c4037 Author: Mark Fasheh Date: Tue Jul 3 13:27:22 2007 -0700 ocfs2: btree support for removal of arbirtrary extents Add code to the btree paths to support the removal of arbitrary regions within an existing extent. With proper higher level support this can be used to "punch holes" in a file. Truncate (a special case of hole punching) could also be converted to use these methods. Signed-off-by: Mark Fasheh commit 2ae99a60374f360ba07037ebbf33d19b89ac43a6 Author: Mark Fasheh Date: Fri Mar 9 16:43:28 2007 -0800 ocfs2: Support creation of unwritten extents This can now be trivially supported with re-use of our existing extend code. ocfs2_allocate_unwritten_extents() takes a start offset and a byte length and iterates over the inode, adding extents (marked as unwritten) until len is reached. Existing extents are skipped over. Signed-off-by: Mark Fasheh commit b27b7cbcf12a1bfff1ed68a73ddd7d11edc20daf Author: Mark Fasheh Date: Mon Jun 18 11:22:56 2007 -0700 ocfs2: support writing of unwritten extents Update the write code to detect when the user is asking to write to an unwritten extent. Like writing to a hole, we must zero the region between the write and the cluster boundaries. Most of the existing cluster zeroing logic can be re-used with some additional checks for the unwritten flag on extent records. Signed-off-by: Mark Fasheh commit 0d172baa5586071ae0ae0c07356a378fdbedecdb Author: Mark Fasheh Date: Mon May 14 18:09:54 2007 -0700 ocfs2: small cleanup of ocfs2_write_begin_nolock() We can easily seperate out the write descriptor setup and manipulation into helper functions. Signed-off-by: Mark Fasheh commit 328d5752e1259dfb29b7e65f6c2d145fddbaa750 Author: Mark Fasheh Date: Mon Jun 18 10:48:04 2007 -0700 ocfs2: btree changes for unwritten extents Writes to a region marked as unwritten might result in a record split or merge. We can support splits by making minor changes to the existing insert code. Merges require left rotations which mostly re-use right rotation support functions. Signed-off-by: Mark Fasheh commit c3afcbb34426a9291e4c038540129053a72c3cd8 Author: Mark Fasheh Date: Tue May 29 14:28:51 2007 -0700 ocfs2: abstract btree growing calls The top level calls and logic for growing a tree can easily be abstracted out of ocfs2_insert_extent() into a seperate function - ocfs2_grow_tree(). This allows future code to easily grow btrees when needed. Signed-off-by: Mark Fasheh commit 1f6697d072e6fd0b332a4301c21060dcb89bd623 Author: Mark Fasheh Date: Mon Jun 25 14:53:33 2007 -0700 ocfs2: use all extent block suballocators Now that we have a method to deallocate blocks from them, each node should allocate extent blocks from their local suballocator file. Signed-off-by: Mark Fasheh commit 59a5e416d1ab543a5248a2b34d83202c4d55d132 Author: Mark Fasheh Date: Fri Jun 22 15:52:36 2007 -0700 ocfs2: plug truncate into cached dealloc routines Signed-off-by: Mark Fasheh commit 2b604351bc99b4e4504758cbac369b660b71de0b Author: Mark Fasheh Date: Fri Jun 22 15:45:27 2007 -0700 ocfs2: simplify deallocation locking Deallocation of suballocator blocks, most notably extent blocks, might involve multiple suballocator inodes. The locking for this can get extremely complicated, especially when the suballocator inodes to delete from aren't known until deep within an unrelated codepath. Implement a simple scheme for recording the blocks to be unlinked so that the actual deallocation can be done in a context which won't deadlock. Signed-off-by: Mark Fasheh commit bce997682fe3121516f5a20cf7bad2e6029ba018 Author: Mark Fasheh Date: Mon Jun 18 11:12:36 2007 -0700 ocfs2: harden buffer check during mapping of page blocks We don't want to submit buffer_new blocks for read i/o. This actually won't happen right now because those requests during an allocating write are all nicely aligned. It's probably a good idea to provide an explicit check though. Signed-off-by: Mark Fasheh commit 7307de80510a70e5e5aa98de1e80ccbb7d90a3a8 Author: Mark Fasheh Date: Wed May 9 15:16:19 2007 -0700 ocfs2: shared writeable mmap Implement cluster consistent shared writeable mappings using the ->page_mkwrite() callback. Signed-off-by: Mark Fasheh commit 607d44aa3fa6f40b0facaf1028886ed362b92682 Author: Mark Fasheh Date: Wed May 9 15:14:45 2007 -0700 ocfs2: factor out write aops into nolock variants ocfs2_mkwrite() will want this so that it can add some mmap specific checks before asking for a write. Signed-off-by: Mark Fasheh commit 3a307ffc2730bfa1a4dfa94537be9d412338aad2 Author: Mark Fasheh Date: Tue May 8 17:47:32 2007 -0700 ocfs2: rework ocfs2_buffered_write_cluster() Use some ideas from the new-aops patch series and turn ocfs2_buffered_write_cluster() into a 2 stage operation with the caller copying data in between. The code now understands multiple cluster writes as a result of having to deal with a full page write for greater than 4k pages. This sets us up to easily call into the write path during ->page_mkwrite(). Signed-off-by: Mark Fasheh commit 2e89b2e48e1da09ed483f195968c9172aa95b5e2 Author: Mark Fasheh Date: Wed May 9 13:40:18 2007 -0700 ocfs2: take ip_alloc_sem during entire truncate Use of the alloc sem during truncate was too narrow - we want to protect the i_size change and page truncation against mmap now. Signed-off-by: Mark Fasheh commit baf4661a8225d3a39622b795a8db0e6aa845c1ec Author: Sunil Mushran Date: Mon Jun 18 17:00:24 2007 -0700 ocfs2: Add "preferred slot" mount option ocfs2 will attempt to assign the node the slot# provided in the mount option. Failure to assign the preferred slot is not an error. This small feature can be useful for automated testing. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit 5fb0f7f010ba07e373c30c3e99b0efd868c6c977 Author: Shani Moideen Date: Mon Jun 11 09:38:19 2007 +0530 [KJ PATCH] Replacing memset(,0,PAGE_SIZE) with clear_page() in fs/ocfs2/dlm/dlmrecovery.c Replacing memset(,0,PAGE_SIZE) with clear_page() in fs/ocfs2/dlm/dlmrecovery.c Signed-off-by: Shani Moideen Signed-off-by: Mark Fasheh commit 800deef3f6f87fee3a2e89cf7237a1f20c1a78d7 Author: Christoph Hellwig Date: Thu May 17 16:03:13 2007 +0200 [PATCH] ocfs2: use list_for_each_entry where benefical Signed-off-by: Christoph Hellwig Signed-off-by: Mark Fasheh commit e6df3a663a5d1ee68aeae7f007197f272700d9cc Author: Joel Becker Date: Tue Feb 6 15:45:39 2007 -0800 ocfs2: Wake up a starting region if it gets killed in the background. Tell o2cb_region_dev_write() to wake up if rmdir(2) happens on the heartbeat region while it is starting up. Then o2hb_region_dev_write() can check to see if it is alive and act accordingly. This prevents a hang (not being woken) and a crash (if it's woken by a signal). Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 16c6a4f24de2933b26477ad5dfb71f518220d641 Author: Joel Becker Date: Tue Jun 19 11:34:03 2007 -0700 ocfs2: live heartbeat depends on the local node configuration Removing the local node configuration out from underneath a running heartbeat is "bad". Provide an API in the ocfs2 nodemanager to request a configfs dependancy on the local node, then use it in heartbeat. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 14829422be6d6b6721f61b1e749acf5a9cb664d8 Author: Joel Becker Date: Thu Jun 14 21:40:49 2007 -0700 ocfs2: Depend on configfs heartbeat items. ocfs2 mounts require a heartbeat region. Use the new configfs_depend_item() facility to actually depend on them so they can't go away from under us. First, teach cluster/nodemanager.c to depend an item on the o2cb subsystem. Then teach o2hb_register_callbacks to take a UUID and depend on the appropriate region. Finally, teach all users of o2hb to pass a UUID or NULL if they don't require a pin. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 631d1febab8e546e3bb800bdfe2c212b8adf87de Author: Joel Becker Date: Mon Jun 18 18:06:09 2007 -0700 configfs: config item dependancies. Sometimes other drivers depend on particular configfs items. For example, ocfs2 mounts depend on a heartbeat region item. If that region item is removed with rmdir(2), the ocfs2 mount must BUG or go readonly. Not happy. This provides two additional API calls: configfs_depend_item() and configfs_undepend_item(). A client driver can call configfs_depend_item() on an existing item to tell configfs that it is depended on. configfs will then return -EBUSY from rmdir(2) for that item. When the item is no longer depended on, the client driver calls configfs_undepend_item() on it. These API cannot be called underneath any configfs callbacks, as they will conflict. They can block and allocate. A client driver probably shouldn't calling them of its own gumption. Rather it should be providing an API that external subsystems call. How does this work? Imagine the ocfs2 mount process. When it mounts, it asks for a heart region item. This is done via a call into the heartbeat code. Inside the heartbeat code, the region item is looked up. Here, the heartbeat code calls configfs_depend_item(). If it succeeds, then heartbeat knows the region is safe to give to ocfs2. If it fails, it was being torn down anyway, and heartbeat can gracefully pass up an error. [ Fixed some bad whitespace in configfs.txt. --Mark ] Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 299894cc9001b09e3e9685f2709b49e7e1092ccc Author: Joel Becker Date: Fri Oct 6 17:33:23 2006 -0700 configfs: accessing item hierarchy during rmdir(2) Add a notification callback, ops->disconnect_notify(). It has the same prototype as ->drop_item(), but it will be called just before the item linkage is broken. This way, configfs users who want to do work while the object is still in the heirarchy have a chance. Client drivers will still need to config_item_put() in their ->drop_item(), if they implement it. They need do nothing in ->disconnect_notify(). They don't have to provide it if they don't care. But someone who wants to be notified before ci_parent is set to NULL can now be notified. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 6d748924b753d63a57dad130fdf11f64c27ff54b Author: Johannes Berg Date: Fri Jun 22 11:20:00 2007 +0200 [PATCH] configsfs buffer: use mutex Seems copied from sysfs, but I don't see a reason here nor there to use a semaphore instead of a mutex. Convert. Signed-off-by: Johannes Berg Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit e6bd07aee739566803425acdbf5cdb29919164e1 Author: Joel Becker Date: Fri Jul 6 23:33:17 2007 -0700 configfs: Convert subsystem semaphore to mutex Convert the su_sem member of struct configfs_subsystem to a struct mutex, as that's what it is. Also convert all the users and update Documentation/configfs.txt and Documentation/configfs_example.c accordingly. [ Conflict in fs/dlm/config.c with commit 3168b0780d06ace875696f8a648d04d6089654e5 manually resolved. --Mark ] Inspired-by: Satyam Sharma Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 3fe6c5ce1176cf661dbe71fc43b627c1a742a89a Author: Satyam Sharma Date: Wed Jul 4 16:37:16 2007 +0530 [PATCH] configfs+dlm: Rename config_group_find_obj and state semantics clearly Configfs being based upon sysfs code, config_group_find_obj() is probably so named because of the similar kset_find_obj() in sysfs. However, "kobject"s in sysfs become "config_item"s in configfs, so let's call it config_group_find_item() instead, for sake of uniformity, and make corresponding change in the users of this function. BTW a crucial difference between kset_find_obj and config_group_find_item is in locking expectations. kset_find_obj does its locking by itself, but config_group_find_item expects the *caller* to do the locking. The reason for this: kset's have their own locks, config_group's don't but instead rely on the subsystem mutex. And, subsystem needn't necessarily be around when config_group_find_item() is called. So let's state these locking semantics explicitly, and rectify the comment, otherwise bugs could continue to occur in future, as they did in the past (refer commit d82b8191e238 in gfs2-2.6-fixes.git). [ I also took the opportunity to fix some bad whitespace and double-empty lines. --Joel ] [ Conflict in fs/dlm/config.c with commit 3168b0780d06ace875696f8a648d04d6089654e5 manually resolved. --Mark ] Signed-off-by: Satyam Sharma Cc: David Teigland Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 9b1d9aa4e9c5cafe73b9df21d758b50b5d75264d Author: Satyam Sharma Date: Wed Jul 4 16:37:06 2007 +0530 [PATCH] configfs+dlm: Separate out __CONFIGFS_ATTR into configfs.h fs/dlm/config.c contains a useful generic macro called __CONFIGFS_ATTR that is similar to sysfs' __ATTR macro that makes defining attributes easy for any user of configfs. Separate it out into configfs.h so that other users (forthcoming in dynamic netconsole patchset) can use it too. Signed-off-by: Satyam Sharma Cc: David Teigland Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 4c62b53454a83178676e5ecae6665447d363c7b4 Author: Satyam Sharma Date: Wed Jun 27 16:02:14 2007 +0530 configfs: misc cleanups 1. item.c:config_item_cleanup() is a private function (only called by config_item_release() in same file). However, it is spuriously exported in include/linux/configfs.h, so remove that export and make it static in item.c. Also, it is no longer exported / interface function, so no need to give comment for this function (the comment was stating obvious thing, anyway). 2. Kernel-doc comment format does not allow empty line between end of comment and start of function (declaration line). There were several such spurious empty lines in item.c, so fix them. fs/configfs/item.c | 15 +++------------ include/linux/configfs.h | 1 - 2 files changed, 3 insertions(+), 13 deletions(-) Signed-off-by: Satyam Sharma Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit b23cdde4c6240d70bb3d2e3c4046b60d6f6c8451 Author: Joel Becker Date: Fri Jun 22 13:07:02 2007 -0700 configfs: consistent attribute size The attribute store/show code currently limits attributes at PAGE_SIZE. This code comes from sysfs, where it still works that way. However, PAGE_SIZE is not constant. A 16k attribute string works on ia64 but not on x86. Really a subsystem shouldn't allow different attribute sizes based on platform. As such, limit all simple attributes to 4k. This works on all platforms, and is consistent with all current code. Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 4c75f7416f51b0c6855952467a5db04f9c598f09 Merge: 6ed911f... ed99c54... Author: Linus Torvalds Date: Tue Jul 10 14:57:52 2007 -0700 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: at91_mci: fix hanging and rework to match flowcharts mmc: at91_mci typo sdhci: Fix "Unexpected interrupt" handling mmc: fix silly copy-and-paste error mmc: move layer init and workqueue to core file mmc: refactor host class handling mmc: refactor bus operations sdhci: add ene controller id mmc: bounce requests for simple hosts commit 6ed911fb04886c5510a41cd89203b931b1c5d261 Merge: 64b853a... 4ad072c... Author: Linus Torvalds Date: Tue Jul 10 14:56:22 2007 -0700 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (40 commits) bonding/bond_main.c: make 2 functions static ps3: gigabit ethernet driver for PS3, take3 [netdrvr] Fix dependencies for ax88796 ne2k clone driver eHEA: Capability flag for DLPAR support Remove sk98lin ethernet driver. sunhme.c:quattro_pci_find() must be __devinit bonding / ipv6: no addrconf for slaves separately from master atl1: remove write-only var in tx handler macmace: use "unsigned long flags;" Cleanup usbnet_probe() return value handling netxen: deinline and sparse fix eeprom_93cx6: shorten pulse timing to match spec (bis) phylib: Add Marvell 88E1112 phy id phylib: cleanup marvell.c a bit AX88796 network driver IOC3: Switch to pci refcounting safe APIs e100: Fix Tyan motherboard e100 not receiving IPMI commands QE Ethernet driver writes to wrong register to mask interrupts rrunner.c:rr_init() must be __devinit tokenring/3c359.c:xl_init() must be __devinit ... commit 64b853aa328f34dd58e4e617cded91e2ddbcac13 Merge: 0f16639... c1e4fe7... Author: Linus Torvalds Date: Tue Jul 10 14:50:16 2007 -0700 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: (32 commits) [libata] sata_mv: print out additional chip info during probe [libata] Use ATA_UDMAx standard masks when filling driver's udma_mask info [libata] AHCI: Add support for Marvell AHCI-like chips (initially 6145) [libata] Clean up driver udma_mask initializers libata: Support chips with 64K PRD quirk Add a PCI ID for santa rosa's PATA controller. sata_sil24: sil24_interrupt() micro-optimisation Add irq_flags to struct pata_platform_info sata_promise: cleanups [libata] pata_ixp4xx: kill unused var ata_piix: fix pio/mwdma programming [libata] ahci: minor internal cleanups [ATA] Add named constant for ATAPI command DEVICE RESET [libata] sata_sx4, sata_via: minor documentation updates [libata] ahci: minor internal cleanups [libata] ahci: Factor out SATA port init into a separate function [libata] pata_sil680: minor cleanups from benh [libata] sata_sx4: named constant cleanup [libata] pata_ixp4xx: convert to new EH [libata] pdc_adma: Reorder initializers with a couple structs ... commit 0f166396e7e8931bb4acfd1a6ea1bd4f0b43f1dd Merge: 5f60cfd... 105b1bc... Author: Linus Torvalds Date: Tue Jul 10 14:48:43 2007 -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: (62 commits) [MIPS] PNX8550: Cleanup proc code. [MIPS] WRPPMC: Fix build. [MIPS] Yosemite: Fix modpost warnings. [MIPS] Change names of local variables to silence sparse [MIPS] SB1: Fix modpost warning. [MIPS] PNX: Fix modpost warnings. [MIPS] Alchemy: Fix modpost warnings. [MIPS] Non-FPAFF: Fix warning. [MIPS] DEC: Fix modpost warning. [MIPS] MIPSsim: Enable MIPSsim virtual network driver. [MIPS] Delete Ocelot 3 support. [MIPS] remove LASAT Networks platforms support [MIPS] Early check for SMTC kernel on non-MT processor [MIPS] Add debugfs files to show fpuemu statistics [MIPS] Add some debugfs files to debug unaligned accesses [MIPS] rbtx4938: Fix secondary PCIC and glue internal NICs [MIPS] tc35815: Load MAC address via platform_device [MIPS] Move FPU affinity code into separate file. [MIPS] Make ioremap() work on TX39/49 special unmapped segment [MIPS] rbtx4938: Update and minimize defconfig ... commit 5f60cfd932b42c69ed3226400cb5eab152576c3a Merge: 9f9d763... d7ce6d1... Author: Linus Torvalds Date: Tue Jul 10 14:47:59 2007 -0700 Merge git://git.infradead.org/~dwmw2/battery-2.6 * git://git.infradead.org/~dwmw2/battery-2.6: [BATTERY] ds2760 W1 slave [BATTERY] One Laptop Per Child power/battery driver [BATTERY] Apple PMU driver [BATTERY] 1-Wire ds2760 chip battery driver [BATTERY] APM emulation driver for class batteries [BATTERY] pda_power platform driver [BATTERY] Universal power supply class (was: battery class) commit 9f9d76321659b5ebc9939101481f7c3ce228ea6e Merge: 1b21f45... f60d891... Author: Linus Torvalds Date: Tue Jul 10 14:46:09 2007 -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] vmlogrdr function annotation. [S390] s390: rename CPU_IDLE to S390_CPU_IDLE [S390] cio: Remove prototype for non-existing function cmf_reset(). [S390] zcrypt: fix request timeout handling [S390] system call optimization. [S390] dasd: Avoid compile warnings on !CONFIG_DASD_PROFILE [S390] Remove volatile from atomic_t [S390] Program check in diag 210 under 31 bit [S390] Bogomips calculation for 64 bit. [S390] smp: Merge smp_count_cpus() and smp_get_save_areas(). [S390] zcore: Fix __user annotation. [S390] fixed cdl-format detection. [S390] sclp: Test facility list before executing a service call. [S390] sclp: introduce some new interfaces. [S390] Fixed comment typo. [S390] vmcp cleanup commit 1b21f458ddbc8fb6fceeb68158e9e04b2571dabd Merge: 01370f0... 3ebf449... Author: Linus Torvalds Date: Tue Jul 10 13:56:13 2007 -0700 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: (57 commits) [GFS2] Accept old format NFS filehandles [GFS2] Small fixes to logging code [DLM] dump more lock values [GFS2] Remove i_mode passing from NFS File Handle [GFS2] Obtaining no_formal_ino from directory entry [GFS2] git-gfs2-nmw-build-fix [GFS2] System won't suspend with GFS2 file system mounted [GFS2] remounting w/o acl option leaves acls enabled [GFS2] inode size inconsistency [DLM] Telnet to port 21064 can stop all lockspaces [GFS2] Fix gfs2_block_truncate_page err return [GFS2] Addendum to the journaled file/unmount patch [GFS2] Simplify multiple glock aquisition [GFS2] assertion failure after writing to journaled file, umount [GFS2] Use zero_user_page() in stuffed_readpage() [GFS2] Remove bogus '\0' in rgrp.c [GFS2] Journaled file write/unstuff bug [DLM] don't require FS flag on all nodes [GFS2] Fix deallocation issues [GFS2] return conflicts for GETLK ... commit 01370f0603f8435d415a19f7e62d1bab826c3589 Merge: 5cbc39a... 0845718... Author: Linus Torvalds Date: Tue Jul 10 13:51:06 2007 -0700 Merge branch 'splice-2.6.23' of git://git.kernel.dk/data/git/linux-2.6-block * 'splice-2.6.23' of git://git.kernel.dk/data/git/linux-2.6-block: pipe: add documentation and comments pipe: change the ->pin() operation to ->confirm() Remove remnants of sendfile() xip sendfile removal splice: completely document external interface with kerneldoc sendfile: remove bad_sendfile() from bad_file_ops shmem: convert to using splice instead of sendfile() relay: use splice_to_pipe() instead of open-coding the pipe loop pipe: allow passing around of ops private pointer splice: divorce the splice structure/function definitions from the pipe header splice: relay support sendfile: convert nfsd to splice_direct_to_actor() sendfile: convert nfs to using splice_read() loop: convert to using splice_direct_to_actor() instead of sendfile() splice: add void cookie to the actor data sendfile: kill generic_file_sendfile() sendfile: remove .sendfile from filesystems that use generic_file_sendfile() sys_sendfile: switch to using ->splice_read, if available vmsplice: add vmsplice-to-user support splice: abstract out actor data commit 5cbc39a726eafa1198c18adb3cf56ccee371dba1 Merge: 65f88f8... c0613c1... Author: Linus Torvalds Date: Tue Jul 10 13:49:46 2007 -0700 Merge branch 'trivial-2.6.23' of git://git.kernel.dk/data/git/linux-2.6-block * 'trivial-2.6.23' of git://git.kernel.dk/data/git/linux-2.6-block: Documentation/block/barrier.txt is not in sync with the actual code: - blk_queue_ordered() no longer has a gfp_mask parameter - blk_queue_ordered_locked() no longer exists - sd_prepare_flush() looks slightly different Use list_for_each_entry() instead of list_for_each() in the block device Make a "menuconfig" out of the Kconfig objects "menu, ..., endmenu", block/Kconfig already has its own "menuconfig" so remove these Use menuconfigs instead of menus, so the whole menu can be disabled at once cfq-iosched: fix async queue behaviour unexport bio_{,un}map_user Remove legacy CDROM drivers [PATCH] fix request->cmd == INT cases cciss: add new controller support for P700m [PATCH] Remove acsi.c [BLOCK] drop unnecessary bvec rewinding from flush_dry_bio_endio [PATCH] cdrom_sysctl_info fix blk_hw_contig_segment(): bad segment size checks [TRIVIAL PATCH] Kill blk_congestion_wait() stub for !CONFIG_BLOCK commit 1b844afe9e67d6cd441ae6df71051b4004f31dd2 Author: Roland Dreier Date: Tue Jul 10 13:43:53 2007 -0700 IPoIB: Recycle loopback skbs instead of freeing and reallocating InfiniBand HCAs replicate multicast packets back to the QP that sent them if that QP is attached to the destination multicast group. This means that IPoIB multicasts are often replicated back to the receive queue of the interface that generated them. To avoid confusing the network stack, we drop these duplicates within the IPoIB driver. However, there's no reason to free the skb that received the duplicate and then immediately allocate a new skb to post to the receive queue. We can be more efficient and just repost the same skb. Signed-off-by: Roland Dreier commit 8909c571fa1e62e254c4045394e6eaccfadec6f4 Author: Shani Moideen Date: Mon Jun 18 08:46:41 2007 +0530 IB/mthca: Replace memset(, 0, PAGE_SIZE) with clear_page() Signed-off-by: Shani Moideen Signed-off-by: Roland Dreier ---- commit 4ad072c984ebe329c99965ddd1e58b0bb24af12b Author: Adrian Bunk Date: Mon Jul 9 11:51:12 2007 -0700 bonding/bond_main.c: make 2 functions static Signed-off-by: Adrian Bunk Cc: Chad Tindel Cc: Jay Vosburgh Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 4cf92a3cd9117cb90ad9441172b9f42b67ee9d26 Author: Jean Tourrilhes Date: Mon Jul 9 20:37:36 2007 -0500 [PATCH] softmac: Fix ESSID problem Victor Porton reported that the SoftMAC layer had random problem when setting the ESSID : http://bugzilla.kernel.org/show_bug.cgi?id=8686 After investigation, it turned out to be worse, the SoftMAC layer is left in an inconsistent state. The fix is pretty trivial. Signed-off-by: Jean Tourrilhes Acked-by: Michael Buesch Acked-by: Larry Finger Signed-off-by: John W. Linville commit 426921bda10c33231e2b335e4ad08bc755c50740 Author: Matthias Kaehlcke Date: Mon Jul 9 12:03:32 2007 -0700 [PATCH] use list_for_each_entry() for iteration in Prism 54 driver Use list_for_each_entry() instead of manual iteration and substitute a list_for_each_safe() loop with list_for_each_entry_safe() Signed-off-by: Matthias Kaehlcke Cc: Christoph Hellwig Acked-by: Luis R. Rodriguez Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 777fa98194f91dae24fd12de47eec1cbb0375b29 Author: Dan Williams Date: Fri Jul 6 07:59:40 2007 -0400 [PATCH] libertas: fix disabling WPA Found by Guillaume LECERF Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 20089ca55786a243c7b72becd1bf670f4e2c2028 Author: Roland Dreier Date: Tue Jul 10 11:18:34 2007 -0700 IPoIB/cm: Fix warning if IPV6 is not enabled Fix drivers/infiniband/ulp/ipoib/ipoib_cm.c:1151: warning: unused variable 'dev' by getting rid of the variable dev, which is only used if CONFIG_IPV6 is enabled, and replacing the one use of it with the value it is assigned, namely priv->dev. Signed-off-by: Roland Dreier commit 6b62472a5ff9605aafa43a0a341c32127821f7b2 Author: Adrian Bunk Date: Sun Jul 1 22:20:40 2007 +0200 [PATCH] drivers/net/wireless/libertas/wext.c: remove dead code This patch removes dead code introduced by commit 90a42210f275e1f828eb6c08bf8252c2d6a774e0 and spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: John W. Linville commit 74553aedd46b3a2cae986f909cf2a3f99369decc Author: Daniel Drake Date: Sun Jul 1 18:22:32 2007 +0100 [PATCH] zd1211rw: Defer firmware load until first ifup While playing with the firmware a while back, I discovered a way to access the device's entire address space before the firmware has been loaded. Previously we were loading the firmware early on (during probe) so that we could read the MAC address from the EEPROM and register a netdevice. Now that we can read the EEPROM without having firmware, we can defer firmware loading until later while still reading the MAC address early on. This has the advantage that zd1211rw can now be built into the kernel -- previously if this was the case, zd1211rw would be loaded before the filesystem is available and firmware loading would fail. Firmware load and other device initialization operations now happen the first time the interface is brought up. Some architectural changes were needed: handling of the is_zd1211b flag was moved into the zd_usb structure, MAC address handling was obviously changed, and a preinit_hw stage was added (the order is now: init, preinit_hw, init_hw). Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 93f510bbac64f552ef6872a39ae12afa06c4e999 Author: Daniel Drake Date: Sun Jul 1 18:22:21 2007 +0100 [PATCH] zd1211rw: Add ID for Buffalo WLI-U2-KG54L Tested by Zen Kato zd1211b chip 0411:00da v4810 high 00-16-01 AL2230S_RF pa0 g--N- Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 4418583cbf6fcdb715fcdc3719393cfb64b73e97 Author: Daniel Drake Date: Sun Jul 1 18:22:04 2007 +0100 [PATCH] zd1211rw: Detect more AL2230S radios Zen Kato has a device which reports the 0xa RF type. The vendor driver treats this as AL2230S, the same as devices with the AL2230S bit in the POD. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 86d95c214357df0e27dc6af493b62a1073e9d6b2 Author: Daniel Drake Date: Sun Jul 1 18:21:49 2007 +0100 [PATCH] zd1211rw: Allow channels 1-11 for unrecognised regulatory domains Zen Kato's device has a regulatory domain value of 0x49, which is not an IEEE 802.11 code and is not even identified in the vendor driver. Recent versions of the vendor driver don't even look at the regdomain value any more, and just allow channels 1-11 everywhere. This patch brings us more in line with that behaviour, by allowing channels 1-11 for regdomains which we don't know about. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 02c1889166b47b9ade309a8f4b7c4ddf0489d869 Author: Masakazu Mokuno Date: Thu Jul 5 20:11:16 2007 +0900 ps3: gigabit ethernet driver for PS3, take3 Hi, This is the third submission of the network driver for PS3. The differences from the previous one are: - renamed source file names so that their prefix can match with the module name - added cbe-oss-dev@ozlabs.org line for MAINTAINER file - changed some in copyright comments If there are no more comments, please apply for 2.6.23. Thank you -- Subject: PS3: Ethernet driver From: Masakazu Mokuno Add Gigabit Ethernet support for the PS3 game console. The module will be called ps3_gelic. CC: Geoff Levand Signed-off-by: Masakazu Mokuno Signed-off-by: Jeff Garzik commit fb038c279694638cb3cd24d496062ae38700f542 Author: Michal Schmidt Date: Fri Jun 29 15:33:52 2007 +0200 [PATCH] airo: start with radio off Don't turn the radio on until the interface is up. This saves some power in case the driver is loaded but the card is not used. Signed-off-by: Michal Schmidt Signed-off-by: John W. Linville commit 175ec1a1fa78c784f5f99ad56c2274f58bcb35f1 Author: Michal Schmidt Date: Fri Jun 29 15:33:47 2007 +0200 [PATCH] airo: simpler calling convention for enable_MAC() Callers of enable_MAC() shouldn't have to worry about the bits in the response's status word (and most of them don't). The return value is sufficient information. Signed-off-by: Michal Schmidt Signed-off-by: John W. Linville commit 1138c37b66c16a5c7b49389ae566a4d73d60c2aa Author: Michal Schmidt Date: Fri Jun 29 15:33:41 2007 +0200 [PATCH] airo: fix a race causing initialization failures Matteo Croce reported Aironet initialization failures. They were caused by a race in airo. airo finds a free interface name, then initializes the card and finally registers the interface. Another device may get the same name in the meantime. The reason airo gets its name early is to use it in informative printks and to name the resources it requests. The printks will be just fine without the interface name and the resources can use the driver's name - that's what other network drivers do anyway. One of the talkative functions is setup_card(). It is called once before registration and can be called later again. Let's have an empty dev->name during the first call, so it doesn't print the ugly "airo(eth%d)" message. Signed-off-by: Michal Schmidt Signed-off-by: John W. Linville commit 1c2b7db8c8c4212761fcb5190a4122afd5e02d58 Author: Michal Schmidt Date: Fri Jun 29 15:33:36 2007 +0200 [PATCH] airo: delay some initialization until the netdev is up airo's kernel thread and the IRQ handler are needed only when the interface is up. Signed-off-by: Michal Schmidt Signed-off-by: John W. Linville commit 777ec5e9cec521af617fc52a1c1ae24f68f4a43b Author: Michal Schmidt Date: Fri Jun 29 15:33:30 2007 +0200 [PATCH] airo: disable the PCI device when unloading module Fix an assymetry between pci_{enable,disable}_device. airo did not disable the PCI device when unloading the module. This caused suspend failures after modprobe -r airo && modprobe airo. Signed-off-by: Michal Schmidt Signed-off-by: John W. Linville commit def47c5095d53814512bb0c62ec02dfdec769db1 Author: Jeff Garzik Date: Tue Jul 10 14:06:48 2007 -0400 [netdrvr] Fix dependencies for ax88796 ne2k clone driver It needs writesb(), not available on all platforms. Signed-off-by: Jeff Garzik commit 856c52a741950dc0be2c5c231efec626e9a0a3fa Author: Dotan Barak Date: Tue Jul 10 16:55:57 2007 +0300 IB/core: Take sizeof the correct pointer when calling kmalloc() When allocating out_mad in show_pma_counter(), take sizeof *out_mad instead of sizeof *in_mad. It is true that today the type of in_mad and out_mad are the same, but this patch will give us a cleaner code. Signed-off-by: Dotan Barak Signed-off-by: Roland Dreier commit a62056f0b0cfdc175afd99fef80a68f01cdf0f4b Author: Stephen Hemminger Date: Fri Jun 22 21:46:50 2007 -0700 [PATCH] ipw2100: RF kill switch timer power save Similar patch to ipw2200. Round the timer used for RF kill switch off to 1 second boundary to save power. Build tested only, don't have this hardware. Signed-off-by: Stephen Hemminger Signed-off-by: John W. Linville commit 1c9d5e41e32a3bfe60f44e3272c05d14ea595a71 Author: Stephen Hemminger Date: Fri Jun 22 21:34:06 2007 -0700 [PATCH] ipw2200: rf kill switch polling power saving Make the ipw2200 driver polling of rf kill switch occur on second boundaries to reduce power. Making all the wakeup's in the system occur together reduces power, and keeps CPU in idle longer. Signed-off-by: Stephen Hemminger Signed-off-by: John W. Linville commit 899413de1a6c9f999f677526df5205a9a70dcd93 Author: Michael Wu Date: Thu Jun 14 00:33:48 2007 -0700 [PATCH] rtl8187: fix endianness issue in rtl8225 register writing I failed to notice that a u16 was being passed to the hardware. This fixes it. Thanks to Kasper F. Brandt for finding this! Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit d082b9b5c6edf2e1d241af4630f12f0e5e2d2377 Author: Holger Schurig Date: Mon Jul 2 10:50:32 2007 +0200 [PATCH] libertas: fix use-after-free in rx path ... by removing an ill-conceived, useless line. Discovered by coverity. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 26710dcf84236ea20a92a00b4828a5f9a1729795 Author: Robert P. J. Day Date: Mon Jul 2 13:34:55 2007 -0400 [PATCH] WIRELESS: Remove clearly obsolete libertas/version.h file. Remove a header file that was ostensibly "removed" before, in commit 3ce40232. Signed-off-by: Robert P. J. Day Signed-off-by: John W. Linville commit 4c3ca4da8086c3c9fcc81dccc387c34bee6b755e Author: Jan-Bernd Themann Date: Thu Jul 5 09:26:25 2007 +0200 eHEA: Capability flag for DLPAR support This patch introduces a capability flag that is used by the DLPAR userspace tool to check which DLPAR features are supported by the eHEA driver. Missing goto has been included. Signed-off-by: Jan-Bernd Themann Signed-off-by: Jeff Garzik commit e1abecc48938fbe1966ea6e78267fc673fa59295 Author: Jeff Garzik Date: Tue Jul 10 12:58:33 2007 -0400 Remove sk98lin ethernet driver. Unmaintained, superceded by skge. Prodded to deletion by Adrian Bunk. Acked by Stephen Hemminger. Signed-off-by: Jeff Garzik commit cd6f5b8051efe03b90a1dd6d63a642f78ec4e60d Author: Adrian Bunk Date: Tue Jul 10 14:44:49 2007 +0200 sunhme.c:quattro_pci_find() must be __devinit This patch fixes the following section mismatch: <-- snip --> ... MODPOST vmlinux WARNING: drivers/built-in.o(.text+0x272f8b): Section mismatch: reference to .init.text:quattro_pci_find (between 'happy_meal_pci_probe' and 'happy_meal_pci_remove') ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit c2edacf80e155ef54ae4774379d461b60896bc2e Author: Jay Vosburgh Date: Mon Jul 9 10:42:47 2007 -0700 bonding / ipv6: no addrconf for slaves separately from master At present, when a device is enslaved to bonding, if ipv6 is active then addrconf will be initated on the slave (because it is closed then opened during the enslavement processing). This causes DAD and RS packets to be sent from the slave. These packets in turn can confuse switches that perform ipv6 snooping, causing them to incorrectly update their forwarding tables (if, e.g., the slave being added is an inactve backup that won't be used right away) and direct traffic away from the active slave to a backup slave (where the incoming packets will be dropped). This patch alters the behavior so that addrconf will only run on the master device itself. I believe this is logically correct, as it prevents slaves from having an IPv6 identity independent from the master. This is consistent with the IPv4 behavior for bonding. This is accomplished by (a) having bonding set IFF_SLAVE sooner in the enslavement processing than currently occurs (before open, not after), and (b) having ipv6 addrconf ignore UP and CHANGE events on slave devices. The eql driver also uses the IFF_SLAVE flag. I inspected eql, and I believe this change is reasonable for its usage of IFF_SLAVE, but I did not test it. Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 89c0d26be7037cd5bbce3bbf12580ba70ed8f382 Author: Alexey Dobriyan Date: Fri Jul 6 19:05:25 2007 +0400 atl1: remove write-only var in tx handler Signed-off-by: Alexey Dobriyan Signed-off-by: Jeff Garzik commit 099575b6cb7eaf18211ba72de56264f67651b90b Author: Alexey Dobriyan Date: Fri Jul 6 18:57:13 2007 +0400 macmace: use "unsigned long flags;" Code will do local_irq_save() on it. Signed-off-by: Alexey Dobriyan Signed-off-by: Jeff Garzik commit 9514bfe5d92000a9fd6f3c44aa775819b5d78aaf Author: Peter Korsgaard Date: Tue Jul 3 00:46:42 2007 +0200 Cleanup usbnet_probe() return value handling usbnet_probe() handles a positive return value from the driver bind() function as success, but will later only setup the status handler if the return value was zero, leading to confusion. Patch adjusts this to accept positive values as success in both checks. Signed-off-by: Peter Korsgaard Signed-off-by: Jeff Garzik commit 4638aef1e2d8d938e52cd49f6492e9d414b38380 Author: Stephen Hemminger Date: Thu Jul 5 16:13:55 2007 -0700 netxen: deinline and sparse fix Get rid of dubious casts to (void *) which causes a sparse warning. And move largeish function from inline to the one file that uses the code, the compiler can then decide to inline it. Compile tested only. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 8abd531e3f77188de2fc41e677d075cc66e61631 Author: Francois Romieu Date: Wed Jul 4 00:31:44 2007 +0200 eeprom_93cx6: shorten pulse timing to match spec (bis) Based on an original idea by John W. Linville. It is the missing part of 42d45ccd60636c28e35c2016f091783bc14ad99c Signed-off-by: Francois Romieu Signed-off-by: Jeff Garzik commit 85cfb534280dd6a7c7ac399bb2888e1b8b286ece Author: Olof Johansson Date: Tue Jul 3 16:24:32 2007 -0500 phylib: Add Marvell 88E1112 phy id Add 88E1112 PHY ID to the marvell driver. Seems to do fine with the 88E1111 inits. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit e54792396fb658b97e2f7b0541c6334020e1a3ec Author: Olof Johansson Date: Tue Jul 3 16:23:46 2007 -0500 phylib: cleanup marvell.c a bit Simplify the marvell driver init a bit: Make the supported devices an array instead of explicitly registering each structure. This makes it considerably easier to add new devices down the road. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 825a2ff1896ec3ead94bebef60c71f57254da58a Author: Ben Dooks Date: Tue Jul 3 16:53:09 2007 +0100 AX88796 network driver Support for the Asix AX88796 network controller, an NE2000 compatible 10/100 ethernet device with internal PHY. The driver supports PHY settings via either ioctl() or the ethtool driver ops. Signed-off-by: Ben Dooks Signed-off-by: Jeff Garzik commit 105b1bca4d7bed85bb296f7e7caec2fc643e9fbf Author: Robert P. J. Day Date: Tue Jul 10 06:37:56 2007 -0400 [MIPS] PNX8550: Cleanup proc code. Here's a slightly cleaner way of creating the /proc structure for the pnx8850. mostly, it creates a directory with default mode 555, since the one you're creating is mode 444, which is somewhat unusual for a directory under /proc. Signed-off-by: Ralf Baechle commit 569fb7536ea66e3364a8ff0b26598c6c9874d657 Author: Ralf Baechle Date: Tue Jul 10 16:56:33 2007 +0100 [MIPS] WRPPMC: Fix build. Using another systems defines is a safe way to get your code broken by accident when that system is removed. Signed-off-by: Ralf Baechle commit 44659f29a0a26dcdbf516a82b0ff96d6ba464724 Author: Ralf Baechle Date: Tue Jul 10 16:31:19 2007 +0100 [MIPS] Yosemite: Fix modpost warnings. MODPOST vmlinux WARNING: arch/mips/pmc-sierra/yosemite/built-in.o(.text+0x974): Section mismatch: reference to .init.data: (between 'prom_boot_secondary' and 'prom_cpus_done') WARNING: arch/mips/pmc-sierra/yosemite/built-in.o(.text+0x980): Section mismatch: reference to .init.data: (between 'prom_boot_secondary' and 'prom_cpus_done') WARNING: arch/mips/pmc-sierra/yosemite/built-in.o(.text+0x978): Section mismatch: reference to .init.data: (between 'prom_boot_secondary' and 'prom_cpus_done') WARNING: arch/mips/pmc-sierra/yosemite/built-in.o(.text+0x984): Section mismatch: reference to .init.data: (between 'prom_boot_secondary' and 'prom_cpus_done') WARNING: arch/mips/pmc-sierra/yosemite/built-in.o(.text+0x98c): Section mismatch: reference to .init.data: (between 'prom_boot_secondary' and 'prom_cpus_done') WARNING: arch/mips/pmc-sierra/yosemite/built-in.o(.text+0x990): Section mismatch: reference to .init.data: (between 'prom_boot_secondary' and 'prom_cpus_done') Signed-off-by: Ralf Baechle commit 7e95a016f844fc660bf80065413998a784a78988 Author: Atsushi Nemoto Date: Wed Jul 11 00:24:14 2007 +0900 [MIPS] Change names of local variables to silence sparse This patch is an workaround for these sparse warnings: linux/include/linux/calc64.h:25:17: warning: symbol '__quot' shadows an earlier one linux/include/linux/calc64.h:25:17: originally declared here linux/include/linux/calc64.h:25:17: warning: symbol '__mod' shadows an earlier one linux/include/linux/calc64.h:25:17: originally declared here Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 62b396358e837549f20068ed9c3d2bcf99d9ad2d Author: Ralf Baechle Date: Tue Jul 10 16:10:56 2007 +0100 [MIPS] SB1: Fix modpost warning. MODPOST vmlinux WARNING: arch/mips/mm/built-in.o(.text+0x1978): Section mismatch: reference to .init.text:except_vec2_sb1 (between 'sb1_cache_init' and 'sb1_flush_cache_sigtramp') WARNING: arch/mips/mm/built-in.o(.text+0x1988): Section mismatch: reference to .init.text:except_vec2_sb1 (between 'sb1_cache_init' and 'sb1_flush_cache_sigtramp') Signed-off-by: Ralf Baechle commit f2c4b47f26c9d3ba32fb51e574d8cacce30f744d Author: Ralf Baechle Date: Tue Jul 10 15:04:06 2007 +0100 [MIPS] PNX: Fix modpost warnings. MODPOST vmlinux WARNING: arch/mips/philips/pnx8550/common/built-in.o(.text+0xd40): Section mismatch: reference to .init.data: (after 'pnx8550_platform_init') WARNING: arch/mips/philips/pnx8550/common/built-in.o(.text+0xd44): Section mismatch: reference to .init.data: (after 'pnx8550_platform_init') Signed-off-by: Ralf Baechle commit 070c7b8611e852099370b17eaeb470407cb80ffe Author: Ralf Baechle Date: Tue Jul 10 09:35:12 2007 +0100 [MIPS] Alchemy: Fix modpost warnings. MODPOST vmlinux WARNING: arch/mips/au1000/common/built-in.o(.text+0x1750): Section mismatch: reference to .init.data: (between 'au1xxx_platform_init' and '__fixup_bigphys_addr') WARNING: arch/mips/au1000/common/built-in.o(.text+0x1754): Section mismatch: reference to .init.data: (between 'au1xxx_platform_init' and '__fixup_bigphys_addr') Signed-off-by: Ralf Baechle commit 35c700c0955c43e168c45d375f90a0670be8f054 Author: Ralf Baechle Date: Tue Jul 10 08:59:17 2007 +0100 [MIPS] Non-FPAFF: Fix warning. Signed-off-by: Ralf Baechle commit bf74b964775009071cf12f9d59d4dd5e388fbe0b Author: Ralf Baechle Date: Tue Jul 10 08:14:15 2007 +0100 [MIPS] DEC: Fix modpost warning. LD vmlinux SYSMAP System.map SYSMAP .tmp_System.map MODPOST vmlinux WARNING: drivers/built-in.o(.data+0x2480): Section mismatch: reference to .init.text: (between 'sercons' and 'ds_parms') Signed-off-by: Ralf Baechle commit 46cc84bf412f95610b25e59d575aada6a5512f3a Author: Ralf Baechle Date: Mon Jul 9 19:20:20 2007 +0100 [MIPS] MIPSsim: Enable MIPSsim virtual network driver. Signed-off-by: Ralf Baechle commit 688b3d720820a9e3e2e9d5882be64a28f649e206 Author: Ralf Baechle Date: Mon Jul 9 16:29:16 2007 +0100 [MIPS] Delete Ocelot 3 support. Signed-off-by: Ralf Baechle commit c99cabf034d42c9e4a9c1ed9dfd26411b2fb9b57 Author: Yoichi Yuasa Date: Mon Jul 9 13:10:55 2007 +0900 [MIPS] remove LASAT Networks platforms support Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit ecd27b92fbb41f779d857632a69bd45dbaf0f915 Author: Chris Dearman Date: Fri Jul 6 17:11:20 2007 +0100 [MIPS] Early check for SMTC kernel on non-MT processor Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit 83fd38cabc982db041d3586a15734713f45caa31 Author: Atsushi Nemoto Date: Sat Jul 7 23:21:49 2007 +0900 [MIPS] Add debugfs files to show fpuemu statistics Export contents of struct mips_fpu_emulator_stats via debugfs. There is no way to read these statistics for now but they (at least the "emulated" count) might be sometimes useful for performance tuning on FPU-less CPUs. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 6312e0ee45236b6882cd26b2ccc167b1b91646fc Author: Atsushi Nemoto Date: Sat Jun 30 00:55:48 2007 +0900 [MIPS] Add some debugfs files to debug unaligned accesses Currently a number of unaligned instructions is counted but not used. Add /debug/mips/unaligned_instructions file to show the value. And add /debug/mips/unaligned_action to control behavior upon an unaligned access. Possible actions are: 0: silently fixup the unaligned access. 1: send SIGBUS. 2: dump registers, process name, etc. and fixup. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 2db30150fe4fe309c57087c661209c9ea0b5c21b Author: Atsushi Nemoto Date: Mon Jul 2 22:43:06 2007 +0900 [MIPS] rbtx4938: Fix secondary PCIC and glue internal NICs * Fix pci ops for secondary PCIC * Do not reserve 1MB for PCI MEM region (leave PCIBIOS_MIN_MEM zero) * Use platform_device to provide ethernet addresses for internal NICs. (background: TX49XX SoCs include PCI NIC (TC35815 compatible) connected via its internal PCI bus, but the NIC's PROM interface is not connected to SEEPROM. So we must provide its ethernet address by another way.) * Check return value of early_read_config_word() Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit bd43da8ff130caf31fff0482a75660507a26b641 Author: Atsushi Nemoto Date: Fri Jun 29 22:34:53 2007 +0900 [MIPS] tc35815: Load MAC address via platform_device TX49XX SoCs include PCI NIC (TC35815 compatible) connected via its internal PCI bus, but the NIC's PROM interface is not connected to SEEPROM. So we must provide its ethernet address by another way. Signed-off-by: Atsushi Nemoto Acked-by: Jeff Garzik Signed-off-by: Ralf Baechle commit 295cbf6d63165fe4253cf1d9ceadcda47a318b48 Author: Ralf Baechle Date: Tue Jul 3 14:37:43 2007 +0100 [MIPS] Move FPU affinity code into separate file. Gets rid of some of the CONFIG_MIPS_MT_FPAFF #ifdefery. Signed-off-by: Ralf Baechle commit 5ddcb3c35be995517a32799796e2acda90a784e0 Author: Atsushi Nemoto Date: Tue Jun 26 01:14:01 2007 +0900 [MIPS] Make ioremap() work on TX39/49 special unmapped segment TX39XX and TX49XX have "reserved" segment in CKSEG3 area. 0xff000000-0xff3fffff on TX49XX and 0xff000000-0xfffeffff on TX39XX are reserved (unmapped, uncached). Controllers on these SoCs are placed in this segment. This patch add plat_ioremap() and plat_iounmap() to override default behavior and implement these hooks for TX39/TX49. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit bb33b19ff92aed11fb56435be4c5d5231598a948 Author: Atsushi Nemoto Date: Fri Jun 22 23:22:29 2007 +0900 [MIPS] rbtx4938: Update and minimize defconfig Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit f74cf6ff99a49741b0f243996b621777b2d610d4 Author: Atsushi Nemoto Date: Fri Jun 22 23:22:06 2007 +0900 [MIPS] rbtx4938: Convert SPI codes to use generic SPI drivers Use rtc-rs5c348 and at25 spi protocol driver and spi_txx9 spi controller driver instead of platform dependent codes. This patch also removes dependencies to old RTC interfaces such as rtc_mips_get_time, etc. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 3896b05418b9b8548a678231db754206b3ebe56e Author: Atsushi Nemoto Date: Fri Jun 22 23:21:55 2007 +0900 [MIPS] rbtx4938: Add generic GPIO support GPIO 0..15 are for TX4938 PIO pins, GPIO 16..18 are for FPGA-driven chipselect signals for SPI devices. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 06cf5583fd9ac782cf34996cdabb48afdf478e37 Author: Thomas Bogendoerfer Date: Wed Jun 20 23:36:47 2007 +0200 [MIPS] SNI RM updates - use RTC_CLASS instead of GEN_RTC - get rid of ds1216 in favour of a RTC_CLASS driver - use correct console device for older RM400 - use physical addresses for 82596 device - use 128 byte L1 cache line size (this is needed because most of the SNI caches are using 128 L2 cache lines) Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 68bc00e31143ad8bfa435425e0a11e9b3998911d Author: Marc St-Jean Date: Thu Jun 14 15:57:11 2007 -0600 [MIPS] PMC MSP71xx default configuration Patch to add default configuration for the PMC-Sierra MSP71xx devices. Signed-off-by: Marc St-Jean Signed-off-by: Ralf Baechle commit 6f95e60acf404e39d14030572c9033ddaca6f4de Author: Marc St-Jean Date: Thu Jun 14 15:56:23 2007 -0600 [MIPS] PMC MSP71xx PCI support Patch to add PCI support for the PMC-Sierra MSP71xx devices. Signed-off-by: Marc St-Jean Signed-off-by: Ralf Baechle commit 9267a30d1dc7dcd7cadb5eb6a5bbfed703feeefa Author: Marc St-Jean Date: Thu Jun 14 15:55:31 2007 -0600 [MIPS] PMC MSP71xx mips common Patch to add mips common support for the PMC-Sierra MSP71xx devices. Signed-off-by: Marc St-Jean Signed-off-by: Ralf Baechle commit 35832e26f95ba14a6b6f0519441c5cb64cca6bf9 Author: Marc St-Jean Date: Thu Jun 14 15:54:47 2007 -0600 [MIPS] PMC MSP71xx core platform Patch to add core platform support for the PMC-Sierra MSP71xx devices. Signed-off-by: Marc St-Jean Signed-off-by: Ralf Baechle commit a4b156d47d204904fa104c3e585b4c67b89195f3 Author: Adrian Bunk Date: Tue Jun 19 22:27:04 2007 +0200 [MIPS] Removes the few leftovers of the MOMENCO_JAGUAR_ATX removal. Signed-off-by: Adrian Bunk Signed-off-by: Ralf Baechle commit 42d226c7248a28ff8c478c06b7e9bd9ef5d73574 Author: Songmao Tian Date: Wed Jun 6 14:52:38 2007 +0800 [MIPS] New files for lemote fulong mini-PC support Signed-off-by: Fuxin Zhang Signed-off-by: Songmao Tian Signed-off-by: Ralf Baechle commit 2a21c7300b53b744d16903256a172d9cbcfdd03e Author: Fuxin Zhang Date: Wed Jun 6 14:52:43 2007 +0800 [MIPS] define Hit_Invalidate_I to Index_Invalidate_I for loongson2 Signed-off-by: Fuxin Zhang Signed-off-by: Ralf Baechle commit fee578fad1a29e6a149659e5467aedcae6897c06 Author: Ralf Baechle Date: Tue Jul 10 17:33:02 2007 +0100 [MIPS] Convert init_thread initialization to ISO C initializers. Signed-off-by: Ralf Baechle commit a36920200c5b89d56120a5e839fe4a603d51b16c Author: Ralf Baechle Date: Tue Jul 10 17:33:02 2007 +0100 [MIPS] Enable support for the userlocal hardware register Which will cut down the cost of RDHWR $29 which is used to obtain the TLS pointer and so far being emulated in software down to a single cycle operation. Signed-off-by: Ralf Baechle commit d223a86154f8c66f5a380b17e1c8091d56f47cf8 Author: Ralf Baechle Date: Tue Jul 10 17:33:02 2007 +0100 [MIPS] FP affinity: Coding style cleanups Signed-off-by: Ralf Baechle commit e7c4782f92fc4b83d953ce53f77f05ae65dcd773 Author: Ralf Baechle Date: Tue Jul 10 17:33:01 2007 +0100 [MIPS] Put an end to 's long and annyoing existence Signed-off-by: Ralf Baechle commit 192cca6ef2c49ac5ff46f7a31cb9dd175995658e Author: Franck Bui-Huu Date: Mon Jun 11 15:08:55 2007 +0200 [MIPS] Remove Momenco Ocelot C support Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle delete mode 100644 arch/mips/configs/ocelot_c_defconfig delete mode 100644 arch/mips/momentum/ocelot_c/Makefile delete mode 100644 arch/mips/momentum/ocelot_c/cpci-irq.c delete mode 100644 arch/mips/momentum/ocelot_c/dbg_io.c delete mode 100644 arch/mips/momentum/ocelot_c/irq.c delete mode 100644 arch/mips/momentum/ocelot_c/ocelot_c_fpga.h delete mode 100644 arch/mips/momentum/ocelot_c/platform.c delete mode 100644 arch/mips/momentum/ocelot_c/prom.c delete mode 100644 arch/mips/momentum/ocelot_c/reset.c delete mode 100644 arch/mips/momentum/ocelot_c/setup.c delete mode 100644 arch/mips/momentum/ocelot_c/uart-irq.c delete mode 100644 arch/mips/pci/fixup-ocelot-c.c delete mode 100644 arch/mips/pci/pci-ocelot-c.c commit cfd2afc0f654e86e3f0b5060409b90f21964b9d3 Author: Ralf Baechle Date: Tue Jul 10 17:33:00 2007 +0100 [MIPS] IP32: Remove experimental tag from kconfig. Signed-off-by: Ralf Baechle commit 19df0d1169b3ddcc84933794d1401aaafe2f0000 Author: Ralf Baechle Date: Tue Jul 10 17:33:00 2007 +0100 [MIPS] PCI: Make dev pointer argument of pcibios_map_irq const. This is to break the code of people who think they are supposed to scribble into the pci device structure - it's off limits. Signed-off-by: Ralf Baechle commit 6b5bf509317c013ea0a7c166affc1d4631720d85 Author: Yoichi Yuasa Date: Thu Jun 21 15:06:21 2007 +0900 [MIPS] EV64120: Remove support Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 36de48de85bdb9bc8c35c1eb513737c187d70a46 Author: Maciej W. Rozycki Date: Tue Jun 5 11:45:07 2007 +0100 [MIPS] DECstation: Optimised early printk() This is an optimised implementation of early printk() for the DECstation. After the recent conversion to a MIPS-specific generic routine using a character-by-character output the performance dropped significantly. This change reverts to the previous speed -- even at 9600 bps of the serial console the difference is visible with a naked eye; I presume for a framebuffer it is even worse (it may depend on exactly which one is used though). Additionally the change includes a fix for a problem that the old implementation had -- the format used would not actually limit the length of the string output. This new implementation uses a local buffer to deal with it -- even with this additional copying it is much faster than the generic function. Plus this driver is registered much earlier than the generic one, allowing one to see critical messages, such as one about an incorrect CPU setting used, that are produced beforehand. :-) Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit d388d6853f1b584b8606cb3f2f9f9e4fa2e52258 Author: Maciej W. Rozycki Date: Tue May 29 15:08:07 2007 +0100 [MIPS] No I/O ports on the DECstation There are no I/O ports on the DECstation whatsoever in any configuration as neither the CPU nor the peripheral buses used have a concept of such. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit b63e804459b9b550c1ab21a43e6bac2272e32612 Author: Atsushi Nemoto Date: Tue Jun 5 01:28:07 2007 +0900 [MIPS] Remove unused watchpoint support and arch/mips/lib-{32,64} Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit c66df567e596bd43d6d3e094d82f82951e1b17cd Author: Yoichi Yuasa Date: Sat Jun 2 02:12:41 2007 +0900 [MIPS] update cobalt_defconfig Enable Cobalt button support and change ATA driver from BLK_DEV_VIA82CXXX to PATA_VIA.. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit b1c65b3988c6e29ac371ab1cbbf6c4f8fb7092f8 Author: Franck Bui-Huu Date: Mon Jun 4 17:46:35 2007 +0200 [MIPS] Fix PHYS_OFFSET for 64-bits kernels with 32-bits symbols The current implementation of __pa() for 64-bits kernels with 32-bits symbols is broken. In this configuration, we need 2 values for PAGE_OFFSET, one in XKPHYS and the other in CKSEG0 space. When the value in CKSEG0 space is used, it doesn't take into account of PHYS_OFFSET. Even worse we can't redefine this value. The patch restores CPHYSADDR() but in __pa()'s implementation because it removes the need of 2 PAGE_OFFSET. OTOH, CPHYSADDR() is quite bad when dealing with mapped kernels. So this patch assumes there's no need to deal with such kernel in 64-bits world. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 41b0483ee54d89f9ad068ceae3c91cdc7594d050 Author: Franck Bui-Huu Date: Mon Jun 4 17:46:34 2007 +0200 [MIPS] Move PHY_OFFSET definition in spaces.h Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit db38501511a7513ec4f0ae9922d847c135cf3c78 Author: Franck Bui-Huu Date: Mon Jun 4 17:46:33 2007 +0200 [MIPS] Make PAGE_OFFSET aware of PHYS_OFFSET For platforms that use PHYS_OFFSET and do not use a mapped kernel, this patch automatically adds PHYS_OFFSET into PAGE_OFFSET. Therefore there are no more needs for them to redefine PAGE_OFFSET. For mapped kernel, they need to redefine PAGE_OFFSET anyways. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit c4612c8596084c898628bd1898da5987ec43ac1d Author: Franck Bui-Huu Date: Mon Jun 4 17:46:32 2007 +0200 [MIPS] Clean up asm-mips/mach-generic/spaces.h PAGE_OFFSET definition is now using CAC_BASE by default. This patch also reorder some macros to make them appear in the same order for both 32 and 64 bits configs. It also makes use of const.h generic header file to annotate constants. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 09bb9ce15f6e0daba70b7e6978f233ffe2d356eb Author: Franck Bui-Huu Date: Mon Jun 4 17:46:31 2007 +0200 [MIPS] Allow generic spaces.h to be included by platform specific ones Before this patch, when a platform needed to customize one constant in spaces.h, they need to redefine all of them. Now they can just redefine one constant and include the generic file header at the end: #include This patch doesn't allow to redefine CAC_BASE, IO_BASE and UNCAC_BASE for 32 bits platforms because there's no need to do so. This will avoid some macro duplications. It's important specially if we'll add complex macros. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle delete mode 100644 include/asm-mips/mach-ip32/spaces.h commit 69ed25b895b01216b392b60ad3b99d1274e1afa8 Author: Atsushi Nemoto Date: Sat Jun 2 00:30:25 2007 +0900 [MIPS] Remove unused dump_tlb functions Remove unused dump_tlb functions and cleanup some includes. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 4becef1d85a48ea4294c962c2cbacb6074f0dd58 Author: Atsushi Nemoto Date: Sat Jun 2 00:21:30 2007 +0900 [MIPS] Unify dump_tlb Unify lib-{32,64}/dump_tlb.c into lib/dump_tlb.c and move lib-32/r3k_dump_tlb.c to lib directory. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit f6e2373ad6148476464fc7bb2610c6450c18cd2a Author: Ralf Baechle Date: Tue Jul 10 17:32:56 2007 +0100 [MIPS] MIPSsim: Move code away from the other MIPS Inc. BSP code. It shares no code at all. While at it also fix up the beginning bitrot. Signed-off-by: Ralf Baechle commit 24e9d0b96dac5503c0b6f034d553030c604228a7 Author: Ralf Baechle Date: Tue Jul 10 17:32:56 2007 +0100 [MIPS] Hook for platforms to define cachability of /dev/mem regions Signed-off-by: Ralf Baechle commit 8bb809df6919f927bcb910bbc852d5724eaa1eb9 Author: Ralf Baechle Date: Tue Jul 10 17:32:56 2007 +0100 [MIPS] Cleanup TO_PHYS_MASK definition No point in adding yet another #ifdef for Loongson since all this mask is being used for is converting an XKPHYS address into a physical address anyway. So replace all definitions by one with the highest architectural possible value. Signed-off-by: Ralf Baechle commit b3f6df9f21c6efc4641613188204aa0742bc9e22 Author: Robert P. J. Day Date: Fri May 25 14:32:28 2007 -0400 [MIPS] Transform old-style macros to newer "__noreturn" Convert old/obsolete NORET_TYPE and ATTRIB_NORET macros to use the newer standard of "__noreturn" as defined in compiler-gcc.h. Signed-off-by: Robert P. J. Day Signed-off-by: Ralf Baechle commit 8f8771a057bff0d3911459d0bdadf03ec1dd3c89 Author: Ralf Baechle Date: Tue Jul 10 17:32:56 2007 +0100 [MIPS] SMTC: Use current_cpu_data instead of cpu_data[smp_processor_id] Signed-off-by: Ralf Baechle commit 4ead16819b4c61fea9bb73eb470f6bb1d3350e5c Author: Florian Fainelli Date: Tue May 22 21:44:42 2007 +0200 [MIPS] Add generic GPIO to Au1x00 This patch adds support for the generic GPIO API to Au1x00 boards. It requires the generic GPIO patch for MIPS boards by Yoichi Yuasa. Now there is a MIPS target using it, can you queue these patchset for 2.6.22 ? Thank you very much in advance. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 82b8d2250c4b606e190853db9505b54b9fb71aa5 Author: Atsushi Nemoto Date: Fri Jun 22 23:20:23 2007 +0900 [MIPS] Create fallback gpio.h Create fallback gpio.h which only contains prototypes for gpio API. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 096633358c907d9b50b00caf989816c2edfefe24 Author: Yoichi Yuasa Date: Tue May 22 00:05:58 2007 +0900 [MIPS] Add generic GPIO support Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 4679258d52f6d4aeeafd5c77203d97ddf48e2db0 Author: Adrian Bunk Date: Sat Jul 7 03:03:27 2007 +0200 [MIPS] Remove unused cpu_callout_map and num_booting_cpus() Signed-off-by: Adrian Bunk Signed-off-by: Ralf Baechle commit 9797cae3bfd2d7190609cdce05248cabc5d9081e Author: Adrian Bunk Date: Sat Jul 7 03:03:30 2007 +0200 [MIPS] "extern inline" -> "static inline" "extern inline" will have different semantics with gcc 4.3, and "static inline" is correct here. Signed-off-by: Adrian Bunk Signed-off-by: Ralf Baechle commit e48ce6b8df5b51af3f38b20bb3d008dff69ff64e Author: Atsushi Nemoto Date: Wed May 30 00:38:07 2007 +0900 [MIPS] Simplify missing-syscalls for N32 and O32 Use standard missing-syscalls with EXTRA_CFLAGS instead of duplicating the command. And move the archprepare rule before the archclean rule. Suggested by Franck Bui-Huu. Also add "echo" to show the target ABI. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit d7eb079fc8e68899fd099ad0b5b8095193a8c025 Author: Yoichi Yuasa Date: Mon May 28 22:56:35 2007 +0900 [MIPS] Remove unused config entries Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit e934c82657529a85ca48a2fc3749c514df985e79 Author: Yoichi Yuasa Date: Mon May 21 23:00:38 2007 +0900 [MIPS] remove unused definitions for Cobalt Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit f49343a54864b98333b98706accba66aa75a0c16 Author: Alan Cox Date: Tue Jul 10 17:05:16 2007 +0100 IOC3: Switch to pci refcounting safe APIs Convert the IOC3 driver to use ref counting pci interfaces so that we can obsolete the (usually unsafe) pci_find_{slot/device} interfaces and avoid future authors writing hotplug-unsafe device drivers. Signed-off-by: Alan Cox Build fixes: Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik commit 44e4925e4601961b9bd1982008a55fce865d318c Author: David Graham Date: Tue Jul 10 08:45:11 2007 -0700 e100: Fix Tyan motherboard e100 not receiving IPMI commands The 82550 & 51 parts have an extended configuration block that includes a bit "GMRC", required to enable the expected TCO behavior, in config byte offset 22d. The config block sent by the failing driver does include the extension area, but this bit is not initialised, and the downlaod only specifies 0x16 bytes to be sent to the NIC (thaht's bytes 00..21d). By initializing the GMRC bit, and extending the download size for D102+ MACs, the problem is resolved. Signed-off-by: David Graham Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit c6f5047b633f0605098fe47417c4e1ed87a7637a Author: Timur Tabi Date: Tue Jul 10 07:51:11 2007 -0500 QE Ethernet driver writes to wrong register to mask interrupts The QE Ethernet driver was writing to the wrong register to mask interrupts. In ucc_geth_stop(), it was clearing UCCE instead of UCCM. Signed-off-by: Timur Tabi Signed-off-by: Jeff Garzik commit 4f092432bd443416b649519c3d5405aa55ad2d15 Author: Adrian Bunk Date: Tue Jul 10 14:44:47 2007 +0200 rrunner.c:rr_init() must be __devinit This patch fixes the following section mismatch: <-- snip --> ... MODPOST vmlinux WARNING: drivers/built-in.o(.text+0x26e3f2): Section mismatch: reference to .init.text:rr_init (between 'rr_init_one' and 'rr_remove_one') ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 9b5587cdd9f2a8dd4a010a93a6380051d43a3c16 Author: Adrian Bunk Date: Tue Jul 10 14:44:37 2007 +0200 tokenring/3c359.c:xl_init() must be __devinit This patch fixes the following section mismatch: <-- snip --> ... MODPOST vmlinux WARNING: drivers/built-in.o(.text+0x361ef1): Section mismatch: reference to .init.text:xl_init (between 'xl_probe' and 'xl_hw_reset') ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 4e50a8e3c564add2f621dadb752a44872e93c754 Author: Adrian Bunk Date: Tue Jul 10 14:44:35 2007 +0200 sis900_mii_probe() must be __devinit This patch fixes the following section mismatch: <-- snip --> ... MODPOST vmlinux WARNING: drivers/built-in.o(.text+0x298170): Section mismatch: reference to .init.text:sis900_mii_probe (between 'sis900_probe' and 'sis900_default_phy') ... <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 8453d43f0ee08ac6c20f390797772a08f81f999a Author: Rolf Eike Beer Date: Tue Jul 10 11:58:02 2007 +0200 Fix typo in drivers/net/s2io.c Introduced in d796fdb708fc5b10112934cba43e832c36ce4923. Signed-off-by: Rolf Eike Beer Signed-off-by: Jeff Garzik commit 654e02200578799264941e5a9b533563a87f8579 Author: Marcin Juszkiewicz Date: Tue Jul 10 11:40:28 2007 +0200 PCMCIA: add Socket Ethernet card into pcnet_cs One card submitted by Ångström user. Signed-off-by: Marcin Juszkiewicz Signed-off-by: Jeff Garzik commit 7a627558214664f0e071b2652fc37e4d7d3dce32 Author: Ishizaki Kou Date: Mon Jul 9 18:17:42 2007 -0500 spidernet: improve interrupt handling We intend this patch to improve spidernet interrupt handling to be more strict. We had following problem and this patch solves it. -when CONFIG_DEBUG_SHIRQ=y, request_irq() calls handler(). -when spider_net_open() is called, it calls request_irq() which calls spider_net_interrupt(). -if some specific interrupt bit is set at this timing, it calls netif_rx_schedule() and spider_net_poll() is scheduled. -spider_net_open() calls netif_poll_enable() which clears the bit __LINK_STATE_RX_SCHED. -when spider_net_poll() is called, it calls netif_rx_complete() which causes BUG_ON() because __LINK_STATE_RX_SCHED is not set. Signed-off-by: Kou Ishizaki Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit b8a1fcee26126b566d9e28ba80c643a7a10543eb Author: Steffen Klassert Date: Mon Jul 9 11:50:23 2007 -0700 3cSOHO100-TX needs EXTRA_PREAMBLE The 3cSOHO100-TX needs a mdio_sync() before mdio_read() to read the MII transceiver registers properly. Adding EXTRA_PREAMBLE to drv_flags of the 3cSOHO100-TX will force this. This problem exists already for years (I checked back to 2.6.8). Setting duplex for the 3cSOHO100-TX was more or less a random process. Till 2.6.15 it was more likely that the diver ends up in half duplex mode, after the code change in 2.6.16 it was more likely to end up in full duplex mode. I wonder why nobody noticed this earier. Hopefully addresses Bug 7454 3c59x (3cSOHO100-TX Hurricane) slow network bug http://bugzilla.kernel.org/show_bug.cgi?id=7454 and Bug 3654 3cSOHO100-TX: No MII transceiver present http://bugzilla.kernel.org/show_bug.cgi?id=3654 Cc: Jonas Sandberg Cc: Jon Sanchez Signed-off-by: Steffen Klassert Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 199126a23a091585670fba023529b73047bb2bad Author: vignesh babu Date: Mon Jul 9 11:50:22 2007 -0700 Use is_power_of_2() in myri10ge/myri10ge.c Replace (n & (n-1)) with is_power_of_2() Signed-off-by: vignesh babu Cc: Brice Goglin Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit d9da466a3ce2ac005e05bb649a0f2cfb5c3d5d45 Author: vignesh babu Date: Mon Jul 9 11:50:22 2007 -0700 use is_power_of_2() in cxgb3/cxgb3_main.c Replace (n & (n-1)) with is_power_of_2() Signed-off-by: vignesh babu Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit de0d3dc0e8ecd80f602fac03feb8fd53d0c17a8c Author: Yoann Padioleau Date: Mon Jul 9 11:50:20 2007 -0700 atari_pamsnet.c: old declaration ritchie style fix Use consistent function declaration style. Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 0640b8dc74e938543dd8fc8c460c5f913a1b1a74 Author: Stephen Hemminger Date: Mon Jul 9 15:33:44 2007 -0700 sky2: 1.16 version Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit e923d7b124d2b2218faac22714dc6e4639fab2e7 Author: Stephen Hemminger Date: Mon Jul 9 15:33:43 2007 -0700 sky2: remove some leftover debug messages Eliminate extra debug messages Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 36eb0c71f3ab42b116a5a7bda733230014741632 Author: Stephen Hemminger Date: Mon Jul 9 15:33:42 2007 -0700 sky2: use upper_32_bits() macro Use upper_32_bits() inline Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit f957da2aa0b7ef9659a45b0895ec4a08602b1c15 Author: Stephen Hemminger Date: Mon Jul 9 15:33:41 2007 -0700 sky2: use roundup() macro Use roundup() macro to size receive buffer. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 71749531f2d1954137a1a77422ef4ff29eb102dd Author: Stephen Hemminger Date: Mon Jul 9 15:33:40 2007 -0700 sky2: check drop truncated packets If packet larger than MTU is received, the driver uses hardware to truncate the packet. Use the status registers to catch/drop them. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit f4331a6d24f2e5524678caf4621d35f33fb934da Author: Stephen Hemminger Date: Mon Jul 9 15:33:39 2007 -0700 sky2: add support for read/write of EEPROM Add get/set eeprom support for sky2. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 8a3e3bfdf47b82bfbd78aabf7f72df4dff12abcc Author: Stephen Hemminger Date: Mon Jul 9 15:33:38 2007 -0700 sky2: unmark as EXPERIMENTAL Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 55c9dd35d3299dbd6e437c1a0bd86fffcb17080b Author: Stephen Hemminger Date: Mon Jul 9 15:33:37 2007 -0700 sky2: receive fill Simplify receive buffer refill logic. Rather than trying to update incrementally; do receive ring refill at end of receive processing. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 5c11ce700f77fada15b6264417d72462da4bbb1c Author: Stephen Hemminger Date: Mon Jul 9 15:33:36 2007 -0700 sky2: check for more work before leaving NAPI This patch avoids generating another IRQ if more packets arrive while in the NAPI poll routine. Before marking device as finished, it rechecks that the status ring is empty. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 3cf267539f1f133eb6ba63d074da18cb58cdf89a Author: Stephen Hemminger Date: Mon Jul 9 15:33:35 2007 -0700 sky2: debug interface Add an optional debug interface for displaying state of transmit/receive rings. Creates a file debugfs/sky2/ethX for each device that is up. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 55d7b4e6ed6ad3ec5e5e30b3b4515a0a6a53e344 Author: Stephen Hemminger Date: Mon Jul 9 15:33:34 2007 -0700 sky2: carrier management Make sky2 handle carrier similar to other drivers, eliminate some possible races in carrier state transistions. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit c59697e06058fc2361da8cefcfa3de85ac107582 Author: Stephen Hemminger Date: Mon Jul 9 15:33:33 2007 -0700 sky2: restore workarounds for lost interrupts This patch restores a couple of workarounds from 2.6.16: * restart transmit moderation timer in case it expires during IRQ routine * default to having 10 HZ watchdog timer. At this point it more important not to hang than to worry about the power cost. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 665f5600cb80c9cfa2e9bc832f9cd28164d8e283 Author: David Woodhouse Date: Mon Jul 9 11:37:39 2007 -0700 [POWERPC] Enable arbitary speed tty ioctls and split input/output speed Adding the defines/macros activates the existing code in the tty layer and allows this platform to use the arbitary speed ioctl setting layer Signed-off-by: David Woodhouse Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 5605d4def1b33721c268067620b163af0a9e2474 Author: Adrian Bunk Date: Mon Jul 9 11:37:38 2007 -0700 [POWERPC] Make drivers/char/hvc_console.c:khvcd() static Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 32efddf8526879a77d58aa635c5d5dd45bb87fd9 Author: Robert P. J. Day Date: Mon Jul 9 11:37:37 2007 -0700 [POWERPC] Remove dead code for preventing pread() and pwrite() calls Remove the deactivated code for checking for pread() and pwrite() calls on the PPC-based BRIQ. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 1f945a86a8250b66fda47cf1fc8f3daf5d0f8969 Author: Mathieu Desnoyers Date: Mon Jul 9 11:37:34 2007 -0700 [POWERPC] Remove unnecessary #undef printk from prom.c Signed-off-by: Mathieu Desnoyers Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 8203c17e5b35408889ec5c358d71110b624519bd Author: Li Yang Date: Tue Jul 10 16:59:39 2007 +1000 [POWERPC] Fix typo in Ebony default DTS Signed-off-by: Li Yang Signed-off-by: Paul Mackerras commit 70584578ab3e940ac9d7820f268f9adc9884e407 Author: Sonny Rao Date: Tue Jul 10 03:31:44 2007 +1000 [POWERPC] Check for NULL ppc_md.init_IRQ() before calling Check to make sure ppc_md.init_IRQ has been set before calling it. Signed-off-by: Sonny Rao Signed-off-by: Paul Mackerras commit b3e998ee05773a3ac33d540aa341295acef4c56b Author: Manish Ahuja Date: Sat Jul 7 07:59:55 2007 +1000 [POWERPC] Remove extra return statement Found 2 instances of return one right after each other in arch_add_memory(). This removes the superfluous one. Signed-off-by: Manish Ahuja Signed-off-by: Paul Mackerras commit bc6b73e14e11b19d43c89920aa516813459c84da Author: Olof Johansson Date: Sat Jul 7 06:15:14 2007 +1000 [POWERPC] pasemi: Don't auto-select CONFIG_EMBEDDED Disable auto-select of CONFIG_EMBEDDED. ELECTRA_IDE selects PATA_PLATFORM which should be sufficient. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit d4875a217b75df8995f9815d8e274429383c2d1d Author: Olof Johansson Date: Fri Jul 6 00:49:04 2007 +1000 [POWERPC] pasemi: Rename platform Rename the pasemi platform to "pasemi" to be in line with the platform's directory name. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 12654f776487952e7c0b9b3864ea1de08b1740f9 Author: Johannes Berg Date: Thu Jul 5 19:35:33 2007 +1000 [POWERPC] arch/powerpc/kernel/sysfs.c: Move NUMA exports With !CONFIG_NUMA, these are static inlines in the header file so don't generate exports for them in that case. Signed-off-by: Johannes Berg Signed-off-by: Paul Mackerras commit bd67fcf9ba8474e8eef649a79aba5b3479b01272 Author: Tony Breeds Date: Wed Jul 4 14:04:31 2007 +1000 [POWERPC] Add __read_mostly support for powerpc Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit fc9069fe56d9594b7a6da0b9f9ca0eafd756260f Author: Tony Breeds Date: Wed Jul 4 14:04:31 2007 +1000 [POWERPC] Modify sched_clock() to make CONFIG_PRINTK_TIME more sane When booting a current kernel with CONFIG_PRINTK_TIME enabled you'll see messages like: [ 0.000000] time_init: decrementer frequency = 188.044000 MHz [ 0.000000] time_init: processor frequency = 1504.352000 MHz [3712914.436297] Console: colour dummy device 80x25 This cause by the initialisation of tb_to_ns_scale in time_init(), suddenly the multiplication in sched_clock() now does something :). This patch modifies sched_clock() to report the offset since the machine booted so the same printk's now look like: [ 0.000000] time_init: decrementer frequency = 188.044000 MHz [ 0.000000] time_init: processor frequency = 1504.352000 MHz [ 0.000135] Console: colour dummy device 80x25 Effectivly including the uptime in printk()s. This patch makes tb_to_ns_scale and tb_to_ns_shift static and read_mostly for good measure. Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit 4bb092811c72685f5ba26340d393c0717f5a43b1 Author: Tony Breeds Date: Wed Jul 4 14:04:31 2007 +1000 [POWERPC] Create a dummy zImage if no valid platform has been selected This simply prevents a build error if no platform is selected. Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit bafdb645779c63300763acb383f7b9dd2d427228 Author: Geoff Levand Date: Wed Jul 4 09:07:18 2007 +1000 [POWERPC] PS3: Bootwrapper support. Add support to build the PS3 flash rom image and remove some unneeded lmb calls. The PS3's lv1 loader supports loading gzipped binary images from flash rom to addr zero. The loader enters the image at addr 0x100. In this implementation a bootwrapper overlay is use to arrange for the kernel to be loaded to addr zero and to have a suitable bootwrapper entry at 0x100. To construct the rom image, 0x100 bytes from offset 0x100 in the kernel is copied to the bootwrapper symbol __system_reset_kernel. The 0x100 bytes at the bootwrapper symbol __system_reset_overlay is then copied to offset 0x100. At runtime the bootwrapper program copies the 0x100 bytes at __system_reset_kernel to addr 0x100. zImage.ps3 is a wrapped image that contains a flat device tree, an lv1 compatible entry point, and an optional initrd. otheros.bld is the gzip compresed rom image built from zImage.ps3. otheros.bld is suitable for programming into the PS3 boot flash memory. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 76a5b8bb3525b63db137c714cf9ad5b3b99e75f0 Author: Johannes Berg Date: Wed Jul 4 09:01:54 2007 +1000 [POWERPC] powermac i2c: Use mutex Convert the semaphores in low_i2c that are used as mutexes to real mutexes. Signed-off-by: Johannes Berg Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 0b7dbfbf13192a57591275d50b0993cb0acdb25c Author: Josh Boyer Date: Tue Jul 3 23:25:46 2007 +1000 [POWERPC] Schedule removal of arch/ppc The arch/ppc tree has been in a semi-nebulous "bug fix only" state for a few kernel releases now. The patch below officially declares this as of the 2.6.22 kernel release and schedules arch/ppc for removal in June of 2008. Signed-off-by: Josh Boyer Signed-off-by: Paul Mackerras commit b6f41cc8304ce04a5afa3e1e5d2ff6e8088831b7 Author: Josh Boyer Date: Tue Jul 3 02:06:53 2007 +1000 [POWERPC] Consolidate PowerPC 750 cputable features The 750 CPU_FTR macros have quite a bit of duplication in them. Consolidate them to use CPU_FTRS_750 and only list the unique features for derivatives. Signed-off-by: Josh Boyer Signed-off-by: Paul Mackerras commit 078f194045f892a10f4a5406e7cb06a7f8d42c57 Author: will schmidt Date: Wed Jun 27 02:12:33 2007 +1000 [POWERPC] Oprofile enhanced instruction sampling support Oprofile enhanced instruction sampling support. When performing instruction sampling, the mmcra[SLOT] field can be used to more accurately identify the address of the sampled instruction. Tested on power4, js20, power5 and power5+. Signed-off-by: Will Schmidt cc: Maynard Johnson Signed-off-by: Paul Mackerras commit f5e6a280d153bff3b0cd15651d29d409f8dea698 Author: Olaf Hering Date: Sun Jun 24 16:57:08 2007 +1000 [POWERPC] Make two xmon variables static xmon_early and xmon_off are only used in this file. Signed-off-by: Olaf Hering Signed-off-by: Paul Mackerras commit 94a3807c2a547283bb2fb1728609ad51c09d5f79 Author: Michael Ellerman Date: Wed Jun 20 10:54:19 2007 +1000 [POWERPC] Make the debugfs "powerpc" dir globally accessible The prom.c debugging code creates a "powerpc" directory in debugfs, which is nice, but doesn't allow any other debugging code to stick things under "powerpc" in debugfs. So make it global. While we're there we should make the prom.c debugging code depend on CONFIG_DEBUG_FS, because it doesn't work otherwise. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit db0dbae9d9680bce69fe1ce775709e60c8ee9c29 Author: Wade Farnsworth Date: Wed Jun 20 10:15:10 2007 +1000 [POWERPC] Add a check for keyboard/mouse device nodes in check_legacy_ioport() The device tree for the MPC8641 HPCN does not implement the device type property for I8042 nodes. In addition to checking the I8042 node's device type, also match the keyboard and/or mouse nodes' compatible property. Signed-off-by: Wade Farnsworth Signed-off-by: Paul Mackerras commit 6a281856c02d2291df2f7d9df5bfdee2e7bdd747 Author: Michael Ellerman Date: Tue Jun 19 16:08:00 2007 +1000 [POWERPC] Add a warning to help trackdown device_node refcounting bugs When the refcount for a device node goes to 0, we call the destructor - of_node_release(). This should only happen if we've already detached the node from the device tree. So add a flag OF_DETACHED which tracks detached-ness, and if we find ourselves in of_node_release() without it set, issue a warning and don't free the device_node. To avoid warning continuously reinitialise the kref to a sane value. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit d3b814bb1e8b0c63449a3430196c20cbe24a3e67 Author: Michael Ellerman Date: Tue Jun 19 16:07:58 2007 +1000 [POWERPC] Generalise device_node flag interface The struct device_node currently has a _flags variable, although it's only used for one flag - OF_DYNAMIC. Generalise the flag accessors so we can use them with other flags in future. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 972d17c9dbad378da61baa17f4c3ea6e154b186a Author: Michael Ellerman Date: Tue Jun 19 16:07:56 2007 +1000 [POWERPC] Check for the root node in of_detach_node() It's not sensible to call of_detach_node() on the root node, but we should check for it just to be safe. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 333e615483afc5203d1cae1490e50982d6eefbea Author: Roland Dreier Date: Sat Jun 16 05:36:32 2007 +1000 [POWERPC] Add cputable entry for PowerPC 440SPe Rev. B When adding the cputable entry for 440SPe Rev. B, we also need to adjust the existing entries for 440SP Rev. A and 440SPe Rev. B so that they look more bits of the PVR. The 440SPe Rev. B has PVR 53421891, which would match the current 440SP Rev. A pattern of 53xxx891. To distinguish between 440SP and 440SPe, we need to use the first three digits of the PVR, which are respectively 532 and 534. Signed-off-by: Roland Dreier Signed-off-by: Paul Mackerras commit 57cc705f3920d39d96ed9b8373aa7ff2cb93434f Author: Wade Farnsworth Date: Thu Jun 7 02:57:43 2007 +1000 [POWERPC] Fix drivers/rtc/Kconfig for powerpc The powerpc arch uses CONFIG_PPC instead of CONFIG_POWERPC. This fixes drivers/rtc/Kconfig to use the correct config option. Signed-off-by: Wade Farnsworth Acked-by: Jon Loeliger Signed-off-by: Paul Mackerras commit e34b9c94b6e8d63f94387f5148434db5f8f79084 Author: Ishizaki Kou Date: Thu May 31 19:33:04 2007 +1000 [POWERPC] of_serial: add port type checking Currently, of_serial driver supports only 8250 compatible ports, but prepares that others can easily be added. Yet unregister routine assumes port is 8250. This corrects unregister routine to check port type. Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 1558f9b44e1c6b5eba46f58214851fd24285641f Author: Ishizaki Kou Date: Thu May 31 19:30:33 2007 +1000 [POWERPC] of_serial: Ignore unknown serial port Current of_serial driver assumes unknown serial port to be 8250. But this behavior may cause fatal problems when the serial port is not 8250. This corrects probe routine to ignore unknown serial port. Signed-off-by: Kou Ishizaki Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit f716a425c15ebadf60286cd4fb60d1d6f46e3cf9 Author: Robert P. J. Day Date: Wed May 30 11:29:06 2007 +1000 [POWERPC] VIOTAPE: Use designated initializers for fops member structures. Replace the old-style member initializers with the newer designated initializers. Signed-off-by: Robert P. J. Day Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit ca747ddf29773d552fc0e0dcde0d92b807cd6b85 Author: Christoph Hellwig Date: Tue May 29 21:49:01 2007 +1000 [POWERPC] Remove unused do_signal export do_signal is never used in modular code (obviously), and no other architecture exports it either. Signed-off-by: Christoph Hellwig Signed-off-by: Paul Mackerras commit c0613c1c940dac991b9e54db75dc9976491d9f0a Author: Geert Uytterhoeven Date: Tue Jul 10 12:26:29 2007 +0200 Documentation/block/barrier.txt is not in sync with the actual code: - blk_queue_ordered() no longer has a gfp_mask parameter - blk_queue_ordered_locked() no longer exists - sd_prepare_flush() looks slightly different Signed-off-by: Geert Uytterhoeven Acked-by: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 70cee26e020c1d74ff559c991b96c7b19fa4173b Author: Matthias Kaehlcke Date: Tue Jul 10 12:26:24 2007 +0200 Use list_for_each_entry() instead of list_for_each() in the block device elevator Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit fd11d171e51a5b81c176d856d5df5612117e1a45 Author: Jan Engelhardt Date: Tue Jul 10 12:26:06 2007 +0200 Make a "menuconfig" out of the Kconfig objects "menu, ..., endmenu", 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: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 5f5c926e3cba972636b50ab872b421e992d4f401 Author: Jan Engelhardt Date: Tue Jul 10 12:24:17 2007 +0200 block/Kconfig already has its own "menuconfig" so remove these "menu, endmenu" that did not get cleaned up in the block patch [ http://lkml.org/lkml/2007/4/10/251 ] Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 16ed002f224738366c1809023ec70a71ae51421c Author: Jan Engelhardt Date: Tue Jul 10 12:24:11 2007 +0200 Use menuconfigs instead of menus, so the whole menu can be disabled at once instead of going through all options. Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 15c31be4d5bd2402c6f5a288d56a24edc9252b71 Author: Jens Axboe Date: Tue Jul 10 13:43:25 2007 +0200 cfq-iosched: fix async queue behaviour With the cfq_queue hash removal, we inadvertently got rid of the async queue sharing. This was not intentional, in fact CFQ purposely shares the async queue per priority level to get good merging for async writes. So put some logic in cfq_get_queue() to track the shared queues. Signed-off-by: Jens Axboe commit 36a700307ece3ca090d1f8f071db085087ddc627 Author: Stephen Rothwell Date: Tue May 29 16:06:54 2007 +1000 [POWERPC] Fix viodasd geometry calculations Commit a885c8c4316e1c1d2d2c8755da3f3d14f852528d that introduced the getgeo block device method changed the fallback number of sectors and introduced a bug into the fallback cylinder number calculation. Thanks to Rusty Russell for noticing this. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 3ebf44902f77537b5784eb5059c2b78d8b5a920a Author: Steven Whitehouse Date: Tue Jul 10 12:28:27 2007 +0100 [GFS2] Accept old format NFS filehandles On Tue, 2007-07-10 at 10:06 +0100, Christoph Hellwig wrote: > > -#define GFS2_LARGE_FH_SIZE 10 > > - > > -struct gfs2_fh_obj { > > - struct gfs2_inum_host this; > > - u32 imode; > > -}; > > +#define GFS2_LARGE_FH_SIZE 8 > > Because gfs2_decode_fh only accepts file handles with GFS2_LARGE_FH_SIZE > or GFS2_LARGE_FH_SIZE you don't accept filehandles sent out by and older > gfs version anymore. Stale filehandles because of a new kernel version > are a big no-no, so please add back code to handle the old filehandles > on the decode side. > This should fix that problem I think since its only relating to end of the fh we can just ignore that field in order to accept the older format. Signed-off-by: Steven Whitehouse Cc: Christoph Hellwig Cc: Wendy Cheng commit d7ce6d1d5f6e307a2fbb69626cf120e20e793fe7 Author: Anton Vorontsov Date: Thu Apr 12 01:03:55 2007 +0400 [BATTERY] ds2760 W1 slave This is W1 slave for ds2760 chip, found inside almost every HP iPaq and HTC PDAs/phones. Signed-off-by: Anton Vorontsov Acked-by: Evgeniy Polyakov Signed-off-by: David Woodhouse commit fb972873a767220333ffb509de8d9131336e212c Author: David Woodhouse Date: Fri May 4 00:51:18 2007 +0400 [BATTERY] One Laptop Per Child power/battery driver Signed-off-by: David Woodhouse Signed-off-by: Anton Vorontsov commit efea58e397dec84e37209c98619d39a46872db4d Author: David Woodhouse Date: Fri May 4 00:47:40 2007 +0400 [BATTERY] Apple PMU driver Signed-off-by: David Woodhouse Signed-off-by: Anton Vorontsov commit fe0e3153acfef4864b69932cf116eb5f38f7500c Author: Anton Vorontsov Date: Fri May 4 00:45:39 2007 +0400 [BATTERY] 1-Wire ds2760 chip battery driver This is driver for batteries with ds2760 chip inside, found inside almost every HP iPaq and HTC PDAs/phones. Signed-off-by: Anton Vorontsov Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 3788ec932bfd4942831e9a5034191509a2e11924 Author: Anton Vorontsov Date: Fri May 4 00:43:24 2007 +0400 [BATTERY] APM emulation driver for class batteries Signed-off-by: Eugeny Boger Signed-off-by: Anton Vorontsov Signed-off-by: David Woodhouse commit b2998049cfae4f4a81c4bb048814d34912017bb9 Author: Anton Vorontsov Date: Fri May 4 00:32:17 2007 +0400 [BATTERY] pda_power platform driver Common power driver for PDAs and phones with one or two external power supplies (AC/USB) connected to main and backup batteries, and optional builtin charger. It's used to stop logic duplication through different embedded devices. So, power supply *logic* is here. pda_power register power supplies, and will take care about notifying batteries about power changes through external power interface. Currently, power consumption legal limits (including USB power consumption) should be handled by platform code, inside set_charge function. Signed-off-by: Anton Vorontsov Signed-off-by: Roman Moravcik Signed-off-by: David Woodhouse commit 4a11b59d8283662193a9c6a9c14c58d1b9bf0617 Author: Anton Vorontsov Date: Fri May 4 00:27:45 2007 +0400 [BATTERY] Universal power supply class (was: battery class) This class is result of "external power" and "battery" classes merge, as suggested by David Woodhouse. He also implemented uevent support. Here how userspace seeing it now: # ls /sys/class/power\ supply/ ac main-battery usb # cat /sys/class/power\ supply/ac/type AC # cat /sys/class/power\ supply/usb/type USB # cat /sys/class/power\ supply/main-battery/type Battery # cat /sys/class/power\ supply/ac/online 1 # cat /sys/class/power\ supply/usb/online 0 # cat /sys/class/power\ supply/main-battery/status Charging # cat /sys/class/leds/h5400\:red-left/trigger none h5400-radio timer hwtimer ac-online usb-online main-battery-charging-or-full [main-battery-charging] main-battery-full Signed-off-by: Anton Vorontsov Signed-off-by: David Woodhouse Signed-off-by: Andrew Morton commit f60d89108f3481ca11672b82cf7e67171e050ce4 Author: Christian Borntraeger Date: Tue Jul 10 11:24:22 2007 +0200 [S390] vmlogrdr function annotation. Use __init and __exit for vmlogrdr. Both functions are only referenced by the module_init exit macros, so this change should be fine. Acked-by: Stefan Weinhuber Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit dce554708cdb02a1053ca3a68997b9facbfde5ce Author: Heiko Carstens Date: Tue Jul 10 11:24:21 2007 +0200 [S390] s390: rename CPU_IDLE to S390_CPU_IDLE sched-cfs-v2.6.22-git-v18.patch introduces CPU_IDLE in sched.h. This conflict with the already existing define in include/asm-s390/processor.h Just rename the s390 defines, since they will go away as soon as we support CONFIG_NO_HZ instead of our own CONFIG_NO_IDLE_HZ. Signed-off-by: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Martin Schwidefsky commit 736f563373804e75f9f3b4abb9e480451bfef8d3 Author: Cornelia Huck Date: Tue Jul 10 11:24:20 2007 +0200 [S390] cio: Remove prototype for non-existing function cmf_reset(). Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit af512ed0f8a7e6a3c6fd93b2b5882c8e837a6939 Author: Ralph Wuerthner Date: Tue Jul 10 11:24:19 2007 +0200 [S390] zcrypt: fix request timeout handling Under very high load zcrypt requests may timeout while waiting on the request queue. Modify zcrypt that timeouts are based on crypto adapter responses. A timeout occurs only if a crypto adapter does not respond within a given time frame to sumitted requests. Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky commit 987ad70a4d90cf0e70dba43ece02c2e2219e092c Author: Martin Schwidefsky Date: Tue Jul 10 11:24:18 2007 +0200 [S390] system call optimization. After the in-kernel system call has been remove the system call path can be optimized. The problem state bit of the old psw is always set between system_call and sysc_do_svc. SAVE_ALL_SVC uses this information to avoid two instructions. Signed-off-by: Martin Schwidefsky commit 3d62149f025134cd69c2fef2a2ccfac3c3c2054f Author: Heiko Carstens Date: Tue Jul 10 11:24:17 2007 +0200 [S390] dasd: Avoid compile warnings on !CONFIG_DASD_PROFILE drivers/s390/block/dasd_proc.c:33: warning: 'dasd_get_user_string' defined but not used drivers/s390/block/dasd_proc.c:172: warning: 'dasd_statistics_array' defined but not used Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 048d5ce6828b9071e241254c7dba13d67bfef2c3 Author: Heiko Carstens Date: Tue Jul 10 11:24:16 2007 +0200 [S390] Remove volatile from atomic_t Follow i386/x86_64 and remove 'volatile' from atomic_t. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit dc4123303b54657389c952049bf5738dd753d004 Author: Michael Holzheu Date: Tue Jul 10 11:24:15 2007 +0200 [S390] Program check in diag 210 under 31 bit If a virtual address is passed to the diag210 function under 31 bit, we get a programming exception, since diag 210 only works with physical addresses. To fix this, the content of the diag210 data structure is copied to a local structure and the physical address of that structure is passed to diagnose 210. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 8a88367088a6b9964d99694b30d80720f019bea2 Author: Martin Schwidefsky Date: Tue Jul 10 11:24:14 2007 +0200 [S390] Bogomips calculation for 64 bit. The bogomips calculation triggered via reading from /proc/cpuinfo can return incorrect values if the qrnnd assembly is called with a pointer in %r2 with any of the upper 32 bits set. Fix this by using 64 bit division / remainder operation provided by gcc instead of calling the assembly. Signed-off-by: Martin Schwidefsky commit 285f67227b63309d699f5bda25ba34962503398f Author: Heiko Carstens Date: Tue Jul 10 11:24:13 2007 +0200 [S390] smp: Merge smp_count_cpus() and smp_get_save_areas(). Merge smp_count_cpus() and smp_get_save_areas() so we save a loop over all potentially present cpus. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit d9f774d439cda5b46324221a47e6aaf7dc2f77cc Author: Heiko Carstens Date: Tue Jul 10 11:24:12 2007 +0200 [S390] zcore: Fix __user annotation. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit bf1a95a225c1349846274caebdca1bb8d20d5853 Author: Stefan Haberland Date: Tue Jul 10 11:24:11 2007 +0200 [S390] fixed cdl-format detection. CDL formated DASDs are now detected correctly even if no VOL1 label is on the disk. This prevents possible loss of data. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit 83119ad4a1ceacd99f380086c2855ae2c4268afc Author: Heiko Carstens Date: Tue Jul 10 11:24:10 2007 +0200 [S390] sclp: Test facility list before executing a service call. Check if a command is available before executing. Saves some superfluous service calls that won't succeed anyway. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 05dd25307ca67cbfa0207bbba2e6c79fa97d125b Author: Heiko Carstens Date: Tue Jul 10 11:24:09 2007 +0200 [S390] sclp: introduce some new interfaces. Introduce some new interfaces so that random subsystems don't have to mess around with sclp internal structures. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit bccdbdc9bd7db3a32c14d8a47f1fb66e3de3c92f Author: Ralph Wuerthner Date: Tue Jul 10 11:24:08 2007 +0200 [S390] Fixed comment typo. Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky commit d197e6921843932b5d8ecf47d23fcac62e73b19a Author: Robert P. J. Day Date: Tue Jul 10 11:24:07 2007 +0200 [S390] vmcp cleanup No need to use the "&" prefix and, since you're calling nonseekable_open(), there is no need to use no_llseek(). Signed-off-by: Robert P. J. Day Signed-off-by: Martin Schwidefsky commit 0845718dafea3e16041d270c256e8516acf4e13d Author: Jens Axboe Date: Tue Jun 12 20:51:32 2007 +0200 pipe: add documentation and comments As per Andrew Mortons request, here's a set of documentation for the generic pipe_buf_operations hooks, the pipe, and pipe_buffer structures. Signed-off-by: Jens Axboe commit cac36bb06efe4880234524e117e0e712b10b1f16 Author: Jens Axboe Date: Thu Jun 14 13:10:48 2007 +0200 pipe: change the ->pin() operation to ->confirm() The name 'pin' was badly chosen, it doesn't pin a pipe buffer in the most commonly used sense in the kernel. So change the name to 'confirm', after debating this issue with Hugh Dickins a bit. A good return from ->confirm() means that the buffer is really there, and that the contents are good. Signed-off-by: Jens Axboe commit d96e6e71647846e0dab097efd9b8bf3a3a556dca Author: Jens Axboe Date: Mon Jun 11 12:18:52 2007 +0200 Remove remnants of sendfile() There are now zero users of .sendfile() in the kernel, so kill it from the file_operations structure and in do_sendfile(). Signed-off-by: Jens Axboe commit d054fe3d10cc1f9aec01378c38caa32dffdd0090 Author: Carsten Otte Date: Fri Jun 15 08:16:22 2007 +0200 xip sendfile removal This patch removes xip_file_sendfile, the sendfile implementation for xip without replacement. Those customers that use xip on s390 are not using sendfile() as far as we know, and so far s390 is the only platform this could potentially be used on so far. Having sendfile is not a popular feature for execute in place file systems, however we have a working implementation of splice_read() based on fs/splice.c if anyone asks for it. At this point in time, it does not seem preferable to merge splice_read() for xip because it causes extra maintenence effort due to code duplication and it requires struct page behind the xip memory segment. We'd like to get rid of that in favor of supporting flash based embedded platforms (Monta Vista work) soon. Signed-off-by: Carsten Otte Signed-off-by: Jens Axboe commit 932cc6d4f7c35bbf70bce8cc865b6033ff49c9c0 Author: Jens Axboe Date: Thu Jun 21 13:10:21 2007 +0200 splice: completely document external interface with kerneldoc Also add fs/splice.c as a kerneldoc target with a smaller blurb that should be expanded to better explain the overview of splice. Signed-off-by: Jens Axboe commit d6f517568f9f5c26e7404a336c7289d5b4b293ec Author: Jens Axboe Date: Mon Jun 4 10:25:05 2007 +0200 sendfile: remove bad_sendfile() from bad_file_ops do_sendfile() prefers splice over sendfile, so it should not trigger (directly, at least). Signed-off-by: Jens Axboe commit ae976416464b741913a13eea62eb6953ee065733 Author: Hugh Dickins Date: Mon Jun 4 10:00:39 2007 +0200 shmem: convert to using splice instead of sendfile() Remove shmem_file_sendfile and resurrect shmem_readpage, as used by tmpfs to support loop and sendfile in 2.4 and 2.5. Now tmpfs can support splice, loop and sendfile in the simplest way, using generic_file_splice_read and generic_file_splice_write (with the aid of shmem_prepare_write). We could make some efficiency tweaks later, if there's a real need; but this is stable and works well as is. Signed-off-by: Hugh Dickins Signed-off-by: Jens Axboe commit 1db60cf2056511c7c8cebcbaee308ef6c79b4728 Author: Jens Axboe Date: Tue Jun 12 08:43:46 2007 +0200 relay: use splice_to_pipe() instead of open-coding the pipe loop It cleans up the relay splice implementation a lot, and gets rid of a lot of internal pipe knowledge that should not be in there. Plus fixes for padding and partial first page (and lots more) from Tom Zanussi. Signed-off-by: Jens Axboe commit 497f9625c2bbd6a8525fb2eedb22a382a6a8253c Author: Jens Axboe Date: Mon Jun 11 12:00:45 2007 +0200 pipe: allow passing around of ops private pointer relay needs this for proper consumption handling, and the network receive support needs it as well to lookup the sk_buff on pipe release. Signed-off-by: Jens Axboe commit d6b29d7cee064f28ca097e906de7453541351095 Author: Jens Axboe Date: Mon Jun 4 09:59:47 2007 +0200 splice: divorce the splice structure/function definitions from the pipe header We need to move even more stuff into the header so that folks can use the splice_to_pipe() implementation instead of open-coding a lot of pipe knowledge (see relay implementation), so move to our own header file finally. Signed-off-by: Jens Axboe commit ebf9909343392c929d9943c04f421cd42e03b530 Author: Tom Zanussi Date: Mon Jun 4 09:12:05 2007 +0200 splice: relay support Signed-off-by: Jens Axboe commit cf8208d0eabd1d5d2625ec02a175a294c3f30d36 Author: Jens Axboe Date: Tue Jun 12 21:22:14 2007 +0200 sendfile: convert nfsd to splice_direct_to_actor() Signed-off-by: Jens Axboe commit f0930fffa99e7fe0a0c4b6c7d9a244dc88288c27 Author: Jens Axboe Date: Fri Jun 1 11:51:43 2007 +0200 sendfile: convert nfs to using splice_read() Acked-by: Trond Myklebust Signed-off-by: Jens Axboe commit fd5821404e6823997666d668f62c76eae228abc9 Author: Jens Axboe Date: Tue Jun 12 21:20:37 2007 +0200 loop: convert to using splice_direct_to_actor() instead of sendfile() This gets rid of the dependency on ->sendfile() for receiving data and converts loop to ->splice_read() instead. Also includes an IV offset fix from Hugh Dickins. Signed-off-by: Jens Axboe commit 130610d6f681c5d970340897f5db000d04a7ef78 Author: Jens Axboe Date: Tue Jun 12 21:20:00 2007 +0200 splice: add void cookie to the actor data We need that for passing driver private info. Signed-off-by: Jens Axboe commit 0452a4e5d021900b07ebdeecb9ed03b49f164f3f Author: Jens Axboe Date: Fri Jun 1 11:55:49 2007 +0200 sendfile: kill generic_file_sendfile() It's no longer used. Signed-off-by: Jens Axboe commit 5ffc4ef45b3b0a57872f631b4e4ceb8ace0d7496 Author: Jens Axboe Date: Fri Jun 1 11:49:19 2007 +0200 sendfile: remove .sendfile from filesystems that use generic_file_sendfile() They can use generic_file_splice_read() instead. Since sys_sendfile() now prefers that, there should be no change in behaviour. Signed-off-by: Jens Axboe commit 534f2aaa6ab07cd71164180bc958a7dcde41db11 Author: Jens Axboe Date: Fri Jun 1 14:52:37 2007 +0200 sys_sendfile: switch to using ->splice_read, if available This patch makes sendfile prefer to use ->splice_read(), if it's available in the file_operations structure. Signed-off-by: Jens Axboe commit 6a14b90bb6bc7cd83e2a444bf457a2ea645cbfe7 Author: Jens Axboe Date: Thu Jun 14 13:08:55 2007 +0200 vmsplice: add vmsplice-to-user support A bit of a cheat, it actually just copies the data to userspace. But this makes the interface nice and symmetric and enables people to build on splice, with room for future improvement in performance. Signed-off-by: Jens Axboe commit c66ab6fa705e1b2887a6d9246b798bdc526839e2 Author: Jens Axboe Date: Tue Jun 12 21:17:17 2007 +0200 splice: abstract out actor data For direct splicing (or private splicing), the output may not be a file. So abstract out the handling into a specified actor function and put the data in the splice_desc structure earlier, so we can build on top of that. This is the first step in better splice handling for drivers, and also for implementing vmsplice _to_ user memory. Signed-off-by: Jens Axboe commit 72d3a38ee083a96c09032e608a4c7e047ce26760 Author: Adrian Bunk Date: Mon Jul 9 09:40:44 2007 +0200 unexport bio_{,un}map_user bio_{,un}map_user no longer have any modular users. Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit f3f541f9ded9dd37edca103dd3be49bfbd9e730d Author: Jens Axboe Date: Thu Jun 21 08:29:34 2007 +0200 Remove legacy CDROM drivers They are all broken beyond repair. Given that nobody has complained about them (most haven't worked in 2.6 AT ALL), remove them from the tree. A new mitsumi driver that actually works is in progress, it'll get added when completed. Signed-off-by: Jens Axboe commit e654bc4393e85e326993256d80b9710a4d6411ff Author: Boaz Harrosh Date: Wed Jun 20 13:53:23 2007 +0200 [PATCH] fix request->cmd == INT cases - I have unearthed very old bugs in stale drivers that still used request->cmd as a READ|WRITE int - This patch is maybe a proof that these drivers have not been used for a long time. Should they be removed completely? Drivers that currently do not work for sure: drivers/acorn/block/fd1772.c | 2 +- drivers/acorn/block/mfmhd.c | 8 ++++---- drivers/cdrom/aztcd.c | 2 +- drivers/cdrom/cm206.c | 2 +- drivers/cdrom/gscd.c | 2 +- drivers/cdrom/mcdx.c | 2 +- drivers/cdrom/optcd.c | 2 +- drivers/cdrom/sjcd.c | 2 +- Drivers with cosmetic fixes only: b/drivers/block/amiflop.c b/drivers/block/nbd.c b/drivers/ide/legacy/hd.c Signed-off-by: Boaz Harrosh Signed-off-by: Jens Axboe commit 9cff3b383dad193b0762c27278a16237e10b53dc Author: Mike Miller (OS Dev Date: Tue Jun 19 20:52:18 2007 +0200 cciss: add new controller support for P700m This patch adds support for the Smart Array P700m SAS controller. This new controller will ship Fall 2007. Signed-off-by: Mike Miller Signed-off-by: Jens Axboe commit c2bcf3b8978c291e1b7f6499475c8403a259d4d6 Author: Jens Axboe Date: Tue Jun 19 19:13:36 2007 +0200 [PATCH] Remove acsi.c Originally from Boaz Harrosh It hasn't been working in 2.5 or 2.6 ever, since it's still buffer_head based. Signed-off-by: Jens Axboe commit f4b09303d00212ead0619db58d8ec8a0a7a94882 Author: Tejun Heo Date: Tue Jun 19 09:18:13 2007 +0200 [BLOCK] drop unnecessary bvec rewinding from flush_dry_bio_endio Barrier bios are completed twice - once after the barrier write itself is done and again after the whole sequence is complete. flush_dry_bio_endio() is for the first completion. It doesn't really complete the bio. It rewinds bvec and resets bio so that it can be completed again when the whole barrier sequence is complete. The bvec rewinding code has the following problems. 1. The rewinding code is wrong because filesystems may pass bvec with non zero bv_offset. 2. The block layer doesn't guarantee anything about the state of bvec array on request completion. bv_offset and len are updated iff __end_that_request_first() completes the bvec partially. Because of #2, #1 doesn't really matter (nobody cares whether bvec is re-wound correctly or not) but then again by not doing unwinding at all, we'll always give back the same bvec to the caller as full bvec completion doesn't alter bvecs and the final completion is always full completion. Drop unnecessary rewinding code. This is spotted by Neil Brown. Signed-off-by: Tejun Heo Cc: Neil Brown Signed-off-by: Jens Axboe commit 554988d6fe369719ae5b41255c577569ecf47c30 Author: Dave Young Date: Tue Jun 19 09:14:26 2007 +0200 [PATCH] cdrom_sysctl_info fix Fix the cdrom_sysctl_info possible buffer overwrite bug. Also fix the locking of accessing topCdromPtr pointer. Signed-off-by: Dave Young Signed-off-by: Jens Axboe commit 32eef964110985c5845472e07fa0a18838a970c4 Author: Jens Axboe Date: Tue Jun 19 09:09:27 2007 +0200 blk_hw_contig_segment(): bad segment size checks Two bugs in there: - The virt oversize check should use the current bio hardware back size and the next bio front size, not the same bio. Spotted by Neil Brown. - The segment size check should add hw front sizes, not total bio sizes. Spotted by James Bottomley Acked-by: James Bottomley Acked-by: NeilBrown Signed-off-by: Jens Axboe commit 7deeed13170e634adc4552ff94588d6301a3da83 Author: Benjamin Gilbert Date: Tue Jun 19 09:05:21 2007 +0200 [TRIVIAL PATCH] Kill blk_congestion_wait() stub for !CONFIG_BLOCK blk_congestion_wait() doesn't exist anymore, but there's still a stub in blkdev.h for the !CONFIG_BLOCK case. Kill it. Signed-off-by: Benjamin Gilbert Signed-off-by: Jens Axboe commit b8ce2272becc87894d95cbdbba42ae72115131f2 Author: Vitaly Bordug Date: Mon Jul 9 11:37:36 2007 -0700 [POWERPC] dts: kill hardcoded phandles Removed explicit linux,phandle usage. Using references and labels now in PQ and PQ2 boards currently supported in arch/powerpc. Signed-off-by: Vitaly Bordug Cc: Arnd Bergmann Cc: Olof Johansson Cc: Dominik Brodowski Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Kumar Gala commit 80128ff79d282cf71b1819dbca9b8dd47d8ed3e8 Author: Vitaly Bordug Date: Mon Jul 9 11:37:35 2007 -0700 [POWERPC] 8xx: mpc885ads pcmcia support Adds support for PowerQuicc on-chip PCMCIA. The driver is implemented as of_device, so only arch/powerpc stuff is capable to use it, which now implies only mpc885ads reference board. To cope with the code that should be hooked inside driver, but is really board specific (like set_voltage), global structure mpc8xx_pcmcia_ops holds necessary function pointers that are filled in the BSP code. [akpm@linux-foundation.org: whitespace diddles] Signed-off-by: Vitaly Bordug Acked-by: Arnd Bergmann Acked-by: Olof Johansson Cc: Dominik Brodowski Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Kumar Gala commit 90faf4fa7964a08d36160f7bc3c252866ad1275a Author: Kumar Gala Date: Mon Jul 9 23:51:06 2007 -0500 [POWERPC] CPM_UART: Use inline function form of eieio Signed-off-by: Kumar Gala commit 74a0ba61b1ca96d6bb98889a7d95cd057165da49 Author: Kumar Gala Date: Mon Jul 9 23:49:09 2007 -0500 [POWERPC] Move inline asm eieio to using eieio inline function Use the eieio function so we can redefine what eieio does rather than direct inline asm. This is part code clean up and partially because not all PPCs have eieio (book-e has mbar that maps to eieio). Signed-off-by: Kumar Gala commit cef1a3a5b8697ad76a6d18753e418cfe6a897030 Author: Laurent Pinchart Date: Mon Jul 9 14:58:18 2007 +0200 [PPC] Add linux/pagemap.h to arch/ppc/mm/tlb.c When compiled without swap support, arch/mm/tlb.c complains about missing function declarations. This patch fixes the warnings. Signed-off-by: Laurent Pinchart Signed-off-by: Kumar Gala commit d3e0e02804a5f48432a87b839b469e66d1a84f1c Author: Domen Puncer Date: Mon Jul 9 09:52:03 2007 +0200 [POWERPC] 52xx: sparse fixes sparse caught these static functions / __iomem annotations under arch/powerpc/platform/52xx/ Signed-off-by: Domen Puncer Signed-off-by: Kumar Gala commit c03ac582feb1c80ddd5c73e6892d79686340e551 Author: Grant Likely Date: Fri Jul 6 16:29:09 2007 -0600 [POWERPC] 83xx: Add USB support to mpc8349-mitx board port Signed-off-by: Grant Likely Signed-off-by: Kumar Gala commit e5a94af84715d142b1050c927a83dd8b1076774b Author: Li Yang Date: Tue Jul 3 17:43:16 2007 +0800 [POWERPC] 83xx: USB platform code rework Add 831x USB platform setup code and rework 834x USB platform setup code. Move USB platform code to usb.c for different boards with CPU of the same series to share the USB initialization code. Signed-off-by: Li Yang Signed-off-by: Kim Phillips Signed-off-by: Kumar Gala commit 65f88f89c94d877794a6006f210d75d2974a182e Author: Andrew Morton Date: Tue Jul 10 00:43:06 2007 -0400 Input: tsdev - fix broken usec-to-millisecs conversion Noted by Fengwei Yin Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 744c9c33eaa062f716c6ae0bcb022b47c3af8b73 Author: Mike Rapoport Date: Tue Jul 10 00:38:39 2007 -0400 Input: pxa27x_keyboard - fix compile error Signed-off-by: Mike Rapoport Acked-by: Rodolfo Giometti Signed-off-by: Dmitry Torokhov commit 4f179f71607382888c5ce5385a4ee136e1a2002a Author: Andrew Morton Date: Tue Jul 10 00:38:31 2007 -0400 Input: serio_raw - shut up errorneous warning drivers/input/serio/serio_raw.c: In function 'serio_raw_read': drivers/input/serio/serio_raw.c:163: warning: 'c' may be used uninitialized in this function Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 2f1d076a220bf57270020a1e756a9f34108b9338 Author: Robert P. J. Day Date: Tue Jul 10 00:38:18 2007 -0400 Input: update MAINTAINERS to explicitly mention touchscreens Signed-off-by: Robert P. J. Day Signed-off-by: Dmitry Torokhov commit 72a42f242cad8f393bb2556f4cc5175c6cea9892 Author: Hans de Goede Date: Tue Jul 3 01:55:18 2007 -0400 Input: atkbd - change mapping for e032 from KEY_WWW to KEY_HOMEPAGE WWW/Homepage key on Microsoft-compatible keyboards generates KEY_WWW when connected via PS/2 port but KEY_HOMEPAGE when connected via USB. This patch changes mapping in atkbd to match one in HID driver. Signed-off-by: Hans de Goede Acked-by: Vojtech Pavlik Signed-off-by: Dmitry Torokhov commit df561fcd445c9cf9f4fff98ea795a0e72b7dc1e1 Author: Ondrej Zary Date: Tue Jul 3 01:55:03 2007 -0400 Input: usbtouchscreen - add support for IRTOUCHSYSTEMS touchscreens This patch adds support for IRTOUCHSYSTEMS (or UNITOP) infrared touchscreens. The touchscreen sends data in 8-byte packets. BYTE 0 - unknown meaning, seen only one value: 0x54 BYTE 1 - unknown meaning, 3 lowest bits indicate touch state values seen: 0x81, 0x82 or 0x83 bit 0 = set if the screen is touched and was not touched before (touch bit 1 = set if the screen is touched and was touched (dragging) bit 2 = set if the touch was ended (release) BYTES 2 and 3 - X position, high-order-byte first, range = 0 to 0x0FFF BYTES 4 and 5 - Y position, high-order-byte first, range = 0 to 0x0FFF BYTE 6 - unknown meaning, seen only one value: 0xFF BYTE 7 - unknown meaning, seen only one value: 0x00 Signed-off-by: Ondrej Zary Signed-off-by: Daniel Ritz Signed-off-by: Dmitry Torokhov commit 1e2831db01c0726ec046e69719a10d7696b283fb Author: Dmitry Torokhov Date: Thu Jun 14 23:58:51 2007 -0400 Input: ppc-beep - switch to using input_dev->dev.parent In preparation for struct class_device -> struct device input core conversion, switch to using input_dev->dev.parent when specifying device position in sysfs tree. Also, do not access input_dev->private directly, use helpers. Signed-off-by: Dmitry Torokhov commit ae91d10aab2762f81733e9194cb56eff99c8d808 Author: Dmitry Torokhov Date: Thu Jun 14 23:49:55 2007 -0400 Input: xpad - fix report for dpad and inverted Y and RY axes on xbox 360 Make the driver report Y/RY up as positive value and down as negative. Also make DPAD mapping the same as classic xpad. Reported-by: Brian Magnuson Tested-by: Jan Kratochvil Signed-off-by: Dmitry Torokhov commit 6426b333a7365035ede9744faa24bdc5682fad8a Author: Adrian Bunk Date: Thu Jun 14 23:33:26 2007 -0400 Input: xpad - make xpad_play_effect() static xpad_play_effect() does not need to be global. Signed-off-by: Adrian Bunk Signed-off-by: Dmitry Torokhov commit 2e8335a629e48a753642772a5fe758c12d2e48bf Author: Jan Kratochvil Date: Thu Jun 14 23:33:13 2007 -0400 Input: xpad - fix check for succesful usb_buffer_alloc Signed-off-by: Jan Kratochvil Signed-off-by: Dmitry Torokhov commit 5ec1f7f3e4a4896062dc6a64d38036588733bc23 Author: Andi Drebes Date: Thu Jun 14 23:33:01 2007 -0400 Input: grip-mp - use ARRAY_SIZE Signed-off-by: Andi Drebes Signed-off-by: Dmitry Torokhov commit 7ecfbfd3d000a5d6787cf3369228e7f0082b8758 Author: Ping Cheng Date: Thu Jun 14 23:32:48 2007 -0400 Input: wacom - add support for the new Bamboo tablets Signed-off-by: Ping Cheng Signed-off-by: Dmitry Torokhov commit 5f5655023f2814969b744c1e07494666587243aa Author: Hans-Christian Egtvedt Date: Thu Jun 14 23:32:35 2007 -0400 Input: add gpio-mouse driver Adds support for simulating a mouse using GPIO lines. The driver needs an appropriate platform device to be created by architecture code. The driver has been tested on AT32AP7000 microprocessor using the ATSTK1000 development board. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Dmitry Torokhov commit 9657d75c5f0f7d0a9cb507521d3ad1436aea28c9 Author: Dmitry Torokhov Date: Thu Jun 14 23:32:24 2007 -0400 Input: convert from class devices to standard devices Signed-off-by: Dmitry Torokhov commit d63219a10126b878abbbffdf4c5bcf29ef756b7f Author: Dmitry Torokhov Date: Thu Jun 14 23:31:45 2007 -0400 Input: wistron - add support for querying/changing keymap Implement getkeycode and setkeycode methods for the device so EVIOCGKEYCODE and EVIOCSKEYCODE ioctls will work. Signed-off-by: Dmitry Torokhov commit c2554c91425a86e5d0409a76b7ddcb328362f08b Author: Dmitry Torokhov Date: Tue May 22 23:48:39 2007 -0400 Input: wistron - convert to use input-polldev Switch to using input-polldev skeleton instead of implementing polling loop by itself. Signed-off-by: Dmitry Torokhov commit 389679d8faa38bb6d069d9e1805f15e3cb9a6d7f Author: Eric Piel Date: Mon May 21 00:46:31 2007 -0400 Input: wistron - add LED support Add support to wistron_btns for leds that come with the multimedia keys. Mail and wifi leds are supported, on laptops which have them. Depending on the laptop, wifi subsystem may control just the led, or both the led and the wifi card. Wifi led interface is activated only for the former type of laptops, as the latter type is already managed. Leds are controled by the interface in /sys/class/leds. Signed-off-by: Eric Piel Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit a4da16d3838669d7fb096ea5d1e4917e5ca4dc16 Author: Eric Piel Date: Mon May 21 00:46:22 2007 -0400 Input: wriston - reduce polling frequency Reduces the polling frequency from 10 Hz to 2 Hz, which should be less a burden for laptops wrt energy saving. As it is multimedia keys, 500ms (maximum) of latency should be still fine for the user. In order to keep fluent the feeling when the user is pressing several keys in a raw (such as changing the volume), the frequency is increased for a short duration after a key is pressed. Signed-off-by: Eric Piel Signed-off-by: Dmitry Torokhov commit 5035522d1a6b55f95e7e01c209b57f5d89f88b16 Author: Rene van Paassen Date: Mon May 21 00:32:21 2007 -0400 Input: aiptek - update driver version Update credits and version number to 2.3 Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 1e7b3faed1793e7637a774240ae22541c5ba6ca0 Author: Rene van Paassen Date: Mon May 21 00:32:17 2007 -0400 Input: aiptek - rework the function key code Function keys (also called macro keys) code corrected. Using a lastMacro variable to keep track of key currently pressed. This ensures proper resetting when dragging the pen in the drawing area or to another key. Also suppress sending pressure reports when over the macro key area. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 0112db36ef95e5632db071297f7df130725c47b9 Author: Rene van Paassen Date: Mon May 21 00:32:12 2007 -0400 Input: aiptek - tolerate newlines in sysfs files Now echo "some value" > /sys/......./somefile is also acceptable. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit b3b6cf1d47508a04de859d357789a3fc0cf8c690 Author: Rene van Paassen Date: Mon May 21 00:32:07 2007 -0400 Input: aiptek - correct the tool switching code Now the old tool is remembered, and reset when a new tool is selected via the sysfs files. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit da9fda434cde76dfb8174548a63b685b4ac00a9c Author: Rene van Paassen Date: Mon May 21 00:32:03 2007 -0400 Input: aiptek - use only absolute misc reports To get an on - off reporting for proximity, absolute misc reports are used. The mixture of absolute and relative reports is awkward Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 6125a400354c4a02b9dad0e5d8128f9dc08cfd51 Author: Rene van Paassen Date: Mon May 21 00:31:59 2007 -0400 Input: aiptek - put sensible warnings in probe Added warnings to the points where the tablet probe may fail Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 1a54f49e8989462cfc9cab0c377b2d4e60e5b70a Author: Rene van Paassen Date: Mon May 21 00:31:55 2007 -0400 Input: aiptek - use set_bit instead of bitwise or Have to use set_bit since some bit values are over 32, and bitwise or won't work on these. To be safe for the future too, use set_bit for all input dev capabilities Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 0038cae0ffd72b75699010bd112655dc2615e2fd Author: Mark Vytlacil Date: Mon May 21 00:31:50 2007 -0400 Input: aiptek - fix relative mode parsing Corrections to relative mode, was looking at wrong byte Signed-off-by: Mark Vytlacil Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit ce0982edaec2c46dc9ec466e03f1fe94ee0862d8 Author: Rene van Paassen Date: Mon May 21 00:31:45 2007 -0400 Input: aiptek - fixed mouse button defines Mouse button defines tested the wrong bits, now fixed Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit fe981f2340edffcb6aad2203d8f14c9bef0e67e3 Author: Rene van Paassen Date: Mon May 21 00:31:24 2007 -0400 Input: aiptek - correct the proximity and validity checks Calculation of proximity bit and of data valid bits were reversed for stylus reports. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 2fe574167be6a61d5f37c496da01c4a7daa73f4d Author: Rene van Paassen Date: Mon May 21 00:18:24 2007 -0400 Input: aiptek - correct documentation on reports Small fix that corrects the documentation on the report byte format produced by the mouse Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 33936fa603f2524a7dde08d22637d0989a4e8fdd Author: Dmitry Torokhov Date: Mon May 21 00:18:15 2007 -0400 Input: aiptek - use array to list all buttons When setting up input device use an array to list all the buttons instead of setting every bit separately. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 37767b66ed61ee37f0d8f40523f74c31bc187d1d Author: Dmitry Torokhov Date: Mon May 21 00:18:08 2007 -0400 Input: aiptek - kill aiptek_convert_from_2s_complement() There is no reason to do that, just tell the compiler that we are dealing with signed values in buffer, that's it. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit cd438a58c89221d8642455d0cc8ec96d3b822f6e Author: Dmitry Torokhov Date: Mon May 21 00:17:57 2007 -0400 Input: aiptek - use maps in attributes Use maps to convert for strings to internal constants and vice versa in aiptek's sysfs attribute methods instead of open-coding it. This results in smaller code that is also easier to maintain. [Rene: fix a typo - stylys instead of stylus] Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 02fb6c385c72823af4fac83963a05be9163c73ea Author: Dmitry Torokhov Date: Mon May 21 00:17:44 2007 -0400 Input: aiptek - do not check for NULL in attribute methods It makes no sense to check for NULL in attribute methods - we do usb_set_intfdata before creating attributes and once attributes have been removed we are guaranteed to not be called. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit b087e1f3ee9ae4da49fdeca2b0f0f8fc5a886a79 Author: Dmitry Torokhov Date: Mon May 21 00:17:37 2007 -0400 Input: aiptek - use attribute group Use attribute group to simplify error handling and reduce code. [Rene: add missing NULL to properly terminate aiptek_attributes] Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 5c659c62f9f60633a8de17bd17afaa448f1e1d68 Author: Dmitry Torokhov Date: Mon May 21 00:17:22 2007 -0400 Input: aiptek - remove vendor and product attributes from sysfs They are already exported by input core; there is no need to do it twice. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit 9b40ed088bb14ebed30540b19d5c417dc4d9d528 Author: Dmitry Torokhov Date: Mon May 21 00:17:12 2007 -0400 Input: aiptek - do not try to export associated event device Do not try to export via sysfs associated event device - it does not work when evdev is a module that is loaded after aiptek; also it pokes too deply into input core internals. Userspace should rely on udev to set up permanent device name for the tablet. Signed-off-by: Rene van Paassen Signed-off-by: Dmitry Torokhov commit aea6a46122a0ce65a831fd93cac6d2084ac666f9 Author: Aristeu Rozanski Date: Thu May 10 01:47:18 2007 -0400 Input: psmouse - add support for Cortron PS/2 Trackballs Cortron PS/2 Trackballs (700-0001A) report the 4th button using the 4th bit of the first packet (yes, it breaks the standard PS/2 protocol). This patch adds an extra protocol to generate BTN_SIDE based on the 4th bit. There's no way to detect those trackballs using any kind of special sequence, thus the protocol must be activated explicitely by writing into 'protocol' sysfs attribute: echo -n "cortps" > /sys/devices/platform/i8042/serio1/protocol Signed-off-by: Aristeu Rozanski Signed-off-by: Dmitry Torokhov commit e01a06e8df239de0ffd4ee37d296c7bc3f57e817 Author: Jan Kratochvil Date: Wed May 9 00:27:51 2007 -0400 Input: xpad - add Xbox360 gamepad rumble support Implementation is using force feedback support for memoryless devices. Signed-off-by: Jan Kratochvil Signed-off-by: Dmitry Torokhov commit c7d9f7eb30dccf601cbdc67d5bd452f54ce90ce4 Author: Jan Kratochvil Date: Wed May 9 00:27:37 2007 -0400 Input: xpad - add support for Xbox 360 gamepad Xbox 360 gamepad is slightly different then the previous model so it has its own version of process_packet method. Detection of this new device relies on USB_DEVICE_INTERFACE_PROTOCOL macro. This device got vendor specific subclass so it can't be matched with USB_INTERFACE_INFO and we need only one interface protocol from four availaible. It means USB_DEVICE can't be used either. Added xpad360_btn structure with additional buttons for x360 gamepad. Added xtype into xpad_device structure to distinguish between different types of xbox devices. Signed-off-by: Jan Kratochvil Signed-off-by: Dmitry Torokhov commit f836ac808f031e84d7d73a3540f30f38036bb41e Author: Jan Kratochvil Date: Wed May 9 00:26:15 2007 -0400 USB: Add USB_DEVICE_INTERFACE_PROTOCOL macro The USB_DEVICE_INTERFACE_PROTOCOL will allow to match one interface protocol of vendor specific device. This macro is used in patch adding support for xbox360 to xpad.c Signed-off-by: Jan Kratochvil Signed-off-by: Greg Kroah-Hartman Signed-off-by: Dmitry Torokhov commit 749e80810d26c8d522b089718f22bb92d7834a37 Author: Roy Zang Date: Fri Jun 1 16:05:38 2007 +0800 [POWERPC] Remove redundant pci_read_irq_line() function for 85xx platform Remove redundant pci_read_irq_line() function for 85xx CDS board. This function has been realized in common ppc pci code. Signed-off-by: Roy Zang Acked-by: Andy Fleming Acked-by: Benjamin Herrenschmidt Signed-off-by: Kumar Gala commit f72d2f081453d8b1ea36e47478c3463042746ddc Author: Hoang-Nam Nguyen Date: Mon Jul 9 15:33:52 2007 +0200 IB/ehca: Improve latency by unlocking after triggering the hardware Kick the hardware before unlocking the send/receive queue to overlap processing a little more. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 8705ce5b90118be93eb8b0ed6f49ca5ff377df24 Author: Joachim Fenkes Date: Mon Jul 9 15:32:22 2007 +0200 IB/ehca: Notify consumers of LID/PKEY/SM changes after nondisruptive events When firmware reports a nondisruptive port configuration change event, previous versions of the eHCA driver didn't forward the event to consumers like IPoIB. Add code that determines the type of configuration change by comparing old and new port attributes and reports it. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit b1cfe43d4b24144596d277133e0e5b715eea1347 Author: Joachim Fenkes Date: Mon Jul 9 15:31:53 2007 +0200 IB/ehca: Return QP pointer in poll_cq() Also add two unlikely() statements. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 26ed687fdd541c2542b79dcd75fb2c82eb36f189 Author: Joachim Fenkes Date: Mon Jul 9 15:31:10 2007 +0200 IB/ehca: Change idr spinlocks into rwlocks This eliminates lock contention among IRQs as well as the need to disable IRQs around idr_find, because there are no IRQ writers. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 28db6beb420c756c61dd44d9f2786a0677159e74 Author: Joachim Fenkes Date: Mon Jul 9 15:30:39 2007 +0200 IB/ehca: Refactor sync between completions and destroy_cq using atomic_t - ehca_cq.nr_events is made an atomic_t, eliminating a lot of locking. - The CQ is removed from the CQ idr first now to make sure no more completions are scheduled on that CQ. The "wait for all completions to end" code becomes much simpler this way. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 9844b71baa60270110eabaa9589d3260443d1a71 Author: Joachim Fenkes Date: Mon Jul 9 15:29:03 2007 +0200 IB/ehca: Lock renaming, static initializers - Rename all spinlock flags to "flags", matching the vast majority of kernel code. - Move hcall_lock into the only file it's used in. - Replaced spin_lock_init() and friends with static initializers for global variables. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 15f001ec47b049051f679f8b8c965ac9aae95b3e Author: Hoang-Nam Nguyen Date: Mon Jul 9 15:28:18 2007 +0200 IB/ehca: Report RDMA atomic attributes in query_qp() Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 85f003172fc130626261730141ed021258e81f85 Author: Stefan Roscher Date: Mon Jul 9 15:27:13 2007 +0200 IB/ehca: Set SEND_GRH flag for all non-LL UD QPs on eHCA2 Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 472803dab844c0a8a5d757d4c67fa5e76013dcbd Author: Stefan Roscher Date: Mon Jul 9 15:26:31 2007 +0200 IB/ehca: Support UD low-latency QPs Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit a6a12947fbf4a1782535468d756b0d44babf9760 Author: Joachim Fenkes Date: Mon Jul 9 15:25:10 2007 +0200 IB/ehca: add Shared Receive Queue support Support SRQs on eHCA2. Since an SRQ is a QP for eHCA2, a lot of code (structures, create, destroy, post_recv) can be shared between QP and SRQ. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 9a79fc0a1b815cbd05a8e37ea838acfccb7235cc Author: Joachim Fenkes Date: Mon Jul 9 15:23:15 2007 +0200 IB/ehca: QP code restructuring in preparation for SRQ - Replace init_qp_queues() by a shorter init_qp_queue(), eliminating duplicate code. - hipz_h_alloc_resource_qp() doesn't need a pointer to struct ehca_qp any longer. All input and output data is transferred through the parms parameter. - Change the interface to also support SRQ. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 91f13aa3fc22e357b494c5b8270e94543870928d Author: Joachim Fenkes Date: Mon Jul 9 15:21:45 2007 +0200 IB/ehca: HW level, HW caps and MTU autodetection In preparation for support of new eHCA2 features, change adapter probing: - Hardware level is changed to encode major and minor chip version - Hardware capabilities are queried from the firmware - The maximum MTU is queried from the firmware instead of assuming a fixed value Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit b8a3ba551369982180917a999d32fcedbba34115 Author: Hoang-Nam Nguyen Date: Mon Jul 9 15:20:55 2007 +0200 IB/ehca: Change scaling_code parameter description to match default value Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit f41d229865c984015914221959675b1c8723f6a7 Author: Sean Hefty Date: Thu Jun 28 19:16:20 2007 -0700 IB/ipath: return correct PortGUID in NodeInfo Return the PortGUID of the correct port when responding to a NodeInfo query. Returning the SystemImageGUID causes issues when there are multiple HCAs in a single system. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 78526821bee8506ab903f596e8e6187fa5919877 Author: Roland Dreier Date: Mon Jul 9 20:12:26 2007 -0700 IB: Update mailing list address The InfiniBand / RDMA discussion list has moved. Signed-off-by: Roland Dreier commit 4f5973fd3bed9dbff0940ad6cc918be64a17b3e4 Author: Arthur Jones Date: Fri Jul 6 12:48:58 2007 -0700 IB/ipath: Remove bogus RD_ATOMIC checks from modify_qp The changeset 3859e39d ("IB/ipath: Support larger IB_QP_MAX_DEST_RD_ATOMIC and IB_QP_MAX_QP_RD_ATOMIC") added support for larger RD_ATOMIC values, but it failed to take out the stricter checks that were before these and hence had no effect. This patch takes out the bogus checks.... Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit 3588423fbab1cfaf839e67378897e232a054f317 Author: Arthur Jones Date: Fri Jul 6 12:48:53 2007 -0700 IB/ipath: Test interrupts at driver startup All too often, interrupts do not get enabled for our card due to BIOS misconfiguration and other issues. This patch checks for that condition on startup and warns the user. This patch is based on work (check LID availability) by Robert Walsh. Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit 9ca48655667214be6ebd191628a3c4b5b529a87e Author: Ralph Campbell Date: Fri Jul 6 12:48:48 2007 -0700 IB/ipath: Remove support for preproduction HTX InfiniPath cards Clean up some code by removing support for some older pre-production HTX InfiniPath cards. Signed-off-by: Ralph Campbell commit 12f9a49e1bce241c243268c764e1b37391157cd0 Author: Dave Olson Date: Fri Jul 6 12:48:43 2007 -0700 IB/ipath: Change version wording to be less confusing with release number Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 37a7e9b7f28fbef4b6abda102fa41c1467f6022f Author: Ralph Campbell Date: Fri Jul 6 12:48:38 2007 -0700 IB/ipath: Lower default number of kernel send buffers The default calculation for the number of send buffers to allocate to the kernel was too high for the PCIe version of the chip thus leaving fewer than desired send buffers for user MPI applications. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit f42b6471e9e9082ed4bcba1456eccadf98f1337a Author: Arthur Jones Date: Mon Jul 9 20:12:26 2007 -0700 IB/ipath: Update MAINTAINERS entry Bryan is no longer with QLogic and we now have a public git server and a public email alias for infinipath driver patches. And, as pointed out by Hal Rosenstock, the mailing list has changed as well. Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit 0f4fc5ebd9a68ede20ca365576a6df2df2fefc4c Author: Dave Olson Date: Fri Jul 6 12:48:33 2007 -0700 IB/ipath: Be more cautious about coming out of freeze mode We are more careful to be sure that we don't lose information about changes that occurred while we were in freeze mode, when the chip will not notify us, and try to avoid false error interrupts while doing cleanup. Put all of this logic in a new function ipath_clear_freeze(). Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 4fc570bcbe77f823aae183dd824869f79e74cc97 Author: Ralph Campbell Date: Fri Jul 6 12:48:23 2007 -0700 IB/ipath: Add barrier before updating WC head in shared memory Add a barrier to make sure the CPU doesn't reorder writes to memory, since user programs can be polling on the head index update and the entry should be written before that. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 06cc85086e6896939f8c68f8518224748f6b0b2f Author: Jan Engelhardt Date: Wed May 23 14:21:22 2007 -0700 IB: Use menuconfig for InfiniBand menu Change Kconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without having to enter the menu first. Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Roland Dreier commit 6abb6ea80b6564c00906aa0727cf59d2be780d82 Author: WANG Cong Date: Mon Jul 9 20:12:26 2007 -0700 RDMA/cxgb3: Check return of kmalloc() in iwch_register_device() Signed-off-by: WANG Cong [ Also remove cast from void * return of kmalloc() as suggested by Jesper Juhl . ] Signed-off-by: Roland Dreier commit ecc2f0060fa7ff2fc53864ee19e370e5ddd47d5e Author: Steve Wise Date: Mon Jun 25 12:46:00 2007 -0500 RDMA/cxgb3: Don't abort after failures sending the mpa reply This bug results in an abort request being sent down _after_ the tid has been released. If the tid happens to have been reused, then the subsequent generation of the tid gets incorrectly aborted. The thread running iwch_accecpt_cr() must not abort a connection if an error is returned after being awakened. If any errors did occur while iwch_accept_cr() is blocked, then the connection has already been aborted on the thread processing the error. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 96d0e4931e264012f57a2ae8f7c4697bfa55386a Author: Steve Wise Date: Thu Jun 21 18:17:57 2007 -0500 RDMA/cxgb3: Don't post TID_RELEASE message The LLD does this for us in cxgb3_remove_tid(). Also fixed active open failure cases where we also shouldn't be releasing the TID. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 6eda48d1e82f901d977a405e43a849dc79968d61 Author: Steve Wise Date: Tue Jun 19 09:27:48 2007 -0500 RDMA/cxgb3: ctrl-qp init/clear shouldn't set the gen bit Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 1580367e7b2068d075cd42d04c4b8c274815e6fc Author: Steve Wise Date: Tue Jun 19 09:27:48 2007 -0500 RDMA/cxgb3: Don't count neg_adv abort_req_rss messages as real aborts Negative advice messages should _not_ count toward the 2 abort requests needed to indicate an abort request. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit fb497d726612bb0e50240405aaabcf37f13901ed Author: Steve Wise Date: Tue Jun 19 09:27:48 2007 -0500 RDMA/cxgb3: TERMINATE WRs can hang the tx ofld queue Don't set the gen bits nor length bits in the terminate WR. This is done by the LLD driver. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit de3d353072f9342f04112ba0504c3e294220cb8f Author: Steve Wise Date: Mon May 14 13:27:27 2007 -0500 RDMA/cxgb3: Streaming -> RDMA mode transition fixes Due to a HW issue, our current scheme to transition the connection from streaming to rdma mode is broken on the passive side. The firmware and driver now support a new transition scheme for the passive side: - driver posts rdma_init_wr (now including the initial receive seqno) - driver posts last streaming message via TX_DATA message (MPA start response) - uP atomically sends the last streaming message and transitions the tcb to rdma mode. - driver waits for wr_ack indicating the last streaming message was ACKed. NOTE: This change also bumps the required firmware version to 4.3. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 149983af609e8f5c57157467baf8545d17b8a6a1 Author: Dotan Barak Date: Tue Jun 26 15:55:28 2007 +0300 mlx4_core: Get the maximum message size from reported device capabilities Get the maximum message size from the device capabilities returned from the QUERY_DEV_CAP firmware command, rather than hard-coding 2 GB. Signed-off-by: Dotan Barak Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit 87427da55bc03dbce7906a5b09ed50279d654d28 Author: John Gregor Date: Mon Jun 11 10:21:14 2007 -0700 IB/ipath: Update copyright dates Now that it's June, it's about time to update the copyright notices of files that have changed. Signed-off-by: John Gregor Signed-off-by: Roland Dreier commit 991bda284dcbc1ed0522683320043ac41d70c82c Author: Robert Walsh Date: Mon Jun 4 09:55:48 2007 -0700 IB/ipath: Clean send flags properly on QP reset Signed-off-by: Robert Walsh Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit f2d042313e420002b06715675963cfab48ed2597 Author: Robert Walsh Date: Mon Jun 18 14:24:49 2007 -0700 IB/ipath: ipath_poll fixups and enhancements Fix ipath_poll and enhance it so we can poll for urgent packets or regular packets and receive notifications of when a header queue overflows. Signed-off-by: Robert Walsh Signed-off-by: Roland Dreier commit b506e1dc59726a1c608f26e7294b9fe186255139 Author: Robert Walsh Date: Mon Jun 18 14:24:48 2007 -0700 IB/ipath: Send ACK invalid where appropriate The IB specification ch. 9.9.3 table 58 says that a QP which isn't set up for the operation should return a NAK invalid request. Signed-off-by: Robert Walsh Signed-off-by: Roland Dreier commit e8e7ad711509f576b1bffd92c3ae4672fe92ec48 Author: Michael Albaugh Date: Mon Jun 18 14:24:47 2007 -0700 IB/ipath: Add capability to modify PBC word During compliance testing and when debugging some interconnect issues, it is very useful to be able to send malformed packets, without having the device signal them as malformed (drop, or terminate with EBP). The hardware supports this, but the driver "diagnostic packet" interface did not. Extend capability to send specific malformed packets for testing. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit bacf4013530e7fc230a8aa0c6ea3c17fc2f47665 Author: Mark Debbage Date: Mon Jun 18 14:24:46 2007 -0700 IB/ipath: Make handling of one subport consistent Previously the driver and userspace code handled the case of 1 subport somewhat inconsistently. The new interpretation of this situation is that if one subport is requested, the driver turns on the subport mechanism and arranges for the port to be "shared" by one process. In normal use the userspace library does not use this configuration and instead arranges for the port not to be shared at all. This particular idiom can be useful for testing purposes. Signed-off-by: Mark Debbage Signed-off-by: Roland Dreier commit 0df6291c8af2778d05f278d5738eef2c8fafa2dd Author: Mark Debbage Date: Mon Jun 18 14:24:45 2007 -0700 IB/ipath: Correct checking of swminor version field when using subports When subports are required to run a program, this patch checks that the driver and the userspace library have compatible subport implementations. This is achieved through checks on the swminor version field built into the driver and userspace library. Bad combinations are reported through syslog and result in an error when opening the port. Signed-off-by: Mark Debbage Signed-off-by: Roland Dreier commit d781b129f1e8b3e2f369d8035a61a5233832e65c Author: Ralph Campbell Date: Mon Jun 18 14:24:44 2007 -0700 IB/ipath: Duplicate RDMA reads can cause responder to NAK inappropriately A duplicate RDMA read request can fool the responder into NAKing a new RDMA read request because the responder wasn't keeping track of whether the queue of RDMA read requests had been sent at least once. For example, requester sends 4 2K byte RDMA read requests, times out, and resends the first, then sees the 4 responses, then sends a 5th RDMA read or atomic operation. The responder sees the 4 requests, sends 4 responses, sees the resent 1st request, rewinds the queue, then sees the 5th request but thinks the queue is full and that the requester is invalidly sending a 5th new request. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 30d149ab58cc3ed8e4bc9c4dc45bebbed0e84b6e Author: Ralph Campbell Date: Mon Jun 18 14:24:44 2007 -0700 IB/ipath: Fix possible data corruption if multiple SGEs used for receive The code to copy data from the receive queue buffers to the IB SGEs doesn't check the SGE length, only the memory region/page length when copying data. This could overwrite parts of the user's memory that were not intended to be written. It can only happen if multiple SGEs are used to describe a receive buffer which almost never happens in practice. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit db5518cd09c21f0fa70af0a4ca38badd90622c9e Author: Ralph Campbell Date: Mon Jun 18 14:24:43 2007 -0700 IB/ipath: Wait for PIO available interrupt The send function is called when posting new send work requests. There is no point in trying to send a packet if the QP is already waiting for a HW send buffer so don't clear the busy bit until the buffer available interrupt happens. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 06ee109002672ac875558ec699b53cf08a865bd3 Author: Ralph Campbell Date: Mon Jun 18 14:24:42 2007 -0700 IB/ipath: Fix RDMA read retry code A RDMA read response or atomic response can ACK earlier sends and RDMA writes. In this case, the wrong work request pointer was being used to store the read first response or atomic result. Also, if a RDMA read request is retried, the code to compute which request to resend was incorrect. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 9380068fc2f230e7840ff87d3f1e6030ae2ee5e8 Author: Dave Olson Date: Mon Jun 18 14:24:41 2007 -0700 IB/ipath: Use S_ABORT not cancel and abort on exit freeze mode after recovery This centralizes the use of the abort functionality, removes the unneeded buffer cancel (abort does the same thing), sets up to ignore launch errors after abort, same as cancel. We need abort on exit from freeze mode to avoid having buffers stuck in the busy state, if a user process happened to complete the send while we were in freeze mode doing the recovery. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 561095f20eeb5c6c05c303bad8cdb3f8a80821bc Author: Dave Olson Date: Mon Jun 18 14:24:40 2007 -0700 IB/ipath: Fix the mtrr_add args for chips with 2 buffer sizes The values passed have never been right for iba 6120 chips, but just happened to work. We needed to select the right buffer offset in the chip (both are in same register), and the total length was wrong also, but was covered by the rounding up. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit f716cdfe57f217966f41a7add190d6f5b9fd0769 Author: Joan Eslinger Date: Mon Jun 18 14:24:39 2007 -0700 IB/ipath: Change use of constants for TID type to defined values Define pkt rcvd 'type' in a way consistent with HW spec and chips. The hardware considers received packets of type 0 to be expected, and type 1 to be eager. The driver was calling the ipath_f_put_tid functions using a variable called 'type' set to 0 for eager and to 1 for expected packets. Worse, the iba6110 and iba6120 drivers used those values inconsistently. This was quite confusing. Now everything is consistent with the hardware. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit 1dd6a1be1416be48cafda9e63a614f26f0428d10 Author: Ralph Campbell Date: Mon Jun 18 14:24:38 2007 -0700 IB/ipath: Set M bit in BTH according to IB spec According to chapter 17.2.8.1.1, QPs start in the migrated state and should send packets with the M bit set in the BTH. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 6d2fad0472ca0d6caba7c36d2823a527e2a0e4f5 Author: Ralph Campbell Date: Mon Jun 18 14:24:38 2007 -0700 IB/ipath: Fix local loopback bug when waiting for resources This patch fixes a minor bug where the wrong QP was checked for a send work request that should wait for an RNR timeout. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 2c9749c3b534ea0e606b7ee2c29849bbb8d5b0a9 Author: Ralph Campbell Date: Mon Jun 18 14:24:37 2007 -0700 IB/ipath: Fix problem with next WQE after a UC completion This patch fixes a bug introduced when moving some code around for readability. Setting the wqe pointer at the end of the function is a NOP since it isn't used. Move it back to where it is used. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit fdc7215fbd7b7652b052d1fb7893afe324dba7aa Author: Robert Walsh Date: Mon Jun 18 14:24:36 2007 -0700 IB/ipath: Fill in some missing FMR-related fields in query_device In ipath_query_device(), some of the struct ib_device_attr fields were not being initialized. Signed-off-by: Robert Walsh Signed-off-by: Roland Dreier commit e7340f04426416a6655ffaead4651bfb9e1b0848 Author: Robert Walsh Date: Mon Jun 18 14:24:35 2007 -0700 IB/ipath: Fix maximum MTU reporting Although our chip supports 4K MTUs, our driver doesn't yet support this feature, so limit the maximum MTU to 2K until we get support for 4K MTUs implemented. Signed-off-by: Robert Walsh Signed-off-by: Roland Dreier commit 380bf5d38f3cc2799ed2fae554f7af1c4b0ed35b Author: Dave Olson Date: Mon Jun 18 14:24:35 2007 -0700 IB/ipath: Support the IBA6110 revision 4 Recognize IBA 6110 Revision 4: same feature set, etc. as earlier revisions. Signed-off-by: Dave Olson Signed-off-by: Roland Dreier commit aecd3b5ab19624ca9644b9df9c61615282d8923f Author: Michael Albaugh Date: Thu May 17 07:26:28 2007 -0700 IB/ipath: Log "active" time and some errors to EEPROM We currently track various errors, now we enhance that capability by logging some of them to EEPROM. We also now log a cumulative "active" time defined by traffic though the InfiniPath HCA beyond the normal SM traffic. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit 8e9ab3f1c9e34d5c28446c3738983d33a3937fe0 Author: John Gregor Date: Thu May 17 08:15:50 2007 -0700 IB/ipath: Remove incompletely implemented ipath_runtime flags and code The IPATH_RUNTIME_PBC_REWRITE and the IPATH_RUNTIME_LOOSE_DMA_ALIGN flags were not ever implemented correctly and did not turn out to be necessary. Remove the last vestiges of these flags but mark the spot with a comment to remind us to not reuse these flags in the interest of binary compatibility. The INFINIPATH_XGXS_SUPPRESS_ARMLAUNCH_ERR bit was also not found to be useful, so it was dropped in the cleanup as well. Signed-off-by: John Gregor Signed-off-by: Arthur Jones Signed-off-by: Roland Dreier commit 17b2eb9fe6bfadcb3ece308ed50193d10b71ba6e Author: Michael Albaugh Date: Thu May 17 07:05:04 2007 -0700 IB/ipath: Lock and always use shadow copies of GPIO register The new LED blinking interface adds more contention for the unprotected GPIO pins that were already shared, though not commonly at the same time. We add locks to the accesses to these pins so that Read-Modify-Write is now safe. Some of these locks are added at interrupt context, so we shadow the registers which drive and inspect these pins to avoid the mmio read/writes. This mitigates the effects of the locks and hastens us through the interrupt. Add locking and always use shadows for registers controlling GPIO pins (ExtCtrl and GPIOout). The use of shadows implies doing less I/O, which can make I2C operation too fast on some platforms. An explicit udelay(1) in SCL manipulation fixes that. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit 82466f00ec6ef0a5ca7ea8991c731af2ec561c7d Author: Michael Albaugh Date: Wed May 16 15:45:09 2007 -0700 IB/ipath: Support blinking LEDs with an led_override file When we want to find an InfiniPath HCA in a rack of nodes, it is often expeditious to blink the status LEDs via a userspace /sys file. A write-only led_override "file" is published per device. Writes to this file are interpreted as (string form) numbers, and the resulting value sent to ipath_set_led_override(). The upper eight bits are interpretted as a 4.4 fixed-point "frequency in Hertz", and the bottom two 4-bit values are alternately (D0..3, then D4..7) used by the board-specific LED-setting function to override the normal state. Signed-off-by: Michael Albaugh Signed-off-by: Roland Dreier commit a024291b367f98188f4da4a66a9f2f40a2163efb Author: Bryan O'Sullivan Date: Wed May 16 15:31:19 2007 -0700 IB/ipath: Include to fix ppc64 build Signed-off-by: Bryan O'Sullivan Signed-off-by: Roland Dreier commit 525f5f44c487201c91a11904516ee56dea93644e Author: Michael S. Tsirkin Date: Mon Jul 9 20:12:20 2007 -0700 mlx4_core: Include linux/mutex.h from mlx4.h mlx4.h uses struct mutex, so although seems to be pulled in indirectly by one of the headers it includes, the right thing to do is to include directly. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit 70e8992ec771793e18d33d3a6f2247e558baf6ac Author: Dave Jones Date: Mon Jul 9 20:23:50 2007 -0400 [AGPGART] Hand off AGP maintainence. Most of the AGP changes recently have been done in lock-step with DRM updates, so it's probably easier to have airlied pushing AGP changes at the same time he does DRM updates. [Also remove my name from the boot messages. Cautionary tale to others: Never do this, when computers don't boot, people assume you're responsible even if 15 other subsystems initialised after yours. :-) ] Signed-off-by: Dave Jones Signed-off-by: Dave Airlie commit 63019d9329628a5056b3a0c76aee955873dc25c3 Author: Michael S. Tsirkin Date: Mon Jun 11 08:56:10 2007 +0300 IB/mlx4: Include linux/mutex.h from mlx4_ib.h mlx4_ib.h uses struct mutex, so although seems to be pulled in indirectly by one of the headers it includes, the right thing is to include directly. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit 1d3f4b905a786d69103d9e6d8e92683fb2c7a027 Author: Andrew Morton Date: Fri Jun 8 16:29:43 2007 -0700 IB: Fix ib_umem_get() when npages == 0 gcc correctly warned: drivers/infiniband/core/umem.c: In function 'ib_umem_get': drivers/infiniband/core/umem.c:78: warning: 'ret' may be used uninitialized in this function Set ret to 0 in case npages == 0 and the loop isn't entered at all. Signed-off-by: Andrew Morton Signed-off-by: Roland Dreier commit 43506d954e43933cd6fdcab679f6ab057e7607c6 Author: Roland Dreier Date: Mon Jul 9 16:17:32 2007 -0700 IB: Remove garbage non-ASCII characters from comments A few files had 0xa0 characters in comments. Remove them so that the files are clean ASCII text. Signed-off-by: Roland Dreier commit fffba373ef8cc9a5881353395c4edd1ab27cf154 Author: Joachim Fenkes Date: Thu May 24 16:51:05 2007 +0200 IB/ehca: Refactor "maybe missed event" code Refactor the ehca changes from commit ed23a727 ("IB: Return "maybe missed event" hint from ib_req_notify_cq()") so the queue arithmetic is done in slightly fewer lines. Also, move the spinlock flags into the block they're used in. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 1bae4dbf9576e563da23927e4078fffbbce67a75 Author: Hal Rosenstock Date: Mon May 14 17:21:52 2007 -0400 IB/mad: Enhance SMI for switch support Extend the SMI with switch (intermediate hop) support. Care has been taken to ensure that the CA (and router) code paths are changed as little as possible. Signed-off-by: Suresh Shelvapille Signed-off-by: Hal Rosenstock Signed-off-by: Roland Dreier commit 71780f59e127bb281a9302d430495ca9586c14e7 Merge: 36b7741... 7aa4848... Author: Linus Torvalds Date: Mon Jul 9 15:50:56 2007 -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: (31 commits) firewire: fw-sbp2: fix DMA mapping of management ORBs firewire: fw-sbp2: fix DMA mapping of command ORBs firewire: fw-sbp2: fix DMA mapping of S/G tables firewire: fw-sbp2: add a boundary check firewire: fw-sbp2: correctly align page tables firewire: fw-sbp2: memset wants string.h firewire: fw-sbp2: use correct speed in sbp2_agent_reset firewire: fw-sbp2: correctly dereference by container_of firewire: Document userspace ioctl interface. firewire: fw-sbp2: implement nonexclusive login firewire: fw-sbp2: let SCSI shutdown commands through before logout firewire: fw-sbp2: implement max sectors limit for some old bridges firewire: simplify a struct type firewire: support S100B...S400B and link slower than PHY firewire: optimize gap count with 1394b leaf nodes firewire: remove unused macro firewire: missing newline in printk firewire: fw-sbp2: remove unused struct member ieee1394: remove old isochronous ABI ieee1394: sbp2: change some module parameters from int to bool ... commit 36b774102e5ede8d0384684bd394c8285dce5a53 Merge: 71ba22f... feb485d... Author: Linus Torvalds Date: Mon Jul 9 15:50:31 2007 -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: handle cases of volume knobs generating relative values HID: Logitech keyboard 0xc311 needs reset leds quirk HID: support for logitech cordless desktop LX500 special mapping HID: fix autocentering of PID devices HID: separate quirks for report descriptor fixup HID: Add NOGET quirk for all NCR devices HID: support for Petalynx Maxter remote control HID: fix mismatch between hid-input HUT find/search mapping and the HUT HID: support for Gameron dual psx adaptor USB HID: avoid flush_scheduled_work() HID: Use menuconfig objects HID: force hid-input for Microsoft SideWinder GameVoice device HID: input mapping for Chicony KU-0418 tactical pad HID: make debugging output runtime-configurable commit 71ba22fa739029bb158144813b9e82c00326497c Merge: 27a278a... f2ec803... Author: Linus Torvalds Date: Mon Jul 9 15:26:43 2007 -0700 Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (75 commits) Ethernet driver for EISA only SNI RM200/RM400 machines Extract chip specific code out of lasi_82596.c ehea: Whitespace cleanup pasemi_mac: Fix TX interrupt threshold spidernet: Replace literal with const r8169: perform RX config change after mac filtering r8169: mac address change support r8169: display some extra debug information during startup r8169: add endianess annotations to [RT]xDesc r8169: align the IP header when there is no DMA constraint r8169: add bit description for the TxPoll register r8169: cleanup r8169: remove the media option r8169: small 8101 comment r8169: confusion between hardware and IP header alignment r8169: merge with version 8.001.00 of Realtek's r8168 driver r8169: merge with version 6.001.00 of Realtek's r8169 driver r8169: prettify mac_version r8169: populate the hw_start handler for the 8110 r8169: populate the hw_start handler for the 8168 ... commit 7aa484815f8c4defd01366f239b71da5e6b8a791 Author: Stefan Richter Date: Mon Jul 2 21:04:44 2007 +0200 firewire: fw-sbp2: fix DMA mapping of management ORBs The CPU must not touch the buffer after it was DMA-mapped. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit 8526392ae816a2c69f57097ba032865523019caa Author: Stefan Richter Date: Mon Jul 2 21:04:08 2007 +0200 firewire: fw-sbp2: fix DMA mapping of command ORBs The CPU must not touch the buffer after it was DMA-mapped. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit b4be016ad81af5a83f0be820edf106de883e6ade Author: Stefan Richter Date: Mon Jul 2 22:07:34 2007 +0200 firewire: fw-sbp2: fix DMA mapping of S/G tables - The CPU must not touch the buffer after it was DMA-mapped. - The size argument of dma_unmap_single(...page_table...) was bogus. - Move a comment closer to the code to which it refers to. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit 332ef3310bc37ff29fd4382d6dfb38a787078091 Author: Stefan Richter Date: Sun Jul 1 13:56:03 2007 +0200 firewire: fw-sbp2: add a boundary check Add rudimentary check for the case that the page table overflows due to merging of s/g elements by the IOMMU. This would have lead to overwriting of arbitrary memory. After this change I expect that an offending command will be unsuccessfully retried until the scsi_device is taken offline by SCSI core. It's a border case and not worth to implement a recovery strategy. Signed-off-by: Stefan Richter Acked-by: Kristian Høgsberg commit 9fb2dd12c019965ffd15e5a0727af14488b3a772 Author: Stefan Richter Date: Sun Jul 1 13:55:31 2007 +0200 firewire: fw-sbp2: correctly align page tables This is required per SBP-2 clause 5.2. Signed-off-by: Stefan Richter Acked-by: Kristian Høgsberg commit e7cdf237b2a8b4b566721cfb08e448b454c74ada Author: Stefan Richter Date: Sun Jul 1 13:54:57 2007 +0200 firewire: fw-sbp2: memset wants string.h Signed-off-by: Stefan Richter Acked-by: Kristian Høgsberg commit ffd0db26ddc32cd87097ece9725921f43ad487ee Author: Stefan Richter Date: Sun Jul 1 13:54:24 2007 +0200 firewire: fw-sbp2: use correct speed in sbp2_agent_reset noticed by Jay Fenlason Signed-off-by: Stefan Richter Acked-by: Kristian Høgsberg commit 6f061487f7d31427d7e8f420f366e5537ae16f43 Author: Jay Fenlason Date: Wed Jun 27 16:04:33 2007 -0400 firewire: fw-sbp2: correctly dereference by container_of Replace a cast with a container_of(). As long as nobody reorders the structure elements, they do the same thing, but container_of() is more readable. Signed-off-by: Stefan Richter (added complete_command_orb) Acked-by: Kristian Høgsberg commit 7ada60e367640fa8a4a349d9b105f235f346238b Author: Kristian Høgsberg Date: Fri Jun 22 00:20:34 2007 +0200 firewire: Document userspace ioctl interface. The isochronous packet format is still not documented, but this is a good first step. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter (format, wording) commit 5cd54c94b0ba45033c126237d3d70c6e7ab52c3f Author: Stefan Richter Date: Sun Jun 17 23:55:41 2007 +0200 firewire: fw-sbp2: implement nonexclusive login Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit 79352e9f94cff4078f2ffefac4a41b7f14046fb6 Author: Stefan Richter Date: Mon Jun 18 18:46:49 2007 +0200 firewire: fw-sbp2: let SCSI shutdown commands through before logout This affects of course only the "soft shutdown" case, e.g. "modprobe -r firewire-sbp2", while it doesn't matter for hot unplug. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit cf47c7a26ca13b944900dce208890c5b6d5f3a14 Author: Stefan Richter Date: Sun Jun 17 23:52:08 2007 +0200 firewire: fw-sbp2: implement max sectors limit for some old bridges This currently only affects one bridge in the hardwired blacklist. I don't own one of those, hence haven't tested it. Signed-off-by: Stefan Richter commit dae1a3aa8ebdd30fbba56a8d4e22f92455fb0861 Author: Stefan Richter Date: Sun Jun 17 23:39:58 2007 +0200 firewire: simplify a struct type cleanup after "firewire: support S100B...S400B and link slower than PHY" Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit f1397490017e337446c6a8b0562b584679a604a6 Author: Stefan Richter Date: Sun Jun 10 21:31:36 2007 +0200 firewire: support S100B...S400B and link slower than PHY Use a speed probe to determine the speed over 1394b buses and of nodes which report a link speed less than their PHY speed. Log the effective maximum speed of newly created nodes in dmesg. Also, read the config ROM (except bus info block) at the maximum speed rather than S100. This isn't a real optimization though because we still only use quadlet read requests for the entire ROM. The patch also adds support for S1600 and S3200, although such hardware does not exist yet. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit 24d40125f1f59a6de9d9e6e046676bd60532596c Author: Stefan Richter Date: Mon Jun 18 19:44:12 2007 +0200 firewire: optimize gap count with 1394b leaf nodes Table-based gap count optimization cannot be used if 1394b repeater PHYs are present. But it does work with 1394b leaf nodes. Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit 25d83f583b334ac671fbb905c97c374ba34a597a Author: Stefan Richter Date: Sat Jun 9 19:27:07 2007 +0200 firewire: remove unused macro Signed-off-by: Stefan Richter commit 8a8cea2734808522f02941ea16125810ee42c9c7 Author: Stefan Richter Date: Sat Jun 9 19:26:22 2007 +0200 firewire: missing newline in printk Also remove some errno printouts which will be shown by infrastructure code anyway. Signed-off-by: Stefan Richter commit b8f106570f20a7a98a18a14c2d11d65f581c2808 Author: Stefan Richter Date: Fri May 11 23:04:08 2007 +0200 firewire: fw-sbp2: remove unused struct member cleanup after support of single-buffer requests was dropped Signed-off-by: Stefan Richter Signed-off-by: Kristian Hoegsberg commit 53c96b41742a2dadd14e65c23fc119f2a2fd9f05 Author: Stefan Richter Date: Sun Jun 24 15:31:54 2007 +0200 ieee1394: remove old isochronous ABI Based on patch "the scheduled removal of RAW1394_REQ_ISO_{SEND,LISTEN}" from Adrian Bunk, November 20 2006. This patch also removes the underlying facilities in ohci1394 and disables them in pcilynx. That is, hpsb_host_driver.devctl() and hpsb_host_driver.transmit_packet() are no longer used for iso reception and transmission. Since video1394 and dv1394 only work with ohci1394 and raw1394's rawiso interface has never been implemented in pcilynx, pcilynx is now no longer useful for isochronous applications. raw1394 will still handle the request types but will complete the requests with errors that indicate API version conflicts. Signed-off-by: Stefan Richter commit 77bba7aea7dc833caa34761fa7ce081a40a14493 Author: Stefan Richter Date: Sun Jun 17 23:54:52 2007 +0200 ieee1394: sbp2: change some module parameters from int to bool This is upwards compatible, except that integer values other than 0 or 1 are no longer accepted. But values like "Y", "N", "no", "nnoooh!" work now. Also, improve a comment on the serialize_io parameter and make the ORB_SET_EXCLUSIVE macro ultra-safe. Signed-off-by: Stefan Richter commit 93f2e0259a76ceb9c598d5af382aecbb2df01c51 Author: Stefan Richter Date: Sun Jul 8 13:34:21 2007 +0200 ieee1394: first minimal NUMA awareness Association of a host device with a node on NUMA machines optimizes allocations of skbs given from the networking stack to eth1394. Signed-off-by: Stefan Richter commit 8e4dc400b7659691abdd92b3fc01ef094fc8a1e7 Author: Stefan Richter Date: Sun May 27 23:14:05 2007 +0200 ieee1394: eth1394: revert parent device to that in 2.6.20 After ieee1394 was converted away from class_device like the networking subsystem was already in 2.6.21, eth1394's device may point to the fw-host device as its parent again like in 2.6.20. This affects userspace tools which examine the sysfs representation of eth1394's device. Signed-off-by: Stefan Richter commit a0e857eeffba8976be6bdb9f4bb011c18eb2aff7 Author: Stefan Richter Date: Sun Jun 17 23:47:45 2007 +0200 ieee1394: nodemgr: parallelize between several hosts Remove the global nodemgr_serialize mutex which enclosed most of the host thread event loop. This allows for parallelism between several host adapter cards. Properly serialize the driver hooks .update(), .suspend(), .resume(), and .remove() by means of device->sem. These hooks can be called from outside the host threads' contexts. Get() and put() the device.driver when calling its hooks. Signed-off-by: Stefan Richter commit dd7f2928d834f7ac67202bcdf24a44ba9b138f08 Author: Kay Sievers Date: Fri May 25 11:50:53 2007 +0200 ieee1394: convert ieee1394 from "struct class_device" to "struct device" Here is a straightforward conversion to "struct device". The "struct class_device" will be removed from the kernel. It seems to work fine for me with and without CONFIG_SYSFS_DEPRECATED set. Signed-off-by: Stefan Richter commit 59337087cb33db58aa0d4463892b4475cf66a50b Author: Stefan Richter Date: Wed Jul 4 23:13:53 2007 +0200 ieee1394: raw1394: fix a 32/64-bits compat fix I was told that only i386 aligns 64 bit integers at 4 bytes boundaries while all other architectures (32 bit architectures with 64 bit siblings) align it on 8 bytes boundaries. Signed-off-by: Stefan Richter commit 19f00e66f8aa7ee581c6d003fd68ee9f9dee4057 Author: Stefan Richter Date: Mon May 21 18:52:06 2007 +0200 ieee1394: raw1394: Add ioctl() for 32bit userland on 64bit kernel, amendment Pointed out by Arnd Bergmann: PPC32 aligns this at 64bit, IA32 packs it. A kernel-wide available __compat_u64 which is 4-byte aligned on AMD64 and IA64 would be nicer though. Signed-off-by: Stefan Richter commit 650c12c528d3e0ac69405dd35d3bc8a7228e49f2 Author: Petr Vandrovec Date: Mon May 7 04:14:47 2007 +0200 ieee1394: raw1394: Add ioctl() for 32bit userland on 64bit kernel Add compat_ioctl. Although all structures are more or less same, raw1394_iso_packets got pointer inside, and raw1394_cycle_timer got unwanted padding in the middle. I did not add any translation for ioctls passing array of integers around as integers seem to have same size (32 bits) on all architectures supported by Linux. Signed-off-by: Petr Vandrovec Acked-by: Dan Dennedy Signed-off-by: Stefan Richter (split into 3 patches) commit 883b97eaf2a3fba7628f9f78ca7dc422aaf9728b Author: Petr Vandrovec Date: Mon May 7 04:14:47 2007 +0200 ieee1394: raw1394: Fix write() for 32bit userland on 64bit kernel * write(fd, buf, 52) from 32bit app was returning 56. Most of callers did not care, but some (arm registration) did, and anyway it looks bad if request for writing 52 bytes returns 56. And returning sizeof anything in 'int' is not good as well. So all functions now return '0' instead of sizeof(struct raw1394_request) on success, and write() itself provides correct return value (it just returns value it was asked to write on success as raw1394 does not do any partial writes at all). * Related to this was problem that write() could have returned 0 when kernel state would become corrupted and moved to different state than opened/initialized/connected. Now it returns -EBADFD which seemed appropriate. Signed-off-by: Petr Vandrovec Acked-by: Dan Dennedy Signed-off-by: Stefan Richter (split into 3 patches) commit ee9be425961c3ccf75553c83a73bf1f707e66d91 Author: Petr Vandrovec Date: Mon May 7 04:14:47 2007 +0200 ieee1394: raw1394: Fix read() for 32bit userland on 64bit kernel read() always failed with -EFAULT. This was happening due to raw1394_compat_read copying data to wrong location - access_ok always failed as 'r' is kernel address, not user. Whole function just tried to copy data from 'r' to 'r', which is not good. Signed-off-by: Petr Vandrovec Acked-by: Dan Dennedy Signed-off-by: Stefan Richter (split into 3 patches) commit 6552731a058a4facefd921b0b45a9a5392baa5ea Author: Stefan Richter Date: Sat May 19 12:29:37 2007 +0200 ieee1394: add comments in struct hpsb_packet to clarify who is supposed to set what Signed-off-by: Stefan Richter commit 17a624869ea470e33c708871978223c3d9a4c417 Author: Stefan Richter Date: Thu May 3 20:24:19 2007 +0200 ieee1394: ohci1394: remove dead CONFIG variable spotted by Robert P. J. Day Signed-off-by: Stefan Richter commit 27a278aa4309df244a2619f47031acce00ca1b7c Author: Adrian Bunk Date: Mon Jul 9 23:17:59 2007 +0200 drivers/ide/ide-dma.c: unexport ide_set_dma ide_set_dma no longer has any modular user. Signed-off-by: Adrian Bunk Signed-off-by: Bartlomiej Zolnierkiewicz commit bdab00b73d2f77075a3c73556e2692bf06849c17 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:58 2007 +0200 via82cxxx: backport short cables support from pata_via.c Backport short cables support from pata_via.c. This patch should allow UDMA > 2 modes on Acer Ferrari 3400. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Sergei Shtylyov commit f2befd9e80b39a5aa54d65cf59b6a5feb9a8117e Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:58 2007 +0200 sis5513: backport short cables support from pata_sis.c Backport short cables support from pata_sis.c. This patch allows UDMA > 2 modes on ASUS A6K. Thanks to testing this patch goes out to Jiri Stavinoha. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Sergei Shtylyov commit 95ba8c17bc57bf4666e9de2be715b69d9a1ba211 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:58 2007 +0200 alim15x3: backport short cables support from pata_ali.c Backport short cables support from pata_ali.c and while at it cleanup existing cable detection code. This patch should allow UDMA > 2 modes on HP Pavilion N5430 and Fujitsu P2000. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Sergei Shtylyov commit 7207626f47a3d66ce361bad197eefca4b8a6fa17 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:58 2007 +0200 piix: backport short cables support from ata_piix.c Backport short cables support from ata_piix.c. This patch should allow UDMA > 2 modes on: - Acer 5602WLMi - Acer 3682WLMi - Asus W5F - Acer Aspire 2023WLMi Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Sergei Shtylyov commit 49521f97ccd3c2bf6e71a91cea8fe65d170fa4fb Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:58 2007 +0200 ide: add short cables support This patch allows users to override both host and device side cable detection with "ideX=ata66" kernel parameter. Thanks to this it should be now possible to use UDMA > 2 modes on systems (laptops mainly) which use short 40-pin cable instead of 80-pin one. Next patches add automatic detection of some systems using short cables. Changes: * Rename hwif->udma_four to hwif->cbl and make it u8. * Convert all existing users accordingly (use ATA_CBL_* defines while at it). * Add ATA_CBL_PATA40_SHORT support to ide-iops.c:eighty_ninty_three(). * Use ATA_CBL_PATA40_SHORT for "ideX=ata66" kernel parameter. Signed-off-by: Bartlomiej Zolnierkiewicz Reviewed-by: Sergei Shtylyov commit 75b1d97535327d0428c6bffd9d5407e65546fd5d Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:57 2007 +0200 ide: convert ide_find_best_mode() users to use ide_max_dma_mode() ide-timing.h: * remove handling of DMA modes from ide_find_best_mode() and rename it to ide_find_best_pio_mode() * drop no longer needed "map" argument from ide_find_best_pio_mode() and delete needless ->id check * remove no longer needed XFER_SWDMA and XFER_UDMA* defines au1xxx-ide.c: * use ide_max_dma_mode() instead of ide_find_best_mode() * remove needless CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA #ifdef amd74xx.c: * store UDMA masks in amd_ide_chip[] and while at it make "base" field to be u8 instead of unsigned long * convert the driver to use UDMA masks from amd_ide_chip[] * use ide_max_dma_mode() and ide_find_best_pio_mode() instead of ide_find_best_mode() * delete stale comment from amd74xx_ide_dma_check() * remove no longer needed AMD_UDMA* defines via82cxxx.c: * remove unused DISPLAY_VIA_TIMINGS define * store UDMA masks in via_isa_bridges[] and while at it make "flags" field to be u8 instead of u16 * convert the driver to use UDMA masks from via_isa_bridges[] * use ide_max_dma_mode() and ide_find_best_pio_mode() instead of ide_find_best_mode() * remove no longer needed VIA_UDMA* defines pmac.c: * use ide_max_dma_mode() instead of ide_find_best_mode() There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz Reviewed-by: Sergei Shtylyov commit 15a4f943e729d8ba215ee551df6d7988ba14ac00 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:57 2007 +0200 ide: fix pre-EIDE SWDMA support If the word 62 is not defined use the word 52 to get SWDMA mask in ide_get_mode_mask(). Signed-off-by: Bartlomiej Zolnierkiewicz commit ecea57309e826c8aed020e4dae92b368f2eda2a5 Author: Andi Drebes Date: Mon Jul 9 23:17:57 2007 +0200 drivers/ide/legacy/hd.c: Array size calculation using sizeof replaced with ARRAY_SIZE This patch replaces an array size calculation in drivers/ide/legacy/hd.c that was done using sizeof with the ARRAY_SIZE macro. Tested by compilation on an i386 box using "allyesconfig". Diffed against Linus' git-tree. Signed-off-by: Andi Drebes Signed-off-by: Bartlomiej Zolnierkiewicz commit f50f9d8867b95925078ba0fa450e3a5736629d28 Author: Robert P. J. Day Date: Mon Jul 9 23:17:57 2007 +0200 ide: remove content related to dead CONFIG_BLK_DEV_MAC_MEDIABAY config variable Signed-off-by: Robert P. J. Day Signed-off-by: Bartlomiej Zolnierkiewicz commit e71bc140c013dfaff0369ebcc9802a798e358473 Author: Robert P. J. Day Date: Mon Jul 9 23:17:57 2007 +0200 ide: remove references to the non-existent CONFIG_SCSI_EATA_DMA Signed-off-by: Robert P. J. Day Signed-off-by: Bartlomiej Zolnierkiewicz commit 74c8f97a6c2d12fb144ad34076e969e8a01dc4b3 Author: Robert P. J. Day Date: Mon Jul 9 23:17:57 2007 +0200 ide-cd: replace C code with call to ARRAY_SIZE() macro Delete the unnecessary macro ARY_LEN and use ARRAY_SIZE directly. Signed-off-by: Robert P. J. Day Signed-off-by: Bartlomiej Zolnierkiewicz commit f3577db0c294ab4ce8460a8003312474b509e95f Author: Junio C Hamano Date: Mon Jul 9 23:17:57 2007 +0200 ide_in_drive_list(): "ALL" is not a wildcard anymore This removes the support to treat "ALL" as a wildcard for firmware revision. This is made a separate patch, as it will break out-of-tree ide drivers that feed its own table that uses "ALL" as the wildcard to ide_in_drive_list(). Signed-off-by: Junio C Hamano Cc: Alan Cox Cc: Dave Jones Signed-off-by: Bartlomiej Zolnierkiewicz commit bb53cfe9fa21c4f875d5c9470865fbbd0657804e Author: Junio C Hamano Date: Mon Jul 9 23:17:56 2007 +0200 mips au1xxx_ide.h: use NULL as firmware-revision wildcard This updates the DMA whitelist in MIPS specific au1xxx ide driver to use NULL instead of "ALL" as the wildcard. Signed-off-by: Junio C Hamano Cc: Alan Cox Cc: Dave Jones Signed-off-by: Bartlomiej Zolnierkiewicz commit c2d3ce8c39cb17dfc8d0426a98bd79f5d7b21e36 Author: Junio C Hamano Date: Mon Jul 9 23:17:56 2007 +0200 ide_in_drive_list(): accept NULL as the wildcard for firmware revision Earlier, the matching of (model,rev) in ide-dma black/white list handling was to consider "ALL" in the table to match any revision. This makes NULL to be also an accepted wildcard, and changes the entries of tables in ide-dma.c to use NULL. The code still accepts "ALL" as the wildcard, in order to keep any out-of-tree ide driver that feeds its own table that uses "ALL" as the wildcard to ide_in_drive_list() function from breaking. Signed-off-by: Junio C Hamano Cc: Alan Cox Cc: Dave Jones Signed-off-by: Bartlomiej Zolnierkiewicz commit 6d78013bfc20b8579827fc8f214c6f85d469c051 Author: Sergei Shtylyov Date: Mon Jul 9 23:17:56 2007 +0200 aec62xx: kill speedproc() method wrapper (take 2) There's no reason to have the speedproc() method wrapper for the two quite different chip families, so just get rid of it. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit f9383c4269d264c3cf563bd2de365891f6592ebd Author: Matthias Kaehlcke Date: Mon Jul 9 23:17:56 2007 +0200 ide: use mutex instead of ide_setting_sem semaphore in IDE driver The IDE driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Bartlomiej Zolnierkiewicz -- commit 1b9da32a2855afa3c5f27690e03a33dc97410c42 Author: Sergei Shtylyov Date: Mon Jul 9 23:17:56 2007 +0200 aec62xx: remove init_dma() method (take 2) Get rid of the init_dma() method (which had no particular reason to exist) by folding it into the init_hwif() method. While at it, also perform some cleanup in the latter method: - get rid of the useless clearing of hwif->autodma; - fold the serialization code into one 'if' statement; - fold setting the drives' 'autotune' and 'autodma' fields into the single statements... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit b1d19db4e770a752ec032971388fa69a73c84919 Author: Sergei Shtylyov Date: Mon Jul 9 23:17:56 2007 +0200 aec62xx: rework init_setup_aec6x80() Rework init_setup_aec6x80() so that it won't rewrite the constant name strings anymore -- in order to do this: - in aec62xx_init_one(), pass a local copy of 'struct pci_device_id' down the call chain; - change the names for in aec62xx_chipsets[] to default to AEC-6280[R]; - override the 'name' field in init_setup_aec6x80() only if bit 4 of the DMA status register is set. While at it, also change the 'udma_mask' field for AEC-6x80R chips in this function and remove the code doing the same from the init_hwif() method... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 83a6d4ab3b09c0c1921b657bbaac5ada3c9c3623 Author: Sergei Shtylyov Date: Mon Jul 9 23:17:55 2007 +0200 cmd64x: init. code cleanup Fix two minor issues with PCI0646 chip reporting in the init_chipset() method: "IRQ workaround enabled" message printed out not only for revision 0x01 and "CMD646: chipset revision" printed twice (by IDE core and the driver itself). Also, remove empty/pointless switch cases for the chips other than PCI0646, duplicate write to the MRDMODE register when enabling interrupts and MEMORY READ LINE cycles, and needless/misplaced initialization of the timing registers in this method. Switch to reading only the PCI revision ID register itself, not the whole 32 bits at its address in init_chipset() and init_hwif() methods; in addition, get rid of the useless clearing of hwif->autodma and perform some cosmetic style changes in the latter method. Refactor ata66_cmd64x() by moving all the code into the 'switch' statement, renaming/adding variables, and fixing the coding style. While at it, finally get rid of the meaningless aliasing register #define's... Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2648e5d9a80d8a020feb343c52a8704e978e60c6 Author: Sergei Shtylyov Date: Mon Jul 9 23:17:55 2007 +0200 hpt366: simplify UltraDMA filtering (take 4) Simplify UltraDMA mode filtering in the driver: - make use of the newly introduced 'udma_mask' field of 'ide_pci_device_t' to set the correct hwif->ultra_mask, modifying init_setup_hpt366() to select the correct mask based on the chip revision; - replace 'max_mode' field of the 'struct hpt_info' with 'max_ultra' specifying the maximum UltraDMA mode allowed; - rewrite hpt3xx_udma_filter() to differ the filters based on the 'chip_type' field, and only use it for HPT366 and HPT370[A] where it's really necessary. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ef29888ea8e1fdc499e995260195b66fc91d2728 Author: Matthias Kaehlcke Date: Mon Jul 9 23:17:55 2007 +0200 ide: use mutex instead of ide_cfg_sem semaphore in IDE driver The IDE driver uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke Signed-off-by: Bartlomiej Zolnierkiewicz commit c283f5dbe31920ca70b80a594a97bfaa2a28be13 Author: Sergei Shtylyov Date: Mon Jul 9 23:17:54 2007 +0200 ide: make void and rename ide_dma_timeout() method Since ide_dma_timeout() method's result is discarded, make it return 'void'. While at it, drop 'ide_' from the method's name, drop the '__' prefix from the default method's name, and do some cleanups in this method driver-wise: - in ide-dma.c, au1xxx-ide.c, and pdc202xx_old.c, define/use 'hwif' variable; - in au1xxx-ide.c, get rid of commented out printk(); - in sl82c105.c, get rid of unnecessary variables. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 841d2a9bf16471716ba3a5172d24aa40a2ea9398 Author: Sergei Shtylyov Date: Mon Jul 9 23:17:54 2007 +0200 ide: make void and rename ide_dma_lostirq() method Since ide_dma_lostirq() method's result is discarded, make it return 'void'. While at it, rename the method to dma_lost_irq(), drop the '__' prefix from the default method's name, and do some cleanups in this method driver-wise: - in aec62xx.c, rename the method in accordance with other drivers, and get rid of unnecessary variables there; - in pdc202xx_old.c, define/use 'hwif' variable; - in sgiioc4.c, rearrange the code to call the resetproc() method directly. Signed-off-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit b740d8846e2e184909e9f74d4ad9d67ae0e084ea Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 9 23:17:53 2007 +0200 serverworks: always tune CSB6 Switch the driver to always program DMA/PIO timings and set device transfer mode instead of trusting BIOS on CSB6 controllers (libata pata_serverworks.c driver is also doing things this way and there were no problems reported so far). While doing conversion I noticed that the old code had many issues: * the code was assuming that hwif->dma_status is always valid (which obviously isn't true if hwif->dma_base == NULL) * value of "(ultra_timing >> (4*unit)) & ~(0xF0)" expression wasn't checked to fit into udma_modes[5] * code validating DMA timings didn't validate corresponding PIO timings * extra CSB5 PIO register wasn't validated et all * hwif->ide_dma_off_quietly() is always called before ide_set_dma() (which in turn calls hwif->speedproc() method - svwks_tune_chipset() in this case) so the code depending on DMA capable bit of DMA status to be set was never executed (=> the code was never validating DMA timings despite actually enabling DMA if the PIO timings were OK!) * on resume driver dependend entirely on BIOS to restore timings and set transfer mode on the device While at it: There is no need to read PIO/MWDMA timings now so don't do it. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Alan Cox commit c6255e9865a07d5313d6162482792f7bec9160db Author: Christian Kandeler Date: Mon Jul 9 16:19:11 2007 +0200 [IA64] Stop bit for brl instruction SDM says that brl instruction must be followed by a stop bit. Fix instance in BRL_COND_FSYS_BUBBLE_DOWN where it isn't. Signed-off-by: Christian Kandeler Signed-off-by: Tony Luck commit d7ad2254fa7cc11aec3faeba076c1243f6adeb47 Author: John Keller Date: Mon Jul 9 11:42:24 2007 -0700 [IA64] SN: Correct ROM resource length for BIOS copy On SN systems, when setting the IORESOURCE_ROM_BIOS_COPY resource flag, the resource length should be set to the actual size of the ROM image so that a call to pci_map_rom() returns the correct size. Signed-off-by: John Keller Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 71d441ddb51941d9d8279bdc858f965711b85c14 Merge: c31f2e8... 288e4d8... Author: Linus Torvalds Date: Mon Jul 9 13:09:16 2007 -0700 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: JFS: Update print_hex_dump() syntax JFS: use print_hex_dump() rather than private dump_mem() function JFS: Whitespace cleanup and remove some dead code commit ed99c541e0a15281c57530d54a4a5e3272f74fb9 Author: Nicolas Ferre Date: Mon Jul 9 14:58:16 2007 +0200 mmc: at91_mci: fix hanging and rework to match flowcharts Fixes hanging using multi block operations (seen during CMD25). Follows closely the datasheet flowcharts. This piece of code handles better big file writing. I had to take care of the notbusy signal during write (at91_mci_handle_cmdrdy function) and to rearrange the AT91_MCI_ENDRX and AT91_MCI_RXBUFF flag usage. Signed-off-by: Nicolas Ferre Signed-off-by: Pierre Ossman commit e8d04d3dba60bdc139644350fcc88f82e40129dc Author: Nicolas Ferre Date: Tue Jun 19 18:32:34 2007 +0200 mmc: at91_mci typo Typo fix in at91_mci driver : standardized the typo (at91_mci everywhere) Signed-off-by: Nicolas Ferre Signed-off-by: Pierre Ossman commit 9d26a5d3f2b9c4fe4b2ba491683c6989ecd6ae04 Author: Rolf Eike Beer Date: Tue Jun 26 13:31:16 2007 +0200 sdhci: Fix "Unexpected interrupt" handling Whenever a power interrupt is signaled it is also reported as an unexpected one. All other unexpected interrupts get lost. Cause is a not inversed bitmask to remove power interrupts from the status. Signed-off-by: Rolf Eike Beer Signed-off-by: Pierre Ossman commit 8c75deae1ab99661975da098f8b721bafbb247c4 Author: Pierre Ossman Date: Sat May 19 16:14:43 2007 +0200 mmc: fix silly copy-and-paste error Signed-off-by: Pierre Ossman commit ffce2e7e7060c949ccd703dacc9b3dd81b377373 Author: Pierre Ossman Date: Sat May 19 14:32:22 2007 +0200 mmc: move layer init and workqueue to core file Signed-off-by: Pierre Ossman commit b93931a61a119575f84c33af2438b9384fde9eb7 Author: Pierre Ossman Date: Sat May 19 14:06:24 2007 +0200 mmc: refactor host class handling Move basic host class device handling to its own file for clarity. Signed-off-by: Pierre Ossman commit 4101c16a910b15afd190c6bc7d45864461cf5c25 Author: Pierre Ossman Date: Sat May 19 13:39:01 2007 +0200 mmc: refactor bus operations Move bus operations to its own file for the sake of clarity. Also delegate sysfs attributes to bus handlers in preparation for other more exotic types. Signed-off-by: Pierre Ossman commit 7de064ebc67d9baf6c933d3a7046feb9b4eced05 Author: Milko Krachounov Date: Sat May 19 01:18:03 2007 +0200 sdhci: add ene controller id ENE has a very weird design where an SDHCI device (0805) is presented on the PCI bus, but that device is non-functional, and the real device is hidden as a more generic device. Signed-off-by: Milko Krachounov Signed-off-by: Pierre Ossman commit 98ccf14909ba02a41c5925b0b2c92aeeef23d3b9 Author: Pierre Ossman Date: Sat May 12 00:26:16 2007 +0200 mmc: bounce requests for simple hosts Some hosts cannot do scatter/gather in hardware. Since not doing sg is such a big performance hit, we (optionally) bounce the requests to a simple linear buffer that we hand over to the driver. Signed-off-by: Pierre Ossman commit 83ce6ef8408bbc7d9322ab50ba592f83012dea94 Author: Tony Luck Date: Thu Jun 28 16:05:34 2007 -0700 [IA64] Don't set psr.ic and psr.i simultaneously It's not a good idea to use "ssm psr.ic | psr.i" to simultaneously enable interrupts and interrupt state collection, the two bits can take effect asynchronously, so it is possible for an interrupt to be serviced while psr.ic is still zero. Signed-off-by: Tony Luck commit c31f2e8a42c41efa46397732656ddf48cc77593e Author: Ingo Molnar Date: Mon Jul 9 18:52:01 2007 +0200 sched: add CFS credits add credits for recent major scheduler contributions: Con Kolivas, for pioneering the fair-scheduling approach Peter Williams, for smpnice Mike Galbraith, for interactivity tuning of CFS Srivatsa Vaddagiri, for group scheduling enhancements Signed-off-by: Ingo Molnar commit 6fb43d7b50e49a36f8be3199141bec473e5ecb00 Author: Ingo Molnar Date: Mon Jul 9 18:52:01 2007 +0200 sched: micro-optimize mmdrop() micro-optimize mmdrop(). Improves schedule()'s assembly a bit. Signed-off-by: Ingo Molnar commit 9c4801cebc2add1fe514bc8eb201b16372eee11a Author: Ingo Molnar Date: Mon Jul 9 18:52:01 2007 +0200 sched: more agressive idle balancing the Linux scheduler is starving a number of workloads. So default to more agressive idle-balancing. This hurts lmbench context-switching numbers (which was the main reason we sucked at idle-balancing for such a long time) but the lmbench numbers are fine once the system is minimally utilized. Signed-off-by: Ingo Molnar commit 0fec171cdbd7763ef86cbaccb91f3708de6a9003 Author: Ingo Molnar Date: Mon Jul 9 18:52:01 2007 +0200 sched: clean up sleep_on() APIs clean up the sleep_on() APIs: - do not use fastcall - replace fragile macro magic with proper inline functions Signed-off-by: Ingo Molnar commit 9761eea8516d1ff2c7b185e283c5d81cfc307acb Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: style cleanups 4 small style cleanups to sched.c: checkpatch.pl is now happy about the totality of sched.c [ignoring false positives] - yay! ;-) Signed-off-by: Ingo Molnar commit 23bdd703a585a869f2eb32fb9f66749d0476d71e Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: do not set softirqs to nice +19 do not set softirqs to nice +19. _If_ for whatever reason we missed to process some high-prio softirq and woke up ksoftirqd, we should give it a fair chance to actually get some work done, even if the system is under load. Signed-off-by: Ingo Molnar commit ff80a77f20f811c0cc5b251d0f657cbc6f788385 Author: Mike Galbraith Date: Mon Jul 9 18:52:00 2007 +0200 sched: simplify sched_find_first_bit() simplify sched_rt.c's sched_find_first_bit() function: there are only 100 RT priority levels left. Signed-off-by: Ingo Molnar commit 5e7eaade55d53da856f0e07dc9c188f78f780192 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: add CFS documentation add Documentation/sched-design-CFS.txt Signed-off-by: Ingo Molnar commit b642b6d3fad45f659270a9e35df876b38c489082 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: scheduler debugging, enable in Kconfig enable CONFIG_SCHED_DEBUG in lib/Kconfig.debug. the runtime overhead of this option is very small. Signed-off-by: Ingo Molnar commit 43ae34cb4cd650d1eb4460a8253a8e747ba052ac Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: scheduler debugging, core scheduler debugging core: implement /proc/sched_debug and /proc//sched files for scheduler debugging. Signed-off-by: Ingo Molnar commit 77e54a1f88a1cb0746c7694fa40052bd02df1123 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: add CFS debug sysctls add CFS debug sysctls: only tweakable if SCHED_DEBUG is enabled. This allows for faster debugging of scheduler problems. Signed-off-by: Ingo Molnar commit 7dd593608df3f9d4e4531cfe29f28c3a3766a0ee Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: remove old cpu accounting field remove the old cpu-accounting field from signal_struct, now that the code is using CFS's stats. Signed-off-by: Ingo Molnar commit b2cfba19f67228e78e48177187f6b07f4107c784 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: remove unused rq types from sched.c remove unused rq types from sched.c, now that we switched over to CFS. Signed-off-by: Ingo Molnar commit 0c57d5893e4a9857ff22ec9e379f6bdbdad50850 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: remove batch_task() batch_task() in sched.h is now unused - remove it. Signed-off-by: Ingo Molnar commit 50e645a8a1a91f57dd5d8454620be5f1cb0fc089 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: remove interactivity types from sched.h remove now-unused types/fields used by the old scheduler. Signed-off-by: Ingo Molnar commit 634fa8c97cc8f4ee2ae1dea7200ff0df762405e7 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: remove interactivity types remove now unused interactivity-heuristics related defined and types of the old scheduler. Signed-off-by: Ingo Molnar commit dff06c157b6089b774514337769a3c1b7ccccf6c Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: clean up include files in sched.c clean up include files in sched.c, they were still old-style . Signed-off-by: Ingo Molnar commit ad46c2c4ebcead75cd364a79b63b134393094fb9 Author: Ingo Molnar Date: Mon Jul 9 18:52:00 2007 +0200 sched: clean up fastcall uses of sched_fork()/sched_exit() sched_fork()/sched_exit() does not need to specify fastcall anymore, as the x86 kernel defaults to regparm3, and no assembly code calls these functions. Signed-off-by: Ingo Molnar commit 172ba844a8851c3edd13c0a979cdf46bd5e3cc1a Author: Balbir Singh Date: Mon Jul 9 18:52:00 2007 +0200 sched: update delay-accounting to use CFS's precise stats update delay-accounting to use CFS's precise stats. Signed-off-by: Ingo Molnar commit b27f03d4bdc145a09fb7b0c0e004b29f1ee555fa Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: make use of precise accounting for /proc task stats make use of CFS's precise accounting to drive /proc//stat statistics. this code was co-authored by: Balbir Singh Dmitry Adamushko Ingo Molnar Signed-off-by: Ingo Molnar Signed-off-by: Dmitry Adamushko commit 1b9f19c2125dd1021b9327111dc40b14b557ee12 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: turn on the use of unstable events make use of sched-clock-unstable events. Signed-off-by: Ingo Molnar commit bb29ab26863c022743143f27956cc0ca362f258c Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: x86, track TSC-unstable events track TSC-unstable events and propagate it to the scheduler code. Also allow sched_clock() to be used when the TSC is unstable, the rq_clock() wrapper creates a reliable clock out of it. Signed-off-by: Ingo Molnar commit dd41f596cda0d7d6e4a8b139ffdfabcefdd46528 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: cfs core code apply the CFS core code. this change switches over the scheduler core to CFS's modular design and makes use of kernel/sched_fair/rt/idletask.c to implement Linux's scheduling policies. thanks to Andrew Morton and Thomas Gleixner for lots of detailed review feedback and for fixlets. Signed-off-by: Ingo Molnar Signed-off-by: Mike Galbraith Signed-off-by: Dmitry Adamushko Signed-off-by: Srivatsa Vaddagiri commit f3479f10c5d667e591f4417a0bba78e221924206 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: remove the sleep-bonus interactivity code remove the sleep-bonus interactivity code from the core scheduler. scheduling policy is implemented in the policy modules, and CFS does not need such type of heuristics. Signed-off-by: Ingo Molnar commit c18a17329b3389315e8a138d998b217077509c13 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: remove expired_starving() remove the expired_starving() heuristics from the core scheduler. CFS does not need it, and this did not really work well in practice anyway, due to the rq->nr_running multiplier to STARVATION_LIMIT. Signed-off-by: Ingo Molnar commit f2ac58ee617fd9f6cd9922fbcd291b661d7c9954 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: remove sleep_type remove the sleep_type heuristics from the core scheduler - scheduling policy is implemented in the scheduling-policy modules. (and CFS does not use this type of sleep-type heuristics) Signed-off-by: Ingo Molnar commit 45bf76df4814a4cd1c57226ae001c464467cb656 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: cfs, add load-calculation methods add the new load-calculation methods of CFS. Signed-off-by: Ingo Molnar commit 14531189f0a1071b928586e9e1a89eceac91d95f Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: clean up __normal_prio() position clean up: move __normal_prio() in head of normal_prio(). no code changed. Signed-off-by: Ingo Molnar commit 71f8bd4600521fecb08644072052b85853a5a615 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: cleanup: move dequeue/enqueue_task() cleanup: move dequeue/enqueue_task() to a more logical place, to not split up __normal_prio()/normal_prio(). Signed-off-by: Ingo Molnar commit c24d20dbef948487cd14f15dbf04644142e9f886 Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: move around resched_task() move resched_task()/resched_cpu() into the 'public interfaces' section of sched.c, for use by kernel/sched_fair/rt/idletask.c Signed-off-by: Ingo Molnar commit 62480d13d5d1812176e969a47e2db78a5398d02e Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: remove the SleepAVG field remove the SleepAVG field from /proc//status, as with the removal of the sleep-average code this value no longer makes sense. Signed-off-by: Ingo Molnar commit e05606d3301525aa67b081ad9fccade2b31ab35a Author: Ingo Molnar Date: Mon Jul 9 18:51:59 2007 +0200 sched: clean up the rt priority macros clean up the rt priority macros, pointed out by Andrew Morton. Signed-off-by: Ingo Molnar commit 138a8aeb5b9e5c5abd5e5ec22b6d1848e7e9c50b Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: add cfs_rq ops add the set_task_cfs_rq() abstraction needed by CONFIG_FAIR_GROUP_SCHED. (not activated yet) Signed-off-by: Ingo Molnar commit 41b86e9c510ae66639bf29d3201e1d2384a7fde6 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: make posix-cpu-timers use CFS's accounting information update the posix-cpu-timers code to use CFS's CPU accounting information. Signed-off-by: Ingo Molnar commit 20d315d42aed95423a7203e1d7e84086004b5a00 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: add rq_clock()/__rq_clock() add rq_clock()/__rq_clock(), a robust wrapper around sched_clock(), used by CFS. It protects against common type of sched_clock() problems (caused by hardware): time warps forwards and backwards. Signed-off-by: Ingo Molnar commit 6aa645ea5f7a246702e07f29edc7075d487ae4a3 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: cfs rq data types add the CFS rq data types to sched.c. (the old scheduler fields are still intact, they are removed by a later patch) Signed-off-by: Ingo Molnar commit 20b8a59f2461e1be911dce2cfafefab9d22e4eee Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: cfs, core data types add the CFS data types to sched.h. (the old scheduler is still fully intact.) Signed-off-by: Ingo Molnar commit fa72e9e484c16f0c9aee23981917d8c8c03f0482 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: cfs core, kernel/sched_idletask.c add kernel/sched_idletask.c - which implements the idle thread scheduling class. This further simplifies sched.c (under CFS), for example a number of 'if (p == rq->idle)' type of special-cases can be removed from sched.c, and schedule() gets simpler too. Signed-off-by: Ingo Molnar commit bb44e5d1c6b3b748e0facf8f516b3162009feb27 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: cfs core, kernel/sched_rt.c add kernel/sched_rt.c: SCHED_FIFO/SCHED_RR support. The behavior and semantics of SCHED_FIFO/SCHED_RR tasks is unchanged. Signed-off-by: Ingo Molnar commit bf0f6f24a1ece8988b243aefe84ee613099a9245 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: cfs core, kernel/sched_fair.c add kernel/sched_fair.c - which implements the bulk of CFS's behavioral changes for SCHED_OTHER tasks. see Documentation/sched-design-CFS.txt about details. Authors: Ingo Molnar Dmitry Adamushko Srivatsa Vaddagiri Mike Galbraith Signed-off-by: Ingo Molnar Signed-off-by: Mike Galbraith Signed-off-by: Dmitry Adamushko Signed-off-by: Srivatsa Vaddagiri commit 9aa7b369819940cb1f3c74ba210516739a32ad95 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: increase the resolution of smpnice increase SMP-nice's resolution. This is needed by CFS to implement SCHED_IDLE and cleaned up nice level support. no behavioral changes. Signed-off-by: Ingo Molnar commit 425e0968a25fa3f111f9919964cac079738140b5 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: move code into kernel/sched_stats.h create sched_stats.h and move sched.c schedstats code into it. This cleans up sched.c a bit. no code changes are caused by this patch. Signed-off-by: Ingo Molnar commit 1df21055e34b6a68d62cf0c524b9e52deebd7ead Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: add init_idle_bootup_task() add the init_idle_bootup_task() callback to the bootup thread, unused at the moment. (CFS will use it to switch the scheduling class of the boot thread to the idle class) Signed-off-by: Ingo Molnar commit 4da1ce6d9c7e2a6d9236bf4dcfd33cf506082794 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: add in_atomic_preempt_off() add in_atomic_preempt_off() - debugging helper that will simplify schedule(). Signed-off-by: Ingo Molnar commit f64f61145a38f7039e4f1c0b50dcc3fbe70ec28e Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: remove sched_exit() remove sched_exit(): the elaborate dance of us trying to recover timeslices given to child tasks never really worked. CFS does not need it either. Signed-off-by: Ingo Molnar commit c65cc8705256ad7524c97564b4fe3ca9782bf6d1 Author: Ingo Molnar Date: Mon Jul 9 18:51:58 2007 +0200 sched: uninline set_task_cpu() uninline set_task_cpu(): CFS will add more code to it. Signed-off-by: Ingo Molnar commit 0437e109e1841607f2988891eaa36c531c6aa6ac Author: Ingo Molnar Date: Mon Jul 9 18:51:57 2007 +0200 sched: zap the migration init / cache-hot balancing code the SMP load-balancer uses the boot-time migration-cost estimation code to attempt to improve the quality of balancing. The reason for this code is that the discrete priority queues do not preserve the order of scheduling accurately, so the load-balancer skips tasks that were running on a CPU 'recently'. this code is fundamental fragile: the boot-time migration cost detector doesnt really work on systems that had large L3 caches, it caused boot delays on large systems and the whole cache-hot concept made the balancing code pretty undeterministic as well. (and hey, i wrote most of it, so i can say it out loud that it sucks ;-) under CFS the same purpose of cache affinity can be achieved without any special cache-hot special-case: tasks are sorted in the 'timeline' tree and the SMP balancer picks tasks from the left side of the tree, thus the most cache-cold task is balanced automatically. Signed-off-by: Ingo Molnar commit 0e6aca43e08a62a48d6770e9a159dbec167bf4c6 Author: Ingo Molnar Date: Mon Jul 9 18:51:57 2007 +0200 sched: add SCHED_IDLE policy this patch adds the SCHED_IDLE policy to sched.h. Signed-off-by: Ingo Molnar commit d15bcfdbe1818478891d714343f037cfe60875f0 Author: Ingo Molnar Date: Mon Jul 9 18:51:57 2007 +0200 sched: rename idle_type/SCHED_IDLE enum idle_type (used by the load-balancer) clashes with the SCHED_IDLE name that we want to introduce. 'CPU_IDLE' instead of 'SCHED_IDLE' is more descriptive as well. Signed-off-by: Ingo Molnar commit c1e4fe711a410a139095e6b3e3ce3f07f466063c Author: Jeff Garzik Date: Mon Jul 9 12:29:31 2007 -0400 [libata] sata_mv: print out additional chip info during probe Indicate whether this is a Generation-I (50xx), Generation-II (60xx), or Generation-II-E (6042/7042) chip. Signed-off-by: Jeff Garzik commit bf6263a853c9c143bf03f0a6fdcc68ab714fb5f5 Author: Jeff Garzik Date: Mon Jul 9 12:16:50 2007 -0400 [libata] Use ATA_UDMAx standard masks when filling driver's udma_mask info The ATA_UDMAx masks are self-documenting, and far better than manually writing in the hex mask. Note that pata_it8213 mask differed from the comment. Added a FIXME there. Signed-off-by: Jeff Garzik commit cd70c26617f4686355263be4533ce8030242740e Author: Jeff Garzik Date: Sun Jul 8 02:29:42 2007 -0400 [libata] AHCI: Add support for Marvell AHCI-like chips (initially 6145) Add support for the SATA portion of Marvell's AHCI-compatible chips. The PATA port capability, also available via AHCI, is disabled until support is completed. NCQ and PCI MSI are disabled by default. Marvell says "we use NCQ" in their drivers but "we do not use PCI MSI." Theoretically that implies we need to fix ahci.c to work with Marvell NCQ, but one wonders why Marvell NCQ is any different from other AHCI chips. Signed-off-by: Jeff Garzik commit 469248abf00dfa813356b372ffe153b85f27f4bf Author: Jeff Garzik Date: Sun Jul 8 01:13:16 2007 -0400 [libata] Clean up driver udma_mask initializers * Use ATA_UDMA* * Remove FIXME notations that once served to remind us to verify that these were indeed the correct UDMA masks. They are. Signed-off-by: Jeff Garzik commit d26fc9551a15fdad0d5de8376a78816b8af44f00 Author: Alan Cox Date: Fri Jul 6 19:13:52 2007 -0400 libata: Support chips with 64K PRD quirk Add ata_dumb_qc_prep and supporting logic so that a driver can just specify it needs to be helped in this area. 64K entries are split as with drivers/ide. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit c1e6f28cc5de37dcd113b9668a185c0b9334ba8a Author: Christian Lamparter Date: Tue Jul 3 10:19:20 2007 -0400 Add a PCI ID for santa rosa's PATA controller. Signed-off-by: Christian Lamparter Signed-off-by: Jeff Garzik commit 825cd6dd793770ebd42d9ca19f5ee7d082350317 Author: Mikael Pettersson Date: Tue Jul 3 01:10:25 2007 +0200 sata_sil24: sil24_interrupt() micro-optimisation sil24_interrupt() loads host->ports[i] into a local variable, validates it, and then loads the value again in the call to sil24_host_intr(). This patch replaces the second load by a reference to the local variable. This is safe since no side-effects have occurred since the initial load. It also improves readability since it makes it clear that the parameter to sil24_host_intr() is the same value which was just validated. Signed-off-by: Mikael Pettersson Signed-off-by: Jeff Garzik commit 5f45bc50976ee1f408f7171af155aec646655a37 Author: Sonic Zhang Date: Fri Jun 15 17:45:49 2007 +0800 Add irq_flags to struct pata_platform_info On some embedded platforms, such as blackfin, the gpio interrupt for IDE interface is designed to be triggered with high voltage. The gpio port should be configured properly by set_irq_type() when register the irq. This patch enable the generic pata platform driver to accept platform irq flags data. Signed-off-by: Sonic Zhang Signed-off-by: Jeff Garzik commit d0e580316e3db9f5cf6a605cc311ffb0372f0a35 Author: Mikael Pettersson Date: Tue Jun 19 21:53:30 2007 +0200 sata_promise: cleanups This patch applies some trivial cleanups to sata_promise: - repair whitespace damage - correct comment at board_2057x_pata definition - pull SATAII TX4 support code out to separate functions - rename ata_nr to ata_no for consistency with libata's port_no - remove some init-time debug printks (requested by Jeff) This patch should cause no behavioural changes, except for the removed printks. Signed-off-by: Mikael Pettersson -- drivers/ata/sata_promise.c | 56 ++++++++++++++++++--------------------------- 1 files changed, 23 insertions(+), 33 deletions(-) Signed-off-by: Jeff Garzik commit 5446b656ddebc2f3902242fda4e860fb343d2787 Author: Jeff Garzik Date: Mon May 28 09:03:51 2007 -0400 [libata] pata_ixp4xx: kill unused var Reported by Michael-Luke Jones. Signed-off-by: Jeff Garzik commit a5bf5f5a370ba7c10f5362265e360952145a7da1 Author: Tejun Heo Date: Fri May 25 19:16:58 2007 +0200 ata_piix: fix pio/mwdma programming Fix various bugs in pio/mwdma mode programming. * Control bits in the timing register wasn't cleared properly while programming PIO mode. * MWDMA mode programming cleared the wrong part of control bits. * MWDMA mode programming cleared udma_mask even when the controller doesn't support UDMA. Signed-off-by: Tejun Heo Cc: Art Haas Signed-off-by: Jeff Garzik commit dab632e8c483532bd84e1f3401c72612e39a7c40 Author: Jeff Garzik Date: Mon May 28 08:33:01 2007 -0400 [libata] ahci: minor internal cleanups Minor cleanups, in preparation for merging Marvell PATA AHCI support in the future. Signed-off-by: Jeff Garzik commit ab2181cf390902f0371f30e4ebeb407b4aaa7314 Author: Jeff Garzik Date: Mon May 28 08:30:36 2007 -0400 [ATA] Add named constant for ATAPI command DEVICE RESET Signed-off-by: Jeff Garzik commit a09060ffe516a0e55f29c89b7da2da760c9487d7 Author: Jeff Garzik Date: Mon May 28 08:17:06 2007 -0400 [libata] sata_sx4, sata_via: minor documentation updates sata_sx4: - describe overall driver theory of operation - add a few constants that will be used in the future sata_via: - remove mention of an old-EH function that is going away Signed-off-by: Jeff Garzik commit df69c9c5438b4e396a64d42608b2a6c48a3e7475 Author: Jeff Garzik Date: Sat May 26 20:46:51 2007 -0400 [libata] ahci: minor internal cleanups Function renaming and factorization. Signed-off-by: Jeff Garzik commit 2bcd866be55f8fe259ccac8eef2b8a7f7721b1d5 Author: Jeff Garzik Date: Mon May 28 07:45:27 2007 -0400 [libata] ahci: Factor out SATA port init into a separate function Signed-off-by: Jeff Garzik commit 79b0bde157e71071320e7a723c5a669cb2c822cf Author: Jeff Garzik Date: Mon May 28 07:22:30 2007 -0400 [libata] pata_sil680: minor cleanups from benh Merge unrelated cleanups (__devinit, dev_dbg, hardware constant) from changeset "pata_sil680: Add MMIO support" authored by Benjamin Herrenschmidt Signed-off-by: Jeff Garzik commit b2d46b61bdb2bd45b93f88892461fa568df721d4 Author: Jeff Garzik Date: Sun May 27 22:58:54 2007 -0400 [libata] sata_sx4: named constant cleanup * convert tabs to spaces * convert some hex numbers to (1 << n) preferred format * document i2c and timer control register bits Signed-off-by: Jeff Garzik commit 5d4c51f6beab08ada99064bab6ee74e995a4f24d Author: Alessandro Zummo Date: Sat May 26 19:26:55 2007 -0400 [libata] pata_ixp4xx: convert to new EH Signed-off-by: Jeff Garzik commit 49de0ac823ed7826695c6a2ac62dc1f730a8b17d Author: Jeff Garzik Date: Sat May 26 18:20:51 2007 -0400 [libata] pdc_adma: Reorder initializers with a couple structs Make it easier to verify which struct initializers are present, by presenting them in the order in which they are defined in the API header. Signed-off-by: Jeff Garzik commit 59f998802bd5df56cd824f313cf5b0c3e356ec59 Author: Jeff Garzik Date: Mon May 28 07:07:20 2007 -0400 [libata] drivers: remove 'void __iomem *' casts from pre-iomap days Signed-off-by: Jeff Garzik commit 1d2808fd3d2d5d2c0483796a0f443d1cb3f11367 Author: Jeff Garzik Date: Mon May 28 06:59:48 2007 -0400 [libata] PATA drivers: remove ATA_FLAG_SRST This flag only has meaning in old-EH drivers, and these drivers have already been converted to the new EH. Remove. Signed-off-by: Jeff Garzik commit 5bcd7a00a464fd81b4b68847b9b811a635a15b61 Author: Jeff Garzik Date: Sat May 26 16:35:42 2007 -0400 [libata] sata_sil: register table cleanup Make the register offset table more maintainable. From the 'sii-lbt' branch, which enables the LBT chip feature. Signed-off-by: Jeff Garzik commit be5d82183f1ebb022f923b008acf3b760d3a571d Author: Jens Axboe Date: Tue May 22 09:45:39 2007 +0200 use_clustering (sht) bit set to 0 in AHCI ? ahci: enable sg segment clustering The specification states that ahci supports segments up to 4MiB in size, so enable clustering. Signed-off-by: Jens Axboe Signed-off-by: Jeff Garzik commit a16abc0b5ff3ef655e40cb5e6671d57f5dde513d Author: Tejun Heo Date: Mon May 21 18:33:47 2007 +0200 libata: replace ap->cbl tests with ATA_FLAG_SATA tests ap->cbl == ATA_CBL_SATA indicates SATA cable while ap->flags & ATA_FLAG_SATA indicates SATA host port. Till now they always gave the same result but SATA/PATA bridge handling will change that. Switch to ATA_FLAG_SATA test if we're testing for host port type. Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit 1ca972c2028edd6cd6a6ca40bd1f58b91fb4ea58 Author: Jeff Garzik Date: Thu May 24 23:05:25 2007 -0400 [libata] pata_atiixp: add SB700 PCI ID From AMD. Signed-off-by: Jeff Garzik commit 64578a3de723d502621860f9d4d28f34d001b066 Author: Tejun Heo Date: Tue May 15 03:28:16 2007 +0900 libata-acpi: implement _GTM/_STM support Implement _GTM/_STM support. acpi_gtm is added to ata_port which stores _GTM parameters over suspend/resume cycle. A new hook ata_acpi_on_suspend() is responsible for storing _GTM parameters during suspend. _STM is executed in ata_acpi_on_resume(). With this change, invoking _GTF is safe on IDE hierarchy and acpi_sata check before _GTF is removed. ata_acpi_gtm() and ata_acpi_stm() implementation is taken from Alan Cox's pata_acpi implementation. ata_acpi_gtm() is fixed such that the result parameter is not shifted by sizeof(union acpi_object). Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Jeff Garzik commit e5fa24dfdb522b642dbe9b8b1b692f68dce89835 Author: Tejun Heo Date: Tue May 15 03:28:16 2007 +0900 libata-acpi: remove redundant checks Remove remaining unnecessary feature and status checks. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 6746544c3b143ca7071d144f1882ccbe1f47b08d Author: Tejun Heo Date: Tue May 15 03:28:16 2007 +0900 libata: reimplement ACPI invocation This patch reimplements ACPI invocation such that, instead of exporting ACPI details to the rest of libata, ACPI event handlers - ata_acpi_on_resume() and ata_acpi_on_devcfg() - are used. These two functions are responsible for determining whether specific ACPI method is used and when. On resume, _GTF is scheduled by setting ATA_DFLAG_ACPI_PENDING device flag. This is done this way to avoid performing the action on wrong device device (device swapping while suspended). On every ata_dev_configure(), ata_acpi_on_devcfg() is called, which performs _SDD and _GTF. _GTF is performed only after resuming and, if SATA, hardreset as the ACPI spec specifies. As _GTF may contain arbitrary commands, IDENTIFY page is re-read after _GTF taskfiles are executed. If one of ACPI methods fails, ata_acpi_on_devcfg() retries on the first failure. If it fails again on the second try, ACPI is disabled on the device. Note that successful configuration clears ACPI failed status. With all feature checks moved to the above two functions, do_drive_set_taskfiles() is trivial and thus collapsed into ata_acpi_exec_tfs(), which is now static and converted to return the number of executed taskfiles to be used by ata_acpi_on_resume(). As failures are handled properly, ata_acpi_push_id() now returns -errno on errors instead of unconditional zero. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 69b16a5f4c4f1dab70d4d555c487c318c6878b3e Author: Tejun Heo Date: Tue May 15 03:28:16 2007 +0900 libata-acpi: miscellaneous cleanups * Add missing LOCKING: and RETURNS: to function comment. * Don't conditionalize warning messages with ata_msg_probe(). Print directly with KERN_WARNING. * Drop duplicate debug messages. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 4700c4bc9262a9e78f7197c4c41cc2be085d5276 Author: Tejun Heo Date: Tue May 15 03:28:16 2007 +0900 libata-acpi: clean up ata_acpi_exec_tfs() This patch cleans up ata_acpi_exec_tfs() and its friends. * Rename taskfile_array to ata_acpi_gtf and make it __packed as it's used as argument to ACPI method, and use pointer to ata_acpi_gtf and number of taskfiles to represent _GTF taskfiles instead of a pointer casted into unsigned long and byte count. This makes argument re-checking in do_drive_set_taskfiles() unnecessary. * Pointer in void * not in unsigned long. * Clean up do_drive_get_GTF() error handling and make do_drive_get_GTF() return number of taskfiles on success, 0 if _GTF doesn't exist or doesn't contain valid ata. -errno on other errors. * Remove superflous check for acpi->buffer.pointer. * Update taskfile_load_raw() such that printed messages look similar to the messages printed by ata_eh_report(). * s/do_drive_get_GTF/ata_dev_get_GTF/ s/do_drive_set_taskfiles/ata_dev_set_taskfiles/ Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit fafbae87db88a73b166d3bc3294d209207f27056 Author: Tejun Heo Date: Tue May 15 03:28:16 2007 +0900 libata-acpi: implement ata_acpi_associate() * Add acpi_handle to ata_host and ata_port. Rename ata_device->obj_handle to ->acpi_handle and move it above such that it doesn't get cleared on reconfiguration. * Replace ACPI node association which ata_acpi_associate() which is called once during host initialization. Unlike the previous implementation, ata_acpi_associate() uses ATA_FLAG_ACPI_SATA to choose between IDE or SATA ACPI hierarchy and uses simple child look up instead of recursive walk to match the nodes. This is way safer and simpler. Please read the following message for more info. http://article.gmane.org/gmane.linux.ide/17554 Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit a0a24741cac414aba5918e9939afafa70c37f952 Author: Steven Whitehouse Date: Mon Jul 9 15:43:07 2007 +0100 [GFS2] Small fixes to logging code This reverts part of an earlier patch which tried to reclaim gfs2_bufdata structures too early and resulted in a "use after free" case (this bit from me). Also a change to not write out log headers unless we really need to (in the case of flushing nothing we don't need a header) from Bob. Signed-off-by: Steven Whitehouse Signed-off-by: Bob Peterson commit feb485d4010e450183bd422d90c0d0f6be98f932 Merge: 58037eb... 2c1d8ae... Author: Jiri Kosina Date: Mon Jul 9 14:23:37 2007 +0200 Merge branches 'debug-module-param' and 'upstream' into for-linus commit 2c1d8aea2ca76df1b1de2aed23e3ceda2a044ed1 Author: Jiri Kosina Date: Wed Jul 4 16:45:59 2007 +0200 HID: handle cases of volume knobs generating relative values There are some devices (for example Dell Multimedia Keyboard SK-8135) that have a volume control knob which generates relative events instead of absolute. hid-input maps them to ABS_VOLUME. HUT pages don't restrict volume to absolute values. Adding REL_VOLUME doesn't seem feasible, nothing knows how to handle it. This patch translates relative ABS_VOLUME events into appropriate number of series of VOLUME_UP or VOLUME_DOWN events respectively, so that userspace sees the correct values in the end. kernel.org bugzilla 5233 Reported-by: Jochen Eisinger Signed-off-by: Jiri Kosina commit 3c5f4b25f3552c9bcb52eb956753a3c8140480b7 Author: Jiri Kosina Date: Thu Jun 28 22:33:47 2007 +0200 HID: Logitech keyboard 0xc311 needs reset leds quirk The keyboard 0x046d/0xc311 needs reset leds quirk Tested-by: Antonino Ingargiola Signed-off-by: Jiri Kosina commit 5f9c464aaa1ba3a773c47004e98eb1f3aa2ab2a4 Author: Ryo Dairiki Date: Mon Jun 25 10:31:12 2007 +0200 HID: support for logitech cordless desktop LX500 special mapping This keyboard has wireless mouse which has left, middle, right buttons and 2-dimensional scrolling wheel. Unfornetuly, this wheel reports side scrolling events and 11 or 12 button events at the same time. I've wrote a patch to fix this mapping. I'm not sure if this mapping is proper for buttons, because , for example, there is no entry for "burn cd" in input.h. The patch also supress 11 and 12 button events from mouse when you scroll the wheel left and right. With this patch, only side scrolling events are reported. (This mouse has only 4 buttons and 2D wheel. There is no such buttons like 11 and 12.) Signed-off-by: Jiri Kosina commit 816cbfda8b5113629707f604660204701e93b7ce Author: Diogo Kastrup Date: Tue Jun 19 14:16:15 2007 +0200 HID: fix autocentering of PID devices When setting the autocentering of PID devices, PID_DIRECTION_ENABLE is not being explicitely set to 1. This results in autocentering working only on the vertical axis when this field is preset to 0. Fix that by setting it explicitely to 1 when preparing the set_effect report for autocentering spring effect. Signed-off-by: Diogo Kastrup Signed-off-by: Anssi Hannula Signed-off-by: Jiri Kosina commit ea9a4a8b0e5a34eca6613e39d21be879d92ecff5 Author: Jiri Kosina Date: Tue Jun 19 14:09:14 2007 +0200 HID: separate quirks for report descriptor fixup Lately there have been quite a lot of bug reports against broken devices which require us to fix their report descriptor in the runtime, before it is passed to the HID parser. Those devices have eaten quite an amount of our quirks space, which isn't particularly necessary - the quirks are not needed after the report descriptor is parsed, and they just consume bits. Therefore this patch separates the quirks for report descriptor fixup, and moves their handling into separate code. The quirks are then forgotten as soon as the report descriptor has been parsed. Module parameter 'rdesc_quirks' is introduced to be able to modify these quirks in runtime in a similar way to 'quirks' parameter for ordinary HID quirks. Signed-off-by: Jiri Kosina commit b8e98f1c47b743e56f8ebe21006199cefd577ce5 Author: Jiri Kosina Date: Mon Jun 18 17:41:14 2007 +0200 HID: Add NOGET quirk for all NCR devices Devices manufactured by NCR have userspace hiddev-based drivers, which do all the necessary device querying by themselves. The devices must not be queried directly by the generic HID driver, as reported by NCR engineers. Cc: Petr Ostadal Signed-off-by: Jiri Kosina commit 92d9e6e607eb7f8f1d2a43935f45cf300cf6fdf8 Author: Jiri Kosina Date: Mon Jun 18 13:30:11 2007 +0200 HID: support for Petalynx Maxter remote control Petalynx Maxter remote control [1] 0x18b1/0x0037 emits 0xfa and 0xfc from consumer page (reserved in HUT 1.12) for back and more keys. It also emits a few usages from LOGIVENDOR page, which need adding. Also, this device has broken report descriptor - the reported maximum is too low - it doesn't contain the range for 'back' and 'more' keys, so we need to bump it up before the report descriptor is being parsed. Besides all this, it also requires NOGET quirk. This patch does so. [1] http://www.elmak.pl/index.php?option=com_phpshop&page=shop.browse&category_id=14&ext=opis&lang=en Signed-off-by: Jiri Kosina commit 5fce620c0c7caa9e8d9588e8dcc66c52c456851a Author: Hans de Goede Date: Tue Jun 12 22:04:32 2007 +0200 HID: fix mismatch between hid-input HUT find/search mapping and the HUT When comparing usb vs ps2 / testing the keycodes generated for the easy access keys on my trust (microsoft compatible) keyboard. I noticed the search key generated the keycode for find when connected through USB. This lead me to check the consumer page mappings in hid-input.c . And it turns out the the mapping for ID 0x221 deviates from the HUT standard document: http://www.usb.org/developers/devclass_docs/Hut1_12.pdf Currently it is incorrectly mapped to find, whereas it should be mapped to search. I also added missing bindings for ID 0x21f, the real find and for 0x222, goto. Signed-off-by: Hans de Goede Signed-off-by: Jiri Kosina commit 1b3ebe931195725cceee825c430a8bd5319c2566 Author: Julien Eyries Date: Tue Jun 12 10:12:40 2007 +0200 HID: support for Gameron dual psx adaptor This patch provides support for the Gameron dual psx adaptor. The modification is to add the quirk HID_QUIRK_MULTI_INPUT for this specific USB device. Signed-off-by: Julien Eyries Signed-off-by: Jiri Kosina commit 2fa45a4cffd0c4ab4e238e8ad3b4f9b0c10ac1f3 Author: Alan Stern Date: Wed May 30 11:11:12 2007 -0400 USB HID: avoid flush_scheduled_work() This patch (as914) replaces a call to flush_scheduled_work() with cancel_work_sync(), in order to help avoid potential deadlocks. Signed-off-by: Alan Stern Signed-off-by: Jiri Kosina commit 3cd709866f639d24b0d0f38567c19662c98ea92e Author: Jan Engelhardt Date: Mon Apr 30 13:27:48 2007 +0200 HID: Use menuconfig objects Make a "menuconfig" out of the Kconfig objects "menu, ..., endmenu", 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: Jan Engelhardt Signed-off-by: Jiri Kosina commit defd208681b721dbf2b69347cca5302d60246405 Author: Jiri Kosina Date: Sat May 19 16:28:04 2007 +0200 HID: force hid-input for Microsoft SideWinder GameVoice device Microsoft SideWinder GameVoice driver is a trivial device with a few buttons (0x09 HID usage) and an audio connector, which just forwards the audio input into oridinary sound card present in the computer. Despite this fact, the only interface of this device reports itself as a Telephony/Headset type of HID device. This is apparently incorrect - the device itself doesn't provide any audio/telephony functionality. This is achieved in userland application which only needs to receive the button events from the HID driver. This patch establishes a new quirk which forces hid-input to claim a device it will otherwise leave untouched. Reported-by: Tomas Carnecky Signed-off-by: Jiri Kosina commit cb1d93c98c49e268918e35e45e5c407fc4dc4e9f Author: Jiri Kosina Date: Mon May 14 10:20:29 2007 +0200 HID: input mapping for Chicony KU-0418 tactical pad Chicony KU-0418 (aka Saitek PZ08AU gaming keyboard) has a separate "tactical pad" with 11 non-functional buttons - they generate usage codes from 0xff00 (MSVENDOR) usage page. Special case handling for this keyboard added, so no later clash with MSVENDOR mappings is going to occur. Pointed out in bugzilla #7352 Signed-off-by: Jiri Kosina commit 58037eb961f859607b161c50d9d4ecb374de1e8f Author: Jiri Kosina Date: Wed May 30 15:07:13 2007 +0200 HID: make debugging output runtime-configurable There have been many reports recently about broken HID devices, the diagnosis of which required users to recompile their kernels in order to be able to provide debugging output needed for coding a quirk for a particular device. This patch makes CONFIG_HID_DEBUG default y if !EMBEDDED and makes it possible to control debugging output produced by HID code by supplying 'debug=1' module parameter. Signed-off-by: Jiri Kosina commit ac90a2552500996c529d5f0ddc16a9bf60bf670d Author: David Teigland Date: Fri Jul 6 09:47:08 2007 -0500 [DLM] dump more lock values Add two more output fields (lkb_flags and rsb nodeid) to the new debugfs file that dumps one lock per line. Also, dump all locks instead of just mastered locks. Accordingly, use a suffix of _locks instead of _master. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 35dcc52e3a916184b145fd840250244b81004200 Author: Wendy Cheng Date: Wed Jun 27 17:07:53 2007 -0400 [GFS2] Remove i_mode passing from NFS File Handle GFS2 has been passing i_mode within NFS File Handle. Other than the wrong assumption that there is always room for this extra 16 bit value, the current gfs2_get_dentry doesn't really need the i_mode to work correctly. Note that GFS2 NFS code does go thru the same lookup code path as direct file access route (where the mode is obtained from name lookup) but gfs2_get_dentry() is coded for different purpose. It is not used during lookup time. It is part of the file access procedure call. When the call is invoked, if on-disk inode is not in-memory, it has to be read-in. This makes i_mode passing a useless overhead. Signed-off-by: S. Wendy Cheng Signed-off-by: Steven Whitehouse commit bb9bcf061660661c57ddcf31337529f82414b937 Author: Wendy Cheng Date: Wed Jun 27 17:07:08 2007 -0400 [GFS2] Obtaining no_formal_ino from directory entry GFS2 lookup code doesn't ask for inode shared glock. This implies during in-memory inode creation for existing file, GFS2 will not disk-read in the inode contents. This leaves no_formal_ino un-initialized during lookup time. The un-initialized no_formal_ino is subsequently encoded into file handle. Clients will get ESTALE error whenever it tries to access these files. Signed-off-by: S. Wendy Cheng Signed-off-by: Steven Whitehouse commit f4fadb23ca49abd2f1387a0b7e78b385ebc760ce Author: akpm@linux-foundation.org Date: Wed Jun 27 14:43:37 2007 -0700 [GFS2] git-gfs2-nmw-build-fix Cc: Steven Whitehouse Signed-off-by: Andrew Morton Signed-off-by: Steven Whitehouse commit b3657629249eba0b3b61ff964d6e1539b469d117 Author: Abhijith Das Date: Wed Jun 27 11:06:19 2007 -0500 [GFS2] System won't suspend with GFS2 file system mounted The kernel threads in gfs2, namely gfs2_scand, gfs2_logd, gfs2_quotad, gfs2_glockd, gfs2_recoverd weren't doing anything when the suspend mechanism was trying to freeze them. I put in calls to refrigerator() in the loops for all the daemons and suspend works as expected. Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit 569a7b6c2e8965ff4908003b925757703a3d649c Author: Bob Peterson Date: Wed Jun 27 10:15:56 2007 -0500 [GFS2] remounting w/o acl option leaves acls enabled This patch is for bugzilla bug #245663. This crosswrites a fix from gfs1 (bz #210369) so that the mount options are reset properly upon remount. This was tested on system trin-10. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 090ffaa55dacea774af9ee378d09e47fb7cea9ff Author: Wendy Cheng Date: Wed Jun 27 11:00:03 2007 -0400 [GFS2] inode size inconsistency This should have been part of the NFS patch #1 but somehow I missed it when packaging the patches. It is not a critical issue as the others (I hope). RHEL 5.1 31.el5 kernel runs fine without this change. Our truncate code is chopped into two parts, one for vfs inode changes (in vmtruncate()) and one of gfs inode (in gfs2_truncatei()). These two operatons are, unfortunately, not atomic. So it could happens that vmtruncate() succeeds (inode->i_size is changed) but gfs2_truncatei fails (say kernel temporarily out of memory). This would leave gfs inode i_di.di_size out of sync with vfs inode i_size. It will later confuse gfs2_commit_write() if a write is issued. Last time I checked, it will cause file corruption. Signed-off-by: S. Wendy Cheng Signed-off-by: Steven Whitehouse commit 97d848365e603def43c69e160937f073bf9cf02e Author: Patrick Caulfield Date: Wed Jun 27 11:36:23 2007 +0100 [DLM] Telnet to port 21064 can stop all lockspaces This patch fixes Red Hat bz#245892 Opening a tcp connection from a cluster member to another cluster member targeting the dlm port it is enough to stop every dlm operation in the cluster. This means that GFS and rgmanager will hang. Signed-Off-By: Patrick Caulfield Signed-off-by: Steven Whitehouse commit 1875f2f31b3955dff8c3712a56ae61836c8b90fe Author: S. Wendy Cheng Date: Mon Jun 25 21:14:31 2007 -0400 [GFS2] Fix gfs2_block_truncate_page err return Code segment inside gfs2_block_truncate_page() doesn't set the return code correctly. This causes NFSD erroneously returns EIO back to client with setattr procedure call (truncate error). Signed-off-by: S. Wendy Cheng Signed-off-by: Steven Whitehouse commit 773ed1a044adc868036dee1722b8bca6ce5923e2 Author: Robert Peterson Date: Wed Jun 20 08:34:06 2007 -0500 [GFS2] Addendum to the journaled file/unmount patch This patch is an addendum to the previous journaled file/unmount patch. It fixes a problem discovered during testing. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit eaf5bd3cac92126e5825c6ebc10bee0fba35d555 Author: Steven Whitehouse Date: Tue Jun 19 15:38:17 2007 +0100 [GFS2] Simplify multiple glock aquisition There is a bug in the code which acquires multiple glocks where if the initial out-of-order attempt fails part way though we can land up trying to acquire the wrong number of glocks. This is part of the fix for red hat bz #239737. The other part of the bz doesn't apply to upstream kernels since it was fixed by: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=d3717bdf8f08a0e1039158c8bab2c24d20f492b6 Since the out-of-order code doesn't appear to add anything to the performance of GFS2, this patch just removed it rather than trying to fix it. It should be much easier to see whats going on here now. In addition, we don't allocate any memory unless we are using a lot of glocks (which is a relatively uncommon case). Signed-off-by: Steven Whitehouse commit 2332c4435bb733b5cd4f612ee57532bd8fde4c1c Author: Robert Peterson Date: Mon Jun 18 14:50:20 2007 -0500 [GFS2] assertion failure after writing to journaled file, umount This patch passes all my nasty tests that were causing the code to fail under one circumstance or another. Here is a complete summary of all changes from today's git tree, in order of appearance: 1. There are now separate variables for metadata buffer accounting. 2. Variable sd_log_num_hdrs is no longer needed, since the header accounting is taken care of by the reserve/refund sequence. 3. Fixed a tiny grammatical problem in a comment. 4. Added a new function "calc_reserved" to calculate the reserved log space. This isn't entirely necessary, but it has two benefits: First, it simplifies the gfs2_log_refund function greatly. Second, it allows for easier debugging because I could sprinkle the code with calls to this function to make sure the accounting is proper (by adding asserts and printks) at strategic point of the code. 5. In log_pull_tail there apparently was a kludge to fix up the accounting based on a "pull" parameter. The buffer accounting is now done properly, so the kludge was removed. 6. File sync operations were making a call to gfs2_log_flush that writes another journal header. Since that header was unplanned for (reserved) by the reserve/refund sequence, the free space had to be decremented so that when log_pull_tail gets called, the free space is be adjusted properly. (Did I hear you call that a kludge? well, maybe, but a lot more justifiable than the one I removed). 7. In the gfs2_log_shutdown code, it optionally syncs the log by specifying the PULL parameter to log_write_header. I'm not sure this is necessary anymore. It just seems to me there could be cases where shutdown is called while there are outstanding log buffers. 8. In the (data)buf_lo_before_commit functions, I changed some offset values from being calculated on the fly to being constants. That simplified some code and we might as well let the compiler do the calculation once rather than redoing those cycles at run time. 9. This version has my rewritten databuf_lo_add function. This version is much more like its predecessor, buf_lo_add, which makes it easier to understand. Again, this might not be necessary, but it seems as if this one works as well as the previous one, maybe even better, so I decided to leave it in. 10. In databuf_lo_before_commit, a previous data corruption problem was caused by going off the end of the buffer. The proper solution is to have the proper limit in place, rather than stopping earlier. (Thus my previous attempt to fix it is wrong). If you don't wrap the buffer, you're stopping too early and that causes more log buffer accounting problems. 11. In lops.h there are two new (previously mentioned) constants for figuring out the data offset for the journal buffers. 12. There are also two new functions, buf_limit and databuf_limit to calculate how many entries will fit in the buffer. 13. In function gfs2_meta_wipe, it needs to distinguish between pinned metadata buffers and journaled data buffers for proper journal buffer accounting. It can't use the JDATA gfs2_inode flag because it's sometimes passed the "real" inode and sometimes the "metadata inode" and the inode flags will be random bits in a metadata gfs2_inode. It needs to base its decision on which was passed in. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 2840501ac822c5bf712f67b4b02640e16e145a29 Author: Steven Whitehouse Date: Mon Jun 18 16:31:42 2007 +0100 [GFS2] Use zero_user_page() in stuffed_readpage() As suggested by Robert P. J. Day Signed-off-by: Steven Whitehouse Cc: Robert P. J. Day commit c4201214cbf10636e2c1ab9131573f735b42c8d4 Author: Steven Whitehouse Date: Thu Jun 14 16:39:13 2007 +0100 [GFS2] Remove bogus '\0' in rgrp.c Not sure how it slipped in, but we don't want it anyway. Signed-off-by: Steven Whitehouse commit 8fb68595d508fd30ec90939572484b263600376c Author: Robert Peterson Date: Tue Jun 12 11:24:36 2007 -0500 [GFS2] Journaled file write/unstuff bug This patch is for bugzilla bug 283162, which uncovered a number of bugs pertaining to writing to files that have the journaled bit on. These bugs happen most often when writing to the meta_fs because the files are always journaled. So operations like gfs2_grow were particularly vulnerable, although many of the problems could be recreated with normal files after setting the journaled bit on. The problems fixed are: -GFS2 wasn't ever writing unstuffed journaled data blocks to their in-place location on disk. Now it does. -If you unmounted too quickly after doing IO to a journaled file, GFS2 was crashing because you would discard a buffer whose bufdata was still on the active items list. GFS2 now deals with this gracefully. -GFS2 was losing track of the bufdata for journaled data blocks, and it wasn't getting freed, causing an error when you tried to unmount the module. GFS2 now frees all the bufdata structures. -There was a memory corruption occurring because GFS2 wrote twice as many log entries for journaled buffers. -It was occasionally trying to write journal headers in buffers that weren't currently mapped. Signed-off-by: Bob Peterson Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse commit fad59c1390045b5adb7c7249ec4e77e0f868aca5 Author: David Teigland Date: Mon Jun 11 10:47:18 2007 -0500 [DLM] don't require FS flag on all nodes Mask off the recently added DLM_LSFL_FS flag when setting the exflags. This way all the nodes in the lockspace aren't required to have the FS flag set, since we later check that exflags matches among all nodes. Signed-off-by: Patrick Caulfield Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit d93cfa9884354dac2d8ccd894594a43e0b962b6f Author: Abhijith Das Date: Mon Jun 11 08:22:32 2007 +0100 [GFS2] Fix deallocation issues There were two issues during deallocation of unlinked inodes. The first was relating to the use of a "try" lock which in the case of the inode lock wasn't trying hard enough to deallocate in all circumstances (now changed to a normal glock) and in the case of the iopen lock didn't wait for the demotion of the shared lock before attempting to get the exclusive lock, and thereby sometimes (timing dependent) not completing the deallocation when it should have done. The second issue related to the lack of a way to invalidate dcache entries on remote nodes (now fixed by this patch) which meant that unlinks were taking a long time to return disk space to the fs. By adding some code to invalidate the dcache entries across the cluster for unlinked inodes, that is now fixed. This patch was written jointly by Abhijith Das and Steven Whitehouse. Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit a7a2ff8a951ab373732116e7c31e2e1fe025d5e0 Author: David Teigland Date: Fri Jun 8 17:01:40 2007 -0500 [GFS2] return conflicts for GETLK We weren't returning the correct result when GETLK found a conflict, which is indicated by userspace passing back a 1. Signed-off-by: Abhijith Das Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit d88101d4d82ea09433692af30618c3b7afb7da02 Author: David Teigland Date: Fri Jun 8 16:00:22 2007 -0500 [GFS2] set plock owner in GETLK info Set the owner field in the plock info sent to userspace for GETLK. Without this, gfs_controld won't correctly see when the GETLK from a process matches one of the process's existing locks. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 037bcbb7564e35aef937c54799550cd27735aac6 Author: akpm@linux-foundation.org Date: Fri Jun 8 16:42:14 2007 -0700 [GFS2] gfs2_lookupi() uninitialised var fix fs/gfs2/inode.c: In function 'gfs2_lookupi': fs/gfs2/inode.c:392: warning: 'error' may be used uninitialized in this function Looks like a real bug to me. Cc: Steven Whitehouse Signed-off-by: Andrew Morton Signed-off-by: Steven Whitehouse commit c8cdf479377462315d6b4f56379f8ac989b0ef29 Author: Steven Whitehouse Date: Fri Jun 8 10:05:33 2007 +0100 [GFS2] Recovery for lost unlinked inodes Under certain circumstances its possible (though rather unlikely) that inodes which were unlinked by one node while still open on another might get "lost" in the sense that they don't get deallocated if the node which held the inode open crashed before it was unlinked. This patch adds the recovery code which allows automatic deallocation of the inode if its found during block allocation (the sensible time to look for such inodes since we are scanning the rgrp's bitmaps anyway at this time, so it adds no overhead to do this). Since the inode will have had its i_nlink set to zero, all we need to trigger recovery is a lookup and an iput(), and the normal deallocation code takes care of the rest. Signed-off-by: Steven Whitehouse commit b35997d4482ed24b43a5951c5b021d224b24293c Author: Robert Peterson Date: Thu Jun 7 09:10:01 2007 -0500 [GFS2] Can't mount GFS2 file system on AoE device This patch fixes bug 243131: Can't mount GFS2 file system on AoE device. When using AoE devices with lock_nolock, there is no locking table, so gfs2 (and gfs1) uses the superblock s_id. This turns out to be the device name in some cases. In the case of AoE, the device contains a slash, (e.g. "etherd/e1.1p2") which is an invalid character when we try to register the table in sysfs. This patch replaces the "/" with underscore. Rather than add a new variable to the stack, I'm just reusing a (char *) variable that's no longer used: table. This code has been tested on the failing system using a RHEL5 patch. The upstream code was tested by using gfs2_tool sb to interject a "/" into the table name of a clustered gfs2 file system. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit e1cc86037b689a82cdb2df50c32fa8cf9d6b6c3a Author: Steven Whitehouse Date: Thu Jun 7 11:47:52 2007 +0100 [GFS2] Fix bug in error path of inode This fixes a bug in the ordering of operations in the error path of createi. Its not valid to do an iput() when holding the inode's glock since the iput() will (in this case) result in delete_inode() being called which needs to grab the lock itself. This was causing the recursive lock checking code to trigger. Signed-off-by: Steven Whitehouse commit ffed8ab342e39b8b5f4d5c94c37a708e225ffcd8 Author: Steven Whitehouse Date: Thu Jun 7 11:29:35 2007 +0100 [GFS2] Fix typo in rename of directories A typo caused us to pass a NULL pointer when renaming directories. It was accidentally introduced in: [GFS2] Clean up inode number handling Signed-off-by: Steven Whitehouse commit 44f487a5536a3afd96a9f571de24c36559e9ae82 Author: Patrick Caulfield Date: Wed Jun 6 09:21:22 2007 -0500 [DLM] variable allocation Add a new flag, DLM_LSFL_FS, to be used when a file system creates a lockspace. This flag causes the dlm to use GFP_NOFS for allocations instead of GFP_KERNEL. (This updated version of the patch uses gfp_t for ls_allocation.) Signed-Off-By: Patrick Caulfield Signed-Off-By: David Teigland Signed-off-by: Steven Whitehouse commit 292e539e9386823df8aab556f3da09667f78da8c Author: Josef Bacik Date: Tue Jun 5 17:36:38 2007 -0400 [DLM] fix reference counting This is a fix for the patch 021d2ff3a08019260a1dc002793c92d6bf18afb6 I left off a dlm_hold_rsb which causes the box to panic if you try to use debugfs. This patch fixes the problem. Sorry about that, Signed-off-by: Josef Bacik Signed-off-by: Steven Whitehouse commit 4bd91ba18198eee42c39d4c334c825d1a0a4b445 Author: Steven Whitehouse Date: Tue Jun 5 09:39:18 2007 +0100 [GFS2] Add nanosecond timestamp feature This adds a nanosecond timestamp feature to the GFS2 filesystem. Due to the way that the on-disk format works, older filesystems will just appear to have this field set to zero. When mounted by an older version of GFS2, the filesystem will simply ignore the extra fields so that it will again appear to have whole second resolution, so that its trivially backward compatible. Signed-off-by: Steven Whitehouse commit bb8d8a6f54c1c84d7c74623491bab043b36a38c5 Author: Steven Whitehouse Date: Fri Jun 1 14:11:58 2007 +0100 [GFS2] Fix sign problem in quota/statfs and cleanup _host structures This patch fixes some sign issues which were accidentally introduced into the quota & statfs code during the endianess annotation process. Also included is a general clean up which moves all of the _host structures out of gfs2_ondisk.h (where they should not have been to start with) and into the places where they are actually used (often only one place). Also those _host structures which are not required any more are removed entirely (which is the eventual plan for all of them). The conversion routines from ondisk.c are also moved into the places where they are actually used, which for almost every one, was just one single place, so all those are now static functions. This also cleans up the end of gfs2_ondisk.h which no longer needs the #ifdef __KERNEL__. The net result is a reduction of about 100 lines of code, many functions now marked static plus the bug fixes as mentioned above. For good measure I ran the code through sparse after making these changes to check that there are no warnings generated. This fixes Red Hat bz #239686 Signed-off-by: Steven Whitehouse commit ddf4b426aababdae4cb96326d7aeb9d119f42c50 Author: Benjamin Marzinski Date: Fri Jun 1 14:21:38 2007 -0500 [GFS2] fix jdata issues This is a patch for the first three issues of RHBZ #238162 The first issue is that when you allocate a new page for a file, it will not start off uptodate. This makes sense, since you haven't written anything to that part of the file yet. Unfortunately, gfs2_pin() checks to make sure that the buffers are uptodate. The solution to this is to mark the buffers uptodate in gfs2_commit_write(), after they have been zeroed out and have the data written into them. I'm pretty confident with this fix, although it's not completely obvious that there is no problem with marking the buffers uptodate here. The second issue is simply that you can try to pin a data buffer that is already on the incore log, and thus, already pinned. This patch checks to see if this buffer is already on the log, and exits databuf_lo_add() if it is, just like buf_lo_add() does. The third issue is that gfs2_log_flush() doesn't do it's block accounting correctly. Both metadata and journaled data are logged, but gfs2_log_flush() only compares the number of metadata blocks with the number of blocks to commit to the ondisk journal. This patch also counts the journaled data blocks. Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse commit afb853fb4eec380b492a3c369f837359359c28e8 Author: Patrick Caulfield Date: Fri Jun 1 10:07:26 2007 -0500 [DLM] fix socket shutdown This patch clears the user_data of active sockets as part of cleanup. This prevents any late-arriving data from trying to add jobs to the work queue while we are tidying up. Signed-Off-By: Patrick Caulfield Signed-Off-By: David Teigland Signed-off-by: Steven Whitehouse commit 89918647a445fddfe223b097e29f775dcfa81eab Author: Steven Whitehouse Date: Fri Jun 1 15:19:33 2007 +0100 [GFS2] Make the log reserved blocks depend on block size The number of blocks which we reserve in the log at the start of each transaction needs to depends upon the block size since the overhead is related to the number of "pointers" which can be fitted into a single block. This relates to Red Hat bz #240435 Signed-off-by: Steven Whitehouse commit 1990e917651d58a3c5155d0491431c09e29e385b Author: Abhijith Das Date: Thu May 31 17:52:02 2007 -0500 [GFS2] Quotas non-functional - fix another bug This patch fixes a bug where gfs2 was writing update quota usage information to the wrong location in the quota file. Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit 0b7cac0fb0e541a7f54d0ba55b31d829ce3dd899 Author: David Teigland Date: Tue May 29 08:47:51 2007 -0500 [DLM] show default protocol Display the initial value of the "protocol" config value in configfs. The default value has always been 0 in the past anyway, so it's always appeared to be correct. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 9dd592d70be0db6fa8e4e19d7642cfaa424b200e Author: David Teigland Date: Tue May 29 08:47:04 2007 -0500 [DLM] dumping master locks Add a new debugfs file that dumps a compact list of mastered locks. This will be used by a userland daemon to collect state for deadlock detection. Also, for the existing function that prints all lock state, lock the rsb before going through the lock lists since they can be changing in the course of normal dlm activity. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 8b4021fa436f7c76a2299e6d85d4d4a619724e9a Author: David Teigland Date: Tue May 29 08:46:00 2007 -0500 [DLM] canceling deadlocked lock Add a function that can be used through libdlm by a system daemon to cancel another process's deadlocked lock. A completion ast with EDEADLK is returned to the process waiting for the lock. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 84d8cd69a8e7f1c9962f46bc79850c9f1f663806 Author: David Teigland Date: Tue May 29 08:44:23 2007 -0500 [DLM] timeout fixes Various fixes related to the new timeout feature: - add_timeout() missed setting TIMEWARN flag on lkb's when the TIMEOUT flag was already set - clear_proc_locks should remove a dead process's locks from the timeout list - the end-of-life calculation for user locks needs to consider that ETIMEDOUT is equivalent to -DLM_ECANCEL - make initial default timewarn_cs config value visible in configfs - change bit position of TIMEOUT_CANCEL flag so it's not copied to a remote master node - set timestamp on remote lkb's so a lock dump will display the time they've been waiting Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit b3cab7b9a34a6e65c1ca8f80fb57b256d57e8555 Author: Steven Whitehouse Date: Tue May 29 11:14:21 2007 +0100 [DLM] Compile fix A one liner fix which got missed from the earlier patches. Signed-off-by: Steven Whitehouse Cc: Fabio Massimo Di Nitto Cc: David Teigland commit 518bbde33f7a6b4e252ea2591c77ef796065afa8 Author: Fabio Massimo Di Nitto Date: Tue May 22 09:00:24 2007 +0200 [GFS2] latest gfs2-nmw headers break userland build 2e8701a15cd6f7c95e74d6660615a69b09e453ef commit breaks libgfs2 build: gcc -Wall -I/usr/src/ubuntu/mypkgs/rhcluster/cluster/config -DHELPER_PROGRAM -D_FILE_OFFSET_BITS=64 -DGFS2_RELEASE_NAME=\"2.0\" -ggdb -I/usr/include -I../include -I../libgfs2 -c -o gfs2hex.o gfs2hex.c In file included from hexedit.h:22, from gfs2hex.c:27: /usr/include/linux/gfs2_ondisk.h:505: error: expected specifier-qualifier-list before ‘u32’ make[2]: *** [gfs2hex.o] Error 1 make[2]: Leaving directory `/usr/src/ubuntu/mypkgs/rhcluster/cluster/gfs2/edit' make[1]: *** [all] Error 2 make[1]: Leaving directory `/usr/src/ubuntu/mypkgs/rhcluster/cluster/gfs2' make: *** [gfs2] Error 2 Signed-off-by: Fabio Massimo Di Nitto Signed-off-by: Steven Whitehouse commit 639aca417d91ebba1077a6084e4423af1c1dd811 Author: David Teigland Date: Fri May 18 16:02:57 2007 -0500 [DLM] fix compile breakage In the rush to get the previous patch set sent, a compilation bug I fixed shortly before sending somehow got clobbered, probably by a missed quilt refresh or something. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 8b0e7b2cf35aa827ed5efb508c1879481b970496 Author: David Teigland Date: Fri May 18 09:03:35 2007 -0500 [DLM] wait for config check during join [6/6] Joining the lockspace should wait for the initial round of inter-node config checks to complete before returning. This way, if there's a configuration mismatch between the joining node and the existing nodes, the join can fail and return an error to the application. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 79d72b54483bf81b9f9de0dd555c710ac7267986 Author: David Teigland Date: Fri May 18 09:02:20 2007 -0500 [DLM] fix new_lockspace error exit [5/6] Fix the error path when exiting new_lockspace(). It was kfree'ing the lockspace struct at the end, but that's only valid if it exits before kobject_register occured. After kobject_register we have to let the kobject do the freeing. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit c85d65e91430db94ae9ce0cf38b56e496658b642 Author: David Teigland Date: Fri May 18 09:01:26 2007 -0500 [DLM] cancel in conversion deadlock [4/6] When conversion deadlock is detected, cancel the conversion and return EDEADLK to the application. This is a new default behavior where before the dlm would allow the deadlock to exist indefinately. The DLM_LKF_NODLCKWT flag can now be used in a conversion to prevent the dlm from performing conversion deadlock detection/cancelation on it. The DLM_LKF_CONVDEADLK flag can continue to be used as before to tell the dlm to demote the granted mode of the lock being converted if it gets into a conversion deadlock. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit d7db923ea4990edb5583bf54af868ba687a1bc84 Author: David Teigland Date: Fri May 18 09:00:32 2007 -0500 [DLM] dlm_device interface changes [3/6] Change the user/kernel device interface used by libdlm: - Add ability for userspace to check the version of the interface. libdlm can now adapt to different versions of the kernel interface. - Increase the size of the flags passed in a lock request so all possible flags can be used from userspace. - Add an opaque "xid" value for each lock. This "transaction id" will be used later to associate locks with each other during deadlock detection. - Add a "timeout" value for each lock. This is used along with the DLM_LKF_TIMEOUT flag. Also, remove a fragment of unused code in device_read(). This patch requires updating libdlm which is backward compatible with older kernels. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 3ae1acf93a21512512f8a78430fcde5992dd208e Author: David Teigland Date: Fri May 18 08:59:31 2007 -0500 [DLM] add lock timeouts and warnings [2/6] New features: lock timeouts and time warnings. If the DLM_LKF_TIMEOUT flag is set, then the request/conversion will be canceled after waiting the specified number of centiseconds (specified per lock). This feature is only available for locks requested through libdlm (can be enabled for kernel dlm users if there's a use for it.) If the new DLM_LSFL_TIMEWARN flag is set when creating the lockspace, then a warning message will be sent to userspace (using genetlink) after a request/conversion has been waiting for a given number of centiseconds (configurable per node). The time warnings will be used in the future to do deadlock detection in userspace. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 85e86edf951a8a39954c0ba1edbe4a58827dcd5c Author: David Teigland Date: Fri May 18 08:58:15 2007 -0500 [DLM] block scand during recovery [1/6] Don't let dlm_scand run during recovery since it may try to do a resource directory removal while the directory nodes are changing. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 916297aad5de2363dccd531873eda55d4d6afb57 Author: Josef Bacik Date: Wed May 16 15:56:13 2007 -0400 [DLM] keep dlm from panicing when traversing rsb list in debugfs This problem was originally reported against GFS6.1, but the same issue exists in upstream DLM. This patch keeps the rsb iterator assigning under the rsbtbl list lock. Each time we process an rsb we grab a reference to it to make sure it is not freed out from underneath us, and then put it when we get the next rsb in the list or move onto another list. Signed-off-by: Josef Bacik Signed-off-by: Steven Whitehouse commit 2a87ab080607d009b8b2a8706f4e27d70402ca9c Author: Abhijith Das Date: Wed May 16 17:02:19 2007 -0500 [GFS2] Quotas non-functional - fix bug This patch fixes an error in the quota code where a 'struct gfs2_quota_lvb*' was being passed to gfs2_adjust_quota() instead of a 'struct gfs2_quota_data*'. Also moved 'struct gfs2_quota_lvb' from fs/gfs2/incore.h to include/linux/gfs2_ondisk.h as per Steve's suggestion. Signed-off-by: Abhijith Das Signed-off-by: Steven Whitehouse commit dbb7cae2a36170cd17ffbe286ec0c91a998740ff Author: Steven Whitehouse Date: Tue May 15 15:37:50 2007 +0100 [GFS2] Clean up inode number handling This patch cleans up the inode number handling code. The main difference is that instead of looking up the inodes using a struct gfs2_inum_host we now use just the no_addr member of this structure. The tests relating to no_formal_ino can then be done by the calling code. This has advantages in that we want to do different things in different code paths if the no_formal_ino doesn't match. In the NFS patch we want to return -ESTALE, but in the ->lookup() path, its a bug in the fs if the no_formal_ino doesn't match and thus we can withdraw in this case. In order to later fix bz #201012, we need to be able to look up an inode without knowing no_formal_ino, as the only information that is known to us is the on-disk location of the inode in question. This patch will also help us to fix bz #236099 at a later date by cleaning up a lot of the code in that area. There are no user visible changes as a result of this patch and there are no changes to the on-disk format either. Signed-off-by: Steven Whitehouse commit 41d7db0ab437bc84f8a6e77cccc626ce937605ac Author: Steven Whitehouse Date: Mon May 14 17:43:26 2007 +0100 [GFS2] Reduce size of struct gdlm_lock This patch removes the completion (which is rather large) from struct gdlm_lock in favour of using the wait_on_bit() functions. We don't need to add any extra fields to the structure to do this, so we save 32 bytes (on x86_64) per structure. This adds up to quite a lot when we may potentially have millions of these lock structures, Signed-off-by: Steven Whitehouse Acked-by: David Teigland commit cd81a4bac67d44742ab0aa1848f4a78e9d7e1093 Author: Robert Peterson Date: Mon May 14 12:42:18 2007 -0500 [GFS2] Addendum patch 2 for gfs2_grow This addendum patch 2 corrects three things: 1. It fixes a stupid mistake in the previous addendum that broke gfs2. Ref: https://www.redhat.com/archives/cluster-devel/2007-May/msg00162.html 2. It fixes a problem that Dave Teigland pointed out regarding the external declarations in ops_address.h being in the wrong place. 3. It recasts a couple more %llu printks to (unsigned long long) as requested by Steve Whitehouse. I would have loved to put this all in one revised patch, but there was a rush to get some patches for RHEL5. Therefore, the previous patches were applied to the git tree "as is" and therefore, I'm posting another addendum. Sorry. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit 0507ecf50f22e433592f5ec3a36dc831aaec2e02 Author: Nate Diller Date: Thu May 10 22:41:28 2007 -0700 [GFS2] use zero_user_page Use zero_user_page() instead of open-coding it. Signed-off-by: Nate Diller Cc: Steven Whitehouse Signed-off-by: Andrew Morton commit 6c53267f05dc6689ff662efeec426d25d2c0ab84 Author: Robert Peterson Date: Thu May 10 16:54:38 2007 -0500 [GFS2] Kernel changes to support new gfs2_grow command (part 2) To avoid code redundancy, I separated out the operational "guts" into a new function called read_rindex_entry. Then I made two functions: the closer-to-original gfs2_ri_update (without the special condition checks) and gfs2_ri_update_special that's designed with that condition in mind. (I don't like the name, but if you have a suggestion, I'm all ears). Oh, and there's an added benefit: we don't need all the ugly gotos anymore. ;) This patch has been tested with gfs2_fsck_hellfire (which runs for three and a half hours, btw). Signed-off-By: Bob Peterson Signed-off-by: Steven Whitehouse commit 7ae8fa8451dfb3879ecbc04f2760a707dc65b988 Author: Robert Peterson Date: Wed May 9 09:37:57 2007 -0500 [GFS2] kernel changes to support new gfs2_grow command This is another revision of my gfs2 kernel patch that allows gfs2_grow to function properly. Steve Whitehouse expressed some concerns about the previous patch and I restructured it based on his comments. The previous patch was doing the statfs_change at file close time, under its own transaction. The current patch does the statfs_change inside the gfs2_commit_write function, which keeps it under the umbrella of the inode transaction. I can't call ri_update to re-read the rindex file during the transaction because the transaction may have outstanding unwritten buffers attached to the rgrps that would be otherwise blown away. So instead, I created a new function, gfs2_ri_total, that will re-read the rindex file just to total the file system space for the sake of the statfs_change. The ri_update will happen later, when gfs2 realizes the version number has changed, as it happened before my patch. Since the statfs_change is happening at write_commit time and there may be multiple writes to the rindex file for one grow operation. So one consequence of this restructuring is that instead of getting one kernel message to indicate the change, you may see several. For example, before when you did a gfs2_grow, you'd get a single message like: GFS2: File system extended by 247876 blocks (968MB) Now you get something like: GFS2: File system extended by 207896 blocks (812MB) GFS2: File system extended by 39980 blocks (156MB) This version has also been successfully run against the hours-long "gfs2_fsck_hellfire" test that does several gfs2_grow and gfs2_fsck while interjecting file system damage. It does this repeatedly under a variety Resource Group conditions. Signed-off-By: Bob Peterson Signed-off-by: Steven Whitehouse commit 3168b0780d06ace875696f8a648d04d6089654e5 Author: Satyam Sharma Date: Tue May 8 09:18:58 2007 +0100 [DLM] fix a couple of races Fix two races in fs/dlm/config.c: (1) Grab the configfs subsystem semaphore before calling config_group_find_obj() in get_space(). This solves a potential race between get_space() and concurrent mkdir(2) or rmdir(2). (2) Grab a reference on the found config_item _while_ holding the configfs subsystem semaphore in get_comm(), and not after it. This solves a potential race between get_comm() and concurrent rmdir(2). Signed-off-by: Satyam Sharma Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit b524fe646c9a226a847e30ca1221dc22e952f16b Author: Benjamin Marzinski Date: Wed May 2 09:44:03 2007 -0500 [GFS2] flush the glock completely in inode_go_sync Fix for bz #231910 When filemap_fdatawrite() is called on the inode mapping in data=ordered mode, it will add the glock to the log. In inode_go_sync(), if you do the gfs2_log_flush() before this, after the filemap_fdatawrite() call, the glock and its associated data buffers will be on the log again. This means you can demote a lock from exclusive, without having it flushed from the log. The attached patch simply moves the gfs2_log_flush up to after the filemap_fdatawrite() call. Originally, I tried moving the gfs2_log_flush to after gfs2_meta_sync(), but that caused me to trip the following assert. GFS2: fsid=cypher-36:test.0: fatal: assertion "!buffer_busy(bh)" failed GFS2: fsid=cypher-36:test.0: function = gfs2_ail_empty_gl, file = fs/gfs2/glops.c, line = 61 It appears that gfs2_log_flush() puts some of the glocks buffers in the busy state and the filemap_fdatawrite() call is necessary to flush them. This makes me worry slightly that a related problem could happen because of moving the gfs2_log_flush() after the initial filemap_fdatawrite(), but I assume that gfs2_ail_empty_gl() would catch that case as well. Signed-off-by: Benjamin E. Marzinski Signed-off-by: Steven Whitehouse commit f2ec8030085a27c4ba8e95a10a96f248efb34177 Author: Thomas Bogendoerfer Date: Thu Jun 28 00:49:06 2007 +0200 Ethernet driver for EISA only SNI RM200/RM400 machines Changes to last version: - spelling fix - cleaned up probe code Thomas. Ethernet driver for EISA only SNI RM200/RM400 machines Signed-off-by: Thomas Bogendoerfer Signed-off-by: Jeff Garzik commit 2187f287e2827556210e96c619f76f0f9dd928f0 Author: Thomas Bogendoerfer Date: Thu Jun 28 00:46:22 2007 +0200 Extract chip specific code out of lasi_82596.c Changes to last version: - use netdev_alloc_skb - make init_rx_bufs just fail and not panic, if skb alloc fails - don/t free_irq, if request_irq failed Thomas. Extracted chip specific code out of lasi_82596.c and placed into a lib82596.c to make it usable for other 82596 drivers Signed-off-by: Thomas Bogendoerfer Signed-off-by: Jeff Garzik commit d1d25aaba85fd24ab18b0a4d22f19be02aac65c9 Author: Jan-Bernd Themann Date: Mon Jul 2 13:00:46 2007 +0200 ehea: Whitespace cleanup This patch fixes several whitespace issues. Signed-off-by: Jan-Bernd Themann Signed-off-by: Jeff Garzik commit 7c00db3d28131f4fff42eb49632dcd70636f31f4 Author: Olof Johansson Date: Fri Jun 22 15:04:54 2007 -0500 pasemi_mac: Fix TX interrupt threshold It was mistakenly set to interrupt on the second packet instead of first, causing some interesting latency behaviour. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit e65bbf13dd6ca8c0a4fc35028742c8c85f39c02b Author: Linas Vepstas Date: Thu Jun 14 18:12:23 2007 -0500 spidernet: Replace literal with const Replace literal with const; add bit definitions. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 57a9f236ebe76be6fe1c85b5f7b3cea842e44177 Author: Francois Romieu Date: Mon Jun 4 22:10:15 2007 +0200 r8169: perform RX config change after mac filtering It does not really make sense to update the RX config register before the mac filtering registers. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 773d202194be84cc17d35f62516eac6d8db833e6 Author: Francois Romieu Date: Wed Jan 31 23:47:43 2007 +0100 r8169: mac address change support Merged from Realtek's r8169-6.001 driver. I have added some locking to protect against the arp monitoring timer in the bonding driver. Accessing the configuration registers is otherwise performed under RTNL locking. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 96b9709c9b47c1f9e8fd80e756e8eddcba68e818 Author: Francois Romieu Date: Wed May 30 00:32:05 2007 +0200 r8169: display some extra debug information during startup It does not cost much and it will ease the identification of (so far) unknown devices. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 6cccd6e7a261263cdf06576bd1b241be575638b6 Author: Rolf Eike Beer Date: Mon May 21 22:11:04 2007 +0200 r8169: add endianess annotations to [RT]xDesc Signed-off-by: Rolf Eike Beer Signed-off-by: Francois Romieu Cc: Edward Hsu commit e9f63f30863fd778a5329e93c7e2208b9bcb5b79 Author: Francois Romieu Date: Wed Feb 28 23:16:57 2007 +0100 r8169: align the IP header when there is no DMA constraint Align the IP header when the chipset can DMA at any location (plain 0x8169). Otherwise (0x8136/0x8168) obey the constraint imposed by the hardware. This patch complements the previous alignment rework done for copybreak. Original idea from Philip Craig Signed-off-by: Francois Romieu Cc: Philip Craig Cc: Mike Isely Cc: Edward Hsu commit 275391a482c436282dde57beeffc5d61b229fdd2 Author: Francois Romieu Date: Fri Feb 23 23:50:28 2007 +0100 r8169: add bit description for the TxPoll register Signed-off-by: Francois Romieu Cc: Edward Hsu commit 07d3f51febdc139c63e95671126fd2791113902e Author: Francois Romieu Date: Wed Feb 21 22:40:46 2007 +0100 r8169: cleanup No functionnal change: - trim the old history log - whitespace/indent/case police - unsigned int where signedness does not matter - removal of obsolete assert - needless cast from void * (dev_instance) - remove dead code once related to power management - use netdev_alloc_skb. Signed-off-by: Francois Romieu Cc: Stephen Hemminger Cc: Edward Hsu commit 901dda2b5f0dfbd310d22d497ec8826d4c60363b Author: Francois Romieu Date: Wed Feb 21 00:10:20 2007 +0100 r8169: remove the media option It has been documented as deprecated: - in MODULE_PARM_DESC since may 2005 ; - at the top of the source file and in printk since june 2004. Good bye. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 0127215c17414322b350c3c6fbd1a7d8dd13856f Author: Francois Romieu Date: Tue Feb 20 22:58:51 2007 +0100 r8169: small 8101 comment Extracted from version 1.001.00 of Realtek's r8101. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 864022344caf43dab7fa5219152280d056c6e051 Author: Francois Romieu Date: Tue Feb 20 22:20:51 2007 +0100 r8169: confusion between hardware and IP header alignment The rx copybreak part is straightforward. The align field in struct rtl_cfg_info is related to the alignment requirements of the DMA operation. Its value is set at 2 to limit the scale of possible regression but my old v1.21 8169 datasheet claims a 8 bytes requirements (which never appeared in the driver, of course) and the 8101/8168 go with a plain 8 bytes alignment. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 0e4851502f846b13b29b7f88f1250c980d57e944 Author: Francois Romieu Date: Tue Feb 20 00:00:26 2007 +0100 r8169: merge with version 8.001.00 of Realtek's r8168 driver This one includes: - more tweaks to rtl_hw_start_8168 - a work around for a Rx FiFO overflow issue on the 8168Bb - rtl8169_{intr_mask/napi_event} are replaced with per-device fields, namely tp->{intr/napi}_event - rtl_cfg_info is converted to C99 for readability but the values are not changed for the 8169/8110 and the 8101 Includes ChipCmd fix from Bernhard Walle (2007/02/24). Signed-off-by: Francois Romieu Cc: Edward Hsu commit 6dccd16b7c2703e8bbf8bca62b5cf248332afbe2 Author: Francois Romieu Date: Tue Feb 13 23:38:05 2007 +0100 r8169: merge with version 6.001.00 of Realtek's r8169 driver - new identifier for the 8110SCe - the PCI latency timer is set unconditionally. This part is identical in Realtek's r8168 (8.001.00) and r8101 (1.001.00) - initialization of the cache line size register is for the 8169s only - more magic in rtl_hw_start_8169 - it is not possible to factor out the setting of the the irq event mask with the 8168 and the 8101 any more. Pushed it into the hw_start handler. - rtl_set_rx_tx_config_registers() and write to the ChipCmd register are issued identically for the whole 8169/8110 family: the 8110SCd/8110SCe are handled the same way - work around for AMD platform. Some registers definitions in Realtek's driver are let aside for later. Signed-off-by: Francois Romieu Cc: Edward Hsu commit ba6eb6ee8583a2c7c7f8327be5e5c239fb760b03 Author: Francois Romieu Date: Mon Jun 11 23:35:18 2007 +0200 r8169: prettify mac_version ...still a bit yucky though. Signed-off-by: Francois Romieu Cc: Edward Hsu commit cdf1a608a6ccf9cf1a773969395b58b017bd6f75 Author: Francois Romieu Date: Mon Jun 11 23:29:50 2007 +0200 r8169: populate the hw_start handler for the 8110 Same thing as the previous change for rtl_hw_start_8168. The 8101 related code in rtl_hw_start_8169 (see RTL_GIGA_MAC_VER_13) goes away. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 2dd99530a248bc70e712a5f98e0bc66139a582cb Author: Francois Romieu Date: Mon Jun 11 23:22:52 2007 +0200 r8169: populate the hw_start handler for the 8168 rtl_hw_start_8168 inherits the content of rtl_hw_start_8169 minus the code which depends on RTL_GIGA_MAC_VER_XY (XY != {11/12}). Signed-off-by: Francois Romieu Cc: Edward Hsu commit 7f796d83ffa58c6f752e53dbed8faebb74333e24 Author: Francois Romieu Date: Mon Jun 11 23:04:41 2007 +0200 r8169: add helpers for per-device hw_start handler They aim to limit the amount of moved code when the hw_start handler gets more specialized. No functional change. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 07ce4064677806e330599ade772a914f500e74af Author: Francois Romieu Date: Fri Feb 23 23:36:39 2007 +0100 r8169: add hooks for per-device hw_start handler Rationale: rtl8169_hw_start will not help maintaining an unified driver for different chipsets but people at Realtek are probably too polite to say it distinctly. Let's add the hook and keep hw_start handler unchanged. As can be seen from the content of rtl8169_pci_tbl, the RTL_CFG_1 entry in rtl_cfg_info was unused. I recycled it for the 0x8168. Signed-off-by: Francois Romieu Cc: Edward Hsu commit b449655ff52ff8a29c66c5fc3fc03617e61182ee Author: Stephen Hemminger Date: Sun Jun 17 01:06:49 2007 +0200 r8169: Rx path update - pci_dma_sync_single_for_cpu is not needed for a single large packet - remove the function pointer to help gcc optimizing the inline pci_dma functions. Signed-off-by: Stephen Hemminger Signed-off-by: Francois Romieu Cc: Edward Hsu commit 278667ba186a23770b0dd23ccd26de56a8cc4ec2 Author: David S. Miller Date: Sun Jun 10 17:55:04 2007 -0700 r8169: kill eth_copy_and_sum() It hasn't "summed" anything in over 7 years, and it's just a straight mempcy ala skb_copy_to_linear_data() so just get rid of it. Signed-off-by: David S. Miller Signed-off-by: Francois Romieu Cc: Edward Hsu commit 4ae47c2ddc55e3c571bb55fca921cfe9b02a685f Author: Francois Romieu Date: Sat Jun 16 23:28:45 2007 +0200 r8169: de-obfuscate modulo arithmetic The former style suggests a modulo arithmetic misuse but the expression should never be < 0. Even if it does, the driver will simply loop longer than expected (not that the remaining parts of the system will necessarily appreciate it...). Let's warn the user when something goes wrong and try to go over it. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 15d317587e17dcb96484e46b17b6e826a1f97661 Author: Stephen Hemminger Date: Sat Jun 16 22:36:41 2007 +0200 r8169: use netdev_alloc_skb Use netdev_alloc_skb and remove the useless sk_buff * argument of rtl8169_alloc_rx_skb. Signed-off-by: Stephen Hemminger Signed-off-by: Francois Romieu Cc: Edward Hsu commit a73b629b3519ae97c5325eda346b1749961cfa8d Author: Stephen Hemminger Date: Mon Jun 4 17:23:27 2007 -0700 sky2: version 1.15 New version because of new chip support. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 69161611025b261cb64be70723c0dffe26aeb3ab Author: Stephen Hemminger Date: Mon Jun 4 17:23:26 2007 -0700 sky2: Yukon Extreme (88e8071) support. Enable support for Yukon EX chipset (88e8071). Most of changes are related to new commands to chip for transmit, and change in status and checksumming. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 8f70920f2f2a699b4ad35e625071cd92f4ba6ca3 Author: Stephen Hemminger Date: Mon Jun 4 17:23:25 2007 -0700 sky2: GPIO register The General Purpose I/O register is yet another hardware workaround catchall. Enable workaround that vendor driver does to stay but for bug compatiable. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 451af33552286b426940a32126bd3ece243223a3 Author: Stephen Hemminger Date: Mon Jun 4 17:23:24 2007 -0700 sky2: enable clocks before probe Catch-22: On Yukon EX (88E8071) need to have internal clocks enabled before reading chip id. It is harmless on other chips. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit f449c7c10698e49e6c654452f852b1b719273d8a Author: Stephen Hemminger Date: Mon Jun 4 17:23:23 2007 -0700 sky2: rename BMU register This register is more of a test and control register on Yukon2. So rename it to Q_TEST and give some bit definitions. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit fc99fe0618f355b708ce88fedaca9783072ac3d5 Author: Stephen Hemminger Date: Mon Jun 4 17:23:22 2007 -0700 sky2: Add PCI device specfic register 4 & 5 Need to setup more PCI control control registers are on Yukon EX. Some of these also exist on Yukon EC-U as well. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 3ead5db7bcd343917e567c083f5faf45f5301664 Author: Stephen Hemminger Date: Mon Jun 4 17:23:21 2007 -0700 sky2: avoid reserved regions on ethtool reg dump On Yukon EX reading some of the undocumented places in the memory space will cause a hang. Since they don't provide useful information, just skip the reserved areas. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 3213e3abc68c776589d574decf3e6aee0467d12c Author: Linas Vepstas Date: Mon Jun 11 14:12:09 2007 -0500 spidernet: driver docmentation Documentation for the spidernet driver. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 5f309b90e242a4a9c5519ed113801a7ad542cd48 Author: Linas Vepstas Date: Mon Jun 11 14:09:16 2007 -0500 spidernet: fix misnamed flag The transmit frame tail bit is stranglely misnamed as "no checksum". Fix the name to what it should be: "transmit frame tail". No functional change, just a name change. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 59a11f8809ada4b89ac079fb7f549eaca0554f94 Author: Linas Vepstas Date: Mon Jun 11 14:05:41 2007 -0500 spidernet: move a block of code around Put the enable and disable routines next to one-another, as this makes verifying thier symmetry that much easier. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit e1fd9070729765910b144ffcf74ca199c766509b Author: Linas Vepstas Date: Mon Jun 11 13:59:21 2007 -0500 spidernet: service TX later. When entering the netdev poll routine, empty out the RX chain first, before cleaning up the TX chain. This should help avoid RX buffer overflows. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 9e0a6e2598ac08d14c3388567eae9a4ccea1244f Author: Linas Vepstas Date: Mon Jun 11 13:52:03 2007 -0500 spidernet: invalidate unused pointer. Invalidate a pointer as its pci_unmap'ed; this is a bit of paranoia to make sure hardware doesn't continue trying to DMA to it. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 9948357d49c84102151bc14233c2f489552c1f57 Author: Linas Vepstas Date: Mon Jun 11 13:48:55 2007 -0500 spidernet: enhance the dump routine Crazy device problems are hard to debug, when one does not have good trace info. This patch makes a major enhancement to the device dump routine. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit e6311d855e100184d42c0165ab9d5215fd792c89 Author: Linas Vepstas Date: Mon Jun 11 13:41:38 2007 -0500 spidernet: beautify error messages Use dev_err() to print device error messages. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 91e745aa46336087e1295d44685ee2839bbba07d Author: Stephen Hemminger Date: Wed May 30 14:23:18 2007 -0700 qla3xxx: cleanup checksum offload code The code for checksum is more complex than needed when dealing with VLAN's; the higher layers already pass down the location of the IP header. Compile tested only, no hardware available. Signed-off-by: Stephen Hemminger Signed-off-by: Ron Mercer Signed-off-by: Jeff Garzik commit 59b34c1260045ca264c0208f2b666e839909e2d4 Author: Yoichi Yuasa Date: Tue Jun 5 22:55:06 2007 +0900 add return value check of request_irq() This patch has added return value check of request_irq() to pcmcia net drivers. Signed-off-by: Yoichi Yuasa Signed-off-by: Jeff Garzik commit d1c0a65fb597697d1fbce4eadf42b84f70483edc Author: Jan Engelhardt Date: Wed Jun 13 12:48:53 2007 -0700 Use menuconfig objects II - netdev (general+100mbit) CONFIG_NETDEVICES, CONFIG_NET_ETHERNET: Change Kconfig objects from "menu, config" into "menuconfig" so that the user can disable the whole feature without having to enter the menu first. CONFIG_SMC9194: Move it so that it appears correctly in menuconfig. Signed-off-by: Jan Engelhardt Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 8f036c04a8f3487fa4a2368d99dd74be42b7c6fd Author: Geert Uytterhoeven Date: Wed Jun 6 16:04:39 2007 +0200 acenic: SET_NETDEV_DEV is always there these days acenic: SET_NETDEV_DEV is always there these days Signed-off-by: Geert Uytterhoeven Signed-off-by: Jeff Garzik commit bf0dcbd929faf036f1a4f2918090344d0e249cf5 Author: Stephen Hemminger Date: Mon Jun 4 13:25:40 2007 -0700 b44: use netdev_alloc_skb Use netdev_alloc_skb rather than dev_alloc_skb when allocating receive buffers. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 72f4861ef9b1c1ca6e4abb49854698e80d3b684d Author: Stephen Hemminger Date: Mon Jun 4 13:25:39 2007 -0700 b44: packet offset is constant The receive buffer offset is constant in this driver. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit f65a71775cc3eb5d5d8ac4c349c8f48a7d5c7759 Author: Stephen Hemminger Date: Mon Jun 4 13:25:38 2007 -0700 b44: tx bounce sizing. No need to grap full size MTU buffer for possibly small transmit bounce buffers. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit a72a8179734393ca351f6ecf8cad6841ab7e1470 Author: Stephen Hemminger Date: Mon Jun 4 13:25:37 2007 -0700 b44: timer power saving Make the PHY and statistic timer run on one second boundary for powersaving. On resume, the driver should check for link up immediately, to get online faster (rather than waiting for the next second). Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit eb034a7998956bffdd2acccb7fddfc114c913120 Author: Richard Knutsson Date: Sat May 19 22:18:10 2007 +0200 tulip: Convert to generic boolean Signed-off-by: Richard Knutsson Signed-off-by: Jeff Garzik commit 480fe1a31c662ef4ff0598a7cacefa21f98335f1 Author: Divy Le Ray Date: Wed May 30 21:10:58 2007 -0700 cxgb3 - TP SRAM update The chip executes microcode present in internal RAM, whose content is loaded from EEPROM on power cycle. This patch allows an update of the microcode through PIO without forcing a power cycle. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 8a9fab22cf6a3abde7731f4425d4ff87509bc15a Author: Divy Le Ray Date: Wed May 30 21:10:52 2007 -0700 cxgb3 - Firmware update Update FW to 4.1. Proceed to subsequent HW tuning to improve RDMA perfs.. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit cf992af561cc3ba72d79582535e6262818b00548 Author: Divy Le Ray Date: Wed May 30 21:10:47 2007 -0700 cxgb3 - sge page management Streamline sge page management. Fix dma mappings when buffers are recycled. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 287aa83dffd1b39859f49d73b0d67f57106de5f1 Author: Bill Nottingham Date: Wed May 30 03:59:02 2007 -0400 drivers/net: fix comparisons of unsigned < 0 Recent gcc versions emit warnings when unsigned variables are compared < 0 or >= 0. Signed-off-by: Bill Nottingham Signed-off-by: Jeff Garzik commit 40738f3fcdb951fb8ade286dc1ea05812acc94db Author: Komuro Date: Sun May 27 08:57:58 2007 +0900 PCMCIA-NETDEV : add new ID of lan&modem multifunction card fmvj18x_cs: NEC PK-UG-J001 Panasonic CF-VML201 Panasonic TO-PDL9610 pcnet_cs: MICRO-RESEARCH MC336LAN Signed-off-by: Komuro Signed-off-by: Jeff Garzik commit 18ab458fb7bd5c64bef766090020648266cfa9b6 Author: David Brownell Date: Fri May 25 12:31:32 2007 -0700 usbnet whitespace fixes Whitespace updates for usbnet core, mostly switching to tab-only indents. Signed-off-by: David Brownell Signed-off-by: Jeff Garzik commit 2501f843b051621c5a6df7a092a64dfd78b201f7 Author: Richard Knutsson Date: Sat May 19 22:26:40 2007 +0200 8139cp: Convert to generic boolean Signed-off-by: Richard Knutsson Signed-off-by: Jeff Garzik commit 4117b5be4b877cec7c34058f0c239fcf78274e3d Author: Kapil Juneja Date: Fri May 11 18:25:18 2007 -0500 phylib: m88e1111: enable SGMII mode If connected via SGMII, initialize with SGMII mode configured. Signed-off-by: Kapil Juneja Signed-off-by: Andy Fleming Signed-off-by: Kim Phillips Signed-off-by: Jeff Garzik commit d3c12873c36005263286cf5660663c8c10f9d2b5 Author: Kapil Juneja Date: Fri May 11 18:25:11 2007 -0500 gianfar: add support for SGMII Add code for initialising and configuring TBI interface and programming it for connecting to on-chip SERDES (Lynx PHY) in case of SGMII mode selected through HRCW at reset. also add defines for TBI register configuration. TBI interface is programmed towards the SERDES. refactored mdio read/write functions to differentiate programming local interface MII regs (e.g., for TBI) from always programming the mdio master (TSEC1, for programming the PHYs). Signed-off-by: Kapil Juneja Signed-off-by: Andy Fleming Signed-off-by: Kim Phillips Signed-off-by: Jeff Garzik commit 0cefeebaf3da39d768bffcf62460fe2088e824ef Author: Michael Barkowski Date: Fri May 11 18:24:51 2007 -0500 phylib: add the ICPlus IP175C PHY driver The ICPlus IP175C sports a 100Mbit/s 4-port switch in addition to a dedicated 100Mbit/s WAN port. Signed-off-by: Michael Barkowski Signed-off-by: Kim Phillips Signed-off-by: Jeff Garzik commit 146bd683cc160d728f1f62a6ddade8451801a8c3 Author: Linas Vepstas Date: Mon May 14 18:41:41 2007 -0500 s2io: add PCI error recovery support s2io cleanup suggestions, per discussion on mailing lists. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit d796fdb708fc5b10112934cba43e832c36ce4923 Author: Linas Vepstas Date: Mon May 14 18:37:30 2007 -0500 s2io: add PCI error recovery support This patch adds PCI error recovery support to the s2io 10-Gigabit ethernet device driver. Third revision, blocks interrupts and the watchdog. Tested, seems to work well. Signed-off-by: Linas Vepstas Acked-by: Ramkrishna Vepa Cc: Raghavendra Koushik Cc: Wen Xiong Signed-off-by: Jeff Garzik commit bd5824f138153f407e300728919e814ab7dcfadb Author: Jouni Malinen Date: Mon May 28 09:38:49 2007 -0700 [PATCH] hostap: Remove driver version number The driver version number has not been updated since the driver was included in the main kernel tree and there is no plan on updating this in the future either. At this point, the only correct way to refer to the version is to use the kernel version. The 0.4.4 version is confusing since there are external version with higher version number even though they are not actually any newer than the in-tree version. Let's get rid of the version number in the kernel tree in order to avoid this kind of confusion. Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit c15057313725942c6af8dcb60b4d4322101316d9 Author: Matthias Kaehlcke Date: Mon May 28 09:38:48 2007 -0700 [PATCH] hostap: Use list_for_each_entry Use list_for_each_entry() instead of manual iteration and substitute some list_for_each() loops with list_for_each_entry(). Signed-off-by: Matthias Kaehlcke Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit b918099030fe6cc093a7d60a88039bd98f16538e Author: Pavel Roskin Date: Mon May 28 09:38:47 2007 -0700 [PATCH] hostap: Suppress broadcast if no stations are associated This may be useful in mesh setups when most stations act as repeaters only. Signed-off-by: Pavel Roskin Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit 67c4f7aa9e64d37f32eb44d6d093b7028f1060bb Author: Akinobu Mita Date: Sun May 27 23:27:40 2007 +0900 [PATCH] softmac: use list_for_each_entry Cleanup using list_for_each_entry. Cc: Johannes Berg Cc: Joe Jezak Cc: Daniel Drake Signed-off-by: Akinobu Mita Signed-off-by: John W. Linville commit 77548f58070894cf5970a110981e511ffe793369 Author: Larry Finger Date: Sat May 26 22:21:29 2007 -0500 [PATCH] bcm43xx: Fix deviation from specifications in set_baseband_attenuation A disagreement between the specifications and the bcm43xx code has just been discovered and is hereby fixed. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit aaf83d4fc4a596929306c894d341e17fbdfba758 Author: Daniel Drake Date: Thu May 24 01:07:15 2007 +0100 [PATCH] zd1211rw: Make CCK gain patching conditional on RF type The vendor driver code suggests that CR47 patching happens on every channel change for every RF (depending on bit 8 in POD). Due to a bug in their driver (upper bits of RF_Mode get zeroed out, then are examined for 1s when setting some other flags), this isn't actually what happens, and their generic CCK patching routine never takes effect. Some of their RF configurations do include explicit (duplicated) code for CR47 patching though. This patch makes zd1211rw match that behaviour. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 4481d6093e62e168ab06e9bbb4e67a9bebb8c7f7 Author: Daniel Drake Date: Thu May 24 01:06:53 2007 +0100 [PATCH] zd1211rw: Add UW2453 RF support This patch adds support for another radio appearing in new devices: the Ubec UW2453. It's more complicated than the other RF's we support, but Ubec publish full tech specs so we're able to understand the vendor code relatively well. Now that we support UW2453, we also support Atheros' new USB chip: the AR5007UG. From the little info we have, this appears to be just a rebranded ZD1211B. This RF code doesn't work very well -- lots more TX/RX errors than the other RFs. However, the vendor driver doesn't do any better, so this is all we can do for now. [kune@deine-taler.de: bug fixes] Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 9c8fc71ddd1b42c0c632036333790f230cea815d Author: Daniel Drake Date: Thu May 24 01:06:41 2007 +0100 [PATCH] zd1211rw: Extend RF layer These changes are needed for UW2453 RF support: Add pointer which RF drivers can use to store private RF data Add exit hook so that RF drivers can free private data Allow RF's to disable the generic TX power integration handling code Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit a9eea9ae6e82d1b0f453c24103a84ce7af5d1e15 Author: Daniel Drake Date: Thu May 24 01:06:29 2007 +0100 [PATCH] zd1211rw: Add ID for ZyXEL G-200v2 Tested by Guy Gallagher zd1211 chip 0586:3407 v4721 high 00-13-49 AL2230_RF pa0 g--- FCC ID SI5WUB200Z Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 0aec00ae1c39b0adaa6e958a4e0119cfc12d884b Author: John W. Linville Date: Tue Jun 12 22:11:42 2007 -0400 [PATCH] rtl8187: add header blocks and indicate origin of magic values Add top-of-file comment blocks to rtl818x headers and attribute origin of magic values to original r8187 driver. Signed-off-by: John W. Linville commit 7e9400f178d291b2208c4ed9aac0f425c1364000 Author: John W. Linville Date: Mon Jun 11 21:37:46 2007 -0400 [PATCH] eeprom_93cx6: shorten pulse timing to match spec 93cx6 datasheet available here: http://ww1.microchip.com/downloads/en/DeviceDoc/21749F.pdf Figure 1-1 and Table 1-2 on pages 4-5 indicate that both Clock High Time and Clock Low Time have largest minimum times of 450ns. Signed-off-by: John W. Linville commit 605bebe23bf6ac66c0a717e663a7baa2f981294d Author: Michael Wu Date: Mon May 14 01:41:02 2007 -0400 [PATCH] Add rtl8187 wireless driver This patch adds a mac80211 based wireless driver for the rtl8187 USB wireless card. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 4b914dc0493edff19ff698a18198a173a14ba9d2 Author: Ivo van Doorn Date: Mon May 14 23:06:01 2007 +0200 [PATCH] eeprom_93cx6: Add comment for 1us delay after pulse This will add a comment for the 1us delay which is taken after the pulse has been switched. The 1us delay is based on the specifications so that should be made clear. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 9467d64b0e88763914c01f71ddf591b166c4f526 Author: Ivo van Doorn Date: Fri May 11 15:59:40 2007 -0400 [PATCH] Add 93cx6 eeprom library This patch adds a library for reading from 93cx6 eeproms. Signed-off-by: Michael Wu Signed-off-by: John W. Linville commit 1b898040e214d1f5acd3baf14f07ef5f610d5c8a Author: Paul Mundt Date: Sat Jul 7 07:28:11 2007 +0900 sh: Add parport stub for SuperIO ports. Some boards have SuperIOs with PC-style parports, toss in the stub so these can be supported. Signed-off-by: Paul Mundt commit 5296307de63f1949d601b3515f8b1a0a859c5847 Author: Paul Mundt Date: Sat Jul 7 07:25:56 2007 +0900 sh: Drop -Wa,-dsp for DSP tuning. We already hand off the proper ISA variant with the dsp specifier appended, so we don't need to explicitly set -dsp. This causes some confusion with certain toolchains that are restricted to -dsp family opcodes artificially. Signed-off-by: Paul Mundt commit ac6b9f28d8202ed064c9b372350693f79882b448 Author: Paul Mundt Date: Sat Jul 7 04:09:02 2007 +0900 sh: Update dreamcast defconfig. Signed-off-by: Paul Mundt commit 7e7ec0d4ae57b258fed5ee29e9d007282898625a Author: Paul Mundt Date: Sat Jul 7 04:05:06 2007 +0900 fb: pvr2fb: A few more __devinit annotations for PCI. In the PCI + hotplug case we end up with some bogus references between the PCI driver path and the DC path. In order to fix this, we have to rework the common init path for __devinit, as well as moving all of the data that it references to __devinidata. Signed-off-by: Paul Mundt commit e9705a77f50c1fd52356f4f0e515455273aae416 Author: Paul Mundt Date: Sat Jul 7 03:38:51 2007 +0900 fb: pvr2fb: Fix up section mismatch warnings. A few minor things were broken here. fix and var screeninfo should have been __devinitdata, board_list[] gets renamed to board_driver[] so the modpost matching does the right thing, and we properly discard some of the unused exit sections. Signed-off-by: Paul Mundt commit 989e5ab3e8159f563b3fda5317febee5af040983 Author: Paul Mundt Date: Sat Jul 7 03:36:06 2007 +0900 sh: Select IPR-IRQ for SH7091. Fixes a compile failure for the Dreamcast. Signed-off-by: Paul Mundt commit 04c7d9579f25ff0dd01efa958805f34c92bc6a71 Author: Paul Mundt Date: Fri Jul 6 10:58:04 2007 +0900 sh: Correct __xdiv64_32/div64_32 return value size. These should be returning a uint32_t, whereas they were erroneously returning a u64 before. As the register sizes are 32-bits, this doesn't really make a lot of sense. Reported-by: Katsuya MATSUBARA Signed-off-by: Paul Mundt commit 75f016a7ce75220d898608791870ab7da549a430 Author: Nobuhiro Iwamatsu Date: Fri Jul 6 10:26:03 2007 +0900 sh: Fix timer-tmu build for SH-3. With the TMU register definitions being renamed on SH-4, SH-3 ended up breaking. Update the TSTR define to match the SH-4 convention. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 880dec100761f4fbc5fa5d22e658a8718828f04e Author: Paul Mundt Date: Fri Jul 6 10:22:59 2007 +0900 sh: Add cpu and mach links to CLEAN_FILES. These weren't being cleaned up, so add them to the CLEAN_FILES. Signed-off-by: Paul Mundt commit 80a7cc6cf1126bc09beee3dded2820bfa18ce347 Author: Kumar Gala Date: Tue Jul 3 03:22:05 2007 -0500 [POWERPC] Merge asm-ppc/mmu_context.h into asm-power/mmu_context.h Just did a directly merge from asm-ppc into asm-powerpc. This is the last header that we directly include from asm-powerpc. Signed-off-by: Kumar Gala commit 58fe255f63716a6442559fa0b3cc2506f6abf506 Author: Kumar Gala Date: Tue Jul 3 03:05:58 2007 -0500 [POWERPC] Fix up interrupt senses for MPC85xx boards The PHY is active-low on the MPC85xx CDS and the 8560 ADS just had the wrong sense for the internal PCI and CPM interrupts. Signed-off-by: Kumar Gala commit 3120234551ebf5f6e24a23082334eb3897b5db41 Author: David Gibson Date: Fri Jun 22 14:58:55 2007 +1000 [POWERPC] Split out asm-ppc/mmu.h portions for PowerPC 8xx arch/powerpc still relies on asm-ppc/mmu.h for some 32-bit MMU types. This patch is another step towards fixing this. It takes the portions of asm-ppc/mmu.h related to 8xx embedded CPUs which are still relevant in arch/powerpc and puts them in a new asm-powerpc/mmu-8xx.h, included when appropriate from asm-powerpc/mmu.h. Signed-off-by: David Gibson Signed-off-by: Kumar Gala commit 67f74c9d223815e30eac456b4956a846143b65c6 Author: David Gibson Date: Fri Jun 15 15:33:09 2007 +1000 [POWERPC] Split out asm-ppc/mmu.h portions for Freescale Book-E arch/powerpc still relies on asm-ppc/mmu.h for some 32-bit MMU types. This patch is another step towards fixing this. It takes the portions of asm-ppc/mmu.h related to Freescale Book-E which are still relevant in arch/powerpc and puts them in a new asm-powerpc/mmu-fsl-booke.h, included when appropriate from asm-powerpc/mmu.h. Signed-off-by: David Gibson Signed-off-by: Kumar Gala commit b3710f5a1802876717600afad10156e54d5fdb18 Author: Kumar Gala Date: Tue Jul 3 02:51:24 2007 -0500 [POWERPC] Kill pcibios_enable_resources() pcibios_enable_resources isn't used anywhere and not exported. Signed-off-by: Kumar Gala commit 327e22df9ff2e70a88ada88f9833ef682482bddd Author: Jon Loeliger Date: Mon Jun 4 14:28:44 2007 -0500 [POWERPC] Replace use of GET_64BIT(prop, i) with of_read_number(). Remove uses of hack GET_64BIT() property macro and use the more general of_read_number() function from prom.h as suggested by Milton. Signed-off-by: Jon Loeliger Signed-off-by: Kumar Gala commit b533f8ae796d1ee0289bf04d4f1e72c02ad4a17d Author: Kumar Gala Date: Tue Jul 3 02:35:35 2007 -0500 [POWERPC] Reworked interrupt numbers for OpenPIC based Freescale chips Make the interrupt numbers match the OpenPIC spec intead of the Freescale docs which distinguish between internal and external interrupts. Now we can use the interrupt number directly to find the register offset associated with it. Signed-off-by: Kumar Gala commit eae98266e78e5659d75dbb62b4601960c15c7830 Author: Timur Tabi Date: Fri Jun 22 14:33:15 2007 -0500 [POWERPC] Fix MAC address entries for 83xx, 85xx, and 86xx device trees For the 83xx, 85xx, and 86xx device trees, add a "local-mac-address" property to every Ethernet node that didn't have one. Add a comment indicating that the "address" and/or "mac-address" properties are deprecated in DTS files and will be removed at a later time. Change all MAC address properties to have a zero MAC address value. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala commit 65482ccf9d00bf4f68e17eb9c656d045d26e5d1f Author: Li Yang Date: Mon May 28 18:48:06 2007 +0800 [POWERPC] qe_lib: export symbols for QE driver to compile as module Export symbols of qe_lib to be used by QE driver. Signed-off-by: Li Yang Signed-off-by: Selvamuthukumar V Signed-off-by: Kumar Gala commit 68fb0d203f4f62c8d1ac24d8ef2473582d8ea9db Author: Roy Zang Date: Wed Jun 13 17:13:42 2007 +0800 [POWERPC] 85xx: Fix 8548CDS reset bug Begin with MPC8548 a new reset control register is added that asserts HRESET_REQ to board logic. This register is used for chip reset. Signed-off-by: Roy Zang Signed-off-by: Kumar Gala commit a4ecababf4f007940300374ff68ac10b96733586 Author: Roy Zang Date: Tue Jun 19 15:19:31 2007 +0800 [POWERPC] Fix the node index confusion for SOC Signed-off-by: Roy Zang Signed-off-by: Kumar Gala commit 3b824f85191c9ccc2614474543118e88543d5ba2 Author: Roy Zang Date: Tue Jun 19 15:19:18 2007 +0800 [POWERPC] Document the global utilities node define and example Document the global utilities node define and example. Signed-off-by: Roy Zang Signed-off-by: Kumar Gala commit 8d038e0433e3164e460c2daeca1ec6947a08f81a Author: Kazunori Asayama Date: Fri Jun 29 10:58:09 2007 +1000 [POWERPC] spufs: Save dma_tagstatus_R in CSA The function backing_ops->read_mfc_tagstatus() doesn't return a correct value because the dma_tagstatus_R register isn't saved in CSA. This fixes the problem. Signed-off-by: Kazunori Asayama Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 933b0e35247ef0dbd1a078a0ba3705ddbbda129f Author: Kazunori Asayama Date: Fri Jun 29 10:58:08 2007 +1000 [POWERPC] spufs: Fix lost events in poll/epoll on mfc When waiting for I/O events on mfc in an SPU context by using poll/epoll syscalls, some of the events can be lost because of wrong order of poll_wait and MFC status checks in the spufs_mfc_poll function and non-atomic update of tagwait. This fixes the problem. Signed-off-by: Kazunori Asayama Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit fe2f896d67b89a409c366c9a69e30291ab124467 Author: Christoph Hellwig Date: Fri Jun 29 10:58:07 2007 +1000 [POWERPC] spufs: Add spu stats in sysfs Export spu statistics in sysfs. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 27449971e6907ff38bde7bbc4647e55bd7309fc3 Author: Christoph Hellwig Date: Fri Jun 29 10:58:06 2007 +1000 [POWERPC] spusched: Fix runqueue corruption spu_activate can be called from multiple threads at the same time on behalf of the same spu context. We need to make sure to only add it once to avoid runqueue corruption. Signed-off-by: Christoph Hellwig Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit c77239b8be74f775142d9dd01041e2ce864ba20d Author: Christoph Hellwig Date: Fri Jun 29 10:58:05 2007 +1000 [POWERPC] spusched: Disable tick when not needed Only enable the scheduler tick if we have any context waiting to be scheduled. Signed-off-by: Christoph Hellwig Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 08c9692b168240729cf89c69c4ad722760a5690c Author: Jeremy Kerr Date: Fri Jun 29 10:58:04 2007 +1000 [POWERPC] spufs: Fix libassist accounting We're currently too permissive with counting libassist calls - fix the check on the SPE stop-and-signal status. Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit e9f8a0b65ac716fd7974159240ce34bddea780b3 Author: Christoph Hellwig Date: Fri Jun 29 10:58:03 2007 +1000 [POWERPC] spufs: Add stat file to spufs Export per-context statistics in spufs. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 65de66f0b8bcb7431d9df82cf32b002062b3a611 Author: Christoph Hellwig Date: Fri Jun 29 10:58:02 2007 +1000 [POWERPC] spufs: Implement /proc/spu_loadavg Provide load average information for spu context. The format is identical to /proc/loadavg, which is also where a lot of code and concepts is borrowed from. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 476273adc7277333aed9963bc4dc9b39066d3038 Author: Christoph Hellwig Date: Fri Jun 29 10:58:01 2007 +1000 [POWERPC] spufs: Add tid file The new tid file contains the ID of the thread currently running the context, if any. This is used so that the new spu-top and spu-ps tools can find the thread in /proc. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 7022543ee404880aab5c641e4983e237815edc35 Author: Jeremy Kerr Date: Fri Jun 29 10:58:00 2007 +1000 [POWERPC] spufs: Trivial whitespace fixes Remove redundant whitespace in arch/powerpc/platforms/cell/spufs/ Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit b8c295f90854d682018d74599efc258628be32e3 Author: Jeremy Kerr Date: Fri Jun 29 10:57:59 2007 +1000 [POWERPC] spufs: Remove spufs_dir_inode_operations spufs_dir_inode_operations is exactly the same as simple_dir_inode_operations. Use that instead. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit df09cf3e2cd597d373f3a6046df0e0a50881ea44 Author: Christoph Hellwig Date: Fri Jun 29 10:57:58 2007 +1000 [POWERPC] spusched: No preemption for nosched contexts And last but not least we need to make sure the scheduler tick never preempts a nosched context. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 46cbf93960e64f313f6e247cbca7afaa50e3ee2c Author: Christoph Hellwig Date: Fri Jun 29 10:57:57 2007 +1000 [POWERPC] spusched: Catch nosched contexts in spu_deactivate spu_deactivate should never be called for nosched contets. Put in a check so we can print a stacktrace and exit early in case it happes erroneously. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit ea1ae5949d7fcd2e622226ba71741a0f43b6ef0a Author: Christoph Hellwig Date: Fri Jun 29 10:57:56 2007 +1000 [POWERPC] spusched: fix cpu/node binding Add a cpus_allowed allowed filed to struct spu_context so that we always use the cpu mask of the owning thread instead of the one happening to call into the scheduler. Also use this information in grab_runnable_context to avoid spurious wakeups. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 2cf2b3b49f10d2f4a0703070fc54ce1cd84a6cda Author: Christoph Hellwig Date: Fri Jun 29 10:57:55 2007 +1000 [POWERPC] spusched: Update scheduling paramters on every spu_run Update scheduling information on every spu_run to allow for setting threads to realtime priority just before running them. This requires some slightly ugly code in spufs_run_spu because we can just update the information unlocked if the spu is not runnable, but we need to acquire the active_mutex when it is runnable to protect against find_victim. This locking scheme requires opencoding spu_acquire_runnable in spufs_run_spu which actually is a nice cleanup all by itself. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit f3f59bec0c7ad083e9c95a550bcb1e9ca27e25f4 Author: Jeremy Kerr Date: Fri Jun 29 10:57:54 2007 +1000 [POWERPC] spusched: Print out scheduling tunables with DEBUG Print out a few scheduler tuning parameters when we've compiled with DEBUG defined. Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 60e242393346c1a9a64e7b14dfb7f613a737324f Author: Jeremy Kerr Date: Fri Jun 29 10:57:53 2007 +1000 [POWERPC] spusched: Fix timeslice calculations The current timeslice code mixes 'jiffies' up with 'spesched ticks'. This change correctly defines the number of time slices each SPE contexts is given, and clarifies the comment. This brings the default timeslice for SPE contexts into a reasonable range. Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit fe443ef2ac421c9c652e251e8733e2479d8e411a Author: Christoph Hellwig Date: Fri Jun 29 10:57:52 2007 +1000 [POWERPC] spusched: Dynamic timeslicing for SCHED_OTHER Enable preemptive scheduling for non-RT contexts. We use the same algorithms as the CPU scheduler to calculate the time slice length, and for now we also use the same timeslice length as the CPU scheduler. This might be not enough for good performance and can be changed after some benchmarking. Note that currently we do not boost the priority for contexts waiting on the runqueue for a long time, so contexts with a higher nice value could starve ones with less priority. This could easily be fixed once the rework of the spu lists that Luke and I discussed is done. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 379018022071489a7dffee74db2a267465dab561 Author: Christoph Hellwig Date: Fri Jun 29 10:57:51 2007 +1000 [POWERPC] spusched: Switch from workqueues to kthread + timer tick Get rid of the scheduler workqueues that complicated things a lot to a dedicated spu scheduler thread that gets woken by a traditional scheduler tick. By default this scheduler tick runs a HZ * 10, aka one spu scheduler tick for every 10 cpu ticks. Currently the tick is not disabled when we have less context than available spus, but I will implement this later. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit be7031773eded128675de6da778234a935c8d8ea Author: Sebastian Siewior Date: Fri Jun 29 10:57:50 2007 +1000 [POWERPC] spufs: Add bit definition Add a bit define from book, and replace one hex number with a symbol, for clarity. Signed-off-by: Sebastian Siewior Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 7a896dc5f4a369193256653535aa7e2b521c611d Author: Sebastian Siewior Date: Fri Jun 29 10:57:49 2007 +1000 [POWERPC] spufs: fix building spufs/spu_save_dump.h Currently it fails with gcc from sdk 2.1 because of a spec change [1]. Maybe we should start using the definitions from spu_mfcio.h. [1] http://gcc.gnu.org/ml/gcc-patches/2006-11/msg01598.html Signed-off-by: Sebastian Siewior Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit cefe658bca9cf1d4af841c45d170ebd0f881889e Author: Michael Hennerich Date: Mon Jul 2 11:45:50 2007 +0800 Blackfin arch: add BF54x missing GPIO access functions Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit e3f2300036b5e0f60cb64063a9686361b6be8555 Author: Michael Hennerich Date: Thu Jul 12 16:39:29 2007 +0800 Blackfin arch: Some memory and code optimizations - Fix SYS_IRQS Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 34e0fc89bdc1e6f50032dc43ed23167f5dbad6da Author: Michael Hennerich Date: Thu Jul 12 16:17:18 2007 +0800 Blackfin arch: Enable BF54x PIN/GPIO interrupts Signed-off-bu: Michael Hennerich Signed-off-by: Bryan Wu commit 1f83b8f148a1eb967d2a628cbb741cd56fb54572 Author: Mike Frysinger Date: Thu Jul 12 22:58:21 2007 +0800 Blackfin arch: cleanup warnings from checkpatch -- no functional changes Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit cf1d8a8a7b6616fbfd14f2d4646024f4ff1c3c8b Author: Kumar Gala Date: Thu Jun 28 22:56:24 2007 -0500 [POWERPC] Add copyright header to pci-common.c based on pci_{32,64}.c Signed-off-by: Kumar Gala commit a4c9e328279d55622d56507629d6b8942e8cc9c9 Author: Kumar Gala Date: Wed Jun 27 13:09:43 2007 -0500 [POWERPC] Use ppc64 style list management for pci_controller on ppc32 Use the ppc64 style list management and allocation functions for pci_controllers. This makes the pci_controller structs just a bit more common between ppc32 & ppc64. Signed-off-by: Kumar Gala commit 58083dade53cd434e134cd26ae5e89061f6de1ff Author: Kumar Gala Date: Wed Jun 27 11:07:51 2007 -0500 [POWERPC] Move common PCI code out of pci_32/pci_64 Moved the low hanging fruit that was either identical or close to it between ppc32 & ppc64 for PCI into pci-common.c Signed-off-by: Kumar Gala commit 0b1d40c4d4dd8f276d8d9730204b3a0a17ab0d61 Author: Kumar Gala Date: Wed Jun 27 10:27:33 2007 -0500 [POWERPC] Move pci_bus_to_hose users to pci_bus_to_host In the places we can move to using pci_bus_to_host, this allows us to make pci_bus_to_host static and remove its export. Signed-off-by: Kumar Gala commit dbf8471f5294b27ba9b6232ffc177dcd4e0a2fa5 Author: Kumar Gala Date: Wed Jun 27 01:56:50 2007 -0500 [POWERPC] Merge ppc32 and ppc64 pcibios_alloc_controller() prototypes Make the ppc32 pcibios_alloc_controller take a device node to match the ppc64 prototypes and have it set arch_data. Signed-off-by: Kumar Gala commit 5516b540e98de6f7474a4e7149470ad6a0bbc54a Author: Kumar Gala Date: Wed Jun 27 01:17:57 2007 -0500 [POWERPC] Use global_number in ppc32 pci_controller Make the pci_controller struct use global_number for the PHB domain number instead of index to match what ppc64 does and reuse its pci_domain_nr code. Introduced a pci-common.c to handle shared code between ppc32 & ppc64. Signed-off-by: Kumar Gala commit 6a506238b33efd93e60c1585d654b37e292183de Author: Kumar Gala Date: Wed Jun 27 01:14:04 2007 -0500 [POWERPC] Removed dead code related to PCI on ppc32 There are no in kernel users of any off these functions and some of them were not even EXPORT_SYMBOL: - pci_bus_io_base() - pci_bus_io_base_phys() - pci_bus_mem_base_phys() - pci_resource_to_bus() - phys_to_bus() - pci_phys_to_bus() - pci_bus_to_phys() - pci_init_resource() - resource_fixup() Signed-off-by: Kumar Gala commit bf440b712d289b157c72f19b389b8d918a8c8c5c Author: Kumar Gala Date: Wed Jun 27 00:19:08 2007 -0500 [POWERPC] Remove local_number from pci_controller We never actually read local_number so lets just remove it. Signed-off-by: Kumar Gala commit 5531e41bf41b5bc34e3cb57af89b58a24fc0dd8d Author: Kumar Gala Date: Wed Jun 27 00:16:25 2007 -0500 [POWERPC] Merge asm-ppc/pci-bridge.h into asm-power/pci-bridge.h Moved bits need for ppc32 from asm-ppc/pci-bridge.h into asm-powerpc/pci-bridge.h. Removed ARCH=powerpc specific bits (and comments related to ARCH=ppc) from asm-ppc/pci-bridge.h as its only used on ARCH=ppc. Signed-off-by: Kumar Gala commit 20243c72a8564ccd22437fd1bda16ca5bccd5701 Author: Zhang Wei Date: Tue Jun 26 18:22:40 2007 -0500 [POWERPC] 86xx: Created quirk_fsl_pcie_transparent() to initialize bridge resources. The Freescale PCI-e RC poses as a transparent bridge, but does not implement the IO_BASE or IO_LIMIT registers in the config space. This means that the code which initializes the bridge resources ends up setting the IO resources erroneously. Add quick_fsl_pcie_transparent() to handle this. This change sets RC of mpc8641 to be a transparent bridge for legacy I/O access and initializes the RC bridge resources from the device tree. Signed-off-by: Zhang Wei Signed-off-by: Andy Fleming Signed-off-by: Jon Loeliger Signed-off-by: Kumar Gala commit 6d8ff10c3ab1e3d4a40788442f1369e868103e43 Author: York Sun Date: Mon Jun 4 11:56:42 2007 -0500 [POWERPC] Let subordinate transparent bridges be transparent. In pcibios_fixup_bus(), bridges that are subordinate to transparent bridges were still relocating their IORESOURCE_IO and IO_RESOURCE_MEM start and end values. Fix this by preventing the transparent bridge from relocating the start and end values, thus allowing the subordinate non-transparent bridge full molestation rights. Signed-off-by: York Sun Signed-off-by: Andy Fleming Signed-off-by: Jon Loeliger Signed-off-by: Kumar Gala commit 3ac4f0e1dd81e107a1c3462a5c20e318fdafdb82 Author: Zhang Wei Date: Tue May 22 11:38:30 2007 +0800 [POWERPC] MPC8641HPCN: Set IDE in ULI1575 to not native mode. Set IDE in ULI1575 to not 100% native mode, which forces the IDE driver to probe the irq itself. Signed-off-by: Zhang Wei Signed-off-by: Kumar Gala commit 476f5779b77a919f0ced5953de2bf3e0f2d02c07 Author: Kumar Gala Date: Tue Jun 26 12:12:55 2007 -0500 [POWERPC] 86xx: Workaround PCI_PRIMARY_BUS usage The Freescale PCI-e controllers have an issue in that they use the PCI_PRIMARY_BUS register in the virtual P2P bridge to determine which bus number to match on when generating a type 0 config cycle. The issue is if we are renumbering bus numbers to match Linux we will try setting the PCI_PRIMARY_BUS and will not know which bus number to use for generating type 0 config cycles. We surpress writing the register in the P2P bridge and always keep it at zero. In the future when proper PCI domain support is working we should be able to remove this. Signed-off-by: Kumar Gala commit e4725c23eca47b5dc0d0d128b9af288c0cd878f6 Author: Zhang Wei Date: Mon Jun 25 15:21:10 2007 -0500 [POWERPC] 86xx: Avoid system halt if link training isn't at least L0. We check the Link Training and State Status register to make sure we are at least at the L0 state. Signed-off-by: Zhang Wei Acked-by: Roy Zang Signed-off-by: Kumar Gala commit ab0f9ad34d1eb31bb13cc4218d7717f8a85b12ed Author: Kumar Gala Date: Mon Jun 25 15:19:48 2007 -0500 [POWERPC] Added indirect_type to handle variants of PCI ops The generic PCI config ops indirect support for ppc32 covers only two cases (implicit vs explicit) type 0/1 config cycles via set_cfg_type. Added a indirect_type bit mask to handle other variants. Added support for PCI-e extended registers and moved the cfg_type handling into the bit mask for ARCH=powerpc. We can also use this to handle indirect quirks. Signed-off-by: Kumar Gala commit dfac6faf8f42d5a9dd6919d7a2a41ef91eb77b4f Author: Wade Farnsworth Date: Mon Jun 4 13:24:47 2007 -0700 [POWERPC] 86xx: Add uli1575 pci-bridge sector to MPC8641HPCN dts file. This adds device nodes for the PCI bridges as well as the ISA devices on the newer revision MPC8641HPCN. It also adds the PCI ranges to the soc node so that address translation for the ISA devices works properly. Signed-off-by: Wade Farnsworth Signed-off-by: Jon Loeliger Signed-off-by: Kumar Gala commit bf7c036fb48a6176635f2e7b749d7398728d4b7d Author: Zhang Wei Date: Tue May 22 11:38:26 2007 +0800 [POWERPC] Remove PCI-e errata for MPC8641 silicon ver 1.0 Remove errata for PCI-e support of Rev 1.0 of MPC8641 since its considered obselete and is not production level silicon from Freescale. Signed-off-by: Zhang Wei Acked-by: Roy Zang Signed-off-by: Kumar Gala commit 0a3786c5f7575c0739ad94057213b931a9423502 Author: Kumar Gala Date: Mon Jun 25 13:32:48 2007 -0500 [POWERPC] Removed remnants of bus_offset Removed the remants of bus_offset and use self_busno in the mv64x60 case and use pci_assign_all_buses on 83xx/85xx. 83xx/85xx have multiple PHBs and the firmwares on these devices tend not to handle topologies with P2P bridges well so we let Linux just reassign the bus numbers to match. Signed-off-by: Kumar Gala commit 5ab65ecdaffd85753e7ad957622afcd709a39deb Author: Kumar Gala Date: Mon Jun 25 13:09:42 2007 -0500 [POWERPC] Added self_busno to indicate which bus number the PHB is Added self_busno to pci_controller and indirect PCI ops to be set by board code to indicate which bus number to use when talking to the PHB. By default we use zero since the majority of controllers that have implicit mechanisms to talk to the PHBs use a bus number of zero. Signed-off-by: Kumar Gala commit 2a5ccbc5bb471c10b58ea85ac463e70faead1c8a Author: Kumar Gala Date: Mon Jun 25 12:53:51 2007 -0500 [POWERPC] Remove bus_offset in places its not really used The user of the fsl_pcie code doesn't set bus_offset and 82xx doesn't require it either. Remove the places in the code that reference it so we can remove it all together. Signed-off-by: Kumar Gala commit 5229ee185287f4fd0d7809e6554b40ec83a4ba6c Author: Kumar Gala Date: Fri Jun 22 00:29:46 2007 -0500 [POWERPC] Remove hack to determine the 2nd PHBs bus number Now that we have the pci_controller in the exclude function we can easy figure out if the bus number is the PHB or not. The old style of using a variable setup at init time was actually broken and would only work in specific cases. Signed-off-by: Kumar Gala commit 7d52c7b0cd46f42ae2c9df37f1a385d9aaf95842 Author: Kumar Gala Date: Fri Jun 22 00:23:57 2007 -0500 [POWERPC] Pass the pci_controller into pci_exclude_device There are times that we need to know which controller we are on to decide how to exclude devices properly. We now pass the pci_controller that we are going to use down to the pci_exclude_device function. This will greatly simplify being able to exclude the PHBs in multiple controller setups. Signed-off-by: Kumar Gala commit 0e302a704420afe40808fbd4ba149624c4350f31 Author: Kumar Gala Date: Thu Jun 21 11:32:38 2007 -0500 [POWERPC] 52xx: Remove support for PCI bus_offset The hose->bus_offset is only used for PCI config cycles and the 52xx PCI config code doesn't actually ever set bus_offset to a non-zero value. Signed-off-by: Kumar Gala commit 5ab9c4524d7edd6ae3711bdfd03e4a0deb17fc6e Author: Kumar Gala Date: Thu Jun 21 11:22:47 2007 -0500 [POWERPC] Remove set_cfg_type for PCI indirect users that don't need it The Freescale and Marvell PCI controllers dont require explicit setting for type 1 config cycles. They handle producing them by implicitly looking at the bus, devfn. The TSI108 and 52xx don't use the generic PCI indirect code and thus don't bother with set_cfg_type. Signed-off-by: Kumar Gala commit d3c7ffabf0ce31026b2e43490ff694d70c0fbd3a Author: Arnd Bergmann Date: Mon Jun 18 01:06:58 2007 +0200 [POWERPC] disallow building powermac and tsi108 without PCI The TSI108 code and the 32 bit powermac and chrp platforms have dependency on PCI that is not easy or desirable to get rid of. The easiest fix is to always select CONFIG_PCI if one of those platforms is enabled. Signed-off-by: Arnd Bergmann commit d66584086717f6dda76d523ef58363deaa3efe51 Author: Arnd Bergmann Date: Mon Jun 18 01:06:57 2007 +0200 [POWERPC] fix building without PCI Some code looks can be configured to be built without PCI support, but does not work properly. Signed-off-by: Arnd Bergmann commit 3dfaa762b59743719f00f2dc2f559de59f5502f7 Author: Arnd Bergmann Date: Mon Jun 18 01:06:56 2007 +0200 [POWERPC] kill isa_{io,mem}_base definitions for !PCI When CONFIG_PCI is disabled, the definitions for isa_io_base, isa_mem_base and pci_dram_offset are entirely unused, but they can result in link failure because they are defined in multiple places. The easiest fix is to just remove all these definitions. Signed-off-by: Arnd Bergmann commit 143056013fa22eaf1e53e052e9c9f57ef194e5f7 Author: Arnd Bergmann Date: Mon Jun 18 01:06:55 2007 +0200 [POWERPC] mpc82xx_ads build fix needed for 6xx allyesconfig Signed-off-by: Arnd Bergmann commit 09b55f76c9e41ed88f445f64f00ed39b48ed137d Author: Arnd Bergmann Date: Mon Jun 18 01:06:54 2007 +0200 [POWERPC] rename add_bridge to avoid namespace clashes Many platforms currently define their own add_bridge function, some of them globally. This breaks some multiplatform configurations. Prefixing each of these functions with the platform name avoids this problem. Signed-off-by: Arnd Bergmann commit b9fd305db0b4723e70f1a5cf06e4a6949755331c Author: Arnd Bergmann Date: Mon Jun 18 01:06:52 2007 +0200 [POWERPC] move 82xx/83xx/86xx Kconfig options to platform selection The cores used in the MPC82xx/83xx/86xx embedded controllers are very similar to those in the 32 bit general-purpose processors, so it makes sense to treat them as the same CPU family. Choosing between the embedded platforms and the multiplatform code is now done in the platform menu, but functionally everything stays the same. Signed-off-by: Arnd Bergmann commit eff2ebd207af9f501af0ef667a7d14befcb36c1b Author: David Gibson Date: Thu Jun 28 15:56:26 2007 +1000 [POWERPC] In booting-without-of.txt, clarify that properties must precede subnodes A strict reading of the flattened device tree format defined in booting-without-of.txt does in fact require that all the tags defining properties for a node go before any definitions of subnodes, however it's not particularly emphasised. Although allowing intermingled properties and subnodes would not be ambiguous in meaning, the kernel parser does currently require that properties precede subnodes. Furthermore, keeping this constraint makes life easier for various device tree scanning tools. Therefore, re-emphasise in booting-without-of.txt that this is a strict requirement of the flattened device tree format. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit ea1a734ad73478dace97e9712101029f536d10a3 Author: David Gibson Date: Wed Jun 27 16:54:58 2007 +1000 [POWERPC] Abolish unused ucBoardRev variables asm-powerpc/processor.h declares, and arch/ppc/platforms/prep_setup.c defines variables ucBoardRev, ucBoardRevMaj and ucBoardRevMin which are used nowhere in the current kernel (neither in arch/ppc nor arch/powerpc). This removes them. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 084647125227b870267859d544c91c03743816dc Author: David Gibson Date: Wed Jun 27 16:54:58 2007 +1000 [POWERPC] Make more OF-related bootwrapper functions available to non-OF platforms Commit 2e6016133755eb3cc44e8efab92573d23ed75888 split up arch/powerpc/boot/of.c so that some OF functions can be used on platforms that don't want to use the overall OF platform boot code. This is useful on things like PReP which can have an OF implementation which is useful for debugging output, but inadequate for booting. However, that commit didn't export quite enough things to make a usable OF console on a non-OF system. In particular, the device tree manipulation performed to initialize the OF console code must explicitly use the OF device tree, rather than the flattened device tree, even if the system is otherwise booting using a flattened device tree. This makes it so. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 131208c5bb51b794ee73013aeb3396bd015fb79e Author: Michael Ellerman Date: Wed Jun 27 16:02:55 2007 +1000 [POWERPC] Turn off debugging in arch/powerpc/kernel/pci_64.c Commit 3d5134ee8341bffc4f539049abb9e90d469b448d left debugging turned on in arch/powerpc/kernel/pci_64.c. This turns it off again. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 71712b455374a73af042fcfb5002fef5fd25ba44 Author: Tony Breeds Date: Fri Jun 22 16:54:30 2007 +1000 [POWERPC] Move iSeries_tb_recal into its own late_initcall. Currently iSeries will recalibrate the cputime_factors in the first settimeofday() call. It seems the reason for doing this is to ensure a resaonable time delta after time_init(). On current kernels (with udev), this call is made 40-60 seconds into the boot process, by moving it to a late initcall it is called approximately 5 seconds after time_init() is called. This is sufficient to recalibrate the timebase. Signed-off-by: Tony Breeds CC: Stephen Rothwell Signed-off-by: Paul Mackerras commit a5c631b174e23cab773cf422c1f39b28e7224602 Author: Geert Uytterhoeven Date: Fri Jun 22 00:14:22 2007 +1000 [POWERPC] PS3: Storage device registration routines Add support for storage devices to the device probe code. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 80071802cb9c622dbd44bc6ba292f0683891ef44 Author: Geert Uytterhoeven Date: Fri Jun 22 00:14:21 2007 +1000 [POWERPC] PS3: Storage Driver Core Add storage driver core support for the PS3. PS3 storage devices are a special kind of PS3 system bus device. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 32d7331852a07d1f94c6d1b817c7c45648aa0fe7 Author: Geert Uytterhoeven Date: Fri Jun 22 00:14:20 2007 +1000 [POWERPC] PS3: Preallocate bootmem memory for the PS3 FLASH ROM storage driver Preallocate 256 KiB of bootmem memory for the PS3 FLASH ROM storage driver. This can be disabled by passing `ps3flash=off' on the kernel command line. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit e4eb8cf0ae5e6e2d7531a3fc7088f7f638795ca6 Author: Geoff Levand Date: Sat Jun 16 08:07:30 2007 +1000 [POWERPC] PS3: Update ps3_defconfig Update ps3_defconfig. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 32f44a12e0674499c4db09b08da0dfa576a91d84 Author: Geert Uytterhoeven Date: Sat Jun 16 08:07:23 2007 +1000 [POWERPC] PS3: Fix more sparse warnings Fix some PS3 build warnings reported by `make C=1'. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit ae639ac97917929ae4ed752b1abf2adc70dd801c Author: Geoff Levand Date: Sat Jun 16 08:07:16 2007 +1000 [POWERPC] PS3: Select MEMORY_HOTPLUG The PS3 uses the kernel's hotplug memory support, so make sure it is always enabled when building for PS3. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 9065762edf5ac90e312af1f81e03dc2c964d5a86 Author: Geoff Levand Date: Sat Jun 16 08:06:51 2007 +1000 [POWERPC] PS3: Device tree source The PS3 device tree source. Signed-off-by: Geoff Levand Acked-by: Segher Boessenkool Signed-off-by: Paul Mackerras commit 62cf6a9d65cd7ba66f96be25e3e8c5036c3e581e Author: Geoff Levand Date: Sat Jun 16 08:06:44 2007 +1000 [POWERPC] Make kernel_entry_t have global scope in bootwrapper For the convenience of custom platform code make the powerpc bootwrapper typdef kernel_entry_t global in scope. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit b96fbb6e1eb81bb21a8c3462773a0056e12de427 Author: Geoff Levand Date: Sat Jun 16 08:06:40 2007 +1000 [POWERPC] Fix constantness of bootwrapper arg Fixes the constantness of the powerpc bootwrapper's console_ops.write routine. Allows printing of constant strings. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 0aa97d6e420039fc4a6040acdf53e56e0f90c0f5 Author: Geoff Levand Date: Sat Jun 16 08:06:36 2007 +1000 [POWERPC] Add u64 printf to bootwrapper Add support for the 'll' (long long) printf qualifier in the powerpc zImage bootwrapper. This is useful for bootwrapper debugging on 64 bit platforms. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 72d068951ca3f5428a3149a604ea626d93eecffe Author: Geoff Levand Date: Sat Jun 16 08:06:28 2007 +1000 [POWERPC] Add signed types to bootwrapper Add signed types to the powerpc zImage bootwrapper. These are needed by the PS3 hcall interface. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 75423b7ba5eacc0a003b19e51af6a38feeed43ee Author: Geoff Levand Date: Sat Jun 16 08:06:23 2007 +1000 [POWERPC] Correct __secondary_hold comment Remove references to pSeries and OpenFirmware in the __secondary_hold usage comment. __secondary_hold is a generic routine and can be used by other platforms. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 443481050168e98f91737a02b6428c93f1a1c652 Author: Geoff Levand Date: Sat Jun 16 08:06:14 2007 +1000 [POWERPC] Output params value in early_init_devtree Add a printout of the params value to early_init_devtree. This value is handy to have for comparison when debugging the bootwrapper code. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit a354ab8557566e9462ea7af20345f6927e6665b3 Author: Geoff Levand Date: Sat Jun 16 08:06:09 2007 +1000 [POWERPC] PS3: Use clear_bit Replace the inline asm with bitops in the PS3 interrupt chip mask routines. Signed-off-by: Geoff Levand Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit aab835007097122c3a1e7a7dddda0cf89a94cd4e Author: Geoff Levand Date: Sat Jun 16 08:06:04 2007 +1000 [POWERPC] PS3: Rename processor id symbols Rename the PS3 static symbols node to ppe_id and cpu to thread_id to clarify usage. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit ffbdd246478693673adcfe1c34b29714cf25dadd Author: Geoff Levand Date: Sat Jun 16 08:05:53 2007 +1000 [POWERPC] PS3: Device registration routines. Add routines to probe devices present on the system and to register those devices with the LDM. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 9e6b99bd4494dadebb189d2db4d1f55ae726b0bb Author: Geert Uytterhoeven Date: Sat Jun 16 08:05:38 2007 +1000 [POWERPC] PS3: Frame buffer system-bus rework Convert the ps3fb device from a platform device to a PS3 system bus device. Fix the remove and shutdown methods to support kexec and to make ps3fb a loadable module. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 13a5e30cf7407415387b5592b15ef4b352d28283 Author: Geoff Levand Date: Sat Jun 16 08:05:01 2007 +1000 [POWERPC] PS3: Rework AV settings driver Make the PS3 ps3av driver a loadable module. - Replace static data with kmalloc()'ed. o Allocate struct ps3av dynamically, as it contains data used as vuart receive/transmit buffers o Move static recv_buf from ps3av_do_pkt() to struct ps3av - Move ps3av_vuart_{read,write}() from drivers/ps3/ps3av_cmd.c to drivers/ps3/ps3av.c and make them static as they're used in that file only. - Make device a PS3 system-bus device. - Update copyright formatting. - Make two new routines ps3av_register_flip_ctl() and ps3av_flip_ctl() to support late binding of the frame buffer flip control routine. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 66c63b84b23d39ce191a18833b5a769370114ec9 Author: Geoff Levand Date: Sat Jun 16 08:03:54 2007 +1000 [POWERPC] PS3: System manager re-work PS3 sys-manager updates to reflect the new PS3 unifed device support. Fixups to the PS3 sys-manager driver to properly support sys_reboot(). - Add varable request_tag to struct ps3_sys_manager_header. - Move ctrl_alt_del from PS3_SM_EVENT_POWER_RELEASED to PS3_SM_EVENT_POWER_PRESSED. - Make the PS3 sys-manager driver a loadable module. - Add new file sys-manager-core.c. - Add new struct ps3_sys_manager_ops for dynamic binding. - Put data sent to device on stack. - Add support for PS3_SM_SERVICE_ID_REQUEST_ERROR. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 7626e78d29651d3075e88f233c0632867ea6a35c Author: Geoff Levand Date: Sat Jun 16 08:01:06 2007 +1000 [POWERPC] PS3: Vuart rework PS3 vuart updates to reflect the new PS3 unified device support. - Move vuart devices to the PS3 system bus. - Replace use of ps3_vuart_port_device with ps3_system_bus_device. - Make the PS3 vuart bus driver a loadable module. - Add remove() and shutdown() routines. - Move ps3_vuart_work into ps3_vuart_port_priv.tx_list. - Remove redundant spinlock ps3_vuart_work.lock. - No longer free ps3_vuart_port_device.priv on shutdown. - Cleanup Kconfig defs. - Export symbols needed for modular port drivers. - Arrange to use port numbers found in repository. - Fix bugs in ps3_vuart_read_async() and polled reading - Cleanup handling of shared interrupt with ps3_vuart_bus_interrupt_get() and ps3_vuart_bus_interrupt_put() - Add more comments to vuart.c. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit a3323d1a52ec5b70821590e4beaaf13c466fd396 Author: Geoff Levand Date: Sat Jun 16 07:55:58 2007 +1000 [POWERPC] PS3: Repository probe cleanups Repository updates: - Extract ps3_repository_find_bus() from ps3_repository_find_device(), as the storage driver needs it. - Make ps3_repository_find_device() return -ENODEV if a device is not found, just like if a bus is not found. - Add ps3_repository_read_vuart_sysmgr_port() and ps3_repository_read_vuart_av_port() to get vuart port info. - Add device enumeration routines ps3_repository_find_device() and ps3_repository_find_devices(). - Cleanup debug routines. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 6758555da6a171d3f21ce36c0e12a2b8cff7ca9d Author: David Woodhouse Date: Sat Jun 16 07:55:20 2007 +1000 [POWERPC] PS3: System-bus modinfo attribute Add modinfo attribute to ps3_system_bus devices. Also make them all children of the same ps3_system_bus 'device' so they appear in a corresponding subdirectory under /sys/devices. Signed-off-by: David Woodhouse Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 688b3378da9c3485630d4b0356d09bc2e69bb0bd Author: David Woodhouse Date: Sat Jun 16 07:55:14 2007 +1000 [POWERPC] PS3: System-bus uevent To allow userspace to automatically load modules, we need to hook up uevent for ps3_system_bus devices. I've used the form 'ps3:%d' with the ps3_match_id, since that's what we use for matching drivers. Signed-off-by: David Woodhouse Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 6bb5cf1025414fe00b20f3bef56135849e4ed3b8 Author: Geoff Levand Date: Sat Jun 16 07:52:02 2007 +1000 [POWERPC] PS3: System-bus rework Rework the PS3 system bus to unify device support. - DMA region sizes must be a power of two - storage bus DMA updates: - Small fixes for the PS3 DMA core: o fix alignment bug o kill superfluous test o indentation o spelling o export ps3_dma_region_{create,free}() - ps3_dma_region_init(): o Add `addr' and `len' parameters, so you can create a DMA region that does not cover all memory (use `NULL' and `0' to cover all memory). This is needed because there are not sufficient IOMMU resources to have all DMA regions cover all memory. o Uninline - Added remove and shutdown routines to all drivers. - Added loadable module support to all drivers. - Added HV calls for iopte management (needed by sound driver). Signed-off-by: MOKUNO Masakazu Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 9263e85aa9e9d341ef238fffc040f586674d1709 Author: Geoff Levand Date: Sat Jun 16 07:19:32 2007 +1000 [POWERPC] PS3: Kexec support Fixup the core platform parts needed for kexec to work on the PS3. - Setup ps3_hpte_clear correctly. - Mask interrupts on irq removal. - Release all hypervisor resources. - Create new routine ps3_shutdown_IRQ() Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 83bb643d0714b0006ab99dbd195ec51b55a97f4e Author: Geert Uytterhoeven Date: Sat Jun 16 07:19:23 2007 +1000 [POWERPC] PS3: Simplify definition of DBG Simplify the PS3 definition of DBG. Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 743c1bb074c78cb467e42a18853c22e9cf1cd0ba Author: Geoff Levand Date: Sat Jun 16 07:19:18 2007 +1000 [POWERPC] PS3: Move chip mask defs up This just moves the definitions of the PS3 chip_mask routines up above the irq setup routines. This change is needed for the kexec updates that follow. Also adds some inline documentation to the routines. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit dc23fba7063867ed745cb6f0bd27a0dc5f558dbc Author: Masashi Kimoto Date: Sat Jun 16 07:19:10 2007 +1000 [POWERPC] PS3: Add support for HDMI RGB Full Range mode Add support for HDMI RGB Full Range mode, which is available on system software 1.80 or newer. CC: Masashi Kimoto Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 670ad354cb6d6d0f5c3fb17e9f1fb67fb32e02e6 Author: Geert Uytterhoeven Date: Sat Jun 16 07:19:04 2007 +1000 [POWERPC] PS3: Fix sparse warnings Fix some PS3 build warnings reported by `make C=1'. You need to install sparse: git://git.kernel.org/pub/scm/devel/sparse/sparse.git Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 53f7c5453dfd3ba66a2d80bd2fda98a2438c3dc0 Author: Geoff Levand Date: Sat Jun 16 07:18:56 2007 +1000 [POWERPC] PS3: Map SPU regions as non-guarded Use ioremap_flags() to map SPU regions as non-guarded. Change the use of _ioremap() to ioremap_flags(). CC: Arnd Bergmann CC: Masato Noguchi CC: Takao Shinohara Signed-off-by: Geert Uytterhoeven Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 1322810c14c4b5126e731db2e1764b2e957a9b19 Author: Masakazu Mokuno Date: Sat Jun 16 07:18:48 2007 +1000 [POWERPC] PS3: Compare firmware version Add a utility routine ps3_compare_firmware_version() to compare system firmware versions. Uses the existing ps3_get_firmware_version() routine. Signed-off-by: Masakazu Mokuno Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 848cfdc5c1cd2163ba0c9a6490d9adcb7a7c3518 Author: Geoff Levand Date: Sat Jun 16 07:18:14 2007 +1000 [POWERPC] PS3: Use __maybe_unused Change the PS3 debug routines from using the GCC specific '__attribute__ ((unused))' to the preprocessor macro __maybe_unused. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 7961f20c09af4524266a808fed3695c4dcc98e59 Author: Geoff Levand Date: Sat Jun 16 07:17:42 2007 +1000 [POWERPC] PS3: Rename IPI symbols Rename the PS3 static symbol virqs to ps3_ipi_virqs to aid in debugging. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 6deac06612d2935b917550db2bc8a8b3f7c7aeb5 Author: Geoff Levand Date: Sat Jun 16 07:17:32 2007 +1000 [POWERPC] cell: Add spu shutdown method Add a shutdown method to spu_sysdev_class to allow proper spu resource cleanup on system shutdown. This is needed to support kexec on the PS3 platform. Signed-off-by: Arnd Bergmann Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 33874a002d4fdd34e35e8265f9b2e0582385f744 Author: FUJITA Tomonori Date: Tue May 22 13:50:51 2007 +0900 [SCSI] ibmvscsi: fix timeout bugs The viosrp_crq timeout field is in seconds. Signed-off-by: FUJITA Tomonori Cc: Santiago Leon Signed-off-by: James Bottomley commit b7abc5c53e3c65b8e931bd96db2d08ba670e111a Author: Sachin P. Sant Date: Thu Jun 14 15:31:34 2007 +1000 [POWERPC] Fix Kexec/Kdump for power6 On Power machines supporting VRMA, Kexec/Kdump does not work. VRMA (virtual real-mode area) means that accesses with IR/DR = 0 (i.e. the MMU "off") actually still go through the hash table, using entries put there by the hypervisor. This means that when we clear out the hash table on kexec, we need to make sure these entries are left untouched. This also adds plpar_pte_read_raw() on the lines of plpar_pte_remove_raw(). Signed-off-by : Sachin Sant Signed-off-by : Mohan Kumar M Acked-by: Benjamin Herrenschmidt Acked-by: Olof Johansson Signed-off-by: Paul Mackerras commit 7ccb4a662462616f6be5053e26b79580e02f1529 Author: Mohan Kumar M Date: Wed Jun 13 00:51:57 2007 +1000 [POWERPC] Fix interrupt distribution in ppc970 In some of the PPC970 based systems, interrupt would be distributed to offline cpus also even when booted with "maxcpus=1". So check whether cpu online map and cpu present map are equal or not. If they are equal default_distrib_server is used as interrupt server otherwise boot cpu (default_server) used as interrupt server. In addition to this, if an interrupt is assigned to a specific cpu (ie smp affinity) and if that cpu is not online, the earlier code used to return the default_distrib_server as interrupt server. This introduces an additional parameter to the get_irq function, called strict_check. Based on this parameter, if the cpu is not online either default_distrib_server or -1 is returned. Signed-off-by: Mohan Kumar M Cc: Michael Ellerman Acked-by: Milton Miller Signed-off-by: Paul Mackerras commit 5a26f6bbb767d7ad23311a1e81cfdd2bebefb855 Author: Michael Neuling Date: Fri Jun 8 14:00:35 2007 +1000 [POWERPC] Do firmware feature fixups after features are initialised On pSeries the firmware features are not setup until ppc_md.init_early, so we can't do the firmware feature sections fixups till after this. Currently firmware feature sections is only used on iSeries which inits the firmware features much earlier. This is a bug in waiting on pSeries. Signed-off-by: Michael Neuling Signed-off-by: Paul Mackerras commit 4cefebb1b497a84d61f2fa29d497df75a84b69d4 Author: Michael Neuling Date: Fri Jun 8 13:18:50 2007 +1000 [POWERPC] Fix stolen time for SMT without LPAR For POWERPC, stolen time accounts for cycles lost to the hypervisor or PURR cycles attributed to the other SMT thread. Hence, when a PURR is available, we should still calculate stolen time, irrespective of being virtualised. Signed-off-by: Michael Neuling Signed-off-by: Paul Mackerras commit bb807e69c9eec271808cf69d19913d7ee1a51f6f Author: Mark A. Greer Date: Thu Jun 7 10:42:28 2007 +1000 [POWERPC] Remove 'console=' from cmdline on prpmc2800 Specifying 'console=ttyMM0' on the cmdline for the prmpc2800 is no longer necessary. Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit 542c98c06712fdbbbfe6b9e92a8d0023cf45102a Author: Mark A. Greer Date: Thu Jun 7 10:38:00 2007 +1000 [POWERPC] Call add_preferred_console when MPSC is console When a Marvell MPSC (serial controller) port is the specified /chosen/stdout-path device, call 'add_preferred_console()' so the user doesn't have to specify a 'console=ttyMMx' cmdline argument. Signed-off-by: Mark A. Greer Acked-by: Dale Farnsworth Signed-off-by: Paul Mackerras commit e3855fa5540617877907ca61c36d28e18d0f2473 Author: Michael Ellerman Date: Mon Jun 4 23:00:02 2007 +1000 [POWERPC] Add for_each_compatible_node() Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit ee51de5645edee4124db6a479d2e135ebe436748 Author: Michael Ellerman Date: Mon Jun 4 23:00:00 2007 +1000 [POWERPC] Add irq_create_direct_mapping() This patch adds irq_create_direct_mapping(). This routine is an alternative to irq_create_mapping(), for irq controllers that can use linux virq numbers directly as hardware numbers. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 6fde40f3f1a9641ea0a41471cea77f34c0cbb36f Author: Michael Ellerman Date: Mon Jun 4 22:59:59 2007 +1000 [POWERPC] Split virq setup logic out into irq_setup_virq() A future patch will need the logic at the end of irq_create_mapping() which setups a virq and installs it in the irq_map. So split it out into a new function irq_setup_virq(). Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 35923f12e42a3baf4ac6da7c05cf5f7478e5a7c6 Author: Olof Johansson Date: Mon Jun 4 14:47:04 2007 +1000 [POWERPC] Uninline and export virq_to_hw() Uninline virq_to_hw and export it so modules can use it. The alternative would be to export the irq_map array instead, but it's an infrequently called function, and keeping the array unexported seems considerably cleaner. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit b0e80206cc42334032f18edee0ab591b0f275e12 Author: Mark A. Greer Date: Fri Jun 1 05:56:15 2007 +1000 [POWERPC] Update holly to use new dts wrapping feature The holly support currently has separate rules to wrap its device tree with its zImage. This can now be done automatically without the extra rules so update holly support to use the automatic feature. Signed-off-by: Mark A. Greer Acked-by: David Gibson Signed-off-by: Paul Mackerras commit a00cec48ccda0f2b550ad4082d6e95c7cc232925 Author: Mark A. Greer Date: Fri Jun 1 05:55:35 2007 +1000 [POWERPC] When appropriate, wrap device tree with zImage There are 2 config options that indicate whether the platform being built has a device tree source file associated with it. Namely, CONFIG_WANT_DEVICE_TREE and CONFIG_DEVICE_TREE. When CONFIG_WANT_DEVICE_TREE is 'y' and CONFIG_DEVICE_TREE isn't an empty string, automatically wrap the specified device tree with the zImage being built. To achieve this, the 'dts' variable will only be set when the conditions above are true. The changes to the zImage.initrd.% and zImage.% rules cause the device tree to be wrapped when 'dts' is set; otherwise, they will work as they previosly did (i.e., build a zImage with no device tree). Signed-off-by: Mark A. Greer Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 941b7adf347dc3e6e2bf87b2af1ef8a42b617a63 Author: Mark A. Greer Date: Fri Jun 1 05:54:39 2007 +1000 [POWERPC] Remove 'make zImage.dts' feature Being able to selectively wrap a device tree with the zIimage at build time has been deemed unnecessary, so this removes Makefile support for that feature. Signed-off-by: Mark A. Greer Acked-by: David Gibson Signed-off-by: Paul Mackerras commit df211c8a478e16232ebbc16e650b19163183fcb6 Author: Nathan Lynch Date: Wed May 23 10:51:25 2007 +1000 [POWERPC] Remove spinlock from struct cpu_purr_data cpu_purr_data is a per-cpu array used to account for stolen time on partitioned systems. It used to be the case that cpus accessed each others' cpu_purr_data, so each entry was protected by a spinlock. However, the code was reworked ("Simplify stolen time calculation") with the result that each cpu accesses its own cpu_purr_data and not those of other cpus. This means we can get rid of the spinlock as long as we're careful to disable interrupts when accessing cpu_purr_data in process context. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 1a06e0fe96526e43bab90fbab2263b55fb3d45d1 Author: Guennadi Liakhovetski Date: Thu May 17 18:56:32 2007 +1000 [POWERPC] Don't link timer.o for powerpc systems using generic rtc With both generic rtc and powerpc timer suspend / resume code now in the (powerpc.git) tree, powerpc platforms using the generic timer and enabling power management will have timer.o linked in the kernel, which they don't need. Moreover, it will likely WARN_ON(!ppc_md.get_rtc_time), save zero-time and return no error on suspend... As a possible solution we can choose not to build timer.o when RTC_CLASS is enabled. However, I can imagine systems with 2 rtc's, one served by the ppc-rtc, another one generic built as a module, in which case using the ppc-rtc for suspend / resume will be impossible. Not to say, that such a configuration would be ugly... Signed-off-by: G. Liakhovetski Signed-off-by: Paul Mackerras commit 8fa336d889caa72637e0860f53fa40ef66dcceaf Author: Olof Johansson Date: Sun May 13 00:50:41 2007 +1000 [POWERPC] pasemi: Electra IDE/pata_platform glue Glue code to hook up the pata_platform on the PA Semi Electra eval board. CFE sets up device tree entries for the IDE interface, with device type 'ide' and compatible field 'electra-ide'. We unfortunately need to modify the resources before calling the generic platform driver, since the device tree only has one register window in it and the driver expects two. Adding this as an of_platform driver instead doesn't give us any benefit, it just adds one more layer of register/probe functions. Since CONFIG_PATA_PLATFORM depends on CONFIG_EMBEDDED, add that as a default for PPC_PASEMI. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit 0c358e70762861f8d479f3fa8bec358c599ba04a Author: Johannes Berg Date: Thu May 3 00:25:42 2007 +1000 [POWERPC] Use mktime in timer sysdev This makes the timer sysdev use mktime instead of rtc_tm_to_time, since rtc_tm_to_time just calls mktime anyway, and this means we don't have a dependency on rtc-lib. Signed-off-by: Johannes Berg Signed-off-by: Paul Mackerras commit ee46a90b599952bb1a9dc67f894710017e7cc409 Author: Milton Miller Date: Wed Apr 11 18:32:17 2007 +1000 [POWERPC] kexec: Send slaves to new kernel earlier With this, when kexec-ing, we copy the code and start the slaves on their journey to the next kernel's spin loop as soon as we copy the kexec image into place. The kernel doesn't know exactly which slaves are spinning in kexec_wait. This allows us to pass more than max-cpus to the next kernel. But it also means that we might leave some behind. Moving the code here means they have the time it takes us to clear the hash table to wake up and move on. Moving the code any earlier would reuqire walking the image description to search for the code, which could span multiple pages. Signed-off-by: Milton Miller Signed-off-by: Paul Mackerras commit 58a7295bc8073b9e668c329cb9ceb5b668c2b15d Author: Tobias Klauser Date: Thu Jun 14 00:28:15 2007 +0200 [CPUFREQ] Fix sysfs_create_file return value handling Commit 0a4b2ccc555fa2ca6873d60219047104e4805d45 in cpufreq.git eliminates the build warnings but does not pass on the error code of sysfs_create_file to the function calling cpufreq_add_dev. Instead some previous value of ret would be returned. Signed-off-by: Tobias Klauser Signed-off-by: Dave Jones commit ea48761519bd40d7a881c587b5f3177664b2987e Author: Venki Pallipadi Date: Wed Jun 20 14:26:24 2007 -0700 [CPUFREQ] ondemand: fix tickless accounting and software coordination bug With tickless kernel and software coordination os P-states, ondemand can look at wrong idle statistics. This can happen when ondemand sampling is happening on CPU 0 and due to software coordination sampling also looks at utilization of CPU 1. If CPU 1 is in tickless state at that moment, its idle statistics will not be uptodate and CPU 0 thinks CPU 1 is idle for less amount of time than it actually is. This can be resolved by looking at all the busy times of CPUs, which is accurate, even with tickless, and use that to determine idle time in a round about way (total time - busy time). Thanks to Arjan for originally reporting the ondemand bug on Lenovo T61. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit 0af99b13c9f323e658b4f1d69a1ccae7d6f3f80a Author: Venki Pallipadi Date: Wed Jun 20 14:24:52 2007 -0700 [CPUFREQ] ondemand: add a check to avoid negative load calculation Due to rounding and inexact jiffy accounting, idle_ticks can sometimes be higher than total_ticks. Make sure those cases are handled as zero load case. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit c7f652e0487a35c16f6cd72707232b6a28647a10 Author: Venki Pallipadi Date: Wed Jun 20 14:24:00 2007 -0700 [CPUFREQ] Keep userspace governor quiet when it is not being used Userspace governor registers a frequency change notifier at init time, even when no CPU is set to userspace governor. Make it register only when atleast one CPU is using userspace. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit 689eba77cbd0cfaaa3687cbe23e8b534f8ae0ebb Author: Rafał Bilski Date: Thu Jun 7 22:31:24 2007 +0200 [CPUFREQ] Longhaul - Proper register access In previous commit I used u32 for u16 register. This code will work only when ACPI block address is set. For now it is only for VT8235 and VT8237. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 669b792c77bbc30e9f4d9c95dbc918dc348c49c2 Author: Robin Getz Date: Thu Jun 21 16:34:08 2007 +0800 Blackfin arch: Clean up trace buffer handling, No major functional changes. Turns on trace earlier, so crashes at kernel start should print out a trace, making things easier to debug. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 29440a2b4cd37e32dfe0fa60ef1665775b24dab1 Author: Bernd Schmidt Date: Thu Jul 12 16:25:29 2007 +0800 Blackfin arch: Start untangling the CPLB handling code. - Move cache initialization to C from assembly. - Move anomaly workaround for writing [ID]MEM_CONTROL to assembly, so that we don't have to mess around with .align directives in C source. - Fix a bug where bfin_write_DMEM_CONTROL would write to IMEM_CONTROL - Break out CPLB related code from kernel/setup.c into their own file. - Don't define variables in header files, only declare them. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 474f1a667d4bd40b6dcacc6870b70f4d2ba4e155 Author: Sonic Zhang Date: Fri Jun 29 16:35:17 2007 +0800 Blackfin arch: kgdb specific code Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 1c5d2265a82f8d3fa0471a60ca98072b3c53c299 Author: Michael Hennerich Date: Thu Jun 21 11:34:16 2007 +0800 Blackfin arch: add missing implementations SIC_IWR crosses several registers SIC_IWR crosses several registers - add missing implementations - make sure SIC_IWR is SET after boot Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit f8ffe652a01506e85e2dd579c58e50a3ba391921 Author: Mike Frysinger Date: Thu Jun 21 11:34:16 2007 +0800 Blackfin arch: need to rename function after moving to match new internal dma API Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 7adfb58fbd0a27469d26536f99b66391c4c8e2a0 Author: Bernd Schmidt Date: Thu Jun 21 11:34:16 2007 +0800 Blackfin arch: defines and provides entry points for certain user space functions at fixed addresses This patch defines (and provides) entry points for certain user space functions at fixed addresses. The Blackfin has no usable atomic instructions, but we can ensure that these code sequences appear atomic from a user space point of view by detecting when we're in the process of executing them during the interrupt handler return path. This allows much more efficient pthread lock implementations than the bfin_spinlock syscall we're currently using. Also provided is a small sys_rt_sigreturn stub which can be used by the signal handler setup code. The signal.c part will be committed separately. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu commit 0ba9e350a2c129ce2878d415cf51e88611cbc0e5 Author: Mike Frysinger Date: Mon Jul 2 13:47:45 2007 +0800 Blackfin arch: new kernel config for BF548-EZKIT Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 24a07a124198153540f8f43d9e91d16227aba66e Author: Roy Huang Date: Thu Jul 12 22:41:45 2007 +0800 Blackfin arch: initial supporting for BF548-EZKIT The ADSP-BF54x was specifically designed to meet the needs of convergent multimedia applications where system performance and cost are essential ingredients. The integration of multimedia, human interface, and connectivity peripherals combined with increased system bandwidth and on-chip memory provides customers a platform to design the most demanding applications. Since now, ADSP-BF54x will be supported in the Linux kernel and bunch of related drivers such as USB OTG, ATAPI, NAND flash controller, LCD framebuffer, sound, touch screen will be submitted later. Please enjoy the show. Signed-off-by: Roy Huang Signed-off-by: Bryan Wu commit 088eec1192a0ae60fc218796027e622008af36c0 Author: Roy Huang Date: Thu Jun 21 11:34:16 2007 +0800 Blackfin arch: Add header files for BF548 Signed-off-by: Roy Huang Signed-off-by: Bryan Wu commit 70876facfa9bb6596e4c09e9ed6b8f26d0bcba51 Merge: b2309d6... 2b1bd1a... Author: Paul Mundt Date: Wed Jun 20 18:29:27 2007 +0900 Merge branch 'x3' commit 2b1bd1ac5d4bffe3fd542bfe1784a583bd7df4fa Author: Paul Mundt Date: Wed Jun 20 18:27:10 2007 +0900 sh: Preliminary support for the SH-X3 CPU. This adds basic support for UP SH-X3. Signed-off-by: Paul Mundt commit 027e56e68543780870fda74360ca45e392c50e1c Author: Paul Mundt Date: Wed Jun 20 18:23:49 2007 +0900 sh: Hook up hard_smp_processor_id() for INTC2 block. We need to know the CPU ID in order to calculate the mask and ack registers effectively. Stub this in for UP. Signed-off-by: Paul Mundt commit b2309d684078f2be1d5db6ceabc99c51f9af3b6b Author: Paul Mundt Date: Wed Jun 20 18:09:10 2007 +0900 sh: Update se7722 defconfig. Hook up the multi-node stuff for the SE7722. Signed-off-by: Paul Mundt commit 824e55f95f871d492cd095d7694df3cfcad1f8f5 Author: Paul Mundt Date: Wed Jun 20 18:01:52 2007 +0900 sh: Fix up cf-enabler dependency for SE boards. This was using CONFIG_SH_SOLUTION_ENGINE, where we really wanted CONFIG_SOLUTION_ENGINE. While we're at it, move the whole CF enabler mess somewhere better suited. Signed-off-by: Paul Mundt commit 24f02e1d819ad91de46ad3a636cd3f2bf11c720f Author: Salyzyn, Mark Date: Tue Jun 19 16:29:24 2007 -0400 [SCSI] aacraid: add support for long serial number information Support displaying long serial number information. Reuse sysfs handler internally as helper. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit b27e66df78a9d8d43c05a6a5777ef45f2e238951 Author: Salyzyn, Mark Date: Tue Jun 19 16:05:12 2007 -0400 [SCSI] aacraid: correct PERC2/QC and family match quirk list The Dell PERC2/QC erroneously was listed as having the 31 bit limit quirk on the interface allocations, removing the reference to repair this oversight. Also, the 2 quad pci address (family) match catch-all also retained the 31 bit limit and the 34 SG limit quirks in a paranoid move. Now, many years later, we find that none of the Adapters that did trigger with the family match had such quirks; these quirks are all limited to the 4 quad pci address matches to select legacy adapters already populated. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 760af100d7cdf62d0929b11929465e4cfc694c5c Author: Salyzyn, Mark Date: Tue Jun 19 11:41:21 2007 -0400 [SCSI] aacraid: change srb status busy return This patch is more like a spelling correction than a fix. It was discovered that if we had a busy status return from the Adapter for the SCSI srb command to a physical component, that we returned DID_NO_CONNECT rather than what one would expect DID_BUS_BUSY. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 96249cf9847da57a147b30dfed88fe585d578970 Author: Geert Uytterhoeven Date: Tue Jun 19 09:47:28 2007 +0200 [SCSI] 53c700: Fixup m68k drivers: - a4000t.c: Add missing include, needed in some configurations - bvme6000_scsi.c: Kill bogus opening brace - zorro7xx.c: Remove MODULE_DEVICE_TABLE, it should be part of another patch Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit 4a904a65fab83bcdd6b00470ac6c4aa80518e6a9 Author: Guennadi Liakhovetski Date: Sun Jun 17 20:32:27 2007 +0200 [SCSI] tmscsim: clean-up status codes Remove redundant defines from the header, replace all occurances in the code with standard SAM_STAT_ macros. Also fix what seems to be a typo in testing for (status == H_OVER_UNDER_RUN)... Signed-off-by: G. Liakhovetski Signed-off-by: James Bottomley commit 462b7859a07c9c2b060fa2b5b1d49f8b33706d4e Author: Christof Schmitt Date: Tue Jun 19 10:25:30 2007 +0200 [SCSI] zfcp: Report FCP LUN to SCSI midlayer When reporting SCSI devices to the SCSI midlayer, use the FCP LUN as LUN reported to the SCSI layer. With this approach, zfcp does not have to create unique LUNS, and this code can be removed. Signed-off-by: Christof Schmitt Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit c7f6b3a39967b0f28d0e507866840f82e4354a23 Author: Volker Sameske Date: Tue May 29 15:29:49 2007 +0200 [SCSI] zfcp: clear adapter status flags during adapter shutdown In some cases we did not reset some adapter status flags properly. This patch clears these flags during FCP adapter shutdown. Signed-off-by: Volker Sameske Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit da9c0c770e775e655e3f77c96d91ee557b117adb Author: FUJITA Tomonori Date: Fri Jun 1 18:56:21 2007 +0900 [SCSI] iscsi_iser: convert to use the data buffer accessors iscsi_iser: 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. TODO: use scsi_for_each_sg(). Signed-off-by: FUJITA Tomonori Acked-by: Erez Zilber Signed-off-by: James Bottomley commit 0630e45c887b3d3d8d6ad27af03ec4054926d635 Author: Paul Mundt Date: Mon Jun 18 19:02:47 2007 +0900 sh: Check oops_may_print() in unhandled fault. Only print out pgd/pte data in the oops path if oops_may_print() holds true. Follows the i386 implementation. Signed-off-by: Paul Mundt commit fc1d4c9c3761ca8db52b647c6a4ba50771900a12 Author: Kaz Kojima Date: Mon Jun 18 13:58:32 2007 +0900 sh: Fix up futex implementation. SH is able to support a complete futex implementation on UP by way of gUSA. However, IRQ toggling must be done for the old CPUs that don't have movli.l/movco.l (LL/SC) instructions. Provide a default implementation that does this, so it's possible to optimize for newer CPUs. Follows the same scheme as the current asm-sh/atomic-*.h headers. Signed-off-by: Kaz Kojima Signed-off-by: Paul Mundt commit 40fc79eb0223eccf44ed2e90fb11b9a08bcc7e09 Author: James Smart Date: Sun Jun 17 19:56:39 2007 -0500 [SCSI] lpfc: update to version 8.2.1 This patch updates the driver version to 8.2.1 Signed-off-by: James Smart Signed-off-by: James Bottomley commit a0b4f78f9a4c869e9b29f254054ad7441cb40bbf Author: FUJITA Tomonori Date: Sun Jun 17 19:56:39 2007 -0500 [SCSI] lpfc: convert to use the data buffer accessors This patch is a reworked version of the data buffer accessors patch so that it applies on the NPIV sources. The original patch was developed and submitted by Fujita Tomonori: FUJITA Tomonori http://marc.info/?l=linux-scsi&m=117896446832171&w=2 - remove the unnecessary map_single path. - convert to use the new accessors for the sg lists and the parameters. Signed-off-by: FUJITA Tomonori Signed-off-by: James Smart Signed-off-by: James Bottomley commit 858c9f6c19c6f9bf86cbbc64ce0d17c61d6131b8 Author: James Smart Date: Sun Jun 17 19:56:39 2007 -0500 [SCSI] lpfc: bug fixes Following the NPIV support, the following changes have been accumulated in the testing and qualification of the driver: - Fix affinity of ELS ring to slow/deferred event processing - Fix Ring attention masks - Defer dev_loss_tmo timeout handling to worker thread - Consolidate link down error classification for better error checking - Remove unused/deprecated nlp_initiator_tmr timer - Fix for async scan - move adapter init code back into pci_probe_one context. Fix async scan interfaces. - Expand validation of ability to create vports - Extract VPI resource cnt from firmware - Tuning of Login/Reject policies to better deal with overwhelmned targets - Misc ELS and discovery fixes - Export the npiv_enable attribute to sysfs - Mailbox handling fix - Add debugfs support - A few other small misc fixes: - wrong return values, double-frees, bad locking - Added adapter failure heartbeat Signed-off-by: James Smart Signed-off-by: James Bottomley commit 92d7f7b0cde3ad2260e7462b40867b57efd49851 Author: James Smart Date: Sun Jun 17 19:56:38 2007 -0500 [SCSI] lpfc: NPIV: add NPIV support on top of SLI-3 NPIV support is added to the driver. It utilizes the interfaces of the fc transport for the creation and deletion of vports. Within the driver, a new Scsi_Host is created for each NPIV instance, and is paired with a new instance of a FC port. This allows N FC Port elements to share a single Adapter. Signed-off-by: James Smart Signed-off-by: James Bottomley commit ed957684294618602b48f1950b0c9bbcb036583f Author: James Smart Date: Sun Jun 17 19:56:37 2007 -0500 [SCSI] lpfc: NPIV: add SLI-3 interface NPIV support is only available via new adapter interface extensions, termed SLI-3. This interface changes some of the basic behaviors such as command and response ring element sizes and data structures, as well as a change in buffer posting. Note: the new firmware extensions are found only on our mid-range and enterprise 4Gig adapters - so NPIV support is available only on these newer adapters. The latest firmware can be downloaded from the Emulex support page. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 2e0fef85e098f6794956b8b80b111179fbb4cbb7 Author: James Smart Date: Sun Jun 17 19:56:36 2007 -0500 [SCSI] lpfc: NPIV: split ports The driver is reorganized to separate the handling of the adapter from the handling of the FC port. Adapter handling includes submissions of command requests, receiving responses, and managing adapter resources. The FC port includes the discovery engine, login handling, and the mapping of a Scsi_Host on the "port". Although not a large functional change, as it touches core structures and functions, resulting in a large text delta. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 4c2baaaf2ba4875d1d2d59b3b3e1216d3277b17a Author: FUJITA Tomonori Date: Sat May 26 04:51:32 2007 +0900 [SCSI] esp_scsi: 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 Cc: David Miller Signed-off-by: James Bottomley commit f98754960a9b25057ad5f249f877b3d6fab889ce Author: FUJITA Tomonori Date: Mon May 14 20:25:31 2007 +0900 [SCSI] hptiop: 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. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Acked-by: HighPoint Linux Team Signed-off-by: James Bottomley commit 45804fbb00eea27bdf4d62751681228a9e2844e9 Author: Kars de Jong Date: Sun Jun 17 14:47:09 2007 +0200 [SCSI] 53c700: Amiga Zorro NCR53c710 SCSI New driver for Amiga Zorro bus NCR53c710 SCSI controllers, using the 53c700 SCSI core. Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit a16efc1cbf0a9e5ea9f99ae98fb774b60d05c35b Author: Kars de Jong Date: Sun Jun 17 14:47:08 2007 +0200 [SCSI] 53c700: Amiga 4000T NCR53c710 SCSI New driver for the Amiga 4000T built-in NCR53c710 SCSI controller, using the 53c700 SCSI core. Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit 506c7bbcd9bc042a782bdcdb0c926de4c9d62028 Author: Kars de Jong Date: Sun Jun 17 14:47:07 2007 +0200 [SCSI] 53c700: m68k MVME16x NCR53C710 SCSI New driver for the MVME16x NCR53C710 SCSI controller, using the 53c700 SCSI core. Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit 8276b58af4dd1c406aa5fe0fa010a6fc92283cb1 Author: Kars de Jong Date: Sun Jun 17 14:47:06 2007 +0200 [SCSI] 53c700: m68k BVME6000 NCR53C710 SCSI New driver for the BVME6000 NCR53C710 SCSI controller, using the 53c700 SCSI core. Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit 632731345bfb87fd1f4dc509928cc4a7efc12a89 Author: Kars de Jong Date: Sun Jun 17 14:47:05 2007 +0200 [SCSI] 53c700: m68k support for the 53c700 SCSI core Add m68k support to the 53c700 SCSI driver Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit cc78d30af0823f33069fb4813c47571d4e0675a2 Author: Eric Moore Date: Fri Jun 15 17:27:21 2007 -0600 [SCSI] mpt fusion: fix for mounted raid volume filesytem that goes read-only If there is IO going to the volume while a hidden disk is being torn down, there is a case where we would return a DID_NO_CONNECT for IO sent to the volume. The end result is the volume goes read-only. This problem is due to the fact the firmware mapped target ids saved in per device object is phys_disk_num for hidden raid components, and target_id for the volume. There is a single case when both phys_disk_num and target_id are equal, so enters this issue. We fix this issue by checking the tflags when the device is torned down, insuring the IO being completed is meant for hidden raid component, not the volume. In addition to this fix, there are a couple other cases to address hidden raid components. For instance task_abort and device reset are not supported by mpt fw for hidden raid components, a bus reset would be required or target reset to volume. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 958d4a32077f1d7d863e67f40f81c577c3c0c037 Author: Eric Moore Date: Fri Jun 15 17:24:14 2007 -0600 [SCSI] mpt fusion: cleanup eh handlers nice cosmetic cleaning of eh thread callback funtions Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 4023c4747861e8c56f46e5fa50bd4feb63fc91fc Author: Alan Cox Date: Fri Jun 15 14:45:30 2007 +0100 [SCSI] a100u2w: Convert into Linux style I was investigating strange driver behaviour and thought that readable code and proper visible types might help explain why it didn't work right the moment a second SCB was outstanding to the controller. I was right - Cleanup, linuxise, demacro - Remove the BSD dual licence on the new work - Switch the if ALPHA to if __LP64__. (struct size is then right elsewhere) and then to CONFIG_64BIT as per Christoph's request - Fix the recursive locking on a reset. This is the only actual real code change (I hope ;)). I'm not clear what the right way to handle the BIOS param stuff is on n on x86-32/64. Using phys_to_virt and stuff is ugly and probably doesn't make sense elsewhere Still has a couple of odd things - and there seems to be a commonly shared EEPROM handling error several drivers have. Roughly speaking several SCSI drivers go try and read EEPROM It failed.. Write any changes between the default and the data we read Which is great as for some paths we've no idea what was in before, so each boot won't write it all back, won't checksum but will repeat the bug Also it can still sleep for a second with IRQ off, and there is some dubious looking error path locking marked FIXME in case anyone feels inspired to work on it. Not a newly introduced bug, and at least its now marked. Signed-off-by: Alan Cox Signed-off-by: James Bottomley commit 0d2fcd9f9858a34f7056b3b1cb60ce0f883d06b6 Author: Hannes Reinecke Date: Thu Jun 14 15:16:45 2007 +0200 [SCSI] fc_transport: Check portstates before invoking target scan When a target scan is initiated from sysfs, we should check the portstate prior to invoke scsi_scan_target(). Otherwise scsi_scan_target() might oops as the rport might already been removed from the scsi host and the traversal from the rport to the scsi_host in scsi_scan_target() will fail. Also the portstate already told us that communication with the target has failed, so it's quite pointless to try. Signed-off-by: Hannes Reinecke Cc: James Smart Signed-off-by: James Bottomley commit 1c13899154f6f93e8c9ff3e981a90d5f21df2d6b Author: FUJITA Tomonori Date: Thu Jun 14 22:13:17 2007 +0900 [SCSI] iscsi_tcp: 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. TODO: use scsi_for_each_sg(). Signed-off-by: FUJITA Tomonori Acked-by: Mike Christie Signed-off-by: James Bottomley commit d36b113eea2918ce1badf277af9fc64311609ca2 Author: Eric Moore Date: Wed Jun 13 16:35:21 2007 -0600 [SCSI] mpt fusion: bump version bump version Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 7c431e5cf4f4618066982ee799c26f1a276a56e1 Author: Eric Moore Date: Wed Jun 13 16:34:36 2007 -0600 [SCSI] mpt fusion: fc loginfo using defines from the header rewrite of mpt_fc_log_info to use the enum/defines from mpi_log_fc.h Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit caa5dea19d4853f71b091cad8fde75e6f14ff1be Author: Eric Moore Date: Wed Jun 13 16:33:48 2007 -0600 [SCSI] mpt fusion: remove unused header - linux_compat.h remove unused header Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit db0073bb2c9d5bbd839f9935fece879ee79170e0 Author: Eric Moore Date: Wed Jun 13 16:33:05 2007 -0600 [SCSI] mpt fusion: remove unused header - mpi_inb.h fc inband managment header deleted Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit d16291b1f2656f2bb1beea5fcce3eb0d1546e981 Author: Eric Moore Date: Wed Jun 13 16:32:20 2007 -0600 [SCSI] mpt fusion: new mpi headers version 1.5.16 mpi header update Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 16d201016a9f29e0557849907352769c63cef259 Author: Eric Moore Date: Wed Jun 13 16:31:07 2007 -0600 [SCSI] mpt fusion: update MAINTAINERS (fusion part) Update assocated fusion sources with new support email address. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 35f51eee99efe88866476300ccb7f206e88f3394 Author: Brian King Date: Wed Jun 13 17:12:40 2007 -0500 [SCSI] ibmvscsi: Abort path fix Since it is completely possible for scsi core to call a LLDD's eh_abort function after the command has completed, fix ibmvscsi to return SUCCESS if this is the case. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 06f923cbf080e22d1ffccbf3fd2cbab0176f6025 Author: Brian King Date: Wed Jun 13 17:12:33 2007 -0500 [SCSI] ibmvscsi: Misc. locking fixes Fix a couple locking bugs discovered during code inspection. ibmvscsi_send_srp_event needs to be called with the host lock held. This patch fixes a couple paths in the code where this wasn't true. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 3d0e91f7ace12499c4b00088e9a6b1361e1bb0ca Author: Brian King Date: Wed Jun 13 17:12:26 2007 -0500 [SCSI] ibmvscsi: Add eh_host_reset_handler Adds an eh_host_reset_handler to ibmvscsi which resets the connection to the vscsi server. This patch also adds a timer to internally issues commands to prevent client hangs in the case of a misbehaving server. Tested by modifying the VIOS such that it would occasionally drop one or more request in sequence. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 6c0a60ec52042ece8bf4904c91ac497188e8d70b Author: Brian King Date: Wed Jun 13 17:12:19 2007 -0500 [SCSI] ibmvscsi: Enhanced error logging Converts ibmvscsi to use dev_printk and friends to simplify debugging. ibmvscsi adapter initialization now looks like this: ibmvscsi 30000005: SRP_VERSION: 16.a ibmvscsi 30000005: partner initialization complete ibmvscsi 30000005: sent SRP login ibmvscsi 30000005: SRP_LOGIN succeeded Additionally, this patch adds the logging of a couple return codes in a couple logs. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 2a7309372fe56ae46c499b772d811ad31c501dd9 Author: Brian King Date: Wed Jun 13 17:12:11 2007 -0500 [SCSI] ibmvscsi: Remove unnecessary map_sg check Since sg_tablesize is set appropriately in the scsi host template, remove the unnecessary check to make sure it is not exceeded following the dma_map_sg call. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 0ea7154fbc740e8c44f6175fc44c4e56fbbbdc0f Author: FUJITA Tomonori Date: Thu Jun 14 00:41:06 2007 +0900 [SCSI] i2o: 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. Note: needs to change i2o_dma_map_sg when the chaining sg is ready. Signed-off-by: FUJITA Tomonori Acked-by: "Salyzyn, Mark" Signed-off-by: James Bottomley commit 29c976844d0bef07d97babc8db60fa6c46788133 Author: Salyzyn, Mark Date: Tue Jun 12 09:33:54 2007 -0400 [SCSI] aacraid: add user initiated reset Add the ability for an application to issue a hardware reset to the adapter via sysfs. Typical uses include restarting the adapter after it has been flashed. Bumped revision number for the driver and added a feature to periodically check the adapter's health (check_interval), update the adapter's concept of time (update_interval) and block checking/resetting of the adapter (check_reset). Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 1a655040c24ebf3954ad5cf8848391cb420b1ffb Author: Salyzyn, Mark Date: Mon Jun 11 16:17:55 2007 -0400 [SCSI] aacraid: probe related code cleanup Sundry cleanups: 1) Use kzalloc instead of kmalloc. 2) Make sure probe worked before recalling the SCSI command to finalize processing. 3) _aac_probe_container2 and _aac_probe_container1 return value goes unused, change return to void. 4) Use a lower depth pointer reference to pick up the driver instance variable. 5) Although effectively unused except to fake for scsicmd validity, set the scsi_done in probe code to aac_probe_container_callback1 instead of the less valid dummy reference to _aac_probe_container1. 6) SCp.phase is set in aac_valid_context, drop setting up this value in caller when unnecessary. 7) take container target id at the beginning, rather than referencing scmd_id() to pick it up. There should be no side effects or functionality changes. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit beb87c33393142200df7bfdc901dde97bd576650 Author: Randy Dunlap Date: Mon Jun 11 11:36:40 2007 -0700 [SCSI] scsi_debug: correct parameter default text Correct the module info text for the default value of "every_nth" to 0. Signed-off-by: Randy Dunlap Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 46235e600acfb6d13ee164c5539ad4309e848eab Author: David C Somayajulu Date: Fri Jun 8 17:37:16 2007 -0700 [SCSI] qla4xxx: allow hba to be online when initiator ip address is uninitialized This patch provides the following: 1. remove warning ignoring the return value of pci_set_mwi() 2. allows HBA to be online when the initiator ip address is uninitialized. Signed-off-by: David Somayajulu Signed-off-by: James Bottomley commit a1f6e0211b71a6c3ff401ad1d345ab024d0c6f01 Author: nickcheng(鄭守謙 Date: Fri Jun 15 11:43:32 2007 +0800 [SCSI] areca: improve driver stability and compatibility Description: 1. Implement PCI-Express error recovery function and AER capability, especially thanks to Yanmin Zhang's openhanded help about AER 2. Implement the selection of ARCMSR_MAX_XFER_SECTORS_B=4096 if firmware version is latter than 1.42 3. Add arcmsr_done4_abort_postqueue in arcmsr_iop_reset function to improve the stability as hot-unplug/plug 4. Modify the ISR, arcmsr_interrupt routine, to prevent the inconsistency with sg_mod driver if application directly calls the arcmsr driver w/o passing through scsi midlayer Signed-off-by: Nick Cheng [jejb: unused variable removal] Signed-off-by: James Bottomley commit 727eead62e22cf0a9498cf34e075c08269402978 Author: FUJITA Tomonori Date: Sat May 26 02:00:42 2007 +0900 [SCSI] aacraid: 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: FUJITA Tomonori Acked-by: "Salyzyn, Mark" Signed-off-by: James Bottomley commit 2f4cf91cc0a1f32f75e1fa0a4d70a9bc7340a302 Author: FUJITA Tomonori Date: Wed Jun 13 23:27:09 2007 +0900 [SCSI] ips: 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. Jens Axboe did the for_each_sg cleanup. TODO: use scsi_for_each_sg() in the breakup handling. Signed-off-by: FUJITA Tomonori Acked-by: "Salyzyn, Mark" Signed-off-by: James Bottomley commit eee4c4694fb2936258244bb391e6eec07f3eea8e Author: Paul Mundt Date: Fri Jun 15 19:45:33 2007 +0900 sh: Update SH-2/SH-2A defconfigs. Signed-off-by: Paul Mundt commit 68abdbbb03476a60d932eeba0035dd5069afec38 Author: Magnus Damm Date: Fri Jun 15 18:56:19 2007 +0900 sh: rework ipr code This patch reworks the ipr code by grouping the offset array together with the ipr_data structure in a new data structure called ipr_desc. This new structure also contains the name of the controller in struct irq_chip. The idea behind putting struct irq_chip in there is that we can use offsetof() to locate the base addresses in the irq_chip callbacks. This strategy has much in common with the recently merged intc2 code. One logic change has been made - the original ipr code enabled the interrupts by default but with this patch they are all disabled by default. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 50f63f2518ee68bc132d357d2b6fdb7f60ef79e0 Author: Paul Mundt Date: Fri Jun 15 18:30:42 2007 +0900 sh: Only support PMB for SH-X cores. We don't have a PMB for SH-X2 or later, so only enable it for the few CPUs that support it. Fixes up the boot for SH4AL-DSP. Signed-off-by: Paul Mundt commit d619500aed2f9b841b2310bc94f8056ae9ca2a73 Author: Magnus Damm Date: Fri Jun 15 10:41:54 2007 +0900 sh: rework intc2 code The shared intc2 code currently contains cpu-specific #ifdefs. This is a tad unclean and it prevents us from using the shared code to drive board-specific irqs on the se7780 board. This patch reworks the intc2 code by moving the base addresses of the intc2 registers into struct intc2_desc. This new structure also contains the name of the controller in struct irq_chip. The idea behind putting struct irq_chip in there is that we can use offsetof() to locate the base addresses in the irq_chip callbacks. One logic change has been made - the original shared intc2 code enabled the interrupts by default but with this patch they are all disabled by default. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e58ca3de64927e96beb2f1594975dc4a29b79459 Author: David Gibson Date: Wed Jun 13 14:53:00 2007 +1000 [POWERPC] Fix problems with device tree representation of TSI-1xx bridges This fixes some problems with the way the some things represented in the device tree for the Holly and Taiga boards. This means changes both to the dts files, and to the code which instantiates the tsi108 ethernet platform devices based on the device tree. - First, and most importantly, the ethernet PHYs are given with an identical 'reg' property. This reg currently encodes the accessible register used to initiate mdio interaction with the PHYs, rather than a meaningful address on the parent bus (mdio in this case), which is incorrect. Instead we give the address of these registers as 'reg' in the mdio node itself, and encode the ID of each phy in their 'reg' propertyies. - Currently the platform device constructor enables a workaround in the tsi108 ethernet driver based on the compatible property of the PHY. This is incorrect, because the workaround in question is necessary due to the board's wiring of the PHY, not the model of PHY itself. This patch alters the constructor to instead enable the workaround based on a new special property in the PHY node. - The compatible properties on a number of nodes in the device tree are insufficiently precise. In particular the PHYs give only "bcm54xx", which is broken, since there are many bcm54xx PHY models, and they have differences which matter. The mdio had a compatible property of "tsi-ethernet" identical to the ethernet MAC nodes, which doesn't make sense. The ethernet, i2c, bridge and PCI nodes were given only as "tsi-*" which is somewhat inprecise, we replace with "tsi108-*" in the case of Taiga (which has a TSI108 bridge), and "tsi109-*", "tsi108-*" in the case of Holly (which has a TSI109 bridge). - We remove some "model" properties from the ethernets on Taiga board which were neither useful nor adequately precise. - On Holly we change to using a dtc label instead of a full path to reference the MPIC node, which makes the dts a little more readable. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit e60c526fba3ba77070d0c97fac52c86243ad694d Author: David Gibson Date: Wed Jun 13 14:53:00 2007 +1000 [POWERPC] Don't store a command line in the Holly device tree Currently, the Holly device tree includes a bootargs property in /chosen, which gives a commandline. This is somewhat inconvenient, because it means an alternative default command line can't be given in the kernel config - the value obtained from the dts via the bootwrapper will always override CONFIG_CMDLINE. This removes the command line from the dts, and instead puts the same command line as a default in holly_defconfig. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 85aecac8d2893372c618bac373e2de9cf102dfbc Author: David Gibson Date: Wed Jun 13 14:53:00 2007 +1000 [POWERPC] Consolidate cuboot initialization code The various cuboot platforms (i.e. pre-device tree aware u-boot for 83xx, 85xx and Ebony) share a certain amount of code for parsing the boot parameters. To a certain extent that's inevitable, since they platforms have different definitions of the bd_t structure. However, with some macro work and a helper function, this patch improves the situation a bit. In the process, this fixes a bug on Ebony, which was incorrectly handling the parameters passed form u-boot for the command line (the bug was copied from 83xx and 85xx which have subsequently been fixed). Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit b2ba34f370a66d9ed4bbd440e45296ecf3e267d3 Author: David Gibson Date: Wed Jun 13 14:52:59 2007 +1000 [POWERPC] Derive ebc ranges property from EBC registers In the device tree for Ebony, the 'ranges' property in the node for the EBC bridge shows the mappings from the chip select / address lines actually used for the EBC peripherals into the address space of the OPB. At present, these mappings are hardcoded in ebony.dts for the mappings set up by the OpenBIOS firmware when it configures the EBC bridge. This replaces the hardcoded mappings with code in the zImage to read the EBC configuration registers and create an appropriate ranges property based on them. This should make the zImage and kernel more robust to changes in firmware configuration. In particular, some of the Ebony's DIP switches can change the effective address of the Flash and other peripherals in OPB space. With this patch, the kernel will be able to cope with at least some of the possible variations. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 11123346bfba8e65631957c6c25ed1a6ca1b4ffe Author: David Gibson Date: Wed Jun 13 14:52:58 2007 +1000 [POWERPC] Factor zImage's 44x reset code out of ebony.c The ebony_exit() function which resets the Ebony board should in fact be common to most if not all 44x boards. This moves the function out into 44x.c, renaming it, so it can be used by other 44x platforms. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 4508dc21feb189159d4cc1d5b79c5a55fad5f2ed Author: David Gibson Date: Wed Jun 13 14:52:57 2007 +1000 [POWERPC] Merge CPU features pertaining to icache coherency Currently the powerpc kernel has a 64-bit only feature, COHERENT_ICACHE used for those CPUS which maintain icache/dcache coherency in hardware (POWER5, essentially). It also has a feature, SPLIT_ID_CACHE, which is used on CPUs which have separate i and d-caches, which is to say everything except 601 and Freescale E200. In nearly all the places we check the SPLIT_ID_CACHE, what we actually care about is whether the i and d-caches are coherent (which they will be, trivially, if they're the same cache). This tries to clarify the situation a little. The COHERENT_ICACHE feature becomes availble on 32-bit and is set for all CPUs where i and d-cache are effectively coherent, whether this is due to special logic (POWER5) or because they're unified. We check this, instead of SPLIT_ID_CACHE nearly everywhere. The SPLIT_ID_CACHE feature itself is replaced by a UNIFIED_ID_CACHE feature with reversed sense, set only on 601 and Freescale E200. In the two places (one Freescale BookE specific) where we really care whether it's a unified cache, not whether they're coherent, we check this feature. The CPUs with unified cache are so few, we could consider replacing this feature bit with explicit checks against the PVR. This will make unifying the 32-bit and 64-bit cache flush code a little more straightforward. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 8e561e7eda02819c711a75b64a000bf34948cdbb Author: David Gibson Date: Wed Jun 13 14:52:56 2007 +1000 [POWERPC] Kill typedef-ed structs for hash PTEs and BATs Using typedefs to rename structure types if frowned on by CodingStyle. However, we do so for the hash PTE structure on both ppc32 (where it's called "PTE") and ppc64 (where it's called "hpte_t"). On ppc32 we also have such a typedef for the BATs ("BAT"). This removes this unhelpful use of typedefs, in the process bringing ppc32 and ppc64 closer together, by using the name "struct hash_pte" in both cases. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 9c709f3b62ee8ee0dfadf358e361802cab7eea7a Author: David Gibson Date: Wed Jun 13 14:52:56 2007 +1000 [POWERPC] Start factoring pgtable-ppc32.h and pgtable-ppc64.h This factors some things defined in both pgtable-ppc32.h and pgtable-ppc64.h into the common part of asm-powerpc/pgtable.h. These are all things which have essentially identical definitions, and which by their nature are very unlikely ever to need different definitions in the two cases. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit c0770f686cf8f464b5b9d4bd28c1ed7604c97ed4 Author: David Gibson Date: Wed Jun 13 14:52:56 2007 +1000 [POWERPC] Remove a couple of unused definitions from pgtable_32.c In arch/powerpc/mm/pgtable_32.c, the variable io_bat_index and the macro is_power_of_4() no longer have any users. This removes them. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit f21f49ea639ac3f24824177dac1268af75a2d373 Author: David Gibson Date: Wed Jun 13 14:52:54 2007 +1000 [POWERPC] Remove the dregs of APUS support from arch/powerpc APUS (the Amiga Power-Up System) is not supported under arch/powerpc and it's unlikely it ever will be. Therefore, this patch removes the fragments of APUS support code from arch/powerpc which have been copied from arch/ppc. A few APUS references are left in asm-powerpc in .h files which are still used from arch/ppc. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 90ac19a8b21ba2621ddd7beb2dc96152e78270b7 Author: David Gibson Date: Wed Jun 13 14:52:54 2007 +1000 [POWERPC] Abolish iopa(), mm_ptov(), io_block_mapping() from arch/powerpc These old-fashioned IO mapping functions no longer have any callers in code which remains relevant on arch/powerpc. Therefore, this removes them from arch/powerpc. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 4db68bfe71940c0851bc81041ade6dc293fe2b96 Author: David Gibson Date: Wed Jun 13 14:52:54 2007 +1000 [POWERPC] Split out asm-ppc/mmu.h portions for the "classic" hash-based MMU arch/powerpc still relies on asm-ppc/mmu.h for most 32-bit MMU types. This is another step towards fixing this. It takes the portions of asm-ppc/mmu.h related to the "classic" 32-bit hash page table MMU which are still relevant in arch/powerpc and puts them in a new asm-powerpc/mmu-hash32.h, included when appropriate from asm-powerpc/mmu.h. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 2e6016133755eb3cc44e8efab92573d23ed75888 Author: David Gibson Date: Wed Jun 13 14:52:54 2007 +1000 [POWERPC] Split low-level OF-related bootloader code into separate files Currently, all OF-related code in the bootloader is contained in of.c. of.c also provides the platform specific things necessary to boot on an OF platform. However, there are platforms (such as PReP) which can include an OF implementation, but are not bootable as pure OF systems. For use by such platforms, this patch splits out the low-level parts of the OF code (call_prom() and various wrappers thereof) into a new oflib.c file. In addition, the code related to bootwrapper console output via OF are moved to a new ofconsole.c file. Both these files are included in the wrapper.a library where they can be used by both full-OF and partial OF platforms. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit a0ae9c7c05b969cbaffb0371f8698c54465b4c96 Author: Arnd Bergmann Date: Wed Jun 13 02:30:17 2007 +1000 [POWERPC] Split out CPU specific options into a new Kconfig file A lot of the options in arch/powerpc/Kconfig deal with the CPU menu, and my next patches add more to them. Moving them to a new arch/powerpc/platforms/Kconfig.cputype file makes it easier to follow. There are no functional changes in here. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit effe24bdd41ef790b30c9ac02ede3703937c6ba0 Author: will schmidt Date: Wed Jun 13 01:19:01 2007 +1000 [POWERPC] During VM oom condition, kill all threads in process group We have had complaints where a threaded application is left in a bad state after one of it's threads is killed when we hit a VM: out_of_memory condition. Killing just one of the process threads can leave the application in a bad state, whereas killing the entire process group would allow for the application to restart, or be otherwise handled, and makes it very obvious that something has gone wrong. This change allows the entire process group to be taken down, rather than just the one thread. lightly tested on powerpc Signed-off-by: Will Signed-off-by: Paul Mackerras commit d8c391a5593aca5bea002bcaaec16c7bbd6ec853 Author: Jake Moilanen Date: Fri Jun 8 07:27:11 2007 +1000 [POWERPC] Donate idle CPU cycles on dedicated partitions A Power6 can give up CPU cycles on a dedicated CPU (as opposed to a shared CPU) to other shared processors if the administrator asks for it (via the HMC). This enables that to work properly on P6. This just involves setting a bit in the CAS structure as well as the VPA. To donate cycles, a CPU has to have all SMT threads idle and have the donate bit set in the VPA. Then call H_CEDE. The reason why shared processors just aren't used is because dedicated CPUs are guaranteed an actual processor, yet the system is still able to increase the capacity of the shared CPU pool. Also rename the VPA's cpuctls_task_attrs field to a more accurate name. Signed-off-by: Jake Moilanen Signed-off-by: Paul Mackerras commit 2f97cd3912428f5044fa7715293a69349fc455fa Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:56 2007 +1000 [POWERPC] Less ifdef's in signal.c/signal.h This patch moves things around a little bit in the new common signal.c and signal.h files to remove the last #ifdef in the middle of the common do_signal(). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 0edc4ffd0e50d1ab0f387d37457210bc8bf8f8da Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:55 2007 +1000 [POWERPC] Remove #ifdef around set_dabr in signal code set_dabr() and thread.dabr exist on 32 bits as well nowadays (they actually may do something even, depending on what CPU you have). So this removes the ifdef. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit a3f61dc0a5335334958ec3b97d0b1946b4ae5375 Author: Benjamin Herrenschmidt Date: Mon Jun 4 17:22:48 2007 +1000 [POWERPC] Merge creation of signal frame The code for creating signal frames was still duplicated and split in strange ways between 32 and 64 bits, including the SA_ONSTACK handling being in do_signal on 32 bits but inside handle_rt_signal on 64 bits etc... This moves the 64 bits get_sigframe() to the generic signal.c, cleans it a bit, moves the access_ok() call done by all callers to it as well, and adapts/cleanups the 3 different signal handling cases to use that common function. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 5f9f375a62d3fd3d7f0d5adc23039ade523e62ba Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:53 2007 +1000 [POWERPC] Remove obsolete freezer bits The powerpc signal code still had some obsolete freezer bits that have long been removed from x86 (it's now done in generic code). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit f478f5430c8a599f46c41e8172a507a5772a6b69 Author: Christoph Hellwig Date: Mon Jun 4 15:15:52 2007 +1000 [POWERPC] Consolidate do_signal do_signal has exactly the same behaviour on 32bit and 64bit and 32bit compat on 64bit for handling 32bit signals. Consolidate all these into one common function in signal.c. The only odd left over is the try_to_free in the 32bit version that no other architecture has in mainline (only in i386 for some odd SuSE release). We should probably get rid of it in a separate patch. Signed-off-by: Christoph Hellwig Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit db277e9a67b9d81b9d6cd74edf0c3e1a0ef2aa4b Author: Christoph Hellwig Date: Mon Jun 4 15:15:51 2007 +1000 [POWERPC] Consolidate restore_sigmask restore_sigmask is exactly the same on 32 and 64bit, so move it to common code. Also move _BLOCKABLE to signal.h to avoid defining it multiple times. Signed-off-by: Christoph Hellwig Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 69d15f6b352a681f1db9bc70219a3e8e9d503dbf Author: Christoph Hellwig Date: Mon Jun 4 15:15:50 2007 +1000 [POWERPC] Consolidate sys_sigaltstack sys_sigaltstack is the same on 32bit and 64 and we can consolidate it to signal.c. The only difference is that the 32bit code uses ints for the unused register paramaters and 64bit unsigned long. I've changed it to unsigned long because it's the same width on 32bit. (I also wonder who came up with this awkward calling convention.. :)) Signed-off-by: Christoph Hellwig Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 22e38f29328296d9d4cc33e46fd32a63e807abaf Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:49 2007 +1000 [POWERPC] Make syscall restart code more common This patch moves the code in signal_32.c and signal_64.c for handling syscall restart into a common signal.c file and converge around a single implementation that is based on the 32 bits one, using trap, ccr and r3 rather than the special "result" field for deciding what to do. The "result" field is now pretty much deprecated. We still set it for the sake of whatever might rely on it in userland but we no longer use it's content. This, along with a previous patch that enables ptracers to write to "trap" and "orig_r3" should allow gdb to properly handle syscall restarting. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 791cc501d422be96d6e3098faf6471ba29f4dd33 Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:48 2007 +1000 [POWERPC] Always apply DABR changes on context switches This patch removes the #ifdef CONFIG_PPC64 around setting the DABR. The actual setting of the SPR inside of the set_dabr() function is dependent on CONFIG_PPC64 || CONFIG_6xx but you can always provide a ppc_md hook to override that. We should improve support for different HW breakpoints facilities but this is a first step. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 6d110da8c3c62167c54eb5e32bb80916a1a23362 Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:47 2007 +1000 [POWERPC] powerpc: ptrace can set DABR on both 32 and 64 bits Allow ptrace to set dabr in the thread structure for both 32 and 64 bits, though only 64 bits actually uses that field, it's actually defined in both. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit abd0650541604d6c028bcbf5002e4a68aaf56e90 Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:47 2007 +1000 [POWERPC] ptrace shouldn't touch FP exec mode One of the gratuitous difference between 32 and 64-bit ptrace is whether you can whack the MSR:FE0 and FE1 bits from ptrace. This patch forbids it unconditionally. In addition, the 64-bit kernels used to return the exception mode in the MSR on reads, but 32-bit kernels didn't. This patch makes it return those bits on both. Finally, since ptrace-ppc32.h and ptrace-ppc64.h are mostly empty now, and since the previous patch made ptrace32.c no longer need the MSR_DEBUGCHANGE definition, we just remove those 2 files and move back the remaining bits to ptrace.c (they were short lived heh ?). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 912000e73ee8fcb97831b123c9c3a7274b71cab7 Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:46 2007 +1000 [POWERPC] Allow ptrace write to pt_regs trap and orig_r3 This patch allows a ptracer to write to the "trap" and "orig_r3" words of the pt_regs. This, along with a subsequent patch to the signal restart code, should enable gdb to properly handle syscall restarting after executing a separate function (at least when there's no restart block). This patch also removes ptrace32.c code toying directly with the registers and makes it use the ptrace_get/put_reg() accessors for everything so that the logic for checking what is permitted is in only one place. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 1b6610d6fcb8dc23631cf48f09aa02e6649e379d Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:45 2007 +1000 [POWERPC] Remove some useless ifdef's in ptrace CHECK_FULL_REGS() exist on both 32 and 64 bits, so there's no need to make it conditional on CONFIG_PPC32. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 865418d8e78b9c11c964157740b2596d6ffe9dfa Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:44 2007 +1000 [POWERPC] Uninline common ptrace bits This folds back the ptrace-common.h bits back into ptrace.c and removes that file. The FSL SPE bits from ptrace-ppc32.h are folded back in as well. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit e17666ba48f78ff10162d7448e7c92d668d8faf6 Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:43 2007 +1000 [POWERPC] ptrace updates & new, better requests The powerpc ptrace interface is dodgy at best. We have defined our "own" versions of GETREGS/SETREGS/GETFPREGS/SETFPREGS that strangely take arguments in reverse order from other archs (in addition to having different request numbers) and have subtle issue, like not accessing all of the registers in their respective categories. This patch moves the implementation of those to a separate function in order to facilitate their deprecation in the future, and provides new ptrace requests that mirror the x86 and sparc ones and use the same numbers: PTRACE_GETREGS : returns an entire pt_regs (the whole thing, not only the 32 GPRs, though that doesn't include the FPRs etc... There's a compat version for 32 bits that returns a 32 bits compatible pt_regs (44 uints) PTRACE_SETREGS : sets an entire pt_regs (the whole thing, not only the 32 GPRs, though that doesn't include the FPRs etc... Some registers cannot be written to and will just be dropped, this is the same as with POKEUSR, that is anything above MQ on 32 bits and CCR on 64 bits. There is a compat version as well. PTRACE_GETFPREGS : returns all the FP registers -including- the FPSCR that is 33 doubles (regardless of 32/64 bits) PTRACE_SETFPREGS : sets all the FP registers -including- the FPSCR that is 33 doubles (regardless of 32/64 bits) And two that only exist on 64 bits kernels: PTRACE_GETREGS64 : Same as PTRACE_GETREGS, except there is no compat function, a 32 bits process will obtain the full 64 bits registers PTRACE_SETREGS64 : Same as PTRACE_SETREGS, except there is no compat function, a 32 bits process will set the full 64 bits registers The two later ones makes things easier to have a 32 bits debugger on a 64 bits program (or on a 32 bits program that uses the full 64 bits of the GPRs, which is possible though has issues that will be fixed in a later patch). Finally, while at it, the patch removes a whole bunch of code duplication between ptrace32.c and ptrace.c, in large part by having the former call into the later for all requests that don't need any special "compat" treatment. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit acd89828484db6371202f5d292781ae6f832eda2 Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:41 2007 +1000 [POWERPC] ptrace cleanups The powerpc ptrace code has some weirdness, like a ptrace-common.h file that is actually ppc64 only and some of the 32 bits code ifdef'ed inside ptrace.c. There are also separate implementations for things like get/set_vrregs for 32 and 64 bits which is totally unnecessary. This patch cleans that up a bit by having a ptrace-common.h which contains really common code (and makes a lot more code common), and ptrace-ppc32.h and ptrace-ppc64.h files that contain the few remaining different bits. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 0b3d5c48a98f7bd2d38962f5a67b480ac5656fb9 Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:39 2007 +1000 [POWERPC] Disable broken PPC_PTRACE_GETFPREGS on 32 bits The handling of PPC_PTRACE_GETFPREGS is broken on 32 bits kernel, it will only return half of the registers. Since that call didn't initially exist for 32 bits kernel (added recently), rather than fixing it, let's just remove it. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit cbe709c1683dd54a2ec2981c9e8415cb3176f4e0 Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:38 2007 +1000 [POWERPC] spufs: Add a "capabilities" file to spu contexts This adds a "capabilities" file to spu contexts consisting of a list of linefeed separated capability names. The current exposed capabilities are "sched" (the context is scheduleable) and "step" (the context supports single stepping). Signed-off-by: Benjamin Herrenschmidt Acked-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 05169237b55058a3993fb4804d00b65dfa3e4a0c Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:37 2007 +1000 [POWERPC] spufs: Add support for SPU single stepping This patch adds support for SPU single stepping. The single step bit is set in the SPU when the current process is being single-stepped via ptrace. The spu then stops and returns with a specific flag set and the syscall exit code will generate the SIGTRAP. Signed-off-by: Benjamin Herrenschmidt Acked-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 3d5134ee8341bffc4f539049abb9e90d469b448d Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:36 2007 +1000 [POWERPC] Rewrite IO allocation & mapping on powerpc64 This rewrites pretty much from scratch the handling of MMIO and PIO space allocations on powerpc64. The main goals are: - Get rid of imalloc and use more common code where possible - Simplify the current mess so that PIO space is allocated and mapped in a single place for PCI bridges - Handle allocation constraints of PIO for all bridges including hot plugged ones within the 2GB space reserved for IO ports, so that devices on hotplugged busses will now work with drivers that assume IO ports fit in an int. - Cleanup and separate tracking of the ISA space in the reserved low 64K of IO space. No ISA -> Nothing mapped there. I booted a cell blade with IDE on PIO and MMIO and a dual G5 so far, that's it :-) With this patch, all allocations are done using the code in mm/vmalloc.c, though we use the low level __get_vm_area with explicit start/stop constraints in order to manage separate areas for vmalloc/vmap, ioremap, and PCI IOs. This greatly simplifies a lot of things, as you can see in the diffstat of that patch :-) A new pair of functions pcibios_map/unmap_io_space() now replace all of the previous code that used to manipulate PCI IOs space. The allocation is done at mapping time, which is now called from scan_phb's, just before the devices are probed (instead of after, which is by itself a bug fix). The only other caller is the PCI hotplug code for hot adding PCI-PCI bridges (slots). imalloc is gone, as is the "sub-allocation" thing, but I do beleive that hotplug should still work in the sense that the space allocation is always done by the PHB, but if you unmap a child bus of this PHB (which seems to be possible), then the code should properly tear down all the HPTE mappings for that area of the PHB allocated IO space. I now always reserve the first 64K of IO space for the bridge with the ISA bus on it. I have moved the code for tracking ISA in a separate file which should also make it smarter if we ever are capable of hot unplugging or re-plugging an ISA bridge. This should have a side effect on platforms like powermac where VGA IOs will no longer work. This is done on purpose though as they would have worked semi-randomly before. The idea at this point is to isolate drivers that might need to access those and fix them by providing a proper function to obtain an offset to the legacy IOs of a given bus. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit c19c03fc749147f565e807fa65f1729066800571 Author: Benjamin Herrenschmidt Date: Mon Jun 4 15:15:35 2007 +1000 [POWERPC] unmap_vm_area becomes unmap_kernel_range for the public This makes unmap_vm_area static and a wrapper around a new exported unmap_kernel_range that takes an explicit range instead of a vm_area struct. This makes it more versatile for code that wants to play with kernel page tables outside of the standard vmalloc area. (One example is some rework of the PowerPC PCI IO space mapping code that depends on that patch and removes some code duplication and horrible abuse of forged struct vm_struct). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 3c8c90ab8810a8ebb38a5f1dde2595b750d5adff Author: Linas Vepstas Date: Thu May 24 03:28:01 2007 +1000 [POWERPC] Tweak EEH copyright info Twiddle the copyright notices. Per current guidelines, the use of the (C) or (c) in source code is deprecated. Signed-off-by: Linas Vepstas ---- arch/powerpc/platforms/pseries/eeh.c | 6 +++++- arch/powerpc/platforms/pseries/eeh_cache.c | 3 ++- arch/powerpc/platforms/pseries/eeh_driver.c | 6 +++--- 3 files changed, 10 insertions(+), 5 deletions(-) Signed-off-by: Paul Mackerras commit 42253a68a8e794a38ede33566083af8a80948f60 Author: Linas Vepstas Date: Thu May 24 03:23:38 2007 +1000 [POWERPC] Remove dead EEH code Remove some dead code. Signed-off-by: Linas Vepstas ---- arch/powerpc/platforms/pseries/eeh.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) Signed-off-by: Paul Mackerras commit 858955bd572f0ca38b258e45c7dd743b9e44b04e Author: Linas Vepstas Date: Thu May 24 03:20:51 2007 +1000 [POWERPC] Show EEH per-device false positives Track and report the number of times we read an all-1s value (0xff, 0xffff or 0xffffffff) from each device which is valid data, not indicating EEH isolation. Signed-off-by: Linas Vepstas ---- arch/powerpc/platforms/pseries/eeh.c | 5 +++++ arch/powerpc/platforms/pseries/eeh_sysfs.c | 3 +++ include/asm-powerpc/pci-bridge.h | 1 + 3 files changed, 9 insertions(+) Signed-off-by: Paul Mackerras commit e1d04c9769398ae7df8c7ca2681b25f540b719d5 Author: Linas Vepstas Date: Thu May 24 03:16:46 2007 +1000 [POWERPC] Add EEH sysfs blinkenlights Add sysfs blinkenlights for EEH statistics. Shuffle the eeh_add_device_tree() call so that it appears in the correct sequence. Signed-off-by: Linas Vepstas ---- arch/powerpc/platforms/pseries/Makefile | 2 arch/powerpc/platforms/pseries/eeh.c | 4 + arch/powerpc/platforms/pseries/eeh_cache.c | 2 arch/powerpc/platforms/pseries/eeh_sysfs.c | 84 +++++++++++++++++++++++++++++ arch/powerpc/platforms/pseries/pci_dlpar.c | 7 +- include/asm-powerpc/ppc-pci.h | 3 + 6 files changed, 98 insertions(+), 4 deletions(-) Signed-off-by: Paul Mackerras commit c2e221e8b93ea54da85d9b5413a2eff9f4a653f7 Author: Linas Vepstas Date: Wed May 23 04:18:04 2007 +1000 [POWERPC] pseries: asm/pci-bridge.h CONFIG_ minor cleanup Use the correct CONFIG_ option to mark off the EEH bits. Move the EEH bits to the bottom of the struct. The config_space array is used by EEH only; it does not need to be part of the struct for non-pseries machines. Signed-off-by: Linas Vepstas ---- Revised patch, per commments from Michael Ellerman. include/asm-powerpc/pci-bridge.h | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) Signed-off-by: Paul Mackerras commit 3f1df7a260aded4937e512872f3fbfdb9bc22c82 Author: Jon Tollefson Date: Fri May 18 04:49:22 2007 +1000 [POWERPC] Move common code out of if/else Move common code out of if/else. Signed-off-by: Jon Tollefson ---- hash_native_64.c | 3 +-- 1 files changed, 1 insertion(+), 2 deletions(-) Signed-off-by: Paul Mackerras commit 31fe5bf66a09c36e95b4c04291249b251b52f2d4 Author: Segher Boessenkool Date: Thu May 17 01:12:16 2007 +1000 [POWERPC] Fix VDSO compile warning Maybe the type should have been char[] instead of __u8[] in the first place, but this will do. Signed-off-by: Segher Boessenkool Signed-off-by: Paul Mackerras commit f341973d9a48b0643b619debd8d9ab1e518ebc34 Author: Anton Blanchard Date: Wed May 16 05:59:06 2007 +1000 [POWERPC] Reserve threadinfo flags for perfmon2 Reserve two TIF flags for perfmon2 and shift them into the low 16 bits so we can use single assembly instructions to create constants based off them. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 288e4d838d1e999c0515f85a337cacb2be233071 Author: Dave Kleikamp Date: Wed Jun 13 10:17:50 2007 -0500 JFS: Update print_hex_dump() syntax Signed-off-by: Dave Kleikamp commit d3efbdd6c5e8c823b732df26a355ec931ccab374 Author: Paul Mundt Date: Mon Jun 11 15:57:42 2007 +0900 sh: Fix up the math-emu build. math-emu wasn't converted for the trap_no/errno_code changes, get it building again. Signed-off-by: Paul Mundt commit a1e2833d13db6c2f0456b20338f66c0b248f5367 Author: Paul Mundt Date: Mon Jun 11 15:56:31 2007 +0900 sh: Kill off broken dma page ops. There's no point in keeping these around, they've been broken for some time, and the dmaenging/async_tx framework provides a far more reasonable interface. Signed-off-by: Paul Mundt commit dd9505879c3381e98fc46f74cd8c17f0b23d0cd7 Author: Paul Mundt Date: Mon Jun 11 15:35:34 2007 +0900 fs: hugetlbfs: Disable for shnommu. SH can turn CONFIG_MMU on and off, don't let us get to a state where hugetlbfs/hugetlbpage gets built when building for nommu. Signed-off-by: Paul Mundt commit 9f9a5de4669902f80b6664baeba01595ffce3597 Author: Paul Mundt Date: Mon Jun 11 15:33:44 2007 +0900 sh: Fixup misaligned data for sh2 lockdep. lockdep/irqflags tracing on SH-2 ends up with a misaligned branch, fix it. Signed-off-by: Paul Mundt commit 357d59469c1179c30b8c425aba302346fac3594e Author: Paul Mundt Date: Mon Jun 11 15:32:07 2007 +0900 sh: Tidy up dependencies for SH-2 build. SH-2 can presently get in to some pretty bogus states, so we tidy up the dependencies a bit and get it all building again. This gets us a bit closer to a functional allyesconfig and allmodconfig, though there are still a few things to fix up. Signed-off-by: Paul Mundt commit 54039591cee40ef1f440f1245ed066c3e7d54a9a Author: Yoshihiro Shimoda Date: Mon Jun 11 10:26:56 2007 +0900 sh: Provide a defconfig for R7780MP. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit 14bea95b84a3eedfe9e12f576d5f9f63f0f1b6ff Author: Paul Mundt Date: Mon Jun 11 10:18:45 2007 +0900 sh: Compile fix for SH7604 removal. There was a last remaining reference to CPU_SH7604 that broke the build, kill that off too. Signed-off-by: Paul Mundt commit 711be60522829beb82807de2867e56513934ebec Author: Robert P. J. Day Date: Fri Jun 8 11:56:31 2007 +0900 sh: Warn against direct inclusion of . Signed-off-by: Robert P. J. Day Signed-off-by: Paul Mundt commit b9601c5e59dd25693345558a301e833741bf5874 Author: Paul Mundt Date: Fri Jun 8 11:55:28 2007 +0900 sh: Kill off dead SH7604 support. This was added during 2.5.x, but was never moved along. This can easily be resurrected if someone has one they wish to work with, but it's not worth keeping around in its current form. Signed-off-by: Paul Mundt commit 33d63bd83bf9aa6b662a376a96b825acba721e8f Author: Paul Mundt Date: Thu Jun 7 11:32:52 2007 +0900 sh: memory hot-add for sparsemem users support. This enables simple hotplug support for sparsemem users. Presently this only permits memory being added in to node 0 on ZONE_NORMAL. Signed-off-by: Paul Mundt commit 05a117847b43d44f336bbf272a1063661431a5e5 Author: Paul Mundt Date: Thu Jun 7 11:29:37 2007 +0900 sh: Fix up cpu to node mapping in sysfs. Currently cpu_to_node() is always 0 in the UP case, though we do want to have the CPU association linked in under sysfs even in the cases where we're only on a single CPU. Fix this up, so we have the cpu0 link on all of the available nodes that don't already have a CPU link of their own. Signed-off-by: Paul Mundt commit 5bbeafca8d5c64b6d9c6653993492d763be0918f Author: Paul Mundt Date: Wed Jun 6 19:05:11 2007 +0900 sh: Fix the SH7722 flatmem build. Signed-off-by: Paul Mundt commit 1300b1b1776475cd94685f5f61b83f84801e08e9 Author: Paul Mundt Date: Wed Jun 6 19:04:22 2007 +0900 sh: Make NUMA depend on sparsemem. The only platforms that are supporting NUMA are doing so via sparsemem, so update the dependency. Signed-off-by: Paul Mundt commit 520588f47f20a6dcaf81655e1da378e5fe6d5015 Author: Paul Mundt Date: Wed Jun 6 17:58:56 2007 +0900 sh: URAM node support for SH7722. This adds the URAM block on SH7722 as a separate node. Sparsemem is required for this, or it can simply be disabled by explicitly selecting a flatmem model. Signed-off-by: Paul Mundt commit b241cb0c885e55839fb0f93c6a4539c5416cc39f Author: Paul Mundt Date: Wed Jun 6 17:52:19 2007 +0900 sh: Support for multiple nodes. This adds basic support for multiple nodes on SH machines. This is primarily useful for boards with many different memory blocks that are otherwise unused (SH7722/SH7785 URAM and so forth). Signed-off-by: Paul Mundt commit 07cbb41b5308b92f29649254ff755e48ea60e24c Author: Paul Mundt Date: Wed Jun 6 12:23:06 2007 +0900 sh: Use asm/sections.h for linker section symbols. Kill off a bunch of externs, and use sections.h instead.. Signed-off-by: Paul Mundt commit 2de212ebd8d5c1a17e40bffcc7e434443105c4b8 Author: Paul Mundt Date: Wed Jun 6 12:09:54 2007 +0900 sh: Fix up max_zone_pfns[] with multiple nodes. Currently using multiple nodes tramples the ZONE_NORMAL max low pfn, tidy up the logic a bit to get it all working as expected. Signed-off-by: Paul Mundt commit cbd2d9d8fcd9d2a46d71d0703a76773c20383c66 Author: Paul Mundt Date: Mon Jun 4 15:46:56 2007 +0900 sh: Default to 4-byte alignment for SLUB objects. Slub currently defaults to 8-byte alignment for the kmalloc and slab minalign values, where 4 will suffice. In the slab case BYTES_PER_WORD == 4 already, so defining the minalign values outright doesn't cause any regressions there either. Signed-off-by: Paul Mundt commit f11b71e6578fbe8e059c51f5d2de223a3804507a Author: Paul Mundt Date: Mon Jun 4 14:37:04 2007 +0900 sh: Wire up mempolicy syscalls. Wire up mbind and get/set_mempolicy() in their reserved places. Signed-off-by: Paul Mundt commit b66d51cb8039cf80b8aa5b157ed055cdea811104 Author: Paul Mundt Date: Fri Jun 1 17:26:13 2007 +0900 sh: Tidy compiler warnings for SH-2A build. Signed-off-by: Paul Mundt commit 6240d92f2f2fb74094b66b3510733fa0a1e2631a Author: Paul Mundt Date: Fri Jun 1 17:25:42 2007 +0900 sh: Wrap CPU tuning through cc-option. Some compilers don't support the explicit CPU tuning, while binutils is still able to handle the special subtype-specific opcodes. Make the CFLAG optional, falling back on the compiler default if nothing better exists. Signed-off-by: Paul Mundt commit fa1ec92e1dcd4fa4be23db24e4c019c0e4194c89 Author: Paul Mundt Date: Fri Jun 1 17:23:14 2007 +0900 sh: Enable IPR-IRQ for SH7206. Signed-off-by: Paul Mundt commit 2826fa61c13716816c7ae658b8f1c5a4a505d8ac Author: Paul Mundt Date: Fri Jun 1 17:04:36 2007 +0900 sh: Mark sparsemem regions present earlier. We have to call in to sparse_memory_present_with_active_regions() earlier in order for sparsemem to be happy. This was being called too late, and was causing troubles with the platforms that needed to enable sparsemem. Signed-off-by: Paul Mundt commit d22d9b3a1d129349518c807e7997922f869e1f48 Author: Paul Mundt Date: Fri Jun 1 14:21:13 2007 +0900 sh: Register multiple nodes in topology_init(). If we have multiple nodes, register these at topology_init() time. Signed-off-by: Paul Mundt commit 91e656aacf52bcd3fbd199462032efec915fb654 Author: Paul Mundt Date: Fri Jun 1 14:19:22 2007 +0900 sh: Allow for bootmem debug support. Handy for debugging bootmem troubles. Signed-off-by: Paul Mundt commit dfbb9042801eaeb4df9015bb86224291a39a0f52 Author: Paul Mundt Date: Wed May 23 17:48:36 2007 +0900 sh: sparsemem support. This implements basic sparsemem support for SH. Presently this only uses static sparsemem, and we still permit explicit selection of flatmem. Those boards that want sparsemem can select it as usual. Signed-off-by: Paul Mundt commit 5900711ad7173b1cf3ee72eb21572e20b263ca0d Author: Paul Mundt Date: Wed May 23 17:40:56 2007 +0900 sh: pfn_valid() depends on flatmem. pfn_valid() is already defined in the sparsemem case, so we only need to define this for CONFIG_FLATMEM. Signed-off-by: Paul Mundt commit 678597be5e116516e9cfa806fc6ea6eb5de77d8f Author: Nobuhiro Iwamatsu Date: Wed May 23 12:56:24 2007 +0900 sh: Add L-BOX RE2 to mach-types. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Paul Mundt commit 3a3c60fc0b4c2e3e6f037f68c84ddd9468b2a196 Author: Takashi YOSHII Date: Wed May 23 12:34:13 2007 +0900 sh: Align .machvec.init section on a 4-byte boundary. .machvec.init can be misaligned with the recent machvec changes, forcibly align it on the boundary that it expects, as before. Signed-off-by: Takashi YOSHII Signed-off-by: Paul Mundt commit 05627486ab7f31ea09d8bb7a83582ca0185dc283 Author: Paul Mundt Date: Tue May 15 16:25:47 2007 +0900 sh: Fix SH-4 CPU selects. Now that select no longer works for selecting the "closest" CPU, we have to explicitly reference the precise sub-type in the few places where it actually matters (presently only setup code and some legacy sh-sci cruft). Signed-off-by: Paul Mundt commit fd8f20e8e2f8f1d9201086bff444c8d35f0a6a45 Author: Paul Mundt Date: Tue May 15 15:38:30 2007 +0900 sh: Rip out special unknown machvec. This kills off the BareCPU board as a "special" machvec, rather, we leave this as a default for when no other vector is available, or when we want to use it in combination with other vectors for testing with generic ops. As sh_mv is copied out anyways (or overloaded when an alternate vector is explicitly selected), this doesn't consume any additional memory. The generic machvec can be forcibly selected with sh_mv=generic, or by not having any other boards enabled. Signed-off-by: Paul Mundt commit 82f81f4784479df17a80caff4a7156da0a2f7dea Author: Paul Mundt Date: Tue May 15 15:19:34 2007 +0900 sh: Kill off machvec aliases. We now throw all of the machvecs in to .machvec.init and either select one on the command line, or copy out the first (and usually only) one to sh_mv. The rest are freed as usual. This gets rid of all of the silly sh_mv aliasing and makes the selection explicit rather than link-order dependent. Signed-off-by: Paul Mundt commit 25f8151bdcdd62c6b879e3669a562c0d329eee4a Author: Paul Mundt Date: Mon May 14 19:12:37 2007 +0900 sh: Get multiple boards in one image working again. This tidies up the build rules and permits multiple boards to be linked in to the same kernel. The earlier Kconfig work ensures that the CPU configuration is consistent across the boards, as this is the only thing that we can't do dynamically. Signed-off-by: Paul Mundt commit ba36197cf4ff68f631bb1b3d4cc442d567279fe3 Author: Paul Mundt Date: Mon May 14 17:48:00 2007 +0900 sh: Fixup cmdline handling from machvec changes. The command line wasn't being saved off properly after the machvec changes went in, fix it up. Signed-off-by: Paul Mundt commit f3d2229852697062d530f19742f0ab792b92873d Author: Paul Mundt Date: Mon May 14 17:29:12 2007 +0900 sh: Rework CPU/board dependencies. This was a big mess, rework the logic a bit so that we constrain to a particular subtype and figure out the board support based on that. This makes building subtype specific kernels supporting multiple boards possible again. Signed-off-by: Paul Mundt commit 882c12c4e1a95e55227f06dbb99eca90f237c018 Author: Paul Mundt Date: Mon May 14 17:26:34 2007 +0900 sh: Shut up SH2-DSP compile warnings. Signed-off-by: Paul Mundt commit 9655ad03af2d232c3b26e7562ab4f8c29b107e49 Author: Paul Mundt Date: Mon May 14 15:59:09 2007 +0900 sh: Fixup machvec support. This fixes up much of the machvec handling, allowing for it to be overloaded on boot. Making practical use of this still requires some Kconfig munging, however. Signed-off-by: Paul Mundt commit e08f457c7c0cc7720f28349f8780ea752c063441 Author: Paul Mundt Date: Mon May 14 12:52:56 2007 +0900 sh: __user annotations for __get/__put_user(). This adds in some more __user annotations. These weren't being handled properly in some of the __get_user and __put_user paths, so tidy those up. Signed-off-by: Paul Mundt commit 7a302a9674593259866de4a9d5ae8edc03dc1934 Author: Paul Mundt Date: Mon May 14 12:50:43 2007 +0900 sh: Split out CPU topology initialization. Split out the CPU topology initialization to a separate file, and switch it to a percpu type, rather than an NR_CPUS array. At the same time, switch to only registering present CPUs, rather than using the possible CPU map. Signed-off-by: Paul Mundt commit bb350d1decd9c48ffaa7f7e263df3056df9f4f21 Author: FUJITA Tomonori Date: Sat May 26 02:28:25 2007 +0900 [SCSI] ib_srp: 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. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Acked-by: Roland Dreier Signed-off-by: James Bottomley commit f0002c4e1fe22d74a43d4ba3379257ee612e2724 Author: FUJITA Tomonori Date: Sat May 26 13:07:28 2007 +0900 [SCSI] mesh: 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. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Acked-by: Paul Mackerras Signed-off-by: James Bottomley commit 209e101bf408a50acc426e32c8252daefacde5b0 Author: Dave Kleikamp Date: Wed Jun 6 16:30:17 2007 -0500 JFS: use print_hex_dump() rather than private dump_mem() function Signed-off-by: Dave Kleikamp commit e8666b2718fdb5bf0ea7c3126f7e292bbbf2946b Author: Joshua Hoblitt Date: Mon May 21 16:47:43 2007 -1000 [CPUFREQ] Kconfig powernow-k8 driver should depend on ACPI P-States driver powernow-k8 really needs to use ACPI to function on SMP systems. The current Kconfig allows us to build kernels which fail mysteriously for some users due to us trying to automatically enable this, and getting it wrong. It's easier to just present this as an option to the user. Signed-off-by: Joshua Hoblitt Signed-off-by: Dave Jones commit 275bc6b7f6429afb8d7a883c2e267547dd899066 Author: Rafał Bilski Date: Tue Jun 5 22:08:50 2007 +0200 [CPUFREQ] Longhaul - Replace ACPI functions with direct I/O Current version of "bm status" bit test works as long as no USB device is in use. When USB device is plugged in ACPI function in this context is always returning 1. Until reboot. Direct I/O is working fine even when many USB devices are connected. Change bm_timeout value to less annoying. 1000 is still much more then worst case observed and it is much better when status bit gets stuck. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit f720e3ba558680cc7dd3995d005bdc8ee2ef46af Author: Dave Kleikamp Date: Wed Jun 6 15:28:35 2007 -0500 JFS: Whitespace cleanup and remove some dead code Signed-off-by: Dave Kleikamp commit d8196ed2181b4595eaf464a5bcbddb6c28649a39 Author: Mike Christie Date: Wed May 30 12:57:25 2007 -0500 [SCSI] iscsi class, iscsi_tcp, iser, qla4xxx: add netdevname sysfs attr iSCSI must support software iscsi (iscsi_tcp, iser), hardware iscsi (qla4xxx), and partial offload (broadcom). To be able to allow each stack or driver or port (virtual or physical) to be able to log into the same target portal we use the initiator tuple [[HWADDRESS | NETDEVNAME], INITIATOR_NAME] and the target tuple [TARGETNAME, CONN_ADDRESS, CONN_PORT] to id a session. This patch adds the netdev name, which is used by software iscsi when it binds a session to a netdevice using the SO_BINDTODEVICE sock opt. It cannot use HWADDRESS because if someone did vlans then the same netdevice will have the same mac and the initiator,target id will not be unique. Signed-off-by: Mike Christie Cc: Roland Dreier Cc: David C Somayajulu Signed-off-by: James Bottomley commit 2223696192c687f2853e42b7c1e0d3ef002081fd Author: Mike Christie Date: Wed May 30 12:57:24 2007 -0500 [SCSI] iscsi class, qla4xxx, iscsi_tcp: export local address This patch exports the local address for the session. For qla4xxx this is the ip of the hba's port. For software this is the src addr of the socket. Signed-off-by: Mike Christie Cc: David C Somayajulu Signed-off-by: James Bottomley commit 4e7aba73f9f6e9fe6d3fa10d3fd63cd4882ba3d0 Author: Mike Christie Date: Wed May 30 12:57:23 2007 -0500 [SCSI] iscsi_tcp: fix fd leak This patch should fix the file descriptor leak problem. A quick look through the kernel shows that users of sockfd_lookup use sockfd_put to release their handle. We were using sock_release which from the comments and code look like it does not release the get() on the file from the lookup. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 0ab823db869f1c9454c5b031a9b8f8812ccd0aa7 Author: Mike Christie Date: Wed May 30 12:57:22 2007 -0500 [SCSI] qla4xxx: add iscsi_transport capps for fw capacilities Userspace will want to know what the driver/FW/HW capabilites when it comes to some operations like if the hardware can do discovery or if it can store iscsi info like what target was used for boot. This patch adds some new caps so userspace can tell if the driver supports hardware/fw based sendtargets discovery and if the hardware has some flash which may be holding or can contain some iscsi target info . Signed-off-by: Mike Christie Cc: David C Somayajulu Signed-off-by: James Bottomley commit d1d81c01f4bdd50577d9f89aa4a8e6344f63aa70 Author: Mike Christie Date: Wed May 30 12:57:21 2007 -0500 [SCSI] iscsi_tcp: remove DMA alignment restriction Add a slave_configure function to iSCSI TCP to remove any DMA alignment restriction. This permits the use of direct IO from arbitrary addresses. Signed-off-by: Pete Wyckoff Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit dbdb016d92603619d972082167c10b8c74e605cc Author: Mike Christie Date: Wed May 30 12:57:20 2007 -0500 [SCSI] iscsi_tcp: fix handling of data buffer padding If we got the padding, data and header in different skbs, we were not handling the padding correctly because we attributed it to the data's skb. This resulted in the initiator reading from pad bytes + skb offset instead of the correct offset. If you could not connect with the open solaris target, this will fix the lock up problem you were hitting. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 1548271ece9e9312fd5feb41fd58773b56a71d39 Author: Mike Christie Date: Wed May 30 12:57:19 2007 -0500 [SCSI] libiscsi: make can_queue configurable This patch allows us to set can_queue and cmds_per_lun from userspace when we create the session/host. From there we can set it on a per target basis. The patch fully converts iscsi_tcp, but only hooks up ib_iser for cmd_per_lun since it currently has a lots of preallocations based on can_queue. Signed-off-by: Mike Christie Cc: Roland Dreier Signed-off-by: James Bottomley commit 77a23c21aaa723f6b0ffc4a701be8c8e5a32346d Author: Mike Christie Date: Wed May 30 12:57:18 2007 -0500 [SCSI] libiscsi: fix iscsi cmdsn allocation The cmdsn allocation and pdu transmit code can race, and we can end up sending a pdu with cmdsn 10 before a pdu with 5. The target will then fail the connection/session. This patch fixes the problem by delaying the cmdsn allocation until we are about to send the pdu. This also removes the xmitmutex. We were using the connection xmitmutex during error handling to handle races with mtask and ctask cleanup and completion. For ctasks we now have nice refcounting and for the mtask, if we hit the case where the mtask timesout and it is floating around somewhere in the driver, we end up dropping the session. And to handle session level cleanup, we use the xmit suspend bit along with scsi_flush_queue and the session lock to make sure that the xmit thread is not possibly transmitting a task while we are trying to kill it. Signed-off-by: Mike Christie Cc: Roland Dreier Signed-off-by: James Bottomley commit 218432c68085d6c2b04df57daaf105d2ffa2aa61 Author: Mike Christie Date: Wed May 30 12:57:17 2007 -0500 [SCSI] iscsi tcp: fix iscsi xmit state machine If iscsi_tcp partially sends a header, it would recalculate the header size and readd the size of the digest (if header digests are used).This would cause us to send sizeof(digest) extra bytes when we sent the rest of the header. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit b2c6416736b847b91950bd43cc5153e11a1f83ee Author: Mike Christie Date: Wed May 30 12:57:16 2007 -0500 [SCSI] iscsi class, iscsi_tcp, ib_iser: add sysfs chap file The attached patches add sysfs files for the chap settings to the iscsi transport class, iscsi_tcp and ib_iser. This is needed for software iscsi because there are times when iscsid can die and it will need to reread the values it was using. And it is needed by qla4xxx for basic management opertaions. This patch does not hook in qla4xxx yet, because I am not sure the mbx command to use. Signed-off-by: Mike Christie Cc: Roland Dreier Signed-off-by: James Bottomley commit 857ae0bdb72999936a28ce621e38e2e288c485da Author: Mike Christie Date: Wed May 30 12:57:15 2007 -0500 [SCSI] iscsi: Some fixes in preparation for bidirectional support - total_length - Remove shadow of request length from struct iscsi_cmd_task. - change all users to use scsi_cmnd->request_bufflen directly (With bidi we will use scsi-ml API to retrieve in/out length) Signed-off-by: Boaz Harrosh Signed-off-by: Benny Halevy Signed-off-by: Mike Christie Cc: Roland Dreier Signed-off-by: James Bottomley commit d473cc7f15f64ab8a90c3d7288ef30f46785d8d5 Author: Mike Christie Date: Wed May 30 12:57:14 2007 -0500 [SCSI] iscsi: Some fixes in preparation for bidirectional support - exp_datasn This patch fixes handling of expected datasn/r2tsn as received from target. It is done according to: T10 rfc3720 section 3.2.2.3. Data Sequencing. . unify expected datasn/r2tsn into one counter . calculate than check expected datasn/r2tsn. On error print a message and fail the request. (TODO use iscsi retransmits) . remove the FIXME ;) . avoid zero length memset Signed-off-by: Boaz Harrosh Signed-off-by: Benny Halevy Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 8ad5781ae9702a8f95cfdf30967752e4297613ee Author: Mike Christie Date: Wed May 30 12:57:13 2007 -0500 [SCSI] iscsi class, qla4xxx, iscsi_tcp, ib_iser: export/set initiator name For iscsi root boot, software iscsi needs to know what the BIOS/OF initiator used for the initiator name so this puts it in sysfs for userspace to be able to pick up. For hw iscsi, it is nice to see what the card is using. This patch adds the new param, and hooks in qla4xxx, iscsi_tcp, and ib_iser. Signed-off-by: Mike Christie Cc: Roland Dreier Cc: David C Somayajulu Signed-off-by: James Bottomley commit 0801c242a33426fddc005c2f559a3d2fa6fca7eb Author: Mike Christie Date: Wed May 30 12:57:12 2007 -0500 [SCSI] libiscsi, iscsi_tcp, ib_iser : add sw iscsi host get/set params helpers iscsid and udev need to key off the hw address being used so add some helpers for iser and iscsi tcp. Also convert them Signed-off-by: Mike Christie Cc: Roland Dreier Signed-off-by: James Bottomley commit 1d9bf13a9cf91f8faf221e98a64dd1157bcf5fa9 Author: Mike Christie Date: Wed May 30 12:57:11 2007 -0500 [SCSI] iscsi class: add iscsi host set param event The iscsi class uses the set_param event to set session and connection params. This patch adds a set_host_param so we can set host level values. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 2174a04ee7d8304a270de183fbc58b36dd05b395 Author: Mike Christie Date: Wed May 30 12:57:10 2007 -0500 [SCSI] iscsi_transport, qla4xxx: have class lookup host for drivers We are going to be adding more host level sysfs attrs and set_params, so this patch has them take a scsi_host instead of either a scsi_host or host no. Signed-off-by: Mike Christie Cc: David C Somayajulu Signed-off-by: James Bottomley commit aa1e93a2fe0392588220d491454e7752d0fdb251 Author: Mike Christie Date: Wed May 30 12:57:09 2007 -0500 [SCSI] qla4xxx: export mac as hw address Export mac as hw address. Signed-off-by: Mike Christie Cc: David C Somayajulu Signed-off-by: James Bottomley commit 1819dc8143eff2a5850af274bcf8bcbc3e73ec76 Author: Mike Christie Date: Wed May 30 12:57:08 2007 -0500 [SCSI] iscsi_transport: export hw address Add hw address sysfs file. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 239a7dc2fea4d079bc3090b5514497a5ced400d3 Author: Mike Christie Date: Wed May 30 12:57:07 2007 -0500 [SCSI] iscsi_transport: Check iscsi interface skb allocation return value Let's not oops when we cannot allocate a skb! Add a check for if alloc_skb fails. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 5c9cfeddbb49954b459fda91bf5479f5a0a4e409 Author: Salyzyn, Mark Date: Wed May 30 10:01:14 2007 -0400 [SCSI] aacraid: Changeable queue depth Inspired by Brian King's patch to the ibmvscsi driver. Adds support for a changeable queue depth to the aacraid driver. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 32fbac2256cedee62de5602b1703c15c150a6e14 Author: FUJITA Tomonori Date: Mon May 14 20:13:44 2007 +0900 [SCSI] megaraid: 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: FUJITA Tomonori Acked-by: Sumant Patro Signed-off-by: James Bottomley commit 155d98f072bbb4ffb5cefc7cecbba06df37699ab Author: FUJITA Tomonori Date: Sat May 26 05:04:08 2007 +0900 [SCSI] megaraid_sas: 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: FUJITA Tomonori Acked-by: Sumant Patro Signed-off-by: James Bottomley commit 3f6270ef76f2ce5c134615a470685d6c2a66c07e Author: FUJITA Tomonori Date: Mon May 14 20:17:27 2007 +0900 [SCSI] megaraid_old: 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. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Acked-by: Sumant Patro Signed-off-by: James Bottomley commit 2b14ec787869707843a14164a3ba91930a076031 Author: Christoph Hellwig Date: Thu May 31 20:12:32 2007 +0200 [SCSI] esp: use shost_priv Signed-off-by: Christoph Hellwig Acked-by: David Miller Signed-off-by: James Bottomley commit bcd92c9fbcc679ee95003083056f0441a1f474fa Author: Christoph Hellwig Date: Thu May 31 20:12:26 2007 +0200 [SCSI] introduce shost_priv helper Currently accessing the scsi host private data is rather messy because it comes as an unsigned long that always needs a cast first. This patch introduces a helper that does the cast called shost_priv. It's similar in spirit to netdev_priv for network drivers. This is the first patch introducing the macro, and the second patch in the series will convert esp and it's subdrivers as an example. Further conversion will wait until the helper is in the tree to make patch juggling easier. Signed-off-by: Christoph Hellwig Signed-off-by: James Bottomley commit 10803de4c18e8e085573fd7153de3e64d4246af5 Author: FUJITA Tomonori Date: Sat May 26 02:08:10 2007 +0900 [SCSI] dpt_i2o: 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. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori ACK. Code inspected. Driver changes NOT unit tested or compile tested. Acked-by: "Salyzyn, Mark" Signed-off-by: James Bottomley commit 385d70b4e2659ae525a00e46a9f97146949cfc14 Author: FUJITA Tomonori Date: Sat May 26 01:55:38 2007 +0900 [SCSI] qla2xxx: 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: FUJITA Tomonori Acked-by: Andrew Vasquez Signed-off-by: James Bottomley commit b1192d5ebab2f1664295a748b6ee6e89f3b07188 Author: FUJITA Tomonori Date: Thu May 31 15:24:03 2007 +0900 [SCSI] 3w-9xxx: eliminate missed map_single path This removes the remaining unnecessary map_single path Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 5bc65793cbf8da0d35f19ef025dda22887e79e80 Merge: 6edae70... 3f0a676... Author: James Bottomley Date: Wed May 30 23:57:05 2007 -0500 [SCSI] Merge up to linux-2.6 head Conflicts: drivers/scsi/jazz_esp.c Same changes made by both SCSI and SPARC trees: problem with UTF-8 conversion in the copyright. Signed-off-by: James Bottomley commit 6edae708bf77e012d855a7e2c7766f211d234f4f Author: FUJITA Tomonori Date: Mon May 14 20:20:27 2007 +0900 [SCSI] 3w-xxxx: 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. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Acked-by: Adam Radford Signed-off-by: James Bottomley commit 0debe01d3e26bb692c36c575514a124c29669cdd Author: FUJITA Tomonori Date: Sat May 26 02:33:31 2007 +0900 [SCSI] 3w-9xxx: 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. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Acked-by: Adam Radford Signed-off-by: James Bottomley commit 7a960b76ed1878a208e8bc68fe436b40aaff3ab5 Author: Robert P. J. Day Date: Wed May 23 14:41:40 2007 -0700 [SCSI] gdth: Fix obvious typo "spin_lock_irqrestore()" Fix misspelled "spin_lock_irqrestore" to read "spin_unlock_irqrestore" instead. Presumably, GDTH_RTC doesn't get used a lot. Signed-off-by: Robert P. J. Day Acked-by: Achim Leubner Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 6c4b7e4fdf702136891f802bdf7ad52076594721 Author: David Rientjes Date: Wed May 23 14:41:52 2007 -0700 [SCSI] gdth: fix ambiguous gdthtable definition Labeling a variable as __attribute_used__ is ambiguous: it means __attribute__((unused)) for gcc <3.4 and __attribute__((used)) for gcc >=3.4. There is no such thing as labeling a variable as __attribute__((used)). We assume that we're simply suppressing a warning here if gdthtable[] is declared but unreferenced. Acked-by: Achim Leubner Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 2e91724658d5d6b5f10ad44c8742d7ec1f4833ed Author: FUJITA Tomonori Date: Sat May 26 02:12:48 2007 +0900 [SCSI] nsp32: 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. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Acked-by: GOTO Masanori Signed-off-by: James Bottomley commit 742d25b819f11dce91b89e6c9ac17402a119f20a Author: Brian King Date: Tue May 29 15:46:14 2007 -0500 [SCSI] ibmvscsi: Changeable queue depth Adds support for a changeable queue depth to ibmvscsi. Signed-off-by: Brian King Signed-off-by: James Bottomley commit d5587d5dcd275338af21627a3e931a77a6c04b8d Author: FUJITA Tomonori Date: Sat May 26 10:01:24 2007 +0900 [SCSI] stex: 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: FUJITA Tomonori Acked-by: Ed Lin Signed-off-by: James Bottomley commit 5f7186c841a13abff0bf81ee93754b4f46e19141 Author: FUJITA Tomonori Date: Sat May 26 14:08:20 2007 +0900 [SCSI] qla4xxx: 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. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Acked-by: David C Somayajulu Signed-off-by: James Bottomley commit 1928d73fac9a38be901dd5c9eb8b18b56ce9e18d Author: FUJITA Tomonori Date: Sat May 26 00:37:15 2007 +0900 [SCSI] fusion: 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. TODO: use scsi_for_each_sg(). Signed-off-by: FUJITA Tomonori Acked-by: Eric Moore Signed-off-by: James Bottomley commit 63015bc9333907725f90a1691d0ade44e51cdcbf Author: FUJITA Tomonori Date: Sat May 26 00:26:59 2007 +0900 [SCSI] ipr: 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: FUJITA Tomonori Acked-by: Brian King Signed-off-by: James Bottomley commit ce243823af4fee3ab82e1da6b710fbc5f859ad8c Author: Rafał Bilski Date: Mon May 28 21:58:09 2007 +0200 [CPUFREQ] Longhaul - Remove duplicate multipliers Remove duplicate multipliers in clock_ratio table. On 1,4GHz Nehemiah two frequencies are present twice in table. It isn't fatal, but with voltage scaling enabled each will be set twice. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 73e107d4a156affeed510cf5745177fd893878f1 Author: Rafał Bilski Date: Mon May 28 21:56:19 2007 +0200 [CPUFREQ] Longhaul - Embedded "conservative" Longhaul with voltage scaling enabled works great on Ezra CPU (Longhaul ver. 2). As long as "conservative" governor is used. Both "ondemand" and "userspace" can change voltage from min to max at once. Motherboard unfortunatly turns off when vid difference is big. Longhaul was printing warning message, but it is not enough. Now driver will have "conservative" governor built in and will split bigger changes to smaller ones. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 13424f6514f6444554a103362dd9d31eabbbdc54 Author: Venki Pallipadi Date: Wed May 23 15:42:13 2007 -0700 [CPUFREQ] acpi-cpufreq: Proper ReadModifyWrite of PERF_CTL MSR During recent acpi-cpufreq changes, writing to PERF_CTL msr changed from RMW of entire 64 bit to RMW of low 32 bit and clearing of upper 32 bit. Fix it back to do a proper RMW of the MSR. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit 0a4b2ccc555fa2ca6873d60219047104e4805d45 Author: Thomas Renninger Date: Mon May 21 07:20:04 2007 -0500 [CPUFREQ] check return value of sysfs_create_file Eliminate build warning (sysfs_create_file return value must be checked) Signed-off-by: Thomas Renninger Signed-off-by: Dave Jones commit 489dc5cb18932d3cedaef03e84890475db17a843 Author: Rafał Bilski Date: Thu May 17 22:39:02 2007 +0200 [CPUFREQ] Longhaul - Check ACPI "BM DMA in progress" bit It is good idea to wait for PCI bus to become idle before frequency change. Thanks to ACPI it is possible. It makes sense only when northbridge support is in use because it is only case in which we can disable arbiter after check if PCI bus is busy. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 1b11d4ca6d9d7ea3ace9d241e52cc5fe3cfe3d8f Author: Rafał Bilski Date: Thu May 17 22:36:42 2007 +0200 [CPUFREQ] Longhaul - Move old_ratio to correct place Move one line where it should be. After first transition Longhaul will skip frequency transition if destination frequency is already set. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 920dd0fbba1a7aa34c45b73699dcaf092850df51 Author: Rafał Bilski Date: Thu May 17 22:35:29 2007 +0200 [CPUFREQ] Longhaul - VT8237 support Looks like VT8237 has the same bits which VT8235 has. Poke registers if it is found. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit 7d5edcc028f1bed2542a96edc2356e484f01ee47 Author: Rafał Bilski Date: Thu May 17 22:33:46 2007 +0200 [CPUFREQ] Longhaul - Use all kinds of support This patch is removing southbridge support as separate kind of support. Instead it is used to make other kinds of support more stable. Also northbridge and ACPI C3 support both will be used if both are available. Signed-off-by: Rafal Bilski Signed-off-by: Dave Jones commit c13e5566471d90ff2858f5cacaf27021d158e037 Author: FUJITA Tomonori Date: Sat May 26 02:46:37 2007 +0900 [SCSI] libsas: 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 Acked-by: Darrick J. Wong Signed-off-by: James Bottomley commit 41ce639a1c50cb936f058f52f99f65740e3f550e Author: FUJITA Tomonori Date: Sat May 26 02:45:17 2007 +0900 [SCSI] cciss: 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: FUJITA Tomonori Acked-by: Mike Miller Signed-off-by: James Bottomley commit fb119935e11b98230f20c500e9f9125ddf0f3a4d Author: Eric Sesterhenn Date: Wed May 23 14:41:36 2007 -0700 [SCSI] sg: remove unnecessary check coverity spotted this (cid #758). All callers dereference sfp, so we dont need this check. In addition to this, we dereference it earlier in the function. Signed-off-by: Eric Sesterhenn Acked-by: Douglas Gilbert Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit deff2627cda995c926788fd9192337ec3febe7b5 Author: FUJITA Tomonori Date: Mon May 14 19:25:56 2007 +0900 [SCSI] arcmsr: 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. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Acked-by: Nick Cheng Signed-off-by: James Bottomley commit 22c1a6600af920f4fef6d5cc51a8f04b58e9db83 Author: FUJITA Tomonori Date: Sat May 26 02:03:36 2007 +0900 [SCSI] aic7xxx_old: 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: FUJITA Tomonori Acked-by: Doug Ledford Signed-off-by: James Bottomley commit 85289f2efa108d1586a86d0c426ffc9d641bbdc2 Author: FUJITA Tomonori Date: Sat May 26 02:41:54 2007 +0900 [SCSI] tmscsim: 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: FUJITA Tomonori Signed-off-by: Guennadi Liakhovetski Signed-off-by: James Bottomley commit 70c8d897763e19405a160de729e62a0e727150d2 Author: Adrian Bunk Date: Wed May 23 14:41:35 2007 -0700 [SCSI] advansys: cleanups - remove the unneeded advansys.h - remove the unused advansys_setup() - make needlessly global functions static Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Acked-by: Christoph Hellwig Signed-off-by: James Bottomley commit d7dea2cf80f0c9eea795b4012e4c86205dda9882 Author: FUJITA Tomonori Date: Mon May 14 20:00:04 2007 +0900 [SCSI] sbp2: 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: FUJITA Tomonori Signed-off-by: Stefan Richter Signed-off-by: James Bottomley commit 6cad75a61d802c5f4f4299103b8f95aeb3ee9876 Author: Jeff Garzik Date: Sun May 27 08:52:12 2007 -0400 [SCSI] fdomain: fix PCMCIA-related warnings fdomain is one of those drivers that is compiled twice, once for PCMCIA and once for non-PCMCIA. The resultant two-driver setup leaves a bit of dead code and data in the non-PCMCIA case, which gcc complains about. Shuffle ifdefs a bit to eliminate the conditionally-dead code, and the compiler warnings. Signed-off-by: Jeff Garzik Signed-off-by: James Bottomley commit 565bae6a4a8f16459e179ebf4421c1291cf88aa5 Author: Christoph Hellwig Date: Fri May 11 16:30:29 2007 +0200 [SCSI] 53c7xx: kill driver It's been more than enough time now to try to get the new m68k drivers into the tree. Let's remove the old ones and we can remerge the new glue once it's ready. Given that there are patches to rename two out of the three drivers in m68k CVS and all of them need a lot of codingstyle love anyway that's probably the better strategy to begin with. Signed-off-by: Christoph Hellwig Cc: Geert Uytterhoeven Cc: Kars de Jong Cc: linux-m68k@vger.kernel.org Signed-off-by: James Bottomley commit ddc914c741c1374dbb5fa288b5e283060c2a8488 Author: FUJITA Tomonori Date: Mon May 14 15:43:56 2007 +0900 [SCSI] BusLogic: 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: FUJITA Tomonori Signed-off-by: James Bottomley commit bc1ebfba1a3a27122462fd342d11216e3faea53f Author: FUJITA Tomonori Date: Mon May 14 19:24:01 2007 +0900 [SCSI] qlogicfas408: 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. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit fea97f9ab26a17c29eadc102c04b88776d6262d4 Author: FUJITA Tomonori Date: Mon May 14 19:24:58 2007 +0900 [SCSI] u14-34f: 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. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit d17867135639bec1bce5b38d29e6fa4cfea050ea Author: FUJITA Tomonori Date: Mon May 14 19:26:29 2007 +0900 [SCSI] ultrastor: 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. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit e7d6cf55ea47684b704d67a6046044c29bad4824 Author: FUJITA Tomonori Date: Mon May 14 19:27:06 2007 +0900 [SCSI] wd7000: 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. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 58e2a02eb18393e76a469580fedf7caec190eb5e Author: FUJITA Tomonori Date: Mon May 14 20:21:16 2007 +0900 [SCSI] eata: 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. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit a258c85d0866d93b0c76e60fe236b6483a0d5680 Author: FUJITA Tomonori Date: Mon May 21 14:58:30 2007 +0900 [SCSI] initio: 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. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit c66cc13c16377d177d8887f15a3cc42ab3866f57 Author: FUJITA Tomonori Date: Mon May 14 20:26:06 2007 +0900 [SCSI] aha1740: 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. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 985c0a7277760512c65bda2eb12c1c7213233eeb Author: FUJITA Tomonori Date: Mon May 14 20:26:37 2007 +0900 [SCSI] a100u2w: 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. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit e1eaf460098e4fd168908af4e6951f921951e916 Author: FUJITA Tomonori Date: Mon May 14 20:27:00 2007 +0900 [SCSI] fdomain: 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: FUJITA Tomonori Signed-off-by: James Bottomley commit 9482ef855ef42acb8259f95296b1e93bfb474e74 Author: FUJITA Tomonori Date: Wed May 16 05:34:05 2007 +0900 [SCSI] sym53c500_cs: 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. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 772a5c3f3bbc7749971a3dd4ff35cd77a9e12201 Author: FUJITA Tomonori Date: Wed May 16 06:44:34 2007 +0900 [SCSI] sym53c416: 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. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 03cde46b6bd74672bcb88a2f155aa3e3b6ff4fa1 Author: FUJITA Tomonori Date: Wed May 16 07:01:23 2007 +0900 [SCSI] NCR53c406a: 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. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 646158c203ae8e76a44bb38634fc82f2da041824 Author: FUJITA Tomonori Date: Sat May 26 12:46:30 2007 +0900 [SCSI] mac53c94: 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. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 5f60ef6ac7b6338ec9e82a0900185d554f476243 Author: FUJITA Tomonori Date: Mon May 21 15:10:00 2007 +0900 [SCSI] ibmmca: 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. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 4c688fc7df61874997be4588c889e2248c4ca195 Author: FUJITA Tomonori Date: Sat May 26 02:02:34 2007 +0900 [SCSI] aic79xx: 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: FUJITA Tomonori Signed-off-by: James Bottomley commit 3a57c4a5aaee8d9d61b05d95d96f3fc4068b0518 Author: FUJITA Tomonori Date: Sat May 26 01:55:14 2007 +0900 [SCSI] aic7xxx: 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: FUJITA Tomonori Signed-off-by: James Bottomley commit 3258a4d5690880a62121553b604893ecaca7d042 Author: FUJITA Tomonori Date: Mon May 14 19:12:55 2007 +0900 [SCSI] 53c700: 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. Jens Axboe did the for_each_sg cleanup. Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 824d7b570b4dec49e868c251d670941b02a1e489 Author: FUJITA Tomonori Date: Sat May 26 14:04:03 2007 +0900 [SCSI] scsi_lib: add scatter/gather data buffer accessors This adds a set of accessors for the scsi data buffer. This is in preparation for chaining sg lists and bidirectional requests (and possibly, the mid-layer dma mapping). Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 9ef3e4a4527e1f65b8776287c6d4fd1fca5ba98f Author: James Smart Date: Thu May 24 19:04:44 2007 -0400 [SCSI] fc_transport: fix sysfs deadlock on vport delete When the vport attribute "delete" is used to delete the vport, sysfs deadlocks waiting for the write to complete, which is waiting for the sysfs teardown to complete. Moved this effort to a work_q element. Took the opportunity to make some other cosmetic changes: - removed tabs in Doc file - replaced with expanded spaces - minor copyright text and author text updates - removed a bunch of trailing whitespace Signed-off-by: James Smart Signed-off-by: James Bottomley commit bee4fe8e63ea1985f3955323dbc98b6d6bd5c6f8 Author: David C Somayajulu Date: Wed May 23 18:03:32 2007 -0700 [SCSI] qla4xxx: ql4_os.c bugfixes Free memory resources after invoking free_irq() in qla4xxx_free_adapter(). QLA4xxx has two pci functions per port (Ethernet and iSCSI). When one of these PCI functions issues a HBA reset, all other functions are notified and need to acknowledge and re-initialize. During module qla4xxx_remove_adapter() gets invoked. This function needs to wait if it is currently responding to a reset from another function. Signed-off-by: David Somayajulu Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit c0e344c9b7971996e4fe409d7b8ba9ceb7b7583d Author: David C Somayajulu Date: Wed May 23 18:03:27 2007 -0700 [SCSI] qla4xxx: ql4_mbx.c remove dead code bugfixes All all inbound mbx registers for all mbx commands. Remove dead code. Signed-off-by: David Somayajulu Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 401425b1ea005b39dcc544bffea833f338ba84f6 Author: David C Somayajulu Date: Wed May 23 18:03:20 2007 -0700 [SCSI] qla4xxx: ql4_isr.c support for new mbx cmds Add support to log all AENs and service mbx cmd completions for QLA4032 Signed-off-by: David Somayajulu Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit e08c182cba87180d7c1e7530dd690a5f6894c412 Author: David C Somayajulu Date: Wed May 23 18:14:34 2007 -0700 [SCSI] qla4xxx: update rev num and misc cleanup Clean up and update version number Signed-off-by: David Somayajulu Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 92b7273608da2c681f54fd36d182a582673ed260 Author: David C Somayajulu Date: Wed May 23 17:55:40 2007 -0700 [SCSI] qla4xxx: ql4_init.c bugfixes In qla4xxx_get_ddb_entry() and qla4xxx_add_device_dynamically() differentiate between a target which has been newly added vs a target which went offline temporarily and is online again. In qla4xxx_build_ddb_list() firmware ddb state needs to be updated by calling qla4xxx_get_ddb_entry(). Fix qla4x00_pci_config() and clean up code. Signed-off-by: David Somayajulu Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit b2854316574d1fa2f1b85ad336d4a88aee5dd140 Author: David C Somayajulu Date: Wed May 23 17:52:26 2007 -0700 [SCSI] qla4xxx: ql4_fw.h add support for qla4032 Add support for QLA4032 which supports IPv6 Signed-off-by: David Somayajulu Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 5c8bfc9449b64b3726262bcaa914eeeafdd47ed3 Author: David C Somayajulu Date: Wed May 23 17:50:55 2007 -0700 [SCSI] qla4xxx: ql4_def.h log all AENs and cleanup Add support for logging all AENs and clean up Signed-off-by: David Somayajulu Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 0187106664e1bbc1a17398e6125b8206d6c7079d Author: David C Somayajulu Date: Wed May 23 17:46:00 2007 -0700 [SCSI] qla4xxx: ql4_dbg.c remove dead code Remove dead code Signed-off-by: David Somayajulu Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit de5952e91caf41bd838a787c7b9b6ca2e1292484 Author: Martin Bligh Date: Wed May 23 16:11:46 2007 -0700 [SCSI] megaraid: fix compiler warnings The user ioctl mailbox can only support a 32 bit address for the commands structure. This is fine, since the area it's pointing to is allocated with pci_alloc_consistent(), so it should be physically < 4GB. Thus kill the ptr to u32 conversion warnings on 64 bit. Signed-off-by: Martin J. Bligh Signed-off-by: Andrew Morton Acked-by: "Patro, Sumant" Signed-off-by: James Bottomley commit c6a6c81cfdd0f9b95bf215d1b5626f4dbf1aba7d Author: Adrian Bunk Date: Wed May 23 14:41:46 2007 -0700 [SCSI] ips: remove kernel 2.4 code Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Acked-by: "Salyzyn, Mark" Signed-off-by: James Bottomley commit 6a31a8a651c1d671afc2438cbecb3ee3d610fac8 Author: Adrian Bunk Date: Wed May 23 14:41:46 2007 -0700 [SCSI] nsp32: remove kernel 2.4 code Signed-off-by: Adrian Bunk Acked-by: GOTO Masanori Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 702809ce9b1e91400826ec2ff203c06fdad36034 Author: Andrew Morton Date: Wed May 23 14:41:56 2007 -0700 [SCSI] ncr5380 warning fixes squish these: drivers/scsi/NCR5380.c:360: warning: 'phases' defined but not used drivers/scsi/NCR5380.c:360: warning: 'phases' defined but not used drivers/scsi/NCR5380.c:633: warning: 'NCR5380_print_options' defined but not used drivers/scsi/NCR5380.c:708: warning: 'NCR5380_proc_info' defined but not used drivers/scsi/NCR5380.c:360: warning: 'phases' defined but not used drivers/scsi/NCR5380.c:579: warning: 'NCR5380_probe_irq' defined but not used drivers/scsi/NCR5380.c:360: warning: 'phases' defined but not used drivers/scsi/NCR5380.c:708: warning: 'notyet_generic_proc_info' defined but not used drivers/scsi/NCR5380.c:708: warning: 'notyet_generic_proc_info' defined but not used Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 476834c25a04025d895f64d42affcd31bfb318cc Author: Jeff Garzik Date: Wed May 23 14:41:44 2007 -0700 [SCSI] aacraid,qla2xxx: use irq_handler_t where appropriate Signed-off-by: Jeff Garzik Signed-off-by: Andrew Morton Acked-by: "Salyzyn, Mark" Acked-by: Andrew Vasquez Signed-off-by: James Bottomley commit 730a646ddfea239aa9f6b732d5c10118f6801bc1 Author: Amol Lad Date: Wed May 23 14:41:37 2007 -0700 [SCSI] NCR5380: Replace yield() with a better alternative Replaced yield() with cond_resched() Signed-off-by: Amol Lad Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 355dfa1bc8026d185678fed4e409719a595b2d39 Author: James Bottomley Date: Tue May 22 14:43:14 2007 -0500 [SCSI] scsi_error: send the sense buffer down without copying Now that the block submission path correctly bounces, we can simply use the command sense_buffer to send to retrieve sense information and junk the unnecessary page allocation. Signed-off-by: James Bottomley commit a6123f142924a5e21f6d48e6e3c67d9060726caa Author: Bernhard Walle Date: Mon May 21 17:15:26 2007 +0200 [SCSI] sd: remove __GFP_DMA After 821de3a27bf33f11ec878562577c586cd5f83c64, it's not necessary to alloate a DMA buffer any more in sd.c. Signed-off-by: Bernhard Walle Signed-off-by: James Bottomley commit 352e921f0dd42f79652cdb50dd91122d068d7209 Author: Thomas Bogendoerfer Date: Tue May 22 10:13:19 2007 +0200 [SCSI] jazz_esp: converted to use esp_core Use new esp_scsi for JAZZ SCSI host adapter driver Signed-off-by: Thomas Bogendoerfer Signed-off-by: James Bottomley commit 72d39fea9017bbb1407620bf89dfe8d1fb658e35 Author: Alan Cox Date: Mon May 21 15:06:43 2007 +0100 [SCSI] initio: Convert into a real Linux driver and update to modern style This is a mix of a grand clean up I did and a reworking of the hotplug support by Christoph. In testing it works as well as the previous code did (that is -quite badly-) but we can now read it and as it settles in actually debug the long standing problems it shares with the old driver. Signed-off-by: Alan Cox From Christoph: removal of the BSD license is also fine with me, but should really get a mention in the changelog aswell. Signed-off-by: Christoph Hellwig Signed-off-by: James Bottomley commit 9d399cc7feac3faf66768566e04e16c750aad25f Author: Salyzyn, Mark Date: Fri May 18 14:51:34 2007 -0400 [SCSI] aacraid: add support for FUA Back in the beginning of last year we disabled mode page 8 and mode page 3f requests through device quirk bits instead of enhancing the driver to respond to these mode pages because there was no apparent added value. The Firmware that supports the new communication commands supports the ability to force a write around of the adapter cache on a command by command basis. In the attached patch we enable mode page 8 and 3f and spoof the results as needed in order to *convince* the layers above to submit writes with the FUA (Force Unit Attention) bit set if the file system or application requires it, if the Firmware supports the write through, or instead to submit a SYNCHRONIZE_CACHE if the Firmware does not. The added value here is for file systems that benefit from this functionality and for clustering or redundancy scenarios. Caveats: By convince, we are responding with a minimal short 3 byte content mode page 8, with only the data the SCSI layer needs and that we can fill confidently. Applications that require the customarily larger mode page 8 results may be confused by this(?). The FUA, or the SYNCHRONIZE_CACHE only affect the cache on the controller. Our firmware by default ensure that the underlying physical drives of the array have their cache turned off so normally this is not a problem. This attached patch is against current scsi-misc-2.6 and was unit tested on RHEL5. Since this is a feature enhancement, it should not be considered for any current stabilization efforts. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 0f06bb34f2dcd0c72aac7777995ef7cb733496e8 Author: Christoph Hellwig Date: Sun May 13 17:52:12 2007 +0200 [SCSI] aha152x: use wait_for_completion_timeout Use wait_for_completion_timeout instead a semaphore + timer. Signed-off-by: Christoph Hellwig Signed-off-by: James Bottomley commit 1dfcda06a67d6ad6f890dbd1bab84be5f17ef46d Author: Tejun Heo Date: Wed Mar 21 16:05:16 2007 +0900 [SCSI] kill scsi host template suspend/resume With libata converted to use sdev->manage_start_stop for suspend and resume, sht->suspend/resume() has no user left and low level suspend/ressume should be taken care of by low level driver's suspend/resume callbacks (e.g. PCI or PCMCIA driver callbacks). This patch removes sht->suspend/resume() callbacks. This change is suggested by Christoph Hellwig. Signed-off-by: Tejun Heo Cc: Christoph Hellwig Signed-off-by: James Bottomley commit 67b2009ae26ece6a54d0b689827903f53d6d21e6 Author: James Bottomley Date: Thu May 3 11:13:08 2007 -0500 [SCSI] ibmmca: convert to new probing API and fix oopses This is basically a straight conversion. I have one of these things, so I know it works ... my problem is that it has a wierd SCA like connector, so I can't connect anything to it (no cables). However, previously it panic'd in the interrupt, now it completes a bus scan. Signed-off-by: James Bottomley commit 904f7a3f042b5c6aa9e53ce83f2c9de5e33170ff Author: Dave Jones Date: Fri May 18 13:22:28 2007 -0400 [CPUFREQ] powernow-k8: clarify number of cores. Indicate number of processors and cores more cleanly in startup messages. Signed-off-by: Mark Langsdorf Signed-off-by: Dave Jones commit a53eb5e060c0ec7245c8f93b9dcd94afa6041e06 Author: James Smart Date: Fri Apr 27 12:41:09 2007 -0400 [SCSI] FC Transport support for vports based on NPIV This patch provides support for FC virtual ports based on NPIV. For information on the interfaces and design, please read the Documentation/scsi/scsi_fc_transport.txt file enclosed within the patch. The RFC was originally posted here: http://marc.info/?l=linux-scsi&m=117226959918393&w=2 Changes from the initial RFC: - Bug fix: needed a transport_class_unregister() for the vport class - Create a symlink to the vport in the shost device if it is not the parent of the vport. - Made symbolic name writable so it can be set after creation - Made the temporary fc_vport_identifiers struct private to the transport. - Deleted the vport_id field from the vport. I couldn't find any good use for it (and symname is a good replacement). - Made the vport_state and vport_last_state "private" attributes. Added the fc_vport_set_state() helper function to manage state transitions - Updated vport_create() to allow a vport to be created in a disabled state. - Added INITIALIZING and FAILED vport states - Added VPCERR_xxx defines for errors to be returned from vport_create() - Created a Documentation/scsi/scsi_fc_transport.txt file that describes the interfaces and expected LLDD behaviors. Signed-off-by: James Smart Signed-off-by: James Bottomley