commit e62438630ca37539c8cc1553710bbfaa3cf960a7 Author: Matthew Wilcox Date: Mon Dec 4 03:38:31 2006 -0700 [PATCH] Centralise definitions of sector_t and blkcnt_t CONFIG_LBD and CONFIG_LSF are spread into asm/types.h for no particularly good reason. Centralising the definition in linux/types.h means that arch maintainers don't need to bother adding it, as well as fixing the problem with x86-64 users being asked to make a decision that has absolutely no effect. The H8/300 porters seem particularly confused since I'm not aware of any microcontrollers that need to support 2TB filesystems. Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds commit 2d941e99dfa2f58f4cf294943274a4f8e264aab7 Merge: 651857a... a863055... Author: Linus Torvalds Date: Mon Dec 4 19:38:30 2006 -0800 Merge branch 'for-linus' of git://brick.kernel.dk/data/git/linux-2.6-block * 'for-linus' of git://brick.kernel.dk/data/git/linux-2.6-block: [PATCH] blktrace: don't return blktrace_seq from trace_note() [PATCH] blktrace: uninline trace_note() commit 651857a1ecaf97a8ad9d324dd2a61675c53e541e Merge: ee28b0d... d38eb8d... Author: Linus Torvalds Date: Mon Dec 4 19:33:45 2006 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: (31 commits) ocfs2: implement i_op->permission configfs: make configfs_dirent_exists() static ocfs2: update file system paths to set atime ocfs2: core atime update functions ocfs2: Add splice support ocfs2: Remove ocfs2_write_should_remove_suid() [PATCH] Export should_remove_suid() configfs: mutex_lock_nested() fix ocfs2: Remove struct ocfs2_journal_handle in favor of handle_t ocfs2: remove handle argument to ocfs2_start_trans() ocfs2: remove ocfs2_journal_handle journal field ocfs2: pass ocfs2_super * into ocfs2_commit_trans() ocfs2: remove unused handle argument from ocfs2_meta_lock_full() ocfs2: make ocfs2_alloc_handle() static ocfs2: remove unused ocfs2_handle_add_lock() ocfs2: remove unused ocfs2_handle_add_inode() ocfs2: Don't allocate handle early in ocfs2_rename() ocfs2: don't use handle for locking in allocation functions ocfs2: don't pass handle to ocfs2_meta_lock in ocfs2_rename() ocfs2: don't pass handle to ocfs2_meta_lock in ocfs2_symlink() ... commit ee28b0da1069ced1688aa9d0b7b378353b988321 Author: Al Viro Date: Mon Dec 4 22:05:09 2006 +0000 [PATCH] remote memory corruptor in ibmtr.c ip_summed changes last summer had missed that one. As the result, we have ip_summed interpreted as CHECKSUM_PARTIAL now. IOW, ->csum is interpreted as offset of checksum in the packet. net/core/* will both read and modify the value as that offset, with obvious reasons. At the very least it's a remote memory corruptor. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 87fcd70d983d30eca4b933fff2e97d9a31743d0a Author: Al Viro Date: Mon Dec 4 22:00:55 2006 +0000 [PATCH] selinux endianness annotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 91f433cacc9d1ae95ae46ce26d7bcf3a724c72d0 Merge: 15a4cb9... 0004a9d... Author: Linus Torvalds Date: Mon Dec 4 19:23:34 2006 -0800 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: [MIPS] Cleanup memory barriers for weakly ordered systems. [MIPS] Alchemy: Automatically enable CONFIG_RESOURCES_64BIT for PCI configs. [MIPS] Unify csum_partial.S [MIPS] SWARM: Fix a typo in #error directives [MIPS] Fix atomic.h build errors. [MIPS] Use SYSVIPC_COMPAT to fix various problems on N32 [MIPS] klconfig add missing bracket commit 15a4cb9c25df05a5d4844e80a1aea83d66165868 Merge: ff51a98... d8594d6... Author: Linus Torvalds Date: Mon Dec 4 19:22:33 2006 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/paulus/powerpc * master.kernel.org:/pub/scm/linux/kernel/git/paulus/powerpc: (194 commits) [POWERPC] Add missing EXPORTS for mpc52xx support [POWERPC] Remove obsolete PPC_52xx and update CLASSIC32 comment [POWERPC] ps3: add a default zImage target [POWERPC] Add of_platform_bus support to mpc52xx psc uart driver [POWERPC] typo fix and whitespace cleanup on mpc52xx-uart driver [POWERPC] Fix debug printks for 32-bit resources in the PCI code [POWERPC] Replace kmalloc+memset with kzalloc [POWERPC] Linkstation / kurobox support [POWERPC] Add the e300c3 core to the CPU table. [POWERPC] ppc: m48t35 add missing bracket [POWERPC] iSeries: don't build head_64.o unnecessarily [POWERPC] iSeries: stop dt_mod.o being rebuilt unnecessarily [POWERPC] Fix cputable.h for combined build [POWERPC] Allow CONFIG_BOOTX_TEXT on iSeries [POWERPC] Allow xmon to build on legacy iSeries [POWERPC] Change ppc64_defconfig to use AUTOFS_V4 not V3 [POWERPC] Tell firmware we can handle POWER6 compatible mode [POWERPC] Clean images in arch/powerpc/boot [POWERPC] Fix OF pci flags parsing [POWERPC] defconfig for lite5200 board ... commit d8594d639135b500bf6010f981ea854092d54030 Author: Grant Likely Date: Mon Dec 4 17:29:12 2006 -0700 [POWERPC] Add missing EXPORTS for mpc52xx support Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit 650f3289f40e9c2789ecb22683d140a05448f71b Author: Grant Likely Date: Mon Dec 4 17:29:13 2006 -0700 [POWERPC] Remove obsolete PPC_52xx and update CLASSIC32 comment The support for the 52xx-based systems is now included under CONFIG_CLASSIC32, since the 52xx chips have a 603e-based core. Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit 8a8944aab2e4b02550c29c45a0383dd4096dd989 Author: Geoff Levand Date: Mon Dec 4 16:11:38 2006 -0800 [POWERPC] ps3: add a default zImage target Add a powerpc make target that can be loaded by the ps3 bootloader (kboot) and set this as the default image to build for that platform. Until the compressed zImage wrapper is made, this arranges for a stripped vmlinux image to be built. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit b9272dfdfe6b13120144eabf79d562d9a29ad5ce Author: Grant Likely Date: Mon Nov 27 14:21:02 2006 -0700 [POWERPC] Add of_platform_bus support to mpc52xx psc uart driver Needed to support mpc52xx boards in arch/powerpc. This patch retains the platform_bus support when compiling for arch/ppc, but uses the of_platform bindings for arch/powerpc. Signed-off-by: Grant Likely Signed-off-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit 9b9129e73985fe31ee6fd6a5d9f04219d127c186 Author: Grant Likely Date: Mon Nov 27 14:21:01 2006 -0700 [POWERPC] typo fix and whitespace cleanup on mpc52xx-uart driver Single typo fix and whitespace changes. In preparation for heavy changes to this driver when support for arch/powerpc is added. Since the driver will be changing significantly anyway, then may as well take the opportunity to clean it up first. Signed-off-by: Grant Likely Signed-off-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit 0004a9dfeaa709a7f853487aba19932c9b1a87c8 Author: Ralf Baechle Date: Tue Oct 31 03:45:07 2006 +0000 [MIPS] Cleanup memory barriers for weakly ordered systems. Also the R4000 / R4600 LL/SC instructions imply a sync so no explicit sync needed. Signed-off-by: Ralf Baechle commit 08f57f7ffe5819e537301b1f1109fa4fc670bfff Author: Ralf Baechle Date: Sun Dec 3 19:55:45 2006 +0000 [MIPS] Alchemy: Automatically enable CONFIG_RESOURCES_64BIT for PCI configs. Signed-off-by: Ralf Baechle commit 0bcdda0f3a87ed684d46841b6069409e39c4af65 Author: Atsushi Nemoto Date: Mon Dec 4 00:42:59 2006 +0900 [MIPS] Unify csum_partial.S The 32-bit version and 64-bit version are almost equal. Unify them. This makes further improvements (for example, copying with parallel, supporting PREFETCH, etc.) easier. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 03dbd2e0b1dcb24d63f64aa234cce3a7fabed328 Author: Maciej W. Rozycki Date: Thu Nov 30 13:45:32 2006 +0000 [MIPS] SWARM: Fix a typo in #error directives This is a fix for a typo repeated several times in #error directives for invalid SiByte configurations. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit 4f8b5c70967de5fd27f2092f1f8da47f4705bb67 Author: Ralf Baechle Date: Thu Nov 30 15:38:10 2006 +0000 [MIPS] Fix atomic.h build errors. For the definition of atomic64_t atomic.h was relying on having been included previously. Before changeset d89d8e0637a5e4e0a12e90c4bc934d0d4c335239 this was happening as a side effect of including . Signed-off-by: Ralf Baechle commit 05e4396651ca1cac51d8da9ff4992741c9dc1e39 Author: Atsushi Nemoto Date: Tue Nov 7 18:02:44 2006 +0900 [MIPS] Use SYSVIPC_COMPAT to fix various problems on N32 N32 SysV IPC system calls should use 32-bit compatible code. arch/mips/kernel/linux32.c have similar compatible code for O32, but ipc/compat.c seems more complete. We can use it for both N32 and O32. This patch should fix these problems (and other possible problems): http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=1149188824.6986.6.camel%40diimka-laptop http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=44C6B829.8050508%40caviumnetworks.com Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 9567772f14f6d2692ea88ddc111a5a6b352fd512 Author: Mariusz Kozlowski Date: Thu Nov 30 10:16:29 2006 +0100 [MIPS] klconfig add missing bracket Signed-off-by: Mariusz Kozlowski Signed-off-by: Ralf Baechle commit ff51a98799931256b555446b2f5675db08de6229 Merge: a80958f... 8e42a5a... Author: Linus Torvalds Date: Mon Dec 4 13:12:29 2006 -0800 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: (82 commits) [PATCH] pata_ali: small fixes [PATCH] pata_via: VIA 8251 bridged systems are now out and about [PATCH] trivial piix: swap bogus dot for comma space [PATCH] sata_promise: PHYMODE4 fixup [PATCH] libata: always use polling IDENTIFY [libata] pata_cs5535: fix build [PATCH] ahci: do not powerdown during initialization [PATCH] libata: prepare ata_sg_clean() for invocation from EH [PATCH] libata: separate out rw ATA taskfile building into ata_build_rw_tf() [PATCH] libata: implement ata_exec_internal_sg() [PATCH] libata: make sure IRQ is cleared after ata_bmdma_freeze() [PATCH] libata: move BMDMA host status recording from EH to interrupt handler [PATCH] libata: make sure sdev doesn't go away while rescanning [PATCH] libata: don't request sense if the port is frozen [PATCH] libata: fix READ CAPACITY simulation [PATCH] libata: implement ATA_FLAG_SETXFER_POLLING and use it in pata_via, take #2 [PATCH] libata: set IRQF_SHARED for legacy PCI IDE IRQs [PATCH] libata: remove unused HSM_ST_UNKNOWN [PATCH] libata: kill unnecessary sht->max_sectors initializations [PATCH] libata: add missing sht->slave_destroy ... commit 8e42a5a220a3369c70d88474e887a6de6a4ae209 Author: Alan Date: Mon Dec 4 16:36:05 2006 +0000 [PATCH] pata_ali: small fixes Switch to pci_get_bus_and_slot because some x86 systems seem to be handing us a device with dev->bus = NULL. Also don't apply the isa fixup to revision C6 and later of the chip. Really we need to work out wtf is handing us pdev->bus = NULL, but firstly and more importantly we need the drivers working. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 75f609d2a923b8f1db870e0c63ff41c84c145589 Author: Alan Date: Mon Dec 4 16:38:25 2006 +0000 [PATCH] pata_via: VIA 8251 bridged systems are now out and about Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 2c5ff671ca853a1f73ae688bbf5b4f68a476b55d Author: Alan Date: Mon Dec 4 16:33:20 2006 +0000 [PATCH] trivial piix: swap bogus dot for comma space Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit a80958f4849316a18c06f75b9e850ccecbf20df8 Author: Al Viro Date: Mon Dec 4 20:41:19 2006 +0000 [PATCH] fix fallout from header dependency trimming OK, that seems to be enough to deal with the mess. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 0c789ff64e874bbece03b607f200566ab24ea9ab Author: Linus Torvalds Date: Mon Dec 4 10:52:29 2006 -0800 netfilter.h needs rcuupdate.h for RCU locking functions This was exposed by Al's recent header file dependency reduction patches.. Cc: Al Viro Cc: David S. Miller Signed-off-by: Linus Torvalds commit 9b8ab9f6c37c610feea20edfb357a3b8a43d39bd Merge: 12472b4... f23f6e0... Author: Linus Torvalds Date: Mon Dec 4 10:37:06 2006 -0800 Merge branch 'for-linus4' of master.kernel.org:/pub/scm/linux/kernel/git/viro/bird * 'for-linus4' of master.kernel.org:/pub/scm/linux/kernel/git/viro/bird: [PATCH] severing poll.h -> mm.h [PATCH] severing skbuff.h -> mm.h [PATCH] severing skbuff.h -> poll.h [PATCH] severing skbuff.h -> highmem.h [PATCH] severing uaccess.h -> sched.h [PATCH] severing fs.h, radix-tree.h -> sched.h [PATCH] severing module.h->sched.h commit 12472b4165a21f5415ff4f60f8f46311a6b7b9ac Merge: a79f43a... ef9467f... Author: Linus Torvalds Date: Mon Dec 4 08:41:17 2006 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: [SUNHME]: Fix for sunhme failures on x86 [XFRM] xfrm_user: Better validation of user templates. [DCCP] tfrc: Binary search for reverse TFRC lookup [DCCP] ccid3: Deprecate TFRC_SMALLEST_P [DCCP] tfrc: Identify TFRC table limits and simplify code [DCCP] tfrc: Add protection against invalid parameters to TFRC routines [DCCP] tfrc: Fix small error in reverse lookup of p for given f(p) [DCCP] tfrc: Document boundaries and limits of the TFRC lookup table [DCCP] ccid3: Fix warning message about illegal ACK [DCCP] ccid3: Fix bug in calculation of send rate [DCCP]: Fix BUG in retransmission delay calculation [DCCP]: Use higher RTO default for CCID3 commit a79f43a54b7df7b12bc1c0fbf4ba76520ba40354 Author: David Woodhouse Date: Mon Dec 4 15:45:46 2006 +0000 [PATCH] Enable RAID autorun on Mac partition tables. Signed-off-by: David Woodhouse Signed-off-by: Linus Torvalds commit 07704eb29a765d2e862000d952fd96271c1464e2 Merge: f75e3b1... 74f8f55... Author: Linus Torvalds Date: Mon Dec 4 08:29:45 2006 -0800 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: (34 commits) [S390] Don't use small stacks when lockdep is used. [S390] cio: Use device_reprobe() instead of bus_rescan_devices(). [S390] cio: Retry internal operations after vary off. [S390] cio: Use path verification for last path gone after vary off. [S390] non-unique constant/macro identifiers. [S390] Memory detection fixes. [S390] cio: Make ccw_dev_id_is_equal() more robust. [S390] Convert extmem spin_lock into a mutex. [S390] set KBUILD_IMAGE. [S390] lockdep: show held locks when showing a stackdump [S390] Add dynamic size check for usercopy functions. [S390] Use diag260 for memory size detection. [S390] pfault code cleanup. [S390] Cleanup memory_chunk array usage. [S390] Misaligned wait PSW at memory detection. [S390] cpu shutdown rework [S390] cpcmd <-> __cpcmd calling issues [S390] Bad kexec control page allocation. [S390] Reset infrastructure for re-IPL. [S390] Some documentation typos. ... commit f75e3b1de6a72f6eb22f3ab120dd52b902357c03 Author: Greg Ungerer Date: Mon Dec 4 17:28:03 2006 +1000 [PATCH] m68knommu: fix missing bracket in scatterlist.h This patch adds missing bracket. Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 04a9f081b76f536bcf69db066153c2a4231d5783 Author: Greg Ungerer Date: Mon Dec 4 17:27:58 2006 +1000 [PATCH] m68knommu: fix dma-mapping.h Make the m68knommu DMA handling consistent with other architectures. Compile problems pointed out by Adrian Bunk Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit d773c660973560970a6b3697cb280ddc5389447d Author: Greg Ungerer Date: Mon Dec 4 17:27:42 2006 +1000 [PATCH] m68knommu: remove __rom_end from 68360 startup code Remove use of __rom_end symbol all together. This helps clean out the miscellaneous symbols lying around in the m68knommu linker script. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 5a31be3fb52c276b4913bd89e77481fae0001510 Author: Greg Ungerer Date: Mon Dec 4 17:27:36 2006 +1000 [PATCH] m68knommu: memory register defines for 520x ColdFire CPU's Here is a small patch to automatically detect the DRAM size on m520x. It was generated against 2.6.17-uc0, and tested on an Intec 5208 dev board. (This part of the patch if the memory register defines for the 520x ColdFire CPU family - Greg). Signed-off-by: Michael Broughton Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 552984050958fc0f51bff38948d0bf4d31ea2b03 Author: Michael Broughton Date: Mon Dec 4 17:27:29 2006 +1000 [PATCH] m68knommu: auto detect memory size on M5208EVB board Here is a small patch to automatically detect the DRAM size on m520x. It was generated against 2.6.17-uc0, and tested on an Intec 5208 dev board. Signed-off-by: Michael Broughton Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 1bddcc50c27c8ca39a62a1d37e3928707be8f850 Author: David Wu Date: Mon Dec 4 17:27:22 2006 +1000 [PATCH] m68knommu: add SHM support It turns out SHMAT, SHMDT, SHMGET and SHMCTL support in sys_ipc() for m68knommu in 2.6 kernel(uClinux-dist-20060803 release) is missing. (copied from m68k sources, report by David Wu ) Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 329237c12b94911dfad128e2588b0b7ae9c516e7 Author: Greg Ungerer Date: Mon Dec 4 17:27:09 2006 +1000 [PATCH] m68knommu: add printk level for stack dump Specify printk level in m68knommu stack dump code. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 19127e2bf94e7b427530b64af417185221b69508 Author: Greg Ungerer Date: Mon Dec 4 17:26:55 2006 +1000 [PATCH] m68knommu: add printk level for oops dumps Specify printk level in m68knommu oops dump code. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 1b9552af943f54336333c9a6e02f5ed9f18e0bcc Author: Adrian Bunk Date: Mon Dec 4 17:26:44 2006 +1000 [PATCH] m68knommu: fix compile when CONFIG_BLK_DEV_INITRD=n This patch fixes the following compile error with CONFIG_BLK_DEV_INITRD=n and -Werror-implicit-function-declaration: ... CC arch/m68knommu/kernel/setup.o /home/bunk/linux/kernel-2.6/linux-2.6.18-rc5-mm1/arch/m68knommu/kernel/setup.c: In function 'setup_arch': /home/bunk/linux/kernel-2.6/linux-2.6.18-rc5-mm1/arch/m68knommu/kernel/setup.c:268: error: implicit declaration of function 'paging_init' make[2]: *** [arch/m68knommu/kernel/setup.o] Error 1 Signed-off-by: Adrian Bunk Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 6869e940c2244554ad8858f8c4f07bf7e2fd5e3d Author: Greg Ungerer Date: Mon Dec 4 16:40:58 2006 +1000 [PATCH] m68knommu: formatting cleanup in Kconfig Formatting and a spelling cleanup in m68knommu Kconfig. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 74f8f557fd0c6f32e17e78c9ef508ca66ef37d3a Author: Heiko Carstens Date: Mon Dec 4 15:41:10 2006 +0100 [S390] Don't use small stacks when lockdep is used. The lock dependency validator adds a bunch of extra stack frames to the stack, which can cause stack overflows. Especially seen on 31 bit where the small stack is only 4k. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 47af5518526d435d0d56a329a578f240e86eb678 Author: Cornelia Huck Date: Mon Dec 4 15:41:07 2006 +0100 [S390] cio: Use device_reprobe() instead of bus_rescan_devices(). In io_subchannel_register(), it is better to just reprobe the current device if it hasn't a driver yet than to rescan the whole bus. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit d23861ff1a4da1f4a5255eb4582f620191c6e1c0 Author: Cornelia Huck Date: Mon Dec 4 15:41:04 2006 +0100 [S390] cio: Retry internal operations after vary off. If I/O was running on a just varied off chpid, it will be terminated. If this was a common I/O layer internal I/O, it needs to be retried. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 24cb5b4846ebae5543869b5c596c2650f380df53 Author: Cornelia Huck Date: Mon Dec 4 15:41:01 2006 +0100 [S390] cio: Use path verification for last path gone after vary off. If the last path to a device is gone after a chpid has been varied off, putting it on the slow queue doesn't prevent a device driver from still attempting to use it (it may stay on the slow queue for a long time). Instead, trigger a verify event which will prevent I/O attempts from the device driver immediately. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 9163bb2e556f6c7879961df94540f0879db4717b Author: Ursula Braun Date: Mon Dec 4 15:40:59 2006 +0100 [S390] non-unique constant/macro identifiers. Add some prefixes to constands defined in drivers/s390/net/qdio.h and drivers/s390/lcs.h to make it possible to include the three header files drivers/s390/net/qeth.h, drivers/s390/net/qdio.h and drivers/net/s390/lcs.h in one C file. This is required for the patch that generates the kerntypes.o file for use by lcrash. Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky commit 8b62bc9642300471737bc3b77b2a4a2ead46dedb Author: Heiko Carstens Date: Mon Dec 4 15:40:56 2006 +0100 [S390] Memory detection fixes. VMALLOC_END on 31bit should be 0x8000000UL instead of 0x7fffffffL. The page mask which is used to make sure memory_end is on 4MB/2MB boundary is wrong and not needed. Therefore remove it. Make sure a vmalloc area does also exist and work on (future) machines with 4TB and more memory. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit ce26a8532fd062ccd3f3c589a4be269a2dc20f00 Author: Cornelia Huck Date: Mon Dec 4 15:40:54 2006 +0100 [S390] cio: Make ccw_dev_id_is_equal() more robust. Using memcmp to compare ccw_dev_id implies that the whole structure (incl. padding) has always been completely initialized to sane values. Comparing the structures field by field doesn't make such assumptions. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 09252e77ed13b1b412329825bad5797fbdd5a5c8 Author: Heiko Carstens Date: Mon Dec 4 15:40:51 2006 +0100 [S390] Convert extmem spin_lock into a mutex. There's no need to have a spin_lock here, but need sleepable context for vmem_map. Therefore convert the spin_lock into a mutex. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 1681cedaee9f8dcb59d499a9277bc3a190a2378d Author: Christian Borntraeger Date: Mon Dec 4 15:40:49 2006 +0100 [S390] set KBUILD_IMAGE. Set KBUILD_IMAGE to a sane value. This enables "make rpm" Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit 236257eee99a35d67d3feab0769bded83efdc3ec Author: Heiko Carstens Date: Mon Dec 4 15:40:47 2006 +0100 [S390] lockdep: show held locks when showing a stackdump Follow i386/x86_64: lockdep can be used to print held locks when printing a backtrace. This can be useful when debugging things like 'scheduling while atomic' asserts. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 59f35d53fde3987d071ea1c9bf1c9ba29fcb69fe Author: Gerald Schaefer Date: Mon Dec 4 15:40:45 2006 +0100 [S390] Add dynamic size check for usercopy functions. Use a wrapper for copy_to/from_user to chose the best usercopy method. The mvcos instruction is better for sizes greater than 256 bytes, if mvcos is not available a page table walk is better for sizes greater than 1024 bytes. Also removed the redundant copy_to/from_user_std_small functions. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit d57de5a36791cb1b7285649c62f183b0d3505f7d Author: Heiko Carstens Date: Mon Dec 4 15:40:42 2006 +0100 [S390] Use diag260 for memory size detection. Avoid the tprot loop if diag260 works and reports that there are no holes in memory. The tprot instruction can lead to a significant delay in the ipl process if the virtual guest has a lot of memory and the host is under memory pressure. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 29b08d2bae854f66d3cfd5f57aaf2e7c2c7fce32 Author: Heiko Carstens Date: Mon Dec 4 15:40:40 2006 +0100 [S390] pfault code cleanup. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 36a2bd425d9b3ba2a40b0653e08d17702c78558e Author: Heiko Carstens Date: Mon Dec 4 15:40:38 2006 +0100 [S390] Cleanup memory_chunk array usage. Need this at yet another file and don't want to add yet another extern... Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit baf2aeb3d9e286add823bcaea5442ad4ee34f6e4 Author: Heiko Carstens Date: Mon Dec 4 15:40:36 2006 +0100 [S390] Misaligned wait PSW at memory detection. If the memory detection code would ever reach the point where it would load the wait psw, it would generate a specification exception and the system would crash at ipl time. This is because of a misaligned wait psw. It needs to be on a double word boundary instead of a word boundary. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit c6b5b847a7cf11f131c43fe0041443ec11697fc7 Author: Heiko Carstens Date: Mon Dec 4 15:40:33 2006 +0100 [S390] cpu shutdown rework Let one master cpu kill all other cpus instead of sending an external interrupt to all other cpus so they can kill themselves. Simplifies reipl/shutdown functions a lot. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 740b5706b9c4b3767f597b3ea76654c6f2a800b2 Author: Heiko Carstens Date: Mon Dec 4 15:40:30 2006 +0100 [S390] cpcmd <-> __cpcmd calling issues In case of reipl cpcmd gets called when all other cpus are not running anymore. To prevent deadlocks change __cpcmd so that it doesn't take any locks and call cpcmd or __cpcmd, whatever is correct in the current context. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit a1a392f0b4f27604811bf8aa8d7636b3b4bc3803 Author: Heiko Carstens Date: Mon Dec 4 15:40:28 2006 +0100 [S390] Bad kexec control page allocation. KEXEC_CONTROL_MEMORY_LIMIT is an unsigned long value and therefore should be defined as one. Otherwise the kexec control page can be allocated above 2GB which will cause a specification exception on the sam31 instruction in the s390 kexec relocation code. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 15e9b586e0bd3692e2a21c5be178810d9d32214e Author: Heiko Carstens Date: Mon Dec 4 15:40:26 2006 +0100 [S390] Reset infrastructure for re-IPL. In case of re-IPL and diag308 doesn't work we have to reset all devices manually and wait synchronously that each reset finished. This patch adds the necessary infrastucture and the first exploiter of it. Subsystems that need to add a function that needs to be called at re-IPL may register/unregister this function via struct reset_call { struct reset_call *next; void (*fn)(void); }; void register_reset_call(struct reset_call *reset); void unregister_reset_call(struct reset_call *reset); When the registered function get called the context is: - all cpus beside the current one are stopped - all machine checks and interrupts are disabled - prefixing is disabled - a default machine check handler is available for use The registered functions may not take any locks are sleep. For the common I/O layer part of this patch: Introduce a reset_call css_reset that does the following: - clear all subchannels - perform a rchp on all channel paths and wait for the resulting machine checks This replaces the calls to clear_all_subchannels() and cio_reset_channel_paths() for kexec and ccw reipl. reipl_ccw_dev() now uses reipl_find_schid() to determine the subchannel id for a given device id. Also remove cio_reset_channel_paths() and friends since they are not needed anymore. Signed-off-by: Heiko Carstens Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 2254f5a7779452395e37ea2f7d6e1a550d34e678 Author: Nicolas Kaiser Date: Mon Dec 4 15:40:23 2006 +0100 [S390] Some documentation typos. Signed-off-by: Nicolas Kaiser Signed-off-by: Martin Schwidefsky commit 6b4044bdd158aa9ad07b3f68d1c7598036d3ee58 Author: Heiko Carstens Date: Mon Dec 4 15:40:20 2006 +0100 [S390] extmem unbalanced spin_lock. segment save will exit with a lock held if the passed segment doesn't exist. Any subsequent call to segment_save will lead to a deadlock. Fix this and give up the lock before returning. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 645c98c8b6c09eae58ac2f97e0ade6ced4d6443f Author: Horst Hummel Date: Mon Dec 4 15:40:18 2006 +0100 [S390] return 'count' for successful execution of dasd_eer_enable. Currently the return value of 'dasd_eer_enable' is returned - even if the function returned '0'. Now return 'count' for successful execution. Signed-off-by: Horst Hummel Signed-off-by: Martin Schwidefsky commit 29145a6c8cda3238049937612365e80b53c3f266 Author: Horst Hummel Date: Mon Dec 4 15:40:15 2006 +0100 [S390] Enhanced handling of failed termination requests. In case a request timed out and termination did not work, the console was flooded with retry messages (every 1/10s). Now we use a 5s delay per retry and generate a more precise message. Signed-off-by: Horst Hummel Signed-off-by: Martin Schwidefsky commit 5986b0e845bc52a53ff3cafd74d341e81c95658d Author: Michael Holzheu Date: Mon Dec 4 15:40:13 2006 +0100 [S390] Use diag instead of ccw reipl. Since the diag 308 reipl method is superior to the ccw method, we should use it whenever it is possible. We can do that, if the user has not specified a new reipl ccw device and the system has been ipled from a ccw device. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 66a4263b991097397823b46377a43ae35541ec26 Author: Cornelia Huck Date: Mon Dec 4 15:40:10 2006 +0100 [S390] Add MODALIAS= to the uevent for the ap bus. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 520a4e3728c214db6e91ade7b70443c2b9382de0 Author: Martin Schwidefsky Date: Mon Dec 4 15:40:07 2006 +0100 [S390] 3215 device locking. Remove lock pointer from 3215 device structure. Use get_ccwdev_lock for each use of the lock in the ccw-device structure. Signed-off-by: Martin Schwidefsky commit 3902e47628dcaf79b2c7a6a59f6978d968eff288 Author: Michael Holzheu Date: Mon Dec 4 15:40:05 2006 +0100 [S390] No panic for failed reboot If reboot fails (e.g. because wrong devno has been specified by the user), we should just stop all cpus, but should not trigger a kernel panic. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 654452a48aa2bbfa276016a1e35d8988ff991ebb Author: Heiko Carstens Date: Mon Dec 4 15:40:02 2006 +0100 [S390] termio <-> termios conversion error handling. Get rid of our own user_termio_to_kernel_termios() and kernel_termios_to_user_termio() macros which didn't check for errors on user space accesses. Instead use the generic functions which handle this properly. In addition the generic version of user_termio_to_kernel_termios() also copies the c_line member which was missing in our variant. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit bba125a6116e51faff98df1906bf77d06b644aea Author: Ralph Wuerthner Date: Mon Dec 4 15:40:00 2006 +0100 [S390] update interface notes in zcrypt.h Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky commit 03a4d2087644f5477d9a9742e75a329f23b279e6 Author: Michael Holzheu Date: Mon Dec 4 15:39:58 2006 +0100 [S390] Add ipl/reipl loadparm attribute. If multiple kernel images are installed on one DASD, the loadparm can be used to select the boot configuration. This patch introduces the following two new sysfs attributes: /sys/firmware/ipl/loadparm: shows loadparm of current system (ro) /sys/firmware/reipl/ccw/loadparm: loadparm used for next reboot (rw) Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit f7675ad791df4bec2b9d21bcc0f846320f0a921b Author: Heiko Carstens Date: Mon Dec 4 15:39:55 2006 +0100 [S390] Add __must_check to uaccess functions. Follow other architectures and add __must_check to uaccess functions. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit feb5babead7f8058f0108ec59c3e7c2df666bd67 Author: Heiko Carstens Date: Mon Dec 4 15:39:52 2006 +0100 [S390] Remove unused GENERIC_BUST_SPINLOCK from Kconfig. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 01376f4495840f3daf6d73679242b5964fc9603b Author: Horst Hummel Date: Mon Dec 4 15:39:50 2006 +0100 [S390] handle incorrect values when writing to dasd sysfs attributes. When writing to dasd attributes (e.g. readonly), all values besides '1' are handled like '0'. Other sysfs-attributes like 'online' are checking for '1' and for '0' and do not accept other values. Therefore enhanced checking and error handling in dasd_devmap attribute store functions. Signed-off-by: Horst Hummel Signed-off-by: Martin Schwidefsky commit 26916264c17b5af8a3eaaf83b128f85cf1107cff Author: Christian Borntraeger Date: Mon Dec 4 15:39:47 2006 +0100 [S390] remove salipl memory detection. The SALIPL entry point has an needless memory detection routine as we later check the memory size again. The SALIPL code also uses diagnose 0x060 if we are running under VM, but this diagnose is not compatible with the 64 bit addressing mode. The solution is to get rid of this code and rely on the memory detection in the startup code. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit 872455e2ca12843e3dd16ebde1ce02dccc4bf99f Author: Sergei Shtylyov Date: Sun Dec 3 20:52:27 2006 +0300 [POWERPC] Fix debug printks for 32-bit resources in the PCI code Cure the damage done by the former PCI debug printks fix for the case of 64-bit resources (commit 685143ac1f7a579a3fac9c7f2ac8f82e95af6864) which broke it for the plain vanilla 32-bit resources... Signed-off-by: Sergei Shtylyov Signed-off-by: Paul Mackerras commit f8485350c22b25f5b9804d89cb8fdf6626d0f5cb Author: Yan Burman Date: Sat Dec 2 13:26:57 2006 +0200 [POWERPC] Replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc. Signed-off-by: Yan Burman Signed-off-by: Paul Mackerras commit 04d76b937bdf60a8c9ac34e222e3ca977ab9ddc8 Author: Guennadi Liakhovetski Date: Fri Dec 1 22:53:48 2006 +0100 [POWERPC] Linkstation / kurobox support Support for the Kurobox(HG)/LinkStation-I NAS systems by Buffalo Technology, should be also applicable to the PPC TeraStation family. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 57933f8fbedba686659b947659418734615611e9 Author: Scott Wood Date: Fri Dec 1 12:57:05 2006 -0600 [POWERPC] Add the e300c3 core to the CPU table. This core is used in Freescale's 831x chips. Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit 25a31e2df0ee22bdc23494371db9e858b3a23471 Author: Mariusz Kozlowski Date: Thu Nov 30 10:25:23 2006 +0100 [POWERPC] ppc: m48t35 add missing bracket Add missing bracket in definition for m48t35 RTC chip. Signed-off-by: Mariusz Kozlowski Signed-off-by: Paul Mackerras commit e73aedba562d1e7777287043afb8e46131ed402e Author: Stephen Rothwell Date: Thu Nov 30 16:55:04 2006 +1100 [POWERPC] iSeries: don't build head_64.o unnecessarily Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 4eab0e65bd3c9d3065f54e7477fec79c5e939ed6 Author: Stephen Rothwell Date: Thu Nov 30 16:53:11 2006 +1100 [POWERPC] iSeries: stop dt_mod.o being rebuilt unnecessarily Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 0470466dbafd1db0815bb884d26a6be431e19f96 Author: Stephen Rothwell Date: Thu Nov 30 11:46:22 2006 +1100 [POWERPC] Fix cputable.h for combined build Remove CPU_FTR_16M_PAGE from the cupfeatures mask at runtime on iSeries. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 80814be40e1f0e7e6fc00fdfe0af16268670e0b4 Author: Stephen Rothwell Date: Thu Nov 30 11:45:14 2006 +1100 [POWERPC] Allow CONFIG_BOOTX_TEXT on iSeries and therefore combined builds. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit bbb681779012fae778c0a53081bbb19cf43bca4e Author: Stephen Rothwell Date: Thu Nov 30 11:44:09 2006 +1100 [POWERPC] Allow xmon to build on legacy iSeries xmon still does not run on iSeries, but this allows us to build a combined kernel that includes it. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit ec59cf710bcf638a895f2ad90cafb1493b95953e Author: Linas Vepstas Date: Wed Nov 29 12:05:22 2006 -0600 [POWERPC] Change ppc64_defconfig to use AUTOFS_V4 not V3 Defconfig ppc64 kernels running under late-model distros may hang in the automounter rc.d script, which seems to be expecting autofs version 4. This patch uses the newer autofs. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 0efbc18a753f7d6dbe832e014bc80e2b4c12bece Author: Paul Mackerras Date: Wed Nov 29 22:31:47 2006 +1100 [POWERPC] Tell firmware we can handle POWER6 compatible mode This adds the "logical" PVR value used by POWER6 in "compatible" mode to the list of PVR values that the kernel tells firmware it is able to handle. Signed-off-by: Paul Mackerras commit dc0f80aa6a6c128cf90adefb5b7deddfb56d937b Author: Geert Uytterhoeven Date: Tue Nov 28 12:31:53 2006 +0100 [POWERPC] Clean images in arch/powerpc/boot Add a rule to clean up the various generated image files in arch/powerpc/boot. Signed-off-by: Geert Uytterhoeven Signed-off-by: Paul Mackerras commit 4468f01dc7cfd1998845cd66a0cdb1f3ef9740f0 Author: Olof Johansson Date: Mon Nov 27 21:21:29 2006 -0600 [POWERPC] Fix OF pci flags parsing For PCI devices with only io ports, of_bus_pci_get_flags() will fall through and still mark the resource as IORESOURCE_MEM. Signed-off-by: Olof Johansson Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit ede8edb35b95c78c890b15fdb6cedcb3f42f4769 Author: Grant Likely Date: Mon Nov 27 14:16:30 2006 -0700 [POWERPC] defconfig for lite5200 board Signed-off-by: Grant Likely Acked-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit c6d4d657c2f11fe3b33dd8303f57a8b8d55323d6 Author: Grant Likely Date: Mon Nov 27 14:16:29 2006 -0700 [POWERPC] Add device trees for lite5200 and lite5200b eval boards Signed-off-by: Grant Likely Acked-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit 6b64253139a20b7db1f701a9117bc5174eb878bc Author: Grant Likely Date: Mon Nov 27 14:16:28 2006 -0700 [POWERPC] Add lite5200 board support to arch/powerpc Signed-off-by: Grant Likely Acked-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit 6065170cf75c64267f6edec5fd359ce8444bd13d Author: Grant Likely Date: Mon Nov 27 14:16:27 2006 -0700 [POWERPC] Add common routines for 52xx support in arch/powerpc Adds utility routines used by 52xx device drivers and board support code. Main functionality is to add device nodes to the of_platform_bus, retrieve the IPB bus frequency, and find+ioremap device registers. Signed-off-by: Grant Likely Signed-off-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit e65fdfd6ca447353ad1b4c0a0d20df55f3f6f233 Author: Sylvain Munaut Date: Mon Nov 27 14:16:26 2006 -0700 [POWERPC] Separate IRQ config / register set from main header There is no need to expose these settings outside the scope of the interrupt controller code itself. Signed-off-by: Sylvain Munaut Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit b9cf5d8e2edc503977be090eff45ef81555dcb1d Author: Grant Likely Date: Mon Nov 27 14:16:25 2006 -0700 [POWERPC] Move Efika support files into platforms/52xx The Efika board isn't different enough from other 52xx based boards to justify a separate platform. This patch merges it with the support code for all other 52xx based boards. Signed-off-by: Grant Likely Acked-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit d4150248fc769c7a69c61cb9d95dfac14950d8cf Author: Grant Likely Date: Mon Nov 27 14:16:24 2006 -0700 [POWERPC] Put mpc52xx support file in platforms/52xx platforms/embedded6xx is probably going away, and 52xx boards need some extra support the 52xx interrupt controller and DMA engine anyway. It makes sense to group all the 52xx bits into a single path. Signed-off-by: Grant Likely Signed-off-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit 39d074b2e4b89c914c00dfd9987672e2dea92f19 Author: Grant Likely Date: Mon Nov 27 14:16:23 2006 -0700 [POWERPC] Move MPC52xx PIC driver into arch/powerpc/platforms/52xx No other chips use this device, it belongs in a 52xx-specific path. Signed-off-by: Grant Likely Signed-off-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit b1e253c4dc601cb7785ba157edf282c1d02fe2ba Author: Grant Likely Date: Mon Nov 27 14:16:22 2006 -0700 [POWERPC] Document describing mpc52xx device tree binding conventions This document describes the device tree expectations for mpc52xx based boards. Signed-off-by: Grant Likely Acked-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit f5b2eb026949e7c3988074529854609921675cff Author: Stephen Rothwell Date: Mon Nov 27 17:17:02 2006 +1100 [POWERPC] iSeries: allow CONFIG_CMDLINE It doesn't hurt to have this enabled on legacy iSeries and will mean it is available for a combined build. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit c705677e1c69012adea3bc51b54e9c7170d1cbee Author: Stephen Rothwell Date: Mon Nov 27 14:59:50 2006 +1100 [POWERPC] iSeries: Eliminate "exceeds stub group size" warnings Commit 3ccfc65c5004e5fe5cfbffe43b8acc686680b53e missed the same fixes for legacy iSeries specific code, so make some more symbols no longer global. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 06f2138e61d4f5dce82207236767e0759bbd45cc Author: Rutger Nijlunsing Date: Sun Nov 26 21:08:38 2006 +0100 [POWERPC] Add files build to .gitignore Mostly taken from corresponding Makefile's make-clean rule. Tested by (cross)compiling for $ARCH PPC and POWERPC and checking output of git-status. Signed-off-by: Rutger Nijlunsing Signed-off-by: Paul Mackerras commit 143db67af02cecab28032ec3a52e586b1433fe70 Author: Michael Ellerman Date: Sun Nov 26 17:36:15 2006 +1100 [POWERPC] Provide dummy hard_irq_enable/disable() for PPC32 To allow arch/powerpc/kernel/crash.c to build on 32-bit we need a definition of hard_irq_disable(). 32-bit doesn't support the lazy interrupt disabling mechanism, so on 32-bit hard_irq_disable() is simply local_irq_disable(). Add a definition for hard_irq_enable() just for completeness. This allows (KEXEC=y && PPC32=y) to build again. Broken since d04c56f73c30a5e593202ecfcf25ed43d42363a2. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 4cfbdfff70989a0d99b6f357fbbe379c22a05f7c Author: Adrian Bunk Date: Fri Dec 1 12:53:18 2006 +0100 [POWERPC] include/asm-powerpc/: "extern inline" -> "static inline" "extern inline" generates a warning with -Wmissing-prototypes and I'm currently working on getting the kernel cleaned up for adding this to the CFLAGS since it will help us to avoid a nasty class of runtime errors. If there are places that really need a forced inline, __always_inline would be the correct solution. Signed-off-by: Adrian Bunk Signed-off-by: Paul Mackerras commit 28f9ec349ae47c91768b7bc5607db4442c818e11 Author: Vitaly Wool Date: Mon Nov 20 16:32:39 2006 +0300 [POWERPC] Add of_platform support for ROM devices This adds support for flash device descriptions to the OF device tree. It's inspired by and partially borrowed from Sergei's patch "[RFC] Adding MTD to device tree.patch". Signed-off-by: Vitaly Wool Signed-off-by: Sergei Shtylyov Signed-off-by: Paul Mackerras commit a5715d6dfc85e002bfad68bb2858cf5a248e2060 Author: Mohan Kumar M Date: Fri Nov 17 17:42:24 2006 +0530 [POWERPC] pSeries/kexec: Fix for interrupt distribution This allows any secondary CPU thread also to become boot cpu for POWER5. The patch is required to solve kdump boot issue when the kdump kernel is booted with parameter "maxcpus=1". XICS init code tries to match the current boot cpu id with "reg" property in each CPU node in the device tree. But CPU node is created only for primary thread CPU ids and "reg" property only reflects primary CPU ids. So when a kernel is booted on a secondary cpu thread above condition will never meet and the default distribution server is left as zero. This leads to route the interrupts to CPU 0, but which is not online at this time. We use ibm,ppc-interrupt-server#s to check for both primary and secondary CPU ids. Accordingly default distribution server value is initialized from "ibm,ppc-interrupt-gserver#s" property. We loop through ibm,ppc-interrupt-gserver#s property to find the global distribution server from the last entry that matches with boot cpuid. Signed-off-by: Mohan Kumar M Signed-off-by: Paul Mackerras commit 11faa658c668030759d4aea6a273b7ac9a0b4746 Author: Arnd Bergmann Date: Mon Nov 27 19:19:00 2006 +0100 [POWERPC] fix building without PCI At least the ide driver calls pcibus_to_node, which is not defined when CONFIG_PCI is disabled. This adds a nop function for the !PCI case. Signed-off-by: Arnd Bergmann commit 369cf4b940d0d92d33f39a2df11102f3e2df0e0a Author: Arnd Bergmann Date: Mon Nov 27 19:18:59 2006 +0100 [POWERPC] fix missing #include in sys_ppc32.c sys_mmap is declared in asm/syscalls.h Signed-off-by: Arnd Bergmann commit 4ec64d5686112e9c5a9f1eeeb0eeedd54fb07d69 Author: Arnd Bergmann Date: Mon Nov 27 19:18:58 2006 +0100 [POWERPC] ps3: add a default zImage target It's currently not possible to build the default zImage target if PS3 is the only selected platform. This is a hack to fall back to building the pseries style zImage, so the build is successful. This will probably change in the future, if someone writes a PS3 specific boot wrapper. Signed-off-by: Arnd Bergmann commit e22ba7e38144c1cccac5024cfd6ec88bb64d3e1f Author: Arnd Bergmann Date: Mon Nov 27 19:18:57 2006 +0100 [POWERPC] ps3: multiplatform build fixes A few code paths need to check whether or not they are running on the PS3's LV1 hypervisor before making hcalls. This introduces a new firmware feature bit for this, FW_FEATURE_PS3_LV1. Now when both PS3 and IBM_CELL_BLADE are enabled, but not PSERIES, FW_FEATURE_PS3_LV1 and FW_FEATURE_LPAR get enabled at compile time, which is a bug. The same problem can also happen for (PPC_ISERIES && !PPC_PSERIES && PPC_SOMETHING_ELSE). In order to solve this, I introduce a new CONFIG_PPC_NATIVE option that is set when at least one platform is selected that can run without a hypervisor and then turns the firmware feature check into a run-time option. The new cell oprofile support that was recently merged does not work on hypervisor based platforms like the PS3, therefore make it depend on PPC_CELL_NATIVE instead of PPC_CELL. This may change if we get oprofile support for PS3. Signed-off-by: Arnd Bergmann commit eb30c72026500f9efa9bb23ab2393d6a9e36c5e1 Author: Geert Uytterhoeven Date: Mon Nov 27 19:18:56 2006 +0100 [POWERPC] ps3: Missed renames of CONFIG_PS3 to CONFIG_PPC_PS3 When renaming CONFIG_PS3 to CONFIG_PPC_PS3, a few occurrences have been missed. I also fixed up the alignment in arch/powerpc/platforms/Makefile. Signed-off-by: Geert Uytterhoeven Signed-off-by: Arnd Bergmann commit e055595d3e5f5233374211bc6893e5d16976df99 Author: Arnd Bergmann Date: Mon Nov 27 19:18:55 2006 +0100 [POWERPC] cell: fix building without spufs It may be desireable to build a kernel for cell without spufs, e.g. as the initial kboot kernel. This requires that the SPU specific parts of the core dump and the xmon code depend on CONFIG_SPU_BASE instead of CONFIG_PPC_CELL. Signed-off-by: Arnd Bergmann commit da06aa08d9f23e4f970d9a25a6e52f9a7736bfa2 Author: Stephen Rothwell Date: Mon Nov 27 19:18:54 2006 +0100 [POWERPC] spufs: we should only execute init_spu_base on cell Signed-off-by: Stephen Rothwell Signed-off-by: Arnd Bergmann commit c2b2226c7e46549c26fd5f5f40122536bc91ba0d Author: Arnd Bergmann Date: Mon Nov 27 19:18:53 2006 +0100 [POWERPC] spufs: always send sigtrap on breakpoint Currently, we only send a sigtrap if the current task is being ptraced. This is somewhat inconsistant, and it breaks utrace support in fedora. Removing the check should do the right thing in all cases. Cc: Ulrich Weigand Signed-off-by: Arnd Bergmann commit bd2e5f829e772787ea4d986d72ddf57f50878649 Author: Jeremy Kerr Date: Mon Nov 27 19:18:52 2006 +0100 [POWERPC] spufs: return an error in spu_create is isolated create isnt supported This changes the spu_create system call to return an error (-ENODEV) if and isolated spu context is requested on hardware that doesn't support isolated mode. Tested on systemsim with and without isolation support Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit aa668d6aac63f5fc02aa63bf25ff36d12510e050 Author: Nicolas DET Date: Fri Nov 17 16:03:20 2006 +0100 [POWERPC] Fix compile issue for Efika platform This patch fixes a compile issue for the Efika platform recently introduced by API changes. Signed-off-by: Nicolas DET Signed-off-by: Paul Mackerras commit 7839af3354c9ed86336a0b40032007919393f3ed Author: Nicolas DET Date: Fri Nov 17 17:08:37 2006 +0100 [POWERPC] Compile a zImage.chrp if PPC_EFIKA seleted Signed-off-by: Nicolas DET Signed-off-by: Paul Mackerras commit fecb352f6bb86564b24ecbf7e5bfec09346b9327 Author: Mike Wolf Date: Tue Nov 21 14:41:54 2006 -0600 [POWERPC] powerpc: Make 970MP detectable by oprofile Change the oprofile_cpu_type in cputables.c to be ppc64/970MP. Oprofile needs to distinquish the MP from other 970 processors so it can add some new counters specific to the 970MP. Signed-off-by: Mike Wolf Signed-off-by: Paul Mackerras commit 1c72db14fe77c2aa2c18be0fa2594f54d7413147 Author: Arnd Bergmann Date: Thu Nov 23 00:47:02 2006 +0100 [POWERPC] update cell_defconfig for ps3 support In the common cell kernel, I want to have ps3 enabled to find potential bugs at compile-time. Also enable SPU disassembly in xmon. Signed-off-by: Arnd Bergmann commit 797c7b56d28e800947c66d1c324a6bfc83289b7a Author: Geoff Levand Date: Thu Nov 23 00:47:01 2006 +0100 [POWERPC] ps3: add ps3_defconfig Adds a ps3_defconfig for the PS3 game console. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit a3d4d6435b56eb0b6ff4f88e5a513cfccfb3e770 Author: Geoff Levand Date: Thu Nov 23 00:47:00 2006 +0100 [POWERPC] ps3: add ps3 platform system bus support Adds a PS3 system bus driver. This system bus is a virtual bus used to present the PS3 system devices in the LDM. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit de91a53429952875740692d1de36ae70d4cf81da Author: Geoff Levand Date: Thu Nov 23 00:46:59 2006 +0100 [POWERPC] ps3: add spu support Adds spu support for the PS3 platform. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit 00a3e2e93cd3ce73ab2d200fff22a62548da06d6 Author: Geoff Levand Date: Thu Nov 23 00:46:58 2006 +0100 [POWERPC] ps3: add OS params support Adds support for early access to the parameter data from the PS3 'Other OS' flash memory area. The parameter data mainly holds user preferences like static ip address. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit 261efc3f178c8c5b55d76208aee1f39ce247f723 Author: Geoff Levand Date: Thu Nov 23 00:46:57 2006 +0100 [POWERPC] ps3: add lpar addressing Adds some needed bits for a config option PS3_USE_LPAR_ADDR that disables the PS3 lpar address translation mechanism. This is a currently needed workaround for limitations in the design of the generic cell spu support. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit 2832a81df7f3cb7e7f912a256c156ddbd3450265 Author: Geoff Levand Date: Thu Nov 23 00:46:56 2006 +0100 [POWERPC] ps3: add interrupt support Adds routines to interface with the PS3 interrupt services. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit 6e74b38a7ffa6b69f287ae629aae91e725916e6f Author: Geoff Levand Date: Thu Nov 23 00:46:55 2006 +0100 [POWERPC] ps3: add repository support Adds support for the PS3 repository. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit c6cec72b7ca05822688a952df97b1c24e69a0ef6 Author: Geoff Levand Date: Thu Nov 23 00:46:54 2006 +0100 [POWERPC] ps3: add htab routines Adds pagetable management routines for the PS3. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit 82a527f0bd84977d7e85f15fb1f987c42cc0a68d Author: Geoff Levand Date: Thu Nov 23 00:46:53 2006 +0100 [POWERPC] ps3: add feature bits Adds the needed firmware feature bits for the PS3. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit 1e4ed915d133aaa2802d11914a7e80b3e31304e6 Author: Geoff Levand Date: Thu Nov 23 00:46:52 2006 +0100 [POWERPC] ps3: add lv1 hvcalls Adds the PS3 hvcalls. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit f58a9d171a346afb1b09190427e6c28c6118703e Author: Geoff Levand Date: Thu Nov 23 00:46:51 2006 +0100 [POWERPC] ps3: add support for ps3 platform Adds the core platform support for the PS3 game console and other devices using the PS3 hypervisor. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit a985239bdf017e00e985c3a31149d6ae128fdc5f Author: Michael Ellerman Date: Thu Nov 23 00:46:50 2006 +0100 [POWERPC] cell: spu management xmon routines This fixes the xmon support for the cell spu to be compatable with the split spu platform code. Signed-off-by: Geoff Levand Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit e28b003136b5b2f10c25b49c32df9b7742550c23 Author: Geoff Levand Date: Thu Nov 23 00:46:49 2006 +0100 [POWERPC] cell: abstract spu management routines This adds a platform specific spu management abstraction and the coresponding routines to support the IBM Cell Blade. It also removes the hypervisor only resources that were included in struct spu. Three new platform specific routines are introduced, spu_enumerate_spus(), spu_create_spu() and spu_destroy_spu(). The underlying design uses a new type, struct spu_management_ops, to hold function pointers that the platform setup code is expected to initialize to instances appropriate to that platform. For the IBM Cell Blade support, I put the hypervisor only resources that were in struct spu into a platform specific data structure struct spu_pdata. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit e34226d2cd443a67f46fc531e3a6bc6e03843ce2 Author: Geoff Levand Date: Thu Nov 23 00:46:48 2006 +0100 [POWERPC] add virq_to_hw accessor routine This adds an accessor routine virq_to_hw() to the virq routines which hides the implementation details of the virq to hwirq map. Acked-by: Benjamin Herrenschmidt Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit 897f112bb42ed9e220ce441e7e52aba3a144a7d6 Author: Michael Ellerman Date: Thu Nov 23 00:46:47 2006 +0100 [POWERPC] Import updated version of ppc disassembly code for xmon This includes: * version 1.24 of ppc-dis.c * version 1.88 of ppc-opc.c * version 1.23 of ppc.h I can't vouch for the accuracy etc. of these changes, but it brings us into line with binutils - and from a cursory test appears to work fine. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit 0b8e2e131094d162a836e2afe86e52acbfa05703 Author: Michael Ellerman Date: Thu Nov 23 00:46:46 2006 +0100 [POWERPC] Make 64-bit cpu features defined on 32-bit It saves #ifdef'ing in callers if we at least define the 64-bit cpu features for 32-bit also. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit e0426047cb684842700f0098f74842a38260dbae Author: Michael Ellerman Date: Thu Nov 23 00:46:45 2006 +0100 [POWERPC] Make xmon disassembly optional While adding spu disassembly support it struck me that we're actually carrying quite a lot of code around, just to do disassembly in the case of a crash. While on large systems it's not an issue, on smaller ones it might be nice to have xmon - but without the weight of the disassembly support. For a Cell build this saves ~230KB (!), and for pSeries ~195KB. We still support the 'di' and 'sdi' commands, however they just dump the instruction in hex. Move the definitions into a header to clean xmon.c just a tiny bit. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit af89fb8041562508895c8f3ba04790d7c2f4338c Author: Michael Ellerman Date: Thu Nov 23 00:46:44 2006 +0100 [POWERPC] Add spu disassembly to xmon This patch adds a "sdi" command to xmon, to disassemble the contents of an spu's local store. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit ae06e374c15c5d62e08c19c15f2c247a86e240d4 Author: Michael Ellerman Date: Thu Nov 23 00:46:43 2006 +0100 [POWERPC] Import spu disassembly code into xmon This patch imports and munges the spu disassembly code from binutils. All files originated from version 1.1 in binutils cvs. * spu.h, spu-insns.h and spu-opc.c are unchanged except for pathnames. * spu-dis.c has been edited heavily: * use printf instead of info->fprintf_func and similar. * pass the instruction in rather than reading it. * we have no equivalent to symbol_at_address_func, so we just assume there is never a symbol at the address given. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit 4c4c8723684b1b2cd0dfdf5e0685f35642bde253 Author: Michael Ellerman Date: Thu Nov 23 00:46:42 2006 +0100 [POWERPC] Prepare for spu disassembly in xmon In order to do disassembly of spu binaries in xmon, we need to abstract the disassembly function from ppc_inst_dump. We do this by making the actual disassembly function a function pointer that we pass to ppc_inst_dump(). To save updating all the callers, we turn ppc_inst_dump() into generic_inst_dump() and make ppc_inst_dump() a wrapper which always uses print_insn_powerpc(). Currently we pass the dialect into print_insn_powerpc(), but we always pass 0 - so just make it a local. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit 24a24c85d3c35790a355138d7cd34c074cb1b3ac Author: Michael Ellerman Date: Thu Nov 23 00:46:41 2006 +0100 [POWERPC] Add a sd command (spu dump) to xmon to dump spu local store Add a command to xmon to dump the memory of a spu's local store. This mimics the 'd' command which dumps regular memory, but does a little hand holding by taking the user supplied address and finding that offset in the local store for the specified spu. This makes it easy for example to look at what was executing on a spu: 1:mon> ss ... Stopped spu 04 (was running) ... 1:mon> sf 4 Dumping spu fields at address c0000000019e0a00: ... problem->spu_npc_RW = 0x228 ... 1:mon> sd 4 0x228 d000080080318228 01a00c021cffc408 4020007f217ff488 |........@ ..!...| Aha, 01a00c02, which is of course rdch $2,$ch24 ! -- Updated to only do the setjmp goo around the spu access, and not around prdump because it does its own (via mread). Also the num variable is now common between sf and sd, so you don't have to keep typing the spu number in if you're repeating commands on the same spu. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit 2a14442bfebfea23d004fa4dfd067a94f5720ed7 Author: Michael Ellerman Date: Thu Nov 23 00:46:40 2006 +0100 [POWERPC] Show state of spus as theyre stopped in Cell xmon helper After stopping spus in xmon I often find myself trawling through the field dumps to find out which spus were running. The spu stopping code actually knows what's running, so let's print it out to save the user some futzing. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit 437a0706837d09d8ab071c6790da07d9d6bb3d22 Author: Michael Ellerman Date: Thu Nov 23 00:46:39 2006 +0100 [POWERPC] Fix sparse warning in xmon Cell code My patch to add spu helpers to xmon (a898497088f46252e6750405504064e2dce53117) introduced a few sparse warnings, because I was dereferencing an __iomem pointer. I think the best way to handle it is to actually use the appropriate in_beXX functions. Need to rejigger the DUMP macro a little to accomodate that. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit 5850dd8f6d4e79484d498c0d77b223d1041f9954 Author: Benjamin Herrenschmidt Date: Thu Nov 23 00:46:38 2006 +0100 [POWERPC] cell: hard disable interrupts in power_save() With soft-disabled interrupts in power_save, we can still get external exceptions on Cell, even if we are in pause(0) a.k.a. sleep state. When the CPU really wakes up through the 0x100 (system reset) vector, while we have already started processing the 0x500 (external) exception, we get a panic in unrecoverable_exception() because of the lost state. This occurred in Systemsim for Cell, but as far as I can see, it can theoretically occur on any machine that uses the system reset exception to get out of sleep state. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Arnd Bergmann commit bf1ab978be2318c5a564de9aa0f1a217b44170d4 Author: Dwayne Grant McConnell Date: Thu Nov 23 00:46:37 2006 +0100 [POWERPC] coredump: Add SPU elf notes to coredump. This patch adds SPU elf notes to the coredump. It creates a separate note for each of /regs, /fpcr, /lslr, /decr, /decr_status, /mem, /signal1, /signal1_type, /signal2, /signal2_type, /event_mask, /event_status, /mbox_info, /ibox_info, /wbox_info, /dma_info, /proxydma_info, /object-id. A new macro, ARCH_HAVE_EXTRA_NOTES, was created for architectures to specify they have extra elf core notes. A new macro, ELF_CORE_EXTRA_NOTES_SIZE, was created so the size of the additional notes could be calculated and added to the notes phdr entry. A new macro, ELF_CORE_WRITE_EXTRA_NOTES, was created so the new notes would be written after the existing notes. The SPU coredump code resides in spufs. Stub functions are provided in the kernel which are hooked into the spufs code which does the actual work via register_arch_coredump_calls(). A new set of __spufs__read/get() functions was provided to allow the coredump code to read from the spufs files without having to lock the SPU context for each file read from. Cc: Signed-off-by: Dwayne Grant McConnell Signed-off-by: Arnd Bergmann commit 9309180f11f0107c9858a61a1ac2b04518a91080 Author: Benjamin Herrenschmidt Date: Tue Nov 21 14:56:37 2006 +1100 [POWERPC] powerpc: Workaround for of_platform without "reg" nor "dcr-reg" Devices with no "reg" nor "dcr-reg" property are given a bus_id which is the node name alone. This means that if more than one such device with the same names are present in the system, sysfs will have collisions when creating the symlinks and will fail registering the devices. This works around that problem by assigning successive numbers to such devices. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 974a76f51355d22f4f63d83d6bb1ccecd019ec58 Author: Paul Mackerras Date: Fri Nov 10 20:38:53 2006 +1100 [POWERPC] Distinguish POWER6 partition modes and tell userspace This adds code to look at the properties firmware puts in the device tree to determine what compatibility mode the partition is in on POWER6 machines, and set the ELF aux vector AT_HWCAP and AT_PLATFORM entries appropriately. Specifically, we look at the cpu-version property in the cpu node(s). If that contains a "logical" PVR value (of the form 0x0f00000x), we call identify_cpu again with this PVR value. A value of 0x0f000001 indicates the partition is in POWER5+ compatibility mode, and a value of 0x0f000002 indicates "POWER6 architected" mode, with various extensions disabled. We also look for various other properties: ibm,dfp, ibm,purr and ibm,spurr. Signed-off-by: Paul Mackerras commit 18f2190d796198fbb5d4bc4c87511acf3ced7d47 Author: Maynard Johnson Date: Mon Nov 20 18:45:16 2006 +0100 [POWERPC] cell: Add oprofile support Add PPU event-based and cycle-based profiling support to Oprofile for Cell. Oprofile is expected to collect data on all CPUs simultaneously. However, there is one set of performance counters per node. There are two hardware threads or virtual CPUs on each node. Hence, OProfile must multiplex in time the performance counter collection on the two virtual CPUs. The multiplexing of the performance counters is done by a virtual counter routine. Initially, the counters are configured to collect data on the even CPUs in the system, one CPU per node. In order to capture the PC for the virtual CPU when the performance counter interrupt occurs (the specified number of events between samples has occurred), the even processors are configured to handle the performance counter interrupts for their node. The virtual counter routine is called via a kernel timer after the virtual sample time. The routine stops the counters, saves the current counts, loads the last counts for the other virtual CPU on the node, sets interrupts to be handled by the other virtual CPU and restarts the counters, the virtual timer routine is scheduled to run again. The virtual sample time is kept relatively small to make sure sampling occurs on both CPUs on the node with a relatively small granularity. Whenever the counters overflow, the performance counter interrupt is called to collect the PC for the CPU where data is being collected. The oprofile driver relies on a firmware RTAS call to setup the debug bus to route the desired signals to the performance counter hardware to be counted. The RTAS call must set the routing registers appropriately in each of the islands to pass the signals down the debug bus as well as routing the signals from a particular island onto the bus. There is a second firmware RTAS call to reset the debug bus to the non pass thru state when the counters are not in use. Signed-off-by: Carl Love Signed-off-by: Maynard Johnson Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 0443bbd3d8496f9c2bc3e8c9d1833c6638722743 Author: Kevin Corry Date: Mon Nov 20 18:45:15 2006 +0100 [POWERPC] cell: Add routines for managing PMU interrupts The following routines are added to arch/powerpc/platforms/cell/pmu.c: cbe_clear_pm_interrupts() cbe_enable_pm_interrupts() cbe_disable_pm_interrupts() cbe_query_pm_interrupts() cbe_pm_irq() cbe_init_pm_irq() This also adds a routine in arch/powerpc/platforms/cell/interrupt.c and some macros in cbe_regs.h to manipulate the IIC_IR register: iic_set_interrupt_routing() Signed-off-by: Kevin Corry Signed-off-by: Carl Love Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit e4f6948cfc8b9626022db0f93e7cf2ce5c0998cd Author: Kevin Corry Date: Mon Nov 20 18:45:14 2006 +0100 [POWERPC] cell: Move PMU-related stuff to include/asm-powerpc/cell-pmu.h Move some PMU-related macros and function prototypes from cbe_regs.h and pmu.h in arch/powerpc/platforms/cell/ to a new header at include/asm-powerpc/cell-pmu.h This is cleaner to use from the oprofile code, since that sits in arch/powerpc/oprofile, not in the cell platform directory. Signed-off-by: Kevin Corry Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit c93dfa0766bae3c92ec8311bddbbf16b8e661f59 Author: Kevin Corry Date: Mon Nov 20 18:45:13 2006 +0100 [POWERPC] cell: PMU register macros More macros for manipulating bits in the Cell PMU control registers. Signed-off-by: Kevin Corry Signed-off-by: Carl Love Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 5231800c6fb99c106951a5e1a8e739ad9657e93f Author: Arnd Bergmann Date: Mon Nov 20 18:45:12 2006 +0100 [POWERPC] cell: Add symbol exports for oprofile Add symbol-exports for the new routines in arch/powerpc/platforms/cell/pmu.c. They are needed for Oprofile, which can be built as a module. Signed-off-by: Kevin Corry Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit c6730ed4c280ff9e55766796523c94a7d111da09 Author: Jeremy Kerr Date: Mon Nov 20 18:45:10 2006 +0100 [POWERPC] spufs: Load isolation kernel from spu_run In order to fit with the "don't-run-spus-outside-of-spu_run" model, this patch starts the isolated-mode loader in spu_run, rather than spu_create. If spu_run is passed an isolated-mode context that isn't in isolated mode state, it will run the loader. This fixes potential races with the isolated SPE app doing a stop-and-signal before the PPE has called spu_run: bugzilla #29111. Also (in conjunction with a mambo patch), this addresses #28565, as we always set the runcntrl register when entering spu_run. It is up to libspe to ensure that isolated-mode apps are cleaned up after running to completion - ie, put the app through the "ISOLATE EXIT" state (see Ch11 of the CBEA). Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 3960c260204bc33404a6e54e9dcd44f1f83bc701 Author: Jeremy Kerr Date: Mon Nov 20 18:45:09 2006 +0100 [POWERPC] spufs: Add runcntrl read accessors This change adds a read accessor for the SPE problem-state run control register. This is required for for applying (userspace) changes made to the run control register while the SPE is stopped - simply asserting the master run control bit is not sufficient. My next patch for isolated-mode setup requires this. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit ee2d7340cbf3b123e1c3b7454f3e2b7e65d33bb2 Author: Arnd Bergmann Date: Mon Nov 20 18:45:08 2006 +0100 [POWERPC] spufs: Use SPU master control to prevent wild SPU execution When the user changes the runcontrol register, an SPU might be running without a process being attached to it and waiting for events. In order to prevent this, make sure we always disable the priv1 master control when we're not inside of spu_run. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 3692dc66149dc17cd82ec785a06478322c0eddff Author: Masato Noguchi Date: Mon Nov 20 18:45:07 2006 +0100 [POWERPC] spufs: Fix return value of spufs_mfc_write This patch changes spufs_mfc_write() to return correct size instead of 0. Signed-off-by: Masato Noguchi Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 932f535dd4c83dc3eb631c2cee1dfd6ae289b88c Author: Arnd Bergmann Date: Mon Nov 20 18:45:06 2006 +0100 [POWERPC] spufs: Always map local store non-guarded When fixing spufs to map the 'mem' file backing store cacheable, I incorrectly set the physical mapping to use both cache-inhibited and guarded mapping, which resulted in a serious performance degradation. Debugged-by: Michael Ellerman Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 5c3ecd659bd20cda214a402a3132c790cc886cd2 Author: Christoph Hellwig Date: Mon Nov 20 18:45:05 2006 +0100 [POWERPC] spufs: Avoid user-triggered oops in ptrace When one of the spufs files is mapped into a process address space, regular users can use ptrace to attempt accessing them with access_process_vm(). With the way that the mappings currently work, this likely causes an oops. Setting the vm_flags to VM_IO makes sure that ptrace can not access them but returns an error code. This is not the perfect solution in case of the local store mapping, but it fixes the oops in a well-defined way. Also remove leftover VM_RESERVED flags in spufs. The VM_RESERVED flag is on it's way out and not checked by the memory managment code anymore. Signed-off-by: Arnd Bergmann Signed-off-by: Christoph Hellwig Signed-off-by: Paul Mackerras commit 2ebb2477f9a61b436dd22b75189857df1a77e585 Author: Masato Noguchi Date: Mon Nov 20 18:45:04 2006 +0100 [POWERPC] spufs: Fix missing stop-and-signal When there is pending signals, current spufs_run_spu() always returns -ERESTARTSYS and it is called again automatically. But, if spe already stopped by stop-and-signal or halt instruction, returning -ERESTARTSYS makes stop-and-signal/halt lost and spu run over the end-point. For your convenience, I attached a sample code to restage this bug. If there is no bug, printed NPC will be 0x4000. Signed-off-by: Masato Noguchi Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 453d9f72a91d798c3e3c4b4bed26210926dfb57b Author: Arnd Bergmann Date: Mon Nov 20 18:45:03 2006 +0100 [POWERPC] spufs: Return correct event for data storage interrupt When we attempt an MFC DMA to an unmapped address, the event returned from spu_run should be SPE_EVENT_SPE_DATA_STORAGE, not SPE_EVENT_INVALID_DMA. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 0021550c0199b2bf5e434eda0216144074537fc7 Author: Geoff Levand Date: Mon Nov 20 18:45:02 2006 +0100 [POWERPC] spufs: Replace spu.nid with spu.node Replace the use of the platform specific variable spu.nid with the platform independednt variable spu.node. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 17f88cebc2c3aff9d90f0d49f6e0628835eddc32 Author: Dwayne Grant McConnell Date: Mon Nov 20 18:45:01 2006 +0100 [POWERPC] spufs: Read from signal files only if data is there We need to check the channel count of the signal notification registers before reading them, because it can be undefined when the count is zero. In order to read count and data atomically, we read from the saved context. This patch uses spu_acquire_saved() to force a context save before a /signal1 or /signal2 read. Because of this it is no longer necessary to have backing_ops and hw_ops versions of this function so they have been removed. Regular applications should not rely on reading this register to be fast, as it's conceptually a write-only file from the PPE perspective. Signed-off-by: Dwayne Grant McConnell Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 69a2f00ce5d3a19a70b36f08eaf9049677277710 Author: Dwayne Grant McConnell Date: Mon Nov 20 18:45:00 2006 +0100 [POWERPC] spufs: Implement /mbox_info, /ibox_info, and /wbox_info. This patch implements read only access to /mbox_info - SPU Write Outbound Mailbox /ibox_info - SPU Write Outbound Interrupt Mailbox /wbox_info - SPU Read Inbound Mailbox These files are used by gdb in order to look into the current mailbox queues without changing the contents at the same time. They are not meant for general programming use, since the access requires a context save and is therefore rather slow. It would be good to complement this patch with one that adds write support as well. Signed-off-by: Dwayne Grant McConnell Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 1182e1d351d2a910bc0fb53c00277c62235333de Author: Dwayne Grant McConnell Date: Mon Nov 20 18:44:59 2006 +0100 [POWERPC] spufs: Remove /spu_tag_mask file This patch removes the /spu_tag_mask file from spufs. The data provided by this file is also available from the /dma_info file in the dma_info_mask of the spu_dma_info struct. The file was intended to be used by gdb, but that never used it, and now it has been replaced with the more verbose dma_info file. Signed-off-by: Dwayne Grant McConnell Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit b9e3bd774bb1a90fee9b90f461a51e4ba295fe6d Author: Dwayne Grant McConnell Date: Mon Nov 20 18:44:58 2006 +0100 [POWERPC] spufs: Add /lslr, /dma_info and /proxydma files The /lslr file gives read access to the SPU_LSLR register in hex; 0x3fff for example The /dma_info file provides read access to the SPU Command Queue in a binary format. The /proxydma_info files provides read access access to the Proxy Command Queue in a binary format. The spu_info.h file provides data structures for interpreting the binary format of /dma_info and /proxydma_info. Signed-off-by: Dwayne Grant McConnell Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 9b5047e249f429722d0adc54cb5ef051bd3d685c Author: Dwayne Grant McConnell Date: Mon Nov 20 18:44:57 2006 +0100 [POWERPC] spufs: Change %llx to 0x%llx. This patches changes /npc, /decr, /decr_status, /spu_tag_mask, /event_mask, /event_status, and /srr0 files to provide output according to the format string "0x%llx" instead of "%llx". Before this patch some files used "0x%llx" and other used "%llx" which is inconsistent and potentially confusing. A user might assume "%llx" numbers were decimal if they happened to not contain any a-f digits. This change will break any code cannot tolerate a leading 0x in the file contents. The only known users of these files are the libspe but there might also be some scripts which access these files. This risk is deemed acceptable for future consistency. Signed-off-by: Dwayne Grant McConnell Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 8dc86ab954d28513f75918d743c40cddbff7388a Author: Geoff Levand Date: Mon Nov 20 18:44:56 2006 +0100 [POWERPC] Change ppc_rtas declaration to weak Change the definition of powerpc's cond_syscall() to use the standard gcc weak attribute specifier which provides proper support for C linkage as needed by spu_syscall_table[]. Fixes this powerpc build error with CONFIG_SPU_FS=y, CONFIG_PPC_RTAS=n: arch/powerpc/platforms/built-in.o: undefined reference to `ppc_rtas' Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 78dc4c20de0f2cb2aa6d4542f965f889be6da775 Author: Kalle Pokki Date: Sat Nov 11 12:09:39 2006 +0200 [POWERPC] 8xx: Off-by-one fixes to SCC parameter RAM definitions The SCC parameter RAM areas are mapped wrong in MPC8xx device descriptions. All memory areas overlap with the next one, so that I2C, SPI, SMC1 and SMC2 cannot be enabled if the four SCCs are. Signed-off-by: Kalle Pokki Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit adaa3a796282e2fa3bc48bc57bccd01ce891b8d2 Author: Geert Uytterhoeven Date: Fri Nov 17 06:21:12 2006 +0100 [POWERPC] setup_kcore(): Fix incorrect function name in panic() call. Signed-off-by: Geert Uytterhoeven Signed-off-by: Paul Mackerras commit 4687522c0dba89f1f71aeb8cf08acc4e1ee87fda Author: Grant Likely Date: Fri Nov 17 23:12:14 2006 -0700 [POWERPC] Don't compile arch/powerpc mpc52xx_pic driver for ARCH=ppc arch/powerpc/sysdev/mpc52xx_pic.c breaks the ppc build Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit 9a06c3b176976919e223844f8ed9f1acae20b433 Author: Adrian Cox Date: Fri Nov 17 14:35:48 2006 +0000 [POWERPC] Fix wraparound problem in smp-tbsync on 32-bit The patch below fixes an arithmetic wrap-around issue on 32bit machines using smp-tbsync. Without this patch a timebase value over 0x000000007fffffff will hang the boot process while bringing up secondary CPUs. Signed-off-by: Adrian Cox Signed-off-by: Paul Mackerras commit 35af89eb491a0741005e474626053266e6e635b7 Author: David Gibson Date: Tue Nov 21 11:37:37 2006 +1100 [POWERPC] Cleanup zImage handling of kernel entry with flat device tree This makes 2 changes to clean up the flat device tree handling logic in the zImage wrapper. First, there were two callbacks from the dt_ops structure used for producing a final flat tree to pass to the kerne: dt_ops.ft_pack() which packed the flat tree (possibly a no-op) and dt_ops.ft_addr() which retreived the address of the final blob. Since they were only ever called together, this patch combines the two into a single new callback, dt_ops.finalize(). This new callback does whatever platform-dependent things are necessary to produce a final flat device tree blob, and returns the blob's addres. Second, the current logic calls the kernel with a flat device tree if one is build into the zImage wrapper, otherwise it boots the kernel with a PROM pointer, expecting the kernel to copy the OF device tree itself. This approach precludes the possibility of the platform wrapper code building a flat device tree from whatever platform-specific information firmware provides. Thus, this patch takes the more sensible approach of invoking the kernel with a flat tree if the dt_ops.finalize callback provides one (by whatever means). So, the dt_ops.finalize callback can be NULL, or can be a function which returns NULL. In either case, the zImage wrapper logic assumes that this is a platform with OF and invokes the kernel accordingly. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit f79e083c2fab601a1c382282344f5a251557dbac Author: David Gibson Date: Thu Nov 16 15:31:32 2006 +1100 [POWERPC] Small clarification of initrd handling This patch makes the handling of the initrd (or initramfs) in the zImage wrapper a little easier to follow. Instead of passing the initrd addresses out from prep_kernel() via the cryptic a1 and a2 parameters, use the global struct add_range, 'initrd'. prep_kernel() already passes information through the 'vmlinux' addr_range struct, so this seems like a reasonable extension. Some comments also clarify the logic with prep_kernel(): we use an initrd included in the zImage if present, otherwise we use an initrd passed in by the bootloader in the a1 and a2 parameters (yaboot, at least, uses this mechanism to pass an initrd). Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 3e00a5aec3d6af687e37f4e7482f5c7ecdcabd0b Author: Benjamin Herrenschmidt Date: Thu Nov 16 14:03:33 2006 +1100 [POWERPC] Xserve cpu-meter driver This is a small driver for the Xserve G5 CPU-meter blue LEDs on the front-panel. It might work on the Xserve G4 as well though that was not tested. It's pretty basic and could use some improvements if somebody cares doing them. :) Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 088df4d256227b3d927bb6ed57e66d138da0565c Author: Linas Vepstas Date: Thu Nov 16 15:41:15 2006 -0600 [POWERPC] Wrap cpu_die() with CONFIG_HOTPLUG_CPU Per email discussion, it appears that rtas_stop_self() and pSeries_mach_cpu_die() should not be compiled if CONFIG_HOTPLUG_CPU is not defined. This patch adds #ifdefs around these bits of code. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 5873c9bdb05e9cc68ff4c45a192032a61f705067 Author: Zang Roy-r61911 Date: Tue Nov 14 14:31:50 2006 +0800 [POWERPC] Make pci_read_irq_line the default on mpc7448hpc2 board The following patch adds a tsi108/9 pci interrupt controller host. On mpc7448hpc2 board, pci_irq_fixup function is removed, which makes the pci_read_irq_line be the default pci irq fixup. Signed-off-by: Roy Zang Signed-off-by: Paul Mackerras commit 533462df56db99ceba4b4124b69469aa2a46a8de Author: Kalle Pokki Date: Mon Nov 13 11:22:30 2006 +0300 [POWERPC] CPM_UART: Fix inconsistency of function definition The below hunk was missed from the recent patch, and now, there are somewhat inconsistent definitions: in cpm_uart.h: int __init cpm_uart_init_portdesc(void); in cpm_uart_cpm1.c: int __init cpm_uart_init_portdesc(void) { } in cpm_uart_cpm2.c: int cpm_uart_init_portdesc(void) { } Signed-off-by: Kalle Pokki Signed-off-by: Vitaly Bordug Signed-off-by: Paul Mackerras commit 1d30593e4c406c753e395676ba8b58600ccccbc1 Author: Wojtek Kaniewski Date: Wed Nov 8 19:52:57 2006 -0800 [POWERPC] Compilation fixes for ppc4xx PCI-less configs Fix compilation without PCI support for Bubinga, CPCI405 and EP405. bios_fixup() for these boards uses functions available only with CONFIG_PCI, so linker fails. Signed-off-by: Wojtek Kaniewski Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit d6a0005c26aea9d470cf80c392d3bf2039dc4679 Author: nkalmala Date: Wed Nov 8 19:52:56 2006 -0800 [POWERPC] Book-E reg MCSR msg misquoted PPC/booke reg MCSR value misquoted Signed-off-by: nkalmala Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit ef2b343e99e772e35f0f9d00f7db318b6629c16e Author: Hugh Dickins Date: Fri Nov 10 21:32:40 2006 +0000 [POWERPC] Make soft_enabled irqs preempt safe Rewrite local_get_flags and local_irq_disable to use r13 explicitly, to avoid the risk that gcc will split get_paca()->soft_enabled into a sequence unsafe against preemption. Similar care in local_irq_restore. Signed-off-by: Hugh Dickins Signed-off-by: Paul Mackerras commit 56291e19e37cf3bb8fc701ebf3aa8ffbf59f73ef Author: Stephen Rothwell Date: Tue Nov 14 12:57:38 2006 +1100 [POWERPC] iSeries: fix slb.c for combined build Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 1d13581d00a041797c2c14adaccd306c91f87d46 Author: Stephen Rothwell Date: Mon Nov 13 14:50:28 2006 +1100 [POWERPC] iSeries: fix xmon.c for combined build Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 501b6d2938fd51e85279d950a6d23d515ae22c59 Author: Stephen Rothwell Date: Tue Nov 21 15:10:20 2006 +1100 [POWERPC] iSeries: fix time.c for combined build Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit ad5cb17f730ae49e494cfd680a5c62f81c3ca484 Author: Stephen Rothwell Date: Mon Nov 13 14:46:04 2006 +1100 [POWERPC] iSeries: fix sysfs.c for combined build Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit b06a318372ba95873abfe323076bd7e115d64b67 Author: Stephen Rothwell Date: Tue Nov 21 14:16:13 2006 +1100 [POWERPC] iSeries: fix irq.c for combined build Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit f9df68ec7bf49e37b46aa0a5d9e7938c060dba52 Author: Stephen Rothwell Date: Mon Nov 13 14:43:17 2006 +1100 [POWERPC] iSeries: improve viodasd initialisation On error, make sure that we undo all necessary operations. This also gets rid of a must_check warning. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 6ad4e70cafc43155d3a7e6e796e8b6b6967fc9e2 Author: Benjamin Herrenschmidt Date: Tue Nov 21 13:45:56 2006 +1100 [POWERPC] Fix IDE build with ARCH=ppc The recent IO accessor changes broke IDE on arch/ppc due to the IDE stream IO macros using the new reads/writes{b,w,l} accessors that are only defined for arch/powerpc. This adds them to arch/ppc. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 757db1ed9b50d28cd4c1e7d9925c9ea7783b2f91 Author: Benjamin Herrenschmidt Date: Tue Nov 21 12:35:29 2006 +1100 [POWERPC] Fix __raw* accessors The new IO accessor code allows to stick a token in the top bit of MMIO addresses which gets masked out during actual accesses. However, the __raw_* accessors forgot to mask it out. This fixes it. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 68a64357d15ae4f596e92715719071952006e83c Author: Benjamin Herrenschmidt Date: Mon Nov 13 09:27:39 2006 +1100 [POWERPC] Merge 32 and 64 bits asm-powerpc/io.h powerpc: Merge 32 and 64 bits asm-powerpc/io.h The rework on io.h done for the new hookable accessors made it easier, so I just finished the work and merged 32 and 64 bits io.h for arch/powerpc. arch/ppc still uses the old version in asm-ppc, there is just too much gunk in there that I really can't be bothered trying to cleanup. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 3d1ea8e8cb4d497a2dd73176cc82095b8f193589 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:19 2006 +1100 [POWERPC] Remove ioremap64 and fixup_bigphys_addr In order to suppose platforms with devices above 4Gb on 32 bits platforms with a >32 bits physical address space, we used to have a special ioremap64 along with a fixup routine fixup_bigphys_addr. This shouldn't be necessary anymore as struct resource now supports 64 bits addresses even on 32 bits archs. This patch enables that option when CONFIG_PHYS_64BIT is set and removes ioremap64 and fixup_bigphys_addr. This is a preliminary work for the upcoming merge of 32 and 64 bits io.h Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 165785e5c0be3ad43e8b8eadfbd25e92c2cd002a Author: Jeremy Kerr Date: Sat Nov 11 17:25:18 2006 +1100 [POWERPC] Cell iommu support This patch adds full cell iommu support (and iommu disabled mode). It implements mapping/unmapping of iommu pages on demand using the standard powerpc iommu framework. It also supports running with iommu disabled for machines with less than 2GB of memory. (The default is off in that case, though it can be forced on with the kernel command line option iommu=force). Signed-off-by: Jeremy Kerr Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit acfd946a1aaffdec346c2864f596d4d92125d1ad Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:17 2006 +1100 [POWERPC] Make cell use direct DMA ops Now that the direct DMA ops supports an offset, we use that instead of defining our own. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit c80d9133e99de1af607314107910a2a1645efb17 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:16 2006 +1100 [POWERPC] Make direct DMA use node local allocations This patch makes dma_alloc_coherent() use node local allocation when using the direct DMA ops. The node is obtained from the new device extension. If no such extension is present, the current node is used. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 92b20c40dcca2d441f367da57e7665cce15c492a Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:14 2006 +1100 [POWERPC] Add an optional offset to direct DMA on 64 bits This patch adds an optional global offset that can be added to DMA addresses when using the direct DMA operations. That brings it a step closer to the 32 bits direct DMA operations, and makes it useable on Cell when the MMU is disabled and we are using a spider southbridge. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 3bc0f40c287a435805b0545ffc44ea41f11cd43e Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:13 2006 +1100 [POWERPC] Spider uses low level BE MMIO accessors We use the powerpc specific low level MMIO accessor variants instead of readl() or readl_be() because we know spidernet is not a real PCI device and we can thus avoid the performance hit caused by the PCI workarounds. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 014da7ff47b559e5f0ae3e044b73f0359c08153d Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:12 2006 +1100 [POWERPC] Cell "Spider" MMIO workarounds This patch implements a workaround for a Spider PCI host bridge bug where it doesn't enforce some of the PCI ordering rules unless some manual manipulation of a special register is done. In order to be fully compliant with the PCI spec, I do this on every MMIO read operation. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 4cb3cee03d558fd457cb58f56c80a2a09a66110c Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:10 2006 +1100 [POWERPC] Allow hooking of PCI MMIO & PIO accessors on 64 bits This patch reworks the way iSeries hooks on PCI IO operations (both MMIO and PIO) and provides a generic way for other platforms to do so (we have need to do that for various other platforms). While reworking the IO ops, I ended up doing some spring cleaning in io.h and eeh.h which I might want to split into 2 or 3 patches (among others, eeh.h had a lot of useless stuff in it). A side effect is that EEH for PIO should work now (it used to pass IO ports down to the eeh address check functions which is bogus). Also, new are MMIO "repeat" ops, which other archs like ARM already had, and that we have too now: readsb, readsw, readsl, writesb, writesw, writesl. In the long run, I might also make EEH use the hooks instead of wrapping at the toplevel, which would make things even cleaner and relegate EEH completely in platforms/iseries, but we have to measure the performance impact there (though it's really only on MMIO reads) Since I also need to hook on ioremap, I shuffled the functions a bit there. I introduced ioremap_flags() to use by drivers who want to pass explicit flags to ioremap (and it can be hooked). The old __ioremap() is still there as a low level and cannot be hooked, thus drivers who use it should migrate unless they know they want the low level version. The patch "arch provides generic iomap missing accessors" (should be number 4 in this series) is a pre-requisite to provide full iomap API support with this patch. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit d03f387eb321189bc2ba278b6ca82f1a45cf19d6 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:09 2006 +1100 [POWERPC] Cell fixup DMA offset for new southbridge This patch makes the Cell DMA code work on both the Spider and the Axon south bridges by turning cell_dma_valid into a variable instead of a constant. This is a temporary patch until we have full iommu support. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 4c9d2800be5dfabf26acdeb401cbabe9edc1dcf2 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:08 2006 +1100 [POWERPC] Generic OF platform driver for PCI host bridges. When enabled in Kconfig, it will pick up any of_platform_device matching it's match list (currently type "pci", "pcix", "pcie", or "ht" and setup a PHB for it. Platform must provide a ppc_md.pci_setup_phb() for it to work (for doing the necessary initialisations specific to a given PHB like setting up the config space ops). It's currently only available on 64 bits as the 32 bits PCI code can't quite cope with it in it's current form. I will fix that later. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 803d4573e60bc890d7fbc040ad1c18c2dc7f8279 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:07 2006 +1100 [POWERPC] Add "parent" struct device for PCI host bridges Add a "parent" struct device to our PCI host bridge data structure so that PCI can be rooted off another device in sysfs. Note that arch/ppc doesn't use it, only arch/powerpc, though it's available for both 32 and 64 bits. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 6506e7102fd57b138979f131d751014462181202 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:06 2006 +1100 [POWERPC] Resolve the BUID for RTAS PCI config space accesses The BUID is the first entry of a PCI host bridge "reg" property. Now that PCI busses can be anywhere in the device-tree, we need to fully translate the value there to a CPU physical address before we can use it with RTAS. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit e557a1c96c82f4d1a91b5c2e2e0275b5999c297d Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:05 2006 +1100 [POWERPC] Resolve the parent address of a PCI bus range When parsing the OF "ranges" properties of PCI host busses to determine the mapping of a PCI bus, we need to translate the "parent" address using the prom_parse.c routines in order to obtain a CPU physical address. This wasn't necessary while PCI busses were always at the root of the device-tree but this is no longer the case on Cell where they can be anywhere in the tree. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 868108784ccf0add6ac593bfbc2eb5a0804af48d Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:04 2006 +1100 [POWERPC] Add DMA ops support for of_platform_device to Cell This patch adds a bus device notifier to the of_platform bus type on cell to setup the DMA operations for of_platform_devices. We currently use the PCI operations as Cell use a special version of them that happens to be suitable for our needs. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 12d04eef927bf61328af2c7cbe756c96f98ac3bf Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:02 2006 +1100 [POWERPC] Refactor 64 bits DMA operations This patch completely refactors DMA operations for 64 bits powerpc. 32 bits is untouched for now. We use the new dev_archdata structure to add the dma operations pointer and associated data to struct device. While at it, we also add the OF node pointer and numa node. In the future, we might want to look into merging that with pci_dn as well. The old vio, pci-iommu and pci-direct DMA ops are gone. They are now replaced by a set of generic iommu and direct DMA ops (non PCI specific) that can be used by bus types. The toplevel implementation is now inline. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 7c719871ff4d5f15b71f0138d08b758281b58631 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:24:42 2006 +1100 [PATCH] ibmveth: Remove ibmveth "liobn" field Remove the now unused "liobn" field in ibmveth which also avoids having insider knowledge of the iommu table in that driver. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Santiago Leon Signed-off-by: Paul Mackerras commit a863055b1066be1b8e1107f71be01daeed6bde31 Author: Jens Axboe Date: Mon Dec 4 09:30:58 2006 +0100 [PATCH] blktrace: don't return blktrace_seq from trace_note() Only the process notifier needs it, and it can set it manually. Signed-off-by: Jens Axboe commit d3d9d2a5ea9770db07aeb13a07f999aa48e8f865 Author: Jens Axboe Date: Mon Dec 4 09:27:41 2006 +0100 [PATCH] blktrace: uninline trace_note() It's too large to inline. Additionally clean it up, by fast pathing the likely path. Signed-off-by: Jens Axboe commit f23f6e08c47acbdd20e9c49a79da8c404ea168e1 Author: Al Viro Date: Fri Oct 20 15:17:02 2006 -0400 [PATCH] severing poll.h -> mm.h Signed-off-by: Al Viro commit d7fe0f241dceade9c8d4af75498765c5ff7f27e6 Author: Al Viro Date: Sun Dec 3 23:15:30 2006 -0500 [PATCH] severing skbuff.h -> mm.h Signed-off-by: Al Viro commit bd01f843c3368dcee735c19603251669f23f4477 Author: Al Viro Date: Thu Oct 19 17:23:57 2006 -0400 [PATCH] severing skbuff.h -> poll.h Signed-off-by: Al Viro commit a1f8e7f7fb9d7e2cbcb53170edca7c0ac4680697 Author: Al Viro Date: Thu Oct 19 16:08:53 2006 -0400 [PATCH] severing skbuff.h -> highmem.h Signed-off-by: Al Viro commit b07e4ecd4d380ad697c54d729cb653d027077c99 Author: Al Viro Date: Thu Oct 19 10:29:02 2006 -0400 [PATCH] severing uaccess.h -> sched.h Signed-off-by: Al Viro commit 914e26379decf1fd984b22e51fd2e4209b7a7f1b Author: Al Viro Date: Wed Oct 18 13:55:46 2006 -0400 [PATCH] severing fs.h, radix-tree.h -> sched.h Signed-off-by: Al Viro commit f6a570333e554b48ad589e7137c77c57809eee81 Author: Al Viro Date: Wed Oct 18 01:47:25 2006 -0400 [PATCH] severing module.h->sched.h Signed-off-by: Al Viro commit 96289b07eb319ab3f64db3f0d981970aa1d60a60 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:00 2006 +1100 [POWERPC] Hook of_platform_bus_probe with cell Hook up of_platform_bus_probe with the cell platform in order to publish the non-PCI devices in the device-tree of cell blades as of_platform_device(s) Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 7eebde700fe6fd6573e80bd8e5ed82b4ae705575 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:24:59 2006 +1100 [POWERPC] Souped-up of_platform_device support This patch first splits of_device.c and of_platform.c, the later containing the bits relative to of_platform_device's. On the "breaks" side of things, drivers uisng of_platform_device(s) need to include asm/of_platform.h now and of_(un)register_driver is now of_(un)register_platform_driver. In addition to a few utility functions to locate of_platform_device(s), the main new addition is of_platform_bus_probe() which allows the platform code to trigger an automatic creation of of_platform_devices for a whole tree of devices. The function acts based on the type of the various "parent" devices encountered from a provided root, using either a default known list of bus types that can be "probed" or a passed-in list. It will only register devices on busses matching that list, which mean that typically, it will not register PCI devices, as expected (since they will be picked up by the PCI layer). This will be used by Cell platforms using 4xx-type IOs in the Axon bridge and can be used by any embedded-type device as well. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 21fb5a1d9f554970c680b801ba32184bc7c34aa0 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:24:58 2006 +1100 [POWERPC] Native cell support for MPIC in southbridge Add support for southbridges using the MPIC interrupt controller to the native cell platforms. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit a959ff56bbf07954ea4fa1cf72f99a38795eadb3 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:24:56 2006 +1100 [POWERPC] Improve MPIC driver auto-configuration from DT This patch applies on top of the MPIC DCR support. It makes the MPIC driver capable of a lot more auto-configuration based on the device-tree, for example, it can retreive it's own physical address if not passed as an argument, find out if it's DCR or MMIO mapped, and set the BIG_ENDIAN flag automatically in the presence of a "big-endian" property in the device-tree node. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit fbf0274e43b7e17ee740fee2d693932be093d56d Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:24:55 2006 +1100 [POWERPC] Support for DCR based MPIC This patch implements support for DCR based MPIC implementations. Such implementations have the MPIC_USES_DCR flag set and don't use the phys_addr argument of mpic_alloc (they require a valid dcr mapping in the device node) This version of the patch can use a little bif of cleanup still (I can probably consolidate rb->dbase/doff, at least once I'm sure on how the hardware is actually supposed to work vs. possible simulator issues) and it should be possible to build a DCR-only version of the driver. I need to cleanup a bit the CONFIG_* handling for that and probably introduce CONFIG_MPIC_MMIO and CONFIG_MPIC_DCR. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 1be3770aa9220324e54851d1be7c879942f79620 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:24:54 2006 +1100 [POWERPC] Make EMAC use generic DCR access methods This patch makes the EMAC driver use the new DCR access methods. It doesn't yet uses dcr_map() and thus still only work with real DCRs. This will be fixed in a later patch Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 4c75a6f441cdd1c69a6c173bc7944e12c2ba6f84 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:24:53 2006 +1100 [POWERPC] Generic DCR infrastructure This patch adds new dcr_map/dcr_read/dcr_write accessors for DCRs that can be used by drivers to transparently address either native DCRs or memory mapped DCRs. The implementation for memory mapped DCRs is done after the binding being currently worked on for SLOF and the Axon chipset. This patch enables it for the cell native platform Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 69108cf00679716bcab58acb3135390654c5bb99 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:24:52 2006 +1100 [POWERPC] Remove ppc_md.pci_map_irq & ppc_swizzle for ARCH=powerpc These were inherited from ARCH=ppc, but are not needed since parsing of interrupts should be done via the of_* functions (who can do swizzling). If we ever need to do non-standard swizzling on bridges without a device-node, then we might add back a slightly different version of ppc_md.pci_swizzle but for now, that is not the case. I removed the couple of calls for these in 83xx. If that breaks something, then there is a problem with the device-tree on these. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit f90bb153b1493719d18b4529a46ebfe43220ea6c Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:24:51 2006 +1100 [POWERPC] Make pci_read_irq_line the default This patch reworks the way IRQs are fixed up on PCI for arch powerpc. It makes pci_read_irq_line() called by default in the PCI code for devices that are probed, and add an optional per-device fixup in ppc_md for platforms that really need to correct what they obtain from pci_read_irq_line(). It also removes ppc_md.irq_bus_setup which was only used by pSeries and should not be needed anymore. I've also removed the pSeries s7a workaround as it can't work with the current interrupt code anyway. I'm trying to get one of these machines working so I can test a proper fix for that problem. I also haven't updated the old-style fixup code from 85xx_cds.c because it's actually buggy :) It assigns pci_dev->irq hard coded numbers which is no good with the new IRQ mapping code. It should at least use irq_create_mapping(NULL, hard_coded_number); and possibly also set_irq_type() to set them as level low. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 34ba8a5cd0b0d57f7775023e6e3fec473a7291cc Author: Linus Torvalds Date: Sat Nov 11 17:24:46 2006 +1100 [PATCH] Arch provides generic iomap missing accessors Allow architectures to provide their own implementation of the big endian MMIO accessors and "repeat" MMIO accessors for use by the generic iomap. Signed-off-by: Linus Torvalds More-or-less-tested-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 79acbb3ff2d8095b692e1502b9eb2ccec348de26 Merge: 19a7985... 2b5f6dc... Author: Paul Mackerras Date: Mon Dec 4 15:59:07 2006 +1100 Merge branch 'linux-2.6' into for-linus commit ef9467f8f0803881d6b20ad6f0f770fc39bcc2c2 Author: Jurij Smakov Date: Sun Dec 3 19:33:02 2006 -0800 [SUNHME]: Fix for sunhme failures on x86 The following patch fixes the failure of sunhme drivers on x86 hosts due to missing pci_enable_device() and pci_set_master() calls, lost during code refactoring. It has been filed as bugzilla bug #7502 [0] and Debian bug #397460 [1]. [0] http://bugzilla.kernel.org/show_bug.cgi?id=7502 [1] http://bugs.debian.org/397460 Signed-off-by: Jurij Smakov Signed-off-by: David S. Miller commit 83ac58ba0a26228c0b16baa2c4b821de9c4ad5ca Merge: b4ad86b... 2bbf29a... Author: David S. Miller Date: Sun Dec 3 19:24:40 2006 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/acme/net-2.6 commit d916faace3efc0bf19fe9a615a1ab8fa1a24cd93 Author: Jeff Garzik Date: Sun Dec 3 22:22:41 2006 -0500 Remove long-unmaintained ftape driver subsystem. It's bitrotten, long unmaintained, long hidden under BROKEN_ON_SMP, etc. As scheduled in feature-removal-schedule.txt, and ack'd several times on lkml. Signed-off-by: Jeff Garzik commit b4ad86bf52469b26148c677cb59d8bc81f129cc2 Author: David S. Miller Date: Sun Dec 3 19:19:26 2006 -0800 [XFRM] xfrm_user: Better validation of user templates. Since we never checked the ->family value of templates before, many applications simply leave it at zero. Detect this and fix it up to be the pol->family value. Also, do not clobber xp->family while reading in templates, that is not necessary. Signed-off-by: David S. Miller commit 2bbf29acd8f7adcf161de7e5d891b4095687a59f Author: Gerrit Renker Date: Sun Dec 3 14:53:27 2006 -0200 [DCCP] tfrc: Binary search for reverse TFRC lookup This replaces the linear search algorithm for reverse lookup with binary search. It has the advantage of better scalability: O(log2(N)) instead of O(N). This means that the average number of iterations is reduced from 250 (linear search if each value appears equally likely) down to at most 9. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 44158306d756c88272c8faf243ca68897498e219 Author: Gerrit Renker Date: Sun Dec 3 14:53:07 2006 -0200 [DCCP] ccid3: Deprecate TFRC_SMALLEST_P This patch deprecates the existing use of an arbitrary value TFRC_SMALLEST_P for low-threshold values of p. This avoids masking low-resolution errors. Instead, the code now checks against real boundaries (implemented by preceding patch) and provides warnings whenever a real value falls below the threshold. If such messages are observed, it is a better solution to take this as an indication that the lookup table needs to be re-engineered. Changelog: ---------- This patch * makes handling all TFRC resolution errors local to the TFRC library * removes unnecessary test whether X_calc is 'infinity' due to p==0 -- this condition is already caught by tfrc_calc_x() * removes setting ccid3hctx_p = TFRC_SMALLEST_P in ccid3_hc_tx_packet_recv since this is now done by the TFRC library * updates BUG_ON test in ccid3_hc_tx_no_feedback_timer to take into account that p now is either 0 (and then X_calc is irrelevant), or it is > 0; since the handling of TFRC_SMALLEST_P is now taken care of in the tfrc library Justification: -------------- The TFRC code uses a lookup table which has a bounded resolution. The lowest possible value of the loss event rate `p' which can be resolved is currently 0.0001. Substituting this lower threshold for p when p is less than 0.0001 results in a huge, exponentially-growing error. The error can be computed by the following formula: (f(0.0001) - f(p))/f(p) * 100 for p < 0.0001 Currently the solution is to use an (arbitrary) value TFRC_SMALLEST_P = 40 * 1E-6 = 0.00004 and to consider all values below this value as `virtually zero'. Due to the exponentially growing resolution error, this is not a good idea, since it hides the fact that the table can not resolve practically occurring cases. Already at p == TFRC_SMALLEST_P, the error is as high as 58.19%! Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 006042d7e1a0aae35c9dd9eb8ec71fa379679adb Author: Gerrit Renker Date: Sun Dec 3 14:52:41 2006 -0200 [DCCP] tfrc: Identify TFRC table limits and simplify code This * adds documentation about the lowest resolution that is possible within the bounds of the current lookup table * defines a constant TFRC_SMALLEST_P which defines this resolution * issues a warning if a given value of p is below resolution * combines two previously adjacent if-blocks of nearly identical structure into one This patch does not change the algorithm as such. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 8d0086adac0041de66b5f41b77eec0d8d239e16c Author: Gerrit Renker Date: Sun Dec 3 14:52:26 2006 -0200 [DCCP] tfrc: Add protection against invalid parameters to TFRC routines 1) For the forward X_calc lookup, it * protects effectively against RTT=0 (this case is possible), by returning the maximal lookup value instead of just setting it to 1 * reformulates the array-bounds exceeded condition: this only happens if p is greater than 1E6 (due to the scaling) * the case of negative indices can now with certainty be excluded, since documentation shows that the formulas are within bounds * additional protection against p = 0 (would give divide-by-zero) 2) For the reverse lookup, it warns against * protects against exceeding array bounds * now returns 0 if f(p) = 0, due to function definition * warns about minimal resolution error and returns the smallest table value instead of p=0 [this would mask congestion conditions] Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 90fb0e60dd9178dbca2e42c682c483cdb7ea9f2d Author: Gerrit Renker Date: Sun Dec 3 14:52:01 2006 -0200 [DCCP] tfrc: Fix small error in reverse lookup of p for given f(p) This fixes the following small error in tfrc_calc_x_reverse_lookup. 1) The table is generated by the following equations: lookup[index][0] = g((index+1) * 1000000/TFRC_CALC_X_ARRSIZE); lookup[index][1] = g((index+1) * TFRC_CALC_X_SPLIT/TFRC_CALC_X_ARRSIZE); where g(q) is 1E6 * f(q/1E6) 2) The reverse lookup assigns an entry in lookup[index][small] 3) This index needs to match the above, i.e. * if small=0 then p = (index + 1) * 1000000/TFRC_CALC_X_ARRSIZE * if small=1 then p = (index+1) * TFRC_CALC_X_SPLIT/TFRC_CALC_X_ARRSIZE These are exactly the changes that the patch makes; previously the code did not conform to the way the lookup table was generated (this difference resulted in a mean error of about 1.12%). Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 50ab46c790a3408c441ba4c2faa9555cacc20028 Author: Gerrit Renker Date: Sun Dec 3 14:51:29 2006 -0200 [DCCP] tfrc: Document boundaries and limits of the TFRC lookup table This adds documentation for the TCP Reno throughput equation which is at the heart of the TFRC sending rate / loss rate calculations. It spells out precisely how the values were determined and what they mean. The equations were derived through reverse engineering and found to be fully accurate (verified using test programs). This patch does not change any code. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 26af3072b035daadf34a99d02510f0ff98f41f90 Author: Gerrit Renker Date: Sun Dec 3 14:51:14 2006 -0200 [DCCP] ccid3: Fix warning message about illegal ACK This avoids a (harmless) warning message being printed at the DCCP server (the receiver of a DCCP half connection). Incoming packets are both directed to * ccid_hc_rx_packet_recv() for the server half * ccid_hc_tx_packet_recv() for the client half The message gets printed since on a server the client half is currently not sending data packets. This is resolved for the moment by checking the DCCP-role first. In future times (bidirectional DCCP connections), this test may have to be more sophisticated. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 5c3fbb6acf9d32772ec7fc01cedd9478d0e26f44 Author: Gerrit Renker Date: Sun Dec 3 14:50:56 2006 -0200 [DCCP] ccid3: Fix bug in calculation of send rate The main object of this patch is the following bug: ==> In ccid3_hc_tx_packet_recv, the parameters p and X_recv were updated _after_ the send rate was calculated. This is clearly an error and is resolved by re-ordering statements. In addition, * r_sample is converted from u32 to long to check whether the time difference was negative (it would otherwise be converted to a large u32 value) * protection against RTT=0 (this is possible) is provided in a further patch * t_elapsed is also converted to long, to match the type of r_sample * adds a a more debugging information regarding current send rates * various trivial comment/documentation updates Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 76d127779e51fbf67ad6793214369aa1fea90278 Author: Gerrit Renker Date: Sun Dec 3 14:50:42 2006 -0200 [DCCP]: Fix BUG in retransmission delay calculation This bug resulted in ccid3_hc_tx_send_packet returning negative delay values, which in turn triggered silently dequeueing packets in dccp_write_xmit. As a result, only a few out of the submitted packets made it at all onto the network. Occasionally, when dccp_wait_for_ccid was involved, this also triggered a bug warning since ccid3_hc_tx_send_packet returned a negative value (which in reality was a negative delay value). The cause for this bug lies in the comparison if (delay >= hctx->ccid3hctx_delta) return delay / 1000L; The type of `delay' is `long', that of ccid3hctx_delta is `u32'. When comparing negative long values against u32 values, the test returned `true' whenever delay was smaller than 0 (meaning the packet was overdue to send). The fix is by casting, subtracting, and then testing the difference with regard to 0. This has been tested and shown to work. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 8a508ac26e72aa203677aa6a8464bd3ea44216a6 Author: Gerrit Renker Date: Sun Dec 3 14:50:23 2006 -0200 [DCCP]: Use higher RTO default for CCID3 The TFRC nofeedback timer normally expires after the maximum of 4 RTTs and twice the current send interval (RFC 3448, 4.3). On LANs with a small RTT this can mean a high processing load and reduced performance, since then the nofeedback timer is triggered very frequently. This patch provides a configuration option to set the bound for the nofeedback timer, using as default 100 milliseconds. By setting the configuration option to 0, strict RFC 3448 behaviour can be enforced for the nofeedback timer. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 599b7202c5bf2c7345ea34007379ba241c94a491 Author: Mikael Pettersson Date: Fri Dec 1 10:55:58 2006 +0100 [PATCH] sata_promise: PHYMODE4 fixup This patch adds code to fix up the PHYMODE4 "align timing" register value on second-generation Promise SATA chips. Failure to correct this value on non-x86 machines makes drive detection prone to failure due to timeouts. (I've observed about 50% detection failure rates on SPARC64.) The HW boots with a bad value in this register, but on x86 machines the Promise BIOS corrects it to the value recommended by the manual, so most people have been unaffected by this issue. After developing the patch I checked Promise's SATAII driver, and discovered that it also corrects PHYMODE4 just like this patch does. This patch depends on the sata_promise SATAII updates patch I sent recently. Signed-off-by: Mikael Pettersson Signed-off-by: Jeff Garzik commit 800b399669ad495ad4361d134df87401ae36f44f Author: Tejun Heo Date: Sun Dec 3 21:34:13 2006 +0900 [PATCH] libata: always use polling IDENTIFY libata switched to IRQ-driven IDENTIFY when IRQ-driven PIO was introduced. This has caused a lot of problems including device misdetection and phantom device. ATA_FLAG_DETECT_POLLING was added recently to selectively use polling IDENTIFY on problemetic drivers but many controllers and devices are affected by this problem and trying to adding ATA_FLAG_DETECT_POLLING for each such case is diffcult and not very rewarding. This patch makes libata always use polling IDENTIFY. This is consistent with libata's original behavior and drivers/ide's behavior. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 3ac551a6a63dcbc707348772a27bd7090b081524 Author: Jeff Garzik Date: Sun Dec 3 07:57:21 2006 -0500 [libata] pata_cs5535: fix build Noticed by Tejun and others. Signed-off-by: Jeff Garzik commit 8e16f941226f15622fbbc416a1f3d8705001a191 Author: Tejun Heo Date: Mon Nov 20 15:42:36 2006 +0900 [PATCH] ahci: do not powerdown during initialization ahci_init_controller() calls ahci_deinit_port() to make sure the controller is stopped before initializing the controller. In turn, ahci_deinit_port() invokes ahci_power_down() to power down the port. If the controller supports slumber mode, the link is put into it. Unfortunately, some devices don't implement link powersaving mode properly and show erratic behavior after link is put into slumber mode. For example, HL-DT-ST DVD-RAM GSA-H30N completely locks up on slumber transition and can only be recovered with the *REAL* hard reset - power removal and reapply. Note that this makes the first probing reset different from all others. If the above dvd-ram is hotplugged after ahci is initialized, no problem occurs because ahci is already fully initialized with phy powered up. So, this might also be the reason for other weird AHCI initial probing abnormalities. This patch moves power up/down out of port init/deinit and call them only when needed. Power down is now called only when suspending. As system suspend usually involves powering down 12v for storage devices, this shouldn't cause problem even if the attached device doesn't support slumber mode. However, in partial power management and suspend failure cases, devices might lock up after suspend attempt. I thought about removing transition to slumber mode altogether but ahci spec mandates it before HBA D3 state transition. Blacklisting such devices might be the solution. Signed-off-by: Tejun Heo commit 70e6ad0c6d1e6cb9ee3c036a85ca2561eb1fd766 Author: Tejun Heo Date: Tue Nov 14 22:47:10 2006 +0900 [PATCH] libata: prepare ata_sg_clean() for invocation from EH Make ata_sg_clean() global and don't allow NCQ for internal commands. Signed-off-by: Tejun Heo commit bd056d7eeb55d696556ee4f5ee2acb67b2d16df4 Author: Tejun Heo Date: Tue Nov 14 22:47:10 2006 +0900 [PATCH] libata: separate out rw ATA taskfile building into ata_build_rw_tf() Separate out rw ATA taskfile building from ata_scsi_rw_xlat() into ata_build_rw_tf(). This will be used to improve media error handling. Signed-off-by: Tejun Heo commit 2432697ba0ce312d60be5009ffe1fa054a761bb9 Author: Tejun Heo Date: Tue Nov 14 22:47:09 2006 +0900 [PATCH] libata: implement ata_exec_internal_sg() Sg'ify ata_exec_internal() and call it ata_exec_internal_sg(). Wrapper function around ata_exec_internal_sg() is implemented to provide ata_exec_internal() interface. Signed-off-by: Tejun Heo commit 0f0a3ad3741fd93461fcfb85dc577103c58d9be8 Author: Tejun Heo Date: Fri Nov 17 12:24:22 2006 +0900 [PATCH] libata: make sure IRQ is cleared after ata_bmdma_freeze() Now that BMDMA status is recorded in irq handler. ata_bmdma_freeze() is free to manipulate host status. Under certain circumstances, some controllers (ICH7 in enhanced mode w/ IRQ shared) raise IRQ when CTL register is written to and ATA_NIEN doesn't mask it. This patch makes ata_bmdma_freeze() clear all pending IRQs after freezing a port. This change makes explicit clearing in ata_device_add() unnecessary and thus kills it. The removed code was SFF-specific and was in the wrong place. Note that ->freeze() handler is always called under ap->lock held and irq disabled. Even if CTL manipulation causes stuck IRQ, it's cleared immediately. This should be safe (enough) even in SMP environment. More correct solution is to mask the IRQ from IRQ controller but that would be an overkill. Signed-off-by: Tejun Heo commit ea54763f8a7c51b9f8fcb14431812ae63fcbaf96 Author: Tejun Heo Date: Fri Nov 17 12:06:21 2006 +0900 [PATCH] libata: move BMDMA host status recording from EH to interrupt handler For certain errors, interrupt handler alter BMDMA host status before entering EH (clears active and intr). Thus altered BMDMA host status value is recorded by BMDMA EH and reported to user. Move BMDMA host status recording from EH to interrupt handler. Signed-off-by: Tejun Heo commit f84e7e41e1b88547218a3c3b1eb528005e9afdb4 Author: Tejun Heo Date: Wed Nov 22 11:21:31 2006 +0900 [PATCH] libata: make sure sdev doesn't go away while rescanning ata_scsi_dev_rescan() doesn't synchronize against SCSI device detach and the target sdev might go away in the middle. Fix it. Signed-off-by: Tejun Heo commit a569a30d301e4dbc0ad67a211292edece2da1146 Author: Tejun Heo Date: Tue Nov 21 10:40:51 2006 +0900 [PATCH] libata: don't request sense if the port is frozen If EH command is issued to a frozen port, it fails with AC_ERR_SYSTEM. libata used to request sense even when the port is frozen needlessly adding AC_ERR_SYSTEM to err_mask. Don't do it. Signed-off-by: Tejun Heo commit 6a36261e63770ab61422550b774fe949ccca5fa9 Author: Tejun Heo Date: Mon Nov 20 11:15:47 2006 +0900 [PATCH] libata: fix READ CAPACITY simulation * READ CAPACITY (16) implementation fixed. Result was shifted by two bytes. Carlos Pardo spotted this problem and submitted preliminary patch. Capacity => 2TB is handled correctly now. (verifid w/ fake capacity) * Use dev->n_sectors instead of re-reading directly from ID data. * Define and use ATA_SCSI_RBUF_SET() which considers rbuf length. This should be done for all simulation functions. Userland can issue any simulated command with arbitrary buffer length. Signed-off-by: Tejun Heo Cc: Carlos Pardo commit 3d3cca37559e3ab2b574eda11ed5207ccdb8980a Author: Tejun Heo Date: Thu Nov 16 10:50:50 2006 +0900 [PATCH] libata: implement ATA_FLAG_SETXFER_POLLING and use it in pata_via, take #2 This patch implements ATA_FLAG_SETXFER_POLLING and use in pata_via. If this flag is set, transfer mode setting performed by polling not by interrupt. This should help those controllers which raise interrupt before the command is actually complete on SETXFER. Rationale for this approach. * uses existing facility and relatively simple * no busy sleep in the interrupt handler * updating drivers is easy While at it, kill now unused flag ATA_FLAG_SRST in pata_via. Signed-off-by: Tejun Heo commit 8070217d301d0ceab7d0c255d7b9d796256d37e7 Author: Tejun Heo Date: Fri Nov 17 16:22:27 2006 +0900 [PATCH] libata: set IRQF_SHARED for legacy PCI IDE IRQs There are machines out there which share legacy PCI IDE IRQs w/ other devices. libata SFF interrupt/HSM code is ready for shared IRQ and has been setting IRQF_SHARED for devices in native PCI mode. Device in legacy mode is still a PCI device and thus supposedly uses active-low level triggered IRQ. Machines with such setup should be quite rare and w/o this flag libata is likely to fail loading and render the system unuseable. Also, IDE driver has been setting IRQF_SHARED for devices in legacy mode for a looooong time. Signed-off-by: Tejun Heo commit 582982e6991d6718ddadf8751072b50a850dde48 Author: Tejun Heo Date: Fri Nov 17 12:05:11 2006 +0900 [PATCH] libata: remove unused HSM_ST_UNKNOWN HSM_ST_UNKNOWN is not used anywhere. Its value is zero and supposed to serve sanity check purpose but HSM_ST_IDLE is used for that purpose. This unused state causes confusion. After a port is initialized but before the first command is executed, the idle hsm state is UNKNOWN. However, once a command has completed, the idle hsm state is IDLE. This defeats sanity check in ata_pio_task() for the first command. This patch removes HSM_ST_UNKNOWN and consequently make HSM_ST_IDLE the default state. Signed-off-by: Tejun Heo commit 2eab80ac0c96fb98267afeb12a4899801564c75b Author: Tejun Heo Date: Wed Nov 29 12:20:26 2006 +0900 [PATCH] libata: kill unnecessary sht->max_sectors initializations sht->max_sectors is overrided unconditionally in ->slave_configure. There's no reason to set it to any value. Signed-off-by: Tejun Heo commit c972b60bf167a3d2c3da23df2af1eac93229e7cc Author: Tejun Heo Date: Wed Nov 29 12:10:46 2006 +0900 [PATCH] libata: add missing sht->slave_destroy Add missing sht->slave_destroy. Most drivers received this fix in didn't. Fix those four drives. Signed-off-by: Tejun Heo commit 2b5f6dcce5bf94b9b119e9ed8d537098ec61c3d2 Author: Jamal Hadi Salim Date: Sat Dec 2 22:22:25 2006 -0800 [XFRM]: Fix aevent structuring to be more complete. aevents can not uniquely identify an SA. We break the ABI with this patch, but consensus is that since it is not yet utilized by any (known) application then it is fine (better do it now than later). Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 02dba025b0bc881432cf325bfb124fae523087d5 Author: Yasuyuki Kozakai Date: Sat Dec 2 22:19:01 2006 -0800 [NETFILTER]: xtables: fixes warning on compilation of hashlimit To use ipv6_find_hdr(), IP6_NF_IPTABLES is necessary. Signed-off-by: Yasuyuki Kozakai Signed-off-by: David S. Miller commit 0506d4068bad834aab1141b5dc5e748eb175c6b3 Author: Alexey Dobriyan Date: Sat Dec 2 22:17:48 2006 -0800 [ROSE] rose_add_loopback_node: propagate -E David Binderman's icc logs: net/rose/rose_route.c(399): remark #593: variable "err" was set but never used Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 1863f0965e716cc61d3c23cf106d41aa070f706f Author: Yasuyuki Kozakai Date: Sat Dec 2 22:12:54 2006 -0800 [NETFILTER]: nf_conntrack: fix header inclusions for helpers Signed-off-by: Yasuyuki Kozakai Signed-off-by: David S. Miller commit 13b1833910205289172cdc655cb9bc61188f77e9 Author: Patrick McHardy Date: Sat Dec 2 22:11:25 2006 -0800 [NETFILTER]: nf_conntrack: EXPORT_SYMBOL cleanup - move EXPORT_SYMBOL next to exported symbol - use EXPORT_SYMBOL_GPL since this is what the original code used Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a3c479772c9f4239749950e7c8ea0e9c914a9d7e Author: Patrick McHardy Date: Sat Dec 2 22:11:01 2006 -0800 [NETFILTER]: Mark old IPv4-only connection tracking scheduled for removal Also remove the references to "new connection tracking" from Kconfig. After some short stabilization period of the new connection tracking helpers/NAT code the old one will be removed. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 807467c22a12381985878be23c778657fc0364d0 Author: Patrick McHardy Date: Sat Dec 2 22:10:34 2006 -0800 [NETFILTER]: nf_nat: add SNMP NAT helper port Add nf_conntrack port of the SNMP NAT helper. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a536df35b3a58caa9015bf7887a374b20f658368 Author: Patrick McHardy Date: Sat Dec 2 22:10:18 2006 -0800 [NETFILTER]: nf_conntrack/nf_nat: add TFTP helper port Add IPv4 and IPv6 capable nf_conntrack port of the TFTP conntrack/NAT helper. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9fafcd7b203229c3f3893a475741afc27e276306 Author: Patrick McHardy Date: Sat Dec 2 22:09:57 2006 -0800 [NETFILTER]: nf_conntrack/nf_nat: add SIP helper port Add IPv4 and IPv6 capable nf_conntrack port of the SIP conntrack/NAT helper. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f09943fefe6b702e40893d35b4f10fd1064037fe Author: Patrick McHardy Date: Sat Dec 2 22:09:41 2006 -0800 [NETFILTER]: nf_conntrack/nf_nat: add PPTP helper port Add nf_conntrack port of the PPtP conntrack/NAT helper. Since there seems to be no IPv6-capable PPtP implementation the helper only support IPv4. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 92703eee4ccde3c55ee067a89c373e8a51a8adf9 Author: Patrick McHardy Date: Sat Dec 2 22:09:24 2006 -0800 [NETFILTER]: nf_conntrack: add NetBIOS name service helper port Add nf_conntrack port of the NetBIOS name service conntrack helper. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 869f37d8e48f3911eb70f38a994feaa8f8380008 Author: Patrick McHardy Date: Sat Dec 2 22:09:06 2006 -0800 [NETFILTER]: nf_conntrack/nf_nat: add IRC helper port Add nf_conntrack port of the IRC conntrack/NAT helper. Since DCC doesn't support IPv6 yet, the helper is still IPv4 only. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f587de0e2feb9eb9b94f98d0a7b7437e4d6617b4 Author: Patrick McHardy Date: Sat Dec 2 22:08:46 2006 -0800 [NETFILTER]: nf_conntrack/nf_nat: add H.323 helper port Add IPv4 and IPv6 capable nf_conntrack port of the H.323 conntrack/NAT helper. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 16958900578b94585c2ab9a2d20d837b4d5e3ba6 Author: Patrick McHardy Date: Sat Dec 2 22:08:26 2006 -0800 [NETFILTER]: nf_conntrack/nf_nat: add amanda helper port Add IPv4 and IPv6 capable nf_conntrack port of the Amanda conntrack/NAT helper. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d6a9b6500a8941599bcef98e7de49e1260d104ed Author: Patrick McHardy Date: Sat Dec 2 22:08:01 2006 -0800 [NETFILTER]: nf_conntrack: add helper function for expectation initialization Expectation address masks need to be differently initialized depending on the address family, create helper function to avoid cluttering up the code too much. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 55a733247d6d2883d9bb77825fafac3dfca13fc2 Author: Jozsef Kadlecsik Date: Sat Dec 2 22:07:44 2006 -0800 [NETFILTER]: nf_nat: add FTP NAT helper port Add FTP NAT helper. Split out from Jozsef's big nf_nat patch with a few small fixes by myself. Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5b1158e909ecbe1a052203e0d8df15633f829930 Author: Jozsef Kadlecsik Date: Sat Dec 2 22:07:13 2006 -0800 [NETFILTER]: Add NAT support for nf_conntrack Add NAT support for nf_conntrack. Joint work of Jozsef Kadlecsik, Yasuyuki Kozakai, Martin Josefsson and myself. Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d2483ddefd38b06053cdce7206382ca61f6282b1 Author: Patrick McHardy Date: Sat Dec 2 22:06:05 2006 -0800 [NETFILTER]: nf_conntrack: add module aliases to IPv4 conntrack names Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b321e14425c0234dd9cd07a5327a179507956c7c Author: Patrick McHardy Date: Sat Dec 2 22:05:46 2006 -0800 [NETFILTER]: Kconfig: improve conntrack selection Improve the connection tracking selection (well, the user experience, not really the aesthetics) by offering one option to enable connection tracking and a choice between the implementations. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9457d851fc5df54522d733f72cbb1f02ab59272e Author: Patrick McHardy Date: Sat Dec 2 22:05:25 2006 -0800 [NETFILTER]: nf_conntrack: automatic helper assignment for expectations Some helpers (namely H.323) manually assign further helpers to expected connections. This is not possible with nf_conntrack anymore since we need to know whether a helper is used at allocation time. Handle the helper assignment centrally, which allows to perform the correct allocation and as a nice side effect eliminates the need for the H.323 helper to fiddle with nf_conntrack_lock. Mid term the allocation scheme really needs to be redesigned since we do both the helper and expectation lookup _twice_ for every new connection. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit bff9a89bcac5b68ac0a1ea856b1726a35ae1eabb Author: Patrick McHardy Date: Sat Dec 2 22:05:08 2006 -0800 [NETFILTER]: nf_conntrack: endian annotations Resync with Al Viro's ip_conntrack annotations and fix a missed spot in ip_nat_proto_icmp.c. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f9aae95828d3478520f4bd73221bcb450ec1a5c0 Author: Patrick McHardy Date: Sat Dec 2 22:04:50 2006 -0800 [NETFILTER]: nf_conntrack: fix helper structure alignment Adding the alignment to the size doesn't make any sense, what it should do is align the size of the conntrack structure to the alignment requirements of the helper structure and return an aligned pointer in nfct_help(). Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0c4ca1bd8638d04796553b6e678063c4fadb92cc Author: Patrick McHardy Date: Sat Dec 2 22:04:24 2006 -0800 [NETFILTER]: nf_conntrack: fix NF_CONNTRACK_PROC_COMPAT dependency NF_CONNTRACK_PROC_COMPAT depends on NF_CONNTRACK_IPV4, not NF_CONNTRACK. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9a7c9337a09b1ef07e55f95a4309957a2328a01f Author: Patrick McHardy Date: Sat Dec 2 22:04:04 2006 -0800 [NET]: Accept wildcard delimiters in in[46]_pton Accept -1 as delimiter to abort parsing without an error at the first unknown character. This is needed by the upcoming nf_conntrack SIP helper, where addresses are delimited by either '\r' or '\n' characters. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a163148c1bec895c1332ea5be497bcda8ce110df Author: Kim Nordlund Date: Fri Dec 1 20:21:44 2006 -0800 [PKT_SCHED] act_gact: division by zero Not returning -EINVAL, because someone might want to use the value zero in some future gact_prob algorithm? Signed-off-by: Kim Nordlund Signed-off-by: David S. Miller commit 0b251df1039f560ef88a9180a80023e4f82596bd Author: Patrick McHardy Date: Fri Dec 1 20:10:13 2006 -0800 [NETFILTER]: Kill ip_queue from feature removal schedule. We really can't remove ip_queue. Many users use this, there is no binary compatible interface and even the compat replacement for the originally statically linked library doesn't work. There is also no real necessity to remove the code, so the feature-removal-schedule entry should be removed instead. Signed-off-by: David S. Miller commit a4d1366d5080fcb4514db58c320b9f60d78918e6 Author: Jamal Hadi Salim Date: Fri Dec 1 20:07:42 2006 -0800 [GENETLINK]: Add cmd dump completion. Remove assumption that generic netlink commands cannot have dump completion callbacks. Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit c40a27f48ceee648e9cfdda040b69e7010d9f82c Author: David S. Miller Date: Thu Nov 30 21:05:23 2006 -0800 [ATM]: Kill ipcommon.[ch] All that remained was skb_migrate() and that was overkill for what the two call sites were trying to do. Signed-off-by: David S. Miller commit 1e9b3d5339d2afd6348e8211f0db695b00261e17 Author: Patrick McHardy Date: Thu Nov 30 19:54:05 2006 -0800 [NET_SCHED]: policer: restore compatibility with old iproute binaries The tc actions increased the size of struct tc_police, which broke compatibility with old iproute binaries since both the act_police and the old NET_CLS_POLICE code check for an exact size match. Since the new members are not even used, the simple fix is to also accept the size of the old structure. Dumping is not affected since old userspace will receive a bigger structure, which is handled fine. Signed-off-by: Patrick McHardy Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 5f68e4c07c7b97a5b06f0b5e313528d36415a60d Author: Adrian Bunk Date: Thu Nov 30 19:50:36 2006 -0800 [PKT_SCHED]: Remove unused exports. This patch removes the following unused EXPORT_SYMBOL's: - sch_api.c: qdisc_lookup - sch_generic.c: __netdev_watchdog_up - sch_generic.c: noop_qdisc_ops - sch_generic.c: qdisc_alloc Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 1e419cd9953f59d06d7b88d0e2911a68a0044f33 Author: Al Viro Date: Thu Nov 30 19:28:48 2006 -0800 [EBTABLES]: Split ebt_replace into user and kernel variants, annotate. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit df07a81e939a0176b125bc83cf22dbb5e380ae9f Author: Al Viro Date: Thu Nov 30 19:28:25 2006 -0800 [EBTABLES]: Clean ebt_register_table() up. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 1bc2326cbe24766d9cb236e63c091cbaecfa2f29 Author: Al Viro Date: Thu Nov 30 19:28:08 2006 -0800 [EBTABLES]: Move calls of ebt_verify_pointers() upstream. ... and pass just repl->name to translate_table() Signed-off-by: Al Viro Signed-off-by: David S. Miller commit f7da79d99863c044e28483e32c10b394bbd78d21 Author: Al Viro Date: Thu Nov 30 19:27:48 2006 -0800 [EBTABLES]: ebt_check_entry() doesn't need valid_hooks We can check newinfo->hook_entry[...] instead. Kill unused argument. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 177abc348a00738dbc985df8523d755bf87403d9 Author: Al Viro Date: Thu Nov 30 19:27:32 2006 -0800 [EBTABLES]: Clean ebt_get_udc_positions() up. Check for valid_hooks is redundant (newinfo->hook_entry[i] will be NULL if bit i is not set). Kill it, kill unused arguments. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 0e795531c5e6d0a7d407b8d9edde47cab13be3ec Author: Al Viro Date: Thu Nov 30 19:27:13 2006 -0800 [EBTABLES]: Switch ebt_check_entry_size_and_hooks() to use of newinfo->hook_entry[] kill unused arguments Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 1f072c96fdf1a0caa11c6e8078dd96925bd02db5 Author: Al Viro Date: Thu Nov 30 19:26:53 2006 -0800 [EBTABLES]: translate_table(): switch direct uses of repl->hook_info to newinfo Since newinfo->hook_table[] already has been set up, we can switch to using it instead of repl->{hook_info,valid_hooks}. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit e4fd77deac764e17cb1eab8661bcf1413204d04d Author: Al Viro Date: Thu Nov 30 19:26:35 2006 -0800 [EBTABLES]: Move more stuff into ebt_verify_pointers(). Take intialization of ->hook_entry[...], ->entries_size and ->nentries over there, pull the check for empty chains into the end of that sucker. Now it's self-contained, so we can move it up in the very beginning of translate_table() *and* we can rely on ->hook_entry[] being properly transliterated after it. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 70fe9af47ee01a17fe7486f1739f6eac8a14868b Author: Al Viro Date: Thu Nov 30 19:26:14 2006 -0800 [EBTABLES]: Pull the loop doing __ebt_verify_pointers() into a separate function. It's easier to expand the iterator here *and* we'll be able to move all uses of ebt_replace from translate_table() into this one. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 22b440bf9e717226d0fbaf4f29357cbdd5279de5 Author: Al Viro Date: Thu Nov 30 19:25:51 2006 -0800 [EBTABLES]: Split ebt_check_entry_size_and_hooks Split ebt_check_entry_size_and_hooks() in two parts - one that does sanity checks on pointers (basically, checks that we can safely use iterator from now on) and the rest of it (looking into details of entry). The loop applying ebt_check_entry_size_and_hooks() is split in two. Populating newinfo->hook_entry[] is done in the first part. Unused arguments killed. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 14197d5447afc41fce6b11a91592278cad1a09eb Author: Al Viro Date: Thu Nov 30 19:25:21 2006 -0800 [EBTABLES]: Prevent wraparounds in checks for entry components' sizes. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 98a0824a0f33d051f31ca8ff59e289755b244ede Author: Al Viro Date: Thu Nov 30 19:24:49 2006 -0800 [EBTABLES]: Deal with the worst-case behaviour in loop checks. No need to revisit a chain we'd already finished with during the check for current hook. It's either instant loop (which we'd just detected) or a duplicate work. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 40642f95f5f818579bc4cc3ee084b033e662d5b3 Author: Al Viro Date: Thu Nov 30 19:24:12 2006 -0800 [EBTABLES]: Verify that ebt_entries have zero ->distinguisher. We need that for iterator to work; existing check had been too weak. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit bb2ef25c2c62444b8fdb0346a23658a419803df9 Author: Al Viro Date: Thu Nov 30 19:22:42 2006 -0800 [EBTABLES]: Fix wraparounds in ebt_entries verification. We need to verify that a) we are not too close to the end of buffer to dereference b) next entry we'll be checking won't be _before_ our While we are at it, don't subtract unrelated pointers... Signed-off-by: Al Viro Signed-off-by: David S. Miller commit b6332e6cf9c9198c0f3b0fe37c2c57514dafe1b8 Author: Andrew Morton Date: Thu Nov 30 19:16:28 2006 -0800 [TCP]: Fix warnings with TCP_MD5SIG disabled. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit f5b99bcdddfb2338227faad3489c24907f37ee8e Author: Adrian Bunk Date: Thu Nov 30 17:22:29 2006 -0800 [NET]: Possible cleanups. This patch contains the following possible cleanups: - make the following needlessly global functions statis: - ipv4/tcp.c: __tcp_alloc_md5sig_pool() - ipv4/tcp_ipv4.c: tcp_v4_reqsk_md5_lookup() - ipv4/udplite.c: udplite_rcv() - ipv4/udplite.c: udplite_err() - make the following needlessly global structs static: - ipv4/tcp_ipv4.c: tcp_request_sock_ipv4_ops - ipv4/tcp_ipv4.c: tcp_sock_ipv4_specific - ipv6/tcp_ipv6.c: tcp_request_sock_ipv6_ops - net/ipv{4,6}/udplite.c: remove inline's from static functions (gcc should know best when to inline them) Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 2718aa7c55ba7264dd463b8f7006f0975366fa7b Author: Miika Komu Date: Thu Nov 30 16:41:50 2006 -0800 [IPSEC]: Add AF_KEY interface for encapsulation family. Signed-off-by: Miika Komu Signed-off-by: Diego Beltrami Signed-off-by: Kazunori Miyazawa commit 8511d01d7c70200ffd42debba9d7ac5c4f7f1031 Author: Miika Komu Date: Thu Nov 30 16:40:51 2006 -0800 [IPSEC]: Add netlink interface for the encapsulation family. Signed-off-by: Miika Komu Signed-off-by: Diego Beltrami Signed-off-by: Kazunori Miyazawa Signed-off-by: David S. Miller commit 76b3f055f38954c67dab13844eb92203580038f8 Author: Miika Komu Date: Thu Nov 30 16:40:43 2006 -0800 [IPSEC]: Add encapsulation family. Signed-off-by: Miika Komu Signed-off-by: Diego Beltrami Signed-off-by: Kazunori Miyazawa Signed-off-by: David S. Miller commit 08dd1a506bbc4528db60dfdfff61423a1608ed3f Author: David S. Miller Date: Thu Nov 30 16:35:01 2006 -0800 [TCP] MD5SIG: Kill CONFIG_TCP_MD5SIG_DEBUG. It just obfuscates the code and adds limited value. And as Adrian Bunk noticed, it lacked Kconfig help text too, so just kill it. Signed-off-by: David S. Miller commit e488eafcc50be296f0d1e1fd67c6b5d865183011 Author: Patrick McHardy Date: Wed Nov 29 17:37:42 2006 -0800 [NET_SCHED]: Fix endless loops (part 5): netem/tbf/hfsc ->requeue failures When peeking at the next packet in a child qdisc by calling dequeue/requeue, the upper qdisc qlen counter may get out of sync in case the requeue fails. The qdisc and the child qdisc both have their counter decremented, but since no packet is given to the upper qdisc it won't decrement its counter itself. requeue should not fail, so this is mostly for "correctness". Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 256d61b87b2c2ac6fc333c1654d1abea61979006 Author: Patrick McHardy Date: Wed Nov 29 17:37:05 2006 -0800 [NET_SCHED]: Fix endless loops (part 4): HTB Convert HTB to use qdisc_tree_decrease_len() and add a callback for deactivating a class when its child queue becomes empty. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f973b913e18ab5a4795738ddf8a8666ac306ee12 Author: Patrick McHardy Date: Wed Nov 29 17:36:43 2006 -0800 [NET_SCHED]: Fix endless loops (part 3): HFSC Convert HFSC to use qdisc_tree_decrease_len() and add a callback for deactivating a class when its child queue becomes empty. All queue purging goes through hfsc_purge_queue(), which is used in three cases: grafting, class creation (when a leaf class is turned into an intermediate class by attaching a new class) and class deletion. In all cases qdisc_tree_decrease_len() is needed. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5e50da01d0ce7ef0ba3ed6cfabd62f327da0aca6 Author: Patrick McHardy Date: Wed Nov 29 17:36:20 2006 -0800 [NET_SCHED]: Fix endless loops (part 2): "simple" qdiscs Convert the "simple" qdiscs to use qdisc_tree_decrease_qlen() where necessary: - all graft operations - destruction of old child qdiscs in prio, red and tbf change operation - purging of queue in sfq change operation Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 43effa1e57fc4635e0301b27d78f9d83afe78974 Author: Patrick McHardy Date: Wed Nov 29 17:35:48 2006 -0800 [NET_SCHED]: Fix endless loops caused by inaccurate qlen counters (part 1) There are multiple problems related to qlen adjustment that can lead to an upper qdisc getting out of sync with the real number of packets queued, leading to endless dequeueing attempts by the upper layer code. All qdiscs must maintain an accurate q.qlen counter. There are basically two groups of operations affecting the qlen: operations that propagate down the tree (enqueue, dequeue, requeue, drop, reset) beginning at the root qdisc and operations only affecting a subtree or single qdisc (change, graft, delete class). Since qlen changes during operations from the second group don't propagate to ancestor qdiscs, their qlen values become desynchronized. This patch adds a function to propagate qlen changes up the qdisc tree, optionally calling a callback function to perform qdisc-internal maintenance when the child qdisc becomes empty. The follow-up patches will convert all qdiscs to use this function where necessary. Noticed by Timo Steinbach . Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9f9afec48221fe4a19f84a9341f5b304bf7d7783 Author: Patrick McHardy Date: Wed Nov 29 17:35:18 2006 -0800 [NET_SCHED]: Set parent classid in default qdiscs Set parent classids in default qdiscs to allow walking up the tree from outside the qdiscs. This is needed by the next patch. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 814a175e7b1531a4bcaa63be47bf58cacdcb5010 Author: Patrick McHardy Date: Wed Nov 29 17:34:50 2006 -0800 [NET_SCHED]: sch_htb: perform qlen adjustment immediately in ->delete qlen adjustment should happen immediately in ->delete and not in the class destroy function because the reference count will not hit zero in ->delete (sch_api holds a reference) but in ->put. Since the qdisc lock is released between deletion of the class and final destruction this creates an externally visible error in the qlen counter. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6cbda6b6e2e2a0a84c0fcda8ea262c16d7a63fc8 Author: James Morris Date: Wed Nov 29 16:50:27 2006 -0500 Rename class_destroy to avoid namespace conflicts. We're seeing increasing namespace conflicts between the global class_destroy() function declared in linux/device.h, and the private function in the SELinux core code. This patch renames the SELinux function to cls_destroy() to avoid this conflict. Acked-by: Stephen Smalley Signed-off-by: James Morris commit 484b366932be0b73a22c74a82748ca10a721643e Author: Paul Moore Date: Wed Nov 29 13:18:20 2006 -0500 NetLabel: add the ranged tag to the CIPSOv4 protocol Add support for the ranged tag (tag type #5) to the CIPSOv4 protocol. The ranged tag allows for seven, or eight if zero is the lowest category, category ranges to be specified in a CIPSO option. Each range is specified by two unsigned 16 bit fields, each with a maximum value of 65534. The two values specify the start and end of the category range; if the start of the category range is zero then it is omitted. See Documentation/netlabel/draft-ietf-cipso-ipsecurity-01.txt for more details. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 654bbc2a2b87185630d05b79cc0db0e9364bb7e0 Author: Paul Moore Date: Wed Nov 29 13:18:19 2006 -0500 NetLabel: add the enumerated tag to the CIPSOv4 protocol Add support for the enumerated tag (tag type #2) to the CIPSOv4 protocol. The enumerated tag allows for 15 categories to be specified in a CIPSO option, where each category is an unsigned 16 bit field with a maximum value of 65534. See Documentation/netlabel/draft-ietf-cipso-ipsecurity-01.txt for more details. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 02752760359db6b00a3ffb1acfc13ef8d9eb1e3f Author: Paul Moore Date: Wed Nov 29 13:18:18 2006 -0500 NetLabel: convert to an extensibile/sparse category bitmap The original NetLabel category bitmap was a straight char bitmap which worked fine for the initial release as it only supported 240 bits due to limitations in the CIPSO restricted bitmap tag (tag type 0x01). This patch converts that straight char bitmap into an extensibile/sparse bitmap in order to lay the foundation for other CIPSO tag types and protocols. This patch also has a nice side effect in that all of the security attributes passed by NetLabel into the LSM are now in a format which is in the host's native byte/bit ordering which makes the LSM specific code much simpler; look at the changes in security/selinux/ss/ebitmap.c as an example. Signed-off-by: Paul Moore Signed-off-by: James Morris commit ef91fd522ba3c88d9c68261c243567bc4c5a8f55 Author: Pablo Neira Ayuso Date: Wed Nov 29 02:35:43 2006 +0100 [NETFILTER]: remove the reference to ipchains from Kconfig It is time to move on :-) Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 76592584be7828cd314bc8d5dc7773ff1692fb99 Author: Patrick McHardy Date: Wed Nov 29 02:35:42 2006 +0100 [NETFILTER]: Fix PROC_FS=n warnings Fix some unused function/variable warnings. Signed-off-by: Patrick McHardy commit 65195686ff2f088a73c1764f4d30be5c7e0eb089 Author: Patrick McHardy Date: Wed Nov 29 02:35:41 2006 +0100 [NETFILTER]: remove remaining ASSERT_{READ,WRITE}_LOCK Signed-off-by: Patrick McHardy commit d12cdc3ccf140bd2febef1c1be92284571da983f Author: Bart De Schuymer Date: Wed Nov 29 02:35:40 2006 +0100 [NETFILTER]: ebtables: add --snap-arp option The attached patch adds --snat-arp support, which makes it possible to change the source mac address in both the mac header and the arp header with one rule. Signed-off-by: Bart De Schuymer Signed-off-by: Patrick McHardy commit baf7b1e11282127e068d149825cccec002091d61 Author: Patrick McHardy Date: Wed Nov 29 02:35:38 2006 +0100 [NETFILTER]: x_tables: add NFLOG target Add new NFLOG target to allow use of nfnetlink_log for both IPv4 and IPv6. Currently we have two (unsupported by userspace) hacks in the LOG and ULOG targets to optionally call to the nflog API. They lack a few features, namely the IPv4 and IPv6 LOG targets can not specify a number of arguments related to nfnetlink_log, while the ULOG target is only available for IPv4. Remove those hacks and add a clean way to use nfnetlink_log. Signed-off-by: Patrick McHardy commit 39b46fc6f0d1161a5585cd8af7b3a05e8118ab7e Author: Patrick McHardy Date: Wed Nov 29 02:35:36 2006 +0100 [NETFILTER]: x_tables: add port of hashlimit match for IPv4 and IPv6 Signed-off-by: Patrick McHardy commit d7a5c32442ed3d528b9ddfd3d5b837bad0ffa9da Author: Patrick McHardy Date: Wed Nov 29 02:35:34 2006 +0100 [NETFILTER]: nfnetlink_log: remove useless prefix length limitation There is no reason for limiting netlink attributes in size. Signed-off-by: Patrick McHardy commit 829e17a1a602572ffa3beefe582dc103ee9fb9c7 Author: Eric Leblond Date: Wed Nov 29 02:35:33 2006 +0100 [NETFILTER]: nfnetlink_queue: allow changing queue length through netlink Signed-off-by: Eric Leblond Signed-off-by: Patrick McHardy commit 7b621c1ea64a54f77b8a841b16dc4c9fee3ecf48 Author: Pablo Neira Ayuso Date: Wed Nov 29 02:35:32 2006 +0100 [NETFILTER]: ctnetlink: rework conntrack fields dumping logic on events | NEW | UPDATE | DESTROY | ----------------------------------------| tuples | Y | Y | Y | status | Y | Y | N | timeout | Y | Y | N | protoinfo | S | S | N | helper | S | S | N | mark | S | S | N | counters | F | F | Y | Leyend: Y: yes N: no S: iif the field is set F: iif overflow This patch also replace IPCT_HELPINFO by IPCT_HELPER since we want to track the helper assignation process, not the changes in the private information held by the helper. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit bbb3357d14f6becd156469220992ef7ab0f10e69 Author: Pablo Neira Ayuso Date: Wed Nov 29 02:35:31 2006 +0100 [NETFILTER]: ctnetlink: check for status attribute existence on conntrack creation Check that status flags are available in the netlink message received to create a new conntrack. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 1b683b551209ca46ae59b29572018001db5af078 Author: Patrick McHardy Date: Wed Nov 29 02:35:30 2006 +0100 [NETFILTER]: sip conntrack: better NAT handling The NAT handling of the SIP helper has a few problems: - Request headers are only mangled in the reply direction, From/To headers not at all, which can lead to authentication failures with DNAT in case the authentication domain is the IP address - Contact headers in responses are only mangled for REGISTER responses - Headers may be mangled even though they contain addresses not participating in the connection, like alternative addresses - Packets are droppen when domain names are used where the helper expects IP addresses This patch takes a different approach, instead of fixed rules what field to mangle to what content, it adds symetric mapping of From/To/Via/Contact headers, which allows to deal properly with echoed addresses in responses and foreign addresses not belonging to the connection. Signed-off-by: Patrick McHardy commit 77a78dec48386ce958196bf69f192ee76537c07d Author: Patrick McHardy Date: Wed Nov 29 02:35:28 2006 +0100 [NETFILTER]: sip conntrack: make header shortcuts optional Not every header has a shortcut, so make them optional instead of searching for the same string twice. Signed-off-by: Patrick McHardy commit 40883e8184947879f135605a05c0764c60656cc5 Author: Patrick McHardy Date: Wed Nov 29 02:35:27 2006 +0100 [NETFILTER]: sip conntrack: do case insensitive SIP header search SIP headers are generally case-insensitive, only SDP headers are case sensitive. Signed-off-by: Patrick McHardy commit 9d5b8baa4e9ace9be113c6151aaeeb3c07a26fc8 Author: Patrick McHardy Date: Wed Nov 29 02:35:26 2006 +0100 [NETFILTER]: sip conntrack: minor cleanup - Use enum for header field enumeration - Use numerical value instead of pointer to header info structure to identify headers, unexport ct_sip_hdrs - group SIP and SDP entries in header info structure - remove double forward declaration of ct_sip_get_info Signed-off-by: Patrick McHardy commit 337fbc4166967a72c3cc71c597bdde7e6a8633ab Author: Patrick McHardy Date: Wed Nov 29 02:35:25 2006 +0100 [NETFILTER]: ip_conntrack: fix NAT helper unload races The NAT helpr hooks are protected by RCU, but all of the conntrack helpers test and use the global pointers instead of copying them first using rcu_dereference() Also replace synchronize_net() by synchronize_rcu() for clarity since sychronizing only with packet receive processing is insufficient to prevent races. Signed-off-by: Patrick McHardy commit 468ec44bd5a863736d955f78b8c38896f26864a1 Author: Yasuyuki Kozakai Date: Wed Nov 29 02:35:23 2006 +0100 [NETFILTER]: conntrack: add '_get' to {ip, nf}_conntrack_expect_find We usually uses 'xxx_find_get' for function which increments reference count. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy commit e4bd8bce3e8b53e2c0a0d5c9afbc29731e517f8d Author: Patrick McHardy Date: Wed Nov 29 02:35:22 2006 +0100 [NETFILTER]: nf_conntrack: /proc compatibility with old connection tracking This patch adds /proc/net/ip_conntrack, /proc/net/ip_conntrack_expect and /proc/net/stat/ip_conntrack files to keep old programs using them working. The /proc/net/ip_conntrack and /proc/net/ip_conntrack_expect files show only IPv4 entries, the /proc/net/stat/ip_conntrack shows global statistics. Signed-off-by: Patrick McHardy commit a999e6837603e4b5a164333c93918a1292f074c8 Author: Patrick McHardy Date: Wed Nov 29 02:35:20 2006 +0100 [NETFILTER]: nf_conntrack: sysctl compatibility with old connection tracking This patch adds an option to keep the connection tracking sysctls visible under their old names. Signed-off-by: Patrick McHardy commit 933a41e7e12b773d1dd026018f02b86b5d257a22 Author: Patrick McHardy Date: Wed Nov 29 02:35:18 2006 +0100 [NETFILTER]: nf_conntrack: move conntrack protocol sysctls to individual modules Signed-off-by: Patrick McHardy commit d62f9ed4a490309bd9e5df0b42ba5d096e7b5902 Author: Patrick McHardy Date: Wed Nov 29 02:35:17 2006 +0100 [NETFILTER]: nf_conntrack: automatic sysctl registation for conntrack protocols Add helper functions for sysctl registration with optional instantiating of common path elements (like net/netfilter) and use it for support for automatic registation of conntrack protocol sysctls. Signed-off-by: Patrick McHardy commit f8eb24a89afa12b48fa7e39775faea6d64b8e538 Author: Patrick McHardy Date: Wed Nov 29 02:35:15 2006 +0100 [NETFILTER]: nf_conntrack: move extern declaration to header files Using extern in a C file is a bad idea because the compiler can't catch type errors. Signed-off-by: Patrick McHardy commit d73468533451fd896324058d9ba649c11ba3e3ee Author: Patrick McHardy Date: Wed Nov 29 02:35:14 2006 +0100 [NETFILTER]: nf_conntrack_ftp: fix missing helper mask initilization Signed-off-by: Patrick McHardy commit be00c8e48993368663e2714bd1e7c886b7736406 Author: Martin Josefsson Date: Wed Nov 29 02:35:12 2006 +0100 [NETFILTER]: nf_conntrack: reduce timer updates in __nf_ct_refresh_acct() Only update the conntrack timer if there's been at least HZ jiffies since the last update. Reduces the number of del_timer/add_timer cycles from one per packet to one per connection per second (plus once for each state change of a connection) Should handle timer wraparounds and connection timeout changes. Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit 824621eddd2087b0e6f0b2e0da91e8d77e4919bf Author: Martin Josefsson Date: Wed Nov 29 02:35:11 2006 +0100 [NETFILTER]: nf_conntrack: remove unused struct list_head from protocols Remove unused struct list_head from struct nf_conntrack_l3proto and nf_conntrack_l4proto as all protocols are kept in arrays, not linked lists. Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit 3ffd5eeb1a031ad226c80ae6e658970cd08569e2 Author: Martin Josefsson Date: Wed Nov 29 02:35:10 2006 +0100 [NETFILTER]: nf_conntrack: minor __nf_ct_refresh_acct() whitespace cleanup Minor whitespace cleanup. Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit 951d36cace3d3ad2ac6c222e126aed4113ad2bf7 Author: Martin Josefsson Date: Wed Nov 29 02:35:09 2006 +0100 [NETFILTER]: nf_conntrack: remove ASSERT_{READ,WRITE}_LOCK Remove the usage of ASSERT_READ_LOCK/ASSERT_WRITE_LOCK in nf_conntrack, it didn't do anything, it was just an empty define and it uglified the code. Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit ae5718fb3dd0a11a4c9a061bf86417d52d58a6b3 Author: Martin Josefsson Date: Wed Nov 29 02:35:08 2006 +0100 [NETFILTER]: nf_conntrack: more sanity checks in protocol registration/unregistration Add some more sanity checks when registering/unregistering l3/l4 protocols. Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit 605dcad6c85226e6d43387917b329d65b95cef39 Author: Martin Josefsson Date: Wed Nov 29 02:35:06 2006 +0100 [NETFILTER]: nf_conntrack: rename struct nf_conntrack_protocol Rename 'struct nf_conntrack_protocol' to 'struct nf_conntrack_l4proto' in order to help distinguish it from 'struct nf_conntrack_l3proto'. It gets rather confusing with 'nf_conntrack_protocol'. Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit e2b7606cdb602a4f69c02cfc8bebe9c63b595e24 Author: Martin Josefsson Date: Wed Nov 29 02:35:04 2006 +0100 [NETFILTER]: More __read_mostly annotations Place rarely written variables in the read-mostly section by using __read_mostly Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit 8f03dea52b1d0227656319e1b0822628b43791a8 Author: Martin Josefsson Date: Wed Nov 29 02:35:03 2006 +0100 [NETFILTER]: nf_conntrack: split out protocol handling This patch splits out L3/L4 protocol handling into its own file nf_conntrack_proto.c Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit f61801218a58381f498ae5c38ae3eae0bc73e976 Author: Martin Josefsson Date: Wed Nov 29 02:35:01 2006 +0100 [NETFILTER]: nf_conntrack: split out the event cache This patch splits out the event cache into its own file nf_conntrack_ecache.c Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit 7e5d03bb9d2b96fdeab0cb0c98b93e6cf7130c96 Author: Martin Josefsson Date: Wed Nov 29 02:34:59 2006 +0100 [NETFILTER]: nf_conntrack: split out helper handling This patch splits out handling of helpers into its own file nf_conntrack_helper.c Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit 77ab9cff0f4112703df3ef7903c1a15adb967114 Author: Martin Josefsson Date: Wed Nov 29 02:34:58 2006 +0100 [NETFILTER]: nf_conntrack: split out expectation handling This patch splits out expectation handling into its own file nf_conntrack_expect.c Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit d2e4bdc8704b0e711c5046a430bfd1681b0bd5a9 Author: David S. Miller Date: Tue Nov 28 14:37:38 2006 -0800 [TCP] Vegas: Increase default alpha to 2 and beta to 4. This helps Vegas cope better with delayed ACKs, see analysis at: http://www.cs.caltech.edu/%7Eweixl/technical/ns2linux/known_linux/index.html#vegas Signed-off-by: David S. Miller commit 6b57c93dc3aa0115b589cb89ef862d46ab9bd95e Author: Gerrit Renker Date: Tue Nov 28 19:55:06 2006 -0200 [DCCP]: Use `unsigned' for packet lengths This patch implements a suggestion by Ian McDonald and 1) Avoids tests against negative packet lengths by using unsigned int for packet payload lengths in the CCID send_packet()/packet_sent() routines 2) As a consequence, it removes an now unnecessary test with regard to `len > 0' in ccid3_hc_tx_packet_sent: that condition is always true, since * negative packet lengths are avoided * ccid3_hc_tx_send_packet flags an error whenever the payload length is 0. As a consequence, ccid3_hc_tx_packet_sent is never called as all errors returned by ccid_hc_tx_send_packet are caught in dccp_write_xmit 3) Removes the third argument of ccid_hc_tx_send_packet (the `len' parameter), since it is currently always set to skb->len. The code is updated with regard to this parameter change. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit a79ef76f4d8424324c2f108824a7398571193f43 Author: Gerrit Renker Date: Tue Nov 28 19:51:42 2006 -0200 [DCCP] ccid3: Larger initial windows This implements the larger-initial-windows feature for CCID 3, as described in section 5 of RFC 4342. When the first feedback packet arrives, the sender can send up to 2..4 packets per RTT, instead of just one. The patch further * reduces the number of timestamping calls by passing the timestamp value (which is computed in one of the calling functions anyway) as argument * renames one constant with a very long name into one which is shorter and resembles the one in RFC 3448 (t_mbi) * simplifies some of the min_t/max_t cases where both `x', `y' have the same type Commiter note: renamed TFRC_t_mbi to TFRC_T_MBI, to follow Linux coding style. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 841bac1d607d8bf2e068e4b24393fb77372814e3 Author: Arnaldo Carvalho de Melo Date: Tue Nov 28 19:42:03 2006 -0200 [DCCP]: Make {set,get}sockopt(DCCP_SOCKOPT_PACKET_SIZE) return 0 To reflect the fact that this now is of no effect, not making apps stop working, just be warned in the system log. Signed-off-by: Arnaldo Carvalho de Melo commit 5aed324369c94a2c38469c8288e42eb1a9fac400 Author: Gerrit Renker Date: Tue Nov 28 19:33:36 2006 -0200 [DCCP]: Tidy up unused structures This removes and cleans up unused variables and structures which have become unnecessary following the introduction of the EWMA patch to automatically track the CCID 3 receiver/sender packet sizes `s'. It deprecates the PACKET_SIZE socket option by returning an error code and printing a deprecation warning if an application tries to read or write this socket option. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 78ad713da673a2977763521c347176137f3e493f Author: Gerrit Renker Date: Tue Nov 28 19:22:33 2006 -0200 [DCCP] ccid3: Track RX/TX packet size `s' using moving-average Problem: commit 2a1fda6f6c01d7ac195c040f14edcf9f64a5451e Author: Gerrit Renker Date: Tue Nov 28 18:34:34 2006 -0200 [DCCP] ccid3: Set NoFeedback Timeout according to RFC 3448 This corrects the setting of the nofeedback timer with regard to RFC 3448 - previously it was not set to max(4*R, 2*s/X) as specified. Using the maximum of 1 second as upper bound (as it was done before) can have detrimental effects, especially if R is small. Signed-off-by: Ian McDonald Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 4384260443efe90a2ec0d907568dbc58ae792cd0 Author: Gerrit Renker Date: Tue Nov 28 18:14:10 2006 -0200 [DCCP]: Remove allocation of sysctl numbers This is in response to a request sent earlier by Eric W. Biederman and replaces all sysctl numbers for net.dccp.default with CTL_UNNUMBERED. It has been tested to compile and to work. Commiter note: I've removed the use of CTL_UNNUMBERED, not setting .ctl_name sets it to 0, that is the what CTL_UNNUMBERED is, reason is to avoid unneeded source code cluttering. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit ee41e2dff1a0ac548f12871f4bb23fe9e69e13eb Author: Arnaldo Carvalho de Melo Date: Tue Nov 28 03:11:33 2006 -0200 [INET]: Change protocol field in struct inet_protosw to u16 [acme@newtoy net-2.6.20]$ pahole /tmp/tcp_ipv6.o inet_protosw /* /pub/scm/linux/kernel/git/acme/net-2.6.20/include/net/protocol.h:69 */ struct inet_protosw { struct list_head list; /* 0 8 */ short unsigned int type; /* 8 2 */ /* XXX 2 bytes hole, try to pack */ int protocol; /* 12 4 */ struct proto * prot; /* 16 4 */ const struct proto_ops * ops; /* 20 4 */ int capability; /* 24 4 */ char no_check; /* 28 1 */ unsigned char flags; /* 29 1 */ }; /* size: 32, sum members: 28, holes: 1, sum holes: 2, padding: 2 */ So that we can kill that hole, protocol can only go all the way to 255 (RAW). Signed-off-by: Arnaldo Carvalho de Melo commit 3a137d2065571864be0301b9ebd72ddb01060997 Author: Arnaldo Carvalho de Melo Date: Tue Nov 28 01:12:38 2006 -0200 [TCP]: Renove the __ prefix on the struct tcp_sock members As this struct is not userland visible at all. Signed-off-by: Arnaldo Carvalho de Melo commit 2ff52f282cf287d60e9eda1f3b5ec83e00a86130 Author: Arnaldo Carvalho de Melo Date: Tue Nov 28 00:48:32 2006 -0200 [TCP]: Change tcp_header_len member in tcp_sock to u16 With this we eliminate the last hole in struct tcp_sock. End result: [acme@newtoy net-2.6.20]$ codiff -sV /tmp/tcp.o.before net/ipv4/tcp.o /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv4/tcp.c: struct tcp_sock | -4 tcp_header_len; from: int /* 1000(0) 4(0) */ to: u16 /* 1000(0) 2(0) */ 1 struct changed [acme@newtoy net-2.6.20]$ Now sizeof(tcp_sock) is just... [acme@newtoy net-2.6.20]$ pahole --sizes ../OUTPUT/qemu/net-2.6.20/net/ipv4/tcp.o | grep -w tcp_sock struct tcp_sock: 1500 0 1500 bytes ;-) Signed-off-by: Arnaldo Carvalho de Melo commit 5d0dbc4a9b2d325458dcbf9a8329bd1d2cc7bd7e Author: Gerrit Renker Date: Mon Nov 27 20:32:37 2006 -0200 [DCCP] ccid3: Consolidate handling of t_RTO This patch * removes setting t_RTO in ccid3_hc_tx_init (per [RFC 3448, 4.2], t_RTO is undefined until feedback has been received); * makes some trivial changes (updates of comments); * performs a small optimisation by exploiting that the feedback timeout uses the value of t_ipi. The way it is done is safe, because the timeouts appear after the changes to t_ipi, ensuring that up-to-date values are used; * in ccid3_hc_tx_packet_recv, moves the t_rto statement closer to the calculation of the next_tmout. This makes the code clearer to read and is also safe, since t_rto is not updated until the next call of ccid3_hc_tx_packet_recv, and is not read by the functions called via ccid_wait_for_ccid(); * removes a `max' statement in sk_reset_timer, this is not needed since the timeout value is always greater than 1E6 microseconds. * adds `XXX'es to highlight that currently the nofeedback timer is set in a non-standard way Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 17893bc1a632e195574dc0dd9751243f0d5993d2 Author: Gerrit Renker Date: Mon Nov 27 20:31:33 2006 -0200 [DCCP] ccid3: Consistently update t_nom, t_ipi, t_delta This patch: * consolidates updating of parameters (t_nom, t_ipi, t_delta) which need to be updated at the same time, since they are inter-dependent * removes two inline functions which are no longer needed as a result of the above consolidation * resolves a FIXME regarding the re-calculation of t_ipi within the nofeedback timer, in the state where no feedback has previously been received * ties updating these parameters to updating the sending rate X, exploiting that all three parameters in turn depend on X; and using a small optimisation which can reduce the number of required instructions: only update the three parameters when X really changes Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 48e03eee715b9e19df03153f2bcce6413632afcb Author: Gerrit Renker Date: Mon Nov 27 20:29:27 2006 -0200 [DCCP] ccid3: Consolidate timer resets This patch concerns updating the value of the nofeedback timer when no feedback has been received so far. Since in this case the value of R is still undefined according to [RFC 3448, 4.2], we can not perform step (3) of [RFC 3448, 4.3]. A clarification is provided in [RFC 4342, sec. 5], which states that in these cases the nofeedback timer (still) expires "after two seconds". Many thanks to Ian McDonald for pointing this out and providing the clarification. The patch * implements [RFC 4342, sec. 5] with regard to the above case * consolidates handling timer restart by - adding an appropriate jump label and - initialising the timeout value Acked-by: Ian McDonald Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit b798a9ede2b2434b9cbf0f3aee3e8598586fa89c Author: Jamal Hadi Salim Date: Mon Nov 27 12:59:30 2006 -0800 [XFRM]: Convert a few __u8 to proper u8 Caught by the EyeBalls(tm) of Thomas Graf Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 0c51f53c57c5584508dfae7110db5caccfd499c6 Author: Jamal Hadi Salim Date: Mon Nov 27 12:58:20 2006 -0800 [XFRM]: Make flush notifier prettier when subpolicy used Might as well make flush notifier prettier when subpolicy used Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 46ca5f5dc4f1c9b5ac02c0090ae8ff4ac8560446 Author: Arnaldo Carvalho de Melo Date: Mon Nov 27 17:58:59 2006 -0200 [XFRM]: Pack struct xfrm_policy [acme@newtoy net-2.6.20]$ pahole net/ipv4/tcp.o xfrm_policy /* /pub/scm/linux/kernel/git/acme/net-2.6.20/include/linux/security.h:67 */ struct xfrm_policy { struct xfrm_policy * next; /* 0 4 */ struct hlist_node bydst; /* 4 8 */ struct hlist_node byidx; /* 12 8 */ rwlock_t lock; /* 20 36 */ atomic_t refcnt; /* 56 4 */ struct timer_list timer; /* 60 24 */ u8 type; /* 84 1 */ /* XXX 3 bytes hole, try to pack */ u32 priority; /* 88 4 */ u32 index; /* 92 4 */ struct xfrm_selector selector; /* 96 56 */ struct xfrm_lifetime_cfg lft; /* 152 64 */ struct xfrm_lifetime_cur curlft; /* 216 32 */ struct dst_entry * bundles; /* 248 4 */ __u16 family; /* 252 2 */ __u8 action; /* 254 1 */ __u8 flags; /* 255 1 */ __u8 dead; /* 256 1 */ __u8 xfrm_nr; /* 257 1 */ /* XXX 2 bytes hole, try to pack */ struct xfrm_sec_ctx * security; /* 260 4 */ struct xfrm_tmpl xfrm_vec[6]; /* 264 360 */ }; /* size: 624, sum members: 619, holes: 2, sum holes: 5 */ So lets have just one hole instead of two, by moving 'type' to just before 'action', end result: [acme@newtoy net-2.6.20]$ codiff -s /tmp/tcp.o.before net/ipv4/tcp.o /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv4/tcp.c: struct xfrm_policy | -4 1 struct changed [acme@newtoy net-2.6.20]$ [acme@newtoy net-2.6.20]$ pahole -c 64 net/ipv4/tcp.o xfrm_policy /* /pub/scm/linux/kernel/git/acme/net-2.6.20/include/linux/security.h:67 */ struct xfrm_policy { struct xfrm_policy * next; /* 0 4 */ struct hlist_node bydst; /* 4 8 */ struct hlist_node byidx; /* 12 8 */ rwlock_t lock; /* 20 36 */ atomic_t refcnt; /* 56 4 */ struct timer_list timer; /* 60 24 */ u32 priority; /* 84 4 */ u32 index; /* 88 4 */ struct xfrm_selector selector; /* 92 56 */ struct xfrm_lifetime_cfg lft; /* 148 64 */ struct xfrm_lifetime_cur curlft; /* 212 32 */ struct dst_entry * bundles; /* 244 4 */ u16 family; /* 248 2 */ u8 type; /* 250 1 */ u8 action; /* 251 1 */ u8 flags; /* 252 1 */ u8 dead; /* 253 1 */ u8 xfrm_nr; /* 254 1 */ /* XXX 1 byte hole, try to pack */ struct xfrm_sec_ctx * security; /* 256 4 */ struct xfrm_tmpl xfrm_vec[6]; /* 260 360 */ }; /* size: 620, sum members: 619, holes: 1, sum holes: 1 */ Are there any fugly data dependencies here? None that I know. In the process changed the removed the __ prefixed types, that are just for userspace visible headers. Signed-off-by: Arnaldo Carvalho de Melo commit d5c42c0ec4f7fd5a4e19e33a2d561758b67c55c8 Author: Arnaldo Carvalho de Melo Date: Mon Nov 27 17:58:02 2006 -0200 [NET]: Pack struct hh_cache [acme@newtoy net-2.6.20]$ pahole net/ipv4/tcp.o hh_cache /* /pub/scm/linux/kernel/git/acme/net-2.6.20/include/linux/netdevice.h:190 */ struct hh_cache { struct hh_cache * hh_next; /* 0 4 */ atomic_t hh_refcnt; /* 4 4 */ __be16 hh_type; /* 8 2 */ /* XXX 2 bytes hole, try to pack */ int hh_len; /* 12 4 */ int (*hh_output)(); /* 16 4 */ rwlock_t hh_lock; /* 20 36 */ long unsigned int hh_data[24]; /* 56 96 */ }; /* size: 152, sum members: 150, holes: 1, sum holes: 2 */ [acme@newtoy net-2.6.20]$ find net -name "*.[ch]" | xargs grep 'hh_len.\+=' | sort -u net/atm/br2684.c: hh->hh_len = PADLEN + ETH_HLEN; net/ethernet/eth.c: hh->hh_len = ETH_HLEN; net/ipv4/ipconfig.c: int hh_len = LL_RESERVED_SPACE(dev); net/ipv4/ip_output.c: hh_len = LL_RESERVED_SPACE(rt->u.dst.dev); net/ipv4/ip_output.c: int hh_len = LL_RESERVED_SPACE(dev); net/ipv4/netfilter.c: hh_len = (*pskb)->dst->dev->hard_header_len; net/ipv4/raw.c: hh_len = LL_RESERVED_SPACE(rt->u.dst.dev); net/ipv6/ip6_output.c: hh_len = LL_RESERVED_SPACE(rt->u.dst.dev); net/ipv6/netfilter/ip6t_REJECT.c: hh_len = (dst->dev->hard_header_len + 15)&~15; net/ipv6/raw.c: hh_len = LL_RESERVED_SPACE(rt->u.dst.dev); [acme@newtoy net-2.6.20]$ [acme@newtoy net-2.6.20]$ find include -name "*.h" | xargs grep 'define ETH_HLEN' include/linux/if_ether.h:#define ETH_HLEN 14 /* Total octets in header. */ (((dev)->hard_header_len&~(HH_DATA_MOD - 1)) + HH_DATA_MOD) [acme@newtoy net-2.6.20]$ pahole net/ipv4/tcp.o net_device | grep hard_header_len short unsigned int hard_header_len; /* 106 2 */ [acme@newtoy net-2.6.20]$ So I think we're safe in turning hh_len an u16, end result: [acme@newtoy net-2.6.20]$ codiff -sV /tmp/tcp.o.before net/ipv4/tcp.o /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv4/tcp.c: struct hh_cache | -4 hh_len; from: int /* 12(0) 4(0) */ to: u16 /* 10(0) 2(0) */ 1 struct changed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit 850db6b8c53ff12eadee9ef2aa69360c06bce057 Author: Arnaldo Carvalho de Melo Date: Mon Nov 27 17:56:43 2006 -0200 [INET_CONNECTION_SOCK]: Pack struct inet_connection_sock_af_ops We have a hole in: [acme@newtoy net-2.6.20]$ pahole net/ipv6/tcp_ipv6.o inet_connection_sock_af_ops /* /pub/scm/linux/kernel/git/acme/net-2.6.20/include/net/inet_connection_sock.h:38 */ struct inet_connection_sock_af_ops { int (*queue_xmit)(); /* 0 4 */ void (*send_check)(); /* 4 4 */ int (*rebuild_header)(); /* 8 4 */ int (*conn_request)(); /* 12 4 */ struct sock * (*syn_recv_sock)(); /* 16 4 */ int (*remember_stamp)(); /* 20 4 */ __u16 net_header_len; /* 24 2 */ /* XXX 2 bytes hole, try to pack */ int (*setsockopt)(); /* 28 4 */ int (*getsockopt)(); /* 32 4 */ int (*compat_setsockopt)(); /* 36 4 */ int (*compat_getsockopt)(); /* 40 4 */ void (*addr2sockaddr)(); /* 44 4 */ int sockaddr_len; /* 48 4 */ }; /* size: 52, sum members: 50, holes: 1, sum holes: 2 */ But we don't need sockaddr_len to be an int: [acme@newtoy net-2.6.20]$ find net -name "*.[ch]" | xargs grep '\.sockaddr_len.\+=' | sort -u net/dccp/ipv4.c: .sockaddr_len = sizeof(struct sockaddr_in), net/dccp/ipv6.c: .sockaddr_len = sizeof(struct sockaddr_in6), net/ipv4/tcp_ipv4.c: .sockaddr_len = sizeof(struct sockaddr_in), net/ipv6/tcp_ipv6.c: .sockaddr_len = sizeof(struct sockaddr_in6), net/sctp/ipv6.c: .sockaddr_len = sizeof(struct sockaddr_in6), net/sctp/protocol.c: .sockaddr_len = sizeof(struct sockaddr_in), [acme@newtoy net-2.6.20]$ pahole --sizes net/ipv6/tcp_ipv6.o | grep sockaddr_in struct sockaddr_in: 16 0 struct sockaddr_in6: 28 0 [acme@newtoy net-2.6.20]$ So I turned sockaddr_len a 'u16', and now: [acme@newtoy net-2.6.20]$ pahole net/ipv6/tcp_ipv6.o inet_connection_sock_af_ops /* /pub/scm/linux/kernel/git/acme/net-2.6.20/include/net/inet_connection_sock.h:38 */ struct inet_connection_sock_af_ops { int (*queue_xmit)(); /* 0 4 */ void (*send_check)(); /* 4 4 */ int (*rebuild_header)(); /* 8 4 */ int (*conn_request)(); /* 12 4 */ struct sock * (*syn_recv_sock)(); /* 16 4 */ int (*remember_stamp)(); /* 20 4 */ u16 net_header_len; /* 24 2 */ u16 sockaddr_len; /* 26 2 */ int (*setsockopt)(); /* 28 4 */ int (*getsockopt)(); /* 32 4 */ int (*compat_setsockopt)(); /* 36 4 */ int (*compat_getsockopt)(); /* 40 4 */ void (*addr2sockaddr)(); /* 44 4 */ }; /* size: 48 */ So we've saved 4 bytes: [acme@newtoy net-2.6.20]$ codiff -sV /tmp/tcp_ipv6.o.before net/ipv6/tcp_ipv6.o /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv6/tcp_ipv6.c: struct inet_connection_sock_af_ops | -4 net_header_len; from: __u16 /* 24(0) 2(0) */ to: u16 /* 24(0) 2(0) */ sockaddr_len; from: int /* 48(0) 4(0) */ to: u16 /* 26(0) 2(0) */ 1 struct changed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit 4c0a6cb0db19de411c4bf7fcdc79d4c7c4ccafb1 Author: Gerrit Renker Date: Mon Nov 27 09:29:59 2006 -0800 [UDP(-Lite)]: consolidate v4 and v6 get|setsockopt code This patch consolidates set/getsockopt code between UDP(-Lite) v4 and 6. The justification is that UDP(-Lite) is a transport-layer protocol and therefore the socket option code (at least in theory) should be AF-independent. Furthermore, there is the following code reduplication: * do_udp{,v6}_getsockopt is 100% identical between v4 and v6 * do_udp{,v6}_setsockopt is identical up to the following differerence --v4 in contrast to v4 additionally allows the experimental encapsulation types UDP_ENCAP_ESPINUDP and UDP_ENCAP_ESPINUDP_NON_IKE --the remainder is identical between v4 and v6 I believe that this difference is of little relevance. The advantages in not duplicating twice almost completely identical code. The patch further simplifies the interface of udp{,v6}_push_pending_frames, since for the second argument (struct udp_sock *up) it always holds that up = udp_sk(sk); where sk is the first function argument. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit e3703b3de1f049b38733ba520e5038f23063068e Author: Thomas Graf Date: Mon Nov 27 09:27:07 2006 -0800 [RTNETLINK]: Add rtnl_put_cacheinfo() to unify some code IPv4, IPv6, and DECNet all use struct rta_cacheinfo in a similiar way, therefore rtnl_put_cacheinfo() is added to reuse code. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 4e9b82693542003b028c8494e9e3c49615b91ce7 Author: Thomas Graf Date: Mon Nov 27 09:25:58 2006 -0800 [NETLINK]: Remove unused dst_pid field in netlink_skb_parms The destination PID is passed directly to netlink_unicast() respectively netlink_multicast(). Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit d61c167dd0797a16584f7a922dd5d50efad1d28a Author: Gerrit Renker Date: Mon Nov 27 12:31:45 2006 -0200 [NET]: Add documentation for TFRC structures This adds documentation for the TFRC structure fields. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 5e19e3fcd7351de1ca87c4797cca27ba55c7e55e Author: Gerrit Renker Date: Mon Nov 27 12:28:48 2006 -0200 [DCCP] ccid3: Resolve small FIXME This considers the case - ACK received while no packet has been sent so far. Resolved by printing a (rate-limited) warning message. Further removes an unnecessary BUG_ON in ccid3_hc_tx_packet_recv, received feedback on a terminating connection is simply ignored. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 70dbd5b0ef3915f1e018e6437c8db9e999b0d701 Author: Gerrit Renker Date: Mon Nov 27 12:27:55 2006 -0200 [DCCP] ccid3: Remove redundant statements in ccid3_hc_tx_packet_sent This patch removes a switch statement which is redundant since, * nothing is done in states TFRC_SSTATE_NO_SENT/TFRC_SSTATE_NO_FBACK * it is impossible that the function is called in the state TFRC_SSTATE_TERM, since --the function is called, in dccp_write_xmit, after ccid3_hc_tx_send_packet --if ccid3_hc_tx_send_packet is called in state TFRC_SSTATE_TERM, it returns -EINVAL, which means that ccid3_hc_tx_packet_sent will not be called (compare dccp_write_xmit) --> therefore, this case is logically impossible * the remaining state is TFRC_SSTATE_FBACK which conditionally updates t_ipi, t_nom, and t_delta. This is a no-op, since --t_ipi only changes when feedback is received --however, when feedback arrives via ccid3_hc_tx_packet_recv, there is an identical code block which performs the same set of operations --performing the same set of operations again in ccid3_hc_tx_packet_sent therefore does not change anything, since between the time of receiving the last feedback (and therefore update of t_ipi, t_nom, and t_delta), the value of t_ipi has not changed --since t_ipi has not changed, the values of t_delta and t_nom also do not change, they depend fully on t_ipi Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit da335baf9e788edfb00ee3b96f7b9526b6b2f8a9 Author: Gerrit Renker Date: Mon Nov 27 12:26:57 2006 -0200 [DCCP] ccid3: Avoid congestion control on zero-sized data packets This resolves an `XXX' in ccid3_hc_tx_send_packet(). The function is only called on Data and DataAck packets and returns a negative result on zero-sized messages. This is a reasonable policy since CCID 3 is a congestion-control module and congestion control on zero-sized Data(Ack) packets is in a way pathological. The patch uses a more suitable error code for this case, it returns the Posix.1 code `EBADMSG' ("Not a data message") instead of `ENOTCONN'. As a result of ignoring zero-sized packets, a the condition for a warning "First packet is data" in ccid3_hc_tx_packet_sent is always satisfied; this message has been removed since it will always be printed. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 7da7f456d7bc0e52009f882e8af0ac910293e157 Author: Gerrit Renker Date: Mon Nov 27 12:26:03 2006 -0200 [DCCP] ccid3: Simplify control flow of ccid3_hc_tx_send_packet This makes some logically equivalent simplifications, by replacing rc - values plus goto's with direct return statements. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 91cf5a17257e1d2ef936fbf0223c3436ca583af9 Author: Gerrit Renker Date: Mon Nov 27 12:25:10 2006 -0200 [DCCP] ccid3: Fix calculation of t_ipi time of scheduled transmission Problem: commit f5c2d6367b04fd5ba98a5f9846b5fb870423968a Author: Gerrit Renker Date: Mon Nov 27 12:22:48 2006 -0200 [DCCP] ccid3: Simplify control flow in the calculation of t_ipi This patch performs a simplifying (performance) optimisation: In each call of the inline function ccid3_calc_new_t_ipi(), the state is tested against TFRC_SSTATE_NO_FBACK. This is expensive when the function is called very often. A simpler solution, implemented by this patch, is to adapt the control flow. Background: commit 90feeb951f61a80d3a8f8e5ced25b9ec78867eaf Author: Gerrit Renker Date: Mon Nov 27 12:13:38 2006 -0200 [DCCP] ccid3: Fix bug in calculation of first t_nom and first t_ipi Problem: commit 6472c051fcc5e571a9abee7f7a1ac58cc6e7bafa Author: Andrea Bittau Date: Sun Nov 26 01:07:50 2006 -0200 [DCCP] ccid2: Allow window to grow larger Now that we can stuff bigger ack vectors into options. Signed-off-by: Andrea Bittau Signed-off-by: Arnaldo Carvalho de Melo commit 522f1d095bf76dbe2430fb9a9a257c0f27033f31 Author: Andrea Bittau Date: Sun Nov 26 01:04:40 2006 -0200 [DCCP] ackvec: Split long ack vectors across multiple options Ack vectors grow proportional to the window size. If an ack vector does not fit into a single option, it must be spread across multiple options. This patch will allow for windows to grow larger. Committer note: Simplified the patch a bit, original algorithm kept. Signed-off-by: Andrea Bittau Signed-off-by: Arnaldo Carvalho de Melo commit bdf13d208dee4ada6d2b422536a12b45d5831aa3 Author: Andrea Bittau Date: Fri Nov 24 13:02:42 2006 -0200 [DCCP] ackvec: infrastructure for sending more than one ackvec per packet Commiter note: This was split from Andrea's original patch, in the process I changed the type of the ackvec index fields to u16 instead of to int and haven't folded dccp_ackvec_parse with dccp_ackvec_check_rcv_ackno. Next patch will actually do the insertion of more than one ackvec per packet, using, initially, up to a max of 2 ackvecs as per Andrea's original patch, then I'll work on support for larger ackvecs, be it using a sysctl or using setsockopt. Signed-off-by: Andrea Bittau Signed-off-by: Arnaldo Carvalho de Melo commit 0bd4ff1b1528a39b07aab6c744ac37e053740ad0 Author: Andrea Bittau Date: Tue Nov 21 16:17:10 2006 -0200 [DCCP] ackvec: Remove unused dccpav_ack_ptr field from dccp_ackvec Commiter note: original patch was splitted. Signed-off-by: Andrea Bittau Signed-off-by: Arnaldo Carvalho de Melo commit 4a89c2562cb81c24c515b9de041aced4d21cb6d1 Author: Thomas Graf Date: Fri Nov 24 17:14:51 2006 -0800 [DECNET] address: Convert to new netlink interface Extends the netlink interface to support the __le16 type and converts address addition, deletion and, dumping to use the new netlink interface. Fixes multiple occasions of possible illegal memory references due to not validated netlink attributes. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit b020b942cdc238e9761cb38598eda6691c366d68 Author: Thomas Graf Date: Fri Nov 24 17:14:31 2006 -0800 [DECNET] address: Rename rtmsg_ifa() to dn_ifaddr_notify() The name rtmsg_ifa is heavly overused and confusing. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit a6f01cace3a6532c6f22d8e2fdefed3632ea61b2 Author: Thomas Graf Date: Fri Nov 24 17:14:07 2006 -0800 [DECNET] address: Calculate accurate message size for netlink notifications Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 107a5fe6191249878de0de42bb64d3c35be1a986 Author: Ville Nuorvala Date: Fri Nov 24 17:08:58 2006 -0800 [IPV6]: Improve IPv6 tunnel error reporting Log an error if the remote tunnel endpoint is unable to handle tunneled packets. Signed-off-by: Ville Nuorvala Signed-off-by: David S. Miller commit 6fb32ddeb2502292bb89e17f58600ce265598ed7 Author: Ville Nuorvala Date: Fri Nov 24 17:08:32 2006 -0800 [IPV6]: Don't allocate memory for Tunnel Encapsulation Limit Option Signed-off-by: Ville Nuorvala Signed-off-by: David S. Miller commit 305d4b3ce8c2f00643edc3bb19f005f72e8f84fc Author: Ville Nuorvala Date: Fri Nov 24 17:06:53 2006 -0800 [IPV6]: Allow link-local tunnel endpoints Allow link-local tunnel endpoints if the underlying link is defined. Signed-off-by: Ville Nuorvala Signed-off-by: David S. Miller commit 09c6bbf090ecb52c8d670fa4d5730be134a8ec8b Author: Ville Nuorvala Date: Fri Nov 24 17:06:27 2006 -0800 [IPV6]: Do mandatory IPv6 tunnel endpoint checks in realtime Doing the mandatory tunnel endpoint checks when the tunnel is set up isn't enough as interfaces can go up or down and addresses can be added or deleted after this. The checks need to be done realtime when the tunnel is processing a packet. Signed-off-by: Ville Nuorvala Signed-off-by: David S. Miller commit 567131a722ca064c917c0b06e4bcf07d47602103 Author: Ville Nuorvala Date: Fri Nov 24 17:05:41 2006 -0800 [IPV6]: Fix SIOCCHGTUNNEL bug in IPv6 tunnels A logic bug in tunnel lookup could result in duplicate tunnels when changing an existing device. Signed-off-by: Ville Nuorvala Signed-off-by: David S. Miller commit e94ef682053a6eeca91aefdaecf8efe7fd7e33a5 Author: Thomas Graf Date: Thu Nov 23 11:44:37 2006 -0800 [GENETLINK] ctrl: Avoid empty CTRL_ATTR_OPS attribute when dumping Based on Jamal's patch but compiled and even tested. :-) Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit cdbc6dae5cc90d7d9e109e7d0568979d5355b653 Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:22:51 2006 -0200 [XFRM]: Use kmemdup where appropriate Signed-off-by: Arnaldo Carvalho de Melo commit 2710b57ff9b1437cfbe96b23ae86fedf3239f1ca Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:22:12 2006 -0200 [TIPC]: Use kzalloc where appropriate Signed-off-by: Arnaldo Carvalho de Melo commit e69062b4f728dca01ec1a9eb4ed55b73a374f164 Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:21:34 2006 -0200 [SUNRPC]: Use k{mem,str}dup where applicable Signed-off-by: Arnaldo Carvalho de Melo commit af997d8c9568d556cd0a362d56de9fb14a6a012a Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:20:33 2006 -0200 [SCTP]: Use kzalloc where appropriate Signed-off-by: Arnaldo Carvalho de Melo commit c7b1b24978d89efab7d420bbdc9557dbe6259c89 Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:19:40 2006 -0200 [SCHED]: Use kmemdup & kzalloc where appropriate Signed-off-by: Arnaldo Carvalho de Melo commit b3ab09f9e1681916df349d54232fbb3f8a79bfa5 Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:18:33 2006 -0200 [IRDA]: Use kmemdup where applicable Signed-off-by: Arnaldo Carvalho de Melo commit 8b2ed4bba45b7ca8e378d45f82f3f32f651e0a42 Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:17:18 2006 -0200 [IPVS]: Use kmemdup where appropriate Signed-off-by: Arnaldo Carvalho de Melo commit e6b61105f6b06a1d6bb35d2a0978cf91106808b8 Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:16:24 2006 -0200 [DECNET]: Use kzalloc where applicable Signed-off-by: Arnaldo Carvalho de Melo commit b1a98bf685e26f1a0b509d6f0f6bd8f7764303a5 Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:15:32 2006 -0200 [NET] neighbour: Use kmemdup where applicable Signed-off-by: Arnaldo Carvalho de Melo commit 2afe37cdffa96f69c9096e6d4a10a275c9c7d2c9 Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:14:33 2006 -0200 [ATM]: Use kmemdup & kzalloc where applicable Signed-off-by: Arnaldo Carvalho de Melo commit 66625984ca94552f75836596e0e83f3e5594bd58 Author: Al Viro Date: Mon Nov 20 18:08:37 2006 -0800 [CIPSO]: Missing annotation in cipso_ipv4 update. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5e57dff2c49956e24f27f9b6d2ec0db967680c39 Author: Al Viro Date: Mon Nov 20 18:08:13 2006 -0800 [NETPOLL]: Another udp checksum mangling. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 66c6f529c31e2886536aad4b2320d566deb1f150 Author: Al Viro Date: Mon Nov 20 18:07:51 2006 -0800 [NET]: net/sched annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit ff1dcadb1b55dbf471c5ed109dbbdf06bd19ef3b Author: Al Viro Date: Mon Nov 20 18:07:29 2006 -0800 [NET]: Split skb->csum ... into anonymous union of __wsum and __u32 (csum and csum_offset resp.) Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5b14027bf2132c0631ea9f3be11ced89a5057220 Author: Al Viro Date: Mon Nov 20 18:06:59 2006 -0800 [NETFILTER]: ip_nat_snmp_basic annotations. ... and switch the damn checksum update to something saner Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 8e5200f54062b8af0ed1d186ea0f113854786d89 Author: Al Viro Date: Mon Nov 20 18:06:37 2006 -0800 [NET]: Fix assorted misannotations (from md5 and udplite merges). Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 34bcca28335977e969338c98c6c43a1e08f592b2 Author: Al Viro Date: Mon Nov 20 17:27:15 2006 -0800 [SCTP]: Even more trivial sctp annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 2178eda82616566b7397791afa6e5487990bac8e Author: Al Viro Date: Mon Nov 20 17:26:53 2006 -0800 [SCTP]: SCTP_CMD_PROCESS_CTSN annotations. argument passed as __be32 Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 9f81bcd9429e9bb4006eb9b7df276706c5df926d Author: Al Viro Date: Mon Nov 20 17:26:34 2006 -0800 [SCTP]: More trivial sctp annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 962c837275e8a8c1df41f1882e971636093cdee4 Author: Al Viro Date: Mon Nov 20 17:26:08 2006 -0800 [SCTP]: Netfilter sctp annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 3dbe86566ed262dae3b5472b9360cb5b65d42716 Author: Al Viro Date: Mon Nov 20 17:25:49 2006 -0800 [SCTP]: Annotate ->supported_addrs(). Signed-off-by: Al Viro Signed-off-by: David S. Miller commit e1857ea28dc76e2a929d1fff4d5d5cf712f12f4e Author: Al Viro Date: Mon Nov 20 17:25:32 2006 -0800 [SCTP]: sctp_association ->peer.i is a host-endian analog of sctp_inthdr. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit dce116ae86cb224a9dad787e91fb552dae67b2e8 Author: Al Viro Date: Mon Nov 20 17:25:15 2006 -0800 [SCTP]: Get rid of the last remnants of sin_port flipping. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 6fbfa9f951878ab489147d9e459191d4aacfa819 Author: Al Viro Date: Mon Nov 20 17:24:53 2006 -0800 [SCTP]: Annotate ->inaddr_any(). Signed-off-by: Al Viro Signed-off-by: David S. Miller commit c9c938cb050e6d45088c5c39e4097742e875c496 Author: Al Viro Date: Mon Nov 20 17:24:36 2006 -0800 [SCTP]: flip_to_{h,n}() are not needed anymore. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 7dcdbd9579c944bb833f95a7f276d01f49161734 Author: Al Viro Date: Mon Nov 20 17:24:21 2006 -0800 [SCTP]: Don't bother setting sin_port in ->from_sk(). ... the only caller will overwrite immediately Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 516b20ee2d4df76e7f76332e161a25c70e8f7bea Author: Al Viro Date: Mon Nov 20 17:24:02 2006 -0800 [SCTP]: ->a_h is gone now. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 9fd76494855c974e9079e9812ba5ecf88dedab38 Author: Al Viro Date: Mon Nov 20 17:23:46 2006 -0800 [SCTP]: ip6_send() doesn't need fl_ip_[sd]port. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 7dd8a5821dd4991916c4eedf84e10fc2d0b47555 Author: Al Viro Date: Mon Nov 20 17:23:25 2006 -0800 [SCTP]: sctp_sf_send_restart_abort() is endian-agnostic. ... so caller can use ->ipaddr instead of ->ipaddr_h Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 8cec6b80664eb20b0c033fd20d2c7ed15621437f Author: Al Viro Date: Mon Nov 20 17:23:01 2006 -0800 [SCTP]: We need to be careful when copying to sockaddr_storage. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit b3f5b3b6654422bb0a6ef745fe4d11a4f01d006a Author: Al Viro Date: Mon Nov 20 17:22:43 2006 -0800 [SCTP]: Trivial ->ipaddr_h -> ->ipaddr conversions. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 74af924ab6562717ef9aab1061ec05bbbf31d979 Author: Al Viro Date: Mon Nov 20 17:22:26 2006 -0800 [SCTP]: ->a_h is gone now. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5ae955cffdb96190c2bd4f57313f5f147f87854b Author: Al Viro Date: Mon Nov 20 17:22:08 2006 -0800 [SCTP]: sctp_make_asconf_update_ip() and sctp_find_unmatch_addr(). ... switched to taking and returning pointers to net-endian sctp_addr resp. Together, since the only user of sctp_find_unmatch_addr() just passes its value to sctp_make_asconf_update_ip(). sctp_make_asconf_update_ip() is actually endian-agnostic. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 6244be4e063075f6077f05e70f8fa1bf7f4a968e Author: Al Viro Date: Mon Nov 20 17:21:44 2006 -0800 [SCTP]: Trivial parts of a_h -> a switch. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 80f15d62418040e78849f5fc3a4a5af9c9d1fec7 Author: Al Viro Date: Mon Nov 20 17:14:23 2006 -0800 [SCTP]: ->source_h is not used anymore. kill it Signed-off-by: Al Viro Signed-off-by: David S. Miller commit a926626893aca20567f27af1c5edc830e1c51b2b Author: Al Viro Date: Mon Nov 20 17:13:58 2006 -0800 [SCTP]: Switch all remaining users of ->saddr_h to ->saddr. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 16b0a030330d179427edffbeddaa5b7dc5b31196 Author: Al Viro Date: Mon Nov 20 17:13:38 2006 -0800 [SCTP]: Switch sctp_chunk ->dest to net-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d448388bdaca946aa2b07973cb72a9b834e530bf Author: Al Viro Date: Mon Nov 20 17:13:21 2006 -0800 [SCTP]: sctp_transport_route() switched to net-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit cb7b4a0dcf67ae747406b58b1cdc875916019739 Author: Al Viro Date: Mon Nov 20 17:13:01 2006 -0800 [SCTP]: Pass net-endian to ->get_dst(). all instances are actually endian-agnostic... Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d3f7a54a295f2ffc9033b425c6538a7e9d7fbe8a Author: Al Viro Date: Mon Nov 20 17:12:41 2006 -0800 [SCTP]: ->get_saddr() switched to net-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 6a1e5f335461567f593e88b218f1c06817cbd323 Author: Al Viro Date: Mon Nov 20 17:12:25 2006 -0800 [SCTP]: sctp_process_init() and sctp_source() switched to net-endian. both are done in one go since almost always we have result of the latter immediately passed to the former. Possibly non-obvious note: sctp_process_param() is endian-agnostic Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 02a8a4db3b38ad2dd8bcfcca41694e043e44d282 Author: Al Viro Date: Mon Nov 20 17:12:07 2006 -0800 [SCTP]: sctp_copy_one_addr() switched to net-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 6c7be55ca0c204473d07a030a03c49a7471b4508 Author: Al Viro Date: Mon Nov 20 17:11:50 2006 -0800 [SCTP]: sctp_has_association() switched to net-endian. Ditto for its only caller (sctp_endpoint_is_peeled_off) Signed-off-by: Al Viro Signed-off-by: David S. Miller commit cd4ff034e3572679f7ff8f126469b3addd1a4fbc Author: Al Viro Date: Mon Nov 20 17:11:33 2006 -0800 [SCTP]: sctp_endpoint_lookup_assoc() switched to net-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit dd86d136f9feb72c52a5b07707affe80edbc8dda Author: Al Viro Date: Mon Nov 20 17:11:13 2006 -0800 [SCTP]: Switch ->from_addr_param() to net-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5ab7b859ab58e3479a5a66e383ecd6bc447f6c1d Author: Al Viro Date: Mon Nov 20 17:10:38 2006 -0800 [SCTP]: Switch sctp_add_bind_addr() to net-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 4bdf4b5fe22c26750c39fdd2939a5f33df0cc341 Author: Al Viro Date: Mon Nov 20 17:10:20 2006 -0800 [SCTP]: Switch sctp_assoc_add_peer() to net-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit b488c7dd58f61e07b54e5d286c7b45c43dd52f1a Author: Al Viro Date: Mon Nov 20 17:10:03 2006 -0800 [SCTP]: sctp_transport_{init,new}() switched to net-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d55c41b115e74b30a3d1a61db806bd03bdd9dd6f Author: Al Viro Date: Mon Nov 20 17:09:40 2006 -0800 [SCTP]: Switch ->from_skb() to net-endian. All instances switched, callers updated. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 9b1dfad011d409bc56476a81810342751645ee54 Author: Al Viro Date: Mon Nov 20 17:09:17 2006 -0800 [SCTP]: Switch sctp_cookie ->peer_addr to net-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit f235fca389f23cd6c9e0f466611bb2d6a05ae758 Author: Al Viro Date: Mon Nov 20 17:09:01 2006 -0800 [SCTP]: sctp_init_addrs() switched to net-endian. Caller adjusted. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit e2fccedb0136205d02e97a41851503e2b96d2a17 Author: Al Viro Date: Mon Nov 20 17:08:41 2006 -0800 [SCTP]: Switch sctp_assoc_is_match to net-endian. Along with it, statics in input.c that end up calling it (__sctp_lookup_association, sctp_lookup_association, __sctp_rcv_init_lookup, __sctp_rcv_lookup). Callers are adjusted. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 1c7d1fc14974f44809b22521bd9796411d8ba440 Author: Al Viro Date: Mon Nov 20 17:08:09 2006 -0800 [SCTP]: Switch sctp_endpoint_is_match() to net-endian. The only caller (__sctp_rcv_lookup_endpoint()) also switched, its caller adjusted Signed-off-by: Al Viro Signed-off-by: David S. Miller commit c9a08505ec0a0260fc94a823c014cc3970f72d25 Author: Al Viro Date: Mon Nov 20 17:07:48 2006 -0800 [SCTP]: Switch sctp_del_bind_addr() to net-endian. Callers adjusted. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 63de08f45bb73a445edb482850f4cdccd84def48 Author: Al Viro Date: Mon Nov 20 17:07:25 2006 -0800 [SCTP]: Switch address inside the heartbeat opaque data to net-endian. Its only use happens on the same host, when it gets quoted back to us. So we are free to flip to net-endian and avoid extra PITA. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit be29681edfbad72167df735e243e8621840dca4f Author: Al Viro Date: Mon Nov 20 17:07:06 2006 -0800 [SCTP]: Switch sctp_assoc_lookup_paddr() to net-endian. Callers updated. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 38a03145efcdbbcc60465fdffc0546208a52daf8 Author: Al Viro Date: Mon Nov 20 17:06:45 2006 -0800 [SCTP]: sctp_assoc_del_peer() switched to net-endian. Callers adjusted. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 854d43a465cc8ba8e501320b3bc27359d909da2f Author: Al Viro Date: Mon Nov 20 17:06:24 2006 -0800 [SCTP]: Annotate ->dst_saddr() switched to taking a pointer to net-endian sctp_addr and a net-endian port number. Instances and callers adjusted; interestingly enough, the only calls are direct calls of specific instances - the method is not used at all. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit acd2bc96e19535fcd74c6eb94532c19c817857bd Author: Al Viro Date: Mon Nov 20 17:06:04 2006 -0800 [SCTP]: Switch ->primary_addr to net-endian. Users adjusted. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 7e1e4a2b9dcc63ac3328f786f9d98bde90c8fc6c Author: Al Viro Date: Mon Nov 20 17:05:43 2006 -0800 [SCTP]: Switch sctp_bind_addr_match() to net-endian. Callers adjusted. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5f242a13e8505e0f3efd3113da6e029f6e7dfa32 Author: Al Viro Date: Mon Nov 20 17:05:23 2006 -0800 [SCTP]: Switch ->cmp_addr() and sctp_cmp_addr_exact() to net-endian. instances of ->cmp_addr() are fine with switching both arguments to net-endian; callers other than in sctp_cmp_addr_exact() (both as ->cmp_addr(...) and direct calls of instances) adjusted; sctp_cmp_addr_exact() switched to net-endian itself and adjustment is done in its callers Signed-off-by: Al Viro Signed-off-by: David S. Miller commit c604e368a477ed1f7dd532605a8f1990d2b128ee Author: Al Viro Date: Mon Nov 20 17:04:59 2006 -0800 [SCTP]: Pass net-endian to ->seq_dump_addr() No actual modifications of method instances are needed - they don't look at port numbers. Switch callers... Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 2a6fd78adec062f16f8662563115679e669efaca Author: Al Viro Date: Mon Nov 20 17:04:42 2006 -0800 [SCTP] embedded sctp_addr: net-endian mirrors Add sctp_chunk->source, sctp_sockaddr_entry->a, sctp_transport->ipaddr and sctp_transport->saddr, maintain them as net-endian mirrors of their host-endian counterparts. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 09ef7fecea40c5e4c0dfe35bed3f0ed8da554cf5 Author: Al Viro Date: Mon Nov 20 17:04:10 2006 -0800 [SCTP]: Beginning of conversion to net-endian for embedded sctp_addr. Part 1: rename sctp_chunk->source, sctp_sockaddr_entry->a, sctp_transport->ipaddr and sctp_transport->saddr (to ..._h) The next patch will reintroduce these fields and keep them as net-endian mirrors of the original (renamed) ones. Split in two patches to make sure that we hadn't forgotten any instanes. Later in the series we'll eliminate uses of host-endian variants (basically switching users to net-endian counterparts as we progress through that mess). Then host-endian ones will die. Other embedded host-endian sctp_addr will be easier to switch directly, so we leave them alone for now. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 30330ee00ce077de9d459c17125573ff618bd7a9 Author: Al Viro Date: Mon Nov 20 17:03:18 2006 -0800 [SCTP] bug: endianness problem in sctp_getsockopt_sctp_status() Again, invalid sockaddr passed to userland - host-endiand sin_port. Potential leak, again, but less dramatic than in previous case. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 0906e20fa03afdb14faf7fd166bfe4ed67c8db55 Author: Al Viro Date: Mon Nov 20 17:03:01 2006 -0800 [SCTP] bug: sctp_assoc_control_transport() breakage a) struct sockaddr_storage * passed to sctp_ulpevent_make_peer_addr_change() actually points at union sctp_addr field in a structure. Then that sucker gets copied to userland, with whatever junk we might have there. b) it's actually having host-endian sin_port. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d5c747f6efc03495635f129c8eb1dad0200ab183 Author: Al Viro Date: Mon Nov 20 17:02:40 2006 -0800 [SCTP] bug: sctp_find_unmatch_addr() compares net-endian to host-endian Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 39940a48c42441da5e7428483ac515e822d52b1d Author: Al Viro Date: Mon Nov 20 17:02:22 2006 -0800 [SCTP] bug: sctp_assoc_lookup_laddr() is broken with ipv6. It expects (and gets) laddr with net-endian sin_port. And then it calls sctp_bind_addr_match(), which *does* care about port numbers in case of ipv6 and expects them to be host-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 04afd8b282d702bc122051751466000e9513ef96 Author: Al Viro Date: Mon Nov 20 17:02:01 2006 -0800 [SCTP]: Beginning of sin_port fixes. That's going to be a long series. Introduced temporary helpers doing copy-and-convert for sctp_addr; they are used to kill flip-in-place in global data structures and will be used to gradually push host-endian uses of sctp_addr out of existence. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit dbc16db1e58da6c346ca3e63870c17b93fbed0f0 Author: Al Viro Date: Mon Nov 20 17:01:42 2006 -0800 [SCTP]: Trivial sctp endianness annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 72f17e1c0984fbdb60abf245d81b947393910100 Author: Al Viro Date: Mon Nov 20 17:01:23 2006 -0800 [SCTP]: Annotate tsn_dups. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5be291fe2d0d76681190589f6480ce1e28c2406b Author: Al Viro Date: Mon Nov 20 17:01:06 2006 -0800 [SCTP]: SCTP_CMD_ASSOC_FAILED annotations. also always get __be16 protocol error; switch to SCTP_PERR() Signed-off-by: Al Viro Signed-off-by: David S. Miller commit dc251b2b1c4bfea51903cb9fbc141a5b33f6aca7 Author: Al Viro Date: Mon Nov 20 17:00:44 2006 -0800 [SCTP]: SCTP_CMD_INIT_FAILED annotations. argument stored for SCTP_CMD_INIT_FAILED is always __be16 (protocol error). Introduced new field and accessor for it (SCTP_PERR()); switched to their use (from SCTP_U32() and .u32) Signed-off-by: Al Viro Signed-off-by: David S. Miller commit f94c0198dd98c2ca66a7a44e9ad310a3eb21ad31 Author: Al Viro Date: Mon Nov 20 17:00:25 2006 -0800 [SCTP]: sctp_stop_t1_and_abort() annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 63706c5c6fd07f58bed85d0aa031ffbce3a0385f Author: Al Viro Date: Mon Nov 20 17:00:05 2006 -0800 [SCTP]: sctp_make_op_error() annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5bf2db03908b9121805af3c76e3ac2d0759e199f Author: Al Viro Date: Mon Nov 20 16:59:45 2006 -0800 [SCTP]: Annotate sctp_init_cause(). Signed-off-by: Al Viro Signed-off-by: David S. Miller commit f3ffaf14681e3cad61006873be8656ab41b793e0 Author: Al Viro Date: Mon Nov 20 16:59:12 2006 -0800 [SCTP]: Annotate SCTP headers. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 89c89458152c4d387eeca6532b6e50780fc59f8b Author: Adrian Bunk Date: Mon Nov 20 16:56:48 2006 -0800 [IPV6] net/ipv6/sit.c: make 2 functions static This patch makes two needlessly global functions static. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 1459bb36b12ac52bde68d70e2ba7a6f1f2e8be17 Author: Jamal Hadi Salim Date: Mon Nov 20 16:51:22 2006 -0800 [XFRM]: Make copy_to_user_policy_type take a type Make copy_to_user_policy_type take a type instead a policy and fix its users to pass the type Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 746859625d879688adb99f1e5e8108fea876d369 Author: Thomas Graf Date: Mon Nov 20 16:20:22 2006 -0800 [BRIDGE] netlink: Convert bridge netlink code to new netlink interface Removes dependency on buggy rta_buf, fixes a memory corruption bug due to a unvalidated netlink attribute, and simplifies the code. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 82e3ab9dbeebd5c8d5402ad1607d22086271a56d Author: Ian McDonald Date: Mon Nov 20 19:19:32 2006 -0200 [DCCP]: Adds the tx buffer sysctls This one got lost on the way from Ian to Gerrit to me, fix it. Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 455431739ca2f4c7f02d0a5979559ac5a68a6f95 Author: Ian McDonald Date: Mon Nov 20 18:44:03 2006 -0200 [DCCP] CCID3: Remove non-referenced variable This removes a non-referenced variable. Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit ddfe10b82455a5a524055fc606d1f1562d388dc8 Author: Ian McDonald Date: Mon Nov 20 18:42:45 2006 -0200 [DCCP]: Update Documentation This patch just updates DCCP documentation a bit. Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit e1b7441e803442828780a6d6d792643f79d5665b Author: Ian McDonald Date: Mon Nov 20 18:41:37 2006 -0200 [DCCP]: Make dccp_probe more portable This makes the code of the dccp_probe module more portable. Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 23ea8945f6be2287fec67c85abcf24736c1ded80 Author: Gerrit Renker Date: Mon Nov 20 18:40:42 2006 -0200 [CCID 3]: Add annotations for socket structures This adds documentation to the CCID 3 rx/tx socket fields, plus some minor re-formatting. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 59348b19efebfd6a8d0791ff81d207b16594c94b Author: Gerrit Renker Date: Mon Nov 20 18:39:23 2006 -0200 [DCCP]: Simplified conditions due to use of enum:8 states This reaps the benefit of the earlier patch, which changed the type of CCID 3 states to use enums, in that many conditions are now simplified and the number of possible (unexpected) values is greatly reduced. In a few instances, this also allowed to simplify pre-conditions; where care has been taken to retain logical equivalence. [DCCP]: Introduce a consistent BUG/WARN message scheme This refines the existing set of DCCP messages so that * BUG(), BUG_ON(), WARN_ON() have meaningful DCCP-specific counterparts * DCCP_CRIT (for severe warnings) is not rate-limited * DCCP_WARN() is introduced as rate-limited wrapper Using these allows a faster and cleaner transition to their original counterparts once the code has matured into a full DCCP implementation. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit b1308dc015eb09cf094ca169296738a13ae049ad Author: Ian McDonald Date: Mon Nov 20 18:30:17 2006 -0200 [DCCP]: Set TX Queue Length Bounds via Sysctl Previously the transmit queue was unbounded. This patch: * puts a limit on transmit queue length and sends back EAGAIN if the buffer is full * sets the TX queue length to a sensible default * implements tx buffer sysctls for DCCP Signed-off-by: Ian McDonald Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 56724aa434e9b4d73548021ede7a1474f533f3fe Author: Gerrit Renker Date: Mon Nov 20 18:28:09 2006 -0200 [DCCP]: Add CCID3 debug support to Kconfig This adds a CCID3 debug option to the configuration menu which is missing in Kconfig, but already used by the code. CCID 2 already provides such an entry. To enable debugging, set CONFIG_IP_DCCP_CCID3_DEBUG=y NOTE: The use of ccid3_{t,r}x_state_name is safe, since now only enum values can appear. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 84116716cc9404356f775443b460f76766f08f65 Author: Gerrit Renker Date: Mon Nov 20 18:26:03 2006 -0200 [DCCP]: enable debug messages also for static builds This patch * makes debugging (when configured) work both for static / module build * provides generic debugging macros for use in other DCCP / CCID modules * adds missing information about debug parameters to Kconfig * performs some code tidy-up Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit f123bc5f800d528e59684c7faffda88b4dd2d38c Author: Michael Chan Date: Sun Nov 19 14:15:31 2006 -0800 [BNX2]: Update version and rel date. Update version to 1.5.1. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit bac0dff6cd194f7a28f7e840c9b6a7aa71c6ef97 Author: Michael Chan Date: Sun Nov 19 14:15:05 2006 -0800 [BNX2]: Add 5709 PCI ID. Add PCI ID and detection for 5709 copper and SerDes chips. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit d43584c8bf851145ed7ec6d148916a01979040f4 Author: Michael Chan Date: Sun Nov 19 14:14:35 2006 -0800 [BNX2]: Download 5709 firmware. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 5793bfe19beaa3c804fa2d33af238bf51bf28211 Author: Michael Chan Date: Sun Nov 19 14:13:52 2006 -0800 [BNX2]: New firmware to support 5709 (part 4). Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 123d19a3fa4a2c94f9154d04e5355304720020fd Author: Michael Chan Date: Sun Nov 19 14:13:23 2006 -0800 [BNX2]: New firmware to support 5709 (part 3). Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit fc2a0bca102bab668badf2e5bfc3012441dd051f Author: Michael Chan Date: Sun Nov 19 14:12:55 2006 -0800 [BNX2]: New firmware to support 5709 (part 2). Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit b6690cc2bd5e2831f971231a2ff8c4a74b06acc4 Author: Michael Chan Date: Sun Nov 19 14:12:28 2006 -0800 [BNX2]: New firmware to support 5709 (part 1). Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 234754d5c1ef25bbc64631a420ba66eeb2904633 Author: Michael Chan Date: Sun Nov 19 14:11:41 2006 -0800 [BNX2]: Add 5709 reset and runtime code. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 59b47d8ad35b9858d63d6fd3db76e698e4a98f36 Author: Michael Chan Date: Sun Nov 19 14:10:45 2006 -0800 [BNX2]: Add 5709 init code. Add basic support to initialize the 5709 chip. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9052a840fffa2f565ed13e6ecd53fbe2532d51b9 Author: Michael Chan Date: Sun Nov 19 14:10:12 2006 -0800 [BNX2]: Add new 5709 registers (part 2). Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 19cdeb794b7ef9e1f0e408777445bd76fe90e694 Author: Michael Chan Date: Sun Nov 19 14:09:48 2006 -0800 [BNX2]: Add new 5709 registers (part 1). Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit af3ee519c5d6bebbda9bf0ca3b81bc50b4dd2163 Author: Michael Chan Date: Sun Nov 19 14:09:25 2006 -0800 [BNX2]: Re-organize firmware structures. Re-organize the firmware handling code and declarations a bit to make the code more compact. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit a16dda0e67cea666fb7eb708ab1199892c4a1a13 Author: Michael Chan Date: Sun Nov 19 14:08:56 2006 -0800 [BNX2]: Remove udelay() in copper PHY code. Change a long udelay() in bnx2_setup_copper_phy() to msleep(). Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit f8dd064ee1bd62ef2cdb398cb9cdc8a8f112cb28 Author: Michael Chan Date: Sun Nov 19 14:08:29 2006 -0800 [BNX2]: Add 5708S parallel detection. Add code to parallel detect 1Gbps and 2.5Gbps link speeds. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 48b01e2d7c83d37321722f1cdd46193d4ca73b41 Author: Michael Chan Date: Sun Nov 19 14:08:00 2006 -0800 [BNX2]: Add bnx2_5706_serdes_timer(). Separate the 5706S SerDes handling code in bnx2_timer() and put it in a new function. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 80be44348e30b68d2d8c5b6d1b7e53f2c5659134 Author: Michael Chan Date: Sun Nov 19 14:07:28 2006 -0800 [BNX2]: Improve SerDes handling. 1. Add support for 2.5Gbps forced speed setting. 2. Remove a long udelay() loop and change to msleep(). 3. Other misc. SerDes fixes. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 7510873d8659f4192cb5b3327f748e401d216399 Author: Michael Chan Date: Sun Nov 19 14:06:40 2006 -0800 [BNX2]: Fix Xen problem. This fixes the problem of not receiving packets in the Xen bridging environment. The Xen script sets the device's MAC address to FE:FF:FF:FF:FF:FF and puts the device in promiscuous mode. The firmware had problem receiving all packets in this configuration. New firmware and setting the PROM_VLAN bit when in promiscuous mode will fix this problem. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit bb22f58087fdf8b617803c9b65bc86c6d26b5115 Author: James Morris Date: Fri Nov 17 23:01:03 2006 -0500 Compile fix for "peer secid consolidation for external network labeling" Use a forward declaration instead of dragging in skbuff.h and related junk. Signed-off-by: James Morris commit de64688ffb952a65ddbc5295ccd235d35f292593 Author: Paul Moore Date: Fri Nov 17 17:38:55 2006 -0500 NetLabel: honor the audit_enabled flag The audit_enabled flag is used to signal when syscall auditing is to be performed. While NetLabel uses a Netlink interface instead of syscalls, it is reasonable to consider the NetLabel Netlink interface as a form of syscall so pay attention to the audit_enabled flag when generating audit messages in NetLabel. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 3de4bab5b9f8848a0c16a4b1ffe0452f0d670237 Author: Paul Moore Date: Fri Nov 17 17:38:54 2006 -0500 SELinux: peer secid consolidation for external network labeling Now that labeled IPsec makes use of the peer_sid field in the sk_security_struct we can remove a lot of the special cases between labeled IPsec and NetLabel. In addition, create a new function, security_skb_extlbl_sid(), which we can use in several places to get the security context of the packet's external label which allows us to further simplify the code in a few places. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 9f2ad66509b182b399a5b03de487f45bde623524 Author: Paul Moore Date: Fri Nov 17 17:38:53 2006 -0500 NetLabel: SELinux cleanups This patch does a lot of cleanup in the SELinux NetLabel support code. A summary of the changes include: * Use RCU locking for the NetLabel state variable in the skk_security_struct instead of using the inode_security_struct mutex. * Remove unnecessary parameters in selinux_netlbl_socket_post_create(). * Rename selinux_netlbl_sk_clone_security() to selinux_netlbl_sk_security_clone() to better fit the other NetLabel sk_security functions. * Improvements to selinux_netlbl_inode_permission() to help reduce the cost of the common case. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 9bb5fd2b05cb4dba229e225536faa59eaadd837d Author: Paul Moore Date: Fri Nov 17 17:38:52 2006 -0500 NetLabel: use cipso_v4_doi_search() for local CIPSOv4 functions The cipso_v4_doi_search() function behaves the same as cipso_v4_doi_getdef() but is a local, static function so use it whenever possibile in the CIPSOv4 code base. Signed-of-by: Paul Moore Signed-off-by: James Morris commit c6b1677a54330b72d961270c9a66bb99c62c4a8e Author: Paul Moore Date: Fri Nov 17 17:38:51 2006 -0500 NetLabel: use the correct CIPSOv4 MLS label limits The CIPSOv4 engine currently has MLS label limits which are slightly larger than what the draft allows. This is not a major problem due to the current implementation but we should fix this so it doesn't bite us later. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 9fade4bf8eed3db2fd1306968da4d51bc611aca3 Author: Paul Moore Date: Fri Nov 17 17:38:50 2006 -0500 NetLabel: return the correct error for translated CIPSOv4 tags The CIPSOv4 translated tag #1 mapping does not always return the correct error code if the desired mapping does not exist; instead of returning -EPERM it returns -ENOSPC indicating that the buffer is not large enough to hold the translated value. This was caused by failing to check a specific error condition. This patch fixes this so that unknown mappings return -EPERM which is consistent with the rest of the related CIPSOv4 code. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 91b1ed0afdbffbda88c472ef72af37e19b7876fb Author: Paul Moore Date: Fri Nov 17 17:38:49 2006 -0500 NetLabel: fixup the handling of CIPSOv4 tags to allow for multiple tag types While the original CIPSOv4 code had provisions for multiple tag types the implementation was not as great as it could be, pushing a lot of non-tag specific processing into the tag specific code blocks. This patch fixes that issue making it easier to support multiple tag types in the future. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 6ce61a7c2678800cfe59a5f4a41ce8f785b9d355 Author: Paul Moore Date: Fri Nov 17 17:38:48 2006 -0500 NetLabel: add tag verification when adding new CIPSOv4 DOI definitions Currently the CIPSOv4 engine does not do any sort of checking when a new DOI definition is added. The tags are still verified but only as a side effect of normal NetLabel operation (packet processing, socket labeling, etc.) which would cause application errors due to the faulty configuration. This patch adds tag checking when new DOI definition are added allowing us to catch these configuration problems when they happen. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 05e00cbf5036929355020dab4837b637203a0742 Author: Paul Moore Date: Fri Nov 17 17:38:47 2006 -0500 NetLabel: check for a CIPSOv4 option before we do call into the CIPSOv4 layer Right now the NetLabel code always jumps into the CIPSOv4 layer to determine if a CIPSO IP option is present. However, we can do this check directly in the NetLabel code by making use of the CIPSO_V4_OPTEXIST() macro which should save us a function call in the common case of not having a CIPSOv4 option present. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 701a90bad99b8081a824cca52c178c8fc8f46bb2 Author: Paul Moore Date: Fri Nov 17 17:38:46 2006 -0500 NetLabel: make netlbl_lsm_secattr struct easier/quicker to understand The existing netlbl_lsm_secattr struct required the LSM to check all of the fields to determine if any security attributes were present resulting in a lot of work in the common case of no attributes. This patch adds a 'flags' field which is used to indicate which attributes are present in the structure; this should allow the LSM to do a quick comparison to determine if the structure holds any security attributes. Example: if (netlbl_lsm_secattr->flags) /* security attributes present */ else /* NO security attributes present */ Signed-off-by: Paul Moore Signed-off-by: James Morris commit c6fa82a9dd6160e0bc980cb0401c16bf62f2fe66 Author: Paul Moore Date: Fri Nov 17 17:38:45 2006 -0500 NetLabel: change netlbl_secattr_init() to return void The netlbl_secattr_init() function would always return 0 making it pointless to have a return value. This patch changes the function to return void. Signed-off-by: Paul Moore Signed-off-by: James Morris commit cd28786d6d4209ec32a375d92188ec7b4d98779f Author: Paul Moore Date: Fri Nov 17 17:38:44 2006 -0500 NetLabel: convert the unlabeled accept flag to use RCU Currently the NetLabel unlabeled packet accept flag is an atomic type and it is checked for every non-NetLabel packet which comes into the system but rarely ever changed. This patch changes this flag to a normal integer and protects it with RCU locking. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 1f758d93548fb3c6297c05a351a4ba532de6a497 Author: Paul Moore Date: Fri Nov 17 17:38:43 2006 -0500 NetLabel: use gfp_t instead of int where it makes sense There were a few places in the NetLabel code where the int type was being used instead of the gfp_t type, this patch corrects this mistake. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 352d48008b6f3e02d8ce77868432e329dd921cb1 Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 19:59:12 2006 -0200 [TCP]: Tidy up skb_entail Heck, it even saves us some few bytes: [acme@newtoy net-2.6.20]$ codiff -f /tmp/tcp.o.before ../OUTPUT/qemu/net-2.6.20/net/ipv4/tcp.o /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv4/tcp.c: tcp_sendpage | -7 tcp_sendmsg | -5 2 functions changed, 12 bytes removed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit eafff86d3bd80403c808f67f5389813fdb5bd6c8 Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 13:05:04 2006 -0200 [NETROM]: Use kmemdup Signed-off-by: Arnaldo Carvalho de Melo commit 0459d70add3f7ca5d433d4b2334cc6ec9ddab05b Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 12:43:07 2006 -0200 [AX25]: Use kmemdup Code diff stats: [acme@newtoy net-2.6.20]$ codiff /tmp/ax25.ko.before /tmp/ax25.ko.after /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ax25/ax25_out.c: ax25_send_frame | -8 1 function changed, 8 bytes removed /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ax25/ax25_route.c: ax25_rt_autobind | -15 1 function changed, 15 bytes removed /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ax25/af_ax25.c: ax25_make_new | -33 1 function changed, 33 bytes removed /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ax25/sysctl_net_ax25.c: ax25_register_sysctl | -21 1 function changed, 21 bytes removed /tmp/ax25.ko.after: 4 functions changed, 77 bytes removed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit c66b721a502cbbc15be8bd7c79c305fa40f1e6ce Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 12:29:21 2006 -0200 [DECNET]: Use kmemdup Code diff stats: [acme@newtoy net-2.6.20]$ codiff /tmp/decnet.ko.before /tmp/decnet.ko.after /pub/scm/linux/kernel/git/acme/net-2.6.20/net/decnet/dn_dev.c: dn_dev_sysctl_register | -51 1 function changed, 51 bytes removed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit eed73417d501c2c7bdef1bc8a1f7a1548a635b09 Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 12:21:43 2006 -0200 [DCCP]: Use kmemdup Code diff stats: [acme@newtoy net-2.6.20]$ codiff /tmp/dccp.ko.before /tmp/dccp.ko.after /pub/scm/linux/kernel/git/acme/net-2.6.20/net/dccp/feat.c: __dccp_feat_init | -16 dccp_feat_change_recv | -55 dccp_feat_clone | -56 3 functions changed, 127 bytes removed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit af879cc704372ef762584e916129d19ffb39e844 Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 12:14:37 2006 -0200 [IPV6]: Use kmemdup Code diff stats: [acme@newtoy net-2.6.20]$ codiff /tmp/ipv6.ko.before /tmp/ipv6.ko.after /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv6/ip6_output.c: ip6_output | -52 ip6_append_data | +2 2 functions changed, 2 bytes added, 52 bytes removed /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv6/addrconf.c: addrconf_sysctl_register | -27 1 function changed, 27 bytes removed /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv6/tcp_ipv6.c: tcp_v6_syn_recv_sock | -32 tcp_v6_parse_md5_keys | -24 2 functions changed, 56 bytes removed /tmp/ipv6.ko.after: 5 functions changed, 2 bytes added, 135 bytes removed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit c67862403e28dd67f38e896736f063d8dd522688 Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 11:25:49 2006 -0200 [TCP] minisocks: Use kmemdup and LIMIT_NETDEBUG Code diff stats: [acme@newtoy net-2.6.20]$ codiff /tmp/tcp_minisocks.o.before /tmp/tcp_minisocks.o.after /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv4/tcp_minisocks.c: tcp_check_req | -44 1 function changed, 44 bytes removed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit 42e5ea466c1897c4ac2e3b4fe0b33a28e9e3d5de Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 11:18:20 2006 -0200 [IPV4]: Use kmemdup in net/ipv4/devinet.c Code diff stats: [acme@newtoy net-2.6.20]$ codiff /tmp/devinet.o.before /tmp/devinet.o.after /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv4/devinet.c: devinet_sysctl_register | -38 1 function changed, 38 bytes removed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit fac5d7315126f4b6745a8565c3a875617e02f8b8 Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 11:14:16 2006 -0200 [NETLABEL]: Use kmemdup in cipso_ipv4.c Code diff stats: [acme@newtoy net-2.6.20]$ codiff /tmp/cipso_ipv4.o.before /tmp/cipso_ipv4.o.after /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv4/cipso_ipv4.c: cipso_v4_cache_add | -46 1 function changed, 46 bytes removed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit f6685938f9181e95f814edfca287d4f04a925240 Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 11:06:01 2006 -0200 [TCP_IPV4]: Use kmemdup where appropriate Also use a variable to avoid the longish tp->md5sig_info-> use in tcp_v4_md5_do_add. Code diff stats: [acme@newtoy net-2.6.20]$ codiff /tmp/tcp_ipv4.o.before /tmp/tcp_ipv4.o.after /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv4/tcp_ipv4.c: tcp_v4_md5_do_add | -62 tcp_v4_syn_recv_sock | -32 tcp_v4_parse_md5_keys | -86 3 functions changed, 180 bytes removed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit 7174259e6ced15bebee202983511d8fc950e929f Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 10:57:30 2006 -0200 [TCP_IPV4]: CodingStyle cleanups, no code change Mostly related to CONFIG_TCP_MD5SIG recent merge. Signed-off-by: Arnaldo Carvalho de Melo commit 32aac18dfa0963fde40cc074ba97ebbae8b755f2 Author: Andrea Bittau Date: Thu Nov 16 14:28:40 2006 -0200 [DCCP] CCID2: Code optimizations These are code optimizations which are relevant when dealing with large windows. They are not coded the way I would like to, but they do the job for the short-term. This patch should be more neat. Commiter note: Changed the seqno comparisions to use {after,before}48 to handle wrapping. Signed-off-by: Andrea Bittau Signed-off-by: Arnaldo Carvalho de Melo commit 58a5a7b9555ea231b557ebef5cabeaf8e951df0b Author: Arnaldo Carvalho de Melo Date: Thu Nov 16 14:06:06 2006 -0200 [NET]: Conditionally use bh_lock_sock_nested in sk_receive_skb Spotted by Ian McDonald, tentatively fixed by Gerrit Renker: http://www.mail-archive.com/dccp%40vger.kernel.org/msg00599.html Rewritten not to unroll sk_receive_skb, in the common case, i.e. no lock debugging, its optimized away. Signed-off-by: Arnaldo Carvalho de Melo commit e523a1550e877f8a8ff87a50269b7ee7bfb43464 Author: Arnaldo Carvalho de Melo Date: Thu Nov 16 12:23:58 2006 -0200 [DCCP]: One NET_INC_STATS() could be NET_INC_STATS_BH in dccp_v4_err() Spotted by Eric Dumazet in tcp_v4_rcv(). Signed-off-by: Arnaldo Carvalho de Melo commit 3c6952624a8f600f9a0fbc1f5db5560a7ef9b13e Author: Gerrit Renker Date: Wed Nov 15 21:27:47 2006 -0200 [DCCP]: Introduce DCCP_{BUG{_ON},CRIT} macros, use enum:8 for the ccid3 states This patch tackles the following problem: * the ccid3_hc_{t,r}x_sock define ccid3hc{t,r}x_state as `u8', but in reality there can only be a few, pre-defined enum names * this necessitates addiditional checking for unexpected values which would otherwise be caught by the compiler Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 6bb100b9fc8f1ce330231b360028ab705a9f0378 Author: David S. Miller Date: Wed Nov 15 01:09:32 2006 -0800 [UDPLite]: udplite.h needs ip6_checksum.h Signed-off-by: David S. Miller commit 078250d68d883495f31d0e6ce8321292f2dc1cfa Author: Gerrit Renker Date: Wed Nov 15 00:44:49 2006 -0800 [NET/IPv4]: Make udp_push_pending_frames static udp_push_pending_frames is only referenced within net/ipv4/udp.c and hence can remain static. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 7d9e9b3df491d5e1c3ed76c5cff7ace6094124c1 Author: David S. Miller Date: Tue Nov 14 22:09:20 2006 -0800 [IPV6]: udp.c build fix Signed-off-by: David S. Miller commit 7d533f941856d7d192bfec28581e130dda9c6688 Author: Al Viro Date: Tue Nov 14 21:51:36 2006 -0800 [NET]: More dccp endianness annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 1f61ab5ca5cca939a6509892d84b34849e155036 Author: Al Viro Date: Tue Nov 14 21:44:08 2006 -0800 [NET]: Preliminaty annotation of skb->csum. It's still not completely right; we need to split it into anon unions of __wsum and unsigned - for cases when we use it for partial checksum and for offset of checksum in skb Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5a5a852e45b651c71dfeb3972b30d58742f8941e Author: Al Viro Date: Tue Nov 14 21:43:44 2006 -0800 [NET] driver/s390/net: Checksum annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 43bc0ca7eadc024e9e5b935fa5e0892df4fec9eb Author: Al Viro Date: Tue Nov 14 21:43:23 2006 -0800 [NET]: netfilter checksum annotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit f9214b2627fb8582af1986afc4aed5942086a535 Author: Al Viro Date: Thu Nov 16 02:41:18 2006 -0800 [NET]: ipvs checksum annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5c78f275e696a25a9919671aa8aa3d0a3d967978 Author: Al Viro Date: Tue Nov 14 21:42:26 2006 -0800 [NET]: IP header modifier helpers annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit f6ab028804bdc580fe0915494dbf31f5ea473ca7 Author: Al Viro Date: Thu Nov 16 02:36:50 2006 -0800 [NET]: Make mangling a checksum (0 -> 0xffff on the wire) explicit. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit b51655b958dfb1176bfcf99466231fdbef8751ff Author: Al Viro Date: Tue Nov 14 21:40:42 2006 -0800 [NET]: Annotate __skb_checksum_complete() and friends. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit b1550f221255f7dd06048d832bf0f3d166840e1c Author: Al Viro Date: Tue Nov 14 21:37:50 2006 -0800 [NET]: Annotate ip_vs_checksum_complete() and callers. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 81d77662763ae527ba3a9b9275467901aaab7dfd Author: Al Viro Date: Tue Nov 14 21:37:33 2006 -0800 [NET]: Annotate skb_copy_and_csum_bits() and callers. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 2bbbc86890ac4c911c5057f69af93853e52a42a8 Author: Al Viro Date: Tue Nov 14 21:37:14 2006 -0800 [NET]: Annotate skb_checksum() and callers. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5f92a7388a29594d6c365b23a48d4bb8299a3ea7 Author: Al Viro Date: Tue Nov 14 21:36:54 2006 -0800 [NET]: Annotate callers of the reset of checksum.h stuff. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5084205faf45384fff25c4cf77dd5c96279283ad Author: Al Viro Date: Tue Nov 14 21:36:34 2006 -0800 [NET]: Annotate callers of csum_partial_copy_...() and csum_and_copy...() in net/* Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 44bb93633f57a55979f3c2589b10fd6a2bfc7c08 Author: Al Viro Date: Tue Nov 14 21:36:14 2006 -0800 [NET]: Annotate csum_partial() callers in net/* Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 868c86bcb5bdea7ed8d45979b17bb919af9254db Author: Al Viro Date: Tue Nov 14 21:35:48 2006 -0800 [NET]: annotate csum_ipv6_magic() callers in net/* Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 2bda2853150e20ca2a44627d00b5f85af0b24a42 Author: Al Viro Date: Tue Nov 14 21:28:51 2006 -0800 [NET]: Annotate csum_tcpudp_magic() callers in net/* Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 6b11687ef003ed595033da89643c8995676f929d Author: Al Viro Date: Tue Nov 14 21:28:24 2006 -0800 [NET]: Annotate csum_tcpudp_magic() callers in net/* Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d6f5493c1a42b1203e5b0cb0507afd00bb2927bf Author: Al Viro Date: Tue Nov 14 21:26:08 2006 -0800 [NET]: Annotate callers of csum_tcpudp_nofold() in net/* Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d3bc23e7ee9db8023dff5a86bb3b0069ed018789 Author: Al Viro Date: Tue Nov 14 21:24:49 2006 -0800 [NET]: Annotate callers of csum_fold() in net/* Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 9981a0e36a572e9fcf84bfab915fdc93bed0e3c9 Author: Al Viro Date: Tue Nov 14 21:24:30 2006 -0800 [NET]: Annotate checksums in on-the-wire packets. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 56649d5d3c4cb0fe6dd34808ca9f9208d84130ab Author: Al Viro Date: Tue Nov 14 21:23:59 2006 -0800 [NET]: Generic checksum annotations and cleanups. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit b8e4e01dd5576a14602a49829f9f9d997bb60b6b Author: Al Viro Date: Tue Nov 14 21:23:40 2006 -0800 [NET]: XTENSA checksum annotations and cleanups. * sanitize prototypes, annotate * kill csum_partial_copy_fromuser * kill csum_partial_copy * kill useless shifts * usual ntohs->shift Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d5c63936410fbcabd92df1ac12f3f63ca23c7a86 Author: Al Viro Date: Tue Nov 14 21:23:20 2006 -0800 [NET]: SPARC64 checksum annotations and cleanups. * sanitize prototypes, annotate * kill useless shift Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 16ec7e168db6747e69b101b86ddf86f001fdcd60 Author: Al Viro Date: Tue Nov 14 21:22:56 2006 -0800 [NET]: SPARC checksum annotations and cleanups. * sanitize prototypes, annotate * kill bogus access_ok() in csum_partial_copy_from_user (the only caller checks) * kill useless shift Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 7c73a746ba726faa5ab12981b4b192768eb439de Author: Al Viro Date: Tue Nov 14 21:22:35 2006 -0800 [NET]: SH checksum annotations and cleanups. * sanitize prototypes, annotate * kill useless shifts * usual ntohs->shift Signed-off-by: Al Viro Signed-off-by: David S. Miller commit f994aae1bd8e4813d59a2ed64d17585fe42d03fc Author: Al Viro Date: Tue Nov 14 21:22:18 2006 -0800 [NET]: S390 checksum annotations and cleanups. * sanitize prototypes, annotate * kill useless shifts Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 879178cfbe56baa42ee73b9668816872c97d8ccd Author: Al Viro Date: Tue Nov 14 21:21:58 2006 -0800 [NET]: POWERPC checksum annotations and cleanups. * sanitize prototypes, annotate * kill useless shifts Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 72685fcd286e94fef0b692f634d304b7240cef04 Author: Al Viro Date: Tue Nov 14 21:21:37 2006 -0800 [NET]: I386 checksum annotations and cleanups. * sanitize prototypes, annotate * usual ntohs->shift Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 475b8f311bf3e9b5a024b779435f408395a76890 Author: Al Viro Date: Tue Nov 14 21:21:15 2006 -0800 [NET]: AVR32 checksum annotations and cleanups. * sanitize prototypes, annotate * kill useless shifts * kill useless ntohs (it's big-endian, for fsck sake!) Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 0ffb7122bc988ce328e84d14c81d029bc62c47c5 Author: Al Viro Date: Tue Nov 14 21:20:51 2006 -0800 [NET]: ARM26 checksum annotations and cleanups. * sanitize prototypes, annotate * kill csum_partial_copy Signed-off-by: Al Viro Signed-off-by: David S. Miller commit eb5a9658656c3d633cc973ec90ccfd6c439dabb6 Author: Al Viro Date: Tue Nov 14 21:20:28 2006 -0800 [NET]: ARM checksum annotations and cleanups. * sanitize prototypes, annotate * kill csum_partial_copy * usual ntohs->shift, this time in assembler part Signed-off-by: Al Viro Signed-off-by: David S. Miller commit a4f89fb7c072b8592b296c2ba216269c0c96db43 Author: Al Viro Date: Tue Nov 14 21:20:08 2006 -0800 [NET]: X86_64 checksum annotations and cleanups. * sanitize prototypes, annotate * usual ntohs->shift Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 9d3d41955845939cb41b87affb039db0bae03b65 Author: Al Viro Date: Tue Nov 14 21:19:44 2006 -0800 [NET]: V850 checksum annotations and cleanups. * sanitize prototypes, annotate * collapse csum_partial_copy * usual ntohs->shift Signed-off-by: Al Viro Signed-off-by: David S. Miller commit abf419b809bed2333267e4b23dd2b3b4f10da88c Author: Al Viro Date: Tue Nov 14 21:19:22 2006 -0800 [NET]: UML checksum annotations and cleanups. * sanitize prototypes, annotate * kill csum_partial_copy_fromuser * kill shift-by-16 in checksum calculations * ntohs->shift in checksum calculations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit c459dd90f0de00db1ca1328482214019f6ca292f Author: Al Viro Date: Tue Nov 14 21:19:01 2006 -0800 [NET]: SH64 checksum annotations and cleanups. * sanitize prototypes, annotate * collapse csum_partial_copy * kill csum_partial_copy_fromuser * ntohs->shift in checksum calculation Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 7814e4b6d6ce59071887600a8659641ba3d30a43 Author: Al Viro Date: Tue Nov 14 21:18:39 2006 -0800 [NET]: PARISC checksum annotations and cleanups. * sanitized prototypes, annotated * kill shift-by-16 in checksum calculation Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 8e3d8433d8c22ca6c42cba4a67d300c39aae7822 Author: Al Viro Date: Tue Nov 14 21:18:18 2006 -0800 [NET]: MIPS checksum annotations and cleanups. * sanitize prototypes, annotate * kill shift-by-16 in checksum calculations * htons->shift in l-e checksum calculations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 59ed05a7e891d694a43df96ac613f7e8e164eb95 Author: Al Viro Date: Tue Nov 14 21:17:56 2006 -0800 [NET]: M68Knommu checksum annotations and cleanups. * sanitize prototypes, annotated * collapsed csum_partial_copy() Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 2061acaaae0e165f0104ec9d327a02addbcabd62 Author: Al Viro Date: Tue Nov 14 21:17:19 2006 -0800 [NET]: M68K checksum annotations and cleanups. * sanitize prototypes, annotate Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 85d20dee20f0958df1615e73698f6b0c525812f7 Author: Al Viro Date: Tue Nov 14 21:16:55 2006 -0800 [NET]: M32R checksum annotations and cleanups. * sanitize prototypes, annotate * ntohs -> shift in checksum calculations in l-e case * kill shift-by-16 in checksum calculations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 322529961e3b3e64fdf1a3e46a45294456c91acf Author: Al Viro Date: Tue Nov 14 21:16:30 2006 -0800 [NET]: IA64 checksum annotations and cleanups. * sanitize prototypes, annotate * ntohs -> shift in checksum calculations * kill access_ok() in csum_partial_copy_from_user * collapse do_csum_partial_copy_from_user Signed-off-by: Al Viro Signed-off-by: David S. Miller commit db521083bcb75505e9c3e21cbabe8274ee0daea6 Author: Al Viro Date: Tue Nov 14 21:16:07 2006 -0800 [NET]: H8300 checksum annotations and cleanups. * sanitize prototypes and annotate * collapse csum_partial_copy NB: csum_partial() is almost certainly still buggy. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 8042c44b8a6171ed75b7dd6a224df18d993f6094 Author: Al Viro Date: Tue Nov 14 21:15:40 2006 -0800 [NET]: FRV checksum annotations. * sanitize prototypes and annotate * collapse csum_partial_copy Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 3532010bcf7699f2ce9a2baab58b4b9a5426d97e Author: Al Viro Date: Tue Nov 14 21:15:19 2006 -0800 [NET]: Cris checksum annotations and cleanups. * sanitize prototypes and annotate * kill cast-as-lvalue abuses in csum_partial() * usual ntohs-equals-shift for checksum purposes Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 9be259aae5264511fe0a8b5e3d6711e0fd1d55df Author: Al Viro Date: Tue Nov 14 21:14:53 2006 -0800 [NET]: Alpha checksum annotations and cleanups. * sanitize prototypes and annotate * kill useless access_ok() in csum_partial_copy_from_user() (the only caller checks it already). * do_csum_partial_copy_from_user() is not needed now * replace htons(len) with len << 8 - they are the same wrt checksums on little-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 2bc357987a6510e61d33f3b20fa989fb2b6a10b8 Author: Al Viro Date: Tue Nov 14 21:14:18 2006 -0800 [NET]: Introduce types for checksums. New types - for 16bit checksums and "unfolded" 32bit variant. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 3277c39f8d706afb6fefc02f49563a73bbd405b9 Author: Al Viro Date: Tue Nov 14 21:13:53 2006 -0800 [NET]: Kill direct includes of asm/checksum.h Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 75e7ce66ef044fa877a420f1b4febe416bbc09ad Author: Al Viro Date: Tue Nov 14 21:13:28 2006 -0800 [IPVS]: Annotate ..._app_hashkey(). Signed-off-by: Al Viro Signed-off-by: David S. Miller commit a64b78a077a71c9b9c0c1b0be699083379783c3d Author: Al Viro Date: Tue Nov 14 21:12:29 2006 -0800 [NET]: Annotate net_srandom(). Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 47c183fa5ea7feebc356da8ccbd9105a41f8e534 Author: Al Viro Date: Tue Nov 14 21:11:51 2006 -0800 [BRIDGE]: Annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 30d492da738a8d5f4ec884b3e1a13eef97714994 Author: Al Viro Date: Tue Nov 14 21:11:29 2006 -0800 [ATM]: Annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 42d224aa170a4f7446cea6c972d9302d524545e5 Author: Al Viro Date: Tue Nov 14 21:11:08 2006 -0800 [NETFILTER]: More trivial annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit ef296f56f8501f3ac68b8d44f63205f544126733 Author: Al Viro Date: Tue Nov 14 20:56:33 2006 -0800 [IPV6]: __ipv6_addr_diff() annotations and cleanup. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit e69a4adc669fe210817ec50ae3f9a7a5ad62d4e8 Author: Al Viro Date: Tue Nov 14 20:56:00 2006 -0800 [IPV6]: Misc endianness annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit b09b845ca6724c3bbdc00c0cb2313258c7189ca9 Author: Al Viro Date: Tue Nov 14 20:52:19 2006 -0800 [RANDOM]: Annotate random.h IP helpers. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 714e85be3557222bc25f69c252326207c900a7db Author: Al Viro Date: Tue Nov 14 20:51:49 2006 -0800 [IPV6]: Assorted trivial endianness annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 252e33467a3b016f20dd8df12269cef3b167f21e Author: Al Viro Date: Tue Nov 14 20:48:11 2006 -0800 [NET] net/core: Annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 448c31aa34b5ee947d322e8747c4cf801fc4c104 Author: Al Viro Date: Tue Nov 14 20:47:46 2006 -0800 [IRDA]: Trivial annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit c68b907028d35b0ad5a98b5e5552f0ad56a9ba1d Author: David S. Miller Date: Tue Nov 14 20:40:49 2006 -0800 [NETPOLL]: Minor coding-style cleanups. Signed-off-by: David S. Miller commit ba4e58eca8aa9473b44fdfd312f26c4a2e7798b3 Author: Gerrit Renker Date: Mon Nov 27 11:10:57 2006 -0800 [NET]: Supporting UDP-Lite (RFC 3828) in Linux This is a revision of the previously submitted patch, which alters the way files are organized and compiled in the following manner: * UDP and UDP-Lite now use separate object files * source file dependencies resolved via header files net/ipv{4,6}/udp_impl.h * order of inclusion files in udp.c/udplite.c adapted accordingly [NET/IPv4]: Support for the UDP-Lite protocol (RFC 3828) This patch adds support for UDP-Lite to the IPv4 stack, provided as an extension to the existing UDPv4 code: * generic routines are all located in net/ipv4/udp.c * UDP-Lite specific routines are in net/ipv4/udplite.c * MIB/statistics support in /proc/net/snmp and /proc/net/udplite * shared API with extensions for partial checksum coverage [NET/IPv6]: Extension for UDP-Lite over IPv6 It extends the existing UDPv6 code base with support for UDP-Lite in the same manner as per UDPv4. In particular, * UDPv6 generic and shared code is in net/ipv6/udp.c * UDP-Litev6 specific extensions are in net/ipv6/udplite.c * MIB/statistics support in /proc/net/snmp6 and /proc/net/udplite6 * support for IPV6_ADDRFORM * aligned the coding style of protocol initialisation with af_inet6.c * made the error handling in udpv6_queue_rcv_skb consistent; to return `-1' on error on all error cases * consolidation of shared code [NET]: UDP-Lite Documentation and basic XFRM/Netfilter support The UDP-Lite patch further provides * API documentation for UDP-Lite * basic xfrm support * basic netfilter support for IPv4 and IPv6 (LOG target) Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 6051e2f4fb68fc8e5343db58fa680ece376f405c Author: Thomas Graf Date: Tue Nov 14 19:54:19 2006 -0800 [IPv6] prefix: Convert RTM_NEWPREFIX notifications to use the new netlink api RTM_GETPREFIX is completely unused and is thus removed. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 04561c1fe7b067a8250e6caaf168256783580c4c Author: Thomas Graf Date: Tue Nov 14 19:53:58 2006 -0800 [IPv6] iflink: Convert IPv6's RTM_GETLINK to use the new netlink api By replacing the current method of exporting the device configuration which included allocating a temporary buffer, copying ipv6_devconf into it and copying that buffer into the message with a method that uses nla_reserve() allowing to copy the device configuration directly into the skb data buffer, a GFP_ATOMIC allocation could be removed. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit a928630a2ffeaf6aa9a6b78456935b6ab1be3066 Author: David S. Miller Date: Tue Nov 14 19:53:22 2006 -0800 [TCP]: Fix some warning when MD5 is disabled. Just some mis-placed ifdefs: net/ipv4/tcp_minisocks.c: In function ‘tcp_twsk_destructor’: net/ipv4/tcp_minisocks.c:364: warning: unused variable ‘twsk’ net/ipv6/tcp_ipv6.c:1846: warning: ‘tcp_sock_ipv6_specific’ defined but not used net/ipv6/tcp_ipv6.c:1877: warning: ‘tcp_sock_ipv6_mapped_specific’ defined but not used Signed-off-by: David S. Miller commit 17c157c889f4b07258af6bfec9e4e9dcf3c00178 Author: Thomas Graf Date: Tue Nov 14 19:46:02 2006 -0800 [GENL]: Add genlmsg_put_reply() to simplify building reply headers By modyfing genlmsg_put() to take a genl_family and by adding genlmsg_put_reply() the process of constructing the netlink and generic netlink headers is simplified. Signed-off-by: Thomas Graf Acked-by: Paul Moore Signed-off-by: David S. Miller commit 81878d27fdd297a33f3cfcf29483fe1abaf26dec Author: Thomas Graf Date: Tue Nov 14 19:45:27 2006 -0800 [GENL]: Add genlmsg_reply() to simply unicast replies to requests A generic netlink user has no interest in knowing how to address the source of the original request. Signed-off-by: Thomas Graf Acked-by: Paul Moore Signed-off-by: David S. Miller commit 3dabc7157859e706770c825aa229f8943db4e0e1 Author: Thomas Graf Date: Tue Nov 14 19:44:52 2006 -0800 [GENL]: Add genlmsg_new() to allocate generic netlink messages Signed-off-by: Thomas Graf Acked-by: Paul Moore Signed-off-by: David S. Miller commit cfb6eeb4c860592edd123fdea908d23c6ad1c7dc Author: YOSHIFUJI Hideaki Date: Tue Nov 14 19:07:45 2006 -0800 [TCP]: MD5 Signature Option (RFC2385) support. Based on implementation by Rick Payne. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit bf6bce71eae386dbc37f93af7e5ad173450d9945 Author: Stephen Hemminger Date: Thu Oct 26 15:46:56 2006 -0700 netpoll header cleanup As Steve left netpoll beast, hopefully not to return soon. He noticed that the header was messy. He straightened it up and polished it a little, then waved goodbye. Signed-off-by: Stephen Hemminger commit 5de4a473bda49554e4e9bd93b78f43c49a7ea69c Author: Stephen Hemminger Date: Thu Oct 26 15:46:55 2006 -0700 netpoll queue cleanup The beast had a long and not very happy history. At one point, a friend (netdump) had asked that he open up a little. Well, the friend was long gone now, and the beast had this dangling piece hanging (netpoll_queue). It wasn't hard to stitch the netpoll_queue back in where it belonged and make everything tidy. Signed-off-by: Stephen Hemminger commit 2bdfe0baeca0e2750037b8fba71905c00ac3c515 Author: Stephen Hemminger Date: Thu Oct 26 15:46:54 2006 -0700 netpoll retry cleanup The netpoll beast was still not happy. If the beast got clogged pipes, it tended to stare blankly off in space for a long time. The problem couldn't be completely fixed because the beast talked with irq's disabled. But it could be made less painful and shorter. Signed-off-by: Stephen Hemminger commit 6c43ff18f91e54aa7555d8ae4f26eab7da5bce68 Author: Stephen Hemminger Date: Thu Oct 26 15:46:53 2006 -0700 netpoll deferred transmit path When the netpoll beast got busy, he tended to babble. Instead of talking out of his large mouth as normal, he tended to try to snort out other orifices. This lead to words (skbs) ending up in odd places (like NIT) that he did not intend. The normal way of talking wouldn't work, but he could at least change to using the same tone all the time. Signed-off-by: Stephen Hemminger commit b41848b61bae30e3661efd4ec62ea380cedef687 Author: Stephen Hemminger Date: Thu Oct 26 15:46:52 2006 -0700 netpoll setup error handling The beast was not always healthy. When it was sick, it tended to be laconic and not tell anyone the real problem. A few small changes had it telling the world about its problems, if they really wanted to hear. Signed-off-by: Stephen Hemminger commit b6cd27ed33886a5ffaf0925a6d98e13e18e8a1af Author: Stephen Hemminger Date: Thu Oct 26 15:46:51 2006 -0700 netpoll per device txq When the netpoll beast got really busy, it tended to clog things, so it stored them for later. But the beast was putting all it's skb's in one basket. This was bad because maybe some pipes were clogged and others were not. Signed-off-by: Stephen Hemminger commit 93ec2c723e3f8a216dde2899aeb85c648672bc6b Author: Stephen Hemminger Date: Thu Oct 26 15:46:50 2006 -0700 netpoll info leak After looking harder, Steve noticed that the netpoll beast leaked a little every time it shutdown for a nap. Not a big leak, but a nuisance kind of thing. He took out his refcount duct tape and patched the leak. It was overkill since there was already other locking in that area, but it looked clean and wouldn't attract fleas. Signed-off-by: Stephen Hemminger commit a1bcfacd0577ff477e934731d4ceb3d26eab947d Author: Stephen Hemminger Date: Tue Nov 14 10:43:58 2006 -0800 netpoll: private skb pool (rev3) It was a dark and stormy night when Steve first saw the netpoll beast. The beast was odd, and misshapen but not extremely ugly. "Let me take off one of your warts" he said. This wart is where you tried to make an skb list yourself. If the beast had ever run out of memory, he would have stupefied himself unnecessarily. The first try was painful, so he tried again till the bleeding stopped. And again, and again... Signed-off-by: Stephen Hemminger commit d23ca15a21804631d8f787a0cc5646df81b9c2ea Author: Andrea Bittau Date: Tue Nov 14 13:19:45 2006 -0200 [DCCP] ACKVEC: Optimization - Do not traverse records if none will be found Do not traverse the list of ack vector records [proportional to window size] when we know we will not find what we are looking for. This is especially useful because ack vectors are checked twice: 1) Upon parsing of options. 2) Upon notification of a new ack. All of the work will occur during check #1. Therefore, when check #2 is performed, no new work will be done. This is now "detected" and there is no performance hit when doing #2. Signed-off-by: Andrea Bittau Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 09dbc3895e3242346bd434dae743c456fd28fc6a Author: Gerrit Renker Date: Tue Nov 14 12:57:34 2006 -0200 [DCCP]: Miscellaneous code tidy-ups This patch does not change code; it performs some trivial clean/tidy-ups: * removal of a `debug_prefix' string in favour of the already existing dccp_role(sk) * add documentation of structures and constants * separated out the cases for invalid packets (step 1 of the packet validation) * removing duplicate statements * combining declaration & initialisation Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit c02fdc0e81e9c735d8d895af1e201b235df326d8 Author: Gerrit Renker Date: Tue Nov 14 12:48:10 2006 -0200 [DCCP]: Make feature negotiation more readable This patch replaces cryptic feature negotiation messages of type Oct 31 15:42:20 kernel: dccp_feat_change: feat change type=32 feat=1 Oct 31 15:42:21 kernel: dccp_feat_change: feat change type=34 feat=1 Oct 31 15:42:21 kernel: dccp_feat_change: feat change type=32 feat=5 into ones of type: Nov 2 13:54:45 kernel: dccp_feat_change: ChangeL(CCID (1), 3) Nov 2 13:54:45 kernel: dccp_feat_change: ChangeR(CCID (1), 3) Nov 2 13:54:45 kernel: dccp_feat_change: ChangeL(Ack Ratio (5), 2) Also, * completed the feature number list wrt RFC 4340 sec. 6.4 * annotating which ones have been implemented so far * implemented rudimentary sanity checking in feat.c (FIXMEs) * some minor fixes Commiter note: uninlined dccp_feat_name and dccp_feat_typename, for consistency with dccp_{state,packet}_name, that, BTW, should be compiled only if CONFIG_IP_DCCP_DEBUG is selected, leaving this to another cset tho. Also shortened dccp_feat_negotiation_debug to dccp_feat_debug. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 6a128e053e75a5f1be9fb53d0d53159f88197c61 Author: Gerrit Renker Date: Tue Nov 14 11:50:36 2006 -0200 [DCCPv6]: Resolve conditional build problem Resolves the problem that if IPv6 was configured `y' and DCCP `m' then dccp_ipv6 was not built as a module. With this change, dccp_ipv6 is built as a module whenever DCCP *OR* IPv6 are configured as modules; it will be built-in only if both DCCP = `y' and IPV6 = `y'. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit b9df3cb8cf9a96e63dfdcd3056a9cbc71f2459e7 Author: Gerrit Renker Date: Tue Nov 14 11:21:36 2006 -0200 [TCP/DCCP]: Introduce net_xmit_eval Throughout the TCP/DCCP (and tunnelling) code, it often happens that the return code of a transmit function needs to be tested against NET_XMIT_CN which is a value that does not indicate a strict error condition. This patch uses a macro for these recurring situations which is consistent with the already existing macro net_xmit_errno, saving on duplicated code. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 1ed176a801b83915b7c8ab80e0a2a6376a2d6051 Author: Peter Zijlstra Date: Mon Nov 13 16:19:07 2006 -0800 [SCTP]: Cleanup of the sctp state table code. I noticed an insane high density of repeated characters fixable by a simple regular expression: % s/{.fn = \([^,]*\),[[:space:]]\+\(\\\n[[:space:]]\+\)\?.name = "\1"}/TYPE_SCTP_FUNC(\1)/g (NOTE: the .name for .fn = sctp_sf_do_9_2_start_shutdown didn't match) Signed-off-by: Peter Zijlstra Signed-off-by: David S. Miller commit 5f3f24faf322e54752d1df00cdb768a013de5d1f Author: Alexey Dobriyan Date: Mon Nov 13 16:12:08 2006 -0800 [ATM] ambassador,firestream: "-1 >>" is implementation defined 6.5.7(5): The result of E1 >> E2 is E1 right-shifted E2 bit positions. ... If E1 has a signed type and a negative value, the resulting value is implementation defined. So, cast -1 to unsigned type to make result well-defined. [ Modified to use ~0U based upon recommendation from Al Viro. -DaveM ] Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 2ee92d46c6cabedd50edf6f273fa8cf84f707618 Author: James Morris Date: Mon Nov 13 16:09:01 2006 -0800 [SELinux]: Add support for DCCP This patch implements SELinux kernel support for DCCP (http://linux-net.osdl.org/index.php/DCCP), which is similar in operation to TCP in terms of connected state between peers. The SELinux support for DCCP is thus modeled on existing handling of TCP. A new DCCP socket class is introduced, to allow protocol differentation. The permissions for this class inherit all of the socket permissions, as well as the current TCP permissions (node_bind, name_bind etc). IPv4 and IPv6 are supported, although labeled networking is not, at this stage. Patches for SELinux userspace are at: http://people.redhat.com/jmorris/selinux/dccp/user/ I've performed some basic testing, and it seems to be working as expected. Adding policy support is similar to TCP, the only real difference being that it's a different protocol. Acked-by: Stephen Smalley Signed-off-by: James Morris Signed-off-by: David S. Miller commit 90833aa4f496d69ca374af6acef7d1614c8693ff Author: Adrian Bunk Date: Mon Nov 13 16:02:22 2006 -0800 [NET]: The scheduled removal of the frame diverter. This patch contains the scheduled removal of the frame diverter. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit d7f7365f5776723da6df73540d855069c2daaa5c Author: Gerrit Renker Date: Mon Nov 13 13:34:38 2006 -0200 [DCCPv6]: Choose a genuine initial sequence number This * resolves a FIXME - DCCPv6 connections started all with an initial sequence number of 1; * provides a redirection `secure_dccpv6_sequence_number' in case the init_sequence_v6 code should be updated later; * concentrates the update of S.GAR into dccp_connect_init(); * removes a duplicate dccp_update_gss() in ipv4.c; * uses inet->dport instead of usin->sin_port, due to the following assignment in dccp_v4_connect(): inet->dport = usin->sin_port; Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 865e9022d88ceedd89fa1079a6e1f9266ccd3711 Author: Gerrit Renker Date: Mon Nov 13 13:31:50 2006 -0200 [DCCP]: Remove redundant statements in init_sequence (ISS) This patch removes the following redundancies: 1) The test skb->protocol == htons(ETH_P_IPV6) in dccp_v6_init_sequence is always true since * dccp_v6_conn_request() is the only calling function * dccp_v6_conn_request() redirects all skb's with ETH_P_IP to dccp_v4_conn_request() 2) The first argument, `struct sock *sk', of dccp_v{4,6}_init_sequence() is never used. (This is similar for tcp_v{4,6}_init_sequence, an analogous patch has been submitted to netdev and merged.) By the way - are the `sport' / `dport' arguments in the right order? I have made them consistent among calls but they seem to be in the reverse order. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 4ed800d02cfb639b4f8375a0f0f04f0efea64e7f Author: Gerrit Renker Date: Mon Nov 13 13:26:51 2006 -0200 [DCCP]: Remove forward declarations in timer.c This removes 3 forward declarations by reordering 2 functions. No code change at all. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit afb0a34dd3e20b3f534de19993271b8664cf10bb Author: Gerrit Renker Date: Mon Nov 13 13:25:41 2006 -0200 [DCCP]: Introduce a consistent naming scheme for sysctls In order to make their function clearer and obtain a consistent naming scheme to identify sysctls, all existing DCCP sysctls have been prefixed with `sysctl_dccp', following the same convention as used by TCP. Feature-specific sysctls retain the `feat' in the middle, although the `default' has been dropped, since it is obvious from use. Also removed a duplicate `dccp_feat_default_sequence_window' in ipv4.c. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 2e2e9e92bd723244ea20fa488b1780111f2b05e1 Author: Gerrit Renker Date: Mon Nov 13 13:23:52 2006 -0200 [DCCP]: Add sysctls to control retransmission behaviour This adds 3 sysctls which govern the retransmission behaviour of DCCP control packets (3way handshake, feature negotiation). It removes 4 FIXMEs from the code. The close resemblance of sysctl variables to their TCP analogues is emphasised not only by their name, but also by giving them the same initial values. This is useful since there is not much practical experience with DCCP yet. Furthermore, with regard to the previous patch, it is now possible to limit the number of keepalive-Responses by setting net.dccp.default.request_retries (also a bit like in TCP). Lastly, added documentation of all existing DCCP sysctls. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit e11d9d30802278af22e78d8c10f348b683670cd9 Author: Gerrit Renker Date: Mon Nov 13 13:12:07 2006 -0200 [DCCP]: Increment sequence numbers on retransmitted Response packets Problem: commit 08a29e41bb6d6516b0f65e19381f537168d1768e Author: Gerrit Renker Date: Mon Nov 13 13:07:51 2006 -0200 [DCCP]: Update comments on precisely which packets can be retransmitted This updates program documentation: spell out precise conditions about which packets are eligible for retransmission (which is actually quite hard to extract from RFC 4340). It is based on the following table derived from RFC 4340: +-----------+---------------------------------+---------------------+ | Type | Retransmit? | Remark | +-----------+---------------------------------+---------------------+ | Request | in client-REQUEST state | sec. 8.1.1 | | Response | NEVER | SHOULD NOT, 8.1.3 | | Data | NEVER | unreliable protocol | | Ack | possible in client-PARTOPEN | sec. 8.1.5 | | DataAck | NEVER | unreliable protocol | | CloseReq | only in server-CLOSEREQ state | MUST, sec. 8.3 | | Close | in node-CLOSING state | MUST, sec. 8.3 | +-----------+-------------------------------------------------------+ | Reset | only in response to other packets | | Sync | only in response to sequence-invalid packets (7.5.4) | | SyncAck | only in response to Sync packets | +-----------+-------------------------------------------------------+ Hence the only packets eligible for retransmission are: * Requests in client-REQUEST state (sec. 8.1.1) * Acks in client-PARTOPEN state (sec. 8.1.5) * CloseReq in server-CLOSEREQ state (sec. 8.3) * Close in node-CLOSING state (sec. 8.3) I had meant to put in a check for these types too, but have left that for later. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 75356f27ed4f85bd789a822bca3fc5e92e334140 Author: David S. Miller Date: Sun Nov 12 23:02:01 2006 -0800 [DECNET]: Fix build regressions. Spotted by Arnaldo. Signed-off-by: David S. Miller commit 2404043a665a9f4c748ab81eef29c76b3e443801 Author: David S. Miller Date: Fri Nov 10 15:01:14 2006 -0800 [TCP] htcp: Better packing of struct htcp. Based upon a patch by Joe Perches. Signed-off-by: David S. Miller commit d3a1be9cba86c4385a5fe46673bbb4730551f454 Author: Brian Haley Date: Fri Nov 10 14:54:51 2006 -0800 [IPv6]: Only modify checksum for UDP Only change upper-layer checksum from 0 to 0xFFFF for UDP (as RFC 768 states), not for others as RFC 4443 doesn't require it. Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit f465e489c457821751f6253abaaf28c10f9d8895 Author: Thomas Graf Date: Fri Nov 10 14:11:04 2006 -0800 [IPv6] rules: Remove bogus tos validation check Noticed by Al Viro: (frh->tos & ~IPV6_FLOWINFO_MASK)) where IPV6_FLOWINFO_MASK is htonl(0xfffffff) and frh->tos is u8, which makes no sense here... Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 339bf98ffc6a8d8eb16fc532ac57ffbced2f8a68 Author: Thomas Graf Date: Fri Nov 10 14:10:15 2006 -0800 [NETLINK]: Do precise netlink message allocations where possible Account for the netlink message header size directly in nlmsg_new() instead of relying on the caller calculate it correctly. Replaces error handling of message construction functions when constructing notifications with bug traps since a failure implies a bug in calculating the size of the skb. Signed-off-by: Thomas Graf Acked-by: Paul Moore Signed-off-by: David S. Miller commit a94f723d595ee085f81b1788d18e031af7eeba91 Author: Gerrit Renker Date: Fri Nov 10 14:06:49 2006 -0800 [TCP]: Remove dead code in init_sequence This removes two redundancies: 1) The test (skb->protocol == htons(ETH_P_IPV6) in tcp_v6_init_sequence() is always true, due to * tcp_v6_conn_request() is the only function calling this one * tcp_v6_conn_request() redirects all skb's with ETH_P_IP protocol to tcp_v4_conn_request() [ cf. top of tcp_v6_conn_request()] 2) The first argument, `struct sock *sk' of tcp_v{4,6}_init_sequence() is never used. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 6f4e5fff1e4d46714ea554fd83e44eab534e8b11 Author: Gerrit Renker Date: Fri Nov 10 17:43:06 2006 -0200 [DCCP]: Support for partial checksums (RFC 4340, sec. 9.2) This patch does the following: a) introduces variable-length checksums as specified in [RFC 4340, sec. 9.2] b) provides necessary socket options and documentation as to how to use them c) basic support and infrastructure for the Minimum Checksum Coverage feature [RFC 4340, sec. 9.2.1]: acceptability tests, user notification and user interface In addition, it (1) fixes two bugs in the DCCPv4 checksum computation: * pseudo-header used checksum_len instead of skb->len * incorrect checksum coverage calculation based on dccph_x (2) removes dccp_v4_verify_checksum() since it reduplicates code of the checksum computation; code calling this function is updated accordingly. (3) now uses skb_checksum(), which is safer than checksum_partial() if the sk_buff has is a non-linear buffer (has pages attached to it). (4) fixes an outstanding TODO item: * If P.CsCov is too large for the packet size, drop packet and return. The code has been tested with applications, the latest version of tcpdump now comes with support for partial DCCP checksums. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit a11d206d0f88e092419877c7f706cafb5e1c2e57 Author: YOSHIFUJI Hideaki Date: Sat Nov 4 20:11:37 2006 +0900 [IPV6]: Per-interface statistics support. For IP MIB (RFC4293). Signed-off-by: YOSHIFUJI Hideaki commit 7a3025b1b3a0173be5de6ced18754b909da27b38 Author: YOSHIFUJI Hideaki Date: Fri Oct 13 16:17:25 2006 +0900 [IPV6]: Introduce ip6_dst_idev() to get inet6_dev{} stored in dst_entry{}. Otherwise, we will see a lot of casts... Signed-off-by: YOSHIFUJI Hideaki commit 40aa7b90a9b41a2162c829fd6cd34a09056a7ddb Author: YOSHIFUJI Hideaki Date: Thu Oct 19 13:50:09 2006 +0900 [IPV6] ROUTE: Use &rt->u.dst instead of cast. Signed-off-by: YOSHIFUJI Hideaki commit 33e93c9699981024cc99fb23a0545fb19d23847d Author: YOSHIFUJI Hideaki Date: Sat Oct 14 02:00:56 2006 +0900 [IPV6] ROUTE: Use macros to format /proc/net/ipv6_route. Signed-off-by: YOSHIFUJI Hideaki commit d83ca5accb256de1b44835cd222bfdc3207bd7dc Author: Gerrit Renker Date: Fri Nov 10 16:29:14 2006 -0200 [DCCP]: Update code comments for Step 2/3 Sorts out the comments for processing steps 2,3 in section 8.5 of RFC 4340. All comments have been updated against this document, and the reference to step 2 has been made consistent throughout the files. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit cf557926f6955b4c3fa55e81fdb3675e752e8eed Author: Gerrit Renker Date: Fri Nov 10 16:08:37 2006 -0200 [DCCP]: tidy up dccp_v{4,6}_conn_request This is a code simplification to remove reduplicated code by concentrating and abstracting shared code. Detailed Changes: commit f45b3ec481581f24719d8ab0bc812c02fcedc2bc Author: Ian McDonald Date: Fri Nov 10 13:09:10 2006 -0200 [DCCP]: Fix logfile overflow This patch fixes data being spewed into the logs continually. As the code stood if there was a large queue and long delays timeo would go down to zero and never get reset. This fixes it by resetting timeo. Put constant into header as well. Signed-off-by: Ian McDonald Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit fec5b80e4924f638418c21b09165dce8b79fee86 Author: Ian McDonald Date: Fri Nov 10 13:04:52 2006 -0200 [DCCP]: Fix DCCP Probe Typo Fixes a typo in Kconfig, patch is by Ian McDonald and is re-sent from http://www.mail-archive.com/dccp@vger.kernel.org/msg00579.html Signed-off-by: Ian McDonald Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 73c9e02c22e35e29db6d0fdec994d261fcfd82c0 Author: Gerrit Renker Date: Fri Nov 10 13:01:31 2006 -0200 [DCCPv6]: remove forward declarations in ipv6.c This does the same for ipv6.c as the preceding one does for ipv4.c: Only the inet_connection_sock_af_ops forward declarations remain, since at least dccp_ipv6_mapped has a circular dependency to dccp_v6_request_recv_sock. No code change, merely re-ordering. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 3d2fe62b8d8522722c4fe46b8af13520b73848c4 Author: Gerrit Renker Date: Fri Nov 10 12:52:36 2006 -0200 [DCCPv4]: remove forward declarations in ipv4.c This relates to Arnaldo's announcement in http://www.mail-archive.com/dccp@vger.kernel.org/msg00604.html Originally this had been part of the Oops fix and is a revised variant of http://www.mail-archive.com/dccp@vger.kernel.org/msg00598.html No code change, merely reshuffling, with the particular objective of having all request_sock_ops close(r) together for more clarity. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 8a73cd09d96aa01743316657fc4e6864fe79b703 Author: Gerrit Renker Date: Fri Nov 10 12:32:01 2006 -0200 [DCCP]: calling dccp_v{4,6}_reqsk_send_ack is a BUG This patch removes two functions, the send_ack functions of request_sock, which are not called/used by the DCCP code. It is correct that these functions are not called, below is a justification why calling these functions (on a passive socket in the LISTEN/RESPOND state) would mean a DCCP protocol violation. A) Background: using request_sock in TCP: commit f6484f7c7ad22e4bb018875c386d6a7aaa441426 Author: Arnaldo Carvalho de Melo Date: Fri Nov 10 12:01:52 2006 -0200 [DCCP] timewait: Remove leftover extern declarations Gerrit Renker noticed dccp_tw_deschedule and submitted a patch with a FIXME, but as he suggests in the same patch the best thing is to just ditch this declaration, while doing that also noticed that tcp_tw_count is as well not defined anywhere, so ditch it too. Signed-off-by: Arnaldo Carvalho de Melo commit d23c7107bfbaac955289685c522c7ff99dad3780 Author: Gerrit Renker Date: Fri Nov 10 11:46:34 2006 -0200 [DCCP]: Simplify jump labels in dccp_v{4,6}_rcv This is a code simplification and was singled out from the DCCPv6 Oops patch on http://www.mail-archive.com/dccp@vger.kernel.org/msg00600.html It mainly makes the code consistent between ipv{4,6}.c for the functions dccp_v4_rcv dccp_v6_rcv and removes the do_time_wait label to simplify code somewhat. Commiter note: fixed up a compile problem, trivial. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 9b42078ed6edfe04e9dc9a59b946ad912aeef717 Author: Gerrit Renker Date: Fri Nov 10 11:22:32 2006 -0200 [DCCP]: Combine allocating & zeroing header space on skb This is a code simplification: it combines three often recurring operations into one inline function, * allocate `len' bytes header space in skb * fill these `len' bytes with zeroes * cast the start of this header space as dccp_hdr Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 89e7e57778ecd8744fee97491300f05a9fb1388a Author: Gerrit Renker Date: Fri Nov 10 11:13:33 2006 -0200 [DCCPv6]: Add a FIXME for missing IPV6_PKTOPTIONS This refers to the possible memory leak pointed out in http://www.mail-archive.com/dccp@vger.kernel.org/msg00574.html, fixed by David Miller in http://www.mail-archive.com/netdev@vger.kernel.org/msg24881.html and adds a FIXME to point out where code is missing. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 60361be1be7854cbffb6dc268d1bc094da33431c Author: Gerrit Renker Date: Fri Nov 10 02:13:56 2006 -0200 [DCCP]: set safe upper bound for option length This is a re-send from http://www.mail-archive.com/dccp@vger.kernel.org/msg00553.html It is the same patch as before, but I have built in Arnaldo's suggestions pointed out in that posting. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 931731123a103cfb3f70ac4b7abfc71d94ba1f03 Author: David S. Miller Date: Thu Nov 9 19:58:25 2006 -0800 [TCP]: Don't set SKB owner in tcp_transmit_skb(). The data itself is already charged to the SKB, doing the skb_set_owner_w() just generates a lot of noise and extra atomics we don't really need. Lmbench improvements on lat_tcp are minimal: before: TCP latency using localhost: 23.2701 microseconds TCP latency using localhost: 23.1994 microseconds TCP latency using localhost: 23.2257 microseconds after: TCP latency using localhost: 22.8380 microseconds TCP latency using localhost: 22.9465 microseconds TCP latency using localhost: 22.8462 microseconds Signed-off-by: David S. Miller commit ef56e622c61e74dd6077615c9ea76c5132195880 Author: Stephen Hemminger Date: Thu Nov 9 16:37:26 2006 -0800 [NET] ip-sysctl.txt: Alphabetize. Rearrange TCP entries in alpha order. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 35bfbc94070e480f350c868abc4ff9f77e7f2051 Author: Stephen Hemminger Date: Thu Nov 9 16:36:36 2006 -0800 [TCP]: Allow autoloading of congestion control via setsockopt. If user has permision to load modules, then autoload then attempt autoload of TCP congestion module. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ce7bc3bf15cbf5dc5a5587ccb6b04c5b4dde4336 Author: Stephen Hemminger Date: Thu Nov 9 16:35:15 2006 -0800 [TCP]: Restrict congestion control choices. Allow normal users to only choose among a restricted set of congestion control choices. The default is reno and what ever has been configured as default. But the policy can be changed by administrator at any time. For example, to allow any choice: cp /proc/sys/net/ipv4/tcp_available_congestion_control \ /proc/sys/net/ipv4/tcp_allowed_congestion_control Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3ff825b28d3345ef381eceae22bf9d92231f23dc Author: Stephen Hemminger Date: Thu Nov 9 16:32:06 2006 -0800 [TCP]: Add tcp_available_congestion_control sysctl. Create /proc/sys/net/ipv4/tcp_available_congestion_control that reflects currently available TCP choices. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit b68dbcab1dc70938fa5516d0ee82c0bf94e9a768 Author: Vlad Yasevich Date: Thu Nov 9 16:29:57 2006 -0800 [SCTP]: Fix warning An alternate solution would be to make the digest a pointer, allocate it in sctp_endpoint_init() and free it in sctp_endpoint_destroy(). I guess I should have originally done it this way... CC [M] net/sctp/sm_make_chunk.o net/sctp/sm_make_chunk.c: In function 'sctp_unpack_cookie': net/sctp/sm_make_chunk.c:1358: warning: initialization discards qualifiers from pointer target type The reason is that sctp_unpack_cookie() takes a const struct sctp_endpoint and modifies the digest in it (digest being embedded in the struct, not a pointer). Make digest a pointer to fix this warning. Signed-off-by: Vlad Yasevich Acked-by: Sridhar Samudrala Signed-off-by: David S. Miller commit 9ec75fe85c58471db958386c1604e5006a2e2f69 Author: David S. Miller Date: Thu Nov 9 16:26:09 2006 -0800 [IPV6] tcp: Fix typo _read_mostly --> __read_mostly. Signed-off-by: David S. Miller commit 494b4e7d819246bad67c40897b9eeaf0ce18d5ff Author: David S. Miller Date: Thu Nov 9 16:23:22 2006 -0800 [DCCP]: Fix typo _read_mostly --> __read_mostly. Signed-off-by: David S. Miller commit 72a3effaf633bcae9034b7e176bdbd78d64a71db Author: Eric Dumazet Date: Thu Nov 16 02:30:37 2006 -0800 [NET]: Size listen hash tables using backlog hint We currently allocate a fixed size (TCP_SYNQ_HSIZE=512) slots hash table for each LISTEN socket, regardless of various parameters (listen backlog for example) On x86_64, this means order-1 allocations (might fail), even for 'small' sockets, expecting few connections. On the contrary, a huge server wanting a backlog of 50000 is slowed down a bit because of this fixed limit. This patch makes the sizing of listen hash table a dynamic parameter, depending of : - net.core.somaxconn tunable (default is 128) - net.ipv4.tcp_max_syn_backlog tunable (default : 256, 1024 or 128) - backlog value given by user application (2nd parameter of listen()) For large allocations (bigger than PAGE_SIZE), we use vmalloc() instead of kmalloc(). We still limit memory allocation with the two existing tunables (somaxconn & tcp_max_syn_backlog). So for standard setups, this patch actually reduce RAM usage. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 3c62f75aac7348ee262b1295cfcfeb3473f76815 Author: David Kimdon Date: Thu Nov 9 16:16:21 2006 -0800 [PKT_SCHED]: Make sch_fifo.o available when CONFIG_NET_SCHED is not set. Based on patch by Patrick McHardy. Add a new option, NET_SCH_FIFO, which provides a simple fifo qdisc without requiring CONFIG_NET_SCHED. The d80211 stack needs a generic fifo qdisc for WME. At present it uses net/d80211/fifo_qdisc.c which is functionally equivalent to sch_fifo.c. This patch will allow the d80211 stack to remove net/d80211/fifo_qdisc.c and use sch_fifo.c instead. Signed-off-by: David Kimdon Signed-off-by: David S. Miller commit 3dfbcc411e461db51a1ac1aa1c6ebe2c5a0275a0 Author: Thomas Graf Date: Thu Nov 9 15:23:20 2006 -0800 [NET] rules: Add support to invert selectors Introduces a new flag FIB_RULE_INVERT causing rules to apply if the specified selector doesn't match. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 1f6c9557e8206757c91b5737bb8dbd5b1ae3a773 Author: Thomas Graf Date: Thu Nov 9 15:22:48 2006 -0800 [NET] rules: Share common attribute validation policy Move the attribute policy for the non-specific attributes into net/fib_rules.h and include it in the respective protocols. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit b8964ed9fa727109c9084abc807652ebfb681c18 Author: Thomas Graf Date: Thu Nov 9 15:22:18 2006 -0800 [NET] rules: Protocol independant mark selector Move mark selector currently implemented per protocol into the protocol independant part. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 5f300893fdd3b6e30a226c9a848eaa39b99a6431 Author: Thomas Graf Date: Thu Nov 9 15:21:41 2006 -0800 [IPV4] nl_fib_lookup: Rename fl_fwmark to fl_mark For the sake of consistency. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 47dcf0cb1005e86d0eea780f2984b2e7490f63cd Author: Thomas Graf Date: Thu Nov 9 15:20:38 2006 -0800 [NET]: Rethink mark field in struct flowi Now that all protocols have been made aware of the mark field it can be moved out of the union thus simplyfing its usage. The config options in the IPv4/IPv6/DECnet subsystems to enable respectively disable mark based routing only obfuscate the code with ifdefs, the cost for the additional comparison in the flow key is insignificant, and most distributions have all these options enabled by default anyway. Therefore it makes sense to remove the config options and enable mark based routing by default. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 82e91ffef60e6eba9848fe149ce1eecd2b5aef12 Author: Thomas Graf Date: Thu Nov 9 15:19:14 2006 -0800 [NET]: Turn nfmark into generic mark nfmark is being used in various subsystems and has become the defacto mark field for all kinds of packets. Therefore it makes sense to rename it to `mark' and remove the dependency on CONFIG_NETFILTER. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 0afc46c4683df512eef34a71a85065dc555c2af2 Author: Ralf Baechle Date: Wed Nov 8 23:02:19 2006 -0800 [DECNET]: Don't clear memory twice. When dn_neigh.c was converted from kmalloc to kzalloc in commit 0da974f4f303a6842516b764507e3c0a03f41e5a it was missed that dn_neigh_seq_open was actually clearing the allocation twice was missed. Signed-off-by: Ralf Baechle Signed-off-by: David S. Miller commit 776810217ac558351cdcca01c4c6a9474e4a68c2 Author: Andrew Morton Date: Wed Nov 8 22:46:26 2006 -0800 [XFRM]: uninline xfrm_selector_match() Six callsites, huge. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit fcc70d5fdc9b0bd3e99c9dacb8198224af2b4b42 Author: Peter Zijlstra Date: Wed Nov 8 22:44:35 2006 -0800 [BLUETOOTH] lockdep: annotate sk_lock nesting in AF_BLUETOOTH ============================================= [ INFO: possible recursive locking detected ] 2.6.18-1.2726.fc6 #1 commit 67f83cbf081a70426ff667e8d14f94e13ed3bdca Author: Venkat Yekkirala Date: Wed Nov 8 17:04:26 2006 -0600 SELinux: Fix SA selection semantics Fix the selection of an SA for an outgoing packet to be at the same context as the originating socket/flow. This eliminates the SELinux policy's ability to use/sendto SAs with contexts other than the socket's. With this patch applied, the SELinux policy will require one or more of the following for a socket to be able to communicate with/without SAs: 1. To enable a socket to communicate without using labeled-IPSec SAs: allow socket_t unlabeled_t:association { sendto recvfrom } 2. To enable a socket to communicate with labeled-IPSec SAs: allow socket_t self:association { sendto }; allow socket_t peer_sa_t:association { recvfrom }; Signed-off-by: Venkat Yekkirala Signed-off-by: James Morris commit 6b877699c6f1efede4545bcecc367786a472eedb Author: Venkat Yekkirala Date: Wed Nov 8 17:04:09 2006 -0600 SELinux: Return correct context for SO_PEERSEC Fix SO_PEERSEC for tcp sockets to return the security context of the peer (as represented by the SA from the peer) as opposed to the SA used by the local/source socket. Signed-off-by: Venkat Yekkirala Signed-off-by: James Morris commit c1a856c9640c9ff3d70bbd8214b6a0974609eef8 Author: Venkat Yekkirala Date: Wed Nov 8 17:03:44 2006 -0600 SELinux: Various xfrm labeling fixes Since the upstreaming of the mlsxfrm modification a few months back, testing has resulted in the identification of the following issues/bugs that are resolved in this patch set. 1. Fix the security context used in the IKE negotiation to be the context of the socket as opposed to the context of the SPD rule. 2. Fix SO_PEERSEC for tcp sockets to return the security context of the peer as opposed to the source. 3. Fix the selection of an SA for an outgoing packet to be at the same context as the originating socket/flow. The following would be the result of applying this patchset: - SO_PEERSEC will now correctly return the peer's context. - IKE deamons will receive the context of the source socket/flow as opposed to the SPD rule's context so that the negotiated SA will be at the same context as the source socket/flow. - The SELinux policy will require one or more of the following for a socket to be able to communicate with/without SAs: 1. To enable a socket to communicate without using labeled-IPSec SAs: allow socket_t unlabeled_t:association { sendto recvfrom } 2. To enable a socket to communicate with labeled-IPSec SAs: allow socket_t self:association { sendto }; allow socket_t peer_sa_t:association { recvfrom }; This Patch: Pass correct security context to IKE for use in negotiation Fix the security context passed to IKE for use in negotiation to be the context of the socket as opposed to the context of the SPD rule so that the SA carries the label of the originating socket/flow. Signed-off-by: Venkat Yekkirala Signed-off-by: James Morris commit e8db8c99100750ade5a9b4072b9469cab718a5b7 Author: Al Viro Date: Wed Nov 8 00:28:44 2006 -0800 [BLUETOOTH] rfcomm endianness bug: param_mask is little-endian on the wire Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 6ba9c755e5f044c6a37296481bf6a861e4193a37 Author: Al Viro Date: Wed Nov 8 00:28:19 2006 -0800 [BLUETOOTH]: rfcomm endianness annotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 1bc5d4483a83349f143e2bbf23ec144cd7e21e89 Author: Al Viro Date: Wed Nov 8 00:27:57 2006 -0800 [BLUETOOTH]: bnep endianness annotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit e41d21697326a38a0a871c515db88fa310177e24 Author: Al Viro Date: Wed Nov 8 00:27:36 2006 -0800 [BLUETOOTH] bnep endianness bug: filtering by packet type <= and => don't work well on net-endian... Signed-off-by: Al Viro Signed-off-by: David S. Miller commit ae08e1f092210619fe49551aa3ed0dc0003d5880 Author: Al Viro Date: Wed Nov 8 00:27:11 2006 -0800 [IPV6]: ip6_output annotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 98a4a86128d7179b22365e16bf880e849e20bc7d Author: Al Viro Date: Wed Nov 8 00:26:51 2006 -0800 [NETFILTER]: trivial annotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 0e11c91e1e912bc4db5b71607d149e7e9a77e756 Author: Al Viro Date: Wed Nov 8 00:26:29 2006 -0800 [AF_PACKET]: annotate Weirdness: the third argument of socket() is net-endian here. Oh, well - it's documented in packet(7). Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 3fbd418acc264e7069483d04165633ed3bfad80c Author: Al Viro Date: Wed Nov 8 00:26:05 2006 -0800 [LLC]: anotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit fede70b9862635ab1bed84ab3d765e9069616b02 Author: Al Viro Date: Wed Nov 8 00:25:41 2006 -0800 [IPV6]: annotate inet6_csk_search_req() Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 90bcaf7b4a33bb9b100cc06869f0c033a870d4a0 Author: Al Viro Date: Wed Nov 8 00:25:17 2006 -0800 [IPV6]: flowlabels are net-endian Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 92d9ece7af9c84bfbd1ff640926fac5b573a09f7 Author: Al Viro Date: Wed Nov 8 00:24:47 2006 -0800 [INET]: annotate inet_ecn.h Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 8a9ae2110baf39b2dc53c2891e0705895a8829a9 Author: Al Viro Date: Wed Nov 8 00:24:26 2006 -0800 [NET]: annotate dsfield.h Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5d36b1803d875cf101fdb972ff9c56663e508e39 Author: Al Viro Date: Wed Nov 8 00:24:06 2006 -0800 [XFRM]: annotate ->new_mapping() Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d29ef86b0a497dd2c4f9601644a15392f7e21f73 Author: Al Viro Date: Wed Nov 8 00:23:42 2006 -0800 [AF_KEY]: annotate Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d5a0a1e3109339090769e40fdaa62482fcf2a717 Author: Al Viro Date: Wed Nov 8 00:23:14 2006 -0800 [IPV4]: encapsulation annotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 4806126d78345ad8a99bca1367a8a39c08e19393 Author: Al Viro Date: Wed Nov 8 00:22:34 2006 -0800 [SUNRPC]: annotate hash_ip() Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 8a74ff7770f4795d7580392890fdf06821c78769 Author: Al Viro Date: Wed Nov 8 00:22:08 2006 -0800 [IPV6]: annotate ipv6 mcast Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 44473a6b279794f058955aec5c36975e74deb541 Author: Al Viro Date: Wed Nov 8 00:21:46 2006 -0800 [IPV6]: annotate struct frag_hdr Signed-off-by: Al Viro Signed-off-by: David S. Miller commit a27ee7a4dd30feda1954950b5840455a51ae1507 Author: Al Viro Date: Wed Nov 8 00:21:21 2006 -0800 [IPV6]: annotate icmpv6 headers Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 04ce69093f91547d3a7c4fc815d2868195591340 Author: Al Viro Date: Wed Nov 8 00:21:01 2006 -0800 [IPV6]: 'info' argument of ipv6 ->err_handler() is net-endian Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 8c689a6eae2d83970e4f34753d513e96fb97a025 Author: Al Viro Date: Wed Nov 8 00:20:21 2006 -0800 [XFRM]: misc annotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d2ecd9ccd0694278a8c1fa179d1d058ee66e2297 Author: Al Viro Date: Wed Nov 8 00:20:00 2006 -0800 [IPV6]: annotate inet6_hashtables Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5a874db4d9bfd8a4c6324d844a4d1c7cfa5cf2c4 Author: Al Viro Date: Wed Nov 8 00:19:38 2006 -0800 [NET]: ipconfig and nfsroot annotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 3e6c8cd5669c1202fe806ce3e13d701f20a71c7e Author: Al Viro Date: Wed Nov 8 00:19:09 2006 -0800 [TIPC]: endianness annotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d54a81d341af80875c201890500f727c8188dd9b Author: David S. Miller Date: Sat Dec 2 21:00:06 2006 -0800 [IPV6] NDISC: Calculate packet length correctly for allocation. MAX_HEADER does not include the ipv6 header length in it, so we need to add it in explicitly. With help from YOSHIFUJI Hideaki. Signed-off-by: David S. Miller commit 97be852f81c5bb114aab31974af2c061eb86a6de Merge: cdb54fa... aae343d... Author: Linus Torvalds Date: Sat Dec 2 15:08:32 2006 -0800 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: (118 commits) [netdrvr] skge: build fix [PATCH] NetXen: driver cleanup, removed unnecessary __iomem type casts [PATCH] PHY: Add support for configuring the PHY connection interface [PATCH] chelesio: transmit locking (plus bug fix). [PATCH] chelsio: statistics improvement [PATCH] chelsio: add MSI support [PATCH] chelsio: use standard CRC routines [PATCH] chelsio: cleanup pm3393 code [PATCH] chelsio: add 1G swcixw aupport [PATCH] chelsio: add support for other 10G boards [PATCH] chelsio: remove unused mutex [PATCH] chelsio: use kzalloc [PATCH] chelsio: whitespace fixes [PATCH] amd8111e use standard CRC lib [PATCH] sky2: msi enhancements. [PATCH] sky2: kfree_skb_any needed [PATCH] sky2: fixes for Yukon EC_U chip revisions [PATCH] sky2: add Dlink 560SX id [PATCH] sky2: receive error handling fix [PATCH] skge: don't clear MC state on link down ... commit cdb54fac35812a21943f0e506e8e3b94b469a77c Merge: 3704331... 8b7feff... Author: Linus Torvalds Date: Sat Dec 2 08:29:04 2006 -0800 Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/drzeus/mmc * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/drzeus/mmc: mmc: correct request error handling mmc: Flush block queue when removing card mmc: sdhci high speed support mmc: Support for high speed SD cards mmc: Fix mmc_delay() function mmc: Add support for mmc v4 wide-bus modes [PATCH] mmc: Add support for mmc v4 high speed mode trivial change for mmc/Kconfig: MMC_PXA does not mean only PXA255 Make general code cleanups Add MMC_CAP_{MULTIWRITE,BYTEBLOCK} flags Platform device error handling cleanup Move register definitions away from the header file Change OMAP_MMC_{READ,WRITE} macros to use the host pointer Replace base with virt_base and phys_base mmc: constify mmc_host_ops vectors mmc: remove kernel_thread() commit 37043318b12ea351c357d7bd8a184b63940f38d7 Merge: 116b23b... 7bdd21c... Author: Linus Torvalds Date: Sat Dec 2 08:28:28 2006 -0800 Merge branch 'release' of master.kernel.org:/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of master.kernel.org:/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: Revert "ACPI: SCI interrupt source override" commit aae343d493df965ac3abec1bd97cccfe44a7d920 Author: Jeff Garzik Date: Sat Dec 2 07:14:39 2006 -0500 [netdrvr] skge: build fix Signed-off-by: Jeff Garzik commit 7bdd21cef9e5dbc3d3a718c55bb3d0da024644da Author: Len Brown Date: Sat Dec 2 02:27:46 2006 -0500 Revert "ACPI: SCI interrupt source override" This reverts commit 281ea49b0c294649a6de47a6f8fbe5611137726b, which broke ACPI Interrupt source overrides that move the SCI from one IRQ in PIC mode to another in IOAPIC mode. If the SCI shared an interrupt line with another device, this would result in a "irq 18: nobody cared" type failure. http://bugzilla.kernel.org/show_bug.cgi?id=7601 Signed-off-by: Len Brown commit 71bd7877d470b4037c9ef0d060ac39228f0f6289 Author: Amit S. Kale Date: Fri Dec 1 05:36:22 2006 -0800 [PATCH] NetXen: driver cleanup, removed unnecessary __iomem type casts Signed-off-by: Amit S. Kale netxen_nic.h | 38 ++++++++------------------------------ netxen_nic_ethtool.c | 5 ++--- netxen_nic_hw.c | 12 +++++------- netxen_nic_main.c | 8 +++----- 4 files changed, 18 insertions(+), 45 deletions(-) Signed-off-by: Jeff Garzik commit e8a2b6a4207332a2d59628a12cece9e8c1d769e4 Author: Andy Fleming Date: Fri Dec 1 12:01:06 2006 -0600 [PATCH] PHY: Add support for configuring the PHY connection interface Most PHYs connect to an ethernet controller over a GMII or MII interface. However, a growing number are connected over different interfaces, such as RGMII or SGMII. The ethernet driver will tell the PHY what type of connection it is by setting it manually, or passing it in through phy_connect (or phy_attach). Changes include: * Updates to documentation * Updates to PHY Lib consumers * Changes to PHY Lib to add interface support * Some minor changes to whitespace in phy.h * gianfar driver now detects interface and passes appropriate value to PHY Lib Signed-off-by: Andrew Fleming Signed-off-by: Jeff Garzik commit cabdfb373ae74036225826ce260c16a8e260eb0b Author: Stephen Hemminger Date: Fri Dec 1 16:36:22 2006 -0800 [PATCH] chelesio: transmit locking (plus bug fix). If transmit lock is contended on, then push return code back and retry at higher level. Bugfix: If buffer is reallocated because of lack of headroom and the send is blocked, then drop packet. This is necessary because caller would end up requeuing a freed skb. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 56f643c28c5df63693d7c66e56f8e4767cfd7a65 Author: Stephen Hemminger Date: Fri Dec 1 16:36:21 2006 -0800 [PATCH] chelsio: statistics improvement Cleanup statistics management: * Get rid of duplicate or unused statistics * Convert high volume stats to per-cpu and 64 bit Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 325dde48914e8ec1614d79ffacdbf9c0b8d24f42 Author: Stephen Hemminger Date: Fri Dec 1 16:36:20 2006 -0800 [PATCH] chelsio: add MSI support Using MSI can avoid sharing IRQ and associated overhead. Tested on PCI-X. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 57834ca152d5979f3f84f4e25f29f423e19d38fa Author: Stephen Hemminger Date: Fri Dec 1 16:36:19 2006 -0800 [PATCH] chelsio: use standard CRC routines Replace driver crc calculation with existing library. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit a7377a50b88fce135249cfa68dfe02fac4f5fd61 Author: Stephen Hemminger Date: Fri Dec 1 16:36:18 2006 -0800 [PATCH] chelsio: cleanup pm3393 code Replace macro with function for updating RMON values Cleanups: * remove unused enum's * Fix comment format Signed-off-by: Stephen HEmminger Signed-off-by: Jeff Garzik commit 352c417ddb593de757f0ee1fa490cb5444778c41 Author: Stephen Hemminger Date: Fri Dec 1 16:36:17 2006 -0800 [PATCH] chelsio: add 1G swcixw aupport Add support for 1G versions of Chelsio devices. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit f1d3d38af75789f1b82969b83b69cab540609789 Author: Stephen Hemminger Date: Fri Dec 1 16:36:16 2006 -0800 [PATCH] chelsio: add support for other 10G boards Add support for other versions of the 10G Chelsio boards. This is basically a port of the vendor driver with the TOE features removed. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 415294ecbb32ddbd0a7a2b7bae0b60fedfa09cc4 Author: Stephen Hemminger Date: Fri Dec 1 16:36:15 2006 -0800 [PATCH] chelsio: remove unused mutex This mutex is unused in current (non TOE) code. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 1270266cf94c0de5bd1121f15aff9af8556dee84 Author: Stephen Hemminger Date: Fri Dec 1 16:36:14 2006 -0800 [PATCH] chelsio: use kzalloc Use kzalloc in several places. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 11e5a202ca9e93ecb5ff314a6a345e0e4db77d97 Author: Stephen Hemminger Date: Fri Dec 1 16:36:13 2006 -0800 [PATCH] chelsio: whitespace fixes Fix indentation and blank/tab issues. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 6b4bdde61bd1f8451801e5fb092cbe2d1050984e Author: Stephen Hemminger Date: Fri Dec 1 16:10:50 2006 -0800 [PATCH] amd8111e use standard CRC lib I noticed this driver (and several others) reinvent their own copy of the existing CRC library. Don't have the hardware, but tested by extracting code and comparing result. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit b0a20ded562cfa60b0d45d269e416f541f2d5aaf Author: Stephen Hemminger Date: Fri Dec 1 14:29:37 2006 -0800 [PATCH] sky2: msi enhancements. If using Message Signaled Interrupts (MSI) then the IRQ will never be shared. Don't call pci_disable_msi() unless using MSI. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 794b2bd20f620892616b09466186ff27101d9e5b Author: Stephen Hemminger Date: Fri Dec 1 14:29:36 2006 -0800 [PATCH] sky2: kfree_skb_any needed It is possible for the sky2 driver NAPI poll routine to be called with IRQ's disabled if netpoll is trying to make space in the tx queue. This is an obscure path, but if it happens, the kfree_skb needs to happen via softirq. Calling kfree_skb with IRQ's disabled is a not allowed. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 8df9a87604e38529898ce35c610792c03c8713a2 Author: Stephen Hemminger Date: Fri Dec 1 14:29:35 2006 -0800 [PATCH] sky2: fixes for Yukon EC_U chip revisions Update workarounds for 88E803X based on the latest SysKonnect vendor driver version (8.41). Tested on EC_U rev A1, only. These up the receive performance. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 508f89e75ab26506fcdbb1b6f7166029e4c56855 Author: Stephen Hemminger Date: Fri Dec 1 14:29:34 2006 -0800 [PATCH] sky2: add Dlink 560SX id Add new PCI ID for DLink 560SX. This from the latest SysKonnect vendor driver (version 8.41). Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 5df791117afedf7fdc67dc0842dab4859e3edf69 Author: Stephen Hemminger Date: Fri Dec 1 14:29:33 2006 -0800 [PATCH] sky2: receive error handling fix If sky2 detects out of memory, or gets a bad frame, it reuses the same receive buffer, but forgets to poke the hardware. This could lead to the receiver getting stuck if there were lots of errors. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 758140900a82e3ed3bb2be1d4705dd352fe44825 Author: Stephen Hemminger Date: Fri Dec 1 11:41:08 2006 -0800 [PATCH] skge: don't clear MC state on link down I would rather fix Andy's problem by not clearing multicast information on link down. Also, add code to restore multicast state after ethtool phy reset. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit f789dfdc44d5bbc04fb7f06e1e4eb682169acaaf Author: Mariusz Kozlowski Date: Thu Nov 30 04:27:00 2006 -0700 [PATCH] mv643xx_eth: fix unbalanced parentheses in macros Signed-off-by: Mariusz Kozlowski Signed-off-by: Dale Farnsworth Signed-off-by: Jeff Garzik commit 7628b0a8c01a02966d2228bdf741ddedb128e8f8 Author: Samuel Thibault Date: Thu Nov 30 07:11:24 2006 -0500 drivers/net/tulip/dmfe: support basic carrier detection Signed-off-by: Jeff Garzik commit 88041b79f864dcd7f95e1d594eba683244dd968a Author: Stephen Hemminger Date: Fri Nov 17 13:41:58 2006 -0800 [PATCH] netdev: don't allow register_netdev with blank name This bit of old backwards compatibility cruft can be removed in 2.6.20. If there is still an device that calls register_netdev() with a zero or blank name, it will get -EINVAL from register_netdevice(). Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 5ac366152a44da60c22c08df619012b1e3bc1adb Author: Randy Dunlap Date: Thu Nov 16 21:39:11 2006 -0800 [PATCH] netxen: uses PCI drivers/built-in.o: In function `netxen_nic_remove': netxen_nic_main.c:(.text+0x31b4d): undefined reference to `pci_disable_msi' netxen_nic_main.c:(.text+0x31b8e): undefined reference to `pci_release_regions' drivers/built-in.o: In function `netxen_init_module': netxen_nic_main.c:(.init.text+0x3f17): undefined reference to `pci_module_init' make: *** [.tmp_vmlinux1] Error 1 Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik commit cbee9f9115da7eac5dc44a450f2dab343236cb2c Author: Stephen Hemminger Date: Fri Nov 17 17:01:52 2006 -0800 [PATCH] chelsio: use kzalloc Use kzalloc() in chelsio driver. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 86c27d275507d81da179b571f35d34df61f7c6d3 Author: Stephen Hemminger Date: Fri Nov 17 17:00:34 2006 -0800 [PATCH] chelsio: use __netif_rx_schedule_prep The chelsio driver can use __netif_rx_schedule_prep instead of it's own test_and_set inline. Applies after the previous 4 patches. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit e487647abbe66390b99f9a32ede4688b255282dd Author: Stephen Hemminger Date: Fri Nov 17 11:25:23 2006 -0800 [PATCH] chelsio: free_netdev Network devices need to be free'd with free_netdev() not kfree() otherwise the kernel will panic if an application has /sys/class/net/ethX/value open and reads it. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit bac7e8746ce562556b7bd750c7652154483b15e2 Author: Stephen Hemminger Date: Fri Nov 17 11:23:41 2006 -0800 [PATCH] chelsio: procectomy Complete removal of proc stuff from chelsio. The orignal driver had a debug proc interface, but not all the code got removed. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 205781510d2a55a5c231f6e51df5b6c4aa765143 Author: Stephen Hemminger Date: Fri Nov 17 11:21:22 2006 -0800 [PATCH] chelsio: whitespace cleanup Whitespace cleanups. Replace leading spaces with tabs and fix indentation Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 9300abd4c60d385683944b9bc5cbf2c7c2cc6e78 Author: Stephen Hemminger Date: Fri Nov 17 11:21:33 2006 -0800 [PATCH] chelsio: remove leftover code The chelsio network driver has some extra ifdef's that got in because the driver was originally based on code that worked on 2.4 as well as 2.6. This patch removes the dead code. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit a4f0c2ca8c475e00caa469b4574950852c376076 Author: Kim Phillips Date: Wed Nov 15 12:29:35 2006 -0600 [PATCH] Adapt ucc_geth driver to use new of_platform_device support Include of_platform header, and use new of_[un]register_platform_driver() fns. Signed-off-by: Kim Phillips Signed-off-by: Jeff Garzik commit bca79eb7e7a1855947864952fcd878a5ae7b5c92 Author: Randy Dunlap Date: Wed Nov 29 13:15:17 2006 -0800 [PATCH] sundance: use NULL for pointer Use NULL instead of 0 for pointers (cures sparse warnings). drivers/net/sundance.c:1106:16: warning: Using plain integer as NULL pointer drivers/net/sundance.c:1652:16: warning: Using plain integer as NULL pointer Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik commit cb8011ad53e0855ef088e0e5a4bcb98fa90c70b6 Author: Amit S. Kale Date: Wed Nov 29 09:00:10 2006 -0800 [PATCH] NetXen: temp monitoring, newer firmware support, mm footprint reduction NetXen: 1G/10G Ethernet Driver updates - Temparature monitoring and device control - Memory footprint reduction - Driver changes to support newer version of firmware Signed-off-by: Amit S. Kale netxen_nic.h | 165 ++++++++++++++++++++++++++++++++-- netxen_nic_ethtool.c | 89 ++++++++++++------ netxen_nic_hdr.h | 71 +++++++++++++- netxen_nic_hw.c | 206 +++++++++++++++++++++++++++++-------------- netxen_nic_hw.h | 8 + netxen_nic_init.c | 239 +++++++++++++++++++++++++++++++++++++++++--------- netxen_nic_ioctl.h | 12 +- netxen_nic_isr.c | 54 +++++------ netxen_nic_main.c | 121 +++++++++++++++++-------- netxen_nic_niu.c | 172 +++++++++++++++++++++++++++-------- netxen_nic_phan_reg.h | 24 ++++- 11 files changed, 891 insertions(+), 270 deletions(-) Signed-off-by: Jeff Garzik commit edf901638144525a140c68be01be1b22e6041a6d Author: Amit S. Kale Date: Wed Nov 29 08:58:11 2006 -0800 [PATCH] NetXen: Fixed /sys mapping between device and driver Signed-off-by: Amit S. Kale netxen_nic_main.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) Signed-off-by: Jeff Garzik commit 38e3a6466f369944a2a1ec9aee9a9e472689d0a9 Author: Larry Finger Date: Sat Nov 25 18:30:03 2006 -0600 [PATCH] softmac: reduce scan debug output When scanning in debug mode, softmac is very chatty in that it puts 3 lines in the logs for each time it scans. This patch has only one line containing all the information previously reported. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 718cc4ca2bfb3263c7ea3ceba9c194f9cd7292e2 Author: Daniel Drake Date: Wed Nov 22 03:15:46 2006 +0000 [PATCH] ieee80211: Provide generic get_stats implementation bcm43xx and ipw2100 currently duplicate the same simplistic get_stats handler. Additionally, zd1211rw requires the same handler to fix a bug where all stats are reported as 0. This patch adds a generic implementation to the ieee80211 layer, which drivers are free to override. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit b1382edef9c06eca337e8982e6040e0699abab82 Author: Daniel Drake Date: Wed Nov 22 00:06:48 2006 +0000 [PATCH] zd1211rw: Use softmac ERP handling functionality This adds zd1211rw driver support for the softmac functionality I added a while back. We now obey changes in basic rates, use short preamble if it is available (but long if the AP says it's not), and send self-CTS in the proper situations. Locking fixed and improved by Ulrich Kunitz. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit b1cd84167b92de0f9fc7aad9cf272261496f4d0b Author: Daniel Drake Date: Wed Nov 22 00:06:38 2006 +0000 [PATCH] zd1211rw: Rename cs_rate to zd_rate These controlset rate constants are also applicable in places outside the controlset, such as in the RTS/CTS control register. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 35f2c7c0ce8eb09d19fb50ed2cd29b6dbea9cd86 Author: Daniel Drake Date: Wed Nov 22 00:06:32 2006 +0000 [PATCH] zd1211rw: Allow channels 1-13 in Japan Eric Goff found that he could not use his ZD1211 device which is programmed for the Japan regulatory domain. It turns out that ZyDAS deviate from the spec here: they do not use the newer Japan region code (0x41) but their drivers do operate as if the newer Japan legal frequency range is in effect. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 850c211ce6948bcd71e505be22b7ead99a425bfa Author: Ulrich Kunitz Date: Wed Nov 22 00:06:19 2006 +0000 [PATCH] zd1211rw: Optimized handling of zero length entries in length info There are a high number of split USB transactions, which contain only one packet but have a length info field. This patch optimizes this code by stopping parsing the length info structure if a zero length field is encountered. Signed-off-by: Ulrich Kunitz Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 741fec53f268b691b869ffc70023319406e0cc97 Author: Ulrich Kunitz Date: Wed Nov 22 00:05:53 2006 +0000 [PATCH] zd1211rw: cleanups Bit-field constants in zd_chip.h are now defined using a shift expression. The value 0x08 is now (1 << 3). The fix is intended to improve readability. Remove misleading comment in zd_mac.c: The function already returns -EPERM in managed mode (IW_MODE_INFRA). Remove unused code in zd_mac.c: The unused code intended for debugging rx_status values is no longer useful. Added dump_stack() to ZD_ASSERT macro: Output of the stack helps to debug assertions. Keep in mind that the ZD_ASSERT() macro only results in code, if DEBUG is defined. Improved comments for filter_rx() zd_usb.c: Added driver name to module init and exit functions Signed-off-by: Ulrich Kunitz Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 84bc715c465f76584fc5127955fca0c61592e04b Author: Daniel Drake Date: Wed Nov 22 00:05:30 2006 +0000 [PATCH] zd1211rw: Remove IW_FREQ_AUTO support http://bugzilla.kernel.org/show_bug.cgi?id=7399 zd1211rw's support for IW_FREQ_AUTO is broken: when specified, the driver tries to change to a channel specified in an uninitialized integer. As IW_FREQ_AUTO is hard to implement properly, the solution (at least for now) is to drop support for it and start ignoring the flags like all other wireless drivers do. This has the added advantage that kismet also starts working with zd1211rw, even though kismet requesting IW_FREQ_AUTO is also a bug (fixed in their svn) Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 571d6eee9b5bce28fcbeb7588890ad5ca3f8c718 Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:26:49 2006 -0200 [PATCH] Check ieee80211softmac_auth_resp kmalloc result And use kmemdup and kzalloc where applicable Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: John W. Linville commit 8e87295b9578fa46b5f325a7dc42ddbbdad6e0d0 Author: Daniel Drake Date: Fri Nov 17 00:26:40 2006 +0000 [PATCH] zd1211rw: Add ID for Belkin F5D7050 v4000 zd1211b chip 050d:705c v4810 high 00-17-3f AL2230_RF pa0 g--N Tested by Bryan Barnard Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 229782a336ab21b8eb7aa91dcb0dbdf728e95aef Author: Daniel Drake Date: Fri Nov 17 00:13:48 2006 +0000 [PATCH] zd1211rw: Add ID for Planex GW-US54Mini zd1211 chip 14ea:ab13 v4330 high 00-90-cc AL2230_RF pa0 g--- Tested by Tetsuya Yatagai. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit e72ba2d328331e9687f0105a7937ea1b1969246c Author: John W. Linville Date: Tue Nov 14 20:08:53 2006 -0500 [PATCH] prism54: correct overly aggressive check of return from pci_set_mwi Failure of pci_set_mwi should not be considered a fatal error. Signed-off-by: John W. Linville commit b6d2b1db0637ff35127f3cc38c04f289a0ee0579 Author: Larry Finger Date: Wed Nov 8 11:04:49 2006 -0600 [PATCH] bcm43xx: correct "Move IV/ICV stripping into ieee80211_rx" In the patch sent by Daniel Drake under the title "[PATCH] ieee80211: Move IV/ICV stripping into ieee80211_rx", a needed line was accidentally removed. (NOTE: I'm pretty sure this was my fault, not Daniel's. -- JWL) Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit cefd9f7f1281c1ead03236f227dad4b163619705 Author: Jeff Garzik Date: Tue Nov 14 11:46:41 2006 -0500 Revert "[PATCH] Add support for Marvell 88e1111S and 88e1145" This reverts commit 477c517903d57047150b01608149e02c6e9d83dd. This patch depended on something that was not yet committed. commit 89e5785fc8a6b9eafd37f2318a9a76d479c796be Author: Haavard Skinnemoen Date: Thu Nov 9 14:51:17 2006 +0100 [PATCH] Atmel MACB ethernet driver Driver for the Atmel MACB on-chip ethernet module. Tested on AVR32/AT32AP7000/ATSTK1000. I've heard rumours that it works with AT91SAM9260 as well, and it may be possible to share some code with the at91_ether driver for AT91RM9200. Hardware documentation can be found in the AT32AP7000 data sheet, which can be downloaded from http://www.atmel.com/dyn/products/datasheets.asp?family_id=682 Changes since previous version: * Probe for PHY ID instead of depending on it being provided through platform_data. * Grab initial ethernet address from the MACB registers instead of depending on platform_data. * Set MII/RMII mode correctly. These changes are mostly about making the driver more compatible with the at91 infrastructure. Signed-off-by: Haavard Skinnemoen Signed-off-by: Jeff Garzik commit b690bdef7c4523bf55103b7a841c454d4674b315 Author: Krzysztof Halasa Date: Mon Nov 13 19:48:54 2006 +0100 [PATCH] WAN: DSCC4 driver requires generic HDLC Another thing, reported recently to me by several people - DSCC4 WAN driver now (and perhaps for the last couple of years+) requires the generic HDLC. I've fixed the Kconfig and moved the DSCC4 option under CONFIG_HDLC so it's consistent visually. Signed-off-by: Krzysztof Halasa Signed-off-by: Jeff Garzik commit 5e123b844a1cbd4ec258cd37847ce4d57fa308c1 Author: Zang Roy-r61911 Date: Wed Nov 8 19:49:13 2006 -0800 [PATCH] Add tsi108/9 On Chip Ethernet device driver support Add tsi108/9 on chip Ethernet controller driver support. The driver code collects the feedback of previous posting form the mailing list and gives the update. MPC7448HPC2 platform in arch/powerpc uses tsi108 bridge. The following is a brief description of the Ethernet controller: The Tsi108/9 Ethernet Controller connects Switch Fabric to two independent Gigabit Ethernet ports,E0 and E1. It uses a single Management interface to manage the two physical connection devices (PHYs). Each Ethernet port has its own statistics monitor that tracks and reports key interface statistics. Each port supports a 256-entry hash table for address filtering. In addition, each port is bridged to the Switch Fabric through a 2-Kbyte transmit FIFO and a 4-Kbyte Receive FIFO. Each Ethernet port also has a pair of internal Ethernet DMA channels to support the transmit and receive data flows. The Ethernet DMA channels use descriptors set up in memory, the memory map of the device, and access via the Switch Fabric. The Ethernet Controller’s DMA arbiter handles arbitration for the Switch Fabric. The Controller also has a register bus interface for register accesses and status monitor control. The PMD (Physical Media Device) interface operates in MII, GMII, or TBI modes. The MII mode is used for connecting with 10 or 100 Mbit/s PMDs. The GMII and TBI modes are used to connect with Gigabit PMDs. Internal data flows to and from the Ethernet Controller through the Switch Fabric. Each Ethernet port uses its transmit and receive DMA channels to manage data flows through buffer descriptors that are predefined by the system (the descriptors can exist anywhere in the system memory map). These descriptors are data structures that point to buffers filled with data ready to transmit over Ethernet, or they point to empty buffers ready to receive data from Ethernet. Signed-off-by: Alexandre Bounine Signed-off-by: Roy Zang Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 31f817e9d6f325b10a316bb84237cae3739487ed Author: Jesse Huang Date: Wed Nov 8 19:49:12 2006 -0800 [PATCH] sundance: solve host error problem in low performance embedded system when continune down and up Solve host error problem in low performance embedded system when continune down and up. It will cause IP100A DMA TargetAbort. So we need more safe process to up and down IP100A with wait hardware completely stop and software cur_tx/ dirty_tx/cur_task/last_tx be clear. Signed-off-by: Jesse Huang Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit d0bb53e102e10cc90de50953531a163d95da1e07 Author: Andrew Morton Date: Tue Nov 14 10:35:03 2006 -0500 e1000 linkage fix ia64: drivers/built-in.o(.text+0xd9a72): In function `e1000_xmit_frame': : undefined reference to `csum_ipv6_magic' Cc: Auke Kok Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 95d21ff4c64592bdee7f1af2925145bed849c994 Author: Andy Fleming Date: Wed Nov 8 00:11:29 2006 -0600 [PATCH] Add support for Marvell 88e1111S and 88e1145 This patch requires the new support for configurable PHY interfaces. Changes include: * New support for 88e1145 * New support for 88e111s * Fixing 88e1101 driver to not match non-88e1101 PHYs * Increases in feature support across Marvell PHY product line * Fixes a bunch of whitespace issues found by Lindent Signed-off-by: Andrew Fleming Signed-off-by: Jeff Garzik commit f2d71c2d800e68f158a5949e38b23f5140948548 Author: Vitaly Wool Date: Tue Nov 7 13:27:02 2006 +0300 [PATCH] add netpoll support for gianfar: respin The patch inlined below adds NET_POLL_CONTROLLER support for gianfar network driver, slightly modified wrt the comments from Andy Fleming. drivers/net/gianfar.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) Signed-off-by: Vitaly Wool Signed-off-by: Jeff Garzik commit 02e0e5e935cad59a2d30a004df9065e8697543e3 Author: John W. Linville Date: Tue Nov 7 20:53:48 2006 -0500 [PATCH] wireless: clean-up some "check return code" warnings Clean-up some warnings from missing return code checks, mostly from calling pci_enable_device during a PCI resume. Signed-off-by: John W. Linville commit 5398d5901dcb677d24d839d3feac7209e250b161 Author: Larry Finger Date: Sat Nov 4 13:29:50 2006 -0600 [PATCH] ieee80211softmac: fix verbosity when debug disabled SoftMAC contains a number of debug-type messages that continue to print even when debugging is turned off. This patch substitutes dprintkl for printkl for those lines. Signed-off-by: Larry Finger Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 7f424ff4825adeae8d236fb3eafd699e6b2665e1 Author: Larry Finger Date: Thu Nov 2 21:56:52 2006 -0600 [PATCH] bcm43xx: Remove useless core enable/disable messages In the softmac version of bcm43xx, the core scan logs whether each core is enabled or disabled. This information is useless as one of the next steps is to enable all cores. This patch removes this output from the log. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 08c3103a562ed83c4f9ac8fad6f5cb1ebb1f29a0 Author: Larry Finger Date: Wed Nov 1 18:11:18 2006 -0600 [PATCH] bcm43xx: remove badness variable and related routine When the periodic work function in bcm43xx was converted for voluntary preemption to reduce latency, a new function was created to estimate the "badness" of each step, and this quantity was used to determine if preemption should be enabled when periodic work was undertaken. This concept was quite useful while debugging of periodic work was in progress. Now that this routine seems to be working correctly, it is time to simplify the code. This patch keeps the functionality intact, but simplifies the code. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 1494a81410d8c53fa6c800be1e22b6b6f64180e6 Author: Jeff Garzik Date: Tue Nov 7 05:12:16 2006 -0500 [netdrvr] netxen: build fixes Most contributed and Signed-off-by: Andrew Morton with some from me as well. Signed-off-by: Jeff Garzik commit acd70c2bfddb52aee27a4864c160bea7f0d117e1 Author: Jesse Huang Date: Fri Oct 20 14:42:13 2006 -0700 [PATCH] sundance: correct initial and close hardware step. Correct initial and close hardware step. In some embedded system down and up IP100A will cause DMA crash. We add some for safe down and up IP100A. Signed-off-by: Jesse Huang Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 6b655529c3d817ed1b69cf2dd29e2c3ce5148a2b Author: Andy Fleming Date: Mon Oct 16 16:19:17 2006 -0500 [PATCH] Fixed a number of bugs in the PHY Layer * genphy_update_link is now exported * Added a fix from ncase@xes-inc.com which changes forcing so it only updates the link. Otherwise, it never tries the lower values, since it is always overwriting the speed/duplex values with the current ones, rather than the intended ones. * Fixed a bug where bringing up a PHY with no link caused it to timeout, and enter forcing mode. Once in forcing mode, plugging in the link didn't autonegotiate. Now the AN state detects the lack of link, and enters the NO_LINK state. AN only times out if the link is up and AN fails * Cleaned up the PHY_AN case, reducing one level of indentation for the timeout code. Signed-off-by: Jeff Garzik commit 2109f89f3483ff5a05899385ee3fb04d779e9cce Author: Jesse Huang Date: Fri Oct 20 14:42:11 2006 -0700 [PATCH] subdance: fix TX Pause bug (reset_tx, intr_handler) Fix TX Pause bug (reset_tx, intr_handler). When MaxCollisions occurred, need to re-enable Tx. But just after re-enable, MaxCollisions maybe occurred again and with TxStatusOverflow. This will cause driver can't check new MaxCollisions to re-enable Tx again, because TxStatusOverflow. For this reason, after re-enable Tx, we need to make sure Tx was actually enabled. Signed-off-by: Jesse Huang Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit e242040df1da94a9a3daa98ea5539e2b52502bb4 Author: Jesse Huang Date: Fri Oct 20 14:42:05 2006 -0700 [PATCH] sundance: remove TxStartThresh and RxEarlyThresh For patent issue need to remove TxStartThresh and RxEarlyThresh. This patent is cut-through patent. If use this function, Tx will start to transmit after few data be move in to Tx FIFO. We are not allow to use those function in DFE530/DFE550/DFE580/DL10050/IP100/IP100A. It will decrease a little performance. Signed-off-by: Jesse Huang Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit ac7468e923278cdcb202f8aa992d8f2776f8344c Author: Komuro Date: Sun Oct 15 10:08:00 2006 +0900 [PATCH] network: pcnet_cs: remove the code to change the E8390_CMD register from ei_watchdog() Remove the code to change the E8390_CMD register from ei_watchdog(). The 8390-page is always 0 outside the spin_lock. Signed-off-by: komurojun-mbn@nifty.com Signed-off-by: Jeff Garzik commit f4344848f8a7acbef2558dc5b89c62485f147033 Author: Ayaz Abdulla Date: Mon Nov 6 00:43:40 2006 -0800 [PATCH] forcedeth: add support for new mcp67 device Add support for the new mcp67 device into forcedeth. Signed-off-by: Ayaz Abdulla Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 52d78d63310d9818458fd9800d24a4d5425aeac7 Author: Ayaz Abdulla Date: Mon Nov 6 00:43:39 2006 -0800 [PATCH] forcedeth: add new NVIDIA pci ids Add pci device ids for the NVIDIA MCP67 chip. Signed-off-by: Ayaz Abdulla Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit c5cf9101fefae32df654da5f0e736ffbe28aefdc Author: Ayaz Abdulla Date: Mon Oct 30 17:32:01 2006 -0500 [PATCH] forcedeth: add recoverable error support This patch adds support to recover from a previously fatal MAC error. In the past the MAC would be hung on an internal fatal error. On new chipsets, the MAC has the ability to enter a non-fatal state and allow the driver to re-init it. Signed-Off-By: Ayaz Abdulla Signed-off-by: Jeff Garzik commit 7e680c22c0579f1db7b84a7b155755a2754f9557 Author: Ayaz Abdulla Date: Mon Oct 30 17:31:51 2006 -0500 [PATCH] forcedeth: add mgmt unit support This patch adds support for the mgmt unit in certain chipsets. The MAC and the mgmt unit share the PHY and therefore proper intialization procedures are needed for them to maintain coexistense. Signed-Off-By: Ayaz Abdulla Signed-off-by: Jeff Garzik commit b2e68aa337f950e4a8c893a82b95b1755309bc56 Author: Maciej W. Rozycki Date: Mon Oct 23 13:53:17 2006 +0100 [PATCH] defxx: Big-endian hosts support The PDQ DMA engine requires a different byte-swapping mode for big-endian hosts; also the MAC address which is read from a register through PIO has to be byte-swapped. These changes have been verified with DEFPA-DC (PCI) boards and a Broadcom BCM91250A (MIPS CPU based) host. Signed-off-by: Maciej W. Rozycki Signed-off-by: Jeff Garzik commit c3a9392e4f3b9d97803b067871d66bc143369dbf Author: Eric Sesterhenn Date: Mon Oct 23 22:20:15 2006 +0200 [PATCH] kmemdup() cleanup in drivers/net hi, replace open coded kmemdup() to save some screen space, and allow inlining/not inlining to be triggered by gcc. Signed-off-by: Eric Sesterhenn Signed-off-by: Jeff Garzik commit bf793295e1090af84972750898bf8470df5e5419 Author: Francois Romieu Date: Wed Nov 1 00:53:05 2006 +0100 r8169: perform a PHY reset before any other operation at boot time Realtek's 8139/810x (0x8136) PCI-E comes with a touchy PHY. A big heavy reset seems to calm it down. Fix for http://bugzilla.kernel.org/show_bug.cgi?id=7378. Signed-off-by: Francois Romieu Signed-off-by: Darren Salt commit de3edab4276c3c789f64dc3d78eea027709fef0e Author: Auke Kok Date: Wed Nov 1 08:48:18 2006 -0800 e1000: update README for e1000 Signed-off-by: Auke Kok commit 25006ac61e514628b9d0f78fce0bed155f4f109c Author: Auke Kok Date: Wed Nov 1 08:48:15 2006 -0800 e1000: increment version to 7.3.15-k2 Signed-off-by: Auke Kok commit 835bb1298311f372a3387fb40b952b18d90aa9f8 Author: Jesse Brandeburg Date: Wed Nov 1 08:48:13 2006 -0800 e1000: add dynamic itr modes Add a new dynamic itr algorithm, with 2 modes, and make it the default operation mode. This greatly reduces latency and increases small packet performance, at the "cost" of some CPU utilization. Bulk traffic throughput is unaffected. The driver can limit the amount of interrupts per second that the adapter will generate for incoming packets. It does this by writing a value to the adapter that is based on the maximum amount of interrupts that the adapter will generate per second. Setting InterruptThrottleRate to a value greater or equal to 100 will program the adapter to send out a maximum of that many interrupts per second, even if more packets have come in. This reduces interrupt load on the system and can lower CPU utilization under heavy load, but will increase latency as packets are not processed as quickly. The default behaviour of the driver previously assumed a static InterruptThrottleRate value of 8000, providing a good fallback value for all traffic types,but lacking in small packet performance and latency. The hardware can handle many more small packets per second however, and for this reason an adaptive interrupt moderation algorithm was implemented. Since 7.3.x, the driver has two adaptive modes (setting 1 or 3) in which it dynamically adjusts the InterruptThrottleRate value based on the traffic that it receives. After determining the type of incoming traffic in the last timeframe, it will adjust the InterruptThrottleRate to an appropriate value for that traffic. The algorithm classifies the incoming traffic every interval into classes. Once the class is determined, the InterruptThrottleRate value is adjusted to suit that traffic type the best. There are three classes defined: "Bulk traffic", for large amounts of packets of normal size; "Low latency", for small amounts of traffic and/or a significant percentage of small packets; and "Lowest latency", for almost completely small packets or minimal traffic. In dynamic conservative mode, the InterruptThrottleRate value is set to 4000 for traffic that falls in class "Bulk traffic". If traffic falls in the "Low latency" or "Lowest latency" class, the InterruptThrottleRate is increased stepwise to 20000. This default mode is suitable for most applications. For situations where low latency is vital such as cluster or grid computing, the algorithm can reduce latency even more when InterruptThrottleRate is set to mode 1. In this mode, which operates the same as mode 3, the InterruptThrottleRate will be increased stepwise to 70000 for traffic in class "Lowest latency". Setting InterruptThrottleRate to 0 turns off any interrupt moderation and may improve small packet latency, but is generally not suitable for bulk throughput traffic. Signed-off-by: Jesse Brandeburg Cc: Rick Jones Signed-off-by: Auke Kok commit 9ac98284428961bd5be285a6cc1f5e6f5b6644aa Author: Jesse Brandeburg Date: Wed Nov 1 08:48:10 2006 -0800 e1000: add dynamic generic MSI interrupt routine Add a generic MSI interrupt routine that is IO read-free, speeding up MSI interrupt handling. Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok commit 04fedbfbc3dac1158519f8ef8cc8aca4fe79695b Author: Auke Kok Date: Wed Nov 1 08:48:07 2006 -0800 e1000: reorder e1000_param.c This file needs some cleanups and reordering - logically order it so that relevant defines and code are together with properly quoted defaults. Signed-off-by: Auke Kok commit 6a042dab19567fc888d5b87ce6ab68ac02aea1dc Author: Jesse Brandeburg Date: Wed Nov 1 08:48:04 2006 -0800 e1000: Only set IDE for tx when we are using TIDV/TADV Spec fix: don't set IDE unless we are actually setting the tx int delay time. Signed-off-by: Auke Kok Signed-off-by: Jesse Brandeburg commit 2df7d59f287236a636fb2d7e05879e65c8c56492 Author: Jeff Kirsher Date: Wed Nov 1 08:48:02 2006 -0800 e1000: rename ICH8 flash macros ICH8 will soon be followed by newer chipsets bearing the same acronym, thus we remove the '8' and make it independent of the version number in the platform name. Signed-off-by: Jeff Kirsher Signed-off-by: Auke Kok commit fcfb1224250d7877b6a6c6a947986e08b2160fb6 Author: Jesse Brandeburg Date: Wed Nov 1 08:47:59 2006 -0800 e1000: add queue restart counter Add a netif_wake/start_queue counter to the ethtool statistics to indicated to the user that their transmit ring could be too small for their workload. Signed-off-by: Jesse brandeburg Cc: Jamal Hadi Signed-off-by: Auke Kok commit fc2307d00c15385fbdbb5928a8517e5f63c3d068 Author: Auke Kok Date: Wed Nov 1 08:47:56 2006 -0800 e1000: New hardware support Add support for a Low Profile quad-port PCI-E adapter and 2 variants of the ICH8 systems' onboard NIC's. Signed-off-by: Auke Kok commit a9ebadd640927ac6529d904b4131b17e8019d199 Author: Jesse Brandeburg Date: Wed Nov 1 08:47:53 2006 -0800 e1000: Remove unneeded and unwanted memsets This memsetting was added in a paranoid rage debugging TX hangs, but are no longer of importance. We can beef up the performance quite a bit removing them. Make sure to fill in next_to_watch to allow this. Signed-off-by: Auke Kok Signed-off-by: Jesse Brandeburg commit 996695de21b9b301ebb32379e2950fc2142df3a7 Author: Auke Kok Date: Wed Nov 1 08:47:50 2006 -0800 e1000: simplify skb_put call. Simplify two calls to skb_put by removing one call to it. Signed-off-by: Auke Kok commit 2bc35c1078fdfe7bb2a849c2d1bee8d9d5fea4a7 Author: Jeff Kirsher Date: Wed Nov 1 08:47:47 2006 -0800 e1000: reorder pci-e infor struct Order pci-e capability struct according to bus/pci bus width ordering preserving the hard pci spec numbers. Signed-off-by: Auke Kok Signed-off-by: Jeff Kirsher commit 070f6ffbb8ed5c398e84f1508752b8fd15b05cf2 Author: Jeff Kirsher Date: Wed Nov 1 08:47:44 2006 -0800 e1000: fix VR powerdown code On ich systems during PHY power down to D3, the voltage regulators were left on. Signed-off-by: Auke Kok Signed-off-by: Jeff Kirsher commit 2ce9047f5d8464039da8ff986e71be5546e229c0 Author: Jesse Brandeburg Date: Wed Nov 1 08:47:42 2006 -0800 e1000: add mmiowb() for IA64 to sync tail writes IA64 SMP systems were seeing TX issues with multiple cpu's attempting to write tail registers unordered. This mmiowb() fixes the issue. Signed-off-by: Auke Kok Signed-off-by: Jesse Brandeburg commit 21c4d5e07859a6fc0f62be37da15b161e142c8d1 Author: Auke Kok Date: Wed Nov 1 08:47:39 2006 -0800 e1000: Enble early receive (ERT) on 82573 Enable early receives on 82573 for jumbo frame performance. Jumbo's are only supported on 82573L with ASPM disabled. Signed-off-by: Auke Kok commit 87ca4e5b8d729fc157a0a599d78ccab245fc0602 Author: Auke Kok Date: Wed Nov 1 08:47:36 2006 -0800 e1000: FIX: enable hw TSO for IPV6 Enable TSO for IPV6. All e1000 hardware supports it. This reduces CPU utilizations by 50% when transmitting IPv6 frames. Fix symbol naming enabling ipv6 TSO. Turn off TSO6 for 10/100. Signed-off-by: Auke Kok commit b00dae7cce465323850c3e1fd3ac8b2d9229735c Author: Auke Kok Date: Wed Nov 1 08:47:33 2006 -0800 e1000: Remove DISABLE_MULR debug code Remove debugging code disabling MULR (multiple reads). It's not usable for a wide audience and there are no known problems with MULR right now. Signed-off-by: Auke Kok commit 90fb51358a264f2f7e0cabdca6fc229bbc40cd91 Author: Auke Kok Date: Wed Nov 1 08:47:30 2006 -0800 e1000: whitespace changes, comments, typos Small whitespace changes, comment changes, typo fixes. Signed-off-by: Auke Kok commit a362bf57aa12835e4fa6af6960e5135b5626bc5b Author: Daniel Drake Date: Wed Oct 18 00:17:02 2006 +0100 [PATCH] zd1211rw: Add ID for ZyXEL G-220 Tested by Newsome on IRC zd1211 chip 0586:3401 v4330 high 00-13-49 AL2230_RF pa0 g--- Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit fe75f7471ba5604fe65435f717e3612a482c28cb Author: Christian Lamparter Date: Mon Oct 2 19:55:22 2006 +0200 [PATCH] wext: extend MLME support This patch adds two new defines for the SIOCSIWMLME to cover all kinds MLMEs (well, except REASSOC) through a ioctl. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 3d396eb17e9f8c5f59314078b45b88647591378d Author: Amit S. Kale Date: Sat Oct 21 15:33:03 2006 -0400 Add NetXen 1G/10G ethernet driver. Signed-off-by: Amit S. Kale Signed-off-by: Jeff Garzik commit f3d1fca3eb05cf6ff3879a385a15d24fbf556c57 Author: Stefano Brivio Date: Sun Oct 15 23:18:11 2006 -0500 [PATCH] bcm43xx: add PCI-E code The current bcm43xx driver does not contain code to handle PCI-E interfaces such as the BCM4311 and BCM4312. This patch, originally written by Stefano Brivio adds the necessary code to enable these interfaces. Signed-off-by: Stefano Brivio Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 995cdaa45b1faf8f4472e4b4c6027dc685ae1b54 Author: Alexey Dobriyan Date: Tue Oct 10 14:45:47 2006 -0700 [PATCH] prism54: use BUILD_BUG_ON Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 3b31dc327f07a2df06da931ffb0bb1627711bd86 Author: Holden Karau Date: Tue Oct 10 14:45:33 2006 -0700 [PATCH] atmel: output signal strength information Output signal strength information as part of iwlist scan - before it did not output any signal strength related information. Signed-off-by: Holden Karau Cc: Jean Tourrilhes Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 93b2dd12049d1adb0d76fb918fcd4c1030445433 Author: Dmitry Torokhov Date: Sun Oct 8 00:38:15 2006 -0400 [PATCH] prism54: whitespace cleanup NET: prism54 - whitespace cleanup Signed-off-by: Dmitry Torokhov Signed-off-by: John W. Linville commit d18e0c4a5434f02586b5fdcbcc72f1fe61ab49e6 Author: Dmitry Torokhov Date: Sun Oct 8 00:38:14 2006 -0400 [PATCH] prism54: fix potential race in reset scheduling NET: prism54 - fix potential race in reset scheduling There appears to be a race in reset scheduling logic - thread responsible for reseting the interface should clear "reset pending" flag before restarting the queue, otherwise timeout handler might not schedule another reset even if it is needed. This race is mostly theoretical as far as I can see but a race nonetheless. Signed-off-by: Dmitry Torokhov Signed-off-by: John W. Linville commit 5c877fe58c5df19646204b144b978b99c2ef074f Author: Dmitry Torokhov Date: Sun Oct 8 00:14:30 2006 -0400 [PATCH] atmel: whitespace cleanup NET: atmel: whitespace cleanup Signed-off-by: Dmitry Torokhov Signed-off-by: John W. Linville commit b4341135794fdad85f995a378da424e4f4128e4d Author: Dmitry Torokhov Date: Sun Oct 8 00:14:29 2006 -0400 [PATCH] atmel: use ARRAY_SIZE() NET: atmel - switch to using ARRAY_SIZE() Signed-off-by: Dmitry Torokhov Signed-off-by: John W. Linville commit 00a5ebf8621e8098305ca5e7b319937eed430184 Author: Dmitry Torokhov Date: Sun Oct 8 00:14:28 2006 -0400 [PATCH] atmel: save on array initialization NET: atmel - do not initialize array over and over again Signed-off-by: Dmitry Torokhov Signed-off-by: John W. Linville commit 837925df022a667c302b24aad9d6a58f94efd959 Author: Larry Finger Date: Tue Oct 3 18:49:32 2006 -0500 [PATCH] ieee80211: Drop and count duplicate data frames to remove 'replay detected' log messages In the SoftMAC version of the IEEE 802.11 stack, not all duplicate messages are detected. For the most part, there is no difficulty; however for TKIP and CCMP encryption, the duplicates result in a "replay detected" log message where the received and previous values of the TSC are identical. This change adds a new variable to the ieee80211_device structure that holds the 'seq_ctl' value for the previous frame. When a new frame repeats the value, the frame is dropped and the appropriate counter is incremented. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 42a4cf9576f036db69e15fa6b4e72986e17f0359 Author: matthieu castet Date: Thu Sep 28 19:57:25 2006 +0200 [PATCH] ieee80211: allow mtu bigger than 1500 Hi this patch allow to set the mtu between 1500 and 2304 (max octets in an MSDU) for devices using ieee80211 linux stack. Signed-off-by: Matthieu CASTET Signed-off-by: John W. Linville commit c9308b06c049a107edfbd4e5271771564eb6024d Author: Daniel Drake Date: Wed Sep 27 03:50:31 2006 +0100 [PATCH] ieee80211: Move IV/ICV stripping into ieee80211_rx This patch adds a host_strip_iv_icv flag to ieee80211 which indicates that ieee80211_rx should strip the IV/ICV/other security features from the payload. This saves on some memmove() calls in the driver and seems like something that belongs in the stack as it can be used by bcm43xx, ipw2200, and zd1211rw I will submit the ipw2200 patch separately as it needs testing. This patch also adds some sensible variable reuse (idx vs keyidx) in ieee80211_rx Signed-off-by: Daniel Drake Acked-by: Johannes Berg Signed-off-by: John W. Linville commit f2423723d70298e04179f934ff17346c3e06f408 Author: Daniel Drake Date: Tue Sep 26 04:04:38 2006 +0100 [PATCH] zd1211rw: Add 3 more device IDs iNexQ UR055g: Tested by Todor T Zviskov zd1211 chip 1435:0711 v4330 high 00-10-a7 AL2230_RF pa0 g-- ZyXEL AG-225, FCC ID SI5WUB410: Tested by Nathan zd1211 chip 0586:3409 v4810 full 00-13-49 AL7230B_RF pa0 g--- Yakumo QuickWLAN USB: Tested by EdB zd1211 chip 0b3b:1630 v4330 high 00-01-36 RF2959_RF pa0 --- Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit f04e2be7d9b73a1da7be99a08b3695074e14970c Author: Larry Finger Date: Mon Sep 25 15:33:20 2006 -0500 [PATCH] bcm43xx: output proper link quality with scans The bcm43xx-softmac driver fails to set two quantities needed for iwlist to compute wireless quality when scanning. As a result, userland programs using the quality to determine the best connection fail. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 3470cb1d4fb27572273079e7095734ac4f9caa43 Author: Al Viro Date: Tue Oct 10 00:19:36 2006 +0100 [PATCH] 8390 fixes - the final chunk (h8300) The rest of 8390 conversions; ifdef cascade in 8390.h is gone now. Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit b936889c8f95b601d3ef6caac6ac653a8adb4fec Author: Al Viro Date: Tue Oct 10 00:19:36 2006 +0100 [PATCH] 8390 cleanup - etherh iomem annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 8c6270f957f0eaa343e4a609159c4b85038468d6 Author: Al Viro Date: Tue Oct 10 00:19:36 2006 +0100 [PATCH] 8390 fixes - m68k oddballs more 8390 conversions - mac8390, zorro8390 and hydra got the same treatment as arm etherh; one more case in 8390.h ifdef cascade is gone. Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 6c3561b0c1b64c8f0d1419f3909ab29f0eb98906 Author: Al Viro Date: Tue Oct 10 00:19:36 2006 +0100 [PATCH] beginning of 8390 fixes - generic and arm/etherh etherh and a handful of other odd drivers use different macros when building 8390.c. Since we generate a single 8390.o and then link with it, in any config with both oddball and normal 8390-based driver we will end up with breakage in at least one of them. Solution: take most of 8390.c into lib8390.c and have 8390.c, etherh.c and the rest of oddballs #include it. Helper macros are taken from 8390.h to whoever includes lib8390.c. That way odd drivers get separate instances of compiled 8390 stuff and stop stepping on each other's toes. 8390.h gets cleaned up - we don't have the cascade of ifdefs in there and are left with the stuff that can be used by any 8390-based driver. Current problems are exactly because of that cascade - we attempt to choose the set of helpers by looking at config and that, of course, doesn't work well when we have several sets needed by various drivers in our config. Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 865f3b2b6ac578a061c823bec5baf00ad04cbd8c Author: Stephen Hemminger Date: Thu Oct 5 10:21:26 2006 -0700 [PATCH] sk98lin: MII ioctl support Add MII ioctl support to the deprecated sk98lin driver. This allows comparison with skge driver's PHY settings. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 24b46a0f0a9a736f125141f271102f70c2612a9f Author: Stephen Hemminger Date: Thu Oct 5 10:16:23 2006 -0700 [PATCH] sk98lin: ethtool register dump Add support for dumping the registers in the deprecated sk98lin driver. This is allows for easier comparison with settings in new skge driver. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 83717cf054214d144165c576cba6362d07fc6656 Author: Henrik Kretzschmar Date: Tue Oct 10 14:33:29 2006 -0700 [PATCH] pci_module_init() convertion in olympic.c pci_module_init() convertion in olympic.c Signed-off-by: Henrik Kretzschmar Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 107ce6d21b746f33f85f4385b9802b3ae928f876 Author: Eric Sesterhenn Date: Tue Oct 10 14:33:28 2006 -0700 [PATCH] Remove unnecessary check in drivers/net/depca.c This was spotted by coverity (cid #793). All callers dereference dev before calling this functions, and we dereference it earlier in the function, when initializing lp. Signed-off-by: Eric Sesterhenn Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit a189317fa0e9d425cd3a4c248b06f96d876cf7fd Author: Francois Romieu Date: Tue Oct 10 14:33:27 2006 -0700 [PATCH] forcedeth: power management support Tobias Diedrich sayeth: Vanilla forcedeth doesn't seem to support suspend and an ifdown/up-cycle is needed to get it working again after suspend. Francois Romieu's "Awfully experimental" patch is working just fine for me (with message signalled interrupts disabled) and has survived quite a few suspend/resume cycles. So I'd very much like to see (at least partial, with msi disabled) suspend support for forcedeth in mainline. (Addresses http://bugzilla.kernel.org/show_bug.cgi?id=6398) Cc: Francois Romieu Cc; Jeff Garzik Cc: Manfred Spraul Cc: Ayaz Abdulla Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 3c3070d713d798f7f9e7ee3614e49b47655d14d8 Author: Maciej W. Rozycki Date: Tue Oct 3 16:18:35 2006 +0100 [PATCH] 2.6.18: sb1250-mac: Phylib IRQ handling fixes This patch fixes a couple of problems discovered with interrupt handling in the phylib core, namely: 1. The driver uses timer and workqueue calls, but does not include nor . 2. The driver uses schedule_work() for handling interrupts, but does not make sure any pending work scheduled thus has been completed before driver's structures get freed from memory. This is especially important as interrupts may keep arriving if the line is shared with another PHY. The solution is to ignore phy_interrupt() calls if the reported device has already been halted and calling flush_scheduled_work() from phy_stop_interrupts() (but guarded with current_is_keventd() in case the function has been called through keventd from the MAC device's close call to avoid a deadlock on the netlink lock). Signed-off-by: Maciej W. Rozycki patch-mips-2.6.18-20060920-phy-irq-16 Signed-off-by: Jeff Garzik commit 13df29f69749a61b5209d52b71fcbf7300e5d6fb Author: Maciej W. Rozycki Date: Tue Oct 3 16:18:28 2006 +0100 [PATCH] 2.6.18: sb1250-mac: Missing inclusions from The uses some types and macros defined in , , and , but fails to include these headers. Signed-off-by: Maciej W. Rozycki patch-mips-2.6.18-20060920-include-phy-16 Signed-off-by: Jeff Garzik commit c4b41c9f077392803cd548000f3a2312dcd4a122 Author: Maciej W. Rozycki Date: Tue Oct 3 16:18:13 2006 +0100 [PATCH] 2.6.18: sb1250-mac: Broadcom PHY support This patch adds support for interrupt-driven operation of the Broadcom Gigabit Ethernet PHYs. I have included device IDs for the parts used on Broadcom SiByte evaluation boards; more can be added as a need arises. They are apparently generally software-compatible with one another. Signed-off-by: Maciej W. Rozycki patch-mips-2.6.18-20060920-broadcom-phy-15 Signed-off-by: Jeff Garzik commit 116b23b0ed36f8d5b56d16ac50266fce8de904c1 Merge: b6ef977... 9e1402a... Author: Linus Torvalds Date: Fri Dec 1 20:55:21 2006 -0800 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: [PATCH] Fix an offset error when reading the CS89x0 ADD_PORT register [PATCH] spidernet: poor network performance [PATCH] Spidernet: remove ETH_ZLEN check in earlier patch [PATCH] bonding: fix an oops when slave device does not provide get_stats [PATCH] drivers/net: SAA9730: Fix build error Revert "[PATCH] zd1211rw: Removed unneeded packed attributes" [PATCH] zd1211rw: Fix of a locking bug [PATCH] softmac: remove netif_tx_disable when scanning [PATCH] ieee80211: Fix kernel panic when QoS is enabled commit 664e8503fee2f299d0f96eaab0f5f8fae8fad325 Author: Tejun Heo Date: Mon Nov 20 16:05:34 2006 +0900 [PATCH] libata: print cdb[0] in failed qc report Print cdb[0] in failed qc report. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 2dec7555e6bf2772749113ea0ad454fcdb8cf861 Author: Robert Hancock Date: Sun Nov 26 14:20:19 2006 -0600 [PATCH] sata_nv: fix ATAPI in ADMA mode The attached patch against 2.6.19-rc6-mm1 fixes some problems in sata_nv with ATAPI devices on controllers running in ADMA mode. Some of the logic in the nv_adma_bmdma_* functions was inverted causing a bunch of warnings and caused those functions not to work properly. Also, when an ATAPI device is connected, we need to use the legacy DMA engine. The code now disables the PCI configuration register bits for ADMA so that this works, and ensures that no ATAPI DMA commands go through until this is done. Fixes Bugzilla http://bugzilla.kernel.org/show_bug.cgi?id=7538 Signed-off-by: Robert Hancock Signed-off-by: Jeff Garzik commit 099156db555aabf54dc80b40abb628ce35d90065 Author: Alan Date: Mon Nov 27 16:37:52 2006 +0000 [PATCH] pata_marvell: merge Mandriva patches Correct and complete the Marvell PATA cable detection logic. From: Arnaud Patard Signed-off-by: Arnaud Patard Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit aff0df0593f4beea42800115c0658f58c03dfe9f Author: Alan Date: Mon Nov 27 16:25:51 2006 +0000 [PATCH] pata_hpt3x3: suspend/resume support Again split the chipset init away and call it both on resume and on setup Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 62d64ae0ec76360736c9dc4ca2067ae8de0ba9f2 Author: Alan Date: Mon Nov 27 16:27:20 2006 +0000 [PATCH] pata : more drivers that need only standard suspend and resume Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit aa54ab1eff30f1e5859acf4e15f0730288373ee5 Author: Alan Date: Mon Nov 27 16:24:15 2006 +0000 [PATCH] hpt36x: Suspend/resume support Another chipset which needs some reconfiguration after a resume. All the chip setup is moved to a new function called in both setup and resume. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 627d2d3261a42c9b5b0a02a1f8d0ae5414729cb9 Author: Alan Date: Mon Nov 27 16:19:36 2006 +0000 [PATCH] pata_via suspend/resume support The major VIA issues were handled by the quirks update for resume quirks. The ATA driver also has to do some work however when resuming from RAM. Certain chips need the FIFO reconfiguring, and the 66MHz clock setup updating. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit c304193a005b5262671c1389b1cae96d7afc952a Author: Alan Date: Mon Nov 27 16:21:24 2006 +0000 [PATCH] pata_amd: suspend/resume Early AMD chips require FIFO and/or simplex flag clearing work on resume from RAM. Most devices need no help Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit f535d53f3f8bc8243ad2167d7127f6efba9b46cb Author: Alan Date: Mon Nov 27 16:14:36 2006 +0000 [PATCH] pata_it821x: Suspend/Resume support If you are using the noraid option then after a suspend/resume sequence we need to reset the card back out of raid mode again. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 38e0d56e67849720d306e2d7cd1a2793deec9644 Author: Alan Date: Mon Nov 27 16:16:35 2006 +0000 [PATCH] pata_serverworks suspend/resume The Serverworks chips need various fixups doing on a resume from RAM. Conveniently the needed functions were already split out ready for re-use Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 7f72a379146913dc5f2751383722cdedb8998bc9 Author: Alan Date: Wed Nov 22 16:59:07 2006 +0000 [PATCH] pata_cmd64x: suspend/resume On a resume of the CMD64x we must restore MRDMODE and latency if the BIOS didn't get them right originally. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 8501120f1df1aa6abe38b51ab91df08ccaa1b971 Author: Alan Date: Wed Nov 22 17:01:06 2006 +0000 [PATCH] pata_cs5520: resume support The CS5520 doesn't need much help to resume but we do need to restore pcicfg which may have been reset to the BIOS default which is sometimes incorrect. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 30ced0f0d211999f316930eff7287aa5a9995bef Author: Alan Date: Wed Nov 22 16:57:36 2006 +0000 [PATCH] PATA libata: suspend/resume simple cases This patch adds the suspend/resume callbacks for drivers which don't need any additional help (beyond the pci resume quirk patch I posted earlier anyway). Also bring version numbers back inline with master copies. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 8550c1637ba7dd96a76353eb52d31088f9c2f5fe Author: Alan Date: Wed Nov 22 17:28:41 2006 +0000 [PATCH] pata_sil680 suspend/resume The SI680 can come back from s2ram with the clocks disabled (crash time) or wrong (ugly as this can cause CRC errors, and in theory corruption). On a resume we must put the clock back. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit ad4a42d287546888349ad24d351673a59f429ee8 Author: Alan Date: Wed Nov 22 17:23:37 2006 +0000 [PATCH] pata_rz1000: Force readahead off on resume The RZ1000 is a generic device except that it has a readahead fifo flaw that corrupts. We force this off at init time but we want to be paranoid and force it off at resume as well. I don't know of any actual hardware that supports both RZ1000 and suspend to RAM but given its a disk muncher better safe than sorry. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 34d8dfb1e6b51dbd6eefcb449b531c7ee773664c Author: Alan Date: Wed Nov 22 17:26:06 2006 +0000 [PATCH] pata_ali: suspend/resume support Various chipset functions must be reprogrammed on a resume from RAM, without this things like ATAPI DMA stop working on resume with some chipset variants. Split the chipset programming and init time method selection into two functions. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit d39ca896fb9a25f80465d3e52872cf5c510762a8 Author: Alan Date: Wed Nov 22 17:18:30 2006 +0000 [PATCH] pata_jmicron: fix JMB368 support, add suspend/resume handling This (and the pci resume quirk code) get the JMicron controllers to resume properly. Without this patch the drive mapping changes when you suspend/resume which is not good at all.... Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit f7e37ba83fd3e92411dfc97d08eaf9d85dfac2ee Author: Alan Date: Wed Nov 22 17:21:03 2006 +0000 [PATCH] pata_cs5530: suspend/resume support The 5530 needs various set up performing both at init time and resume time. To keep the code clean the common setup code is moved into a new function and called from both handlers. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 54083f114efad2d4fa993c52024f8973c70b9edb Author: Alan Date: Wed Nov 15 16:17:13 2006 +0000 [PATCH] pata_hpt366 enablebits More enablebits Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit b2d1eee1e99e15a80fa9623724d6861a81d2aba4 Author: Mikael Pettersson Date: Wed Nov 22 22:00:15 2006 +0100 [PATCH] sata_promise fixes and updates This patch updates the sata_promise driver as follows: - Correct typo in definition of PDC_TBG_MODE: it's at 0x41C not 0x41 in first-generation chips. This error caused PCI access alignment exceptions on SPARC64, and on all platforms it disabled the expected initialisation of TBG mode. - Add flags field to struct pdc_host_priv. Define PDC_FLAG_GEN_II and use it to distinguish first- and second-generation chips. - Prevent the FLASH_CTL FIFO_SHD bit from being set to 1 on second- generation chips. This matches Promises' ulsata2 driver. - Prevent TBG mode and SLEW rate initialisation in second-generation chips. These two registers have moved, TBG mode has been redefined, and Promise's ulsata2 driver no longer attempts to initialise them. - Correct PCI device table so devices 0x3570, 0x3571, and 0x3d73 are marked as 2057x (2nd gen) not 2037x (1st gen). - Correct PCI device table so device 0x3d17 is marked as 40518 (2nd gen 4 ports) not 20319 (1st gen 4 ports). - Correct pdc_ata_init_one() to treat 20771 as a second-generation chip. Tested on 0x3d75 (2nd gen), 0x3d73 (2nd gen), and 0x3373 (1st gen) chips. The information comes from the newly uploaded Promise SATA HW specs, Promise's ultra and ulsata2 drivers, and debugging on 3d75/3d73/3373 chips. hp->hotplug_offset could now be removed and its value recomputed in pdc_host_init() using hp->flags, but that would be a cleanup not a functional change, so I'm ignoring it for now. Signed-off-by: Mikael Pettersson Signed-off-by: Jeff Garzik commit 46b027cc30b6f6571191826afc718fa942403fc8 Author: Jeff Garzik Date: Tue Nov 14 14:46:17 2006 -0500 [libata] sata_promise: fix TBG mode register offset Fixes crashes on sparc, and may correct weird behavior reported on occasions, because we were never programming this register correctly (or at all). Signed-off-by: Jeff Garzik commit d25614bad6eec8fb80f3ef5bffbf720ebb7d2412 Author: Tejun Heo Date: Tue Nov 14 22:37:35 2006 +0900 [PATCH] libata: improve SCSI sense data generation Update ata_gen_ata_sense() to use desc format sense data to report the first failed block. The first failed block is read from result_tf using ata_tf_read_block() which can handle all three address formats. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 35b649fe2587b2e569c17c022ba3506ba441b6a2 Author: Tejun Heo Date: Tue Nov 14 22:37:35 2006 +0900 [PATCH] libata: implement ata_tf_read_block() Implement ata_tf_read_block(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 750426aa1ad1ddd1fa8bb4ed531a7956f3b9a27c Author: Tejun Heo Date: Tue Nov 14 22:37:35 2006 +0900 [PATCH] libata: cosmetic changes to sense generation functions * s/ata_gen_ata_desc_sense/ata_gen_passthru_sense/ * s/ata_gen_fixed_sense/ata_gen_ata_sense/ * make both functions static * neither function has locking requirement, change it to None. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit f38621b3109068adc8430bc2d170ccea59df4261 Author: Tejun Heo Date: Tue Nov 14 22:37:35 2006 +0900 [PATCH] libata: fix passthru sense data header sb[7] should contain the length of whole information sense data descriptor while desc[1] should contain the number of following bytes in the descriptor. ie. 14 for sb[7] but 12 for desc[1]. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 39599a5334decc2669ba794fb0ccd2b112ef1ba4 Author: Tejun Heo Date: Tue Nov 14 22:37:35 2006 +0900 [PATCH] libata: sync result_tf.flags w/ command tf.flags libata didn't initialize result_tf.flags which indicates transfer type (RW/FUA) and address type (CHS/LBA/LBA48). ata_gen_fixed_sense() assumed result_tf.flags equals command tf.flags and failed to report the first failed block to SCSI layer because zero tf flags indicates CHS and bad block reporting for CHS is not implemented. Implement fill_result_tf() which sets result_tf.flags to command tf.flags and use it to fill result_tf. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 61c0596c5fbef99df5518ae449be4ab49a2c2233 Author: Tejun Heo Date: Tue Nov 14 22:35:43 2006 +0900 [PATCH] libata: trivial updates to ata_sg_init_one() There's no need to memset &qc->sgent manually, sg_init_one() clears sgent inside it. Also, kill not-so-necessary sg local variable. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 8a93758170a58b5afe3e45d7d5bebbdd401a24c2 Author: Tejun Heo Date: Tue Nov 14 22:36:12 2006 +0900 [PATCH] libata: improve failed qc reporting Improve failed qc reporting. The original message didn't include the actual command nor full error status and it was necessary to temporarily patch the code to find out exactly which command is causing problem. This patch makes EH report full command and result TFs along with data direction and length. This change will make bug reports more useful. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 5e56a37c3706498b25049bb556928c461875250f Author: Tejun Heo Date: Fri Nov 10 18:08:10 2006 +0900 [PATCH] ata_piix: strip now unneded MAP related stuff Now that PCS isn't used for device detection anymore... * esb_sata is identical to ich5_sata * no reason to know present_shift * no reason to store map_db in host private area The MAP table itself is left because it can be used for SCR access. Signed-off-by: Jeff Garzik commit 228c1590be39872022006ab81fda112a4f35ce47 Author: Tejun Heo Date: Fri Nov 10 18:08:10 2006 +0900 [PATCH] ata_piix: apply device detection via polling IDENTIFY PATA PIIX uses reset signature + TF r/w test for device presence detection, which doesn't always work. It sometimes reports phantom device which results in IDENTIFY timeouts. SATA PIIX uses some combination of PCS + reset signature + TF r/w test for device presence detection. No combination satifies all and for some controllers, there doesn't seem to be any combination which works reliably. This patch makes both PATA and SATA piix's use reset signature + TF r/w + polling IDENTIFY for device detection. This is what the old libata (before irq-pio and new EH) did and what IDE does. This patch also removes now obsolete PIIX_FLAG_IGNORE_PCS, force_pcs and related code. Signed-off-by: Jeff Garzik commit 55a8e2c83ce50548dfef74bb19dfe2b809cb3099 Author: Tejun Heo Date: Fri Nov 10 18:08:10 2006 +0900 [PATCH] libata: implement presence detection via polling IDENTIFY On some controllers (ICHs in piix mode), there is *NO* reliable way to determine device presence other than issuing IDENTIFY and see how the transaction proceeds by watching the TF status register. libata acted this way before irq-pio and phantom devices caused very little problem but now that IDENTIFY is performed using IRQ drive PIO, such phantom devices now result in multiple 30sec timeouts during boot. This patch implements ATA_FLAG_DETECT_POLLING. If a LLD sets this flag, libata core issues the initial IDENTIFY in polling mode and if the initial data transfer fails w/ HSM violation, the port is considered to be empty thus replicating the old libata and IDE behavior. Signed-off-by: Jeff Garzik commit bff0464769f2a1bd348265de704471747378e247 Author: Tejun Heo Date: Fri Nov 10 18:08:10 2006 +0900 [PATCH] libata: convert @post_reset to @flags in ata_dev_read_id() Make ata_dev_read_id() take @flags instead of @post_reset. Currently there is only one flag defined - ATA_READID_POSTRESET, which is equivalent to @post_reset. This is preparation for polling presence detection. Signed-off-by: Jeff Garzik commit b3362f88a8f938fb700fdedf074ec222cba7cf83 Author: Tejun Heo Date: Fri Nov 10 18:08:10 2006 +0900 [PATCH] ata_piix: clean up port flags * move common flags into PIIX_PATA_FLAGS and PIIX_SATA_FLAGS * kill unnecessary ATA_FLAG_SRST Signed-off-by: Jeff Garzik commit 6fc49adb9417b9c793e8f88d485387bb89ceb733 Author: Tejun Heo Date: Sat Nov 11 20:10:45 2006 +0900 [PATCH] libata: use FLUSH_EXT only when driver is larger than LBA28 limit Many drives support LBA48 even when its capacity is smaller than 1<<28, as LBA48 is required for many functionalities. FLUSH_EXT is mandatory for drives w/ LBA48 support. Interestingly, at least one of such drives (ST960812A) has problems dealing with FLUSH_EXT. It eventually completes the command but takes around 7 seconds to finish in many cases thus drastically slowing down IO transactions. This seems to be a firmware bug which sneaked into production probably because no other ATA driver including linux IDE issues FLUSH_EXT to drives which report support for LBA48 & FLUSH_EXT but is smaller than 1<<28 blocks. This patch adds ATA_DFLAG_FLUSH_EXT which is set iff the drive supports LBA48 & FLUSH_EXT and is larger than LBA28 limit. Both cache flush paths are updated to issue FLUSH_EXT only when the flag is set. Note that the changed behavior is more inline with the rest of libata. libata prefers shorter commands whenever possible. Signed-off-by: Tejun Heo Cc: Danny Kukawka Cc: Stefan Seyfried Signed-off-by: Jeff Garzik commit 648a88be4a016d2637ace3ae74b85a0512255ee8 Author: Tejun Heo Date: Thu Nov 9 15:08:40 2006 +0900 [PATCH] ahci: honor PORTS_IMPL on ICH8s Some ICH8s use non-linear port mapping. ahci driver didn't use to honor PORTS_IMPL and this made ports after hole nonfunctional. This patch makes ahci mark those ports as dummy and properly initialize all the implemented ports after the dummies. As it's unknown whether other AHCIs implement PORTS_IMPL register properly, new board id board_ahci_pi is added and selectively applied to ICH8s. All other AHCIs continue to use linear mapping regardless of PORTS_IMPL value. Signed-off-by: Tejun Heo Cc: Robin H. Johnson Signed-off-by: Jeff Garzik commit 0df0d0a0ea9ffcee4e56f96cd9d9e32b0644eb21 Author: Alessandro Zummo Date: Tue Nov 14 13:43:21 2006 -0500 [libata] ARM: add ixp4xx PATA driver Signed-off-by: Alessandro Zummo Signed-off-by: Jeff Garzik commit 4adccf6f447dfa7af6f3af7e12f87829a6fac8dd Author: Uwe Koziolek Date: Wed Nov 8 09:57:00 2006 +0100 [PATCH] sata_sis: slave support on SiS965 SiS965 and SiS180 chips must support slave mode, SiS965L and SiS964 chips must not support slave mode. SCR_STATUS for SATA ports in powerdown state fixed. Now returning 0x0113 instead of 0x0117. Avoids problem on detecting sata_sis controller. Signed-off-by: Uwe Koziolek Signed-off-by: Jeff Garzik commit 98fa4b60c673526fdd478d9719e41cd9e2b84986 Author: Tejun Heo Date: Thu Nov 2 12:17:23 2006 +0900 [PATCH] ahci: preserve PORTS_IMPL over host resets Instead of writing 0xf blindly, preserve the content of write-once PORTS_IMPL register over host resets. This patch is taken from Jeff Garzik's AHCI init update patch. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit ada406c8246b0792afe4d7f8ae7606093052de87 Author: Alan Cox Date: Fri Nov 3 13:18:06 2006 +0000 [PATCH] pdc202xx_old: Fix name clashes with PA-RISC pdc_* functions are part of the global namespace for the PDC on PA-RISC systems and this means our choice of pdc_ causes collisions between the PDC globals and our static functions. Rename them to pdc202xx where they are for both 2024x and 2026x. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 415ae2b5c03b6ed1a041a473885e502d297e1d37 Author: Jeff Garzik Date: Wed Nov 1 05:10:42 2006 -0500 [libata] ahci: Match PCI class code for AHCI Signed-off-by: Jeff Garzik commit 914ed354b373680b648d913161cca6f742f32791 Author: Tejun Heo Date: Wed Nov 1 18:39:55 2006 +0900 [PATCH] libata: move dev->max_sectors configuration into ata_dev_configure() Move dev->max_sectors configuration from ata_scsi_dev_config() to ata_dev_configure(). * more consistent. * allows LLDs to peek at the default dev->max_sectors value. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit baa1e78a834c917984a4659fd282f712c17ee3bf Author: Tejun Heo Date: Wed Nov 1 18:39:27 2006 +0900 [PATCH] libata: implement ATA_EHI_SETMODE and ATA_EHI_POST_SETMODE libata EH used to perform ata_set_mode() iff the EH session performed reset as indicated by ATA_EHI_DID_RESET. This is incorrect because ->dev_config() called by revalidation is allowed to modify transfer mode which ata_set_mode() should take care of. This patch implements the following two flags. * ATA_EHI_SETMODE: set during EH to schedule ata_set_mode(). Both new device attachment and revalidation set this flag. * ATA_EHI_POST_SETMODE: set while the device is revalidated after ata_set_mode(). Post-setmode revalidation is different from initial configuaration and EH revalidation in that ->dev_config() is not allowed tune transfer mode. LLD can use this flag to determine whether it's allowed to tune transfer mode. Note that POST_SETMODE ->dev_config() is guaranteed to be preceded by non-POST_SETMODE ->dev_config(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit efdaedc443e935eda82e9e78a6e65d1f993d242f Author: Tejun Heo Date: Wed Nov 1 18:38:52 2006 +0900 [PATCH] libata: implement ATA_EHI_PRINTINFO Implement ehi flag ATA_EHI_PRINTINFO. This flag is set when device configuration needs to print out device info. This used to be handled by @print_info argument to ata_dev_configure() but LLDs also need to know about it in ->dev_config() callback. This patch replaces @print_info w/ ATA_EHI_PRINTINFO and make sata_sil print workaround messages only on the initial configuration. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit ad616ffbda8caf3ce76d2b43027e789d732abf48 Author: Tejun Heo Date: Wed Nov 1 18:00:24 2006 +0900 [PATCH] ahci: update ahci-vt8251 reset sequence ahci-vt8251 * requires hardreset after PHY status change * doesn't clear BSY on signature FIS after hardreset * needs SError cleared for the port to operate after hardreset This patch implements ahci_vt8251_hardreset() and sets ATA_FLAG_HRST_TO_RESUME to handle the above behaviors. This fixes EH including hotplug on vt8251. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit b6103f6d1659e2024776bc759d28613fb36344a8 Author: Tejun Heo Date: Wed Nov 1 17:59:53 2006 +0900 [PATCH] libata: separate out and export sata_port_hardreset() Separate out sata_port_hardreset() from sata_std_hardreset(). This will be used by LLD hardreset implementation and later by PMP. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 4aeb0e3283351351a5381a495ea24537f3bc21cb Author: Tejun Heo Date: Wed Nov 1 17:58:33 2006 +0900 [PATCH] ahci: kill AHCI_FLAG_RESET_NEEDS_CLO Now that ahci_softreset() is fixed to automatically perform CLO if BSY/DRQ is set on entry, AHCI_FLAG_RESET_NEEDS_CLO is redundant. Kill it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit c0c559083a084f9a19443d522b7d95a33701505a Author: Tejun Heo Date: Mon Oct 16 08:47:18 2006 +0900 [PATCH] sata_sil24: add PMP related constants Add PMP related constants. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 28c8f3b4f9ec9a5acffdc846effb0695839ecf37 Author: Tejun Heo Date: Mon Oct 16 08:47:18 2006 +0900 [PATCH] sata_sil24: rename PMP related constants Rename PMP related constants for consistency. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 309afcb5c87b5a41da51cc0c36f61c0e0d43ca9a Author: Tejun Heo Date: Sat Sep 30 18:07:17 2006 +0900 [PATCH] libata: make user scan wait for scan to complete Make user scan wait for scan to complete. This way user can wait for warm plug request to complete and is prevented from causing EH event storm by repetitively issuing scan request while EH is in progress. Signed-off-by: Tejun Heo Cc: Fajun Chen Signed-off-by: Jeff Garzik commit 722420fe6e2ab63bebc5a9ea346016b59076d75d Author: Tejun Heo Date: Thu Sep 28 17:49:22 2006 +0900 [PATCH] sata_nv: SRST sometimes fails after hotplug, use HRST_TO_RESUME NV controllers sometimes fail to perform softreset after hotplug. Make it use hardreset to resume link. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 90088bb41200b4da962282dfd45db82544adac3b Author: Tejun Heo Date: Mon Oct 9 11:10:26 2006 +0900 [PATCH] libata: move ata_irq_on() into libata-sff.c ata_irq_on() isn't used outside of libata core layer. The function is TF/SFF interface specific but currently used by core path with some hack too. Move it from include/linux/libata.h to drivers/ata/libata-sff.c. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit d1adc1bbd6dde3e05a91e2d3e6ab42d202ea61d5 Author: Tejun Heo Date: Mon Oct 9 18:32:15 2006 +0900 [PATCH] libata: handle 0xff status properly libata waits for !BSY even when the status register reports 0xff. This causes long boot delays when D8 isn't pulled down properly. This patch does the followings. * don't wait if status register is 0xff in all wait functions * make ata_busy_sleep() return 0 on success and -errno on failure. -ENODEV is returned on 0xff status and -EBUSY on other failures. * make ata_bus_softreset() succeed on 0xff status. 0xff status is not reset failure. It indicates no device. This removes unnecessary retries on such ports. Note that the code change assumes unoccupied port reporting 0xff status does not produce valid device signature. Signed-off-by: Tejun Heo Cc: Joe Jin Signed-off-by: Jeff Garzik commit a20c9e820864e18b59d2a4f2f04e8b6053986c95 Author: Paul Mundt Date: Fri Oct 27 19:08:48 2006 -0700 [PATCH] ata: Generic platform_device libata driver needs a changelog Signed-off-by: Paul Mundt Acked-by: Russell King Cc: Jeff Garzik Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 6919a0a6cfdad9e83d02cef5973826acd416560c Author: Alan Cox Date: Fri Oct 27 19:08:46 2006 -0700 [PATCH] libata: Revamp blacklist support to allow multiple kinds of blacklisting flaws Signed-off-by: Alan Cox Cc: Jeff Garzik Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit fbbb262d9ea9bdbd79d7058271560e9990bc62d3 Author: Robert Hancock Date: Fri Oct 27 19:08:41 2006 -0700 [PATCH] sata_nv ADMA/NCQ support for nForce4 This patch adds support for ADMA mode on NVIDIA nForce4 (CK804/MCP04) SATA controllers to the sata_nv driver. Benefits of ADMA mode include: - NCQ support - Reduced CPU overhead (controller DMAs command information from memory instead of them being pushed in by the CPU) - Full 64-bit DMA support ADMA mode is enabled by default in this version. To disable it, set the module parameter adma_enabled=0. Signed-off-by: Robert Hancock Cc: Jeff Garzik Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 6e9d8629b5503175a4425722a1ef13eed232c650 Author: Jeff Garzik Date: Sat Oct 21 15:54:13 2006 -0400 [libata] pata_marvell: minor and trivial cleanups - use pci_iomap() [Alan, version 0.0.5t] - fix Alan's version 0.0.5t change - line length, trailing whitespace, case indentation cleanups - don't use deprecated ->eng_timeout() in a driver that uses new EH Signed-off-by: Jeff Garzik commit 75742cb41e4b5c7913f385b9688aad69c9fa7ada Author: Alan Cox Date: Mon Oct 16 16:40:06 2006 +0100 [PATCH] pata_marvell: Marvell 6101/6145 PATA driver This is a legacy mode PATA driver for the 6101/45 and will also drive the SATA ports 1 & 2 in legacy mode as well if desired. Tested and confirmed working by users. The chip supports AHCI type behaviour for SATA and has a more advanced PATA interface as well so this driver will get it working but not get best performance for now. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 72dc6794fcd7642200a87bf18e3a43e676314b63 Author: Henrik Kretzschmar Date: Tue Oct 10 14:29:24 2006 -0700 [PATCH] pci_module_init() conversion for pata_pdc2027x pci_module_init() conversion for pata_pdc2027x Signed-off-by: Henrik Kretzschmar Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit fc085150b491bfc186efbca90a14cf907a3060a9 Author: Alan Cox Date: Tue Oct 10 14:28:11 2006 -0700 [PATCH] libata: add 40pin "short" cable support, honour drive side speed detection [deweerdt@free.fr: build fix] Signed-off-by: Alan Cox Signed-off-by: Frederik Deweerdt Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 2f27ce03628acdb81ead4abe914c713e04a3229e Author: Alan Cox Date: Tue Oct 10 14:28:12 2006 -0700 [PATCH] pci_module_init-convertion-in-ata_genericc fix Acked-by: Alan Cox but please apply as follows to keep revision id straight Cc: Henrik Kretzschmar Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 3f03c6713a4adfae058f4f1db5acde393db44ec0 Author: Henrik Kretzschmar Date: Tue Oct 10 14:28:12 2006 -0700 [PATCH] pci_module_init convertion in ata_generic.c pci_module_init convertion in ata_generic.c. Signed-off-by: Henrik Kretzschmar Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 7e45b0e5f6f68d04311ba7813f5f5457c9119640 Author: Alan Cox Date: Fri Sep 29 18:30:05 2006 +0100 [PATCH] libata: Winbond support Winbond 83759A support in non-multichip mode (afaik nobody ever used multichip mode anyway). The 83759 is not supported by this driver as it is already handled elsewhere and doens't use the same interfaces. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit d38eb8db6aa359c060dfb72a29cf8d94a96657d8 Author: Tiger Yang Date: Mon Nov 27 09:59:21 2006 +0800 ocfs2: implement i_op->permission Implement .permission() in ocfs2_file_iops, ocfs2_special_file_iops and ocfs2_dir_iops. This helps us avoid some multi-node races with mode change and vfs operations. Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit 58d206c2fa5cc0b35bf3ca48324d7633aa7d0412 Author: Adrian Bunk Date: Mon Nov 20 03:24:00 2006 +0100 configfs: make configfs_dirent_exists() static This patch makes the needlessly global configfs_dirent_exists() static. Signed-off-by: Adrian Bunk Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 25899deef46c226c49c53b42c00e0f032379c04b Author: Tiger Yang Date: Wed Nov 15 15:49:02 2006 +0800 ocfs2: update file system paths to set atime Conditionally update atime in ocfs2_file_aio_read(), ocfs2_readdir() and ocfs2_mmap(). Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit 7f1a37e31f94b4f1c123d32ce9f69205ab2095bd Author: Tiger Yang Date: Wed Nov 15 15:48:42 2006 +0800 ocfs2: core atime update functions This patch adds the core routines for updating atime in ocfs2. Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit 8659ac25b434fcc61cf7797f4b69edc3eaaffb55 Author: Tiger Yang Date: Tue Oct 17 18:29:52 2006 -0700 ocfs2: Add splice support Add splice read/write support in ocfs2. ocfs2_file_splice_read/write are very similar to ocfs2_file_aio_read/write. Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit e88d0c9a4180821ad64c1fb421e4c28f8155eb74 Author: Mark Fasheh Date: Tue Oct 17 17:06:53 2006 -0700 ocfs2: Remove ocfs2_write_should_remove_suid() Use should_remove_suid() instead. Signed-off-by: Mark Fasheh commit d23a147bb6e8d467e8df73b6589888717da3b9ce Author: Mark Fasheh Date: Tue Oct 17 17:05:18 2006 -0700 [PATCH] Export should_remove_suid() This helps us avoid replicating the same logic within file system drivers. Signed-off-by: Mark Fasheh commit 55ed16029d597622db8121270e687373b5e31722 Author: Mark Fasheh Date: Fri Oct 20 14:55:54 2006 -0700 configfs: mutex_lock_nested() fix configfs_unregister_subsystem() nests a pair of inode i_mutex acquisitions, and thus needs annotation via mutex_lock_nested(). Signed-off-by: Mark Fasheh commit 1fabe1481fac9e01bf8bffa60a2307ef379aa5de Author: Mark Fasheh Date: Mon Oct 9 18:11:45 2006 -0700 ocfs2: Remove struct ocfs2_journal_handle in favor of handle_t This is mostly a search and replace as ocfs2_journal_handle is now no more than a container for a handle_t pointer. ocfs2_commit_trans() becomes very straight forward, and we remove some out of date comments / code. Signed-off-by: Mark Fasheh commit 65eff9ccf86d63eb5c3e9071450a36e4e4fa9564 Author: Mark Fasheh Date: Mon Oct 9 17:26:22 2006 -0700 ocfs2: remove handle argument to ocfs2_start_trans() All callers either pass in NULL directly, or a local variable that is already set to NULL. The internals of ocfs2_start_trans() get a nice cleanup as a result. Signed-off-by: Mark Fasheh commit dae85832ffe2879b57b23aea319a0ec17667898d Author: Mark Fasheh Date: Mon Oct 9 16:50:32 2006 -0700 ocfs2: remove ocfs2_journal_handle journal field It is no longer used. Signed-off-by: Mark Fasheh commit 02dc1af44e9fa4b8801169891b3a1ba4047537ad Author: Mark Fasheh Date: Mon Oct 9 16:48:10 2006 -0700 ocfs2: pass ocfs2_super * into ocfs2_commit_trans() This sets us up to remove handle->journal. Signed-off-by: Mark Fasheh commit 4bcec1847ac4f75c2ee6d091b495f34d8d822e6a Author: Mark Fasheh Date: Mon Oct 9 16:02:40 2006 -0700 ocfs2: remove unused handle argument from ocfs2_meta_lock_full() Now that this is unused and all callers pass NULL, we can safely remove it. Signed-off-by: Mark Fasheh commit a301a27d715276a71827004549bcbb2b64776c11 Author: Mark Fasheh Date: Fri Oct 6 19:07:43 2006 -0700 ocfs2: make ocfs2_alloc_handle() static This is no longer used outside of journal.c Signed-off-by: Mark Fasheh commit daf29e9cdab7219838c6b6e82380aec3466cf379 Author: Mark Fasheh Date: Fri Oct 6 19:05:31 2006 -0700 ocfs2: remove unused ocfs2_handle_add_lock() This gets us rid of a slab we no longer need, as well as removing the majority of what's left on ocfs2_journal_handle. ocfs2_commit_unstarted_handle() has no more real work to do, so remove that function too. Signed-off-by: Mark Fasheh commit 02928a71ae6da6e3e205d99e1fa1a1f598ddb62d Author: Mark Fasheh Date: Fri Oct 6 18:51:46 2006 -0700 ocfs2: remove unused ocfs2_handle_add_inode() We can also delete the unused infrastructure which was once in place to support this functionality. ocfs2_inode_private loses ip_handle and ip_handle_list. ocfs2_journal_handle loses handle_list. Signed-off-by: Mark Fasheh commit 85b9e783cbc8cf4acc7bfaa76f37ea26b426f514 Author: Mark Fasheh Date: Fri Oct 6 18:40:41 2006 -0700 ocfs2: Don't allocate handle early in ocfs2_rename() It isn't used until ocfs2_start_trans() anyway. Signed-off-by: Mark Fasheh commit da5cbf2f9df922cfdafa39351691fa83517f1e25 Author: Mark Fasheh Date: Fri Oct 6 18:34:35 2006 -0700 ocfs2: don't use handle for locking in allocation functions Instead we record our state on the allocation context structure which all callers already know about and lifetime correctly. This means the reservation functions don't need a handle passed in any more, and we can also take it off the alloc context. Signed-off-by: Mark Fasheh commit 8d5596c687c49c1d8812c3456946dec15d069139 Author: Mark Fasheh Date: Fri Oct 6 15:04:51 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock in ocfs2_rename() Take and drop the locks directly. Signed-off-by: Mark Fasheh commit 6d8fc40e63401be065b0aa98dfa4246deca04b8c Author: Mark Fasheh Date: Fri Oct 6 11:54:33 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock in ocfs2_symlink() Take and drop the locks directly. Signed-off-by: Mark Fasheh commit 30a4f5e86bc7bc388ce808117e7722706f739602 Author: Mark Fasheh Date: Fri Oct 6 11:49:45 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock in ocfs2_unlink() Take and drop the locks directly. Signed-off-by: Mark Fasheh commit 5098c27bb8cd89e30d909ac9d76e305d334dadaf Author: Mark Fasheh Date: Thu Oct 5 18:12:57 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock() in orphan dir code Take and drop the locks directly. Signed-off-by: Mark Fasheh commit 123a9643408882620347cc2c82f24e57dab05f44 Author: Mark Fasheh Date: Thu Oct 5 16:48:23 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock() in ocfs2_link() Take and drop the locks directly. Signed-off-by: Mark Fasheh commit e3a821385984e57d5dd1b0e7292761abb0ea4dd9 Author: Mark Fasheh Date: Thu Oct 5 16:04:17 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock() in ocfs2_mknod() Take and drop the locks directly. Signed-off-by: Mark Fasheh commit e08dc8b9808f06d412904db4d67434bf19984752 Author: Mark Fasheh Date: Thu Oct 5 15:58:48 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock() in __ocfs2_flush_truncate_log() Take and drop the locks directly. Signed-off-by: Mark Fasheh commit 8898a5a58fb2a2f78a15b046588b5b3adccb82c4 Author: Mark Fasheh Date: Thu Oct 5 15:42:08 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock() in localalloc.c Take and drop the locks directly. Signed-off-by: Mark Fasheh commit c161f89be7d57af863e434e9b15afaa863343a7a Author: Mark Fasheh Date: Thu Oct 5 15:11:36 2006 -0700 ocfs2: remove ocfs2_journal_handle flags field Callers can set h_sync directly on the handle_t, whether a transaction has been started or not can be determined via the existence of the handle_t on the struct ocfs2_journal_handle. Signed-off-by: Mark Fasheh commit 1fc581467e52546195c7ee8233a34d63c1cc1322 Author: Mark Fasheh Date: Thu Oct 5 14:15:36 2006 -0700 ocfs2: have ocfs2_extend_trans() take handle_t No reason to use our wrapper struct in this function, so take the handle_t directly. Also fixes a bug where we were incorrectly setting the handle to NULL in case of a failure from journal_restart() Signed-off-by: Mark Fasheh commit 01ddf1e186b3b12b38c9e44912e0fd6a1cbc882b Author: Mark Fasheh Date: Thu Oct 5 13:54:39 2006 -0700 ocfs2: remove unused ocfs2_journal_handle field max_buffs was just being set and not actually used. Signed-off-by: Mark Fasheh commit f5a923d1ba648bfb3cc922c66981fc8e3280f57f Author: Mark Fasheh Date: Tue Nov 28 15:13:18 2006 -0800 ocfs2: fix format warnings in dlm_alloc_pagevec() Signed-off-by: Mark Fasheh commit da66116eef7da8557762c9b5efdc435bc0afecfa Author: Adrian Bunk Date: Mon Nov 20 03:24:28 2006 +0100 [2.6 patch] make ocfs2_create_new_lock() static This patch makes the needlessly global ocfs2_create_new_lock() static. Signed-off-by: Adrian Bunk Signed-off-by: Mark Fasheh commit b6ef977b608b01e0f338afd9445cab5436c61e00 Merge: 9ba5aa3... bdbf77d... Author: Linus Torvalds Date: Fri Dec 1 16:47:26 2006 -0800 Merge master.kernel.org:/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * master.kernel.org:/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 4 [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 3 [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 2 [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 1 [WATCHDOG] MIPS RM9000 on-chip watchdog device [WATCHDOG] Add iTCO vendor specific support [WATCHDOG] sc1200wdt.c pnp unregister fix. [WATCHDOG] config.h removal [WATCHDOG] NS pc87413-wdt Watchdog driver - fixes [WATCHDOG] NS pc87413-wdt Watchdog driver v1.1 [WATCHDOG] NS pc87413-wdt Watchdog driver commit 9ba5aa3126873a9c29999b78de20a52c5f87d389 Merge: c3e59d1... a17259a... Author: Linus Torvalds Date: Fri Dec 1 16:46:22 2006 -0800 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: [PATCH] libata: add missing sht->slave_destroy [PATCH] ahci: ignore PORT_IRQ_IF_ERR on JMB controllers commit c3e59d1e891f6140a346de2b8547e25133c716b0 Merge: b07e3c3... aa414df... Author: Linus Torvalds Date: Fri Dec 1 16:44:02 2006 -0800 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (31 commits) [MIPS] Remove duplicate ISA DMA code for 0 DMA channel case. [MIPS] Remove unused definition of cpu_to_lelongp() [MIPS] Remove userspace proofing from . [MIPS] Remove old junk left from old atomic_lock. [MIPS] Use conditional traps for BUG_ON on MIPS II and better. [MIPS] mips HPT cleanup: make clocksource_mips public [MIPS] do_IRQ cleanup [MIPS] Avoid dupliate D-cache flush on R400C / R4400 SC and MC variants. [MIPS] Remove redundant r4k_blast_icache() calls [MIPS] Work around bogus gcc warnings. [MIPS] Fix double inclusions [MIPS] use generic_handle_irq, handle_level_irq, handle_percpu_irq [MIPS] IRQ cleanups [MIPS] mips hpt cleanup: get rid of mips_hpt_init [MIPS] PB1200: Remove duplicate definitions [MIPS] Fix alignment hole in struct cache_desc; shrink struct. [MIPS] Oprofile: kernel support for the R10000. [MIPS] Remove unused R10000 performance counter definitions. [MIPS] Add support for kexec [MIPS] Don't print presence of WAIT instruction on bootup. ... commit b07e3c3a1db0ce399d2a1d04860e1b901927c05e Merge: 5f56bbd... b94c7e6... Author: Linus Torvalds Date: Fri Dec 1 16:43:42 2006 -0800 Merge branch 'for-2.6.20' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6 * 'for-2.6.20' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6: SELinux: validate kernel object classes and permissions SELinux: ensure keys constant in hashtab_search SELinux: export object class and permission definitions SELinux: remove current object class and permission validation mechanism commit 5f56bbdf1e35d41b4b3d4c92bdb3e70c63877e4d Merge: 9641219... f469b26... Author: Linus Torvalds Date: Fri Dec 1 16:43:06 2006 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (25 commits) IB/ucm: Fix deadlock in cleanup IB/cm: Fix automatic path migration support IPoIB: Fix skb leak when freeing neighbour IB/srp: Fix memory leak on reconnect RDMA/addr: list_move() cleanups RDMA/addr: Fix some cancellation problems in process_req() RDMA/amso1100: Prevent deadlock in destroy QP IB/mthca: Fix initial SRQ logsize for mem-free HCAs IB/ehca: Use WQE offset instead of WQE addr for pending work reqs RDMA/iwcm: Fix comment for iwcm_deref_id() to match code RDMA/iwcm: Remove unnecessary function argument RDMA/iwcm: Remove unnecessary initializations RDMA/iwcm: Fix memory leak RDMA/iwcm: Fix memory corruption bug in cm_work_handler() IB: Convert kmem_cache_t -> struct kmem_cache IB/ipath: Fix typo in pma_counter_select subscript RDMA/amso1100: Fix section mismatches IB/mthca: Fix section mismatches IB/srp: Increase supported CDB size RDMA/cm: Remove setting local write as part of QP access flags ... commit 9641219825a54249d77d7aa1afa7d874a05c7f90 Merge: 72a73a6... 94fcda1... Author: Linus Torvalds Date: Fri Dec 1 16:41:58 2006 -0800 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: (103 commits) usbcore: remove unused argument in autosuspend USB: keep count of unsuspended children USB hub: simplify remote-wakeup handling USB: struct usb_device: change flag to bitflag OHCI: make autostop conditional on CONFIG_PM USB: Add autosuspend support to the hub driver EHCI: Fix root-hub and port suspend/resume problems USB: create a new thread for every USB device found during the probe sequence USB: add driver for the USB debug devices USB: added dynamic major number for USB endpoints USB: pegasus error path not resetting task's state USB: endianness fix for asix.c USB: build the appledisplay driver USB serial: replace kmalloc+memset with kzalloc USB: hid-core: canonical defines for Apple USB device IDs USB: idmouse cleanup USB: make drivers/usb/core/driver.c:usb_device_match() static USB: lh7a40x_udc remove double declaration USB: pxa2xx_udc recognizes ixp425 rev b0 chip usbtouchscreen: add support for DMC TSC-10/25 devices ... commit 72a73a69f6a79266b8b4b18f796907b73a5c01e3 Merge: 4549df8... 2b290da... Author: Linus Torvalds Date: Fri Dec 1 16:41:27 2006 -0800 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: (28 commits) PCI: make arch/i386/pci/common.c:pci_bf_sort static PCI: ibmphp_pci.c: fix NULL dereference pciehp: remove unnecessary pci_disable_msi pciehp: remove unnecessary free_irq PCI: rpaphp: change device tree examination PCI: Change memory allocation for acpiphp slots i2c-i801: SMBus patch for Intel ICH9 PCI: irq: irq and pci_ids patch for Intel ICH9 PCI: pci_{enable,disable}_device() nestable ports PCI: switch pci_{enable,disable}_device() to be nestable PCI: arch/i386/kernel/pci-dma.c: ioremap balanced with iounmap pci/i386: style cleanups PCI: Block on access to temporarily unavailable pci device pci: fix __pci_register_driver error handling pci: clear osc support flags if no _OSC method acpiphp: fix missing acpiphp_glue_exit() acpiphp: fix use of list_for_each macro Altix: Initial ACPI support - ROM shadowing. Altix: SN ACPI hotplug support. Altix: Add initial ACPI IO support ... commit 4549df891a31b9a05b7d183106c09049b79327be Merge: 6b8cc71... e17e0f5... Author: Linus Torvalds Date: Fri Dec 1 16:41:07 2006 -0800 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: (36 commits) Driver core: show drivers in /sys/module/ Documentation/driver-model/platform.txt update/rewrite Driver core: platform_driver_probe(), can save codespace driver core: Use klist_remove() in device_move() driver core: Introduce device_move(): move a device to a new parent. Driver core: make drivers/base/core.c:setup_parent() static driver core: Introduce device_find_child(). sysfs: sysfs_write_file() writes zero terminated data cpu topology: consider sysfs_create_group return value Driver core: Call platform_notify_remove later ACPI: Change ACPI to use dev_archdata instead of firmware_data Driver core: add dev_archdata to struct device Driver core: convert sound core to use struct device Driver core: change mem class_devices to be real devices Driver core: convert fb code to use struct device Driver core: convert firmware code to use struct device Driver core: convert mmc code to use struct device Driver core: convert ppdev code to use struct device Driver core: convert PPP code to use struct device Driver core: convert cpuid code to use struct device ... commit 6b8cc71ab2619a776b02869fd733ac1ead3db4e8 Merge: 1399ff5... 8d6286f... Author: Linus Torvalds Date: Fri Dec 1 16:40:13 2006 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: [CIFS] Fix timezone handling on stat to os/2 [CIFS] Incorrect hardlink count when original file is cached (oplocked) commit 1399ff54741b3aa0aaf5097b8559fa30277ebe61 Merge: bb37b94... 6b44d4e... Author: Linus Torvalds Date: Fri Dec 1 16:38:18 2006 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial * git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: Fix typos in drivers/isdn/hisax/isdnl2.c Fix typos in doc and comments BUG_ON conversion for fs/aio.c BUG_ON conversion for drivers/mmc/omap.c BUG_ON conversion for drivers/media/video/pwc/pwc-if.c Fix misc .c/.h comment typos Fix misc Kconfig typos Fix typos in /Documentation : Misc Fix typos in /Documentation : 'U-Z' Fix typos in /Documentation : 'T'' Fix jiffies.h comment tabify MAINTAINERS fix spelling error in include/linux/kernel.h mqueue.h: don't include linux/types.h commit e17e0f51aeea4e59c7e450a1c0f26605b91c1260 Author: Kay Sievers Date: Fri Nov 24 12:15:25 2006 +0100 Driver core: show drivers in /sys/module/ Show the drivers, which belong to the module: $ ls -l /sys/module/usbcore/drivers/ hub -> ../../../bus/usb/drivers/hub usb -> ../../../bus/usb/drivers/usb usbfs -> ../../../bus/usb/drivers/usbfs Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit c957b32406b73ed66d0f20ebab0cab25c848105d Author: David Brownell Date: Thu Nov 16 23:30:14 2006 -0800 Documentation/driver-model/platform.txt update/rewrite This is almost a rewrite of the driver-model/platform.txt documentation; the previous text was obsolete (for several years), evidently it never got updated to match the change from being a PC "legacy_bus" to the more widely used core bus for most embedded systems. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit c67334fbdfbba533af767610cf3fde8a49710e62 Author: David Brownell Date: Thu Nov 16 23:28:47 2006 -0800 Driver core: platform_driver_probe(), can save codespace This defines a new platform_driver_probe() method allowing the driver's probe() method, and its support code+data, to safely live in __init sections for typical system configurations. Many system-on-chip processors could benefit from this API, to the tune of recovering hundreds to thousands of bytes per driver. That's memory which is currently wasted holding code which can never be called after system startup, yet can not be removed. It can't be removed because of the linkage requirement that pointers to init section code (like, ideally, probe support) must not live in other sections (like driver method tables) after those pointers would be invalid. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit acf02d23b96efa92e7cff05987122ceeb37dd075 Author: Cornelia Huck Date: Wed Nov 22 17:49:39 2006 +0100 driver core: Use klist_remove() in device_move() As pointed out by Alan Stern, device_move needs to use klist_remove which waits until removal is complete. Signed-off-by: Cornelia Huck Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 8a82472f86bf693b8e91ed56c9ca4f62fbbdcfa3 Author: Cornelia Huck Date: Mon Nov 20 17:07:51 2006 +0100 driver core: Introduce device_move(): move a device to a new parent. Provide a function device_move() to move a device to a new parent device. Add auxilliary functions kobject_move() and sysfs_move_dir(). kobject_move() generates a new uevent of type KOBJ_MOVE, containing the previous path (DEVPATH_OLD) in addition to the usual values. For this, a new interface kobject_uevent_env() is created that allows to add further environmental data to the uevent at the kobject layer. Signed-off-by: Cornelia Huck Acked-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit af9e0765362151b27372c14d9d6dc417184182d3 Author: Adrian Bunk Date: Fri Nov 17 02:19:44 2006 +0100 Driver core: make drivers/base/core.c:setup_parent() static This patch makes the needlessly global setup_parent() static. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 5ab699810d46011ad2195c5916f3cbc684bfe3ee Author: Cornelia Huck Date: Thu Nov 16 15:42:07 2006 +0100 driver core: Introduce device_find_child(). Introduce device_find_child() to match device_for_each_child(). Signed-off-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 035ed7a49447bc8e15d4d9316fc6a359b2d94333 Author: Thomas Maier Date: Sun Oct 22 19:17:47 2006 +0200 sysfs: sysfs_write_file() writes zero terminated data since most of the files in sysfs are text files, it would be nice, if the "store" function called during sysfs_write_file() gets a zero terminated string / data. The current implementation seems not to ensure this. (But only if it is the first time the zeroed buffer page is allocated.) So the buffer can be scanned by sscanf() easily, for example. This patch simply sets a \0 char behind the data in buffer->page. Signed-off-by: Thomas Maier Signed-off-by: Greg Kroah-Hartman commit 06a4bcae1ff2cd5f6f42bd74add85ec785a26343 Author: Heiko Carstens Date: Wed Nov 8 19:46:09 2006 -0800 cpu topology: consider sysfs_create_group return value Take return value of sysfs_create_group() into account. That function got called in case of CPU_ONLINE notification. Since callbacks are not allowed to fail on CPU_ONLINE notification do the sysfs group creation on CPU_UP_PREPARE notification. Also remember if creation succeeded in a bitmask. So it's possible to know whether it's legal to call sysfs_remove_group or not. In addition some other minor stuff: - since CPU_UP_PREPARE might fail add CPU_UP_CANCELED handling as well. - use hotcpu_notifier instead of register_hotcpu_notifier. - #ifdef code that isn't needed in the !CONFIG_HOTPLUG_CPU case. Signed-off-by: Heiko Carstens Acked-by: Cornelia Huck Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 289535334646796fe41f199718e4a731f7411a92 Author: Benjamin Herrenschmidt Date: Wed Nov 8 19:46:14 2006 -0800 Driver core: Call platform_notify_remove later Move the call to platform_notify_remove() to after the call to bus_remove_device(), where it belongs. It's bogus to notify the platform of removal while drivers are still attached to the device and possibly still operating since the platform might use this callback to tear down some resources used by the driver (ACPI bits, iommu table, ...) Signed-off-by: Benjamin Herrenschmidt Cc: "Brown, Len" Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 465ae641e4a3e5028aa9c85d3843259aa28a22ce Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:18:42 2006 +1100 ACPI: Change ACPI to use dev_archdata instead of firmware_data Change ACPI to use dev_archdata instead of firmware_data This patch changes ACPI to use the new dev_archdata on i386, x86_64 and ia64 (is there any other arch using ACPI ?) to store it's acpi_handle. It also removes the firmware_data field from struct device as this was the only user. Only build-tested on x86 Signed-off-by: Benjamin Herrenschmidt Cc: Len Brown Signed-off-by: Greg Kroah-Hartman commit c6dbaef22a2f78700e242915a13218dd780c89ff Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:18:39 2006 +1100 Driver core: add dev_archdata to struct device Add arch specific dev_archdata to struct device Adds an arch specific struct dev_arch to struct device. This enables architecture to add specific fields to every device in the system, like DMA operation pointers, NUMA node ID, firmware specific data, etc... Signed-off-by: Benjamin Herrenschmidt Acked-by: Andi Kleen Acked-By: David Howells Signed-off-by: Greg Kroah-Hartman commit d80f19fab89cba8a6d16193154c8ff3edab00942 Author: Greg Kroah-Hartman Date: Mon Aug 7 22:19:37 2006 -0700 Driver core: convert sound core to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. It also makes the struct sound_card to show up as a "real" device where all the different sound class devices are placed as childs and different card attribute files can hang off of. /sys/class/sound is still a flat directory, but the symlink targets of all devices belonging to the same card, point the the /sys/devices tree below the new card device object. Thanks to Kay for the updates to this patch. Signed-off-by: Kay Sievers Acked-by: Jaroslav Kysela Signed-off-by: Greg Kroah-Hartman commit ebf644c4623bc3eb57683199cd2b9080028b0f6f Author: Greg Kroah-Hartman Date: Tue Jul 25 17:13:31 2006 -0700 Driver core: change mem class_devices to be real devices Signed-off-by: Greg Kroah-Hartman commit 78cde0887930f5d11a56fc51b013f2672fba0e6f Author: Greg Kroah-Hartman Date: Thu Sep 14 07:30:59 2006 -0700 Driver core: convert fb code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit e55c8790d40fdbc6887b4e3e52afefe4b03f1311 Author: Greg Kroah-Hartman Date: Thu Sep 14 07:30:59 2006 -0700 Driver core: convert firmware code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit fcaf71fd51f9cfc504455d3e19ec242e4b2073ed Author: Greg Kroah-Hartman Date: Tue Sep 12 17:00:10 2006 +0200 Driver core: convert mmc code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit 04880edae5e1027d61241beb5ac37b520755f2ab Author: Greg Kroah-Hartman Date: Tue Sep 12 17:00:10 2006 +0200 Driver core: convert ppdev code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit 9a6a2a5e0b57d25c1bf6eb9b8c958940e156b059 Author: Greg Kroah-Hartman Date: Tue Sep 12 17:00:10 2006 +0200 Driver core: convert PPP code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit 07accdc18e014cad945013886ee34e09f859f88a Author: Greg Kroah-Hartman Date: Mon Aug 7 22:19:37 2006 -0700 Driver core: convert cpuid code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit a271aaf15f492d202def1b34e447107b60fe4ece Author: Greg Kroah-Hartman Date: Mon Aug 7 22:19:37 2006 -0700 Driver core: convert msr code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit ac11d0601bbe73c92e31b393eeb1225593788d4c Author: Greg Kroah-Hartman Date: Mon Jul 3 13:46:24 2006 -0700 I2C: convert i2c-dev to use struct device instead of struct class_device As class_device is going away eventually... Cc: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit 38ca6c34d385f143027ff40dd271c61adcc9b23c Author: Greg Kroah-Hartman Date: Mon Aug 7 22:19:37 2006 -0700 Driver core: convert raw device code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit 01107d343076c34b9e1ce5d073292bd7f3097fda Author: Greg Kroah-Hartman Date: Mon Aug 7 22:19:37 2006 -0700 Driver core: convert tty core to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Also fixes up the isdn drivers that were putting something in the class device's directory. Signed-off-by: Greg Kroah-Hartman commit 94fbcded4ea0dc14cbfb222a5c68372f150d1476 Author: Greg Kroah-Hartman Date: Thu Jul 27 16:16:04 2006 -0700 Driver core: change misc class_devices to be real devices This also ment that some of the misc drivers had to also be fixed up as they were assuming the device was a class_device. Signed-off-by: Greg Kroah-Hartman commit cd15422b9f39155e2d9ea56ae95c6f62aa5df42e Author: Greg Kroah-Hartman Date: Mon Aug 7 22:19:37 2006 -0700 Driver core: convert vc code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit 805952a889c4d0fdab23307c14c5ce9571f81233 Author: Greg Kroah-Hartman Date: Mon Aug 7 22:19:37 2006 -0700 Driver core: convert vt code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit 805fab474ed75f9603dbde6fa74a2976868b4bd2 Author: Kay Sievers Date: Thu Sep 14 11:23:28 2006 +0200 CONFIG_SYSFS_DEPRECATED - class symlinks Turn off class symlinks CONFIG_SYSFS_DEPRECATED is enabled. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit a87cb2ac4a78c590583b52a3ed196adc6c25b6c9 Author: Kay Sievers Date: Thu Sep 14 11:23:28 2006 +0200 CONFIG_SYSFS_DEPRECATED - PHYSDEV* uevent variables Disable the PHYSDEV* uevent variables if CONFIG_SYSFS_DEPRECATED is enabled. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 99ef3ef8d5f2f5b5312627127ad63df27c0d0d05 Author: Kay Sievers Date: Thu Sep 14 11:23:28 2006 +0200 CONFIG_SYSFS_DEPRECATED - device symlinks Turn off device symlinks CONFIG_SYSFS_DEPRECATED is enabled. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit b9cafc7d5b8af0c71896f60dfcff40c71bd38a9a Author: Kay Sievers Date: Thu Sep 14 11:23:28 2006 +0200 CONFIG_SYSFS_DEPRECATED - bus symlinks Turn off the bus symlinks if CONFIG_SYSFS_DEPRECATED is enabled Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 40fa54226f518a9bc97ed1d711c0016e416e3782 Author: Greg Kroah-Hartman Date: Tue Oct 24 00:37:58 2006 +0100 Driver core: make old versions of udev work properly If CONFIG_SYSFS_DEPRECATED is enabled, old versions of udev will work properly with devices that are associated with a class. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 88a22c985e3545c55c9779971007f0f29f912519 Author: Kay Sievers Date: Thu Sep 14 11:23:28 2006 +0200 CONFIG_SYSFS_DEPRECATED Provide a way to support older versions of udev that are shipped in older distros. If this option is disabled, it will also turn off the compatible symlinks in sysfs that older programs might rely on. When in doubt, or if running a distro older than 2006, say Yes here. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit f0ee61a6cecd100301a60d99feb187776533b2a2 Author: Greg Kroah-Hartman Date: Mon Oct 23 10:40:54 2006 -0700 Driver Core: Move virtual_device_parent() to core.c It doesn't need to be global or in device.h Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 1901fb2604fbcd53201f38725182ea807581159e Author: Kay Sievers Date: Sat Oct 7 21:55:55 2006 +0200 Driver core: fix "driver" symlink timing Create the "driver" link before the child device may be created by the probing logic. This makes it possible for userspace (udev), to determine the driver property of the parent device, at the time the child device is created. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 116af378201ef793424cd10508ccf18b06d8a021 Author: Benjamin Herrenschmidt Date: Wed Oct 25 13:44:59 2006 +1000 Driver core: add notification of bus events I finally did as you suggested and added the notifier to the struct bus_type itself. There are still problems to be expected is something attaches to a bus type where the code can hook in different struct device sub-classes (which is imho a big bogosity but I won't even try to argue that case now) but it will solve nicely a number of issues I've had so far. That also means that clients interested in registering for such notifications have to do it before devices are added and after bus types are registered. Fortunately, most bus types that matter for the various usage scenarios I have in mind are registerd at postcore_initcall time, which means I have a really nice spot at arch_initcall time to add my notifiers. There are 4 notifications provided. Device being added (before hooked to the bus) and removed (failure of previous case or after being unhooked from the bus), along with driver being bound to a device and about to be unbound. The usage I have for these are: - The 2 first ones are used to maintain a struct device_ext that is hooked to struct device.firmware_data. This structure contains for now a pointer to the Open Firmware node related to the device (if any), the NUMA node ID (for quick access to it) and the DMA operations pointers & iommu table instance for DMA to/from this device. For bus types I own (like IBM VIO or EBUS), I just maintain that structure directly from the bus code when creating the devices. But for bus types managed by generic code like PCI or platform (actually, of_platform which is a variation of platform linked to Open Firmware device-tree), I need this notifier. - The other two ones have a completely different usage scenario. I have cases where multiple devices and their drivers depend on each other. For example, the IBM EMAC network driver needs to attach to a MAL DMA engine which is a separate device, and a PHY interface which is also a separate device. They are all of_platform_device's (well, about to be with my upcoming patches) but there is no say in what precise order the core will "probe" them and instanciate the various modules. The solution I found for that is to have the drivers for emac to use multithread_probe, and wait for a driver to be bound to the target MAL and PHY control devices (the device-tree contains reference to the MAL and PHY interface nodes, which I can then match to of_platform_devices). Right now, I've been polling, but with that notifier, I can more cleanly wait (with a timeout of course). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Greg Kroah-Hartman commit 2b290da053608692ea206507d993b70c39d2cdea Author: Adrian Bunk Date: Thu Nov 16 13:16:23 2006 +0100 PCI: make arch/i386/pci/common.c:pci_bf_sort static This patch makes the needlessly global pci_bf_sort static. Signed-off-by: Adrian Bunk Acked-by: Matt Domsch Signed-off-by: Greg Kroah-Hartman commit b0d974e90d6f9fbf3a926defbbc76543cff74426 Author: Adrian Bunk Date: Fri Nov 17 02:19:25 2006 +0100 PCI: ibmphp_pci.c: fix NULL dereference The correct order is: NULL check before dereference Spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 9d167dc367f22c07285137370816b83b4be9c697 Author: Kenji Kaneshige Date: Mon Nov 13 15:13:09 2006 -0800 pciehp: remove unnecessary pci_disable_msi This patch fixes the problem that "irq XX: nobody cared" kernel oops is reported when pciehp is once rmmoded and insmoded again. The cause of this problem is pciehp driver calls pci_disable_msi() at controller release time, even though it must be done by PCI Express Port Bus driver. This patch removes unnecessary pci_disable_msi() call from pciehp driver. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 407f452b05f9e5d019c07077d05238bca1b45c4c Author: Kenji Kaneshige Date: Mon Nov 13 15:13:00 2006 -0800 pciehp: remove unnecessary free_irq This patch fixes the problem that the following error messages is reported when pciehp driver is rmmoded. Trying to free already-free IRQ XX The cause of this problem is that pciehp driver is doing unknown 2nd free_irq at driver unloading. This patch removes this unknown 2nd free_irq call. Note: The pciehp driver should be adapted to standard device driver mode. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit a57ed79ef1b71f6da44ebeabb41d019d172fb261 Author: John Rose Date: Mon Nov 13 15:12:52 2006 -0800 PCI: rpaphp: change device tree examination Change the criterion that RPA PCI Hotplug and RPA DLPAR use when determining the hotplug capabilities of a given device node. The "device_type" property is less consistent than "name" across PCI nodes on newer hardware. Signed-off-by: John Rose Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit ac9e98918776d8fa6dc38bfa6d298a7dbcbac2cb Author: Rolf Eike Beer Date: Mon Nov 13 15:12:45 2006 -0800 PCI: Change memory allocation for acpiphp slots Change memory allocation for acpiphp slots Change the "struct slot" that acpiphp uses for managing it's slots to directly contain the memory for the needed struct hotplug_slot_info and the slot's name. This way we need only two memory allocations per slot instead of four. While we are at it: make_slot_name() is just a wrapper around snprintf() knowing the right arguments to call it. Since the function makes just one function call and is only called from one place I inlined it by hand. Finally this fixes a possible bug waiting for someone to hit it. There were two unused local variables in acpiphp_register_hotplug_slot(). gcc did not find them because they were used in memory allocations with sizeof(*var). They had the same types as the target of the allocation, but nevertheless this was just weird. Signed-off-by: Rolf Eike Beer Acked-by: Matthew Wilcox Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit adbc2a102252994c36102008293b52760613d6c3 Author: Jason Gaston Date: Wed Nov 22 15:19:12 2006 -0800 i2c-i801: SMBus patch for Intel ICH9 This updated patch adds the Intel ICH9 LPC and SMBus Controller DID's. Thi= s patch relies on the irq ICH9 patch to pci_ids.h. Signed-off-by: Jason Gaston Signed-off-by: Greg Kroah-Hartman commit 3b59d52d8c7925e7a9a396f2e31a66eb060c6c37 Author: Jason Gaston Date: Wed Nov 22 15:15:08 2006 -0800 PCI: irq: irq and pci_ids patch for Intel ICH9 This updated patch adds the Intel ICH9 LPC and SMBus Controller DID's. Signed-off-by: Jason Gaston Signed-off-by: Greg Kroah-Hartman commit 95ddc5f25590e31843a09357365d5cbc6ec978db Author: Inaky Perez-Gonzalez Date: Wed Nov 22 12:40:32 2006 -0800 PCI: pci_{enable,disable}_device() nestable ports Change drivers/message/i20 pci driver to simply do a nestable enable()/disable() instead of checking for it. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit bae94d02371c402408a4edfb95e71e88dbd3e973 Author: Inaky Perez-Gonzalez Date: Wed Nov 22 12:40:31 2006 -0800 PCI: switch pci_{enable,disable}_device() to be nestable Changes the pci_{enable,disable}_device() functions to work in a nested basis, so that eg, three calls to enable_device() require three calls to disable_device(). The reason for this is to simplify PCI drivers for multi-interface/capability devices. These are devices that cram more than one interface in a single function. A relevant example of that is the Wireless [USB] Host Controller Interface (similar to EHCI) [see http://www.intel.com/technology/comms/wusb/whci.htm]. In these kind of devices, multiple interfaces are accessed through a single bar and IRQ line. For that, the drivers map only the smallest area of the bar to access their register banks and use shared IRQ handlers. However, because the order at which those drivers load cannot be known ahead of time, the sequence in which the calls to pci_enable_device() and pci_disable_device() cannot be predicted. Thus: 1. driverA starts pci_enable_device() 2. driverB starts pci_enable_device() 3. driverA shutdown pci_disable_device() 4. driverB shutdown pci_disable_device() between steps 3 and 4, driver B would loose access to it's device, even if it didn't intend to. By using this modification, the device won't be disabled until all the callers to enable() have called disable(). This is implemented by replacing 'struct pci_dev->is_enabled' from a bitfield to an atomic use count. Each caller to enable increments it, each caller to disable decrements it. When the count increments from 0 to 1, __pci_enable_device() is called to actually enable the device. When it drops to zero, pci_disable_device() actually does the disabling. We keep the backend __pci_enable_device() for pci_default_resume() to use and also change the sysfs method implementation, so that userspace enabling/disabling the device doesn't disable it one time too much. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 039d09a845209122c5193e650ab2d8b3c849ca7c Author: Amol Lad Date: Tue Oct 17 10:02:50 2006 +0530 PCI: arch/i386/kernel/pci-dma.c: ioremap balanced with iounmap ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Tested (compilation only): - using allmodconfig - making sure the files are compiling without any warning/error due to new changes Signed-off-by: Amol Lad Signed-off-by: Greg Kroah-Hartman commit 7edab2f0876ff6a38e10a88c9aca20180aad307c Author: Randy Dunlap Date: Tue Oct 17 10:17:58 2006 -0700 pci/i386: style cleanups Mostly CodingStyle cleanups for arch/i386/pci/i386.c: - fit in 80 columns; - use a #defined value instead of an inline constant; Also change one resource_size_t (DBG) printk from %08lx to %lx since it can be more than 32 bits (more than 8 hexits). Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 7ea7e98fd8d02351c43ef4ab35d70f3aaa26c31d Author: Matthew Wilcox Date: Thu Oct 19 09:41:28 2006 -0600 PCI: Block on access to temporarily unavailable pci device The existing implementation of pci_block_user_cfg_access() was recently criticised for providing out of date information and for returning errors on write, which applications won't be expecting. This reimplementation uses a global wait queue and a bit per device. I've open-coded prepare_to_wait() / finish_wait() as I could optimise it significantly by knowing that the pci_lock protected us at all points. It looked a bit funny to be doing a spin_unlock_irqsave(); schedule(), so I used spin_lock_irq() for the _user versions of pci_read_config and pci_write_config. Not carrying a flags pointer around made the code much less nasty. Attempts to block an already blocked device hit a BUG() and attempts to unblock an already unblocked device hit a WARN(). If we need to block access to a device from userspace, it's because it's unsafe for even another bit of the kernel to access the device. An attempt to block a device for a second time means we're about to access the device to perform some other operation, which could provoke undefined behaviour from the device. Signed-off-by: Matthew Wilcox Acked-by: Adam Belay Acked-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 50bf14b3ff05fb6e10688021b96f95d30a300f8d Author: Akinobu Mita Date: Wed Nov 8 19:53:59 2006 -0800 pci: fix __pci_register_driver error handling __pci_register_driver() error path forgot to unwind. driver_unregister() needs to be called when pci_create_newid_file() failed. Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 0dcb2b7e722f62b886f28b01150860de67d219fa Author: Kristen Carlson Accardi Date: Mon Oct 30 13:08:12 2006 -0800 pci: clear osc support flags if no _OSC method So it looks like pci aer code will call pci_osc_support_set to tell the firmware about OSC_EXT_PCI_CONFIG_SUPPORT flag. that causes ctrlset_buf[OSC_SUPPORT_TYPE] to evaluate to true when pciehp calls pci_osc_control_set() is called (to attempt to use OSC to gain native pcie control from firmware), regardless of whether or not _OSC was actually successfully executed. That causes this section of code: if (ctrlset_buf[OSC_SUPPORT_TYPE] && ((global_ctrlsets & ctrlset) != ctrlset)) { return AE_SUPPORT; } to be hit. This patch will reset the OSC_SUPPORT_TYPE field if _OSC fails, and then would allow pciehp to go ahead and try to run _OSC again. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 0a9dee2739fd4385e83c3316e3f3bee641796638 Author: Akinobu Mita Date: Mon Oct 30 13:08:04 2006 -0800 acpiphp: fix missing acpiphp_glue_exit() acpiphp_glue_exit() needs to be called to unwind when no slots found. (It fixes data corruption when reloading acpiphp driver with no such devices) Signed-off-by: Akinobu Mita Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 467c442f092e22acf86a3b4ad4863d097d7257da Author: Akinobu Mita Date: Mon Oct 30 13:07:58 2006 -0800 acpiphp: fix use of list_for_each macro This patch fixes invalid usage of list_for_each() list_for_each (node, &bridge_list) { bridge = (struct acpiphp_bridge *)node; ... } This code works while the member of list node is located at the head of struct acpiphp_bridge. Signed-off-by: Akinobu Mita Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit a2302c68d923537436b1114aa207787c1a31bd50 Author: John Keller Date: Wed Oct 4 16:49:52 2006 -0500 Altix: Initial ACPI support - ROM shadowing. Support a shadowed ROM when running with an ACPI capable PROM. Define a new dev.resource flag IORESOURCE_ROM_BIOS_COPY to describe the case of a BIOS shadowed ROM, which can then be used to avoid pci_map_rom() making an unneeded call to pci_enable_rom(). Signed-off-by: John Keller Signed-off-by: Greg Kroah-Hartman commit 9f581f162e2b304be25dee49bf3945d4ed65dfb6 Author: John Keller Date: Wed Oct 4 16:49:35 2006 -0500 Altix: SN ACPI hotplug support. A few minor changes to the way slot/device fixup is done. No need to be calling sn_pci_controller_fixup(), as a root bus cannot be hotplugged. Signed-off-by: John Keller Signed-off-by: Greg Kroah-Hartman commit 8ea6091f500162e97687d7acf925f84202066b8d Author: John Keller Date: Wed Oct 4 16:49:25 2006 -0500 Altix: Add initial ACPI IO support First phase in introducing ACPI support to SN. In this phase, when running with an ACPI capable PROM, the DSDT will define the root busses and all SN nodes (SGIHUB, SGITIO). An ACPI bus driver will be registered for the node devices, with the acpi_pci_root_driver being used for the root busses. An ACPI vendor descriptor is now used to pass platform specific information for both nodes and busses, eliminating the need for the current SAL calls. Also, with ACPI support, SN fixup code is no longer needed to initiate the PCI bus scans, as the acpi_pci_root_driver does that. However, to maintain backward compatibility with non-ACPI capable PROMs, none of the current 'fixup' code can been deleted, though much restructuring has been done. For example, the bulk of the code in io_common.c is relocated code that is now common regardless of what PROM is running, while io_acpi_init.c and io_init.c contain routines specific to an ACPI or non ACPI capable PROM respectively. A new pci bus fixup platform vector has been created to provide a hook for invoking platform specific bus fixup from pcibios_fixup_bus(). The size of io_space[] has been increased to support systems with large IO configurations. Signed-off-by: John Keller Signed-off-by: Greg Kroah-Hartman commit e08cf02f32dff732b2be0c9755cf5eb676f88e48 Author: Matthew Wilcox Date: Tue Oct 10 08:01:22 2006 -0600 PCI: Delete unused extern in powermac/pci.c This file no longer uses pci_cache_line_size, so delete the declaration Signed-off-by: Matthew Wilcox Cc: Benjamin Herrenschmidt Acked-by: Jeff Garzik Signed-off-by: Greg Kroah-Hartman commit edb2d97eb57b7a21c9256260562de6a65dda86cc Author: Matthew Wilcox Date: Tue Oct 10 08:01:21 2006 -0600 PCI: Replace HAVE_ARCH_PCI_MWI with PCI_DISABLE_MWI pSeries is the only architecture left using HAVE_ARCH_PCI_MWI and it's really inappropriate for its needs. It really wants to disable MWI altogether. So here are a pair of stub implementations for pci_set_mwi and pci_clear_mwi. Also rename pci_generic_prep_mwi to pci_set_cacheline_size since that better reflects what it does. Signed-off-by: Matthew Wilcox Cc: Paul Mackerras Acked-by: Jeff Garzik Signed-off-by: Greg Kroah-Hartman commit ebf5a24829def5d066922ceebde61dd57fdc6b1e Author: Matthew Wilcox Date: Tue Oct 10 08:01:20 2006 -0600 PCI: Use pci_generic_prep_mwi on sparc64 The setting of the CACHE_LINE_SIZE register in sparc64's pci initialisation code isn't quite adequate as the device may have incompatible requirements. The generic code tests for this, so switch sparc64 over to using it. Since sparc64 has different L1 cache line size and PCI cache line size, it would need to override the generic code like i386 and ia64 do. We know what the cache line size is at compile time though, so introduce a new optional constant PCI_CACHE_LINE_BYTES. Signed-off-by: Matthew Wilcox Signed-off-by: David Miller Acked-by: Jeff Garzik Signed-off-by: Greg Kroah-Hartman commit 3efe2d84c8d909567c7976a7106114127b8c3470 Author: Matthew Wilcox Date: Tue Oct 10 08:01:19 2006 -0600 PCI: Use pci_generic_prep_mwi on ia64 The pci_generic_prep_mwi() code does everything that pcibios_prep_mwi() does on ia64. All we need to do is be sure that pci_cache_line_size is set appropriately, and we can delete pcibios_prep_mwi(). Using SMP_CACHE_BYTES as the default was wrong on uniprocessor machines as it is only 8 bytes. The default in the generic code of L1_CACHE_BYTES is at least as good. Signed-off-by: Matthew Wilcox Acked-by: Jeff Garzik Signed-off-by: Greg Kroah-Hartman commit 368c73d4f689dae0807d0a2aa74c61fd2b9b075f Author: Alan Cox Date: Wed Oct 4 00:41:26 2006 +0100 PCI: quirks: fix the festering mess that claims to handle IDE quirks The number of permutations of crap we do is amazing and almost all of it has the wrong effect in 2.6. At the heart of this is the PCI SFF magic which says that compatibility mode PCI IDE controllers use ISA IRQ routing and hard coded addresses not the BAR values. The old quirks variously clears them, sets them, adjusts them and then IDE ignores the result. In order to drive all this garbage out and to do it portably we need to handle the SFF rules directly and properly. Because we know the device BAR 0-3 are not used in compatibility mode we load them with the values that are implied (and indeed which many controllers actually thoughtfully put there in this mode anyway). This removes special cases in the IDE layer and libata which now knows that bar 0/1/2/3 always contain the correct address. It means our resource allocation map is accurate from boot, not "mostly accurate" after ide is loaded, and it shoots lots of code. There is also lots more code and magic constant knowledge to shoot once this is in and settled. Been in my test tree for a while both with drivers/ide and with libata. Wants some -mm shakedown in case I've missed something dumb or there are corner cases lurking. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit cc692a5f1e9816671b77da77c6d6c463156ba1c7 Author: Stephen Hemminger Date: Wed Nov 8 16:17:15 2006 -0800 PCI: save/restore PCI-X state Shouldn't PCI-X state be saved/restored? No device really needs this right now. qla24xx (fc HBA) and mthca (infiniband) don't do suspend, and sky2 resets its tweaks when links are brought up. Signed-off-by: Stephen Hemminger Signed-off-by: Greg Kroah-Hartman commit e65e5fb5ceb02aaea7b65bf8b3b0d0c9057718b6 Author: Michael Ellerman Date: Tue Nov 7 18:21:21 2006 +1100 PCI: Make some MSI-X #defines generic Move some MSI-X #defines into pci_regs.h so they can be used outside of drivers/pci. Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit 009af1ff78bfc30b9a27807dd0207fc32848218a Author: Greg Kroah-Hartman Date: Fri Oct 27 16:12:30 2006 -0700 PCI: Let PCI_MULTITHREAD_PROBE not be broken It's not really broken, but people keep running into other problems caused by it. Re-enable it so that the drivers get stress tested. Signed-off-by: Greg Kroah-Hartman commit 94fcda1f8ab5e0cacc381c5ca1cc9aa6ad523576 Author: Alan Stern Date: Mon Nov 20 11:38:46 2006 -0500 usbcore: remove unused argument in autosuspend Thanks to several earlier patches, usb_autosuspend_device() and usb_autoresume_device() are never called with a second argument other than 1. This patch (as819) removes the now-redundant argument. It also consolidates some common code between those two routines, putting it into a new subroutine called usb_autopm_do_device(). And it includes a sizable kerneldoc update for the affected functions. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit ee49fb5dc89d34f1794ac9362fa97c1a640f7ddd Author: Alan Stern Date: Wed Nov 22 16:55:54 2006 -0500 USB: keep count of unsuspended children This patch (as818b) simplifies autosuspend processing by keeping track of the number of unsuspended children of each USB hub. This will permit us to avoid a good deal of unnecessary work all the time; we will no longer have to create a bunch of workqueue entries to carry out autosuspend requests, only to have them fail because one of the hub's children isn't suspended. The basic idea is simple. There already is a usage counter in the usb_device structure for preventing autosuspends. The patch just increments that counter for every unsuspended child. There's only one tricky part: When a device disconnects we need to remember whether it was suspended at the time (leave the counter alone) or not (decrement the counter). Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit d25450c68767481f7c9cc4823a6da8235db40be6 Author: Alan Stern Date: Mon Nov 20 11:14:30 2006 -0500 USB hub: simplify remote-wakeup handling This patch (as817) simplifies the remote-wakeup processing in the hub driver. Now instead of using a specialized code path, it relies on the standard USB resume routines. The hub_port_resume() function does an initial get_port_status() to see whether the port has already resumed itself (as it does when a remote-wakeup request is sent). This will slow down handling of other resume events slightly, but not enough to matter. The patch also changes the hub_port_status() routine, making it return an error if a short reply is received. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit ce3615879ae85373c03744b45b7c2d7ae5e29b2a Author: Alan Stern Date: Mon Nov 20 11:12:22 2006 -0500 USB: struct usb_device: change flag to bitflag This patch (as816) changes an existing flag in the usb_device structure to a bitflag, preparing the way for more bitflags to come in the future. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 1f9fc882d92f3ff390455836f98d7ddc36d4e4c3 Author: Alan Stern Date: Mon Nov 20 11:06:59 2006 -0500 OHCI: make autostop conditional on CONFIG_PM Unlike UHCI, OHCI does not exert any DMA load on the system when no devices are connected. Consequently there is no advantage to doing an autostop other than the power savings, so we shouldn't compile the necessary code unless CONFIG_PM is enabled. This patch (as820) makes the root-hub suspend and resume routines conditional on CONFIG_PM. It also prevents autostop from activating if the device_may_wakeup flag isn't set; some people use this flag to alert the driver about Resume-Detect bugs in the hardware. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 40f122f343797d02390c5a157372cac0c5b50bb7 Author: Alan Stern Date: Thu Nov 9 14:44:33 2006 -0500 USB: Add autosuspend support to the hub driver This patch (as742b) adds autosuspend/autoresume support to the USB hub driver. The largest aspect of the change is that we no longer need a special flag for root hubs that want to be resumed. Now every hub is autoresumed whenever khubd needs to access it. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 8c03356a559ced6fa78931f498193f776d67e445 Author: Alan Stern Date: Thu Nov 9 14:42:16 2006 -0500 EHCI: Fix root-hub and port suspend/resume problems This patch (as738b) fixes numerous problems in the controller/root-hub suspend/resume/remote-wakeup support in ehci-hcd: The bus_resume() routine should wake up only the ports that were suspended by bus_suspend(). Ports that were already suspended should remain that way. The interrupt mask is used to detect loss of power in the bus_resume() routine (if the mask is 0 then power was lost). However bus_suspend() always sets the mask to 0. Instead the mask should retain its normal value, with port-change-detect interrupts disabled if remote wakeup is turned off. The interrupt mask should be reset to its correct value at the end of bus_resume() regardless of whether power was lost. bus_resume() reinitializes the operational registers if power was lost. However those registers are not in the aux power well, hence they can lose their values whenever the controller is put into D3. They should always be reinitialized. When a port-change interrupt occurs and the root hub is suspended, the interrupt handler should request a root-hub resume instead of starting up the controller all by itself. There's no need for the interrupt handler to request a root-hub resume every time a suspended port sends a remote-wakeup request. The pci_resume() method doesn't need to check for connected ports when deciding whether or not to reset the controller. It can make that decision based on whether Vaux power was maintained. Even when the controller does not need to be reset, pci_resume() must undo the effect of pci_suspend() by re-enabling the interrupt mask. If power was lost, pci_resume() must not call ehci_run(). At this point the root hub is still supposed to be suspended, not running. It's enough to rewrite the command register and set the configured_flag. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit c066475e1fe3b3afbd613ddf5f1eca9be4fb6de0 Author: Greg Kroah-Hartman Date: Fri Aug 11 01:55:12 2006 -0700 USB: create a new thread for every USB device found during the probe sequence Might speed up some systems. If nothing else, a bad driver should not take the whole USB subsystem down with it. Signed-off-by: Greg Kroah-Hartman commit 958e8741bf9ff5d0f0b82b7cef578e96c764a288 Author: Greg Kroah-Hartman Date: Tue Apr 9 12:14:34 2002 -0700 USB: add driver for the USB debug devices It's a simple usb-serial driver that just creates a tty device to read and write from. Signed-off-by: Greg Kroah-Hartman commit 7e27780ffdf5fcf8675dfb278ca316a1f2b7e179 Author: Sarah Bailey Date: Sat Nov 18 22:30:16 2006 -0800 USB: added dynamic major number for USB endpoints This patch is an update for Greg K-H's proposed usbfs2: http://sourceforge.net/mailarchive/message.php?msg_id=19295229 It creates a dynamic major for USB endpoints and fixes the endpoint minor calculation. Signed-off-by: Sarah Bailey Signed-off-by: Greg Kroah-Hartman commit 10c8211c634f759633ffcdc3b0e2913963b32abc Author: Oliver Neukum Date: Thu Nov 23 15:40:17 2006 +0100 USB: pegasus error path not resetting task's state there is an error path in the pegasus driver which can leave the task in TASK_UNINTERRUPTIBLE. Depending on when it schedules next, this can be bad. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 9aa742ef7c1a7ff8e6df92a93ce3688e99fa66e3 Author: Oliver Neukum Date: Thu Nov 23 12:45:31 2006 +0100 USB: endianness fix for asix.c the latest update for asix.c reverted some endianness fixes. This reinstates them. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 8feabf70f51f3f6772e2beda608a0ebca1dbf46a Author: Adrian Bunk Date: Fri Nov 24 03:24:03 2006 +0100 USB: build the appledisplay driver We do already have both the code and a config option, so why not build this driver? ;-) Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 7ac9da10af7ffd94cfd07e097b93d588bbd32b75 Author: Burman Yan Date: Wed Nov 22 20:54:38 2006 +0200 USB serial: replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman Signed-off-by: Greg Kroah-Hartman commit afd21ee5abd0fef567dbfa234099304886ff83ce Author: Julien BLACHE Date: Wed Nov 15 00:00:17 2006 -0500 USB: hid-core: canonical defines for Apple USB device IDs Use canonical defines for the Apple USB device IDs. Also add the Geyser IV devices missing in my previous patch. Signed-off-by: Julien BLACHE Acked-by: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit 54ecf1fba683f779a1b36abed9c843decafc7d5b Author: Mariusz Kozlowski Date: Mon Nov 6 17:37:20 2006 +0100 USB: idmouse cleanup Just digging through code and found these needless variable initializations. So here is the patch. Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 8bb22d2bdaac415965e7be1af8da2b8f3ee35f31 Author: Adrian Bunk Date: Tue Nov 21 22:02:54 2006 +0100 USB: make drivers/usb/core/driver.c:usb_device_match() static usb_device_match() can now become static. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 7481bb8a7f2fd6b411764e0dc91713b1a58fce4c Author: David Brownell Date: Mon Nov 20 11:41:39 2006 -0800 USB: lh7a40x_udc remove double declaration Remove minor double-declaration goof. Signed-off-by: Milan Svoboda Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 827982c577cddbe50b2120e577a60f6376716900 Author: David Brownell Date: Mon Nov 20 11:38:57 2006 -0800 USB: pxa2xx_udc recognizes ixp425 rev b0 chip Make the pxa2xx_udc driver recognize a newer revision of the IXP425 chip. Signed-off-by: Milan Svoboda Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 24ced062a2965645d651ff92bc93b2c1f926474e Author: Holger Schurig Date: Fri Nov 17 22:50:15 2006 +0100 usbtouchscreen: add support for DMC TSC-10/25 devices Adds support for the DMC TSC-10 and TSC-25 usb touchscreen controllers. Signed-off-by: Holger Schurig Signed-off-by: Daniel Ritz Signed-off-by: Greg Kroah-Hartman commit 9ce8540c884c19c0f5f38c9e85d4bdc192baf321 Author: Adrian Bunk Date: Mon Nov 20 03:24:44 2006 +0100 USB: ftdi-elan.c: fixes and cleanups This patch contains the following possible cleanups: - make the needlessly global ftdi_release_platform_dev() static - remove the unused usb_ftdi_elan_read_reg() - proper prototypes for the following functions: - usb_ftdi_elan_read_pcimem() - usb_ftdi_elan_write_pcimem() Note that the misplaced prototypes for the latter ones in drivers/usb/host/u132-hcd.c were buggy. Depending on the calling convention of the architecture calling one of them could have turned your stack into garbage. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 27a3de4cfc3508b30803b7350ca6385b3c53f223 Author: Adrian Bunk Date: Mon Nov 20 03:23:54 2006 +0100 USB: make drivers/usb/host/u132-hcd.c:u132_hcd_wait static This patch makes the needlessly global "u132_hcd_wait" static. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 2e46b74852446404d64b0b00ce872724bfa627ab Author: Mariusz Kozlowski Date: Fri Nov 17 17:49:22 2006 +0100 usb: cypress_m8 init error path fix If at some point cypress_init() fails deregister only the resources that were registered until that point. Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 93f1a47c4af34c4ee014b3d2aae70089b3b69f72 Author: David Brownell Date: Thu Nov 16 23:34:58 2006 -0800 USB: add ehci_hcd.ignore_oc parameter Certain boards seem to like to issue false overcurrent notifications, for example on ports that don't have anything connected to them. This looks like a hardware error, at the level of noise to those ports' overcurrent input signals (or non-debounced VBUS comparators). This surfaces to users as truly massive amounts of syslog spam from khubd (which is appropriate for real hardware problems, except for the volume from multiple ports). Using this new "ignore_oc" flag helps such systems work more sanely, by preventing such indications from getting to khubd (and spam syslog). The downside is of course that true overcurrent errors will be masked; they'll appear as spontaneous disconnects, without the diagnostics that will let users troubleshoot issues like short circuited cables. Note that the bulk of these reports seem to be with VIA southbridges, but I think some were with Intel ones. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit f0d7f27351058284f62ab4848909373c2d1f5ce8 Author: David Brownell Date: Thu Nov 16 23:56:15 2006 -0800 USB: EHCI hooks for high speed electrical tests EHCI hooks for high speed electrical tests of the root hub ports. The expectation is that a usermode program actually triggers the test, making the same control request it would make for an external hub. Tests for peripheral upstream ports would issue a different request. In all cases, the hardware needs re-initialization before it could be used "normally" again (e.g. unplug/replug, rmmod/modprobe). Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 1f26e28d3e32339ca683f087cd55a70e2befc333 Author: Alan Stern Date: Thu Nov 16 10:16:00 2006 -0500 USB: net2280: don't send unwanted zero-length packets The net2280 driver is too eager to send zero-length packets when IN tokens are received on ep0. No such packet should be sent (the driver should NAK) before the gadget driver has queued the proper response. Otherwise deferred responses are impossible. This patch (as823) makes net2280 avoid sending ZLPs for IN transfers on ep0 until a response has been submitted, and avoids stalling when an OUT packet is received before a request has been submitted for an OUT transfer on ep0. Signed-off-by: Alan Stern Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit a3b1f50ce2fdc73c7e60e04c0a2235af74deac2b Author: Mariusz Kozlowski Date: Fri Nov 17 11:53:23 2006 +0100 usb: microtek possible memleak fix Possible memleak fix on error path. The changes: - out_kfree2 and out_free_urb replaced - missing scsi_host_put() added Here it goes: Signed-off-by: Mariusz Kozlowski Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 49314378ac9b76c40f221e3e5aed866e912e7e99 Author: Jaco Kroon Date: Wed Nov 15 01:02:08 2006 -0800 USB: add Digitech USB-Storage to unusual_devs.h The mass storage device from Digitech designed for Flash Cards, as found on (for example) the GNX4 device has issues with residue, similar to the bug report at http://kerneltrap.org/node/6297. This patch adds the faulty storage device to unusual_devs.h, this not only reduces the noise in dmesg but also increases the transfer speeds by a factor of 7x for me (89kB/s -> 637kB/s). T: Bus=02 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#= 4 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=1210 ProdID=0003 Rev= 1.00 S: Manufacturer=DigiTech HMG S: Product=DigiTech Mass Storage C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms Signed-off-by: Jaco Kroon Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit db063507b40664de33a61161c90358fe6fc9565a Author: Alan Stern Date: Mon Nov 13 15:02:04 2006 -0500 USB core: fix compiler warning about usb_autosuspend_work This patch (as821) fixes a compiler warning when CONFIG_PM isn't on ("usb_autosuspend_work" defined but not used). Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 7a5c7b42d3c7b1e0085d48414ee73003d3888d1f Author: Naranjo Manuel Francisco Date: Wed Nov 15 15:14:27 2006 -0300 USB: fix aircable.c: inconsequent NULL checking > 2006/11/11, Adrian Bunk : > > The Coverity checker spotted the following in > > drivers/usb/serial/aircable.c: > > > > <-- snip --> > > > > ... > > static void aircable_read(void *params) > > { > > ... Hi everyone, Sorry for the long time response but here is the patch, I think this way should work, if anyone has any suggestion let me know. What I do now is, in case I don't have the tty available I reschedule the work, I have tried it and it works with no problem, I even tried removing the device, and didn't find anything strange. Signed-off-by: Naranjo Manuel Signed-off-by: Greg Kroah-Hartman commit 1b7be3c066ae9238996a7a861b39b0bfd5860735 Author: Alan Stern Date: Mon Nov 6 12:05:00 2006 -0500 OHCI: change priority level of resume log message All the other root-hub suspend or resume log messages, in ohci-hcd or any of the other host controller drivers, use the debug priority level. This patch (as815) makes the one single exception behave like all the rest. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 68df9de1d0e95034355283dc12056f93de8e0a79 Author: Mariusz Kozlowski Date: Wed Nov 8 15:37:04 2006 +0100 usb: usbmixer free kill urb cleanup - usb_free_urb() cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit f5e135af8737bdc57168cddb3fd83028b25c26cd Author: Mariusz Kozlowski Date: Wed Nov 8 15:37:00 2006 +0100 usb: usbmidi kill urb cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit bcb54a54033ff9359cf64e4283e4f4b92bf9132f Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:55 2006 +0100 usb: visor kill urb cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 95d4316654a7e09778ebf81e03cab7040ecca1b0 Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:51 2006 +0100 usb: usb-serial free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 9aac10ff1d9a228d05491f68f933cf6a41b9debc Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:46 2006 +0100 usb: navman kill urb cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 73135bb9154f9565e8ae294ffa73f9e871d72b47 Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:42 2006 +0100 usb: mct_u232 free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 5505c2261eb5e7a6ff851afbe7f77d54d960e83b Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:38 2006 +0100 usb: kobil_sct kill urb cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 1cadc1378fe9cdee9515842a4bf9f42228448ad2 Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:34 2006 +0100 usb: keyspan free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 9a25f44f91b621f49b459687ae49d4fed4423d0e Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:29 2006 +0100 usb: io_edgeport kill urb cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit c69694b779714b751a326d1b886087322001e86f Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:22 2006 +0100 usb: catc free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 794c944ecd468ddf8a571bd37ab7b21035965f91 Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:25 2006 +0100 usb: ftdi_sio kill urb cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 5483eb1300fc052c294a9dac57d5bf6653126efd Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:18 2006 +0100 usb: phidgetmotorcontrol free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit df43121463d2e6dde9f7e40a7720e111e4cc600e Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:07 2006 +0100 usb: phidgetkit free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit f53510e8c49d00085a820ae98ca4753d4487dbad Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:14 2006 +0100 usb: legousbtower free kill urb cleanup Hello, - usb_free_urb() cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 2891a51cc27e0eed9474668b58e4f587b9f36694 Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:03 2006 +0100 usb: auerswald free kill urb cleanup - usb_free_urb() cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 4ba0b2ed583b80cb26b9c8d8a8b418f677ec4a83 Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:58 2006 +0100 usb: usbkbd free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 6f07429fa295a04e06c93601e6c597e7a6d95495 Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:54 2006 +0100 usb: hid-core free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 2381526a793582ad18b30af0e3013ccad1a8bcdb Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:50 2006 +0100 usb: ati_remote2 free urb cleanup Hello, - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 459f836a612d28f224dbbc306ab63187014a6503 Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:46 2006 +0100 usb: ati_remote free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit f988f272fe8de462045e9f298e5b7f1e39b2e53a Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:42 2006 +0100 usb: zd1201 free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 8fd31e1d85d5c13c1273013067474ebb73ad6fd1 Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:38 2006 +0100 usb: irda-usb free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 8563650da0fb2df5755ea133d5fb182ded9d2ae8 Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:12 2006 +0100 usb: zc0301_core free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 926b1e90093688d91cbc358e5339ad2861c86e46 Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:02 2006 +0100 usb: quickcam_messenger free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 14d2707b80d6a9d1e8e92718885f99b77531b339 Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:59 2006 +0100 usb: sn9c102_core free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 90b2625a5159607e37871cd75370c189fc22d208 Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:55 2006 +0100 usb: pwc-if free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 4c6f7d4a889ad997483a4c0318111b4a506f0fe3 Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:50 2006 +0100 usb: pvrusb2-io free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 5e55d2cea80254faa6ba5c13f3053070db57b63f Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:31 2006 +0100 usb: pvrusb2-hdw free unlink urb cleanup - usb_free_urb() cleanup - usb_unlink_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 5d02d027ac2e7778011fa833b3efa50b72a23dcd Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:27 2006 +0100 usb: ttusb_dec free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 4064fe43e8bf6cfe7fc6fadfbccc7fe1fbb1f0c1 Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:22 2006 +0100 usb: cinergyT2 free kill urb cleanup - usb_free_urb() cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit ead54fcd6a6ffc0c45e318ffe8872d228bdff0e5 Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:17 2006 +0100 usb: usb-gigaset free kill urb cleanup - usb_free_urb() cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 8f21d119f457ece27a69ac1dadd655deee6f2a20 Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:09 2006 +0100 usb: iforce-usb free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 6265d62f31e42cc839f929439a95f602d70d6bf7 Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:02 2006 +0100 usb: pcwd_usb free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 3c8961ee6d93c5a2ddf34d8d8171dd685538722b Author: Mariusz Kozlowski Date: Wed Nov 8 15:33:38 2006 +0100 usb: writing_usb_driver free urb cleanup Allright. As Greg KH suggested I split this big patch into smaller ones to make the changes easier to review. Having no better idea how to split that I split it on a 'patch per file' basis. All those patches clean redundant 'if' before usb_unlink/free/kill_urb(): if (urb) usb_free_urb(urb); /* unlink / free / kill */ I decided not to touch bigger 'if's like if (urb) { usb_kill_urb(urb); usb_free_urb(urb); urb = NULL; } as that would be probably too intrusive. One of patches also fixes drivers/usb/misc/auerswald.c memleak I found when digging the code. All those patches are against 2.6.19-rc4. Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 444f4f91fda54bea57a0e31098a75f54548e8b28 Author: Mariusz Kozlowski Date: Thu Nov 16 16:38:57 2006 +0100 USB: pwc-if loop fix We should free urbs starting at [i-1] not [i]. Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 1f54a6ae79ab4369f17d6bc86eaff3125395af9c Author: Oleg Verych Date: Fri Nov 17 08:21:27 2006 +0000 usb-serial: ti_usb, TI ez430 development tool ID usb-serial: ti_usb, TI ez430 development tool ID Signed-off-by: Oleg Verych Signed-off-by: Greg Kroah-Hartman commit ad0327d680734b76c33f5438cd656bdfd26f5f5b Author: daniel@centurion.net.nz Date: Sat Nov 11 15:47:52 2006 +1300 USB: airprime: New device ID Signed-off-by: Greg Kroah-Hartman commit 54c9b2266f83dfc3d6c538417564dc74266f4dd9 Author: Adrian Bunk Date: Mon Nov 20 03:23:58 2006 +0100 USB: make drivers/usb/input/wacom_sys.c:wacom_sys_irq() static This patch makes the needlessly global wacom_sys_irq() static. Signed-off-by: Adrian Bunk Signed-off-by: Ping Cheng Signed-off-by: Greg Kroah-Hartman commit d5ec1686ba96eb75e132196c486cc0521b00f12c Author: Stephen Hemminger Date: Tue Nov 14 10:06:17 2006 -0800 USB: resume_device symbol conflict Several functions in USB core overlap with global functions. The linker appears to do the right thing, but it is bad practice and makes debugging harder. Signed-off-by: Stephen Hemminger Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit d8126a0c23b95d8f49a8f4b49191691f9a09ae4a Author: David Brownell Date: Sun Nov 12 18:09:44 2006 -0800 usb/gadget/ether.c minor manycast tweaks Minor cleanup/clarification in the ethernet gadget driver, using standard calls to test for Ethernet multicast and broadcast addresses. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 1bb5f66bb3b6c2fd7eec1cdfee9cf3f68ef83487 Author: Alan Stern Date: Mon Nov 6 11:56:13 2006 -0500 USB: Move private hub declarations out of public header file This patch (as809b) moves the declaration of the hub driver's private data structure from hub.h into the hub.c source file. Lots of other files import hub.h; they have no need to know about the details of the hub driver's private data. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit b4ee4a2309c9f811457ce44962eed753e451dc11 Author: Jean Delvare Date: Thu Nov 9 22:02:37 2006 +0100 USB: net1080: Fix && typos Fix STATUS_PACKETS_* macros, where "&&" was mistakenly used where "&" should have. Signed-off-by: Jean Delvare Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 692a186c9d5f12d43cef28d40c25247dc4f302f0 Author: Alan Stern Date: Mon Oct 30 17:07:51 2006 -0500 USB: expand autosuspend/autoresume API This patch (as814) adds usb_autopm_set_interface() to the autosuspend API. It also provides convenient wrapper routines, usb_autopm_enable() and usb_autopm_disable(), for drivers that want to specify directly whether autosuspend should be allowed. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit af4f76066d0fcb215ae389b8839d7ae37ce0e28b Author: Alan Stern Date: Mon Oct 30 17:06:45 2006 -0500 USB: autosuspend code consolidation This patch (as813) gathers together common code for USB interface autosuspend/autoresume. It also adds some simple checking at the time an autosuspend request is made, to see whether the request will fail. This way we don't add a workqueue entry when it would end up doing nothing. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 0c1ac4f25f894f9df0ffe9b912c165fb6a185a3c Author: Luiz Fernando N. Capitulino Date: Mon Oct 30 14:53:03 2006 -0300 USB: makes usb_endpoint_* functions inline. We have no benefits of having the usb_endpoint_* functions as functions, but making them inline saves text and data segment sizes: text data bss dec hex filename 14893634 3108770 1108840 19111244 1239d4c vmlinux.func 14893185 3108566 1108840 19110591 1239abf vmlinux.inline This is the result of a 2.6.19-rc3 kernel compiled with GCC 4.1.1 without CONFIG_MODULES, CONFIG_CC_OPTIMIZE_FOR_SIZE, CONFIG_REGPARM options set. USB support is fully enabled (while most of the other drivers are not), and that kernel has most of the USB code ported to use the endpoint functions. That happens because a call to those functions are expensive (in terms of bytes), while the function's size is smaller or have the same 'size' of the call. Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 6f7cd44162ca1bffd54f4090e67b9810bacb5d25 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:03:04 2006 -0300 USB: yealink: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 0472074748444529188c77f62f0714f9ff7d7556 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:03:03 2006 -0300 USB: storage: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 4d823dd21d81c29a83a4672ac92e449fc5fa5cca Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:03:02 2006 -0300 USB: usbtest: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit fc6e2544bdb1e7cb9f7ccbb16c268d61743b123c Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:03:01 2006 -0300 USB: usbnet: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 30f36ef922201cd085a598a6274ee18a360635ea Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:03:00 2006 -0300 USB: usbmouse: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit a20c314412b9e9e029a73dbb4dd951e36499eb58 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:59 2006 -0300 USB: usbkbd: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit c5dd1f94246acdf6be6796db47efba8b2a93f93e Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:58 2006 -0300 USB: speedtch: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit a742e5a7fc5b179e2482b85e875fc99192cead74 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:57 2006 -0300 USB: phidgetmotorcontrol: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 8419404949488bba4504005c0d1180fb07bef740 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:56 2006 -0300 USB: phidgetkit: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 66722a194ef96a09ac12d0fe2f9e206f86c29c9f Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:55 2006 -0300 USB: onetouch: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 240661c55646401df64411e04ba5833c411c42bc Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:54 2006 -0300 USB: legousbtower: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 4f1f1ddd73d04e8d41c010934d81122d1a632e4e Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:53 2006 -0300 USB: kobil_sct: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit a7dc218b8f61d58fcf27ee5650e340d7baff74c4 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:52 2006 -0300 USB: idmouse: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 0f12aa03972e797129c79a236d2872f2ee5d25b6 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:51 2006 -0300 USB: hid-core: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 2ae7745beac6de54a47ed19fe441f1d45aa96172 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:50 2006 -0300 USB: ftdi-elan: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 87ad46c94ec74f1750764c12744410ed524f9900 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:49 2006 -0300 USB: devices: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 45aea704d12d05f06b3f82974aa1438460f42398 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:48 2006 -0300 USB: cdc-acm: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit b333d5bfd7d3791f91c678f3f5033c82b1e2b46f Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:47 2006 -0300 USB: cdc_ether: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 16f96376174bfbcb1b40734f83f5701161a5e63b Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:46 2006 -0300 USB: appledisplay: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 377f13bf95b64cf5fb0fad0bf2b94106ad868562 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:45 2006 -0300 USB: aircable: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 565402baee99096da4d79209e450fe42d379a0ca Author: Alan Stern Date: Fri Oct 27 10:35:01 2006 -0400 USB: OHCI: remove stale testing code from root-hub resume This patch (as811) removes some stale testing code from the root-hub resume routine in ohci-hcd. It also adds a spin_lock_irq() call that inadvertently got left out of an error pathway. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 5d7efe5b3768bf53df9b87380ea68baacf11f933 Author: Eric Sesterhenn Date: Thu Oct 26 21:06:24 2006 +0200 USB: kmemdup() cleanup in drivers/usb/ replace open coded kmemdup() to save some screen space, and allow inlining/not inlining to be triggered by gcc. Signed-off-by: Eric Sesterhenn Signed-off-by: Greg Kroah-Hartman commit 052ac01aeb84d8427ba8ac3d70991ac01b009b59 Author: Alan Stern Date: Fri Oct 27 10:33:11 2006 -0400 USB: OHCI: disable RHSC inside interrupt handler This patch (as808b) moves the Root Hub Status Change interrupt-disable code in ohci-hcd back into the interrupt handler proper, to avoid the chance of adverse interactions with mediocre hardware implementations. It also deletes the root-hub status timer from within the interrupt-enable routine. There's no need to poll for status any more once interrupts are re-enabled. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit b1878440d46a0dc357ed5c9687c534e20955e940 Author: Alan Stern Date: Tue Oct 24 12:02:31 2006 -0400 USB: ohci-hcd: fix compiler warning This patch (as806) fixes a compiler warning when ohci-hcd is built with CONFIG_PM turned off. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 93c8bf45e083b89dffe3a708363c15c1b220c723 Author: Alan Stern Date: Wed Oct 18 16:41:51 2006 -0400 USB core: don't match interface descriptors for vendor-specific devices This patch (as804) makes USB driver matching ignore the interface class, subclass, and protocol if the device class is Vendor Specific. Drivers can override this policy by specifying a Vendor ID as part of the match; then vendor-specific matches are allowed. Linus Walleij has reported a problem this patch fixes. When a particular mass-storage device is switched from mass-storage mode to Media Transfer Protocol, the interface class remains set to mass-storage and usb-storage binds to it erroneously, even though the device class changes to Vendor-Specific. This may cause a problem for some drivers until their match records can be updated to include Vendor IDs. But if it does, then those records were broken to begin with. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 6d8fc4d28deaf828606c19fb743fbe94aeab4caf Author: Alan Stern Date: Wed Oct 18 12:35:24 2006 -0400 USB HID: Handle STALL on interrupt endpoint The USB HID driver doesn't include any code to handle a STALL on the interrupt endpoint. While this may be uncommon, it does happen sometimes. This patch (as805) adds a fix. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 88fafff9d73c0a506c0b08e7cd637c89d8b604e1 Author: inaky@linux.intel.com Date: Wed Oct 11 20:05:59 2006 -0700 usb hub: fix root hub code so it takes more than 15 devices per root hub Wireless USB Host Controllers accept a large number of devices per host, which shows up as a large number of ports in its root hub. When the number of ports in a hub device goes over 16, the activation of the hub fails with the cryptic message in klogd. hub 2-0:1.0: activate --> -22 Following this further, it was seen that: hub_probe() hub_configure() generates pipe number pseudo allocates buffer 'maxp' bytes in size using usb_maxpacket() The endpoint descriptor for a root hub interrupt endpoint is declared in drivers/usb/core/hcd.c:hs_rh_config_descriptor and declares it to be size two (supporting 15 devices max). hub_activate() usb_hcd_submit_urb() rh_urb_enqueue() urb->pipe is neither int nor ctl, so it errors out rh_queue_status() Returns -EINVAL because the buffer length is smaller than the minimum needed to report all the hub port bits as in accordance with USB2.0[11.12.3]. There has to be trunc((PORTS + 1 + 7) / 8) bytes of space at least. Alan Stern confirmed that the reason for reading maxpktsize and not the right amount is because some hubs are known to return more data and thus cause overflow. So this patch simply changes the code to make the interrupt endpoint's max packet size be at least the minimum required by USB_MAXCHILDREN (instead of a fixed magic number) and add documentation for that. This way we are always ahead of the limit. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 437052516779fea608261a50682b124315f48f01 Author: inaky@linux.intel.com Date: Wed Oct 11 20:05:58 2006 -0700 usb/hub: allow hubs up to 31 children Current Wireless USB host hardware (Intel i1480 for example) allows up to 22 devices to connect, thus bringing up the max number of children in the WUSB Host Controller to 22 'fake' ports. Upcoming hardware might raise that limit. Makes almost no difference to go to 31, as the bit arrays are byte-aligned (plus an extra bit in general), so 22 bits fit in 4 bytes as 31 do. As well, the only other array that depends on USB_MAXCHILDREN is 'struct usb_hub->indicator'. By declaring it 'u8' instead of 'enum hub_led_mode', we reduce the size of each entry from 4 bytes (in i386) to 1, which will add as we when are doubling USB_MAXCHILDREN (with 16 the size of that array is 64 bytes, with 31 would be 128; by using u8 that goes down to 31 bytes). Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 8b7feff881b7e9f065ddd718a6841121207c3c19 Author: Pierre Ossman Date: Tue Nov 14 22:13:13 2006 +0100 mmc: correct request error handling We need to jump to the part of just flushing the request when we cannot claim the bus. Sending commands to a bus we do not own will give unpredictable results. Signed-off-by: Pierre Ossman commit 89b4e133afea9fce333054b94d89953583a55c19 Author: Pierre Ossman Date: Tue Nov 14 22:08:16 2006 +0100 mmc: Flush block queue when removing card After mmc_block's remove function has exited, we must not touch the card structure in any way. This means we not only must remove the gendisk, we must also flush out any remaning requests already queued up. We previously removed the disk, but didn't flush it, causing oops:es when removing a card in the middle of a transfer. Signed-off-by: Pierre Ossman commit 077df884835ebf2b5db16aacd9a24691d89902a0 Author: Pierre Ossman Date: Wed Nov 8 23:06:35 2006 +0100 mmc: sdhci high speed support The SDHCI spec implies that is is incorrect to set a clock frequency above 25 MHz without setting the high speed bit. Signed-off-by: Pierre Ossman commit 7ccd266e676a3f0c6f8f897f58b684cac3dd1650 Author: Pierre Ossman Date: Wed Nov 8 23:03:10 2006 +0100 mmc: Support for high speed SD cards Modern SD cards support a clock speed of 50 MHz. Make sure we test for this capability and do the song and dance required to activate it. Activating high speed support actually modifies the TRAN_SPEED field of the CSD. But as the spec says that the cards must report 50 MHz, we might as well skip re-reading the CSD. Signed-off-by: Pierre Ossman commit 73778120c4088a0a7b59c4c378904f7a230b4820 Author: Pierre Ossman Date: Sun Oct 22 22:13:10 2006 +0200 mmc: Fix mmc_delay() function Several fixes for mmc_delay(): * Repair if-clause that was supposed to detect sub-hz delays. * Change yield() to cond_resched() as yield() no longer has the semantics we desire. * mmc_delay() is used to guarantee protocol delays, so we cannot return early (i.e. use _interruptable). Based on patch by Amol Lad. Signed-off-by: Pierre Ossman commit e45a1bd20fa5b920901879e85cdf5eda21f78d7c Author: Philip Langdale Date: Sun Oct 29 10:14:19 2006 +0100 mmc: Add support for mmc v4 wide-bus modes This change adds support for the mmc4 4-bit wide-bus mode. The mmc4 spec defines 8-bit and 4-bit transfer modes. As we do not support any 8-bit hardware, this patch only adds support for the 4-bit mode, but it can easily be built upon when the time comes. The 4-bit mode is electrically compatible with SD's 4-bit mode but the procedure for turning it on is different. This patch implements only the essential parts of the procedure as defined by the spec. Two additional steps are recommended but not compulsory. I am documenting them here so that there's a record. 1) A bus-test mechanism is implemented using dedicated mmc commands which allow for testing the functionality of the data bus at the electrical level. This is pretty paranoid and they way the commands work is not compatible with the mmc subsystem (they don't set valid CRC values). 2) MMC v4 cards can indicate they would like to draw more than the default amount of current in wide-bus modes. We currently will never switch the card into a higher draw mode. Supposedly, allowing the card to draw more current will let it perform better, but the specs seem to indicate that the card will function correctly without the mode change. Empirical testing supports this interpretation. Signed-off-by: Philip Langdale Signed-off-by: Pierre Ossman commit bce40a36de574376f41f1ff3c4d212a7da2a3c90 Author: Philip Langdale Date: Sat Oct 21 12:35:02 2006 +0200 [PATCH] mmc: Add support for mmc v4 high speed mode This adds support for the high-speed modes defined by mmc v4 (assuming the host controller is up to it). On a TI sdhci controller, it improves read speed from 1.3MBps to 2.3MBps. The TI controller can only go up to 24MHz, but everything helps. Another person has taken this basic patch and used it on a Nokia 770 to get a bigger boost because that controller can run at 48MHZ. Signed-off-by: Philip Langdale Signed-off-by: Pierre Ossman commit 9c9c26188ff9fa5f44ba5a00e01b54b539f83d1d Author: Marcin Juszkiewicz Date: Thu Nov 16 22:39:10 2006 +0100 trivial change for mmc/Kconfig: MMC_PXA does not mean only PXA255 PXA MMC driver supports not only PXA255 but also PXA250 and newer ones Signed-off-by: Marcin Juszkiewicz Signed-off-by: Pierre Ossman commit c5cb431d27237937e1b04a888bf2f8863f06fa2d Author: Juha Yrjola juha.yrjola Date: Sat Nov 11 23:42:39 2006 +0100 Make general code cleanups This patch is part of Juha Yrjola's and Komal Shah's earlier patch to make general code cleanups Signed-off-by: Carlos Eduardo Aguiar indt.org.br> Signed-off-by: Juha Yrjola solidboot.com> Signed-off-by: Komal Shah yahoo.com> Signed-off-by: Pierre Ossman commit f4204fdf05e70cdbff1f657e3ed78eddd3d6267f Author: Tony Lindgren tony Date: Sat Nov 11 23:41:54 2006 +0100 Add MMC_CAP_{MULTIWRITE,BYTEBLOCK} flags This patch is part of Tony Lindgren's earlier patch to add MMC_CAP_{MULTIWRITE,BYTEBLOCK} flags in omap.c Signed-off-by: Carlos Eduardo Aguiar indt.org.br> Signed-off-by: Tony Lindgren atomide.com> Signed-off-by: Pierre Ossman commit 81ca70343f4d85637ac19b529dbcccd1db69a41d Author: Juha Yrjola juha.yrjola Date: Sat Nov 11 23:39:20 2006 +0100 Platform device error handling cleanup This patch is part of Juha Yrjola's earlier patch to add platform device error handling and a BUG_ON to verify if host == NULL Signed-off-by: Carlos Eduardo Aguiar indt.org.br> Signed-off-by: Juha Yrjola solidboot.com> Signed-off-by: Pierre Ossman commit 0551f4df35694c7f89e00da461d7bee9769f016f Author: Juha Yrjola juha.yrjola Date: Sat Nov 11 23:38:36 2006 +0100 Move register definitions away from the header file This patch is part of Juha Yrjola's earlier patch to move register definitions away from the header file and the header file is removed. Signed-off-by: Carlos Eduardo Aguiar indt.org.br> Signed-off-by: Juha Yrjola solidboot.com> Signed-off-by: Pierre Ossman commit 3342ee8bfa9c4453208766eb8ad61ef65241a091 Author: Juha Yrjola juha.yrjola Date: Sat Nov 11 23:36:52 2006 +0100 Change OMAP_MMC_{READ,WRITE} macros to use the host pointer This patch is part of Juha Yrjola's earlier patch to change OMAP_MMC_{READ,WRITE} macros to use the host pointer Signed-off-by: Carlos Eduardo Aguiar indt.org.br> Signed-off-by: Juha Yrjola solidboot.com> Signed-off-by: Pierre Ossman commit 89783b1e44d3a6fc63be911468e09494ebbba3e3 Author: Juha Yrjola juha.yrjola Date: Sat Nov 11 23:36:01 2006 +0100 Replace base with virt_base and phys_base This patch is part of Juha Yrjola's earlier patch to replace base with virt_base and phys_base Signed-off-by: Carlos Eduardo Aguiar indt.org.br> Signed-off-by: Juha Yrjola solidboot.com> Signed-off-by: Pierre Ossman commit ab7aefd0b38297e6d2d71f43e8f81f9f4a36cdae Author: David Brownell Date: Sun Nov 12 17:55:30 2006 -0800 mmc: constify mmc_host_ops vectors Now that mmc_host_ops can be constified, update the various drivers to constify those method tables and shrink the writable data segment. Signed-off-by: David Brownell Signed-off-by: Pierre Ossman commit 87598a2bd4c4ed19b91ef163f76297f305007304 Author: Christoph Hellwig Date: Mon Nov 13 20:23:52 2006 +0100 mmc: remove kernel_thread() Replace kernel_thread() with kthread_run()/kthread_stop(). Signed-off-by: Christoph Hellwig Signed-off-by: Pierre Ossman commit bb37b94c68e7b37eecea8576039ae9396ca07839 Author: Jens Axboe Date: Fri Dec 1 10:42:33 2006 +0100 [BLOCK] Cleanup unused variable passing - ->init_queue() does not need the elevator passed in - ->put_request() is a hot path and need not have the queue passed in - cfq_update_io_seektime() does not need cfqd passed in Signed-off-by: Jens Axboe commit 0e75f9063f5c55fb0b0b546a7c356f8ec186825e Author: Mike Christie Date: Fri Dec 1 10:40:55 2006 +0100 [PATCH] block: support larger block pc requests This patch modifies blk_rq_map/unmap_user() and the cdrom and scsi_ioctl.c users so that it supports requests larger than bio by chaining them together. Signed-off-by: Mike Christie Signed-off-by: Jens Axboe commit ad2d7225709b11da47e092634cbdf0591829ae9c Author: Mike Christie Date: Fri Dec 1 10:40:20 2006 +0100 [PATCH] block: kill length alignment test in bio_map_user() The target mode support is mapping in bios using bio_map_user. The current targets do not need their len to be aligned with a queue limit so this check is causing some problems. Note: pointers passed into the kernel are properly aligned by usersapace tgt code so the uaddr check in bio_map_user is ok. The major user, blk_bio_map_user checks for the len before mapping so it is not affected by this patch. And the semi-newly added user blk_rq_map_user_iov has been failing out when the len is not aligned properly so maybe people have been good and not sending misaligned lens or that path is not used very often and this change will not be very dangerous. st and sg do not check the length and we have not seen any problem reports from those wider used paths so this patch should be fairly safe - for mm and wider testing at least. Signed-off-by: Mike Christie Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley Signed-off-by: Jens Axboe commit be1c63411addba3ad750eb4fdfc50b97bc82825e Author: Olaf Kirch Date: Fri Dec 1 10:39:12 2006 +0100 [PATCH] blktrace: add timestamp message This adds a new timestamp message to blktrace, giving the timeofday when we starting tracing. This helps user space correlate block trace events with eg an application strace. This requires a (compatible) update to blkparse. The changed blkparse is still able to process traces generated by older kernels, and older versions of blkparse should silently ignore the new records (because they have a pid of 0). Signed-off-by: Olaf Kirch Signed-off-by: Jens Axboe commit bdbf77d6707a52bdeff223d0a60df12d086d21d7 Merge: 0215ffb... d5d06ff... Author: Wim Van Sebroeck Date: Thu Nov 30 20:22:09 2006 +0100 Merge ../linux-2.6-watchdog-mm commit 9e1402ab89623f08c8dc06ec395e3214e1ec7848 Author: George G. Davis Date: Thu Nov 16 14:50:14 2006 -0500 [PATCH] Fix an offset error when reading the CS89x0 ADD_PORT register Fix an offset error when reading the CS89x0 ADD_PORT register. Signed-off-by: George G. Davis Signed-off-by: Jeff Garzik commit 7bd54c863608a460e72aa0e57170cffb6bc62110 Author: Linas Vepstas Date: Fri Nov 17 14:39:40 2006 -0800 [PATCH] spidernet: poor network performance Correct a problem seen on later kernels running the NetPIPE application. Specifically, NetPIPE would begin running very slowly at the 1533 packet size. It was determined that Spidernet slowed with an idle DMA engine. Signed-off-by: James K Lewis Signed-off-by: Linas Vepstas Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 9c434f5e2181097e1d22d9b3e381ca6d693e5188 Author: James K Lewis Date: Fri Nov 17 14:39:36 2006 -0800 [PATCH] Spidernet: remove ETH_ZLEN check in earlier patch In an earlier patch, code was added to pad packets that were less that ETH_ZLEN (60) bytes using the skb_pad function. This has caused hangs when accessing certain NFS mounted file systems. This patch removes the check and solves the NFS problem. The driver, with this patch, has been tested extensively. Please apply. Signed-off-by: James K Lewis Cc: Stephen Hemminger Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 418e8f3d7ef4a30d4b5c84440641c9792a7f83f1 Author: Laurent Riffard Date: Sat Nov 18 12:03:04 2006 +0100 [PATCH] bonding: fix an oops when slave device does not provide get_stats Bonding driver unconditionnaly dereference get_stats function pointer for each of its slave device. This patch - adds a check for NULL dev->get_stats pointer in bond_get_stats - prints a notice when the bonding device enslave a device without get_stats function. Signed-off-by: Laurent Riffard Signed-off-by: Jeff Garzik commit c1cb0b77f905a2f5f297e91fafbe766acc143891 Merge: f2b67c7... a88556a... Author: Jeff Garzik Date: Thu Nov 30 06:01:04 2006 -0500 Merge branch 'upstream-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into upstream-fixes commit f2b67c7945e8d709444884633670fef498218639 Author: Ralf Baechle Date: Wed Nov 29 17:10:38 2006 +0000 [PATCH] drivers/net: SAA9730: Fix build error Confusingly NET_PCI is also set for for non-PCI EISA configurations where building this driver will result in a build error due to a reference to pci_release_regions. While at it, remove the EXPERIMENTAL - in all its uglyness and despite the sincerest attempts of the buggy hardware the driver is known to work. Also limit the driver to the Atlas board - the only known system to ever use the SAA9730 before Phillips ended the short live of the SAA9730. Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik commit a17259a726c4c9806dc99bda5e904727de76b694 Merge: 0215ffb... afdfe89... Author: Jeff Garzik Date: Thu Nov 30 05:20:49 2006 -0500 Merge branch 'tj-upstream-fixes' of git://htj.dyndns.org/libata-tj into tmp commit 6b44d4e69c6144d0df71ab47ec90d2009237d48f Author: Jan Engelhardt Date: Thu Nov 30 05:33:40 2006 +0100 Fix typos in drivers/isdn/hisax/isdnl2.c Changes persistant -> persistent in actual C code. (part 1 changed docs/comments). Compile-tested. Signed-off-by: Jan Engelhardt Signed-off-by: Adrian Bunk commit 03a67a46af8647b2c7825107045ecae641e103d3 Author: Jan Engelhardt Date: Thu Nov 30 05:32:19 2006 +0100 Fix typos in doc and comments Changes persistant -> persistent. www.dictionary.com does not know persistant (with an A), but should it be one of those things you can spell in more than one correct way, let me know. Signed-off-by: Jan Engelhardt Signed-off-by: Adrian Bunk commit 93e06b4140cc018826bce4d97b0bf7c9ba05ae6e Author: Eric Sesterhenn Date: Thu Nov 30 05:29:23 2006 +0100 BUG_ON conversion for fs/aio.c This patch converts a if () BUG(); construct to BUG_ON(); which occupies less space, uses unlikely and is safer when BUG() is disabled. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit d99c5909859625f3c9c6dfee6caa3b2a7c0ef163 Author: Eric Sesterhenn Date: Thu Nov 30 05:27:38 2006 +0100 BUG_ON conversion for drivers/mmc/omap.c This patch converts a if () BUG(); construct to BUG_ON(); which occupies less space, uses unlikely and is safer when BUG() is disabled. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 5d9a276a3eb073251737cb92b790bfdb9f0b9139 Author: Eric Sesterhenn Date: Thu Nov 30 05:26:46 2006 +0100 BUG_ON conversion for drivers/media/video/pwc/pwc-if.c This patch converts a if () BUG(); construct to BUG_ON(); which occupies less space, uses unlikely and is safer when BUG() is disabled. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 0779bf2d2ecc4d9b1e9437ae659f50e6776a7666 Author: Matt LaPlante Date: Thu Nov 30 05:24:39 2006 +0100 Fix misc .c/.h comment typos Fix various .c/.h typos in comments (no code changes). Signed-off-by: Matt LaPlante Signed-off-by: Adrian Bunk commit 3cb2fccc5f48a4d6269dfd00b4db570fca2a04d5 Author: Matt LaPlante Date: Thu Nov 30 05:22:59 2006 +0100 Fix misc Kconfig typos Fix various Kconfig typos. Signed-off-by: Matt LaPlante Acked-by: Randy Dunlap Signed-off-by: Adrian Bunk commit 5d3f083d8f897ce2560bbd4dace483d5aa60d623 Author: Matt LaPlante Date: Thu Nov 30 05:21:10 2006 +0100 Fix typos in /Documentation : Misc This patch fixes typos in various Documentation txts. The patch addresses some misc words. Signed-off-by: Matt LaPlante Acked-by: Randy Dunlap Signed-off-by: Adrian Bunk commit 4ae0edc21b152c126e4a8c94ad5391f8ea051b31 Author: Matt LaPlante Date: Thu Nov 30 04:58:40 2006 +0100 Fix typos in /Documentation : 'U-Z' This patch fixes typos in various Documentation txts. The patch addresses some +words starting with the letters 'U-Z'. Looks like I made it through the alphabet...just in time to start over again +too! Maybe I can fit more profound fixes into the next round...? Time will +tell. :) Signed-off-by: Matt LaPlante Acked-by: Randy Dunlap Signed-off-by: Adrian Bunk commit fa00e7e152690adc17fdc318e64909d4aff1763e Author: Matt LaPlante Date: Thu Nov 30 04:55:36 2006 +0100 Fix typos in /Documentation : 'T'' This patch fixes typos in various Documentation txts. The patch addresses some +words starting with the letter 'T'. Signed-off-by: Matt LaPlante Acked-by: Randy Dunlap Signed-off-by: Adrian Bunk commit 98c4f0c336afe4318c12397bc74910d86ee036a2 Author: Chase Venters Date: Thu Nov 30 04:53:49 2006 +0100 Fix jiffies.h comment jiffies.h includes a comment informing that jiffies_64 must be read with the assistance of the xtime_lock seqlock. The comment text, however, calls jiffies_64 "not volatile", which should probably read "not atomic". Signed-off-by: Chase Venters Signed-off-by: Adrian Bunk commit ce00f85c45d7f8c13cf67d9ca24d0f100f8e9c59 Author: Jim Cromie Date: Thu Nov 30 04:49:44 2006 +0100 tabify MAINTAINERS Signed-off-by: Adrian Bunk commit e20ec9911bfef897459b9f8aeaf6eadb0920299a Author: Jim Cromie Date: Thu Nov 30 04:46:13 2006 +0100 fix spelling error in include/linux/kernel.h Signed-off-by: Adrian Bunk commit 139a7bdc2b9391a4d0362190d9e5625dcf580105 Author: Alexey Dobriyan Date: Thu Nov 30 04:40:22 2006 +0100 mqueue.h: don't include linux/types.h This #include is not required. Signed-off-by: Alexey Dobriyan Signed-off-by: Adrian Bunk commit aa414dff4f7bef29457592414551becdca72dd6b Author: Ralf Baechle Date: Thu Nov 30 01:14:51 2006 +0000 [MIPS] Remove duplicate ISA DMA code for 0 DMA channel case. Signed-off-by: Ralf Baechle commit 0b7883f49810ec91755caa222b3b28f047b8c93b Author: Ralf Baechle Date: Thu Nov 30 01:14:51 2006 +0000 [MIPS] Remove unused definition of cpu_to_lelongp() Signed-off-by: Ralf Baechle commit 4ffd8b3838f22c34b21a25b7612795ca45d14db6 Author: Ralf Baechle Date: Thu Nov 30 01:14:50 2006 +0000 [MIPS] Remove userspace proofing from . Signed-off-by: Ralf Baechle commit e303e088f25dc7d8bafc0d1942314214a3a57b44 Author: Ralf Baechle Date: Thu Nov 30 01:14:50 2006 +0000 [MIPS] Remove old junk left from old atomic_lock. Signed-off-by: Ralf Baechle commit 63dc68a8cf60cb110b147dab1704d990808b39e2 Author: Ralf Baechle Date: Mon Oct 16 01:38:50 2006 +0100 [MIPS] Use conditional traps for BUG_ON on MIPS II and better. This shaves of around 4kB and a few cycles for the average kernel that has CONFIG_BUG enabled. Signed-off-by: Ralf Baechle commit 005985609ff72df3257fde6b29aa9d71342c2a6b Author: Atsushi Nemoto Date: Sun Nov 12 00:10:28 2006 +0900 [MIPS] mips HPT cleanup: make clocksource_mips public Make clocksource_mips public and get rid of mips_hpt_read, mips_hpt_mask. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 187933f23679c413706030aefad9e85e79164c44 Author: Atsushi Nemoto Date: Wed Oct 25 23:57:04 2006 +0900 [MIPS] do_IRQ cleanup Now we have both function and macro version of do_IRQ() and the former is used only by DEC and non-preemptive kernel. This patch makes everyone use the macro version and removes the function version. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 617667ba724d46ffeccb88ee99e1379f29b0bfa7 Author: Ralf Baechle Date: Thu Nov 30 01:14:48 2006 +0000 [MIPS] Avoid dupliate D-cache flush on R400C / R4400 SC and MC variants. Signed-off-by: Ralf Baechle commit 0550d9d13e02b30efa117d47fcadea450bb23d23 Author: Atsushi Nemoto Date: Tue Aug 22 21:15:47 2006 +0900 [MIPS] Remove redundant r4k_blast_icache() calls r4k_flush_cache_all() and r4k_flush_cache_mm() case: these are noop if the CPU did not have dc_aliases. It would mean we do not need to care about icache here. r4k_flush_cache_range case: if r4k_flush_cache_mm() did not need to care about icache, it would be same for this function. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit e56798824456bd907cefe840ca127df0518942e3 Author: Ralf Baechle Date: Thu Nov 30 01:14:47 2006 +0000 [MIPS] Work around bogus gcc warnings. Signed-off-by: Ralf Baechle commit dd6bfd627c4f4df771b9b73e4df75c6c0c177b09 Author: Nicolas Kaiser Date: Tue Nov 7 09:56:24 2006 +0100 [MIPS] Fix double inclusions Signed-off-by: Nicolas Kaiser Signed-off-by: Ralf Baechle commit 1417836e81c0ab8f5a0bfeafa90d3eaa41b2a067 Author: Atsushi Nemoto Date: Tue Nov 14 01:13:18 2006 +0900 [MIPS] use generic_handle_irq, handle_level_irq, handle_percpu_irq Further incorporation of generic irq framework. Replacing __do_IRQ() by proper flow handler would make the irq handling path a bit simpler and faster. * use generic_handle_irq() instead of __do_IRQ(). * use handle_level_irq for obvious level-type irq chips. * use handle_percpu_irq for irqs marked as IRQ_PER_CPU. * setup .eoi routine for irq chips possibly used with handle_percpu_irq. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 1603b5aca4f15b34848fb5594d0c7b6333b99144 Author: Atsushi Nemoto Date: Thu Nov 2 02:08:36 2006 +0900 [MIPS] IRQ cleanups This is a big irq cleanup patch. * Use set_irq_chip() to register irq_chip. * Initialize .mask, .unmask, .mask_ack field. Functions for these method are already exist in most case. * Do not initialize .startup, .shutdown, .enable, .disable fields if default routines provided by irq_chip_set_defaults() were suitable. * Remove redundant irq_desc initializations. * Remove unnecessary local_irq_save/local_irq_restore, spin_lock. With this cleanup, it would be easy to switch to slightly lightwait irq flow handlers (handle_level_irq(), etc.) instead of __do_IRQ(). Though whole this patch is quite large, changes in each irq_chip are not quite simple. Please review and test on your platform. Thanks. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit c87b6ebaea034c0e0ce86127870cf1511a307b64 Author: Atsushi Nemoto Date: Sat Oct 28 01:14:37 2006 +0900 [MIPS] mips hpt cleanup: get rid of mips_hpt_init Currently nobody outside time.c require mips_hpt_init(). Remove it and call c0_hpt_timer_init() directly if R4k counter was used for timer interrupt. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 0d02f0734f8d2310497fae4f960c978f679f66d9 Author: Yoichi Yuasa Date: Wed Nov 1 18:40:15 2006 +0900 [MIPS] PB1200: Remove duplicate definitions Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 6f2c3fa022312d5381f44359984395761e375f1b Author: Ralf Baechle Date: Thu Nov 30 01:14:45 2006 +0000 [MIPS] Fix alignment hole in struct cache_desc; shrink struct. Signed-off-by: Ralf Baechle commit 714cfe7865e5182a3b25be6a95c0b17aa8e64aa9 Author: Ralf Baechle Date: Mon Oct 23 00:44:02 2006 +0100 [MIPS] Oprofile: kernel support for the R10000. Signed-off-by: Ralf Baechle commit 2472d0b519c9634d89420064315c0926149947aa Author: Ralf Baechle Date: Thu Nov 30 01:14:45 2006 +0000 [MIPS] Remove unused R10000 performance counter definitions. Signed-off-by: Ralf Baechle commit 583bb86fbb9e85287f020fe4eb5352a0ec3c66a3 Author: Nicolas Schichan Date: Wed Oct 18 15:14:55 2006 +0200 [MIPS] Add support for kexec A tiny userland application loading the kernel and invoking kexec_load for mips is available here: http://chac.le-poulpe.net/~nico/kexec/kexec-2006-10-18.tar.gz Signed-off-by: Ralf Baechle commit c237923009da464881d89f4bc27c3b5b1a93d61b Author: Ralf Baechle Date: Thu Nov 30 01:14:44 2006 +0000 [MIPS] Don't print presence of WAIT instruction on bootup. Not useful and quite a big of noise on bootup of large systems. Signed-off-by: Ralf Baechle commit 5b10496b6e6577f65b032a5c4c97d0d3a841273c Author: Atsushi Nemoto Date: Mon Sep 11 17:50:29 2006 +0900 [MIPS] Fast path for rdhwr emulation for TLS Add special short path for emulationg RDHWR which is used to support TLS. Add an extra prologue for cpu_has_vtag_icache case. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 656be92f9ae194ed62bc81310a4589a7cd765f13 Author: Atsushi Nemoto Date: Thu Oct 26 00:08:31 2006 +0900 [MIPS] Load modules to CKSEG0 if CONFIG_BUILD_ELF64=n This is a patch to load 64-bit modules to CKSEG0 so that can be compiled with -msym32 option. This makes each module ~10% smaller. * introduce MODULE_START and MODULE_END * custom module_alloc() * PGD for modules * change XTLB refill handler synthesizer * enable -msym32 for modules again (revert ca78b1a5c6a6e70e052d3ea253828e49b5d07c8a) New XTLB refill handler looks like this: 80000080 dmfc0 k0,C0_BADVADDR 80000084 bltz k0,800000e4 # goto l_module_alloc 80000088 lui k1,0x8046 # %high(pgd_current) 8000008c ld k1,24600(k1) # %low(pgd_current) 80000090 dsrl k0,k0,0x1b # l_vmalloc_done: 80000094 andi k0,k0,0x1ff8 80000098 daddu k1,k1,k0 8000009c dmfc0 k0,C0_BADVADDR 800000a0 ld k1,0(k1) 800000a4 dsrl k0,k0,0x12 800000a8 andi k0,k0,0xff8 800000ac daddu k1,k1,k0 800000b0 dmfc0 k0,C0_XCONTEXT 800000b4 ld k1,0(k1) 800000b8 andi k0,k0,0xff0 800000bc daddu k1,k1,k0 800000c0 ld k0,0(k1) 800000c4 ld k1,8(k1) 800000c8 dsrl k0,k0,0x6 800000cc mtc0 k0,C0_ENTRYLO0 800000d0 dsrl k1,k1,0x6 800000d4 mtc0 k1,C0_ENTRYL01 800000d8 nop 800000dc tlbwr 800000e0 eret 800000e4 dsll k1,k0,0x2 # l_module_alloc: 800000e8 bgez k1,80000008 # goto l_vmalloc 800000ec lui k1,0xc000 800000f0 dsubu k0,k0,k1 800000f4 lui k1,0x8046 # %high(module_pg_dir) 800000f8 beq zero,zero,80000000 800000fc nop 80000000 beq zero,zero,80000090 # goto l_vmalloc_done 80000004 daddiu k1,k1,0x4000 80000008 dsll32 k1,k1,0x0 # l_vmalloc: 8000000c dsubu k0,k0,k1 80000010 beq zero,zero,80000090 # goto l_vmalloc_done 80000014 lui k1,0x8046 # %high(swapper_pg_dir) Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 56ae58333031bb0564c141f955d1e42276cade55 Author: Yoichi Yuasa Date: Sat Oct 14 00:25:04 2006 +0900 [MIPS] Rewrite GALILEO_INL/GALILEO_OUTL to GT_READ/GT_WRITE This patch has rewritten GALILEO_INL/GALILEO_OUTL using GT_READ/GT_WRITE. This patch tested on Cobalt Qube2. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 4e3884fc83f40b5daabceeee3a428a8ebebbbe4a Author: Atsushi Nemoto Date: Sat Oct 21 01:28:26 2006 +0900 [MIPS] Use "long" for 64-bit values on 64-bit kernel. This would get rid of some warnings about "long" vs. "long long". Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit acd86b8622099c3206e0a1665545ae2318089b9c Author: Franck Bui-Huu Date: Thu Oct 19 13:20:05 2006 +0200 [MIPS] Make free_init_pages() arguments to be physical addresses It allows caller of this function to not care about CKSEG0/XKPHYS address mixes. It's now automatically done by free_init_pages(). We can now safely remove hack needed by 64 bit kernels with CONFIG_BUILD_ELF64=n in free_initmem(). Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit a7837b76b6de932c31d0b7c71176ca8d1213a3ce Author: Franck Bui-Huu Date: Thu Oct 19 13:20:04 2006 +0200 [MIPS] setup.c: clean up initrd related code Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit f5bffe3a9bcd6e5319b5fd3a8109625f8638425a Author: Franck Bui-Huu Date: Thu Oct 19 13:20:03 2006 +0200 [MIPS] setup.c: use __pa_symbol() where needed It should fix the broken code in resource_init() too. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 8431fd094d625b94d364fe393076ccef88e6ce18 Author: Franck Bui-Huu Date: Thu Oct 19 13:20:02 2006 +0200 [MIPS] Introduce __pa_symbol() This patch introduces __pa_symbol() macro which should be used to calculate the physical address of kernel symbols. It also relies on RELOC_HIDE() to avoid any compiler's oddities when doing arithmetics on symbols. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit d4df6d4e7a66b7a9bd57f5dc7d80d6b55dc12dbb Author: Franck Bui-Huu Date: Thu Oct 19 13:20:01 2006 +0200 [MIPS] setup.c: get ride of CPHYSADDR() and use new __pa() implementation instead introduced by the previous patch. Indeed this macro can be used now even by the 64 bit kernels with CONFIG_BUILD_ELF64=n config. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 620a4802be8ee7989b1b6684b7198ebae02af854 Author: Franck Bui-Huu Date: Thu Oct 19 13:20:00 2006 +0200 [MIPS] Make __pa() aware of XKPHYS/CKSEG0 address mix for 64 bit kernels During early boot mem init, some configs couldn't use __pa() to convert virtual into physical addresses. Specially for 64 bit kernel cases when CONFIG_BUILD_ELF64=n. This patch make __pa() work for _all_ configs and thus make CPHYSADDR() useless. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 99e3b942c62f42c8d5added63305e12372b06daf Author: Franck Bui-Huu Date: Thu Oct 19 13:19:59 2006 +0200 [MIPS] page.h: remove __pa() usages. __pa() was used by virt_to_page() and virt_addr_valid(). These latter are used when kernel is initialised so __pa() is not appropriate, we use virt_to_phys() instead. Futhermore __pa() is going to take care of CKSEG0/XKPHYS address mix for 64 bit kernels. This makes __pa() more complex than virt_to_phys() and this extra work is not needed by virt_to_page() and virt_addr_valid(). Eventually it consolidates virt_to_phys() prototype by making its argument 'const'. this avoids some warnings that was due to some virt_to_page() usages which pass const pointer. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit f469b2626f48829c06e40ac799c1edf62b12048e Author: Michael S. Tsirkin Date: Wed Nov 29 15:33:10 2006 -0800 IB/ucm: Fix deadlock in cleanup ib_ucm_cleanup_events() holds file_mutex while calling ib_destroy_cm_id(). This can deadlock since ib_destroy_cm_id() flushes event handlers, and ib_ucm_event_handler() needs file_mutex, too. Therefore, drop the file_mutex during the call to ib_destroy_cm_id(). Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit e1444b5a163e81138754cab27c4fa1637b5a2239 Author: Sean Hefty Date: Tue Nov 28 14:57:13 2006 -0800 IB/cm: Fix automatic path migration support The ib_cm_establish() function is replaced with a more generic ib_cm_notify(). This routine is used to notify the CM that failover has occurred, so that future CM messages (LAP, DREQ) reach the remote CM. (Currently, we continue to use the original path) This bumps the userspace CM ABI. New alternate path information is captured when a LAP message is sent or received. This allows QP attributes to be initialized for the user when a new path is loaded after failover occurs. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 2745b5b713bf3457d8977c62dc2b3aa61f4a14b0 Author: Michael S. Tsirkin Date: Thu Nov 16 14:16:47 2006 +0200 IPoIB: Fix skb leak when freeing neighbour ipoib_neigh_free() is sometimes called while neighbour is still alive, so it might still have queued skbs. Fix skb leak in this case. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit d2fcea7d68473b8bb3e0addb4926c87e2217ca83 Author: Vu Pham Date: Tue Nov 21 14:14:10 2006 -0800 IB/srp: Fix memory leak on reconnect SRP reallocates the IU buffers for tx_ring and rx_ring without freeing the old buffers when it reconnects to a target. Fix this by keeping the old IU buffers around. Signed-off-by: Vu Pham Signed-off-by: Roland Dreier commit 04699a1f8634a4e89c71b22050b599c72126fa96 Author: Roland Dreier Date: Wed Nov 29 15:33:09 2006 -0800 RDMA/addr: list_move() cleanups Replace a couple list_del()/list_add() combos with list_move(). Signed-off-by: Roland Dreier commit c78bb8442b14ee6704bdb323111ffa874d4bfdaa Author: Krishna Kumar Date: Fri Nov 24 16:02:34 2006 +0530 RDMA/addr: Fix some cancellation problems in process_req() Fix following problems in process_req() relating to cancellation: - Function is wrongly doing another addr_remote() when cancelled, which is not required. - Make failure reporting immediate by using time_after_eq(). - On cancellation, -ETIMEDOUT was returned to the callback routine instead of the more appropriate -ECANCELLED (users getting notified may want to print/return this status, eg ucma_event_handler). Signed-off-by: Krishna Kumar Signed-off-by: Roland Dreier commit c9edea298e52faeb0d4ae875cb712a5d69ba1966 Author: Krishna Kumar Date: Fri Nov 24 16:03:48 2006 +0530 RDMA/amso1100: Prevent deadlock in destroy QP It is possible to swap the CQs used for send_cq and recv_cq when creating two different QPs. If these two QPs are then destroyed at the same time, an AB-BA deadlock can occur because the CQ locks are taken our of order. Fix this by always taking CQ locks in a fixed order. Signed-off-by: Krishna Kumar Signed-off-by: Roland Dreier commit 7013696a5f5ccd0d847d5e8b841d0b0b312277c8 Author: Jack Morgenstein Date: Sun Nov 26 09:10:19 2006 +0200 IB/mthca: Fix initial SRQ logsize for mem-free HCAs When initializing an mthca SRQ, the log_srq_size field should be the log of the number of SRQ WQEs, not the log of the number of bytes in the SRQ. This affects only mthca drivers for memfree HCAs which set the initial srq wqe counter (in the SW2HW transition) to a non-zero value. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 2771e9ed4702e46c3f4c305eb2e047c251c2ad2b Author: Hoang-Nam Nguyen Date: Mon Nov 20 23:54:12 2006 +0100 IB/ehca: Use WQE offset instead of WQE addr for pending work reqs This is a patch for ehca to fix a bug in prepare_sqe_to_rts(), which used WQE address to iterate pending work requests. This might cause an access violation since the queue pages can not be assumed to follow each other consecutively. Thus, this patch introduces a few queue functions to determine WQE offset based on its address and uses WQE offset to iterate the pending work requests. Signed-off-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit 9ab1ffa8775d9c677b1301cccce8a7d91e5163d0 Author: Krishna Kumar Date: Thu Nov 9 09:30:48 2006 +0530 RDMA/iwcm: Fix comment for iwcm_deref_id() to match code In iwcm_deref_id(), the comment says : "If the last reference is being removed and iw_destroy_cm_id is waiting, wake up the waiting thread". The second part of the comment, "and iw_destroy_cm_id is waiting," is wrong, since this function either wakes the waiter already waiting in iwcm_deref_id, or enables it (so that when wait_for_completion() is performed later, it will immediately return). Signed-off-by: Krishna Kumar Acked-by: Steve Wise Signed-off-by: Roland Dreier commit 715a588f420936ecdb813c4fcd40dff7a16b1638 Author: Krishna Kumar Date: Thu Nov 9 09:30:45 2006 +0530 RDMA/iwcm: Remove unnecessary function argument Remove unnecessary cm_id_priv argument to copy_private_data(), and change text to reflect the code. Fix couple of typos in comments. Signed-off-by: Krishna Kumar Acked-by: Steve Wise Signed-off-by: Roland Dreier commit 13fccdb380f88770f05b922c273d907aecda7c12 Author: Krishna Kumar Date: Thu Nov 9 09:30:43 2006 +0530 RDMA/iwcm: Remove unnecessary initializations Signed-off-by: Krishna Kumar Acked-by: Steve Wise Signed-off-by: Roland Dreier commit 83b96586239bf6c719ff640341e1cf83e4a7c046 Author: Krishna Kumar Date: Thu Nov 9 09:30:41 2006 +0530 RDMA/iwcm: Fix memory leak If we get IW_CM_EVENT_CONNECT_REQUEST message and encounter an error (not in the LISTEN state, cannot create an id, cannot alloc work_entry, etc), then the memory allocated by cm_event_handler() in the event->private_data gets leaked. Since cm_work_handler has already put the event on the work_free_list, this allocated memory is leaked. High backlog value can allow DoS attacks. Signed-off-by: Krishna Kumar Acked-by: Steve Wise Signed-off-by: Roland Dreier commit 33ba0fa9f315ce32fbb86fa671c131f5355b52a1 Author: Krishna Kumar Date: Thu Nov 9 09:30:34 2006 +0530 RDMA/iwcm: Fix memory corruption bug in cm_work_handler() Possible memory corruption scenario: after putting the work entry back on the work_free_list, we call process_event() which dereferences work->event, which could have been modified to another value meanwhile. Signed-off-by: Krishna Kumar Acked-by: Steve Wise Signed-off-by: Roland Dreier commit e54f81889cd5228e7087637c377d76301c7c5663 Author: Roland Dreier Date: Wed Nov 29 15:33:07 2006 -0800 IB: Convert kmem_cache_t -> struct kmem_cache Signed-off-by: Roland Dreier commit 53533e16b1d94ff71cb013497938976906d9d504 Author: Roland Dreier Date: Wed Nov 29 15:33:07 2006 -0800 IB/ipath: Fix typo in pma_counter_select subscript The array has only 5 entries, so [5] should have been [4]. Signed-off-by: Roland Dreier commit 29666128a22ddc78b3e393674ef69462835db43f Author: Roland Dreier Date: Wed Nov 29 15:33:07 2006 -0800 RDMA/amso1100: Fix section mismatches The amso1100 driver was missing a couple of __devinit/__devexit annotations for init/cleanup functions that are called from __devinit/__devexit functions. Reported by Randy Dunlap . Signed-off-by: Roland Dreier commit f4f3d0f0ece2527184b6c91afa1196a27a5bfaf5 Author: Roland Dreier Date: Wed Nov 29 15:33:06 2006 -0800 IB/mthca: Fix section mismatches Commit b3b30f5e ("IB/mthca: Recover from catastrophic errors") introduced some section mismatch breakage, because the error recovery code tears down and reinitializes the device, which calls into lots of code originally marked __devinit and __devexit from regular .text. Fix this by getting rid of these now-incorrect section markers. Reported by Randy Dunlap . Signed-off-by: Roland Dreier commit 3c8edf0eca2e47340c960b2f27c659c097118ffe Author: Arne Redlich Date: Wed Nov 15 12:43:00 2006 +0100 IB/srp: Increase supported CDB size Set the Scsi_Host's max_cmd_len from 12 (default) to 16 for SRP. Otherwise scsi_dispatch_cmd() won't pass down certain commands such as READ CAPACITY 16, required for supporting disks > 2TB. Signed-off-by: Arne Redlich Signed-off-by: Roland Dreier commit e31353eaeca736981ec13b46089d30147342b28b Author: Dotan Barak Date: Tue Oct 24 13:35:27 2006 -0700 RDMA/cm: Remove setting local write as part of QP access flags The qp_access_flags are for remote access permissions only, so IB_ACCESS_LOCAL_WRITE is an invalid value. Remove it from the values set by cm_init_qp_init_attr() and cma_init_ib_qp(). Signed-off-by: Dotan Barak Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit bed8bdfddd851657cf9e5fd16bb44abb02ae7f42 Author: Eric Sesterhenn Date: Mon Oct 23 22:17:21 2006 +0200 IB: kmemdup() cleanup Replace open coded kmemdup() to save some screen space, and allow inlining/not inlining to be triggered by gcc. Signed-off-by: Eric Sesterhenn Signed-off-by: Roland Dreier commit a1a733f65b091fdad3d0783e648c92b491933ab6 Author: Krishna Kumar Date: Tue Oct 17 10:09:11 2006 +0530 RDMA/cma: Rewrite cma_req_handler() to encapsulate common code Rewrite cma_req_handler error handling case to encapsulate common code. Signed-off-by: Krishna Kumar Acked-by: Sean Hefty Signed-off-by: Roland Dreier commit f115db4803effd8207c3169590fb3f13336a4093 Author: Krishna Kumar Date: Tue Oct 17 10:09:09 2006 +0530 RDMA/addr: Use time_after_eq() instead of time_after() in queue_req() In queue_req(), use time_after_eq() instead of time_after() for following reasons : - Improves insert time if multiple entries with same time are present. - set_timeout need not be called if entry with same time is added to the list (and that happens to be the entry with the smallest time), saving atomic/locking operations. - Earlier entries with same time are deleted first (fifo). Signed-off-by: Krishna Kumar Acked-by: Sean Hefty Signed-off-by: Roland Dreier commit e4022274cf8df1f78f9e20ba7e199a9edf655422 Author: Krishna Kumar Date: Mon Oct 16 10:09:08 2006 +0530 RDMA/cma: Remove redundant check in cma_add_one Remove redundant check of node_guid in cma_add_one(). Signed-off-by: Krishna Kumar Acked-by: Sean Hefty Signed-off-by: Roland Dreier commit e82153b54d75af31d5d4a84efe441e5719f34cfc Author: Krishna Kumar Date: Mon Oct 16 10:09:01 2006 +0530 RDMA/cma: Optimize cma_bind_loopback() to check for empty list Optimize to test for an empty list first. This ends up simplifying the code too. Signed-off-by: Krishna Kumar Acked-by: Sean Hefty Signed-off-by: Roland Dreier commit afdfe899e6420eac6c5eb3bc8c89456dff38d40e Author: Tejun Heo Date: Wed Nov 29 11:26:47 2006 +0900 [PATCH] libata: add missing sht->slave_destroy Many LLDs are missing sht->slave_destroy. The method is mandatory to support device warm unplugging (echo 1 > /sys/.../delete). Without it, libata might access released scsi device. Signed-off-by: Tejun Heo commit 41669553353554211310cdb23079d58af1fda41e Author: Tejun Heo Date: Wed Nov 29 11:33:14 2006 +0900 [PATCH] ahci: ignore PORT_IRQ_IF_ERR on JMB controllers JMicron AHCI controllers set PORT_IRQ_IF_ERR on device errors. The IRQ status bit indicates interface error or protocol mismatch and ahci driver interprets it into AC_ERR_ATA_BUS. So, whenever an ATAPI device raises check condition, ahci interprets it as ATA bus error and thus resets it which, in turn, raises check condition thus creating a reset loop and rendering the device unuseable. This patch makes JMB controllers ignore PORT_IRQ_IF_ERR when interpreting error condition. Signed-off-by: Tejun Heo Cc: Justin Tsai commit a88556a4b24baff99f5d2a2a05202c4aca44ea05 Author: John W. Linville Date: Tue Nov 28 14:16:37 2006 -0500 Revert "[PATCH] zd1211rw: Removed unneeded packed attributes" This reverts commit 4e1bbd846d00a245dcf78b6b331d8a9afed8e6d7. Quoth Daniel Drake : "A user reported that commit 4e1bbd846d00a245dcf78b6b331d8a9afed8e6d7 (Remove unneeded packed attributes) breaks the zd1211rw driver on ARM." Signed-off-by: John W. Linville commit a68077defb3337342981a0d3a4df3380496a8a87 Author: Ulrich Kunitz Date: Wed Nov 22 00:06:06 2006 +0000 [PATCH] zd1211rw: Fix of a locking bug This patch fixes the bug as reported in the kernel bug tracker under the id 7244. The bug was simply that the interrupt lock has been locked outside an interrupt without blocking the interrupt. Signed-off-by: Ulrich Kunitz Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit a3df3b6f2e37474cdb8b56d55d31be41c22f9b18 Author: Michael Buesch Date: Mon Nov 27 14:37:21 2006 -0600 [PATCH] softmac: remove netif_tx_disable when scanning In the scan section of ieee80211softmac, network transmits are disabled. When SoftMAC re-enables transmits, it may override the wishes of a driver that may have very good reasons for disabling transmits. At least one failure in bcm43xx can be traced to this problem. In addition, several unexplained problems may arise from the unexpected enabling of transmits. Note that making this change introduces a new bug that would allow transmits for the current session to be transmitted on the wrong channel; however, the new bug is much less severe than the one being fixed, as the new one only leads to a few retransmits, whereas the old one can bring the interface down. A fix that will not introduce new bugs is being investigated; however, the current, more serious one should be fixed now. Signed-off-by: Michael Buesch Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit b94c7e677b9d28bd3f9ba4a70df6bfa7942867ca Author: Chad Sellers Date: Mon Nov 6 12:38:18 2006 -0500 SELinux: validate kernel object classes and permissions This is a new object class and permission validation scheme that validates against the defined kernel headers. This scheme allows extra classes and permissions that do not conflict with the kernel definitions to be added to the policy. This validation is now done for all policy loads, not just subsequent loads after the first policy load. The implementation walks the three structrures containing the defined object class and permission values and ensures their values are the same in the policy being loaded. This includes verifying the object classes themselves, the permissions they contain, and the permissions they inherit from commons. Classes or permissions that are present in the kernel but missing from the policy cause a warning (printed to KERN_INFO) to be printed, but do not stop the policy from loading, emulating current behavior. Any other inconsistencies cause the load to fail. Signed-off-by: Chad Sellers Acked-by: Stephen Smalley Signed-off-by: James Morris commit bb242497474da317a7169cc939c741ccf2e79e8c Author: Chad Sellers Date: Mon Nov 6 12:38:17 2006 -0500 SELinux: ensure keys constant in hashtab_search Makes the key argument passed into hashtab_search and all the functions it calls constant. These functions include hash table function pointers hash_value and keycmp. The only implementations of these currently are symhash and symcmp, which do not modify the key. The key parameter should never be changed by any of these, so it should be const. This is necessary to allow calling these functions with keys found in kernel object class and permission definitions. Signed-off-by: Chad Sellers Acked-by: Stephen Smalley Signed-off-by: James Morris commit 5c45899879e8caadb78f04c9c639f4c2025b9f00 Author: Chad Sellers Date: Mon Nov 6 12:38:16 2006 -0500 SELinux: export object class and permission definitions Moves the definition of the 3 structs containing object class and permission definitions from avc.c to avc_ss.h so that the security server can access them for validation on policy load. This also adds a new struct type, defined_classes_perms_t, suitable for allowing the security server to access these data structures from the avc. Signed-off-by: Chad Sellers Acked-by: Stephen Smalley Signed-off-by: James Morris commit 5a64d4438ed1e759ccd30d9e90842bf360f19298 Author: Chad Sellers Date: Mon Nov 6 12:38:15 2006 -0500 SELinux: remove current object class and permission validation mechanism Removes the current SELinux object class and permission validation code, as the current code makes it impossible to change or remove object classes and permissions on a running system. Additionally, the current code does not actually validate that the classes and permissions are correct, but instead merely validates that they do not change between policy reloads. Signed-off-by: Chad Sellers Acked-by: Stephen Smalley Signed-off-by: James Morris commit d5d06ff7f181c06ef8c94b353ae3fef8f06b3085 Author: Wim Van Sebroeck Date: Fri Nov 17 23:50:06 2006 +0100 [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 4 a number of small patches: - include notifier.h include file - re-arrange prototype functions - remove =0 initializations - change printk logging levels to what's used in other drivers - /dev/watchdog is a VFS so use nonseekable_open - Style: Instead of "if (constant op function_or_variable)" we prefer "if (function_or_variable op constant)" - arg is a __user pointer - use MAX_TIMEOUT_SECONDS instead of 32 in WDIOC_SETTIMEOUT Signed-off-by: Randy Dunlap Signed-off-by: Wim Van Sebroeck commit 414a675964e5636b53b37827b646138f166507d3 Author: Wim Van Sebroeck Date: Fri Nov 17 23:36:08 2006 +0100 [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 3 Move start and stop code into seperate functions Signed-off-by: Wim Van Sebroeck commit 97846e3ccbcbcc966e23a91b0d190efd1f889c9b Author: Wim Van Sebroeck Date: Fri Nov 17 23:15:48 2006 +0100 [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 2 Reorganize source code so that it is structured as follows: - Function prototypes - Local variables - Module arguments - Interrupt handler - Watchdog functions - /dev/watchdog operations - Shutdown notifier - Kernel interfaces - Init & exit procedures - Device driver init & exit Signed-off-by: Wim Van Sebroeck commit cd57eeab7c4c108ce6e84545bdf37ae91b930781 Author: Wim Van Sebroeck Date: Fri Nov 17 21:51:35 2006 +0100 [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 1 Locate parameter descriptions close to parameter definition - not in bottom of file. Signed-off-by: Sam Ravnborg Signed-off-by: Wim Van Sebroeck commit 825d3748c1b5f9272e4f9769f1c2da85174ece28 Author: Thomas Koeller Date: Mon Aug 14 21:55:29 2006 +0200 [WATCHDOG] MIPS RM9000 on-chip watchdog device This is a driver for the on-chip watchdog device found on some MIPS RM9000 processors. Signed-off-by: Thomas Koeller Signed-off-by: Wim Van Sebroeck commit 8d6286fdfd290589f8446ec1503702227263dcfd Author: Steve French Date: Thu Nov 16 22:48:25 2006 +0000 [CIFS] Fix timezone handling on stat to os/2 We were adjusting for timezone on readdir but not on stat Signed-off-by: Steve French commit 31ec35d6c81175016a6372571eab23b6bd40b406 Author: Steve French Date: Thu Nov 16 20:54:20 2006 +0000 [CIFS] Incorrect hardlink count when original file is cached (oplocked) Fixes Samba bug 2823 In this case hardlink count is stale for one of the two inodes (ie the original file) until it is closed - since revalidate does not go to server while file is cached locally. Signed-off-by: Steve French commit efa53ebe0d2f50bf342eb1976824f59bba9941eb Author: Zhu Yi Date: Mon Nov 13 11:32:50 2006 +0800 [PATCH] ieee80211: Fix kernel panic when QoS is enabled The 802.11 header length is affected by the wireless mode (WDS or not) and type (QoS or not). We should use the variable hdr_len instead of the hard coded IEEE80211_3ADDR_LEN, otherwise we may touch invalid memory. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 19a79859e168640f8e16d7b216d211c1c52b687a Author: Sylvain Munaut Date: Sat Nov 11 10:53:19 2006 +0100 [PATCH] ppc: Fix io.h for config with CONFIG_PCI not set When CONFIG_PCI option is not set, the variables pci_dram_offset, isa_io_base and isa_mem_base are not defined. Currently, the test is handled in each platform header. This patch moves the test in io.h once and for all. Signed-off-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit b61c5509fe8f6c665c146ab14f960000d4a5d1a9 Author: Kim Phillips Date: Fri Nov 10 18:08:30 2006 -0600 [PATCH] Make git ignore new wrapper generated files The new 'wrapper' code generates files that git should ignore; add them to .gitignore. Signed-off-by: Kim Phillips Signed-off-by: Paul Mackerras commit 57744ea95edd340d7140852ce86c743df2cd588c Author: Geoff Levand Date: Fri Nov 10 12:01:02 2006 -0800 [PATCH] Check for null init_early routine Add a check for a null ppc_md.init_early to allow platforms that don't require an init_early routine to just set this member to null. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit fc9e8b4e275b6882cb537154c8fc7cde3692eea0 Author: Timur Tabi Date: Thu Nov 9 15:42:44 2006 -0600 [PATCH] Optimize qe_brg struct to use an array The qe_brg structure manually defined each of the 16 BRG registers, which made any code that used them cumbersome. This patch replaces the fields with a single 16-element array. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 0613ffbf53625ccecb96500b1cc7b0ef70cc8f04 Author: Olaf Hering Date: Thu Nov 9 18:53:52 2006 +0100 [PATCH] Fix compile warnings with CONFIG_PM=n Fix compile warnings with CONFIG_PM=n arch/powerpc/platforms/powermac/feature.c:489: warning: 'save_gpio_levels' defined but not used arch/powerpc/platforms/powermac/feature.c:490: warning: 'save_gpio_extint' defined but not used arch/powerpc/platforms/powermac/feature.c:491: warning: 'save_gpio_normal' defined but not used arch/powerpc/platforms/powermac/feature.c:492: warning: 'save_unin_clock_ctl' defined but not used Signed-off-by: Olaf Hering Signed-off-by: Paul Mackerras commit 25787afa5c16d35cdfb191f63a3a406b3206744e Author: Mark A. Greer Date: Wed Nov 8 17:52:25 2006 -0700 [PATCH] Remove arch/powerpc/boot/zImage file. The bootwrapper Makefile does not clean up the 'zImage' file that may be left laying around. This patch removes it when cleaning that directory. Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit e9c4b4bd56a7dfdc8879a5876e498991c9194321 Author: Mark A. Greer Date: Wed Nov 8 17:50:44 2006 -0700 [PATCH] Remove dtb file created by wrapper script When the wrapper script is passed a dts file, it runs 'dtc' to create a dtb file. This patch deletes that dtb file once its no longer needed. Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit a416dd8d9cd3a3fa77b9839e0e6fc3c54927d8c3 Author: Michael Ellerman Date: Wed Nov 8 10:22:59 2006 +1100 [PATCH] Do a single one-line printk in bad_page_fault() bad_page_fault() prints a message telling the user what type of bad fault we took. The first line of this message is currently implemented as two separate printks. This has the unfortunate effect that if several cpus simultaneously take a bad fault, the first and second parts of the printk get jumbled up, which looks dodge and is hard to read. So do a single one-line printk for each fault type. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 66a91e9c0ab62ea938afaba7352741d8c554a589 Author: Andy Fleming Date: Tue Nov 7 16:57:22 2006 -0600 [PATCH] of_irq_to_resource now returns the virq Mostly this is to allow for error checking (check the return for NO_IRQ) Added a check that the resource is non-NULL, too. Signed-off-by: Andrew Fleming Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit a9b14973a8c42b2aecc968851372203c6567e196 Author: Andy Fleming Date: Thu Oct 19 19:52:26 2006 -0500 [PATCH] Slight refactor of interrupt mapping for FSL parts * Cleaned up interrupt mapping a little by adding a helper function which parses the irq out of the device-tree, and puts it into a resource. * Changed the arch/ppc platform files to specify PHY_POLL, instead of -1 * Changed the fixed phy to use PHY_IGNORE_INTERRUPT * Added ethtool.h and mii.h to phy.h includes Signed-off-by: Paul Mackerras commit c37858d333a50815c74349396e31a535f4128e0b Author: Nicolas DET Date: Sun Nov 5 12:57:16 2006 +0100 [PATCH] Add Efika platform support Add Efika (http://www.bplan-gmbh.de/efika_spec_en.html) platform support for arch/powerpc. Signed-off-by: Nicolas DET Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 0f6c95dcabdaa8fdc95b125582bd12625adfbde6 Author: Nicolas DET Date: Wed Nov 8 17:14:43 2006 +0100 [PATCH] Add MPC5200 Interrupt Controller support. This adds support for the MPC52xx Interrupt controller for ARCH=powerpc. It includes the main code in arch/powerpc/sysdev/ as well as a header file in include/asm-powerpc. Signed-off-by: Nicolas DET Acked-by: Sylvain Munaut Acked-by: Grant Likely Signed-off-by: Paul Mackerras commit 2fcd34291b650723091a06e4b51b546961f308a3 Author: s.hauer@pengutronix.de Date: Thu Nov 2 13:56:11 2006 +0100 [PATCH] Make nvram_64.o a 64bit-only object Make nvram_64.o dependent on 64bit, not on MULTIPLATFORM. Signed-off-by: Sascha Hauer Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit fd6e7d2d6a0231ebfa08e1f9a323497ea548da7d Author: s.hauer@pengutronix.de Date: Thu Nov 2 13:56:10 2006 +0100 [PATCH] Clean up usage of boot_dev dev_t boot_dev is declared in arch/powerpc/kernel/setup_32.c and in arch/powerpc/kernel/setup_64.c but not used in these files. It is only used in arch/powerpc/platforms/powermac/setup.c, so make it static in this file. Signed-off-by: Sascha Hauer Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 99a565bab1a41819b9f85c8c069a2f3fc6e27d55 Author: s.hauer@pengutronix.de Date: Thu Nov 2 13:56:06 2006 +0100 [PATCH] Remove occurences of PPC_MULTIPLATFORM in pci_64.c Since iSeries is merged to MULTIPLATFORM, there is no way to build a 64bit kernel without MULTIPLATFORM, so PPC_MULTIPLATFORM can be removed in 64bit-only files. Signed-off-by: Sascha Hauer Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit a7a1ed305043961ed06e0ee5e7a4a2cc1250f4b5 Author: s.hauer@pengutronix.de Date: Thu Nov 2 13:56:04 2006 +0100 [PATCH] Remove occurences of PPC_MULTIPLATFORM in head_64.S Since iSeries is merged to MULTIPLATFORM, there is no way to build a 64bit kernel without MULTIPLATFORM, so PPC_MULTIPLATFORM can be removed in 64bit-only files. Signed-off-by: Sascha Hauer Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 68e1300a55310a288b87f2a7d6045df0d0f802bc Author: s.hauer@pengutronix.de Date: Thu Nov 2 13:56:01 2006 +0100 [PATCH] Remove _machine macro The _machine macro was once used for compatibility with ARCH=ppc drivers. It is unused in current kernels, so remove it. Signed-off-by: Sascha Hauer Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 67764a03193d0246cf9bb491b41806508d415830 Author: s.hauer@pengutronix.de Date: Thu Nov 2 13:56:00 2006 +0100 [PATCH] Remove unnecessary ifdef in include/asm-powerpc/pci.h Current kernels always have one of CONFIG_PPC_MULTIPLATFORM or CONFIG_PPC32 defined, so remove bogus ifdef. Signed-off-by: Sascha Hauer Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 2b890bc2ce95e8c141b38ea86100826b46534295 Author: Sascha Hauer Date: Mon Nov 6 11:19:08 2006 +0100 [PATCH] Remove dead code in iommu.h iommu_setup_pSeries() and iommu_setup_dart() are declared extern but are not implemented, so remove them. Remove ifdef around extern function declaration. Signed-off-by: Sascha Hauer Signed-off-by: Paul Mackerras commit bfaadcadc9549c7e296e37a0cfe306704e8df739 Author: s.hauer@pengutronix.de Date: Thu Nov 2 13:55:57 2006 +0100 [PATCH] Replace CONFIG_PPC_MULTIPLATFORM with CONFIG_PPC_PMAC in tulip driver Replace CONFIG_PPC_MULTIPLATFORM with CONFIG_PPC_PMAC in drivers/net/tulip/de4x5.c. It is needed for a pmac specific hook but has nothing with to do with PPC_MULTIPLATFORM. Signed-off-by: Sascha Hauer Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 74a9d5f1d140adbeadd5ef319f162903090c3b83 Author: Sascha Hauer Date: Fri Nov 3 09:52:49 2006 +0100 [PATCH] Remove inclusion of asm/processor.h in via82cxxx.c There is some PPC_CHRP specific code in drivers/ide/pci/via82cxxx.c, so #ifdef on CONFIG_PPC_CHRP instead of CONFIG_PPC_MULTIPLATFORM. Signed-off-by: Sascha Hauer Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit e033351d5359f348d2913eb83fbb37023d8f21af Author: Wim Van Sebroeck Date: Sun Nov 12 18:05:09 2006 +0100 [WATCHDOG] Add iTCO vendor specific support Add vendor specific support to the intel TCO timer based watchdog devices. At this moment we only have additional support for some SuperMicro Inc. motherboards. Signed-off-by: Robert Seretny Signed-off-by: Wim Van Sebroeck commit 58c6570add83e30c0905885171fbffc134441165 Author: Akinobu Mita Date: Sun Oct 29 03:43:19 2006 +0900 [WATCHDOG] sc1200wdt.c pnp unregister fix. If no devices found or invalid parameter is specified, scl200wdt_pnp_driver is left unregistered. It breaks global list of pnp drivers. Signed-off-by: Akinobu Mita Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit fd0c5eca447254682a8372bc73b6bdcc16bf6777 Author: Andrew Morton Date: Fri Oct 27 17:20:42 2006 -0700 [WATCHDOG] config.h removal config.h got removed Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit 36ca4ba4b9728f3c420a589a3322c2fbd7ec88b7 Author: Christian Krafft Date: Tue Oct 24 18:39:45 2006 +0200 [POWERPC] cell: add cpufreq driver for Cell BE processor This patch adds a cpufreq backend driver to enable frequency scaling on cell. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit a898497088f46252e6750405504064e2dce53117 Author: Michael Ellerman Date: Tue Oct 24 18:31:28 2006 +0200 [POWERPC] add support for dumping spu info from xmon This patch adds a command to xmon for dumping information about spu structs. The command is 'sf' for "spu fields" perhaps, and takes the spu number as an argument. This is the same value as the spu->number field, or the "phys-id" value of a context when it is bound to a physical spu. We try to catch memory errors as we dump each field, hopefully this will make the command reasonably robust, but YMMV. If people see a need we can easily add more fields to the dump in future. Output looks something like this: 0:mon> sf 0 Dumping spu fields at address c00000001ffd9e80: number = 0x0 name = spe devnode->full_name = /cpus/PowerPC,BE@0/spes/spe@0 nid = 0x0 local_store_phys = 0x20000000000 local_store = 0xd0000800801e0000 ls_size = 0x0 isrc = 0x4 node = 0x0 flags = 0x0 dar = 0x0 dsisr = 0x0 class_0_pending = 0 irqs[0] = 0x16 irqs[1] = 0x17 irqs[2] = 0x24 slb_replace = 0x0 pid = 0 prio = 0 mm = 0x0000000000000000 ctx = 0x0000000000000000 rq = 0x0000000000000000 timestamp = 0x0000000000000000 problem_phys = 0x20000040000 problem = 0xd000080080220000 problem->spu_runcntl_RW = 0x0 problem->spu_status_R = 0x0 problem->spu_npc_RW = 0x0 priv1 = 0xd000080080240000 priv1->mfc_sr1_RW = 0x33 priv2 = 0xd000080080250000 Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit ff8a8f25976aa58bbae7883405b00dcbaf4cc823 Author: Michael Ellerman Date: Tue Oct 24 18:31:27 2006 +0200 [POWERPC] add support for stopping spus from xmon This patch adds support for stopping, and restarting, spus from xmon. We use the spu master runcntl bit to stop execution, this is apparently the "right" way to control spu execution and spufs will be changed in the future to use this bit. Testing has shown that to restart execution we have to turn the master runcntl bit on and also rewrite the spu runcntl bit, even if it is already set to 1 (running). Stopping spus is triggered by the xmon command 'ss' - "spus stop" perhaps. Restarting them is triggered via 'sr'. Restart doesn't start execution on spus unless they were running prior to being stopped by xmon. Walking the spu->full_list in xmon after a panic, would mean corruption of any spu struct would make all the others inaccessible. To avoid this, and also to make the next patch easier, we cache pointers to all spus during boot. We attempt to catch and recover from errors while stopping and restarting the spus, but as with most xmon functionality there are no guarantees that performing these operations won't crash xmon itself. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 302eca184fb844670fb128c69e22a8a28bbce48a Author: arnd@arndb.de Date: Tue Oct 24 18:31:26 2006 +0200 [POWERPC] cell: use ppc_md->power_save instead of cbe_idle_loop This moves the cell idle function to use the default cpu_idle with a special power_save callback, like all other platforms except iSeries already do. It also makes it possible to disable this power_save function with a new powerpc-specific boot option "powersave=off". Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit b3d7dc1967d1303d4897ff9537d29f6e077de147 Author: Christian Krafft Date: Tue Oct 24 18:31:25 2006 +0200 [POWERPC] cell: add temperature to SPU and CPU sysfs entries This patch adds a module that registers sysfs attributes to CPU and SPU containing the temperature of the CBE. They can be found under /sys/devices/system/spu/cpuX/thermal/temperature[0|1] /sys/devices/system/spu/spuX/thermal/temperature The temperature is read from the on-chip temperature sensors. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 0344c6c5387ba335bba5a66fd44714b94c98573f Author: Christian Krafft Date: Tue Oct 24 18:31:24 2006 +0200 [POWERPC] sysfs: add support for adding/removing spu sysfs attributes This patch adds two functions to create and remove sysfs attributes and attribute_group to all cpus. That allows to register sysfs attributes in a subdirectory like: /sys/devices/system/cpu/cpuX/group_name/what_ever This will be used by cbe_thermal to group all attributes dealing with thermal support in one directory. Signed-of-by: Christian Krafft Signed-off-by: Paul Mackerras commit e570beb6bb1a623849901efbf939063ec4775c9e Author: Christian Krafft Date: Tue Oct 24 18:31:23 2006 +0200 [POWERPC] cell: add support for registering sysfs attributes to spus In order to add sysfs attributes to all spu's, there is a need for a list of all available spu's. Adding the device_node makes also sense, as it is needed for proper register access. This patch also adds two functions to create and remove sysfs attributes and attribute_groups to all spus. That allows to group spu attributes in a subdirectory like: /sys/devices/system/spu/spuX/group_name/what_ever This will be used by cbe_thermal to group all attributes dealing with thermal support in one directory. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit d8bf96e0793f9576da545bac333b2de304958d68 Author: Kevin Corry Date: Tue Oct 24 18:31:22 2006 +0200 [POWERPC] cell: add low-level performance monitoring code Add routines for accessing the registers and counters in the performance monitoring unit. Signed-off-by: Kevin Corry Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit bffd4927ba4377aa38be5450e20e0fecd2523fe3 Author: Kevin Corry Date: Tue Oct 24 18:31:21 2006 +0200 [POWERPC] cell: add shadow registers for pmd_reg Many of the registers in the performance monitoring unit are write-only. We need to save a "shadow" copy when we write to those registers so we can retrieve the values if we need them later. The new cbe_pmd_shadow_regs structure is added to the cbe_regs_map structure so we have the appropriate per-node copies of these shadow values. Signed-off-by: Kevin Corry Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 22b8c9f5baeb440a716ea760ff05290221565b4c Author: David Erb Date: Tue Oct 24 18:31:20 2006 +0200 [POWERPC] cell: update Cell BE register definitions There are a few definitions that are required by subsequent patches, so add them here. The original patch is from David Erb, but is significantly cleaned up by Kevon Corry. Cc: Kevin Corry Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 099814bb1f9bd9081d7c85867f8eb8c049abc1b9 Author: Jeremy Kerr Date: Tue Oct 24 18:31:19 2006 +0200 [POWERPC] spufs: Add isolated-mode SPE recycling support When in isolated mode, SPEs have access to an area of persistent storage, which is per-SPE. In order for isolated-mode apps to communicate arbitrary data through this storage, we need to ensure that isolated physical SPEs can be reused for subsequent applications. Add a file ("recycle") in a spethread dir to enable isolated-mode recycling. By writing to this file, the kernel will reload the isolated-mode loader kernel, allowing a new app to be run on the same physical SPE. This requires the spu_acquire_exclusive function to enforce exclusive access to the SPE while the loader is initialised. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 0afacde3df4c9980f505d9afd7cb0058389732ca Author: arnd@arndb.de Date: Tue Oct 24 18:31:18 2006 +0200 [POWERPC] spufs: allow isolated mode apps by starting the SPE loader This patch adds general support for isolated mode SPE apps. Isolated apps are started indirectly, by a dedicated loader "kernel". This patch starts the loader when spe_create is invoked with the ISOLATE flag. We do this at spe_create time to allow libspe to pass the isolated app in before calling spe_run. The loader is read from the device tree, at the location "/spu-isolation/loader". If the loader is not present, an attempt to start an isolated SPE binary will fail with -ENODEV. Update: loader needs to be correctly aligned - copy to a kmalloced buf. Update: remove workaround for systemsim/spurom 'L-bit' bug, which has been fixed. Update: don't write to runcntl on spu_run_init: SPU is already running. Update: do spu_setup_isolated earlier Tested on systemsim. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit eb758ce5b0d84e13cb643b6cc7cb429f6fa28258 Author: arnd@arndb.de Date: Tue Oct 24 18:31:17 2006 +0200 [POWERPC] spufs: "stautus" isnt a word. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 5737edd1ddbde5ab7f63bb3cb36015edbdb7c295 Author: Mark Nutter Date: Tue Oct 24 18:31:16 2006 +0200 [POWERPC] spufs: add support for nonschedulable contexts This adds two new flags to spu_create: SPU_CREATE_NONSCHED: create a context that is never moved away from an SPE once it has started running. This flag can only be used by tasks with the CAP_SYS_NICE capability. SPU_CREATE_ISOLATED: create a nonschedulable context that enters isolation mode upon first run. This requires the SPU_CREATE_NONSCHED flag. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit cc21a66d7f727ab97b27af9cf763bc0b51510ffa Author: Geoff Levand Date: Tue Oct 24 18:31:15 2006 +0200 [POWERPC] cell: remove unused struct spu variable Remove the mostly unused variable isrc from struct spu and a forgotten function declaration. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 24f43b33f74c8e8c8aabc40b728eaf9137802942 Author: Masato Noguchi Date: Tue Oct 24 18:31:14 2006 +0200 [POWERPC] spufs: wrap mfc sdr access SPRN_SDR1 and the SPE's MFC SDR are hypervisor resources and are not accessible from a logical partition. This change adds an access wrapper. When running on bare H/W, the spufs needs to only set the SPE's MFC SDR to the value of the PPE's SPRN_SDR1 once at SPE initialization, so this change renames mfc_sdr_set() to mfc_sdr_setup() and moves the access of SPRN_SDR1 into the mmio wrapper. It also removes the now unneeded member mfc_sdr_RW from struct spu_priv1_collapsed. Signed-off-by: Masato Noguchi Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann -- Signed-off-by: Paul Mackerras commit 5414c6be57dd02e089c3eba1f5134f441733d013 Author: Michael Ellerman Date: Tue Oct 24 13:37:34 2006 +1000 [POWERPC] Make irq_dispose_mapping(NO_IRQ) a nop It makes for a friendlier API if irq_dispose_mapping(NO_IRQ) is a nop, rather than triggering a WARN_ON. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit a0f467261ae041864414103b8dd6fc4487a3c7de Author: Matthew McClintock Date: Mon Oct 23 14:26:57 2006 -0500 [POWERPC] Fixed some missing files to be deleted when running make clean Fixed some missing files to be deleted when running make clean Signed-off-by: Matthew McClintock Signed-off-by: Paul Mackerras commit 41999295b6c25d799dacbbca089fdbc19f6d60f5 Author: Michael Ellerman Date: Wed Oct 18 15:53:20 2006 +1000 [POWERPC] Move iSeries initrd logic into device tree Remove the iSeries initrd logic, instead just store the initrd location and size in the device tree so generic code can do the rest for us. The iSeries code had a "feature" which the generic code lacks, ie. if the compressed initrd is bigger than the configured ram disk size, we make the ram disk size bigger. That's bogus, as the compressed size of the initrd tells us nothing about how big the ram disk needs to be. If the ram disk isn't big enough you just need to make CONFIG_BLK_DEV_RAM_SIZE larger. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 83efafb301bc79a32799ca854fb590e82c4396e9 Author: Andy Fleming Date: Mon Oct 16 16:03:33 2006 -0500 [POWERPC] Fix up the OF functions to only do PCI stuff if PCI is actually configured The original problem that inspired this patch was solved quite some time ago (Turning off PCI didn't work), but this patch neatens things up a little (I think), by putting all the PCI stuff inside a single CONFIG_PCI block. It also removes the OF PCI bus matching entries if CONFIG_PCI is off. Signed-off-by: Paul Mackerras commit 0cfcccb4687862a34eb609d16e75b39b6cb54c80 Author: Josh Boyer Date: Fri Oct 13 10:07:01 2006 -0500 [POWERPC] Add mktree utility to arch/powerpc/boot This patch adds the mktree program that is needed to post process zImage wrappers for various PowerPC 4xx boards Signed-off-by: Josh Boyer Signed-off-by: Paul Mackerras commit 0835caa2bf1933d5f41fd98e469107f4c00d547f Author: Wim Van Sebroeck Date: Mon Oct 23 18:21:52 2006 +0200 [WATCHDOG] NS pc87413-wdt Watchdog driver - fixes Some small fixes: * the status should return 0 and not 1 (1 means: * wdt_io is not a module-param, io is. Signed-off-by: Wim Van Sebroeck commit 00b3b3e6605d7446cd410c7c9bb98f5336a15ca1 Author: Sven Anders & Marcus Junker Date: Mon Oct 16 18:18:09 2006 +0200 [WATCHDOG] NS pc87413-wdt Watchdog driver v1.1 Change the driver for proper spin_locking, remove the TEMP_MINOR stuff, make sure the device works as a Virtual File System that is non_seekable, ... Signed-off-by: Sven Anders Signed-off-by: Marcus Junker Signed-off-by: Wim Van Sebroeck commit 01a6372008ed450982ba38ee5fd91028b9f5a781 Author: Mark A. Greer Date: Mon Oct 16 13:54:52 2006 -0700 [POWERPC] Add simple memory allocator to bootwrapper Provide primitive malloc, free, and realloc functions for bootwrapper. Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit 0c176fa80fdfa9b4e0753e37223b056994c818d2 Author: Mark A. Greer Date: Mon Oct 16 13:52:09 2006 -0700 [POWERPC] Add non-OF serial console support Add serial console support for non-OF systems. There is a generic serial console layer which calls a serial console driver. Included is the serial console driver for the ns16550 class of uarts. Necessary support routines are added as well. Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit 6fb4efc68f5c0e095153510dcfa8b54a42e914ba Author: Mark A. Greer Date: Mon Oct 16 13:50:05 2006 -0700 [POWERPC] Add flatdevtree source Add the latest version of the flatdevtree code and corresponding glue. A phandle table now tracks values returned by ft_find_device(). The value returned by ft_find_device() is a phandle which is really an index into the phandle table. The phandle table contains the address of the corresponding node. When the flat dt is edited/moved, the node pointers in the phandle table are updated accordingly so no phandles kept by the caller become stale. Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit c888554bf95a5a0a6ac3e2389c6bf1e03e9480ba Author: Mark A. Greer Date: Mon Oct 16 13:49:27 2006 -0700 [POWERPC] More bootwrapper reorganization More reorganization of the bootwrapper: - Add dtb section to zImage - ft_init now called by platform_init - Pack a flat dt before calling kernel - Remove size parameter from free - printf only calls console_ops.write it its not NULL - Some cleanup Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit b0a779debd56514b2b5de7617a1643e5dac2d4dd Author: Paul Mackerras Date: Wed Oct 18 10:11:22 2006 +1000 [POWERPC] Make sure interrupt enable gets restored properly The lazy IRQ disable patch missed a couple of places where the interrupt enable flags need to be restored correctly. First, we weren't restoring the paca->hard_enabled flag on interrupt exit. Instead of saving it on entry, we compute it from the MSR_EE bit in the MSR we are restoring at exit. Secondly, the MMU hash miss code was clearing both paca->soft_enabled and paca->hard_enabled but not restoring them in the case where hash_page was able to resolve the miss from the Linux page tables. Signed-off-by: Paul Mackerras commit 035223fb28791f0eb0d5719727355d3f6817d228 Author: Geoff Levand Date: Thu Oct 5 11:35:10 2006 -0700 [POWERPC] Make pSeries_lpar_hpte_insert static Change the powerpc hpte_insert routines now called through ppc_md to static scope. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 0f03a43b8f0fc221986a46654282ec6a1e8c6d45 Author: David Gibson Date: Tue Oct 3 16:57:44 2006 +1000 [POWERPC] Remove todc code from ARCH=powerpc Apparently we've copied the todc drivers, for various RTCs used in embedded machines from ARCH=ppc to ARCH=powerpc, despite the fact that it's never used in the latter. This patch removes it. If we ever need these drivers (which we probably shouldn't now the RTC class stuff is in), we can transfer them one by one from ARCH=ppc, removing from the hideous abomination which is the todc "infrastructure". Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 5b43d20a4d12d94f258bbbca5fa4df8ff8a17848 Author: Olof Johansson Date: Wed Oct 4 23:41:41 2006 -0500 [POWERPC] powerpc: Enable DEEPNAP power savings mode on 970MP Without this patch, on an idle system I get: cpu-power-0:21.638 cpu-power-1:27.102 cpu-power-2:29.343 cpu-power-3:25.784 Total: 103.8W With this patch: cpu-power-0:11.730 cpu-power-1:17.185 cpu-power-2:18.547 cpu-power-3:17.528 Total: 65.0W If I lower HZ to 100, I can get it as low as: cpu-power-0:10.938 cpu-power-1:16.021 cpu-power-2:17.245 cpu-power-3:16.145 Total: 60.2W Another (older) Quad G5 went from 54W to 39W at HZ=250. Coming back out of Deep Nap takes 40-70 cycles longer than coming back from just Nap (which already takes quite a while). I don't think it'll be a performance issue (interrupt latency on an idle system), but in case someone does measurements feel free to report them. Signed-off-by: Olof Johansson Acked-by: Michael Buesch Signed-off-by: Paul Mackerras commit d04c56f73c30a5e593202ecfcf25ed43d42363a2 Author: Paul Mackerras Date: Wed Oct 4 16:47:49 2006 +1000 [POWERPC] Lazy interrupt disabling for 64-bit machines This implements a lazy strategy for disabling interrupts. This means that local_irq_disable() et al. just clear the 'interrupts are enabled' flag in the paca. If an interrupt comes along, the interrupt entry code notices that interrupts are supposed to be disabled, and clears the EE bit in SRR1, clears the 'interrupts are hard-enabled' flag in the paca, and returns. This means that interrupts only actually get disabled in the processor when an interrupt comes along. When interrupts are enabled by local_irq_enable() et al., the code sets the interrupts-enabled flag in the paca, and then checks whether interrupts got hard-disabled. If so, it also sets the EE bit in the MSR to hard-enable the interrupts. This has the potential to improve performance, and also makes it easier to make a kernel that can boot on iSeries and on other 64-bit machines, since this lazy-disable strategy is very similar to the soft-disable strategy that iSeries already uses. This version renames paca->proc_enabled to paca->soft_enabled, and changes a couple of soft-disables in the kexec code to hard-disables, which should fix the crash that Michael Ellerman saw. This doesn't yet use a reserved CR field for the soft_enabled and hard_enabled flags. This applies on top of Stephen Rothwell's patches to make it possible to build a combined iSeries/other kernel. Signed-off-by: Paul Mackerras commit 789fc0adbaf3a3ca95a3894aedacfc01863e8ae3 Author: Sven Anders & Marcus Junker Date: Thu Aug 24 17:11:50 2006 +0200 [WATCHDOG] NS pc87413-wdt Watchdog driver New watchdog driver for the NS pc87413-wdt Watchdog Timer. Signed-off-by: Sven Anders Signed-off-by: Marcus Junker Signed-off-by: Wim Van Sebroeck